説明

エンドポイントマシンの状態または物理的な位置に依存しないソフトウェア配信および更新サービスの提供

【課題】コンピュータが既に出荷され利用中であっても、コンピュータの状態または物理的な位置に依存しない効率的なソフトウェア配信および更新サービスを提供する。
【解決手段】ソフトウェア配信サービス(SDS20)は第三者データ記憶装置(3PDS)をクエリして、サーバ14と交信して、ソフトウェアクライアント18または更新ソフトウェア用のベアボーンインストーラをダウンロードしてインストールする。SDSは、ブロック36に示すように、3PDSに記憶されているハッシュ値を利用して、ダウンロードされたパッケージをクライアント18とともに検証する。SDSまたは更新サーバ14(例えばゲートウェイ16)は3PDSの適切な領域にフラグを施し、これ以上のダウンロードが不要であり、ダウンロードが完了していることを示す。

【発明の詳細な説明】
【背景技術】
【0001】
コンピュータが既に出荷され利用中であっても、該コンピュータに対してソフトウェアを提供することが望ましい場合が多い。例えば、追加のソフトウェアを提供する場合、または既存のソフトウェアを更新するような場合が含まれる。
【0002】
新たなソフトウェアを、通称エンドポイントマシンと称される既存の機器に対して提供することが難しく、煩雑である場合がある。機器の販売後に提供されうるタイプのソフトウェアの例としては、新たなサービスおよびユーザアプリケーションを提供するドライバ、ミドルウェア、デバイスファームウェア、およびBIOSが挙げられる。ソフトウェアは、独立ソフトウェアベンダにより、あるいは、機器ベンダに関する他の第三者により提供されうる。これらのソフトウェアベンダにとっては、ソフトウェアをエンドポイントマシンのユーザに対してできるだけ効率的に提供することが望ましい。
【図面の簡単な説明】
【0003】
【図1】本発明の一実施形態におけるエンドポイントのハードウェアアーキテクチャを示す。
【図2】本発明の一実施形態におけるソフトウェアを配信するシーケンスを示す。
【図3】本発明の別の実施形態におけるソフトウェアを配信する別のシーケンスを示す。
【図4】本発明の一実施形態におけるソフトウェアを配信するまた別の実施形態を示す。
【図5】一実施形態におけるフローチャートである。
【発明を実施するための形態】
【0004】
図1は、更新する必要がありうるソフトウェアを利用しうるコンピュータシステムまたはエンドポイントマシンを示す。例えば独立ソフトウェアベンダが、世界中に出荷された大量のシステムに対してソフトウェアの更新の提供を望んでいる場合を想定する。加えて、場合によっては追加のソフトウェアの提供が望ましい、と想定する。
【0005】
特に図1に示すタイプのシステムがINTEL(登録商標)Active Management Technologyを含む場合、ハードウェアアーキテクチャはファームウェアに常駐していてよい。グラフィックスおよびメモリコントローラハブ44内のマイクロコントローラ45は管理エンジン(ME)ファームウェアを収容して、管理アプリケーションの代わりに様々なサービスを実装している。不揮発性ランダムアクセスメモリ28は、管理エンジンが利用するシステムのBIOSコードおよび第三者データ記憶装置(3PDS)を収容して、アプリケーションが不揮発性メモリで必要となる情報を記憶することができるようにしている。一実施形態ではメモリ28はフラッシュメモリであってよい。
【0006】
INTEL(登録商標)Active Management Technology(AMT)は、コンピュータシステムを遠隔的に発見、復元(healing)、および保護するためのシリコン常駐管理メカニズムであり、管理上の課題を解決し、遠隔管理および在庫資産機能および第三者管理ソフトウェアの効率を向上させ、重要なエージェントをオペレーティングシステム障害、停電、および作為的あるいは無作為のクライアント除去から保護する機能を提供するソフトウェアソリューションの礎を提供しうる。
【0007】
管理エンジンはマイクロコントローラ45内に常駐しており、補助電力で動作可能であり、全てのシステム電力状態で利用可能である。故にINTEL(登録商標)AMT Technologyのおかげで、管理アプリケーションは、たとえ電力停止状態にあっても、クライアントコンピュータにアクセスすることができる。
【0008】
不揮発性ランダムアクセスメモリ28は、第三者データ記憶装置を収容しており、永続性と保護性能とを兼ね備えた高度に構成可能なメモリであってよく、オペレーティングシステム24が応答不可能な場合、あるいは管理エージェントが不在のときであっても管理可能アプリケーションがアクセスすることのできる不揮発性メモリ空間を提供する。メモリ28は、この空間へのアクセスをエンフォースするためのアクセス制御リストを利用する制御メカニズムにより保護されるので、権限を与えられた遠隔デバイスまたはアプリケーションのみがそこに記憶されているデータに対するアクセス権を有する。
【0009】
一実施形態では、INTEL(登録商標)AMTは、図1に示すタイプのINTEL(登録商標)vPro Workstation Platformであり、中央処理装置40、ソフトウェアエージェント42、およびオペレーティングシステム24を含んでよい。一部の実施形態では、グラフィックスおよびメモリコントローラハブ44は、DRAM54 および56によりサポートされていてよい。I/Oコントローラハブ46は、一実施形態ではフラッシュメモリ28に連結されるフィルタ48、センサ50、および媒体アクセス制御(MAC)52を含んでよい。ハブ46には、ローカルエリアネットワーク(LAN)コントローラ58が連結されてよく、ローカルエリアネットワーク(LAN)コントローラ58は、アウトオブバンド接続60およびギガビットイーサネット(登録商標)接続62を含む有線ローカルエリアネットワークを提供することができ、さらに、無線アウトオブバンド接続64およびIEEE802.11接続66も含む。
【0010】
本発明の第1実施形態においては、図2に示すように、INTEL(登録商標)AMTソフトウェアパッケージはさらに、オペレーティングシステム(OS)24上で実行されるエンドポイント12上にソフトウェア配信サービス(SDS)モジュール20を含むことができる。エンドポイント12はネットワーク10の一部であり、これにはさらに更新サーバ14が含まれる。このモジュールによって将来のソフトウェアインストールが可能となる。AMTファームウェアは、特定の記憶空間をソフトウェア配信用に割り当てるよう構成されてよい。一実施形態では、この領域は、最初はデータを含んでいない。例えば不揮発性ランダムアクセスメモリ28の3PDS部分は、任意の実体(例えば独立ソフトウェアベンダ)がソフトウェアプロビジョニングに必要な情報を取得するための構造を定義するための作業領域を保っておくことができるよう予め構成することができる。
【0011】
一実施形態では、不揮発性ランダムアクセスメモリ28の3PDS部分には、ソフトウェア配信業者の要請に基づき正当なソフトウェア配信情報BLOB(バイナリ・ラージ・オブジェクト)が提供されてよい。BLOBは、情報交換サーバ、または、ソフトウェア配信サーバと接続されて作業するインターネット上の任意の中央サーバを利用して実装されて、適切なプロビジョニングBLOBまたは情報を入手することができる。AMTは、この遠隔プロビジョニングサーバに対して、デフォルトで、または、ソフトウェア更新プロバイダとの間で交わされたポリシーに基づいて接続することができる。この接続は、管理システムの最初のシステム起動時に行われる。
【0012】
従ってシステムが立ち上がると、ホストエンベデッドコントローラインタフェース(HECI)ドライバは、不揮発性ランダムアクセスメモリ28の3PDS部分をチェックして、情報BLOBを含む、上述した構成の領域を読み出すことによって、ソフトウェアのプロビジョニングが必要であるか否かを判断する(38参照)。必要であると判断された場合には、HECIドライバ22はSDSをトリガして、ソフトウェアダウンロードプロセスを開始する(32参照)。
【0013】
SDS20は3PDSをクエリして、(接続34を介して)不揮発性ランダムアクセスメモリ28の3PDS部分に既に提供されているVPN(virtual private network)ソフトウェアサーバ14に接続する。SDSモジュール20はサーバ14と交信して、例えばソフトウェアクライアント18または更新ソフトウェア用のベアボーンインストーラをダウンロードしてインストールする。SDSは、ブロック36に示すように、3PDSに記憶されているハッシュ値を利用して、ダウンロードされたパッケージをクライアント18とともに検証する。SDSまたは更新サーバ14(例えばゲートウェイ16)は3PDSの適切な領域にフラグを施し、これ以上のダウンロードが不要であり、ダウンロードが完了していることを示す(36参照)。一部の実施形態では、エンドユーザは、ソフトウェアクライアント18の利用準備が整ってから、ダウンロード済みのインストーラを利用してパッケージ全体のダウンロードを完了することができる。
【0014】
一部の実施形態では、複数のソフトウェアベンダと協働することを可能とする拡張メカニズムが提供される。さらに、情報技術管理者が配信メカニズムを利用する意図を持たない場合にはSDSインストールをディセーブルする選択肢を設けることもできる。将来カスタマが配信メカニズムを望んだときには、カスタマがSDSインストーラを開始させ、パッケージ全体を始動させることができる。
【0015】
図3に示す別の実施形態においては、CIRA(client initiated remote access)を利用する企業のクライアントに対して配信サービスを提供することができる。INTEL(登録商標)vPro technologyを利用するような一部のエンドポイントは、マシンが物理的にファイヤウォール外にあり、該エンドポイントのホストオペレーティングシステムが危険に曝されている場合であっても、企業ネットワークと接触することを可能とする機能を有するハードウェア、ソフトウェア、およびファームウェアコンポーネントを有している場合がある。このようなエンドポイントの技術では、企業の非武装化ゾーンに配備されるソフトウェアMPS(management presence server)を利用することで、エンドポイントとファイヤウォール内の企業情報技術資産との間の通信が仲介される。ソフトウェアプロバイダは、様々なソフトウェア(例えばVPN(virtual private network)クライアントソフトウェア)の配信および更新サービス提供を企業エンドポイントに対して行うことができる。企業ファイヤウォール外に設けられるエンドポイントに特有の一実装例では、情報技術管理者がエンドポイント上のソフトウェア画像を管理する機能は残しつつも、配信および更新を行うセキュアな手段を提供する。
【0016】
従って図3のLMS(local manageability service)70は、前述した実施形態のSDS20に対応してよい。LMS70は、エンドポイント12にソフトウェア配信サービス機能を提供する。ここでも、3PDSは不揮発性ランダムアクセスメモリ28の一部であってよく、上述したように、ソフトウェア配信BLOBを格納するためのデータ記憶装置を提供する。アウトオブバンド・インターネットネットワーキング・スタック30は、アウトオブバンド通信スタックおよび機能を提供することができ、一実施形態では、AMTファームウェアにより提供されるアウトオブバンドチャネルであってよい。アウトオブバンド・インターネットネットワーキング・スタック30は、CIRAプロトコルを実装することができ、一部の実施形態では、さらにVPNクライアントおよびファームウェアを実装することができる。本実施形態におけるサーバ14aは、VPNゲートウェイ16aを有するVPNサーバであってよく、ソフトウェアMPS(management presence server)であってもよく、インターネットを介したソフトウェア配信を助ける。
【0017】
システムの起動中に、LMS70は不揮発性ランダムアクセスメモリ28の3PDS部分のソフトウェアインストールフラグをチェックする。LMSは、このフラグに基づいて、遠隔サーバ14への、またはMPSプロキシサーバへのアウトオブバンドCIRA接続をトリガして、サーバ14aとの通信が行われる。これは、HECIドライバ22およびクライアント19を利用することにより実行可能である(「トリガ」矢印72を参照)。一実施形態のクライアント19は、カリフォルニア州95134サンノゼにあるCISCO Systems,Inc.から入手可能であるAnyConnect Lite VPNクライアントであってよい。遠隔サーバ14aは、36で示すように、検証用にソフトウェア画像のハッシュを3PDSに書き込む。LMSはさらにインバンドであるオペレーティングシステムベースの接続を遠隔サーバに対して行い(74参照)、配信用のソフトウェア画像を提供する。次に、LMSは遠隔サーバからソフトウェア画像を、クライアント18aにダウンロードする(32)。3PDSに記憶されているハッシュ値でソフトウェアの画像の正当性を確認して、ソフトウェアのインストール前にそれが正当な画像であることを確かめる。ダウンロードに成功すると、LMSまたは遠隔サーバ/MPSは、3PDSのソフトウェアインストールフラグをリセットする(矢印36参照)。
【0018】
アウトオブバンド通信リンクは、ホストオペレーティングシステムスタックとは独立して動作する管理エンジンベースのネットワーキングスタックであってよい。従ってアウトオブバンド通信リンクは、ホストの電力状態(給電中、電力休止状態中、電力停止中)、オペレーティングシステムの状態(動作中、停止中、破損中)、および、ホストの位置(企業の内外)に関わらず、ソフトウェアのダウンロードを可能にする。
【0019】
図4は、リングゼロ76を利用しうる別の実施形態を示す。つまり、オペレーティングシステムカーネルモジュールおよびドライバを利用してソフトウェア配信機能を行うことができる。一実施形態では、SDS機能20は、HECIドライバ22内に埋め込むことができる。一実施形態では接続80を介してLAN/ネットワークインタフェースカードドライバ78をネットワーク通信に利用することができる。フローの残りは、リング3 SDSウィンドウズ(登録商標)サービスまたはアプリケーションに対してHECIドライバベースのSDS機能が利用されていることを除いて、図2に示すものと同じである。
【0020】
このように、一部の実施形態では、ソフトウェアを、ソフトウェア更新を受信するプラットフォームの現在の状態または物理的な位置とは独立した方法で配信することができる。この管理エンジンを利用することで、ソフトウェア配信を助け、ソフトウェアベンダに対してセキュリティを保証することもできる。
【0021】
図5のシーケンスはソフトウェア、ハードウェア、またはソフトウェアによる実装が可能である。ソフトウェアでシーケンスを実装する場合には、ソフトウェアは光メモリ、磁気メモリ、または半導体メモリに格納することができる。例えば、図1に示すメモリ54または56のいずれかに記憶させることができる。メモリは、マイクロコントローラ45等のコンピュータが実行する命令列を記憶することができる。
【0022】
最初の段階で、ブロック82におけるチェックによって、不揮発性ランダムアクセスメモリ28の3PDS部分に、ソフトウェア更新またはダウンロードの識別子を提供するBLOBが供給されているかが判断される。そして通常は起動時に、ブロック84で、BLOBが存在しているか、そしてそのBLOBが何であるかについての判断がなされる。BLOBが存在しており、ソフトウェアがダウンロード済みであると示すフラグが設定されていないとダイアモンド86で判断されると、ブロック88でソフトウェアのダウンロードを開始する。さもなくばフローを終了する。ブロック90でダウンロードを検証して、次にブロック92で、ソフトウェアがダウンロード済みである旨の表示をBLOBに付し、次回システムが立ち上がったときに再度ダウンロードされることがないようにしておく。
【0023】
本明細書における「一実施形態(one embodiment)(an embodiment)」といった表現は、その実施形態との関連で記載される特定の特徴、構造、または特性が、本発明に含まれる少なくとも1つの実装例に含まれることを示している。従って「一実施形態(one embodiment)(an embodiment)」が随所に利用されていても、これらが必ずしも同一の実施形態のことを示しているわけではない。さらに、特定の特徴、構造、および特性は、上述した特定の実施形態以外の適切な形態で実装することも可能であり、これら形態全てが本願の請求項の範囲内に含まれうる。
【0024】
本発明を限られた数の実施形態に関して記載してきたが、当業者であればこれに基づいて数多くの変形例および変更例について想到するであろう。添付請求項はこれら全ての変形例および変更例を本発明の真の精神および範囲内に含めることを意図している。

【特許請求の範囲】
【請求項1】
ソフトウェアが配信可能である旨の表示を、不揮発性ランダムアクセスメモリ内の専用位置に格納する段階と、
ダウンロードするソフトウェアを前記位置から探す段階と、
前記ソフトウェアをダウンロードする段階と、
前記ソフトウェアがダウンロード済みである旨の表示を前記位置に付す段階と
を備える方法。
【請求項2】
前記ダウンロードするソフトウェアを前記位置から探す段階は、
不揮発性ランダムアクセスメモリの専用部分にバイナリ・ラージ・オブジェクトがないか探す段階を有する請求項1に記載の方法。
【請求項3】
前記バイナリ・ラージ・オブジェクトで、ダウンロードするべき前記ソフトウェアを特定する段階を備える請求項2に記載の方法。
【請求項4】
ダウンロードされた前記ソフトウェアを検証する段階を備える請求項3に記載の方法。
【請求項5】
前記バイナリ・ラージ・オブジェクトが示す前記ソフトウェアがダウンロード済みである旨を示すフラグを前記メモリに付す段階を備える請求項4に記載の方法。
【請求項6】
第三者データ記憶装置に前記バイナリ・ラージ・オブジェクトを提供する段階を備える請求項2に記載の方法。
【請求項7】
システムが起動するたびに、ダウンロードするソフトウェアを自動的に探す段階を備える請求項1に記載の方法。
【請求項8】
前記ソフトウェアを、CIRA(client initiated remote access)を用いてダウンロードする段階を備える請求項1に記載の方法。
【請求項9】
前記システムが危険に曝されている場合であっても前記ソフトウェアをダウンロードする段階を備える請求項1に記載の方法。
【請求項10】
アウトオブバンド通信リンクを介してソフトウェアダウンロードに関して遠隔サーバと通信する段階を備える請求項1に記載の方法。
【請求項11】
リングゼロを利用して前記ソフトウェアをダウンロードする段階を備える請求項1に記載の方法。
【請求項12】
命令を備えるコンピュータ可読媒体であって、前記命令はコンピュータに、
管理エンジンファームウェアベースのネットワーキングスタックを利用してアウトオブバンド通信リンクを確立させ、
前記リンクを利用して、ホストのオペレーティングシステムの状態に関わらず前記ホストにソフトウェアをダウンロードさせる媒体。
【請求項13】
前記ホストの電力状態に関わらずソフトウェアをダウンロードさせる命令をさらに備える請求項12に記載の媒体。
【請求項14】
前記ホストが企業の内外いずれに存在しようともソフトウェアをダウンロードさせる命令をさらに備える請求項12に記載の媒体。
【請求項15】
ソフトウェアが配信可能である旨の表示を、不揮発性ランダムアクセスメモリ内の専用位置に格納させる命令をさらに備える請求項12に記載の媒体。
【請求項16】
ダウンロードするソフトウェアを前記位置から探させる命令をさらに備える請求項15に記載の媒体。
【請求項17】
前記ソフトウェアをダウンロードさせ、前記ソフトウェアがダウンロード済みである旨の表示を前記位置に付させる命令をさらに備える請求項16に記載の媒体。
【請求項18】
不揮発性ランダムアクセスメモリの専用部分にバイナリ・ラージ・オブジェクトがないか探させる命令をさらに備える請求項15に記載の媒体。
【請求項19】
前記バイナリ・ラージ・オブジェクトで、ダウンロードするべき前記ソフトウェアを特定させる命令をさらに備える請求項18に記載の媒体。
【請求項20】
前記バイナリ・ラージ・オブジェクトが示す前記ソフトウェアがダウンロード済みである旨を示すフラグを前記メモリに付させる命令をさらに備える請求項19に記載の媒体。
【請求項21】
アウトオブバンド・インターネットプロトコル・ネットワーキングスタックと、
ソフトウェアが配信可能である旨の表示を、不揮発性ランダムアクセスメモリ内の専用位置に格納し、ダウンロードするソフトウェアを前記位置から探し、前記ソフトウェアをダウンロードし、前記ソフトウェアがダウンロード済みである旨の表示を前記位置に付すコントローラと
を備える装置。
【請求項22】
前記専用位置を含む不揮発性ランダムアクセスメモリを備える請求項21に記載の装置。
【請求項23】
前記装置のオペレーティングシステムが機能していない間も機能可能であるよう前記オペレーティングシステムとは独立して動作するアウトオブバンド・インターネットプロトコル・ネットワーキングスタックを備える請求項21に記載の装置。
【請求項24】
前記コントローラは、前記装置が起動するたびに、ダウンロードするソフトウェアを自動的に探す請求項21に記載の装置。
【請求項25】
前記コントローラは、ソフトウェアを、CIRA(client initiated remote access)を用いてダウンロードする請求項24に記載の装置。
【請求項26】
前記コントローラは、ソフトウェアを、リングゼロを用いてダウンロードする請求項21に記載の装置。
【請求項27】
ソフトウェアをダウンロードするべく更新サーバとの接続を確立する請求項21に記載の装置。
【請求項28】
前記装置の電力状態に関わらずソフトウェアをダウンロードする請求項21に記載の装置。
【請求項29】
前記コントローラは、企業に対する前記装置の位置に関わらずソフトウェアをダウンロードする請求項21に記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−129105(P2011−129105A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−252817(P2010−252817)
【出願日】平成22年11月11日(2010.11.11)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】