(57)【要約】【課題】データ処理システム内の１組のデータ処理エンティティ（エンドポイントなど）にソフトウェア製品を配布する解決策（Ａ１〜Ａ１６）が提案すること。【解決手段】システムは、エンティティの通信を制御するように構成された１組のセキュリティ・アプリケーション（ファイアウォールなど）を含む。対応する方法は、エンティティ上でのソフトウェア製品の実行を可能にするセキュリティ・アプリケーションのターゲット構成を求めるステップで始まる。次いで、ソフトウェア製品およびターゲット構成を実施するように構成されたソフトウェア・パッケージ（複数可）が構築される（Ａ１１）。この方法は、各エンティティに対してソフトウェア製品を実施し、各セキュリティ・アプリケーションのターゲット構成を実施するソフトウェア・パッケージを適用させるように、システム内でソフトウェア・パッケージを配布すること（Ａ１２〜Ａ１６）によって続行する。【選択図】図４
2010524069.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システム内の１組のデータ処理エンティティにソフトウェア製品を配布する方法（Ａ１〜Ａ１６）において、前記システムが、前記エンティティの通信を制御するように適合された１組のセキュリティ・アプリケーションを含む方法であって、
前記エンティティ上での前記ソフトウェア製品の実行を可能にする前記セキュリティ・アプリケーションのターゲット構成を決定するステップ（Ａ１〜Ａ１０）と、
前記ソフトウェア製品および前記ターゲット構成を実施するように適合された少なくとも１つのソフトウェア・パッケージを構築するステップ（Ａ１１）と、
前記システム内で前記少なくとも１つのソフトウェア・パッケージを配布し、各エンティティ上の前記ソフトウェア製品と、各セキュリティ・アプリケーションの前記ターゲット構成とを実施するために前記少なくとも１つのソフトウェア・パッケージを適用させるステップ（Ａ１２〜Ａ１６）と
を含む方法。
【請求項２】
セキュリティ・アプリケーションが各エンティティ上にインストールされ、前記少なくとも１つのソフトウェア・パッケージを構築する前記ステップ（Ａ１１）が、
前記エンティティ上で前記ソフトウェア製品および前記セキュリティ・アプリケーションの前記ターゲット構成を実施するように適合された単一のソフトウェア・パッケージを構築すること（Ａ１１）を含み、
前記少なくとも１つのソフトウェア・パッケージを配布する前記ステップ（Ａ１２〜Ａ１６）が、
各エンティティに前記ソフトウェア・パッケージを配布し、前記エンティティに対して前記ソフトウェア製品を実施し、前記エンティティ上にインストールされた前記セキュリティ・アプリケーションの前記ターゲット構成を実施するために前記エンティティに対して前記ソフトウェア・パッケージを適用させること（Ａ１２〜Ａ１５）を含む請求項１に記載の方法（Ａ１〜Ａ１６）。
【請求項３】
前記エンティティのうちの少なくとも一部が、少なくとも１つのブリッジ・ユニットをそれぞれ含む１組のネットワークとして結合され、前記ネットワークの前記エンティティが、前記少なくとも１つのブリッジ・ユニットを通じて前記ネットワークの外部と通信し、セキュリティ・アプリケーションが、前記ネットワークの前記エンティティの通信を制御するために各ブリッジ・ユニット上にインストールされ、前記少なくとも１つのソフトウェア・パッケージを構築する前記ステップ（Ａ１１）が、
前記エンティティに対して前記ソフトウェア製品を実施し、前記ブリッジ・ユニットに対して前記セキュリティ・アプリケーションの前記ターゲット構成を実施するように適合された単一のソフトウェア・パッケージを構築すること（Ａ１１）を含み、
前記少なくとも１つのソフトウェア・パッケージを配布する前記ステップ（Ａ１２〜Ａ１６）が、
各エンティティに前記ソフトウェア・パッケージを配布し、前記エンティティに対して前記ソフトウェア製品を実施し、対応する前記少なくとも１つのブリッジ・ユニット上にインストールされた前記セキュリティ・アプリケーションの前記ターゲット構成を実施するために前記エンティティに対して前記ソフトウェア・パッケージを適用させること（Ａ１２、Ａ１３、Ａ１４、Ａ１６）を含む請求項１または２に記載の方法（Ａ１〜Ａ１６）。
【請求項４】
前記ターゲット構成を求める前記ステップ（Ａ１〜Ａ１０）が、
別のエンティティの通信を制御するように適合された別のセキュリティ・アプリケーションを含む前記別のエンティティの開始条件を検出すること（Ａ１）、
前記別のエンティティ上の前記ソフトウェア製品の実行を可能にするために前記別のセキュリティ・アプリケーションを構成すること（Ａ３）、
前記別のエンティティの終了条件を検出すること（Ａ４）、および
前記開始条件と前記終了条件との比較に従って、前記開始条件から前記終了条件に前記別のセキュリティ・アプリケーションをブリッジする１組のコマンドを求めること（Ａ５）を含み、
前記少なくとも１つのソフトウェア・パッケージを構築する前記ステップ（Ａ１１）が、
前記コマンドの表示を前記少なくとも１つのソフトウェア・パッケージに追加すること（Ａ１１）を含む請求項１ないし３のいずれかに記載の方法（Ａ１〜Ａ１６）。
【請求項５】
前記ターゲット構成を求める前記ステップ（Ａ１〜Ａ１０）が、
前記開始条件の前記検出（Ａ１）と前記終了条件の前記検出（Ａ４）との間に、前記別のエンティティに対して前記ソフトウェア製品を実施すること（Ａ２）、および
前記開始条件と前記終了条件との間の比較に従って、前記別のエンティティに対して前記ソフトウェア製品を実施する１組の別のコマンドを求めること（Ａ５）を含み、
前記少なくとも１つのソフトウェア・パッケージ（Ａ１１）を構築する前記ステップが、
前記別のコマンドと、前記別のコマンドの実行に必要な各リソースとの表示を前記少なくとも１つのソフトウェア・パッケージに追加すること（Ａ１１）を含む請求項４に記載の方法（Ａ１〜Ａ１６）。
【請求項６】
前記ターゲット構成を求める前記ステップ（Ａ１〜Ａ１０）が、
前記ソフトウェア製品を実行する別のエンティティの通信を監視すること（Ａ８〜Ａ９）、および
前記セキュリティ・アプリケーションを構成して前記監視する通信を使用可能にするために１組のコマンドを求めること（Ａ１０）を含み、
前記少なくとも１つのソフトウェア・パッケージを構築する前記ステップ（Ａ１１）が、
前記コマンドの表示を前記少なくとも１つのソフトウェア・パッケージに追加すること（Ａ１１）を含む請求項１ないし３のいずれかに記載の方法（Ａ１〜Ａ１６）。
【請求項７】
前記別のエンティティの通信を監視する前記ステップ（Ａ８〜Ａ９）が、
セキュリティ・アプリケーションが前記別のエンティティの通信を制御することなく、前記別のエンティティの通信を監視すること（Ａ８）を含む請求項６に記載の方法（Ａ１〜Ａ１６）。
【請求項８】
前記別のエンティティの開始条件を検出するステップ（Ａ１）と、
前記別のエンティティに対して前記ソフトウェア製品を実施するステップ（Ａ２）と、
前記別のエンティティの終了条件を検出するステップ（Ａ４）と、
前記開始条件と前記終了条件との間の比較に従って、前記ソフトウェア製品の実施の結果として前記別のエンティティ上にインストールされている１組の実行可能モジュールを求めるステップ（Ａ５）とをさらに含み、
前記別のエンティティの通信を監視する前記ステップ（Ａ８〜Ａ９）が、
前記実行可能モジュールに関係していない前記別のエンティティの通信を廃棄すること（Ａ９）を含む請求項６または７に記載の方法（Ａ１〜Ａ１６）。
【請求項９】
コンピュータ・プログラムがデータ処理システム（１００）上で実行されるときに請求項１ないし８のいずれかに記載の方法（Ａ１〜Ａ１６）を実施するコンピュータ・プログラム（４００）。
【請求項１０】
請求項１ないし８のいずれかに記載の方法（Ａ１〜Ａ１６）の前記ステップを実施する手段（４００）を含むシステム（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理分野に関する。より詳細には、本発明は、ソフトウェア製品の配布に関する。
【背景技術】
【０００２】
ソフトウェア製品の配布は、多数のコンピュータ（またはエンドポイント）を含むデータ処理システムでは特に、非常に時間のかかる活動である。典型的な例は、ソフトウェア製品が（例えば、情報技術発展についていくため、または組織的変更に適応するために）継続的にインストール、アップグレード、または除去される、数百のエンドポイントを備える大規模ネットワークの例である。この目的で、ソフトウェア配布アプリケーションが一般に使用され、システムの中央サイトからのソフトウェア製品の配布が自動化される。通常、ソフトウェア配布アプリケーションは、対応するソフトウェア製品の所望の条件（例えば、インストール、アップグレード、または除去）を実施するようにそれぞれ適合されたソフトウェア・パッケージの構築を制御する。次いで、ソフトウェア・パッケージが、選択されたエンドポイントに配布され、ソフトウェア製品をインストール、アップグレード、または除去するように、選択されたエンドポイントのそれぞれに適用される。市場で入手可能な市販のソフトウェア配布アプリケーションの一例は、ＩＢＭコーポレーションによる「IBM Tivoli Configuration ManagerまたはITCM」である。
【０００３】
セキュリティ問題も、近年では非常に重要になってきている。この点で、現在の関心の対象は、サーバ側からクライアント側（有害なコードまたは悪意のある侵入者によって近頃の多くのアタックの対象となっている）に移ってきた。この目的で、セキュリティ・アプリケーション（ファイアウォールなど）が一般に使用され、エンドポイントの任意の通信が制御される。具体的には、（他のコンピュータとの通信を制御するために）各エンドポイント上にファイアウォールがインストールされることがあり、さらに、（プライベート・ネットワークの各エンドポイントの、外部の他のコンピュータとの通信を制御するために）プライベート・ネットワークのルータ上にファイアウォールがインストールされることがある。どちらの場合にも、ファイアウォールは、信頼できないコンピュータから来るアタックからエンドポイントを（個々に、またはプライベート・ネットワーク内の全体として）保護することができる。
【０００４】
したがって、（特定のエンドポイントに配布されている）ソフトウェア製品が他のコンピュータと通信することを要求するときはいつでも、ソフトウェア製品を使用することができる前に、対応するファイアウォールを適切に構成しなければならない。
【０００５】
この目的で、提案された一手法は、各エンドポイントのエンド・ユーザにエンド・ユーザのファイアウォールを手動で構成させるものである。しかし、エンド・ユーザは一般に、この作業を実施するのに必要な技能を有さない。さらに、エンド・ユーザは、エンド・ユーザのエンドポイントに対して様々なファイアウォール構成を選ぶことがあり、このことにより、（例えば企業レベルの）グローバル・セキュリティ・ポリシーとの衝突が引き起こされることがある。いずれにしても、各エンドポイント（またはルータ）に対して同一の操作を反復しなければならず、各ファイアウォールについて費される時間にシステムのファイアウォール数が掛けられることにより、超大規模システムでは、プロセスが成り立たなくなることがある。
【０００６】
提案された別の手法は、許可されていない通信が試みられるときはいつでも、ファイアウォールに、エンド・ユーザに対して警報させることである。この場合、エンド・ユーザは、（一時的に、または永続的に）通信を許可することができるか、それとも拒絶することができるかを決定するように促される。しかし、この解決策は、上記で指摘したのと同じ欠点がある。実際、エンド・ユーザは一般に、ファイアウォールによって提供される警報の意味を理解せず、さらに、エンド・ユーザは、エンド・ユーザのエンドポイント上で（たとえグローバル・セキュリティ・ポリシーと衝突しても）様々な通信を許可することがある。いずれにしても、プロセスは、（エンド・ユーザにとってしばしば厄介である警報を伴って）時間がかかる。
【０００７】
（例えばスクリプトによって）ファイアウォールの構成を自動化するいくつかの解決策も提案されている。しかし、こうした解決策は、上述のソフトウェア配布プロセスと何の関連もなく、完全にスタンド・アロンである。いずれにしても、所望のファイアウォール構成を定義し、そのアプリケーションのための対応するスクリプトを準備する手動操作が常に必要となる。
【０００８】
逆も同様であり、米国公開特許公報２００５／２６２５０１号は、ソフトウェア・パッケージを、ソフトウェア製品を構成するのにも使用することのできるソフトウェア配布アプリケーションを開示している。しかし、この構成は、ソフトウェア・パッケージと共に配布される（または以前に配布された）同じソフトウェア製品のみに関するものである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国公開特許公報２００５／２６２５０１号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
その一般的条件において、本開示は、ソフトウェア製品を、対応するセキュリティ・アプリケーションの必要な構成と共に配布する概念に基づく。
【課題を解決するための手段】
【００１１】
具体的には、本発明の様々な態様が、独立請求項で記述される解決策を提供する。本発明の有利な実施形態が、従属請求項で記述される。
【００１２】
より具体的には、本発明の一態様は、データ処理システム内の１組のデータ処理エンティティ（エンドポイントなど）にソフトウェア製品を配布する方法を提案し、システムは、エンティティの通信を制御するように適合された１組のセキュリティ・アプリケーション（ファイアウォールなど）を含む。この方法は、エンティティ上でのソフトウェア製品の実行を可能にするセキュリティ・アプリケーションのターゲット構成を決定するステップで始まる。次いで、ソフトウェア製品およびターゲット構成を実施するように適合されたソフトウェア・パッケージ（複数可）が構築される。この方法は、各エンティティ上のソフトウェア製品と、各セキュリティ・アプリケーションのターゲット構成とを実施するソフトウェア・パッケージを適用させるように、システム内でソフトウェア・パッケージを配布することによって続行する。
【００１３】
本発明の一実施形態では、単一のソフトウェア・パッケージが各エンドポイントに配布され、ソフトウェア製品と、各エンドポイント上にインストールされているセキュリティ・アプリケーションのターゲット構成とをどちらも実施するようにソフトウェア・パッケージが適用される。
【００１４】
さらに、または別法として、単一のソフトウェア・パッケージがやはり各エンドポイントに配布され、ソフトウェア製品と、対応するネットワークの１つまたは複数のブリッジ・ユニット（ルータなど）上にインストールされているセキュリティ・アプリケーションのターゲット構成とを実施するようにソフトウェア・パッケージが適用される。
【００１５】
別の改良として、ターゲット構成を実施するのに必要なコマンドが、別のエンティティ（準備サーバなど）上の別のセキュリティ・アプリケーションの２つの異なる条件−ソフトウェア製品の実行を可能にする構成の前と後−を比較することによって決定される。
【００１６】
同じ差分プロセスを使用して、ソフトウェア製品を実施するのに必要な別のコマンドおよびリソースを求めることもできる。
【００１７】
異なる実施形態では、ターゲット構成を実施するコマンドが、別のエンティティ上のソフトウェア製品の通信を監視することによって求められる。
【００１８】
好ましくは、この場合、セキュリティ・アプリケーションは、別のエンティティの通信を制御しない。
【００１９】
通常、ソフトウェア製品の実施の結果として別のエンティティ上にインストールされる１組の実行可能モジュールに関係していない通信を廃棄するように、こうした実行可能モジュールを求めるのに差分プロセスがやはり使用される。
【００２０】
本発明の別の態様は、上述の方法を実施するコンピュータ・プログラムを提案する。
【００２１】
本発明の異なる態様は、対応するシステムを提案する。
【００２２】
添付の図面と共に読むべきである、純粋に非限定的な指示として与えられた以下の詳細な説明を参照すると、本発明自体、ならびに本発明の別の特徴および利点を最良に理解されよう。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態による解決策が適用可能であるデータ処理システムの概略ブロック図である。
【図２】システムの例示的コンピュータの機能ブロックを示す図である。
【図３】本発明の一実施形態によるソフトウェア・パッケージをモデル化するクラス図である。
【図４】本発明の一実施形態による解決策を実施するのに使用することのできる様々な構成要素の役割を表す協働図である。
【発明を実施するための形態】
【００２４】
具体的に図１を参照すると、分散アーキテクチャのデータ処理システム１００が示されている。システム１００は、（例えば前述のＩＴＣＭに基づく）ソフトウェア配布インフラストラクチャを実装する。
【００２５】
具体的には、準備サーバ１０５が、システム１００内でソフトウェア製品の所望の条件（すなわち、ソフトウェア製品のインストール、アップグレード、または除去）を実施するのに使用されるソフトウェア・パッケージを定義し、テストし、構築するための中央サイトとして動作する。ソフトウェア製品をインストール／アップグレードしなければならないとき、対応するソフトウェア・パッケージは、そのイメージ−実行可能モジュール、ライブラリ、構成テーブル、データベースなどの、ソフトウェア製品をインストール／アップグレードするのに必要なリソースからなる−を組み込む（通常は、圧縮ファイルの形式）。いずれにしても、ソフトウェア・パッケージは、ソフトウェア製品を実施するために実行すべきアクション（ファイル、レジストリ・エントリを追加、削除、または更新するなど）を指定するコマンドを含む。
【００２６】
配布サーバ１１０が、準備サーバ１０５（所望のソフトウェア・パッケージを提供するソース・ホストとして働く）から複数のエンドポイント１１５へのソフトウェア・パッケージの配布を制御する。この目的で、配布サーバ１１０とエンドポイント１１５とは、ネットワーク１２０（例えば、インターネットに基づくグローバル・ネットワーク）を通じて通信する。より具体的には、配布サービス（例えば、ＩＢＭコーポレーションによる「Tivoli Management FrameworkまたはTMF」に基づく「Multiplexed DistributionまたはMDIST2」サービス）により、ソフトウェア・パッケージをエンドポイント１１５にプッシュ・モードで配置することができ、この結果が、分離式に（１組のソフトウェア・パッケージが、事前定義された計画に従って、選択されたエンドポイント１１５に配置される）、またはリアル・タイム式に（コマンド・ライン・インターフェース、すなわちＣＬＩを通じて入力された特定の要求に応答して）動作して達成される。あるいは、エンドポイント１１５が、プル・モードで準備サーバ１０５から直接的に所望のソフトウェア・パッケージをダウンロードすることもできる。いずれにしても、次いで、対応するソフトウェア製品が実施されるように、ソフトウェア・パッケージが各エンドポイント１１５に対して適用される。
【００２７】
エンドポイント１１５は、他のコンピュータと直接的に通信するスタンド・アロン・コンピュータからなることができる。あるいは、エンドポイント１１５は、別のネットワーク１２５（例えば、ＬＡＮに基づくプライベート・ネットワーク）のノードからなることもでき、この場合、各プライベート・ネットワーク１２５のエンドポイント１１５は、ルータ１３０を通じて他のコンピュータと通信する。具体的には、（スタンド・アロン）エンドポイント１１５は、配布サーバ１０５と直接的に通信し、（ネットワーク型）エンドポイント１１５は、対応するルータ１３０を通じて配布サーバ１０５と通信する。
【００２８】
各スタンド・アロン・エンドポイント１１５の、他のコンピュータとの任意の通信は、スタンド・アロン・エンドポイント１１５自体の上にインストールされるパーソナル・ファイアウォールによって制御される。同様に、各ネットワーク型エンドポイント１１５の、そのプライベート・ネットワーク１２５の外部の他のコンピュータとの任意の通信は、対応するルータ１３０上にインストールされる外部ファイアウォールによって制御される（同一のプライベート・ネットワーク１２５のエンドポイント１１５間の通信は、一般には制限の対象とはならない）。
【００２９】
一般には、（パーソナル／外部）ファイアウォールは、２つの環境を異なるレベルのセキュリティで分離するソフトウェア・アプリケーションである。具体的には、ファイアウォールは、２つの環境間で事前定義された接続ポリシーを実装する。例えば、ファイアウォールは、よりセキュアな環境のどのソフトウェア・プログラムが、あまりセキュアではない環境の他のコンピュータと通信セッションを開始することを許可されるか、およびよりセキュアな環境のどのソフトウェア・プログラムが、あまりセキュアではない環境の他のコンピュータから来る要求を聴取することを許可されるか（次いで、あまりセキュアではない環境の他のコンピュータは、よりセキュアな環境と通信セッションを開始することが可能となる）を指定することができる。このようにして、ファイアウォールは、よりセキュアな環境を、あまりセキュアではない環境から来るアタックから保護することができる。
【００３０】
次に図２に移ると、上述のシステムの汎用コンピュータ（すなわち、準備サーバ、配布サーバ、エンドポイント、またはルータ）が２００で示されている。コンピュータ２００は、（システム内のコンピュータ２００の実際の機能に従って適切にスケーリングされる構造で）システム・バス２０５に並列に接続されるいくつかのユニットで形成される。詳細には、１つまたは複数のマイクロプロセッサ（（３）Ｐ）２１０が、コンピュータ２００の動作を制御し、ＲＡＭ２１５が、マイクロプロセッサ２１０によって作業メモリとして直接的に使用され、ＲＯＭ２２０が、コンピュータ２００のブートストラップのための基本コードを格納する。いくつかの周辺ユニットが、ローカル・バス２２５の周囲に（それぞれのインターフェースによって）クラスタ化される。具体的には、大容量メモリが、１つまたは複数のハード・ディスク２３０と、ＣＤ−ＲＯＭ２４０を読み取るドライブ２３５とからなる。さらに、コンピュータ２００は、入力ユニット２４５（例えば、キーボードおよびマウス）と、出力ユニット２５０（例えば、モニタおよびプリンタ）とを含む。ネットワーク・アダプタ２５５が、コンピュータ２００をシステムにプラグ接続するのに使用される。ブリッジ・ユニット２６０が、システム・バス２０５をローカル・バス２２５とインターフェースする。各マイクロプロセッサ２１０およびブリッジ・ユニット２６０は、情報の送信を求めてシステム・バス２０５へのアクセスを要求するマスタ・エージェントとして動作することができる。アービタ２６５が、相互排除でシステム・バス２０５へのアクセスの許可を管理する。
【００３１】
以下で詳細に説明される本発明の一実施形態による解決策では、ソフトウェア製品が、ファイアウォールの必要な構成（例えば、同一のソフトウェア・パッケージ内の追加のコマンドによって定義される）と共に配布される。
【００３２】
このようにして、各ファイアウォールが、対応するエンド・ユーザのどんな介入も必要とすることなく、自動的に構成される。次いで、いくつかのファイアウォールについて同一の構成を選ぶことが可能となり、これにより、グローバル・セキュリティ・ポリシーとのどんな衝突の危険も防止される。いずれにしても、提案される解決策は非常に単純であり、時間効果が高い。さらに、（配布されるソフトウェア製品が特定の通信を実施するように許可されないときにファイアウォールによって提供される）エンド・ユーザに対するどんな厄介な警報も回避することも可能となる。
【００３３】
図３に移ると、本発明の一実施形態による解決策を実装するのに使用することのできるソフトウェア・パッケージの構造が、対応するクラス図でモデル化されている。クラス図は、そのクラスおよびクラスの対話によって構造の静的表現を与え、各クラスは、その名前、属性、およびメソッドについての３つのフレームに分割されている長方形によって示されるように、一定の属性（そのプロパティを定義する）およびメソッド（他のクラスにとって利用可能な関数を公開する）をカプセル化する構造のエンティティを表す。
【００３４】
具体的には、汎用ソフトウェア・パッケージが、対応するクラス「SoftwarePackage」をインスタンス化する。（ソース）クラス「SoftwarePackage」が（ターゲット）クラス「Container」の機能を継承することを意味する、先端が白抜きの三角形の矢印で表される対応する関係によって示されるように、クラス「SoftwarePackage」は、クラス「Container」を拡張する。（ソース）クラス「Container」が（ターゲット）クラス「Action」を有することを意味する、白抜きのダイヤモンドで始まる矢印によって表される対応する集約によって示されるように、クラス「Container」が、１つまたは複数のクラス「Action」によって形成される。
【００３５】
クラス「Action」は、エンドポイント上で実行すべき、対応するアクションを定義し、クラス「Action」は、一連の属性（全体として「condition」と表される）を公開し、その属性は、アクションの実行を可能にするために満たすべき条件を指定し、例えば、エンドポイントのハードウェア・パラメータまたはソフトウェア・パラメータ（その作業メモリ容量、そのオペレーティング・システムなど）あるいはその両方に関してアクションを条件付けることができる。クラス「Container」は、デフォルトの振舞いを共有するアクションの集合を定義する。クラス「Container」はまた、別の属性（「StopOnFailure」）を追加することによってクラス「Action」を拡張し、それにより、アクションの結果が、集合内のアクションに応じて任意のアクションの実行を条件付けることが可能となる。
【００３６】
クラス「Action」は、ソフトウェア配布アプリケーションによって直接的にサポートされる内蔵アクションを（例えばエンドポイントの再始動を指定することにより）直接的に実装する。クラス「Action」はまた、特定のタイプの動作を定義する他のクラスによっても拡張される。
【００３７】
具体的には、クラス「NativeAction」が、エンドポイントに特有のものであり、ソフトウェア配布アプリケーションに基づかないネイティブ・アクションを実装する。別のクラス「AddObject」が、インストール可能オブジェクトをエンドポイントに追加するのに使用される。クラス「AddObject」は、対応するオブジェクトのバージョンを制御するのに使用される一連の属性を公開し、具体的には、属性「replaceIfExisting」が、既存のオブジェクトを置換することができることを指定し、属性「replaceIfNewer」が、オブジェクトの旧バージョンのみを置換することができることを指定し、属性「removeIfModified」が、修正されたときに既存のオブジェクトを除去しなければならないことを指定する。クラス「AddObject」が、追加すべき特定のタイプのオブジェクトに対する様々なクラスによって拡張され、例えば、クラス「AddFile」、クラス「AddDirectory」、およびクラス「AddLink」が、それぞれ、エンドポイント上のファイルをコピーし、対応するファイル・システム内にディレクトリを作成し、そのデスクトップ上にリンクを設けるのに使用される。一方、クラス「RemoveObject」（クラス「Action」を拡張する）が、対応するオブジェクトをエンドポイントから除去するのに使用される。
【００３８】
（ソース）クラス「AddObject」および「RemoveObject」が（ターゲット）クラス「Object」を認識していることを意味する、先端が開いた矢印で示される対応する関連付けによって示されるように、クラス「AddObject」とクラス「RemoveObject」はどちらも、クラス「Object」に関係付けられる。クラス「Object」は、追加または除去すべきオブジェクトに対応し、クラス「Object」は、オブジェクトを複数のソフトウェア・パッケージ間で共有することができるかどうかを示す属性「isShared」を公開する。次いで、クラス「Object」が、特定のタイプのオブジェクトに対する様々なクラスによって拡張される。例えば、（コピーまたは削除すべきファイルに対する）クラス「File」が、属性「source」（ファイルがどこで使用可能かを示す）、属性「destination」（ファイルをどこにコピーしなければならないかを示す）、および属性「compressionMethod」（ファイルがどのように圧縮されるかを示す）を指定し、別の例は、（作成または破棄すべきディレクトリに対する）クラス「Directory」であり、クラス「Directory」は、属性「source」（ディレクトリがどこで使用可能かを示す）、および属性「destination」（ディレクトリをどこに作成しなければならないかを示す）を指定する。
【００３９】
本発明の一実施形態による解決策では、ソフトウェア・パッケージの上述の構造が、ファイアウォール構成の配布を実装するように適合された追加のクラスで拡張される。具体的には、クラス「AddFirewallConfiguration」が、ファイアウォールを構成するのに必要なアクションを実装するクラス「AddObject」を拡張する。別のクラス「FirewallConfiguration」が、ファイアウォールに適用すべき構成を実装するクラス「Object」を拡張する。
【００４０】
通常、ファイアウォール構成は、対応するプロファイル内で定義される。例えば、ファイアウォールの構成は、（別のコンピュータと直接的に通信セッションを開始するソフトウェア製品に対する）アクセス許可の追加を含むことができ、通常、各アクセス許可は、通信がいつ必要であるか（日付および時刻）、通信セッションを開始することを試みるソフトウェア・プログラムの名前、ソフトウェア・プログラムが連絡を試みるコンピュータの宛先ＩＰアドレス、信頼ゾーン、インターネット、またはその両方に対して許可が必要かどうか、通信が許可されるか、拒絶されるか、それともエンド・ユーザの決定に委ねられるか、および最後のケースでは、次の要求のために決定を覚えておかなければならないか否かを指定する。
【００４１】
ファイアウォールの構成はまた、（別のコンピュータと間接的に通信セッションを開始するソフトウェア製品に対する）拡張アクセス許可の追加をも含むことができ、通常は、各拡張アクセス許可は、通信がいつ必要であるか（日付および時刻）、別の（ブリッジ）ソフトウェア・プログラムを使用して通信セッションを開始することを試みるソフトウェア・プログラムの名前、通信セッションを実際に開始するブリッジ・ソフトウェア・プログラム、ブリッジ・ソフトウェア・プログラムが連絡を試みるコンピュータの宛先ＩＰアドレス、信頼ゾーン、インターネット、またはその両方に対して許可が必要かどうか、通信が許可されるか、拒絶されるか、それともエンド・ユーザの決定に委ねられるか、および最後のケースでは、次の要求のために決定を覚えておかなければならないか否かを指定する。
【００４２】
さらに、ファイアウォールの構成は、（ソフトウェア製品との通信セッションを開始する他のコンピュータからの要求を聴取するソフトウェア製品に対する）着信許可の追加を含むことができ、通常、各着信許可は、通信がいつ必要であるか（日付および時刻）、通信セッションを開始することを試みるコンピュータのソースＩＰアドレスおよびポート番号、それに応答して連絡すべきコンピュータの宛先ＩＰアドレスおよびポート番号、ならびに通信のために使用することのできるプロトコルのタイプを指定する。
【００４３】
ファイアウォールを構成するコマンドのテキスト定義（対応するソフトウェア製品の実行を可能にする）の一例は、以下の通りである。
package
....
Add_firewall_configuration
.....
configuration
access_permission
application_name = myApplication
destination_ip = myDestination1
zone_type = trusted
action = allow
end
advanced_access_permission
application_name = myApplication
bridge_application_name = myBridge
destination_ip= myDestination2
zone_type = trusted
action = allow
end
incoming_permission
source_ip = mySourceIp
source_port= mySourcePort
destination_ip = myDestinationIp
destination_port = myDestinationPort
protocol = myProtocol
end
end
end
end
【００４４】
この場合、ソフトウェア・パッケージが使用されて、ソフトウェア・プログラム「myApplication」がＩＰアドレス「myDestination1」のコンピュータとの通信セッションを開始し、ブリッジ・ソフトウェア・プログラム「myBridge」を通じてＩＰアドレス「myDestination2」のコンピュータ（どちらも信頼ゾーン内にある）との通信セッションを開始するように許可するようにファイアウォールが構成され、さらに、プロトコル「myProtocol」を使用する、ポート「myDestinationPort」上のＩＰアドレス「myDestinationIp」のコンピュータに対する、ポート「mySourcePort」上のＩＰアドレス「mySourceIp」のコンピュータによって開始される通信セッションが許可されるようにファイアウォールが構成される。
【００４５】
次に図４を考慮すると、本発明の一実施形態による解決策を実装するのに使用することのできる様々な構成要素の役割を表す協働図４００が示されている。この図は、（対応する構成要素によって）システムの静的構造を記述し、（シンボル「Ａ」で始まるシーケンス番号で示される、対応するアクションをそれぞれ表す一連の交換メッセージによって）システムの動的振舞いを記述する。
【００４６】
具体的には、準備サーバ１０５が、（例えば、「ＩＴＣＭ」の「ＡｕｔｏＰａｃｋ」サービスに基づく）リバース・エンジニアリング・ツール４０５を含み、リバース・エンジニアリング・ツール４０５は一般に、準備サーバ１０５上の変化を検出し、次いでこうした変化を再現するのに必要なコマンドを含むソフトウェア・パッケージを自動的に構築するのに使用される。この目的で、リバース・エンジニアリング・ツール４０５はスキャナ４１０を有し、スキャナ４１０は、準備サーバ１０５の初期スナップショットを取るのに使用され、次いで初期スナップショットが、対応するリポジトリ４１５内に保存される（アクション「Ａ１．スナップショット」）。一般に、初期スナップショットは、ファイル、ディレクトリ、レジストリ・エントリ、利用可能なサービスなどの表示を含み、この場合は、初期スナップショットが、ファイアウォール構成の表示（例えば、そのプロファイル）で拡張される。配布すべき（基準）ソフトウェア製品４２０が、エンドポイント上で望まれるのと同じ条件で準備サーバ１０５上で実施される（アクション「Ａ２．実施」）。次いで、準備サーバ１０５上にインストールされた（基準）ファイアウォール４２５が、基準ソフトウェア製品４２０の実行が可能となるように手動で構成される（アクション「Ａ３．構成」）。この時点で、スキャナ４１０は、準備サーバ１０５の終了スナップショットを取り、この終了スナップショットがやはりリポジトリ４１５内に保存される（アクション「Ａ４．スナップショット」）。リバース・エンジニアリング・ツール４０５の差分エンジン４３０が、初期スナップショットの条件から終了スナップショットの条件に移るために実行すべきアクションを決定するように、（リポジトリ４１５から抽出された）終了スナップショットと初期スナップショットとを比較し、次いで、差分エンジン４３０が、こうしたアクションを実行するのに必要なコマンドを定義し、そのコマンドが、対応するリポジトリ４３５内に保存される（アクション「Ａ５．比較」）。具体的には、コマンドの一部が、基準ソフトウェア製品４２０を実施するのに使用され、他のコマンドが、基準ファイアウォール４２５を構成するのに使用され、この目的で、差分エンジン４３０は、異なるファイアウォール構成を比較するように適合される特定のアドオン（図示せず）を備える。
【００４７】
このようにして、ファイアウォールを構成するのに必要なコマンドが、自動的に得られる。これは、準備サーバ１０５上の単一の基準ファイアウォール４２５の構成を含み、したがって、適切な技能を持つオペレータによって操作を実施することができる。いずれにしても、基準ファイアウォール４２５が適切に構成されると、どんなエラーの危険もなく、その構成を自動的に複製することができる。
【００４８】
あるいは、基準ファイアウォール４２５を使用不能にすることも可能である（アクション「Ａ６．使用不能」）。次いで、（準備サーバ１０５上で実施された後の）基準ソフトウェア製品４２０が、その機能の大部分を訓練するように、テスト・モードで継続的に実行される。この段階では、基準ソフトウェア製品４２０は通常、他のコンピュータと通信し（アクション「Ａ７．通信」）、基準ソフトウェア製品４２０のどんな実行エラーも回避するように、通信は常に許可される（基準ファイアウォール４２５が使用不能にされるため）。しかし、同時に、ネットワーク・モニタ４４０（リバース・エンジニアリング・ツール４０５の別のアドオンからなる）が、準備サーバ１０５の、他のコンピュータとの通信を監視し、次いで、そのように検出された通信が対応するログ内に保存される（アクション「Ａ８．監視」）。例えば、ネットワーク・モニタ４４０は、準備サーバ１０５のすべての通信を傍受するスニファからなることができる。
【００４９】
好ましくは、ネットワーク・モニタ４４０は、基準ソフトウェア製品４２０の実行に関連しない通信を廃棄するように、検出した通信をフィルタリングする。上述のものと同様の差分プロセスにより、所望の結果を自動的に達成することができる（話を簡単にするために、同一のシーケンス番号で示す）。具体的には、スキャナ４１０がやはり、準備サーバ１０５の初期スナップショットを取る（アクション「Ａ１．スナップショット」）。次いで、基準ソフトウェア製品４２０が、準備サーバ１０５上で実施される（アクション「Ａ２．実施」）。しかし、この場合、基準ファイアウォール４２５を構成するためにアクションが実施されない。このとき、スキャナ４１０は、準備サーバ１０５の終了スナップショットを取る（アクション「Ａ４．スナップショット」）。差分エンジン４３０はやはり、基準ソフトウェア製品４２０を実施するのに必要なコマンドを求めるように、（リポジトリ４１５からの）終了スナップショットと初期スナップショットとを比較し（アクション「Ａ５．比較」）、同じ操作はまた、基準ソフトウェア製品４２０の実施の結果として準備サーバ１０５に追加された基準ソフトウェア製品４２０の任意の実行可能モジュールの表示をも提供する。この情報が、ネットワーク・モニタ４４０に渡され、次いでネットワーク・モニタ４４０は、基準ソフトウェア・アプリケーション４２０の前述の実行可能モジュールによって作成されたプロセスに関係する通信のみを登録する。
【００５０】
差分エンジン４３０は、ファイアウォールを許可するようにファイアウォールを構成するために実行すべきアクションを求めるように、ログ４４５から抽出された通信を解析し、次いで、差分エンジン４３０は、こうしたアクションを実行するのに必要なコマンドを定義し、このコマンドが、やはりリポジトリ４３５内に保存され（アクション「Ａ１０．変換」）、この目的で、差分エンジン４３０は、記録された通信を、ファイアウォールを構成するための対応するコマンドに変換するように構成される別のアドオン（図示せず）を備える。
【００５１】
このようにして、ファイアウォールを構成するのに必要なコマンドが、どんな手動介入もすることなく完全に自動的に得られる。いずれにしても、基準ソフトウェア製品４２０が適切に訓練されていると仮定すると、得られる結果は、多くの実際の状況で、受け入れられるレベルの精度を実現する。
【００５２】
任意のソフトウェア製品を配布するのに利用可能なリソースが、別のリポジトリ４５０内に格納される。ビルダ４５５が、所望のソフトウェア製品およびそのファイアウォール構成を実施するコマンドの定義をリポジトリ４３５から抽出し、リポジトリ４５０から（ソフトウェア製品をインストール／アップグレードする）対応するリソースをロードする。次いでビルダ４５５は、必要なリソースを組み込み、対応するコマンドを追加することにより、配布すべきソフトウェア・パッケージを作成し、そのように得られたソフトウェア・パッケージが、リポジトリ４６０内に格納される（アクション「Ａ１１．構築」）。配布すべき他の任意のソフトウェア製品について（対応するファイアウォール構成と共に）同一のプロセスを反復することができる。
【００５３】
次に配布サーバ１１０に移ると、配布マネージャ４６５が、配布計画（それぞれ、選択されたエンドポイント１１５に対する特定のソフトウェア・パッケージの適用を指定する活動のリストからなる）を生成する。（エンドポイントの役割に従って識別される）基準モデルに加入する各エンドポイントの所望の構成を指定する事前定義された基準モデルに従って、専用サービス（「ＩＴＣＭ」の「Change ManagerまたはCM」など）によって分離式に計画を生成することができ、あるいは、選択されたソフトウェア・パッケージを１組のエンドポイント１１５に手動で一度に配布するように、実行時式に（コマンド・ライン要求に応答して）計画を生成することもできる。いずれにしても、配布マネージャ４６５は、対応する活動の実行を制御する対応するサービス（「ＩＴＣＭ」の「ActivityPlanner ManagerまたはAPM」など）によって各計画の実行をサブミットし、その結果、計画で指定された各ソフトウェア・パッケージが、そのリポジトリ４６０から抽出され、次いで、所望のエンドポイント１１５に配布される（アクション「Ａ１２．配布」）。あるいは、準備サーバ１０５がダウンロード・サービス４６７を公開し、許可されたエンドポイント１１５が、所望のソフトウェア・パッケージを選択するように、ダウンロード・サービス４６７にアクセスすることができ、次いで、所望のソフトウェア・パッケージが、許可されたエンドポイント１１５にダウンロードされる（アクション「Ａ１３．ダウンロード」）。
【００５４】
システムの汎用エンドポイント１１５は、アプリケーション・エンジン４７０（「ＩＴＣＭ」の「Software Installation EngineまたはSIE」サービスなど）を含む。アプリケーション・エンジン４７０は、エンドポイント１１５に対する、受け取った各ソフトウェア・パッケージの適用を実施する（アクション「Ａ１４．適用」）。これは、対応するソフトウェア製品の所望の条件（すなわち、インストール、アップグレード、または除去）に達するのに必要な、ソフトウェア・パッケージ内で指定されたコマンドの実行を含む。その結果、ソフトウェア製品（図では全般的に４７５で示す）が、エンドポイント１１５上でインストール、アップグレード、または除去される。同時に、同一のソフトウェア・パッケージの適用は、ソフトウェア製品４７５の実行を可能にするためにエンドポイント１１５上にインストールされたパーソナル・ファイアウォール４８０を構成するのに必要なコマンドの実行を含む（アクション「Ａ１５．構成」）。この目的で、アプリケーション・エンジン４７０は、パーソナル・ファイアウォール４８０と対話するように適合されるアドオン（図示せず）を備える。
【００５５】
さらに、または別法として、ソフトウェア・パッケージの適用は、ソフトウェア製品４７５の実行を常に可能にする、対応するルータ１３０上にインストールされた外部ファイアウォール４８５を構成するのに必要な他のコマンドの実行を含むことができる（アクション「Ａ１６．構成」）。この場合、アプリケーション・エンジン４７０は、外部ファイアウォール４８５とリモートに対話する別のアドオン（図示せず）を備え、例えば、アプリケーション・エンジン４７０は、事前定義されたＵＲＬ（通常は「http://192.168.1.1」）またはセキュア・サービス（ルータ１３０に接続するのに必要な証明書に、外部ファイアウォール４８５の構成を更新する権限を与える）を通じて、ルータ１３０と通信する。
【００５６】
前述の文書ＵＳ−Ａ−２００５／２６２５０１号で説明されているように、配布される同一のソフトウェア製品を構成するのに既に利用可能であるソフトウェア配布アプリケーションの機能を適切に適合させることにより、所望の結果を達成することができることに留意されたい。具体的には、所望のソフトウェア製品の配布と共に、対応するファイアウォールの構成（同一のエンドポイント上にローカルに、またはエンドポイントのルータ上にリモートに）を可能にするために、本文書に記載の機能を拡張することが必要である。
【００５７】
もちろん、局所的要件および特定の要件を満たすために、上述の解決策に対して多くの論理的かつ／または物理的な修正および変更を当業者は適用することができる。より具体的には、本発明を本発明の好ましい実施形態（複数可）を参照しながらある程度具体的に説明したが、形態および細部における様々な省略、置換、および変更、ならびに他の実施形態が可能であることを理解されたい。具体的には、提案される解決策を、本発明のより完全な理解を与えるために先行する説明で述べた特定の詳細（数値例など）なしに実施することさえでき、逆に言えば、不必要な詳細で説明を不明瞭にしないために、周知の特徴が省略または単純化されていることがある。さらに、本発明の開示される任意の実施形態に関連して説明される特定の要素または方法ステップあるいはその両方を、一般的な設計選択の問題として他の任意の実施形態に組み込むことができことが明確に意図される。
【００５８】
具体的には、提案される解決策は、（類似のステップを使用し、不可欠ではないいくつかのステップを除去し、または別の任意選択のステップを追加することによって）同等の方法で実装されるのに向いており、さらに、異なる順序で、同時に、または（少なくとも部分的に）割込み式にステップを実施することができる。
【００５９】
上述のソフトウェア配布インフラストラクチャを限定的に解釈してはならない。例えば、準備サーバと配布サーバが単一のコンピュータとして組み合わされる場合、またはソフトウェア・パッケージが同等の構造（マルチセグメント型など）を有する場合、同様の考慮が当てはまり、さらに、ソフトウェア・パッケージを配布すべきときに、ソフトウェア・パッケージを動的に構築することができ、またはソフトウェア・パッケージの配布を他の任意の方式で（例えば、プッシュ・モードまたはプル・モードのみで）制御することができる。
【００６０】
提案される解決策の典型的な応用例は、（用語の最も広い意味における）ソフトウェア製品が最初にインストールされるときに見出されるが、ソフトウェア製品がアップグレードされ、除去され、構成され、またはより一般にはエンドポイント上で実施されるときにも、同じ方法を適用することに妨げはない。さらに、先行する説明でファイアウォールに対して参照が行われたとしても、このことが限定的に解釈されるべきではなく（エンドポイントの通信を制御するように適合されたセキュリティ・アプリケーションが何であっても、そのセキュリティ・アプリケーションに対しても適用することのできる同一の解決策を伴う）、同様に、ファイアウォール・プロファイルで定義することのできる上述のタイプの許可は包括的なものではなく、対応するエンドポイント（複数可）の通信が何であっても、その通信を制御するように他の任意の方式で構成することのできるファイアウォールを伴う。
【００６１】
同一のエンドポイントに対する複数のソフトウェア・パッケージ（例えば、ソフトウェア製品を実施するソフトウェア・パッケージと、対応するファイアウォール構成を実施する別のソフトウェア・パッケージ）の配布は除外されない。さらに、エンドポイントのグループについて様々なファイアウォール構成を有することが可能であり（配布されている同一のソフトウェア製品について）、この場合、対応する様々なコマンドを、単一のソフトウェア・パッケージ（エンドポイント・タイプに左右される）または別個のソフトウェア・パッケージとして提供することができる。
【００６２】
解決策の原理から逸脱することなく、ネットワークの外部と通信するために対応するエンドポイントによって使用される、汎用ネットワークのゲートウェイ、交換機、またはより一般には任意の同等のブリッジ・ユニット（複数可）上に、外部ファイアウォールをインストールすることができる。この場合も、エンドポイントに対してソフトウェア製品を実施し、ルータに対して対応するファイアウォール構成を実施するために別個のソフトウェア・パッケージを提供する可能性は除外されない。
【００６３】
いずれにしても、パーソナル・ファイアウォールのみ、外部ファイアウォールのみ、またはその両方を同時に構成することにより、提案される解決策を実装することができる。
【００６４】
基準ファイアウォールをその初期条件からその終了条件（基準ソフトウェア製品の実行を可能にする基準ファイアウォールの構成によって分離される）にするのに必要なコマンドを決定するのに同等のツールが使用される場合、同様の考慮が当てはまる。さらに、準備サーバ上の基準ソフトウェア製品を実施しないとしても、基準ファイアウォールのみの構成に対してこのプロセスを適用することに妨げはなく（基準ファイアウォールのプロファイルに限定されることのある準備サーバの初期スナップショットおよび終了スナップショットを用いて）、例えば、所望のソフトウェア製品を実施するソフトウェア・パッケージを、他の任意の方式で（さらには手動で）定義することができ、次いで、対応するファイアウォール構成を実施するのに必要なコマンドの追加で完成させることができる。
【００６５】
基準ソフトウェア製品の通信が他の任意の方式で（例えば、フッキング技法によって）監視される場合、またはファイアウォールを構成する対応するコマンドが同等の手順で求められる場合、同様の考慮が当てはまる。
【００６６】
もちろん、この場合、準備サーバ上で基準ファイアウォールが本当に失われることがあり、あるいは、基準ファイアウォールに対してラッパを提供することが可能であり、ラッパは、すべての通信を可能にするが、（差分エンジンによるラッパの次の解析のために）許可されなかったはずの通信を記録する。
【００６７】
さらに、準備サーバの通信をフィルタリングするのに使用すべき（基準ソフトウェア製品の実行可能モジュールに関連する）プロセスを決定する様々な技法を使用することに妨げはなく、例えば、基準ソフトウェア製品のシグニチャから必要な情報を抽出することができ、さらには手動で入力することができる。いずれにしても、この機能は厳密には必要ではなく、単純化した実装では省略することができる。
【００６８】
もちろん、ファイアウォール構成の定義を自動化する、提案される技法を他の任意のコンピュータ（例えば、システムのダミー・エンドポイント）に対して適用することが可能である。いずれにしても、所望のファイアウォール構成を実施するコマンドの手動定義は、解決策の範囲内にある。
【００６９】
（本発明の各実施形態を実装するのに使用することのできる）プログラムが異なる方式で構築される場合、または追加のモジュールまたは機能が設けられる場合、同様の考慮が当てはまり、同様に、メモリ構造は他のタイプでよく、または同等のエンティティで置換することができる（必ずしも物理的記憶媒体からなるわけではない）。いずれにしても、プログラムは、（例えばコンパイルまたは解釈される、オブジェクト・コードまたはソース・コードとしての）外部ソフトウェアまたは常駐ソフトウェア、ファームウェア、またはマイクロコードなど、任意のデータ処理システムで使用され、または任意のデータ処理システムと共に使用されるのに適した任意の形態を取ることができる。さらに、プログラムをコンピュータ使用可能媒体上に提供することが可能であり、媒体は、プログラムを含み、格納し、通信し、伝播し、または転送するのに適した任意の要素でよい。例えば、媒体は、電子型、磁気型、光学型、電磁型、赤外線型、または半導体型でよい。そのような媒体の例は、固定ディスク（プログラムを事前ロードすることができる場合）、取外し可能ディスク、テープ、カード、ワイヤ接続、ファイバ接続、ワイヤレス接続、ネットワーク、放送波などである。いずれにしても、本発明による解決策は、異なるアーキテクチャを有する（例えば、単一サーバ上で働く）応用例、（例えば、半導体材料のチップとして一体化された）ハードウェア構造、またはソフトウェアとハードウェアの組合せで実装するのに向いている。
【００７０】
提案される方法を、異なるトポロジを有し、または同等のユニットを含む（例えば、ローカル・ネットワークに基づく）システム上で実施することもできる。さらに、各コンピュータは別の構造を有することができ、または類似の要素（プログラムまたはその各部分を一時的に格納して、実行中に大容量メモリへのアクセスを削減するキャッシュ・メモリなど）を含むことができ、いずれにしても、コンピュータを任意のコード実行エンティティ（ＰＤＡ、携帯電話など）またはその組合せ（クライアント／サーバ・アーキテクチャ、グリッド・コンピューティング・インフラストラクチャなど）で置換することが可能である。
【図１】
2010524069.tif 000003
【図２】
2010524069.tif 000004
【図３】
2010524069.tif 000005
【図４】
2010524069.tif 000006
【手続補正書】
【提出日】平成21年12月25日(2009.12.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理システム内の１組のデータ処理エンティティにソフトウェア製品を配布する方法（Ａ１〜Ａ１６）において、前記システムが、前記エンティティの通信を制御するように適合された１組のセキュリティ・アプリケーションを含む方法であって、
前記エンティティ上での前記ソフトウェア製品の実行を可能にする前記セキュリティ・アプリケーションのターゲット構成を決定するステップ（Ａ１〜Ａ１０）と、
前記ソフトウェア製品および前記ターゲット構成を実施するように適合された少なくとも１つのソフトウェア・パッケージを構築するステップ（Ａ１１）と、
前記システム内で前記少なくとも１つのソフトウェア・パッケージを配布し、各エンティティ上の前記ソフトウェア製品と、各セキュリティ・アプリケーションの前記ターゲット構成とを実施するために前記少なくとも１つのソフトウェア・パッケージを適用させるステップ（Ａ１２〜Ａ１６）と
を含む方法。
【請求項２】
セキュリティ・アプリケーションが各エンティティ上にインストールされ、前記少なくとも１つのソフトウェア・パッケージを構築する前記ステップ（Ａ１１）が、
前記エンティティ上で前記ソフトウェア製品および前記セキュリティ・アプリケーションの前記ターゲット構成を実施するように適合された単一のソフトウェア・パッケージを構築すること（Ａ１１）を含み、
前記少なくとも１つのソフトウェア・パッケージを配布する前記ステップ（Ａ１２〜Ａ１６）が、
各エンティティに前記ソフトウェア・パッケージを配布し、前記エンティティに対して前記ソフトウェア製品を実施し、前記エンティティ上にインストールされた前記セキュリティ・アプリケーションの前記ターゲット構成を実施するために前記エンティティに対して前記ソフトウェア・パッケージを適用させること（Ａ１２〜Ａ１５）を含む請求項１に記載の方法（Ａ１〜Ａ１６）。
【請求項３】
前記エンティティのうちの少なくとも一部が、少なくとも１つのブリッジ・ユニットをそれぞれ含む１組のネットワークとして結合され、前記ネットワークの前記エンティティが、前記少なくとも１つのブリッジ・ユニットを通じて前記ネットワークの外部と通信し、セキュリティ・アプリケーションが、前記ネットワークの前記エンティティの通信を制御するために各ブリッジ・ユニット上にインストールされ、前記少なくとも１つのソフトウェア・パッケージを構築する前記ステップ（Ａ１１）が、
前記エンティティに対して前記ソフトウェア製品を実施し、前記ブリッジ・ユニットに対して前記セキュリティ・アプリケーションの前記ターゲット構成を実施するように適合された単一のソフトウェア・パッケージを構築すること（Ａ１１）を含み、
前記少なくとも１つのソフトウェア・パッケージを配布する前記ステップ（Ａ１２〜Ａ１６）が、
各エンティティに前記ソフトウェア・パッケージを配布し、前記エンティティに対して前記ソフトウェア製品を実施し、対応する前記少なくとも１つのブリッジ・ユニット上にインストールされた前記セキュリティ・アプリケーションの前記ターゲット構成を実施するために前記エンティティに対して前記ソフトウェア・パッケージを適用させること（Ａ１２、Ａ１３、Ａ１４、Ａ１６）を含む請求項１または２に記載の方法（Ａ１〜Ａ１６）。
【請求項４】
前記ターゲット構成を求める前記ステップ（Ａ１〜Ａ１０）が、
別のエンティティの通信を制御するように適合された別のセキュリティ・アプリケーションを含む前記別のエンティティの開始条件を検出すること（Ａ１）、
前記別のエンティティ上の前記ソフトウェア製品の実行を可能にするために前記別のセキュリティ・アプリケーションを構成すること（Ａ３）、
前記別のエンティティの終了条件を検出すること（Ａ４）、および
前記開始条件と前記終了条件との比較に従って、前記開始条件から前記終了条件に前記別のセキュリティ・アプリケーションをブリッジする１組のコマンドを求めること（Ａ５）を含み、
前記少なくとも１つのソフトウェア・パッケージを構築する前記ステップ（Ａ１１）が、
前記コマンドの表示を前記少なくとも１つのソフトウェア・パッケージに追加すること（Ａ１１）を含む請求項１ないし３のいずれかに記載の方法（Ａ１〜Ａ１６）。
【請求項５】
前記ターゲット構成を求める前記ステップ（Ａ１〜Ａ１０）が、
前記開始条件の前記検出（Ａ１）と前記終了条件の前記検出（Ａ４）との間に、前記別のエンティティに対して前記ソフトウェア製品を実施すること（Ａ２）、および
前記開始条件と前記終了条件との間の比較に従って、前記別のエンティティに対して前記ソフトウェア製品を実施する１組の別のコマンドを求めること（Ａ５）を含み、
前記少なくとも１つのソフトウェア・パッケージ（Ａ１１）を構築する前記ステップが、
前記別のコマンドと、前記別のコマンドの実行に必要な各リソースとの表示を前記少なくとも１つのソフトウェア・パッケージに追加すること（Ａ１１）を含む請求項４に記載の方法（Ａ１〜Ａ１６）。
【請求項６】
前記ターゲット構成を求める前記ステップ（Ａ１〜Ａ１０）が、
前記ソフトウェア製品を実行する別のエンティティの通信を監視すること（Ａ８〜Ａ９）、および
前記セキュリティ・アプリケーションを構成して前記監視する通信を使用可能にするために１組のコマンドを求めること（Ａ１０）を含み、
前記少なくとも１つのソフトウェア・パッケージを構築する前記ステップ（Ａ１１）が、
前記コマンドの表示を前記少なくとも１つのソフトウェア・パッケージに追加すること（Ａ１１）を含む請求項１ないし３のいずれかに記載の方法（Ａ１〜Ａ１６）。
【請求項７】
前記別のエンティティの通信を監視する前記ステップ（Ａ８〜Ａ９）が、
セキュリティ・アプリケーションが前記別のエンティティの通信を制御することなく、前記別のエンティティの通信を監視すること（Ａ８）を含む請求項６に記載の方法（Ａ１〜Ａ１６）。
【請求項８】
前記別のエンティティの開始条件を検出するステップ（Ａ１）と、
前記別のエンティティに対して前記ソフトウェア製品を実施するステップ（Ａ２）と、
前記別のエンティティの終了条件を検出するステップ（Ａ４）と、
前記開始条件と前記終了条件との間の比較に従って、前記ソフトウェア製品の実施の結果として前記別のエンティティ上にインストールされている１組の実行可能モジュールを求めるステップ（Ａ５）とをさらに含み、
前記別のエンティティの通信を監視する前記ステップ（Ａ８〜Ａ９）が、
前記実行可能モジュールに関係していない前記別のエンティティの通信を廃棄すること（Ａ９）を含む請求項６または７に記載の方法（Ａ１〜Ａ１６）。
【請求項９】
コンピュータ・プログラムがデータ処理システム（１００）上で実行されるときに請求項１ないし８のいずれかに記載の方法（Ａ１〜Ａ１６）を前記データ処理システムに実行させる、コンピュータ・プログラム（４００）。
【請求項１０】
請求項１ないし８のいずれかに記載の方法（Ａ１〜Ａ１６）の前記ステップを実施する手段（４００）を含むシステム（１００）。
【国際調査報告】
2010524069.tif 000007
2010524069.tif 000008
2010524069.tif 000009
2010524069.tif 000010