(57)【特許請求の範囲】
【請求項１】
各々が対応する動作環境と関連付けられる複数の異なるユーザ・プロファイルをもってアクセスされるコンピュータにソフトウェア資料を配布するシステムであって、
一のユーザが前記コンピュータへのアクセスを要求する際に、当該ユーザに特有のユーザ・プロファイル（以下、「現在のユーザ・プロファイル」と称する）をもって一のセッションを開始することにより、当該現在のユーザ・プロファイルに対応する特定の動作環境で前記コンピュータを動作させるログオン・モジュールと、
前記コンピュータ上で一のソフトウェア資料を実施するための１つ以上のアイテムを含む、一のソフトウェア配布パッケージを受信する手段とを備え、
前記アイテムの各々は、所望のソフトウェア構成に到達するために実行すべき１つ以上の命令から成る一のアクティビティを定義する第１のフィールドと、当該アクティビティをグローバル・アクティビティ又はユーザ・アクティビティとして定義する第２のフィールドと、前記ソフトウェア資料を保持する１つ以上のファイルとを有し、
更に、前記複数のユーザ・プロファイルと関連付けられる複数の動作環境の何れとも異なる動作環境で動作する配布エージェントと、
前記配布エージェントによって制御され、前記コンピュータ上にインストールされたか又は前記コンピュータから取り除かれた各ソフトウェア資料のグローバル部分に関するステータスを保管するグローバル・カタログと、
前記複数のユーザ・プロファイルと関連付けられる複数の動作環境下で特定のサービスを実行するユーザ・エージェントと、
前記ユーザ・エージェントによって制御され、前記複数のユーザ・プロファイルと関連付けられる複数の動作環境の各々における各ソフトウェア資料のユーザ部分に関するステータスを保管するユーザ・カタログと、
１組の記録を含み、当該記録の各々が、一のソフトウェア資料を識別する第１のフィールドと、当該ソフトウェア資料を実施することを許された１つ以上のユーザ・プロファイルを識別する第２のフィールドとを有する許可リストとを備え、
前記配布エージェントは、受信した前記ソフトウェア配布パッケージに応答して、当該パッケージのグローバル・アクティビティとして定義された全てのアクションを実行するとともに、前記グローバル・カタログにおける対応するソフトウェア資料のグローバル部分に関するステータスを更新し、
前記ユーザ・エージェントは、前記現在のユーザ・プロファイルに対応する前記特定の動作環境下で、前記グローバル・カタログから各ソフトウェア資料のグローバル部分に関するステータスを検索し、前記現在のユーザ・プロファイルが受信した前記ソフトウェア資料を実施することを許されているか否かをチェックし、そうであれば、前記ユーザ・カタログから当該ソフトウェア資料のユーザ部分に関するステータスを抽出し、
前記ユーザ・エージェントは、前記グローバル・カタログから検索されたグローバル部分に関するステータスを前記ユーザ・カタログから抽出されたユーザ部分に関するステータスと比較することにより、前記現在のユーザ・プロファイルについて受信した前記ソフトウェア資料を実施するのに他のアクションが必要であるか否かを決定し、そうであれば、前記現在のユーザ・プロファイルについて受信した前記ソフトウェア資料を実施するのに必要な前記命令を検索し、当該命令を実行するとともに、前記ユーザ・カタログにおける受信した前記ソフトウェア資料のユーザ部分に関するステータス更新する、システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はソフトウェア資料をコンピュータに配布するシステムに関する。
【０００２】
【従来の技術】
ソフトウェア資料（新しいソフトウェア製品又はそれらの新しいバージョンなど）の配布は、データ処理システムにおいて一般的な活動である。典型的なケースは、非常に多くのワークステーションが接続されたネットワークにおけるソフトウェア資料の配布である。そのネットワークでは、例えばワークステーションにインストールされたソフトウェア製品がアップグレードされたり、ワークステーションのソフトウェア構成がプロファイル又は組織的な変更に従って修正されたりと、各ワークステーションのソフトウェア構成が定期的にアップデートされる。
【０００３】
ここ数年、ネットワークのクライアント・ワークステーション（以下「クライアント」と略記）に対する新しいソフトウェア構成の展開を効率的に管理することに関して、システム管理者を助けるために種々のソフトウェア配布アプリケーションが提案された。ソフトウェア配布アプリケーションは、ネットワークのサーバ・ワークステーション（以下「サーバ」と略記）上で動作し、（インストールされるソフトウェア製品とクライアントが理解できる命令を含む）パッケージの構築を制御する。各パッケージは、ネットワークを介してそれぞれのクライアントへ配布される。クライアントの望ましいソフトウェア構成に到達するために、パッケージに埋め込まれた命令によってそのソフトウェア製品が自動的にインストールされたり又は取り除かれたりする。
【０００４】
クライアント上で動作する幾つかの種類のオペレーティング・システムは、様々なユーザ・プロファイルが定義されることを許す。その結果として、ユーザは、選択されたプロファイルをもってワークステーションにログオンし、その後対応する望ましい環境で仕事をすることができる。その環境は、例えば、使用可能な種々のソフトウェア製品、自動的に実行される操作、デスクトップ上のショートカット、個人用設定パラメータ、システム資源の使用又は或る操作の実行に対する権限、などでそのユーザに特有の動作環境を定義する。
【０００５】
【発明が解決しようとする課題】
従来技術において知られている解決策は、前述のシナリオを満足いくやり方で管理することができない。特にワークステーションの様々なユーザに対し特定のソフトウェア構成の設定をするために、管理者に提供されるサポートは１つもない。実際、ソフトウェア配布アプリケーションのエージェントは、通常、ソフトウェア製品をインストール又は取り除くために必要とされる全ての権限を有するために、特権プロファイルの環境で動作する。しかしながら、特定環境の構成情報は、たとえ異なる環境が特権プロファイルと関連付けられていても、セキュリティ上の理由で、その異なる環境から変更することができない。それゆえ、ソフトウェア配布アプリケーションは、様々なユーザのためにカスタマイズされたソフトウェア構成を定義することはできない。
【０００６】
本発明の目的は、前述の課題を克服することである。
【０００７】
【課題を解決するための手段】
手短にいえば、本発明はそれぞれが対応する動作環境に関連付けられる複数の異なるユーザ・プロファイルをもってアクセスされるコンピュータにソフトウェア資料を配布するシステムを提供する。本システムは、コンピュータ上の対応するソフトウェア資料を実施（enforce）するアクティビティを示す少なくとも１つのアイテムを含み、少なくとも１つのアクティビティが、少なくとも１つのユーザ・プロファイルと関連付けられるユーザ・アクティビティとして定義される配布パッケージを供給する手段と、少なくとも１つのユーザ・アクティビティの指示をコンピュータ上に記憶する手段と、現在のユーザ・プロファイルをもってコンピュータにアクセスする手段と、対応する動作環境で現在のユーザ・プロファイルと関連付けられるユーザ・アクティビティを検索し実行する手段とを含む。
【０００８】
【発明の実施の形態】
図１には、ネットワーキング・システム１００、例えばローカル・エリア・ネットワーク（ＬＡＮ）が示されている。ＬＡＮ１００は、一般にパーソナル・コンピュータ（ＰＣ）から成る複数のワークステーション１０５によって構成されている。ワークステーション１０５は、各通信ケーブル１１５を介して１つ以上のハブ１１０に接続されている。ネットワーキング・システム１００は、クライアント／サーバ・アーキテクチャを有している。ここでサーバとして働く１つ以上のワークステーション１０５が、共有ファイルやデバイスなどのネットワーク資源を管理している。他のワークステーション１０５は、クライアントとして働き、そのユーザは、サーバの資源に依存してアプリケーションを動作させる。
【０００９】
各ワークステーション１０５は、通信バス１２０に並列に接続されている幾つかの装置を有する。特に、中央処理演算装置（ＣＰＵ）１２５はワークステーション１０５の動作を制御し、ワーキング・メモリ１３０（一般にはＤＲＡＭ）はＣＰＵ１２５によって直接使用され、読み取り専用メモリ（ＲＯＭ）１３５はワークステーション１０５を起動するための基本プログラムを記憶する。更にバス１２０には、様々な周辺装置が（各インタフェースによって）接続されている。特に、大容量記憶装置はハードディスク１４０とＣＤ−ＲＯＭ１５０を読むためのドライブ装置１４５を含む。ワークステーション１０５は、更にキーボードやマウスなどの入力装置１５５と、モニタなどの出力装置１６０を含む。ネットワーク・インタフェース・カード（ＮＩＣ）１６５は、ワークステーション１０５を（通信ケーブル１１５を介して）ハブ１１０に接続するために使用される。
【００１０】
ネットワーキング・システムが異なるトポロジを有している場合、ネットワーキング・システムが異なる構成要素（１つ以上のスイッチなど）を含む場合、ネットワーキング・システムが広域ネットワーク（ＷＡＮ）から成る場合、各ワークステーションが異なる構造（例えば、マルチ処理アーキテクチャ）を有する場合、その他同種の場合には、同様の考察が適用される。
【００１１】
図２は、ソフトウェア配布サーバとして働く他のワークステーションから、ソフトウェア資料が配布されるクライアントのワーキング・メモリ１３０の内容の一部を示している。情報（プログラムやデータ）は一般的にハードディスク上に記憶され、そのプログラムが実行されるときに少なくとも一部がワーキング・メモリ１３０へロードされる。そのプログラムは、ＣＤ−ＲＯＭからクライアントのハードディスク上に初期インストールされる。
【００１２】
ワーキング・メモリ１３０内のオペレーティング・システム（ＯＳ）２０２は、クライアントのソフトウェア・プラットフォームを定義する基本サービスを提供する。オペレーティング・システム２０２は、マルチユーザ環境をサポートする。より具体的には、クライアントは複数の異なるプロファイルをもってアクセスされ、各プロファイルは特定のユーザないしユーザのグループに割り当てられる。１度に１つのプロファイルのみが有効である。オペレーティング・システム２０２のカーネルのなかにあるデータ構造（ＣＯＮＦＩＧ）２０５は、各プロファイルの構成情報を記憶する。
【００１３】
ログオン・モジュール２１０は、各ユーザによるクライアントへのアクセスを制御する。ログオン・モジュール２１０は、ユーザの認証を行うため、ユーザ名とパスワードの入力を要求する。一旦ユーザが認識されると、それぞれのプロファイルをもってセッションが開始されて、クライアントを対応する動作環境で動作させる。その環境は、そのクライアントに接続しているユーザに特有の実行環境（例えば、使用可能な複数のソフトウェア製品、自動的に実行される操作、デスクトップ上のショートカット、個人用構成パラメータ、システム資源の使用又は或る操作の実行についての権限など）を定義する。
【００１４】
ネットワーク・インタフェース（ＮＥＴ）２１５は、ネットワークを介してサーバと情報を交換するために使用される。特に、ネットワーク・インタフェース２１５は、ソフトウェア配布パッケージ２２０を受信し記憶する。各パッケージ２２０は、クライアント上で対応するソフトウェア資料を実施するためのアイテムのリストから成る。各アイテムは、ＡＣＴＩＯＮフィールドを有する。ＡＣＴＩＯＮフィールドは、望ましいソフトウェア構成に到達するために実行される、１つ以上の命令から成るアクティビティを定義する。例えば、ＡＣＴＩＯＮフィールドは、或るソフトウェア製品（アプリケーション・プログラムなど）がインストールされなければならないこと、他のソフトウェア製品が取り除かれなければならないこと、そのソフトウェア製品が取り消し可能なやりかたでインストール又は取り除かれなければならないこと、構成パラメータがアップデートされなければならないこと、アイコンが新しく作られたり、アップデートされたり又はデスクトップから取り除かれたりしなければならないことなどを指定する。ＡＣＴＩＯＮフィールドは、ＴＹＰＥフラグと関連付けられる。ＴＹＰＥフラグは、対応するアクティビティをクライアント全体に対するグローバル・アクティビティとして、又は各プロファイルに対する（一般的な）ユーザ・アクティビティとして定義する。パッケージ２２０は更に、クライアント上にインストールされるべきソフトウェア製品を含む１つ以上のファイル（ＳＷ）を含む。
【００１５】
パッケージ２２０は、ソフトウェア配布エージェント（ＤＩＳＴＲ＿ＡＧＥＮＴ）２２５によってアクセスされる。配布エージェント２２５は、ユーザ・プロファイルと関連付けられる任意の環境の外の（グローバル）環境で動作する。より具体的には、配布エージェントは、サーバからのパッケージの受信によってアクティブにされるまで、バックグラウンドで連続的に動作するプログラムから成る。配布エージェント２２５は、クライアント上で使用可能なソフトウェア製品のリポジトリ２３０を制御する。特に、配布エージェント２２５は、各ソフトウェア製品のグローバル部分（ＧＬＯＢＡＬ＿ＳＷ）をインストールしたり取り除いたりする。そのグローバル部分は、ユーザがそのソフトウェア製品を必要としているかに拘わらず、クライアント上に存在しなければならないコードを含む。配布エージェント２２５は更に、全体としてのクライアント上の各ソフトウェア資料のステータスに関する情報を保管しているグローバル・カタログ（ＧＬＯＢＡＬ＿ＣＡＴ）２３５を制御する。例えば、グローバル・カタログ２３５は、各ソフトウェア製品のグローバル部分がインストールされコミットされたこと、バックアップ状態におかれたこと、取り消し可能なやり方でインストールされたこと、取り除かれコミットされたこと、取り消し可能なやり方で取り除かれたことなどを指定する。
【００１６】
ワーキング・メモリ１３０は更に、ユーザ・エージェント（ＵＳＥＲ＿ＡＧＥＮＴ）２４０を含む。ユーザ・エージェント２４０は、対応するプロファイルに応じた特定のサービスを実行するプログラムから成る。ユーザ・エージェント２４０は、リポジトリ２３０内の各ソフトウェア製品のユーザ部分（ＵＳＥＲ＿ＳＷ）を管理（例えば、インストールしたり取り除いたり）する。ここでユーザ部分は、対応する環境においてそのソフトウェア製品をアクティブにするのに必要である。ユーザ・エージェント２４０は更に、構成情報２０５及びパッケージ２２０にアクセスする。そのうえ、ユーザ・エージェント２４０は、各プロファイルに対する特定のユーザ・カタログ（ＵＳＥＲ＿ＣＡＴ）２４５を制御する。ユーザ・カタログ２４５は、その各プロファイルと関連付けられる環境における各ソフトウェア資料のステータスに関する情報（例えば、その環境における各ソフトウェア製品のユーザ部分の状態）を保管する。また、ユーザ・エージェント２４０は、許可リスト２５０にアクセスする。許可リスト２５０は１組の記録を含み、その記録の各々はソフトウェア資料を識別するＥＬＥフィールドと、このソフトウェア資料を実施することを許された１つ以上のプロファイルを識別するＡＵＴＨフィールドから成る。許可リスト２５０は、特権プロファイル（一般にシステム管理者に割り当てられる）に関連付けられた環境で動作する管理者モジュール（ＡＤＭＩＮ）２５５によって管理される。プログラムやデータが異なる方法で構築されている場合、他のモジュール又は機能が提供されている場合、オペレーティング・システムが時分割で同時に走行する複数のプロファイルをサポートする場合、複数のソフトウェア資料及び対応するアクションが把握される場合、ソフトウェア資料が異なる状態にある場合、その他同種の場合は、同様の考察が適用される。
【００１７】
図３及び図４に移ると、（ローカル起動又はサーバの制御下でのリモートの起動によって）クライアントが起動される度に、プロセス３００が実行される。プロセス３００は、ブロック３０３で開始し、その後ブロック３０６へ進み、そこでブート・ストラップ処理が開始される。ブート・ストラップは、クライアントに対する基本的なサービスを提供するユーティリティをロードすることを含む。一方、これらのユーティリティは、オペレーティング・システムの残りのロードと実行を制御する。一旦ブート・ストラップが完了すると、プロセスは並行して実行される２つの枝に分岐する。最初の枝はブロック３０９ないし３２４から成り、第２の枝はブロック３２７ないし３６９から成る。２つの枝は終了ブロック３７２でつながっている。
【００１８】
まずブロック３０９で、配布エージェント２２５がロードされる。配布エージェント２２５は、ブロック３１２で、新しいパッケージ２２０がサーバから受信されたか否かを確認する。受信されていない場合、プロセスはブロック３０９に戻り、アイドル・ループ状態となる。一方、受信されている場合は、その新しいパッケージ２２０は、ブロック３１５で、クライアントのワーキング・メモリ１３０に記憶される。次のブロック３１８で、配布エージェント２２５は、対応するＴＹＰＥフラグによってグローバル・アクティビティとして定義されているアイテムの中の、それぞれのＡＣＴＩＯＮフィールド内にある全ての命令を実行する。このようにグローバル・アクティビティのみが配布の際に実行される（他方、ユーザ・アクティビティは、以下で詳述するように、ユーザが対応するプロファイルをもってクライアントにログオンしたときにのみ実行されるように計画される）。従って、関係するソフトウェア資料のステータス情報は、ブロック３２１で、グローバル・カタログ２３５内でアップデートされる。配布エージェント２２５は、ブロック３２４で、クライアントがシャットダウンされたか否かをチェックする。もしシャットダウンされていなければ、プロセスは（前述のステップを繰り返すために）ブロック３０９に戻る。一方、シャットダウンされていたら、プロセスはブロック３７２で終了する。
【００１９】
これと同時に、プロセスはブロック３２７で、ユーザ・コマンドを待機してループする。クライアントがシャットダウンされている場合には、プロセスはブロック３７２で終了する。もしユーザがクライアントへのアクセスを要求したときには、プロセスは、ブロック３２８へ進み、そこでログオン処理が開始される。特に、ユーザは、ユーザ名とパスワードを入力するよう促される。一旦ユーザが認証されると、選択されたプロファイルに関連付けられた環境についての構成情報が、そのログオンが進むにつれて望ましい実行環境をセットアップするために検索される。
【００２０】
ブロック３３０へ移ると、ユーザ・エージェント２４０が、現在のプロファイルの環境でロードされる。ユーザ・エージェント２４０は、ブロック３３３で、グローバル・カタログ２３５から最初のソフトウェア資料に対するステータス情報を取り出す。ブロック３３６で、（許可リスト２５０内の対応する記録の中身に従って）現在のプロファイルがこのソフトウェア資料を実施することが許されているか否かのチェックがなされる。許されていない場合には、プロセスはブロック３３９（後述）へ進む。一方、許されている場合は、プロセスはブロック３４２へ続き、そこで現在のプロファイルと関連付けられている環境におけるその同じソフトウェア資料に対するステータス情報がユーザ・カタログ２４５から抽出される。
【００２１】
ブロック３４８で、そのグローバル・カタログ２３５からのステータス情報とユーザ・カタログ２４５からのステータス情報とが比較される。もしアクションが必要とされなければ、プロセスはブロック３３９へ直接進む。アクションが必要とされない場合とは、例えば、現在のプロファイルの環境で既にそのソフトウェア資料が実施されていたため、ソフトウェア資料がグローバル・カタログ２３５内とユーザ・カタログ２４５内で結果的に同じステータスとなった場合や、ソフトウェア製品のグローバル部分が最終ステータス（バックアップ状態など）でない場合である。一方、アクションが必要とされる場合は、プロセスはブロック３５１へ進む。グローバル・カタログ２３５内で示されたステータスに現在のプロファイルと関連付けられた環境内のソフトウェア資料を整合させる為に必要とされる命令が、記憶されたパッケージ２２０から取り出される。対応するアクティビティは、その後ユーザ・エージェント２４０の制御下で実行される。従って、関係したソフトウェア資料に対するステータス情報は、ブロック３５４で、ユーザ・カタログ２４５内でアップデートされる。その後のブロック３３９で、ユーザ・エージェント２４０は、グローバル・カタログ２３５内の最後のソフトウェア資料まで到達したか否かを確認する。到達していない場合には、プロセスは次のソフトウェア資料の処理のためにブロック３３３へ戻る。
【００２２】
一方、最後まで到達している場合には、プロセスはブロック３５７へ進む。ブロック３５７では、ユーザ・エージェント２４０の実行が終了し、ログオン処理の他の操作が完了している。クライアントの操作は今ユーザの制御下にあり、現在のプロファイルと関連付けられる環境で使用可能な所望のアプリケーションを実行させることができる。プロセスはその後ブロック３６０へ進む。もしクライアントが特権プロファイルをもってアクセスされ、そしてシステム管理者が許可リストの編集を選択したのであれば、その選択された操作（記録の入力、削除、アップデートなど）がブロック３６６で実行される。プロセスはその後ブロック３６９へ進む。そうでない場合は、プロセスは直接ブロック３６９へ進む。
【００２３】
ブロック３６９に移ると、ユーザがログオフ・コマンドを入力したか否かがチェックされる。入力されていなかった場合は、プロセスはブロック３５７へ戻り、そこでユーザからの更なる要求を処理する。一方、ユーザが（ログオフ・コマンドの入力を通して）現在のセッションを閉じた場合には、プロセスはブロック３２７へ戻り、そこで新しいログオン又はクライアントのシャットダウンを待機する。
【００２４】
同様なプロセスが実行される場合、例えば、ログオンが異なる手順で実行される場合や、パッケージ２２０内に含まれ、後でユーザ・エージェント２４０の制御下で実行されるユーザ・アクティビティの標識を記憶するために別のメモリ構造が提供される場合や、異なる方法でユーザ・アクティビティが取り出され、現在のプロファイルと関連付けられた環境で実行される場合などにおいても、同様の考察が適用される。
【００２５】
提案された解決策は、特定のソフトウェア構成がクライアントの様々なプロファイルに対応して配置されることを許す。例えば、或るソフトウェア製品は、選択されたプロファイルをもってクライアントにアクセスする或るユーザに対してのみ使用可能とすることことができる。その上更に、カスタマイズされた構成情報（自動的に実行される複数の操作又はデスクトップ上のショートカットなど）が、各プロファイルごとに設定されるようにすることができる。本発明のシステムは、ネットワーク上にあるクライアントのソフトウェア構成を管理するための非常に柔軟性のある解決策を提供する。
【００２６】
更に、様々なソフトウェア資料が、真に必要とされる場合のみ、各環境で実施される。実際、前述の方法では、クライアントが各プロファイルをもってアクセスされた時にユーザ・アクティビティが検索され実行される。それゆえ、もしユーザがクライアントにログオンしなかった時は、そのユーザのプロファイルは決してアップデートされることはない。
【００２７】
前述の本発明の好適実施例は更に有利な点を提供する。例えば、（現在のプロファイルと関連付けられる環境の外で動作する）配布エージェント２２５は、実際にクライアントで作業をしているユーザに拘わりなく、グローバル・アクティビティが実行されるのを許す。現在のプロファイルと関連付けられた環境で動作するユーザ・エージェント２４０は、どのようなセキュリティの心配もなく、各ユーザ・アクティビティを実行することを可能にする。更に、ユーザ・アクティビティは、ログオン処理の間に実行される。その結果、ユーザがクライアントにログオンする度に、対応するソフトウェア資料は自動的に実施される。本発明の有利な実施例においては、配布エージェント２２５は、ログオフ状態のクライアントとともに動作する。このように、たとえ配布時においてクライアント上に現在ログオンしているユーザがいなくても、グローバル・アクティビティは実行される。
【００２８】
配布エージェント２２５とユーザ・エージェント２４５が同様なルーチンを実行する場合、ユーザ・エージェント２４５がログオン処理の完了後にロードされる場合、グローバル・アクティビティ又はユーザ・アクティビティが自動的に実行されない場合（例えば、ソフトウェア資料が対応する環境で実施される前にユーザがそのソフトウェア資料を受け入れることを促される場合）、その他の場合にも、同様の考察が適用される。代替的に、ユーザ・エージェント２４５は、現在のセッションの間アクティブな状態に保たれる。つまり、新しいパッケージ２２０が受信されグローバル・アクティビティが実行される度に、配布エージェント２２５がその旨をユーザ・エージェント２４５に知らせ、その結果、対応するソフトウェア資料が現在のプロファイルに関連付けられた環境で直ちに実施される。しかしながら、本発明に従った解決策は、他のモジュールによっても実装可能であり、又はクライアントがログオフの状態の時に配布エージェント２２５を動作させる可能性がない場合であっても（例えば、特権環境でグローバル・アクティビティを実行するために管理者モジュール２５５がログオンされることを必要とする場合）、実装可能である。
【００２９】
有利な点は、本発明のシステムは、グローバル環境及びユーザ環境の各環境でソフトウェア製品をアクティブにするのに必要とされるグローバル部分及びユーザ部分を有するソフトウェア製品を配置するために使用されることである。このようにして、クライアントにインストールされたソフトウェア製品は希望するユーザに対してのみ見えるようにすることができる。本発明の好適実施例では、各アクティビティは、（どのようなプロファイルも指定することなしに）グローバル・アクティビティ又は一般的なユーザ・アクティビティとして定義される。この方法では、パッケージ２２０の各アイテム内に単一のフラグが必要とされる。更に、グローバル・カタログ２３５とユーザ・カタログ２４５の比較に従って、ユーザ・アクティビティが実行される。これは（簡潔かつ効果的なやり方で）パッケージ２２０に含まれている全ての命令が１度だけ実行されることを確実にする。許可リスト２５０は更に、各ソフトウェア資料が実施されることが許されたプロファイルを識別することを可能にし、その結果、簡単な方法で各ユーザが使用可能なソフトウェア製品が構成される。
【００３０】
グローバル・アクティビティ及びユーザ・アクティビティがそれぞれ定義される場合、例えば、１つのフラグをパッケージ２２０の２つ以上のアイテムを含むコンテナに関連付ける場合、グローバル・カタログ２３５とユーザ・カタログ２４５を同等なメモリ構造で置き換える場合、グローバル・カタログ２３５とユーザ・カタログ２４５内の各ソフトウェア資料に対するステータス情報が異なる方法で比較される場合、各環境での一般的なユーザ・アクティビティの完了を示すためにフラグが記憶される場合（その同じ環境で後にその繰り返しを避けるために）など、同様の考察が適用される。或いは、そのソフトウェア資料が、望ましい各環境でインストールされるべき単一の部分から成っていたり、パッケージ２２０の各アイテムが対応するユーザ・アクティビティを１つ以上のプロファイルと関連付けるためのフィールドを含んでいたり、許可リスト２５０が全てのソフトウェア製品を使用可能にさせることを認めるプロファイルを指定するのみであったり（複数のプロファイルに対して特定のソフトウェア資料を選択する可能性なしに）、ユーザ・エージェント２４０がソフトウェア製品を使用可能にすることを許された望ましいプロファイルのためだけにロードされたり、又は（クライアントが各々のプロファイルをもってアクセスされるや否や）全てのソフトウェア資料が常に全ての環境で実施されたりしてもよい。
【図面の簡単な説明】
【図１】  本発明の方法を使用することができるネットワーキング・システムの基本的なブロック図である。
【図２】  ネットワーキング・システムに含まれるクライアント・ワークステーションの、ワーキング・メモリの内容の一部を示す図である。
【図３】  クライアント・ワークステーションへのソフトウェア資料の配布を処理する方法の流れ図である。
【図４】  クライアント・ワークステーションへのソフトウェア資料の配布を処理する方法の流れ図である。
【符号の説明】
１０５  ワークステーション
１３０  ワーキング・メモリ
１６５  ネットワーク・インタフェース・カード（ＮＩＣ）
２０２  オペレーティング・システム（ＯＳ）
２０５  データ構造（ＣＯＮＦＩＧ）
２１０  ログオン・モジュール
２１５ ネットワーク・インタフェース（ＮＥＴ）
２２０  ソフトウェア配布パッケージ
２２５  ソフトウェア配布エージェント
２３０  リポジトリ
２３５  グローバル・カタログ
２４０  ユーザ・エージェント
２４５  ユーザ・カタログ
２５０  許可リスト
２５５  管理者モジュール
【図１】
0003771863.tif 000002
【図２】
0003771863.tif 000003
【図３】
0003771863.tif 000004
【図４】
0003771863.tif 000005