(57)【要約】  セキュアなソフトウェア配備のための技術が記載されている。一実施例において、ソフトウェアパッケージはネットワーク化されたインストール部に公開され、格納される。同様に、ソフトウェアパッケージに関連する適用ルール（又はポリシー）がインストール部に公開され、格納される。ホストデバイスとインストール部との間の定期的な同期の間、適用ルールが伝達され、ホストデバイスが当該定期的な同期の間に伝達された適用ルールに基づいてソフトウェアパッケージを受信することを意図しているかどうかの判定がなされる。適用ルールが満たされる場合、ホストデバイスにソフトウェアパッケージがインストールされる。更なる実施において、セキュリティパケットアップデートやその他の管理機能などの普段は通常ではない通信のために指定されている通信チャンネルを介してソフトウェアパッケージがホストデバイスにインストールされ得る。
2010532047.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク化された環境１００のホストデバイス１３２にインストールするためのソフトウェアパッケージを用意するステップと、
前記ネットワーク化された環境１００のインストール部１２０に前記ソフトウェアパッケージを公開するステップと、
前記インストール部１２０に前記ソフトウェアパッケージを格納するステップと、
前記ソフトウェアパッケージに関連するポリシーおよび配備情報１１６を用意するステップと、
前記インストール部１２０に前記ポリシーおよび配備情報１１６を公開するステップと、
前記インストール部１２０に前記ポリシーおよび配備情報１１６を格納するステップと、
前記ホストデバイス１３２と前記インストール部１２０との間の定期的な同期の間に前記ポリシーおよび配備情報１１６を伝達するステップと、
前記ホストデバイス１３２が前記定期的な同期の間に伝達された前記ポリシーおよび配備情報１１６に基づいて前記ソフトウェアパッケージを受信することを意図していることを判定するステップと、
前記ホストデバイス１３２に前記ソフトウェアパッケージをインストールするステップと
を含むことを特徴とする方法。
【請求項２】
前記インストール部１２０に前記ソフトウェアパッケージを公開するステップは、前記インストール部１２０のアップデートサーバー１２２に前記ソフトウェアパッケージを公開することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記インストール部１２０に前記ポリシーおよび配備情報１１６を公開するステップは、前記インストール部１２０の認証サーバー１２６に前記ポリシーおよび配備情報１１６を公開することを含み、前記認証サーバー１２６は、前記アップデートサーバー１２２から独立していることを特徴とする請求項２に記載の方法。
【請求項４】
前記ソフトウェアパッケージの公開および前記ポリシーおよび構成情報１１６の公開の少なくとも一方は、ライセンス契約の承認を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記ホストデバイス１３２が前記ポリシーおよび配備情報１１６に基づいて前記ソフトウェアパッケージを受信することを意図していることを判定するステップは、前記ホストデバイス１３２が前記ソフトウェアパッケージを受信するターゲットとされ、且つ前記ソフトウェアパッケージが前記ホストデバイス１３２に現在インストールされていないことを判定することを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記ホストデバイス１３２が前記ポリシーおよび配備情報１１６に基づいて前記ソフトウェアパッケージを受信することを意図していることを判定するステップは、１つまたは複数のポリシー値が前記ホストデバイス１３２の登録部４８０内に存在することを判定することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記ホストデバイス１３２に前記ソフトウェアパッケージをインストールするステップは、通常ではない通信のために指定された通信チャンネルを介して前記ソフトウェアパッケージをインストールすることを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記インストール部１２０から前記ホストデバイス１３２に前記ソフトウェアを伝達するステップを更に含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ホストデバイス１３２は、前記ネットワーク化された環境１００の他のコンポーネントとの通常の通信からポリシー制限され、前記ソフトウェアパッケージの伝達は、通常ではない通信のために指定された通信チャンネルを介して前記ソフトウェアパッケージを伝達することを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
ネットワーク化された環境１００のインストール部１２０にソフトウェアパッケージを公開することと、
前記ソフトウェアパッケージの公開とは別に前記インストール部１２０に適用ルールを公開することと
を含む公開ステップ５１０と、
前記ソフトウェアを格納することと、
前記適用ルールを格納することと
を含むターゲッティングステップ５２０と、
前記適用ルールを伝達することを含む、１つまたは複数のホストデバイス１３２とインストール部１２０との同期を実行することと、
１つまたは複数の前記ホストデバイス１３２が前記適用ルールを満たすかどうか、および前記ソフトウェアを現在インストールしていないかどうかを判定することと、
前記判定が前記ホストデバイスの少なくともいくつかにおいて満たされる場合、前記ホストデバイス１３２の少なくともいくつかに前記ソフトウェアパッケージをインストールすることと
を含むインストールステップ５３０と
を含むことを特徴とする方法。
【請求項１１】
前記ソフトウェアパッケージの公開および前記適用ルールの公開の少なくとも１つは、ライセンス契約の承認を含んでいることを特徴とする請求項１０に記載の方法。
【請求項１２】
１つまたは複数の前記ホストデバイス１３２が前記適用ルールを満たすかどうかの判定は、１つまたは複数のポリシー値が１つまたは複数の前記ホストデバイス１３２の登録部４８０内に存在しているかどうかを判定することを含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
１つまたは複数の前記ホストデバイス１３２が前記適用ルールを満たすかどうかの判定は、ある名前／値の組が１つまたは複数の前記ホストデバイス１３２のローカルポリシー内に存在しているかどうかを判定することを含むことを特徴とする請求項１０に記載の方法。
【請求項１４】
前記公開ステップ５１０は、ホットフィックスおよび必須パッケージの少なくとも１つを特定することと、１つまたは複数の前記ホストデバイス１３２へのインストールのために前記インストール部１２０に前記ホットフィックスおよび前記必須パッケージの少なくとも１つを公開することとを更に含むことを特徴とする請求項１０に記載の方法。
【請求項１５】
少なくともいくつかの前記ホストデバイス１３２への前記ソフトウェアパッケージのインストールは、前記ホットフィックスおよび前記必須パッケージの少なくとも１つをインストールすることを含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
少なくともいくつかの前記ホストデバイス１３２への前記ソフトウェアパッケージのインストールは、通常ではない通信のために指定された通信チャンネルを介して前記ソフトウェアパッケージをインストールすることを特徴とする請求項１０に記載の方法。
【請求項１７】
ネットワーク化された環境１００のインストール部１２０にソフトウェアパッケージを公開するステップと、
前記ソフトウェアパッケージの公開から分離して、前記インストール部１２０にポリシーを公開するステップと、
前記インストール部１２０に前記ソフトウェアパッケージおよび前記ポリシーを格納するステップと、
前記インストール部１２０と少なくとも１つのホストデバイス１３２との間の定期的な同期の間に前記ポリシーを伝達するステップと、
前記少なくとも１つのホストデバイスが前記定期的な同期の間に伝達された前記ポリシーを満たすかどうかを判定するステップと、
前記ポリシーが満たされる場合、前記少なくとも１つのホストデバイス１３２に前記ソフトウェアをインストールするステップと
を含む方法を実行することができるコンピューター実行可能命令を格納した１つまたは複数のコンピューター可読媒体。
【請求項１８】
前記少なくとも１つのホストデバイス１３２が前記ポリシーを満たすかどうかの判定は、前記少なくとも１つのホストデバイス１３２が前記ソフトウェアパッケージを受信するターゲットとされ、且つ前記ソフトウェアパッケージが前記少なくとも１つのホストデバイス１３２に現在インストールされていないことを判定することを含むことを特徴とする請求項１７に記載の１つまたは複数のコンピューター可読媒体。
【請求項１９】
前記少なくとも１つのホストデバイス１３２が前記ポリシーを満たすかどうかの判定は、１つまたは複数のポリシー値が前記少なくとも１つのホストデバイス１３２の登録部４８０内に存在することを判定することを含むことを特徴とする請求項１７に記載の１つまたは複数のコンピューター可読媒体。
【請求項２０】
前記少なくとも１つのホストデバイス１３２が前記ネットワーク化された環境１００の他のコンポーネントとの通常の通信からポリシー制限され、前記ソフトウェアパッケージのインストールは、セキュリティパケットアップデートのために指定された通信チャンネルを介して前記ソフトウェアパッケージを伝達することを含むことを特徴とする請求項１７に記載の１つまたは複数のコンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュアなソフトウェア配備に関する。
【背景技術】
【０００２】
現代の企業、特に多くのコンピューター資産を持つ企業は、一般的に管理者が中央の位置から様々なコンピューター資産を管理することを可能にする管理機構を使用している。集中管理作業は、ホストコンピューターへのアプリケーションの配備、アプリケーションの保守およびアップグレード並びに他のアプリケーションの除去その他の機能を含み得る。管理者は、種々のホストコンピューターへのネットワーク接続機能を有する管理サーバーから、スクリプト又は他の適当なバッチプロセスを使用して、これらの管理機能を実行し得る。
【０００３】
ホストコンピューターへのアプリケーションの配備は、集中管理機構でさえも煩わしく、問題を含んだプロセスであるといえる。アンチウイルスやアンチスパイウエアなどの防御技術のために、既存のソフトウェアの配備機構は、一般的に個々の「パッケージ」のターゲット設定を必要とし、例えばターゲットとされるホストの範囲が広いと、パッケージアップデートを度々行うこととなる。更に、ホストデスクトップをターゲットとするパッケージ、サーバーをターゲットとする別のパッケージなどのように、特定の企業において複数のパッケージが必要とされる場合がある。
【０００４】
ホストソフトウェアを構成又はモニタするサービスにおいて、いくつかの管理されたソフトウェアの場合、ホストソフトウェアのインストールが行われる前に、構成および設定をホストデバイスにインストールさせなければならないという問題（いわゆる「鶏と卵」の問題）があり得る。特に、モニタされたソフトウェアのインストール時点において、新たに設置されたホストが、それらの報告サーバーの構成が、何であるかを「知る」必要があるかもしれない。セキュリティおよび保護技術ソフトウェアの配備は、セキュリティソフトウェアがインストールされ、起動されない限り（又は起動されるまで）、ネットワークアクセスがマシンの限られたセットにしばしば制限されるという事実によって妨げられるかもしれない。配備されたホストソフトウェアのための標準的なソフトウェアライセンスおよびエンドユーザーライセンス契約（ＥＵＬＡ）承認に関わる問題点についても対処する必要がある。
【発明の概要】
【０００５】
セキュアなソフトウェアの配備のための技術が記載されている。一実施例において、方法は、ネットワーク化された環境のホストデバイスへのインストールのためにソフトウェアパッケージを用意するステップと、前記ネットワーク化された環境のインストール部に前記ソフトウェアパッケージを公開（publishing）するステップとを含む。前記ソフトウェアパッケージは、その後前記インストール部に格納される。同様に、前記ソフトウェアパッケージに関連する適用ルール（又はポリシー）が用意され、前記インストール部に公開される。前記適用ルールの公開は、前記ソフトウェアパッケージの公開から分離されてもよい。前記適用ルールは、その後前記インストール部に格納される。前記ホストデバイスと前記インストール部との間の定期的な同期の間、前記適用ルールは伝達され、前記定期的な同期の間に伝達された前記適用ルールに基づいて前記ホストデバイスが前記ソフトウェアパッケージを受信することを意図しているかどうかが判定される。前記適用ルールが満たされる場合、前記ソフトウェアパッケージが前記ホストデバイスにインストールされる。
【０００６】
さらなる態様において、前記ホストデバイスが前記ネットワーク化された環境の他のコンポーネントとの通常の通信からポリシー制限（又は隔離）されている場合、ソフトウェアパッケージは、通常ではない通信のために指定された通信チャンネルを介してホストデバイスにインストールされ得る。いくつかの実施形態において、通信チャンネルは、通常、セキュリティパケットアップデート又は他の管理機能のために確保されたチャンネルであり得る。
【０００７】
本概要は、以下の発明を実施するための形態でさらに説明されている選択した概念を簡略化した形式で紹介するために提供するものである。本概要は、特許請求の範囲に記載されている主題事項の重要な特徴または本質的な特徴を特定することを目的とするものでも、特許請求の範囲に記載されている主題事項の範囲の決定に際して、補助として使用することを目的とするものでもない。
【図面の簡単な説明】
【０００８】
詳細な説明は、添付の図面を参照しつつ説明される。図面において、異なる図面における同一の参照番号の使用は、類似又は同一のコンポーネントを示している。
【図１】セキュアなソフトウェア配備のための技術を実装するための例示的な環境を示す図である。
【図２】本開示の教示に係るセキュアなソフトウェア配備のために構成された例示的なサーバーのブロック図である。
【図３】セキュアなソフトウェア配備のために構成された例示的なマルチチャンネルネットワークのブロック図である。
【図４】セキュアなソフトウェア配備のために構成された例示的なホストデバイスの略図である。
【図５】セキュアなソフトウェア配備のための例示的なプロセスのフロー図である。
【発明を実施するための形態】
【０００９】
本開示は、ホストデバイスへのソフトウェアのセキュアな配備のための技術を教示している。本開示に係る技術は、接続性を制限されているホストデバイスのためにさえ、管理者による手作業による関与を減じまたは排除する持続的な、自動化されたホスト配備を提供し得る。また、開示された技術は、ソフトウェアライセンスおよびエンドユーザーライセンス契約（ＥＵＬＡ）の問題点に適正に対処し得る。
【００１０】
概して、本開示に係るソフトウェアの配備のプロセスは、３つのフェーズを含み得る。第１フェーズは、公開サイト（publishing site）にソフトウェアを公開する。第２フェーズは、ソフトウェアを必要としているホストコンピューター（又はホスト）をターゲットとし、構成およびインストール情報を当該ホストコンピューターに配備する。第３フェーズにおいて、ホストコンピューターは、構成情報に従って、公開サイトからソフトウェアを取得して、当該ソフトウェアをインストールする。
【００１１】
（例示的な環境）
図１は、ソフトウェアのセキュアな配備の技術を実装するための例示的な環境１００を図示している。本実施形態において、管理部１１０は、インストール部１２０と通信し、次に、インストール部１２０は、ホストデバイス部１３０と通信する。
【００１２】
管理部１１０は、管理サーバー１１２を含んでおり、管理サーバー１１２は、管理者が、環境１００の全域、より具体的には、ホストデバイス部１３０へのソフトウェアの配備に関する管理機能を実行することができるように構成されている。管理機能は、環境１００の全域に配備しようとするホストソフトウェア（又はパッケージ）１１４の公開（publication）を含んでいる。管理者は、必要に応じてＥＵＬＡ（又は他の適当なライセンス）１１５も承認し得る。同様に、管理部１１０内で実行される管理機能の一部として、ポリシーおよび構成配備情報１１６は、管理者によって公表され、そして、他の任意のＥＵＬＡ（または他の所要のライセンス）も承認され得る。
【００１３】
例示的な環境１００のインストール部１２０において、アップデートサーバー１２２は、管理部１１０によって提供された公開されたソフトウェア（又はパッケージ）１１４を受信する。アップデートサーバー１２２は、必要に応じて繰り返しアクセスできるように、公開されたソフトウェア１１４をアップデートデータベース１２４に格納し得る。同様に、インストール部１２０の認証サーバー１２６は、ポリシーおよび構成配備情報１１６を受信し、この情報１１６をポリシーデータベース１２８に格納し得る。認証サーバー１２６は、環境１００のホストデバイス１３２、１３４、１３６のために中枢的な認証および承認サービスを提供し、これにより管理者は管理サーバー１１２から環境１００の全体に、ポリシーを割り当ておよび重要なアップデートを適用することができる。認証サーバー１２６は、中央の、体系化されたアクセス可能なデータベース（例えば、ポリシーデータベース１２８）内に、編成に関する情報および設定を格納し得る。ある特定の実施形態において、例えば、認証サーバー１２６は、主として本件出願人によるウィンドウズ（登録商標）オペレーティングシステムを使用する環境での使用のために、ＬＤＡＰ（Lightweight Directory Access Protocol）ディレクトリサービスを実行するアクティブディレクトリサーバーであってもよい。アップデートサーバー１２２および認証サーバー１２６の構成および動作に関する更なる詳細について、図２および図３を参照しつつ以下に説明する。
【００１４】
図１に更に示すように、ホストデバイス部１３０は、公開されたソフトウェア１１４を受信するように構成された種々のホストデバイスを含み得る。例えば、ホストデバイス部１３０は、１つまたは複数のサーバー１３２、１つまたは複数のワークステーション１３４、１つまたは複数のリモートユーザー１３４、および企業において使用され得る他の適当なあらゆる資産、例えば、デスクトップコンピューター、ラップトップおよびタブレットコンピューター、ＰＤＡ（personal data assistant）、携帯電話、メディアドライブ又はその他の適当な資産を含み得る。従って、用語「ホスト」又は「ホストデバイス」は、本明細書で使用される場合、人間が装置の操作に居合わせているか又は関与しているかにかかわらず、ソフトウェアを取り扱い又は起動し得る全ての装置を含むことが意図されている。
【００１５】
インストールプロセスの間、インストール部１２０とホストデバイス部１３０との間でポリシーの同期１４０が行われる。ポリシーの同期１４０に基づいて、公開されたソフトウェア又はパッケージのアップデートインストール１４２がインストール部１２０によってホストデバイス部１３０に対して提供される。
【００１６】
図１に示す環境１００は、ソフトウェアのインストールプロセスの実際のソフトウェア配備態様（例えば、ソフトウェアの公開１１４、アップデートおよびパッケージのインストール１４２）からポリシーおよび構成態様（例えば、ポリシーおよび構成配備情報１１６、ポリシー同期１４０）を分離していることが理解されるであろう。この分離は、ポリシーおよび構成態様が常時持続的にインストール部１２０（例えば、認証サーバー１２６）に備わることを可能とし、管理者による手動による操作なしに、ありとあらゆるホストデバイスに供給することを可能とする。ホストデバイス部１３０に「加わった」いずれの新たなホストデバイスも、公開およびポリシー配備１１４、１１６が完了した後は、インストール部１２０、より具体的にはアップデートサーバー１２２との次の同期の時に自動的にソフトウェア（又はパッケージ）を受信するであろう。環境１００の動作態様に関する更なる詳細については、図５を参照しつつ以下に説明する。
【００１７】
（例示的なシステム）
以上において、セキュアなソフトウェアの配備の技術が導入された例示的な環境１００について、図１を参照して説明した。本セクションでは、サーバー（図２）、ホストデバイス（図４）およびマルチチャンネルネットワーク接続（図３）の例示的な実施形態について詳細に説明する。
【００１８】
例えば、図２は、本開示に係る技術の実装に適した例示的なサーバー２００の様々なコンポーネントを図示している。サーバー２００は、環境１００の管理サーバー１１２、アップデートサーバー１２２又は認証サーバー１２６としての使用に適している。本実施形態において、サーバー２００は、バス２０６によってシステムメモリ２１０に接続された１つまたは複数のプロセッサ２０２と、１つまたは複数の入出力（Ｉ／Ｏ）部２０４（例えば、キーボード、マウス、送信機、受信機、通信ポートおよび関連する回路等）と、を含んでいる。システムバス２０６は、種々のバスアーキテクチャを使用するメモリバス又はメモリコントローラ、周辺バス、アクセラレイテッド・グラフィックス・ポート、プロセッサ又はローカルバスを含む任意のタイプのバス構造を意味する。
【００１９】
システムメモリ２１０は、任意の好適なタイプのメモリを含み得る。より具体的には、システムメモリ２１０は、コンピューター可読媒体を含み、プロセッサ２０２によって直接的にアクセス可能な、および／又は現在作動している、本明細書で開示した技術を実装するためのデータおよび／又はプログラムモジュールを格納できるように構成されている。例えば、図２に示す実施形態において、システムメモリ２１０は、プロセッサ２０２およびシステムメモリ２１０に格納された他のコンピューターがアクセス可能なＢＩＯＳ（basic input/output system）２１２、オペレーティングシステム２１４、１つまたは複数のアプリケーションプログラム２１６およびプログラムデータ２１８を格納している。
【００２０】
更に図２に示すように、ソフトウェア配備部２２０も、システムメモリ２１０内に格納されている。ソフトウェア配備部２２０は、例示的なサーバー２００が、管理サーバー１１２、アップデートサーバー１２２、又は認証サーバー１２６として使用されているかどうかに応じて異なった機能を実行するように構成され得ることが理解されるであろう。
【００２１】
例えば、管理サーバー１１２のために、ソフトウェア配備部２２０は、１つまたは複数の種々のホストデバイスに特定のソフトウェアをインストールするために適当なインストールパッケージを生成するように構成され得る。アップデートサーバー１２２のために、ソフトウェア配備部２２０は、公開されたソフトウェアの管理および配布と、環境１００（図１）のホストデバイス部１３０に対するパッケージアップデート１１４とに関連した機能を実行するように構成される。あるいは、認証サーバー１２６のために、ソフトウェア配備部２２０は、ホストデバイス部１３０の種々のコンポーネントに対するポリシーおよび構成配備情報１１６の管理および配布を含む認証および承認サービスに関する機能を実行するように構成されている。様々な実施形態において、ソフトウェア配備部２２０は、カスタムソフトウェア、あるいは、ワシントンレッドモンドの本件出願人によるウィンドウズサーバーアップデートサービス（ＷＳＵＳ）などの市販のソフトウェアパッケージであってもよい。あるいは、ソフトウェア配備部２２０は、目下独自仕様のマイクロソフト（登録商標）アップデートソフトウェアなどの独自仕様の（すなわち、非商業的用途の）ソフトウェアであってもよい。
【００２２】
システムメモリ２１０内に包含されるコンピューター可読媒体は、デバイス２００がアクセス可能な任意の利用可能な媒体であってもよく、コンピューター記憶媒体および通信媒体を含む。コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータ等の情報を記憶するための任意の方法又は技術を導入した揮発性又は不揮発性の媒体、取り外し可能な又は取り外し不可能な媒体を含んでいる。より具体的には、好ましいコンピューター記憶媒体は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）、フラッシュメモリ又はその他のメモリ技術、ＣＤ−ＲＯＭ（Compact Disk ROM）、ＤＶＤ（Digital Versatile Disk）又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイス又は所望の情報を記録するために使用し得る、紙、パンチカードなど、その他の任意の媒体を含んでいる。
【００２３】
同様に、通信媒体は、典型的には、コンピューター可読命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波または他の転送機構などの変調データ信号として具現化したものであり、また、任意の情報配信媒体を含む。「変調データ信号」という用語は、その特性の１つまたは複数が、その信号中の情報を符号化するように設定または変更された信号を意味する。通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音響、ＲＦ、赤外線および他の無線媒体などの無線媒体が含まれるが、これらに限定されない。上記の任意の組合せも、コンピューター読み取り可能な媒体の範囲内に含まれるものとする。
【００２４】
概して、例示的なサーバー２００（図２）上で実行されるプログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造などを含む。これらのプログラムモジュールなどは、ネイティブコードとして実行され又は仮想マシン若しくはその他のジャストインタイムのコンパイル実行環境などでダウンロードされ、実行され得る。通常、プログラムモジュールの機能性は、様々な実行において要求に応じて結合され又は分散され得る。
【００２５】
図３は、セキュアなソフトウェア配備のために構成された例示的なマルチチャンネルネットワーク接続３００のブロック図である。本実施形態において、サーバーＩ／Ｏデバイス２０４（図２）は、複数のチャンネル３０４を介してホストＩ／Ｏデバイス３１０に情報を送信および受信できるように構成された複数のトランシーバ部（又は送信機および受信機）３０２を含んでいる。ホストＩ／Ｏデバイス３１０は、異なるチャンネル３０４を介してサーバーＩ／Ｏデバイス２０４と通信するための対応する複数のトランシーバ部３１２を含んでいる。いくつかの実施形態において、Ｉ／Ｏデバイス２０４、３１０は、様々なチャンネル３０４とトランシーバ部３０２、３１２との間の選択的な通信が可能となるように、トランシーバ部３０２、３１２間を繋ぐ補助的な通信パス３０６、３１６を含んでいてもよい。
【００２６】
いくつかの実施形態において、ネットワーク接続３００の異なるチャンネル３０４は、互いに異なった目的に使用される。例えば、チャンネル３０４ａ、３０４ｂなどのいくつかのチャンネルは、標準の通常の通信のために専有される一方、他のチャンネル（例えばチャンネル３０４ｎ）は、選択された管理機能またはセキュリティ関連通信のために確保され得る。慣習上、通常の通信のために割り当てられたチャンネル(例えば、３０４a、３０４ｂ)は、ネットワーク内の種々のホストデバイスにソフトウェアを配備するために使用されるチャンネルである。
【００２７】
更なる実施形態において、ネットワーク環境の様々なコンポーネントは、環境の他のコンポーネントとの通信が制限され又は禁止されるようにポリシー制限され得る。通常、このようなポリシー制限されたコンポーネントは、通常の通信のために割り当てられたチャンネル（例えばチャンネル３０４ａ、３０４ｂ）上での通信が禁止される。このように制限され、又は「隔離」された環境においてもなお、管理サーバー１１２と様々な隔離されたコンポーネント（サーバー又はホストデバイス）との間の通信は、確保されたチャンネル（例えばチャンネル３０４ｎ）を介して実行され得る。例えば、ある実施形態において、管理サーバー１１２は、１つまたは複数の確保されたチャンネル３０４ｎを使用して、隔離されたコンポーネントにインストールされたアンチウイルス又はアンチマルウェアスキャニングソフトにポリシーアップデートまたはアップデートパケットを提供し得る。特定の実施形態において、このような通常ではない通信のために確保されたチャンネルは、サーバーおよびホストデバイスによって使用される個別のオペレーティングシステムによって判定され得る。例としては、本件出願人から入手可能なウィンドウズ（登録商標）オペレーティングシステムのBackground Intelligent Transfer Serviceがある。
【００２８】
図４は、本発明に従って使用し得る例示的なホストデバイス４００を示している。ホストデバイス４００は、図１の１つまたは複数のホストデバイス１３２、１３４、１３６の少なくともいくつかの機能を実行することができるコンピューターデバイスの典型である。本実施形態において、例示的なホストデバイス４００は、１つまたは複数のプロセッサ（又は処理装置）４０２、システムメモリ４０４およびシステムメモリ４０４を含む様々なシステムコンポーネントをプロセッサ４０２に繋ぐシステムバス４０６を含んでいる。
【００２９】
システムバス４０６は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレイテッド・グラフィックス・ポートおよびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含む、いくつかの種類のバス構造のいずれかとすることができる。システムメモリ４０４には、ＲＯＭ（Read Only Memory）４０８およびＲＡＭ（Random Access Memory）４１０が含まれる。起動時などにホストデバイス４００内の構成要素間の情報の転送を助ける基本ルーチンを含むＢＩＯＳ（Basic Input/Output System）４１２を、ＲＯＭ  ４０８に格納することができる。
【００３０】
例示的なホストデバイス４００は、ハードディスク（図示せず）からの読み出し又は書き込みのためのハードディスクドライブ４１４を更に含み、ハードディスクドライバインタフェース４１６（例えば、ＳＣＳＩ、ＡＴＡ、又は他のタイプのインタフェース）を介してシステムバス４０６に接続されている。取り外し可能な磁気ディスク４２０からの読み出し又は書き込みのための磁気ディスクドライブ４１８は、磁気ディスクドライバインタフェース４２２を介してシステムバス４０６に接続されている。同様に、ＣＤ  ＲＯＭ、ＤＶＤ、又は他の光媒体などの取り外し可能な光ディスク４２６からの読み出し又は書き込みのための光ディスクドライバ４２４は、光ドライブインタフェース４２８を介してシステムバス４０６に接続されている。ドライブとそれらの関連するコンピューター可読媒体は、コンピューター可読命令、データ構造、プログラムモジュールおよびホストデバイス４００のための他のデータの不揮発性の保存を提供する。ここに説明された例示的なホストデバイス４００は、ハードディスク、取り外し可能な磁気ディスク４２０および取り外し可能な光ディスク４２６を使用しているが、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）などのコンピューターがアクセスできるデータを格納できるコンピューター読み取り可能な他のタイプの媒体がホストデバイス４００において使用され得ることが当業者によって理解されるべきである。
【００３１】
図４に更に示されるように、いくつかのプログラムモジュールは、オペレーティングシステム４３０、一つ以上のアプリケーションプログラム４３２、他のプログラムモジュール４３４およびプログラムデータ４３６を含んでいるシステムメモリ４０４（例えばＲＯＭ  ４０８またはＲＡＭ  ４１０）に格納され得る。あるいは、これらのプログラムモジュールは、ハードディスク、磁気ディスク４２０、又は光ディスク４２６を含む他のコンピューター可読媒体に格納され得る。説明の便宜上、オペレーティングシステム４３０等のプログラムおよび実行可能なプログラムコンポーネントは、そのようなプログラムおよびコンポーネントが様々なときに、ホストデバイス４００の異なる記憶部に駐在し、ホストデバイス４００のデータプロセッサ４０２によって実行されるにもかかわらず、図４において別個のブロックとして図示されている。
【００３２】
配備および登録部４８０もシステムメモリ４０４に格納されている。配備および登録部４８０は、例示的なサーバー２００（すなわちアップデートサーバー１２２および認証サーバー１２６）のソフトウェア配備部２２０と通信するように構成され、ソフトウェアのインストールに関するポリシー値（policy values）を格納し得る。配備および登録部４８０の更なる態様は、図５を参照して以下にさらに十分に説明されている。代替の実施形態において、配備および登録部４８０の機能は、２つ以上の別々のコンポーネントに分けることができる（例えば、通信部およびローカルレジストリ）。
【００３３】
ユーザーは、キーボード４３８やポインティングデバイス４４０などの入力デバイスを介してホストデバイス４００にコマンドや情報を入力し得る。その他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等を含み得る。これらの又はその他の入力デバイスは、システムバスに接続されたインタフェースを介して処理装置４０２に接続されている。モニタ４４４又は他のタイプのディスプレイデバイスもビデオアダプタ４４６などのインタフェースを介してシステムバス４０６に接続されている。モニタに加えて、パーソナルコンピューターは、通常スピーカやプリンタなどの他の周辺出力デバイス（図示せず）を含んでいる。
【００３４】
ホストデバイス４００は、アップデートサーバー１２２およびアクティブディレクトリサーバー１２６などの１つまたは複数の遠隔のコンピューター（又はサーバー）４５８への論理接続を使用しているネットワーク化された環境で動作する。そのような遠隔のコンピューター（又はサーバー）４５８は、パーソナルコンピューター、サーバー、ルータ、ネットワークＰＣ、ピアデバイス又はその他のコモンネットワークノードであってもよく、ホストデバイス４００に関連する上述したエレメントの多数又は全てを含み得る。図４に示された論理接続は、ＬＡＮ（Local Area Network）４４８およびＷＡＮ（Wide Area Network）４５０を含む。そのようなネットワーク環境は、オフィス、エンタープライズワイドコンピューターネットワーク、イントラネットおよびインターネットにおいて一般的である。本実施形態において、ホストデバイス４００は、１つまたは複数の放送チューナ４５６も含んでいる。放送チューナ４５６は、直接的に（例えばチューナ４５６に直接供給されるアナログ又はディジタル放送）又は受信デバイス（例えばアンテナ、サテライトディッシュなど）を介して放送信号を受信し得る。
【００３５】
ＬＡＮネットワーク環境において使用する場合、ホストデバイス４００は、ネットワークインタフェース（又はアダプタ）４５２を介してローカルネットワーク４４８に接続される。ＷＡＮネットワーク環境において使用する場合、ホストデバイス４００は、通常モデム４５４又はインターネットなどのワイドエリアネットワーク４５０を介して通信を確立するためのその他の手段を含んでいる。モデム４５４は、内在的または外付けであってもよく、シリアルポートインタフェース４４２を介してシステムバス４０６に接続され得る。ネットワーク化された環境（例えば、図１の環境１００）において、ホストデバイス４００又はその一部と関連して表されたプログラムモジュールは、遠隔のメモリストレージデバイスに格納されていてもよい。
【００３６】
図４に示すネットワーク接続は例示的なものであり、ホストデバイス１３２、１３４、１３６とサーバー１２２、１２６との間の通信リンクを確立する他の手段が使用され得る。ホストデバイス１３２、１３４、１３６により使用されるネットワーク接続の特定の実施形態に関わらず、そのようなネットワーク接続は、図３を参照して上述したマルチチャンネルネットワーク接続３００のように、環境１００の他のコンポーネントとマルチチャンネルを介して通信するように構成され得ることが理解されるであろう。
【００３７】
最後に、サーバー２００、マルチチャンネルネットワーク接続３００およびホストデバイス４００の例示的な実施形態は、本明細書で開示したセキュアなソフトウェア配備のための技術を実装するために使用し得る利用可能な実施形態を示していることが理解されるであろう。そのような技術は、いうまでもなく、上記のコンポーネントの代替の実施形態を用いて実施することができる。
【００３８】
（例示的なプロセス）
ホストデバイスへのソフトウェアのセキュアな配備のための例示的なプロセスについて説明する。便宜上およびこれらのプロセスの理解を容易にするため、例示的なプロセスは、上記した例示的な環境１００および例示的なコンポーネントと図１−４を参照して説明される。
【００３９】
上記したように、ソフトウェア配備のためのプロセスは、概して３つのフェーズを含んでいる。第１フェーズは、公開サイト（publishing site）にホストソフトウェアを公開する。第２フェーズは、ホストソフトウェアを必要としているホストコンピューターをターゲットとし、構成およびインストール情報を配備する。第３フェーズにおいて、ホストコンピューターは構成情報に従って、公開サイトからホストソフトウェアを取得して、当該ホストソフトウェアをインストールする。これら３つの概略のフェーズの更なる詳細は、以下においてより完全に説明される。
【００４０】
図５は、セキュアなソフトウェア配備のための例示的なプロセス５００のフロー図である。本実施形態において、公開フェーズ（publishing phase）５１０は、５１２において１つまたは複数のホストデバイスにインストールされるソフトウェアパッケージの生成を含む。より具体的には、ソフトウェアパッケージは、ソフトウェア配備部２２０およびソフトウェア適用メタデータ（software applicability metadata）を使用する管理サーバー１１２によって生成され得る。ソフトウェアパッケージメタデータは、ホストソフトウェアが、例えばそれぞれのホストデバイスのローカルポリシー内の名前／値の組を有する１つまたは複数のホストデバイスにインストールされようとしていることを示すことができる。更なる実施形態において、ソフトウェアパッケージメタデータは、インストールされる必要がある任意のホットフィックスまたは必須パッケージも特定し得る。また、任意で、このようなサポートホットフィックス又は必須パッケージの公開は、５１４においても実行される必要があるかもしれない。
【００４１】
ソフトウェアパッケージが生成されると、５１６においてソフトウェアパッケージは公開される。いくつかの実施形態において、例えばＡＰＩ（Application Programming Interface）は、アップデートサーバー１２２にソフトウェアパッケージを送信することによってソフトウェアパッケージを公開するために使用され得る。特定の実施形態において、管理サーバー１１２およびアップデートサーバー１２２のソフトウェア配備部２２０は、ＷＳＵＳソフトウェアパッケージを含み、５１６における公開は、その後の配布のためにアップデートサーバー１２２にソフトウェアパッケージを追加するために一般のＷＳＵＳ  ３．ｘ  ＡＰＩを使用することを含み得る。
【００４２】
５１８において、管理サーバー１１２は、ソフトウェアパッケージに関連する適用ルール（applicability rule）（又はポリシー）を提供する。本出願において使用される場合、用語「適用ルール」および「ポリシー」は、環境の管理者によって設定された１つまたは複数のルールを言及するために同義的に一般的な意味で使用され得る。しかしながら、特定の実施形態において、適用ルールはプロセスの公開フェーズの間、パッケージの公開に関連するものを言及するのに使用され、一方、「ポリシー」という用語は管理者の管理意図を表現するものを言及するのに使用され得る。これらの用語が一般的な意味であるか特定の意味であるかは、これらの用語が用いられている文脈から読者には明らかであろう。
【００４３】
いくつかの実施形態において、適用ルールは、「全て」のホストデバイスをターゲットとし、ローカルレジストリにおいてあるポリシー値を有するホストデバイスにのみ適用できることを示す（例えば、図４の配備および登録部４８０）。すなわち、適用ルールは、本質的に、「本ホストデバイスがサーバーによって受信者としてターゲットとされ、および、ホストソフトウェアがインストールされていない場合に」、ソフトウェアパッケージは、このホストデバイスにインストールされるべきである、というものである。このような実施形態において、特定のホストデバイスがターゲットとされているかどうかのチェックは、（以下に説明するインストールフェーズの間に）配備および登録部４８０における１つまたは複数のポリシー値の存在を簡単にテストすることである。
【００４４】
図５に更に示すように、ターゲッティングフェーズ（targeting phase）５２０においてソフトウェアパッケージは、アップデートサーバー１２２によって受信され、５２２においてアップデートデータベース１２４に格納され得る。同様に、適用ルール（又はポリシー）は、５２４において認証サーバー１２６によって受信される。また、認証サーバー１２６は、５２４においてポリシーデータベース１２８に適用ルールを格納し得る。５２６において、ポリシー（又は適用ルール）は、環境のホストデバイスに配備される。いくつかの実施形態において、例えば、ポリシーは、ＡＤ（Active Directory）およびＧＰ（Group Policy）を介してホストデバイスに配備され得る。ソフトウェアパッケージを受信するためにターゲットとされることを意図しているホストデバイスが環境１００内に実際に存在していることが理解されるであろう。
【００４５】
ポリシー（又は適用ルール）は、１つまたは複数のホストデバイスにホストソフトウェアをインストールおよび構成するのに必要な全ての情報を望ましく含み得る。また、ポリシーに組み込まれているのは、そのホストデバイスがソフトウェアを受信することを必要とし、およびそれをインストールしていることを示すキー（又はマーカ）であってもよい。このようなキーは、空ではない値を持つ（配備および登録部４８０の）レジストリ値（registry value）と同じぐらい単純であってもよい。配備および登録部４８０は、アップデートおよびパッチ管理のためのソースとして公開されたソフトウェアパッケージを提供する同一のサーバー（すなわちアップデートサーバー１１２）を使用するように望ましく構成され得る。（５２４において）ポリシーが配備されると、ターゲットとされているホストデバイスが用意され、ソフトウェアを受信する準備を行う。
【００４６】
プロセス５００のインストールフェーズ５３０の間、ターゲットとされるホストデバイスの各々は、５３２においてインストール部１２０（例えばアップデートサーバー１２２および認証サーバー１２６）との定期的な同期を行う。５３４において、ターゲットとされるホストデバイスは、ホストソフトウェアパッケージがそれらに適用されていることを特定する。いくつかの実施形態において、５３４における特定は、認証サーバー１２６によって提供された適用ルール（又はポリシー）に従って配備および登録部４８０内にキーが存在すること、およびホストソフトウェアがまだホストデバイスにインストールされていないことを判定することを含んでいる。
【００４７】
５３６において、ソフトウェアパッケージは、アップデートサーバーからターゲットとさるホストデバイスの各々に導入され、５３８においてターゲットとされるホストデバイスにインストールされる。いくつかの実施形態において、通常の通信のために指定されたチャンネル３０４ａ、３０４ｂを介した環境１００のインストール部１２０への接続のように、ターゲットとされるホストデバイスが隔離エリアにあるような場合、ソフトウェアパッケージは、普段は通常ではない通信のために確保された１以上のチャンネル３０４ｎを介して、ターゲットとされるホストデバイスによって受信され得る。より具体的には、特定の実施形態において、元々アンチウイルスおよびアンチマルウェアスキャニングソフトウェアなどのセキュリティパッケージアップデートに限定されているチャンネル３０４ｎを介して、ポリシーおよびソフトウェアパッケージがホストデバイスによって受信され得る。
【００４８】
キー（又はマーカ）を有していた同じポリシーおよび構成情報１１６（図１）の「セット」は、全てのパッケージインストールおよび構成情報をも有しているので、パッケージおよび構成情報は、ターゲットとされるホストデバイスによって必要とされるとき、認証サーバー１２６上に存在することも保証されることが理解され得る。ホストデバイスのソフトウェアパッケージインストーラ（例えば、配備および登録部４８０）は、インストール／構成情報のために、認証サーバー１２６のローカルポリシーについて問い合わせ、そして、その後アップデートサーバー１２２からソフトウェアパッケージ（さらに必須パッケージとホットフィックス）のインストールに進み得る。すべてのインストールが完了したとき、配備は完了し、環境１００は完全に機能するだろう。
【００４９】
本開示に係るターゲットとされるホストデバイスへのホストソフトウェアの配備のための技術は、先行技術に対して顕著な利益を提供し得る。例えば、キー（又はマーカ）の供給は、ソフトウェアパッケージ配備から分離されるので、キーの配備は持続的であり、常時システム内に存在し得る。従って、ありとあらゆるホストデバイスにソフトウェアパッケージを供給するのに手動による操作は要求されない。これは、公開およびポリシー配備が完了した後にシステムに加入した任意のホストデバイスも、インストール部１２０（例えばアップデートサーバー１２２および認証サーバー１２６）との次の同期の際に、ホストソフトウェアパッケージを自動的に受信することを意味する。ポリシーデータベース１２８内に残るオブジェクトを使用して、適用ルール又はポリシーが新たなデバイスに適用されるようにホストデバイスが環境１００に加入するときはいつでも、当該新たなデバイスは認証サーバー１２６からマーカを、および最終的にアップデートサーバー１２２からソフトウェアパッケージを受信する。
【００５０】
同様に、ソフトウェアパッケージは、持続的であり、常時システム（例えばアップデートデータベース１２４）内に存在している。適用ルールが配備を誘発するので、ホストソフトウェアを配備するのに管理者又はユーザーによる手動の操作は必要とされない。更に、このことは、ホストデバイスのユーザーが、あるホストソフトウェアをアンインストールした場合、インストール部１２０との次の同期のときに関連のあるホストソフトウェアは、自動的に再インストールされることを意味する。この態様は、アンチウイルスやアンチマルウェアスキャニングソフトなどのセキュリティおよび保護ソフトウェアにとって特に重要であろう。この持続性は、改ざんの望ましい抑止力として機能し、ソフトウェアのセキュアな配備における重要な成果といえる。
【００５１】
最後に、本開示に係る技術は、申請者ソフトウェアライセンスおよびエンドユーザーライセンス契約（ＥＵＬＡ）の適切な提出を許可し、および承認する２つの別個のフェーズにおいて、管理者の側において履行される直接の操作を要求する場合がある。図１に示すように、承認（１１５）の最初の機会は、ソフトウェアパッケージがアップデートサーバー１２２に公開されたとき（１４４）である。例えば、ソフトウェアパッケージを公開するためにＷＳＵＳ  ３．ｘ  ＡＰＩを利用する特定の実施形態において、ユーザインタフェース（ＵＩ）は、ソフトウェアパッケージの公開が１つまたは複数のホストデバイスへのホストソフトウェアのインストールをもたらすことができるように／もたらすよう管理者に指示するように表示し、そして、公開プロセスを承認し、および継続することにより、管理者が関連するソフトウェアライセンス、ＥＵＬＡ、その他の条件に「同意」していることを表示してもよい。２回目の承認の機会は、ポリシーが作成され、配備されたとき（１１６）である。この場合、ＵＩは、ポリシー配備（１１８）を承認し、継続することによって、ソフトウェアパッケージがターゲットとされているホストデバイス上にインストールできる／インストールされることを表示することができる。更に、ポリシー配備プロセスを承認し、継続することにより、管理者は適用可能なソフトウェアライセンス、ＥＵＬＡ、その他の条件に同意していることを表示することができる。
【００５２】
要約すれば、本開示に係るホストソフトウェアの配備のプロセスは、接続性を制限されているホストデバイスのためにさえ、管理者による手作業による関与を減じまたは排除する持続的な、自動化されたホスト配備を提供し得る。開示された技術は、ソフトウェアライセンスおよびエンドユーザーライセンス契約（ＥＵＬＡ）の問題点に適正に対処し得る。
【００５３】
（結論）
本発明の主題事項を構造的特徴および／または方法論的動作に固有の言語で説明したが、添付の特許請求の範囲で定義される本発明の主題事項は、必ずしも説明した特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、本発明を実装する例示的な形態として開示されている。
【図１】
2010532047.tif 000003
【図２】
2010532047.tif 000004
【図３】
2010532047.tif 000005
【図４】
2010532047.tif 000006
【図５】
2010532047.tif 000007
【国際調査報告】
2010532047.tif 000008
2010532047.tif 000009