(57)【特許請求の範囲】
【請求項１】
複数のコンピュータを含むネットワークにおいてアプリケーションを導入するための導入計画オブジェクトを構築する方法であって、
前記コンピュータの一つが、
導入計画オブジェクトのテンプレートから導入計画オブジェクトを作成して、導入計画オブジェクトをその表示装置上に表示するために表示領域を割り振るステップと、
作業域コンテナ・オブジェクトに割り振られた前記表示装置上の表示領域から、前記導入計画オブジェクトに割り振られた前記表示領域に、選択された子オブジェクトのアイコンが移動された場合に、前記導入計画オブジェクトに割り振られた前記表示領域上に選択された子オブジェクトのアイコンを表示するステップであって、前記作業域コンテナ・オブジェクトは、導入計画オブジェクトに潜在的に導入可能な前記子オブジェクトを含む、前記表示するステップと、
前記導入計画オブジェクトに割り振られた前記表示領域上に選択された子オブジェクトに対するコミット要求に応答して、前記導入計画オブジェクトに割り振られた前記表示領域に表示された前記子オブジェクトを、導入計画オブジェクト用の子オブジェクトに変換するステップであって、前記変換するステップは、前記導入計画オブジェクト用の子オブジェクトが、前記選択された子オブジェクトの属性を継承することを含む、前記変換するステップと、及び
前記変換された子オブジェクトを含む導入計画オブジェクトを記憶装置に記憶するステップと、
を含み、
前記選択された子オブジェクトは、アプリケーション・オブジェクトとグループ・オブジェクトとを包含し、該アプリケーション・オブジェクトは前記ネットワークを介して導入されるべきアプリケーションを表し、該グループ・オブジェクトは前記アプリケーションが導入されるべきであるワークステーションのグループを表し、
前記アプリケーション・オブジェクト及び前記グループ・オブジェクトは、複数の応答ファイル・オブジェクトを有するカテゴリ・オブジェクトをそれぞれ含み、前記応答ファイル・オブジェクトは、アプリケーションの導入の過程で製品パネルにより要求される質問に対する回答を提供し、前記カテゴリ・オブジェクトは、アプリケーションのアクション・タイプ別に応答ファイル・オブジェクトをグループ化し、前記コンピュータの前記一つは、前記応答ファイル・オブジェクトの各々を、各ネットワークを介して複数のアプリケーションのそれぞれ１つを導入するために使用する、方法。
【請求項２】
前記変換するステップは、該アプリケーション・オブジェクトを計画中アプリケーション・オブジェクトに変換し、かつ該グループ・オブジェクトを計画中グループ・オブジェクトに変換するステップを含む、請求項１に記載の方法。
【請求項３】
前記子オブジェクトのアイコンの移動が、ドラッグ・アンド・ドロップにより行われる、請求項１に記載の方法。
【請求項４】
前記コンピュータの前記一つは、応答ファイル・オブジェクトの各々を、ネットワークにおける前記アプリケーションに対して異なるアクションを実行するために使用する、請求項１に記載の方法。
【請求項５】
前記変換するステップが、
前記アプリケーション・オブジェクトが前記導入計画オブジェクトにとって固有のものであるということを前記コンピュータの前記一つが判定するステップと、
前記アプリケーション・オブジェクトが前記導入計画オブジェクトにとって固有のものであると判定された場合に、
前記アプリケーション・オブジェクト用のアクション・タイプを判定するステップと、
前記アプリケーション・オブジェクトから前記計画中アプリケーション・オブジェクトに属性を継承するステップと、及び
応答ファイル・オブジェクトを前記アクション・タイプに対応する前記カテゴリ・オブジェクトに追加するステップと、
をさらに含む、請求項２に記載の方法。
【請求項６】
前記グループ・オブジェクトが複数のワークステーション・オブジェクトを含み、かつ前記計画中グループ・オブジェクトが複数の計画中ワークステーション・オブジェクトを含み、かつ
前記変換するステップが、
前記グループ・オブジェクトが前記導入計画オブジェクトにとって固有のものであるということを前記コンピュータの前記一つが判定するステップと、
前記グループ・オブジェクトが前記導入計画オブジェクトにとって固有のものであると判定された場合に、
前記グループ・オブジェクトから前記計画中グループ・オブジェクトに属性を継承するステップと、
前記複数のワークステーション・オブジェクトを前記複数の計画中ワークステーション・オブジェクトに変換するステップと、
前記計画中アプリケーション・オブジェクトから属性をコピーすることにより、複数の計画中ワークステーション・アプリケーション・オブジェクトを作成するステップであって、該複数の計画中ワークステーション・アプリケーション・オブジェクトの各々は、計画中ワークステーション・オブジェクトの各々の子オブジェクトである、前記作成するステップと
をさらに含む、請求項５に記載の方法。
【請求項７】
複数のコンピュータからなるネットワークでアプリケーションを導入するために導入計画オブジェクトを構築するためのシステムであって、前記コンピュータは、導入計画オブジェクトを記憶するためのメモリ、プロセッサ及び表示装置を含み、
導入計画オブジェクトを作成するために、導入計画オブジェクトのテンプレートを前記表示装置上に表示する手段と、
前記導入計画オブジェクトに含めるために作業域コンテナ・オブジェクトを前記表示装置上に表示する手段であって、前記作業域コンテナ・オブジェクトは、導入計画オブジェクトに潜在的に導入可能な前記子オブジェクトを含む、前記表示する手段と、
前記作業域コンテナ・オブジェクトに割り振られた前記表示装置上の表示域から、前記導入計画オブジェクトに割り振られた前記表示領域に、選択された子オブジェクトのアイコンが移動された場合に、前記導入計画オブジェクトに割り振られた前記表示領域上に選択された子オブジェクトのアイコンを表示する手段と、
前記導入計画オブジェクトに割り振られた前記表示領域上に選択された子オブジェクトに対するコミット要求に応答して、前記導入計画オブジェクトに割り振られた前記表示領域に表示された前記子オブジェクトを前記導入計画オブジェクト用の子オブジェクトに変換する手段であって、前記変換する手段は、前記導入計画オブジェクト用の子オブジェクトが、前記選択された子オブジェクトの属性を継承することを含む、前記変換する手段と、及び
前記変換された子オブジェクトを含む導入計画オブジェクトを前記記憶装置に記憶する記憶手段と、
を含み、
前記作業域コンテナ・オブジェクトの前記子オブジェクトが、ネットワークを介して導入されるべきアプリケーションを表すアプリケーション・オブジェクトと、及びアプリケーションが導入されるべきであるワークステーションのグループを表すグループ・オブジェクトとをさらに包含し、
前記アプリケーション・オブジェクト及び前記グループ・オブジェクトは、複数の応答ファイル・オブジェクトを有するカテゴリ・オブジェクトをそれぞれ含み、前記応答ファイル・オブジェクトは、アプリケーションの導入の過程で製品パネルにより要求される質問に対する回答を提供し、前記カテゴリ・オブジェクトは、アプリケーションのアクション・タイプ別に応答ファイル・オブジェクトをグループ化し、前記コンピュータの一つは、前記応答ファイル・オブジェクトの各々を、各ネットワークを介して複数のアプリケーションのそれぞれ１つを導入するために使用する、システム。
【請求項８】
前記変換する手段は、選択されたアプリケーション・オブジェクトを計画中アプリケーション・オブジェクトに変換し、かつ選択されたグループ・オブジェクトを計画中グループ・オブジェクトに変換する手段を含む、請求項７に記載のシステム。
【請求項９】
少なくとも１つの前記アプリケーション・オブジェクトが、複数の応答ファイル・オブジェクトを含み、前記システムは、応答ファイル・オブジェクトの各々を、ネットワークにおける前記少なくとも１つの前記アプリケーションに対して異なるアクションを実行するために使用する、請求項７に記載のシステム。
【請求項１０】
前記作業域コンテナ・オブジェクトが、カスタム・ファイル・オブジェクトを含むためのカスタム・ファイル・コンテナをさらに含み、前記システムは、該カスタム・ファイル・オブジェクトを、特定のワークステーション用に応答ファイル・オブジェクトをカストマイズするために使用する、請求項９に記載のシステム。
【請求項１１】
前記作業域コンテナ・オブジェクトが、コード・サーバ・オブジェクトを含むためのコード・サーバ・コンテナをさらに含み、該コード・サーバ・オブジェクトは、或る計画中グループ・オブジェクトによって表されたワークステーションのグループ上に前記アプリケーションを導入する前に、前記アプリケーションのコピーが常駐するネットワーク内のコード・サーバ・ワークステーションを表す、請求項７に記載のシステム。
【請求項１２】
前記作業域コンテナ・オブジェクトが、ネットワーク情報ツールをさらに含み、該ネットワーク情報ツールは、有効な導入計画オブジェクトに従いワークステーションのグループ上でのアプリケーションの前記導入の状況を判定する、請求項７に記載のシステム。
【請求項１３】
複数の導入計画オブジェクトを含むための計画コンテナを前記記憶装置に記憶する記憶手段をさらに含む、請求項７に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的には、コンピュータ・ネットワークでのソフトウェアの電子配布に関する。より具体的には、本発明はネットワーク上でソフトウェアを導入するための提案済み計画オブジェクトの定義と構築に関する。
【０００２】
【従来の技術】
ローカル・エリア・ネットワーク（ＬＡＮ）や広域ネットワーク（ＷＡＮ）などの計算機ネットワークを相互接続する複数のデータ処理システムを結合することは一般的なことである。それぞれのコンピュータ・システムは、複数のソフトウェア・プログラムを常駐させることになる。このようなネットワークの初期には、ネットワーク管理者が１組のディスケットを備えた各ワークステーションに１人ずつ向かい、導入、構成、または保守が必要なソフトウェア製品ごとに手作業でパラメータを入力していた。わずか数台のワークステーションであれば、複数の管理者とユーザがそれぞれのワークステーションに手作業でディスクを挿入し、導入または構成プロセス中の質問プロンプトに応答することができた。しかし、ネットワークのサイズが拡大するにつれ、当然のことながら、このような方法でソフトウェアを導入することがより難しくなってきた。また、ネットワークのサイズや複雑さ、ならびにコンピュータ・ソフトウェア製品間の相互依存度が増すにつれ、それぞれのワークステーションを構成することがますます複雑で時間を要し、エラーが発生しやすいプロセスになってきた。管理者は、もはやこの手作業による方法を行えなくなり、むしろ、ネットワークを介してワークステーションにアプリケーションを導入し構成するよう特別に設計された製品に転換している。
【０００３】
したがって、遠隔からコンピュータ・ソフトウェアを導入し、ワークステーションを構成することが、ますます、受け入れられるようになってきた。このプロセスについて一般に使用されている用語は、電子ソフトウェア配布（ＥＳＤ）である。ネットワーク内でのソフトウェアの電子配布は、ほぼ１０年間の間、当技術分野で知られてきた。より一般的なＥＳＤ製品としては、ＩＢＭのＮｅｔＶｉｅｗ分散管理プログラムおよびＬＡＮ構成導入分散ユーティリティや、Ｎｏｖｅｌｌ社のＮｅｔｗｏｒｋ  Ｎａｖｉｇａｔｏｒなどがある。これらの製品は、ネットワークによるソフトウェアの配布、導入、構成という面倒な作業を軽減するよう設計されている。
【０００４】
ＥＳＤ製品はすでに数年間存在しているが、ネットワーク管理者の負担が急速に増加しているネットワークが直面するすべての問題に完全に対処するわけではない。ネットワーク管理者が直面する問題のうち未対応の問題の１つは、ネットワーク内の１群のワークステーション上での複数のソフトウェア・プログラムの配布、導入、構成を計画し実行することである。ソフトウェア製品間の相互依存度が増し、ネットワークが複雑であるため、これは気の重い作業である。
【０００５】
これまで、ネットワーク管理者の負担を軽減するための努力が行われてきた。これまでの努力は、ネットワークによる画像の伝送方法や、導入および構成プロセスで必要になるファイルの物理的構築など、ネットワーク導入の「配管工事（ｐｌｕｍｂｉｎｇ）」に集中していた。これらの設計は、ネットワーク全体でのアプリケーションの伝送などの物理的作業の際に管理者にとって有用であったが、何が物理的作業であるかを計画する際には管理者に役立たなかった。
【０００６】
【発明が解決しようとする課題】
本発明は、ネットワーク導入構成計画プロセスを一連の個別オブジェクトに分解するもので、この個別オブジェクトは、問題を抽出し、ＬＡＮ上の１組のワークステーションに導入し構成する予定のアプリケーションをセットアップし表示させるために管理者が使用する容易でオブジェクト指向の図形手段を提供するのに役立つものである。管理者は、このオブジェクト指向の表現を使用して、物理的な導入構成プロセスに必要なファイルを作成することができる。本発明は、管理者に対して問題を高レベルの表現で表示し、物理的な実施の多くから管理者を保護し、管理者が計画のためのブロックの構築に集中できるようにするものである。管理者はこの設計を使用して、「運動場」すなわち非計画領域に計画オブジェクトを構築するための構成要素として機能するオブジェクトを作成することができる。
【０００７】
本発明は、電子ソフトウェア配布の重要な改良策の１つを表している。
【０００８】
したがって、本発明の一目的は、ネットワーク導入プロセスの実施の詳細から管理者を解放することにある。
【０００９】
本発明の他の目的は、１つの図形インタフェース内の複数のオブジェクトを複数の導入計画に再使用することにある。
【００１０】
本発明の他の目的は、ネットワーク導入プロセスに必要なファイルを作成することにある。
【００１１】
【課題を解決するための手段】
上記およびその他の目的は、ネットワークでアプリケーションを導入するために構築された導入計画オブジェクトによって達成される。まず、導入計画オブジェクトのテンプレートから導入計画オブジェクトが作成される。次に、導入計画オブジェクトの潜在的に導入可能な子オブジェクトを含む作業域コンテナ・オブジェクトから、導入計画オブジェクトに含めるためのオブジェクトが選択される。選択されたオブジェクトは導入計画オブジェクトの子オブジェクトに変換される。導入計画用のオブジェクトの選択は、便宜上、作業域コンテナ・オブジェクトに割り振られた表示域からグラフィカル・ユーザ・インタフェース内の導入計画オブジェクトに割り振られた表示域に選択したオブジェクトを表すアイコンをドラッグ・アンド・ドロップすることによって行われる。
【００１２】
好ましい実施例では、導入計画オブジェクトを移植するために選択されたオブジェクトは、ネットワークにより導入すべきアプリケーションと、その上にアプリケーションを導入すべき１群のワークステーションとをそれぞれ表す、１つのアプリケーション・オブジェクトと１つのグループ・オブジェクトとを含まなければならない。変換後、これらのオブジェクトは、計画中アプリケーション・オブジェクトと計画中グループ・オブジェクトにそれぞれ変換される。他の潜在的に導入可能な子オブジェクトとしては、複数の応答ファイル・オブジェクトを有するカテゴリ・オブジェクトを含み、それぞれの応答ファイル・オブジェクトはネットワークにより複数のアプリケーションのそれぞれを導入するためのものである。
【００１３】
【発明の実施の形態】
本発明は、数種類のオペレーティング・システム下で様々なコンピュータ上またはコンピュータの集合上で動作することができる。このコンピュータとしては、たとえば、パーソナル・コンピュータ、ミニ・コンピュータ、メインフレーム・コンピュータ、他のコンピュータの分散ネットワーク内のコンピュータなどが可能である。特定のコンピュータの選択は、ディスクやディスク記憶域の要件のみに制限されるが、ＩＢＭ  ＰＳ／２（ＴＭ）コンピュータ・シリーズのコンピュータは本発明で使用できるはずである。ＩＢＭのＰＳ／２コンピュータ・シリーズの詳細については、Ｔｅｃｈｎｉｃａｌ  Ｒｅｆｅｒｅｎｃｅ  Ｍａｎｕａｌ  Ｐｅｒｓｏｎａｌ  Ｓｙｓｔｅｍｓ／２  Ｍｏｄｅｌ  ５０，  ６０  Ｓｙｓｔｅｍｓ  ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎ（部品番号６８Ｘ２２２４、資料番号Ｓ６８Ｘ−２２２４）およびＴｅｃｈｎｉｃａｌ  Ｒｅｆｅｒｅｎｃｅ  ２  Ｍａｎｕａｌ  Ｐｅｒｓｏｎａｌ  Ｓｙｓｔｅｍｓ／２  （Ｍｏｄｅｌ  ８０）  ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎ（部品番号６８Ｘ  ２２５６、資料番号Ｓ６８Ｘ−２２５４）を参照されたい。ＩＢＭ  ＰＳ／２パーソナル・コンピュータが動作可能なオペレーティング・システムの１つは、ＩＢＭのＯＳ／２  ２．０（ＴＭ）である。ＩＢＭのＯＳ／２  ２．０オペレーティング・システムの詳細については、ＯＳ／２  ２．０  Ｔｅｃｈｎｉｃａｌ  Ｌｉｂｒａｒｙ，  Ｐｒｏｇｒａｍｍｉｎｇ  Ｇｕｉｄｅ  Ｖｏｌ．  １，  ２，  ３  Ｖｅｒｓｉｏｎ  ２．００（資料番号１０Ｇ６２６１、１０Ｇ６４９５、１０Ｇ６４９４）を参照されたい。
【００１４】
代替態様のコンピュータ・システムは、ＡＩＸ（ＴＭ）オペレーティング・システム上で動作するＩＢＭ  ＲＩＳＣシステム／６０００（ＴＭ）のコンピュータ系列に含まれるものと考えられる。ＲＩＳＣシステム／６０００の各種モデルについては、ＲＩＳＣ  Ｓｙｓｔｅｍ／６０００，  ７０７３  ａｎｄ  ７０１６  ＰＯＷＥＲｓｔａｔｉｏｎ  ａｎｄ  ＰＯＷＥＲｓｅｒｖｅｒ  Ｈａｒｄｗａｒｅ  Ｔｅｃｈｎｉｃａｌ  ｒｅｆｅｒｅｎｃｅ（資料番号ＳＡ２３−２６４４−００）などのＩＢＭの数多くの資料に記載されている。ＡＩＸオペレーティング・システムについては、Ｇｅｎｅｒａｌ  Ｃｏｎｃｅｐｔｓ  ａｎｄ  Ｐｒｏｃｅｄｕｒｅ  −−  ＡＩＸ  Ｖｅｒｓｉｏｎ  ３  ｆｏｒ  ＲＩＳＣ  Ｓｙｓｔｅｍ／６０００（資料番号ＳＣ２３−２２０２−００）ならびにＩＢＭのその他の資料に記載されている。
【００１５】
図１には、システム・ユニット１１と、キーボード１２と、マウス１３と、表示装置１４とを含むコンピュータ１０がブロック図形式で示されている。システム・ユニット１１は、１つまたは複数のシステム・バス２１を含み、そのバスに様々な構成要素が結合され、そのバスにより様々な構成要素間の通信が実施される。マイクロプロセッサ２２は、システム・バス２１に接続され、やはりシステム・バス２１に接続された読取り専用メモリ（ＲＯＭ）２３とランダム・アクセス・メモリ（ＲＡＭ）２４によってサポートされている。ＩＢＭ  ＰＳ／２シリーズのコンピュータのマイクロプロセッサは、３８６または４８６マイクロプロセッサを含むＩｎｔｅｌのマイクロプロセッサ・ファミリーの１つである。しかし、この特定のコンピュータでは、６８０００、６８０２０、６８０３０マイクロプロセッサなどのＭｏｔｏｒｏｌａのマイクロプロセッサ・ファミリーや、ＩＢＭ製またはＨｅｗｌｅｔｔ  Ｐａｃｋａｒｄ、Ｓｕｎ、ＭｏｔｏｒｏｌａなどのＰｏｗｅｒＰＣチップなどの様々な縮小命令セット・コンピュータ（ＲＩＳＣ）マイクロプロセッサを含み、かつこれに限定されないその他のマイクロプロセッサも使用可能である。
【００１６】
ＲＯＭ２３は、各種コードのうち、対話、ディスク・ドライブ、キーボードなどの基本ハードウェア操作を制御する基本入出力システム（ＢＩＯＳ）を含んでいる。ＲＡＭ２４は、オペレーティング・システムとアプリケーション・プログラムがロードされるメイン・メモリである。メモリ管理チップ２５は、システム・バス２１に接続され、ＲＡＭ２４とハード・ディスク・ドライブ２６およびフロッピー・ディスク・ドライブ２７とのデータのやりとりを含む、直接メモリ・アクセス操作を制御する。やはりシステム・バス２１に結合されているＣＤ  ＲＯＭ３２は、マルチメディア・プログラムやプレゼンテーションなどの大量のデータを格納するために使用する。
【００１７】
また、このシステム・バス２１には、キーボード制御装置２８、マウス制御装置２９、ビデオ制御装置３０、音声制御装置３１という様々な入出力制御装置も接続されている。予想できるように、キーボード制御装置２８はキーボード１２用のハードウェア・インタフェースを提供し、マウス制御装置２９はマウス１３用のハードウェア・インタフェースを提供し、ビデオ制御装置３０は表示装置１４用のハードウェア・インタフェースであり、音声制御装置３１はスピーカ１５用のハードウェア・インタフェースである。トークン・リング・アダプタなどの入出力制御装置４０は、同様に構成された他のデータ処理システムへのネットワーク４６による通信を可能にするものである。
【００１８】
本発明の好ましい実施態様の１つは、前述のように一般的に構成された１つまたは複数のコンピュータ・システムのランダム・アクセス・メモリ２４に常駐する命令セット５０である。コンピュータ・システムが要求するまで、この命令セットは、ハード・ディスク・ドライブ２６、またはＣＤ−ＲＯＭ３２で最終的に使用される光ディスクやフロッピー・ディスク・ドライブ２７で最終的に使用されるフロッピー・ディスクなどの取外し可能メモリなど、他のコンピュータ・メモリに格納することができる。当業者であれば、命令セットの物理的記憶によって、それが電気的、磁気的、または化学的に格納される媒体が物理的に変化し、その結果、コンピュータが読取り可能な情報がその媒体に収容されることに留意されたい。命令、記号、文字などの用語で本発明を説明する方が便利であるが、これらの用語ならびに同様の用語はいずれも適切な物理要素に関連するものであることに留意されたい。また、オペレータに関連する可能性のある比較、妥当性検査、その他の用語で本発明を説明する場合も多い。ここに記載し、本発明の一部を形成するいずれの操作もオペレータのアクションは望まれない。これらの操作は、電気信号を処理して他の電気信号を生成する機械による操作を意味する。
【００１９】
ワークステーションが統合されるネットワークとしては、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）があり、後者は既知のコンピュータ・アーキテクチャ下で動作する他のノードまたは複数システムのネットワークへのテレプロセシング接続を含む。いずれのノードでも、１つまたは複数の処理システムが存在し、それぞれが多かれ少なかれ前述のように構成された単一ユーザまたは複数ユーザ・システムである可能性がある。これらの処理システムは、サービスを要求する側か提供する側かに応じて、クライアントまたはサーバ・ワークステーションとして動作する。特定の実施態様では、本発明は、ＬＡＮサーバ４８、ＬＡＮ  ＣＩＤユーティリティ４９、および本発明が実施されているネットワーク導入アプリケーション５０’を含む、ＩＢＭ  ＯＳ／２ＬＡＮサーバ・アーキテクチャによって相互接続された複数のＩＢＭ互換ワークステーション上で動作する。これらのアプリケーションは、他のアプリケーションと一緒にパッケージ化されている場合もあれば、別々のアプリケーションとして販売される場合もある。ローカル・エリア・ネットワークに関する簡単な説明は、ラリー・Ｅ．ジョーダン（Ｌａｒｒｙ  Ｅ．  Ｊｏｒｄａｎ）およびブルース・チャーチル（Ｂｒｕｃｅ  Ｃｈｕｒｃｈｉｌｌ）著「Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ａｎｄ  Ｎｅｔｗｏｒｋｉｎｇ  Ｆｏｒ  Ｔｈｅ  ＩＢＭ  ＰＣ」（Ｒｏｂｅｒｔ  Ｊ．  Ｂｒａｄｙ発行（Ａ  Ｐｒｅｎｔｉｃｅ  Ｈａｌｌ  Ｃｏｍｐａｎｙ）１９８３年）に記載されている。管理者にとって最も単純な構成は、ＬＡＮ上に１つのコード・サーバを設け、そのワークステーション上でネットワーク導入プログラムを実行する方法であると思われる。この設計は、管理者が複数のコード・サーバをＬＡＮ上で定義することを妨げるものではない。
【００２０】
ＩＢＭによって定義されている構成、導入、分散（ＣＩＤ）の各種方法の１つは、応答ファイルの使用と、製品自体の導入プログラムとの組合せとに基づいている。ＣＩＤプロセスでは、ネットワーク管理者はネットワーク内の１台または複数台のマシンを、そこからネットワーク内の他のワークステーションが応答ファイルを含むコンピュータ・ソフトウェアを受け取るコード・サーバとして選択する。応答ファイルとは、導入または構成あるいはその両方のプロセス中にプログラムによって尋ねられる、対応する１組の質問に対する１組の応答を含むＡＳＣＩＩフラット・ファイルである。一般的なＣＩＤプロセスに関する詳細については、ＩＢＭの資料であるＬＡＮ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｉｎｓｔａｌｌａｔｉｏｎ  ａｎｄ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｕｔｉｌｉｔｙ  Ｇｕｉｄｅ（資料番号Ｓ１０Ｈ−９７４２−００）を参照されたい。リダイレクトされた導入構成を自動化するプログラム・モジュールは、ＬＡＮ構成導入分配ユーティリティ（ＬＣＵ）と呼ばれる。ＬＣＵコマンド・ファイルは、ネットワーク管理者がワークステーション上での導入を計画している製品を識別する。管理者は、ネットワーク上の各ワークステーションごとに別々のＬＣＵコマンド・ファイルを用意することができると同時に、その製品を導入または構成する順序も用意することができる。応答ファイルには、そのワークステーションにソフトウェア製品を導入するのに必要な情報が含まれている。管理者は、アプリケーションごとに応答ファイルを１つずつ用意することができるが、その「１つ」の応答ファイルは、アプリケーションの導入または構成プログラムによってサポートされている場合、追加の組込み応答ファイルを含むことができる。ワークステーション固有の情報が一切なければ、応答ファイルを複数のワークステーション間で共用することもできる。これらは同じ規則によって再導入または構成されるが、応答ファイルをアプリケーション間で共用することはできない。他に生成されるファイルとしては、コード・サーバの構成に使用する構成ファイルと、コード・ファイルへのアクセス権をクライアントに与えるために使用する権限リスト・ファイルがある。アプリケーション・イメージは、そのアプリケーションの導入元であるコード・サーバ上に導入される。導入の現行状態を追跡するＬＡＮ  ＣＩＤユーティリティの手順により、各ステップが正しい順序で確実に実行される。上記の特許出願には、ＬＣＵ導入エンジン用のファイルを提供するために導入計画オブジェクトを使用する方法が記載されている。当業者であれば、この環境が本発明を実施可能な数多くの環境の１つにすぎないことに留意されたい。
【００２１】
本発明の重要な態様の１つは、導入計画オブジェクトとその副構成要素が１つのオブジェクト指向システム内で実現されることである。オブジェクトやオブジェクト指向プログラミングは既知であるが、いくつかの面についてはここで言及する価値がある。それぞれのオブジェクトは、そのデータについて機能する所与のデータ属性とメソッドとを有する。データは、オブジェクトによって「カプセル化」されていると言われ、そのオブジェクトに属すメソッドによってのみ変更することができる。通常、メソッドは、所望のメソッドを識別し、必要な引数を供給するメッセージをオブジェクトに送ることによって呼び出される。新しいクラス・オブジェクトを作成するためにクラス・オブジェクトをサブクラス化することができる。「継承」とは、既存のオブジェクトからメソッドやデータ構造などのすべてのプロパティを継承する既存のオブジェクトから新しいオブジェクトを派生させる能力である。新しいオブジェクトは、既存のクラスの既存のメソッドに追加されるか、またはその既存のメソッドを指定変更する新しいメソッドなど、所与の固有の特徴を有する場合がある。新しいサブクラスでは、その既存の基本クラスからそれを区別するメソッドとデータを指定することだけが必要である。したがって、ソフトウェア開発者は、新しいコード全体を開発する必要はない。開発者は、そのソフトウェアの新しい固有の特徴を指定するだけでよい。オブジェクト指向の技術、概念、規則に関する背景情報については、グレーディー・ブーク（Ｇｒａｄｙ  Ｂｏｏｃｈ）著  Ｏｂｊｅｃｔ  Ｏｒｉｅｎｔｅｄ  Ｄｅｓｉｇｎ  Ｗｉｔｈ  Ａｐｐｌｉｃａｔｉｏｎｓ  （Ｔｈｅ  Ｂｅｎｊａｍｉｎ／Ｃｕｍｍｉｎｓ  Ｐｕｂｌｉｓｈｉｎｇ  Ｃｏｍｐａｎｙ、１９９０年）およびＢ．  マイヤー（Ｍｅｙｅｒ）著  Ｏｂｊｅｃｔ  Ｏｒｉｅｎｔｅｄ  Ｓｏｆｔｗａｒｅ  Ｃｏｎｓｔｒｕｃｔｉｏｎ  （Ｐｒｅｎｔｉｃｅ  Ｈａｌｌ、１９８８年）を参照されたい。本発明の場合、導入計画およびその構成要素のオブジェクト指向性により、複数の計画オブジェクトまたはグループ・オブジェクト用のそれらのオブジェクトのインスタンスを作成することによって基本アプリケーションおよびワークステーション・オブジェクトの再使用が可能になる。
【００２２】
図２および図３は、本発明のネットワーク導入製品５０内の各種オブジェクトを示している。階層の最上部にあるオブジェクトとしては、アプリケーション・コンテナ５２、グループ・コンテナ５４、計画コンテナ５６、コード・サーバ・コンテナ６２、カスタム・ファイル・コンテナ６４、ネットワーク情報ツール６６がある。これらのオブジェクトについては、同図に関連して簡単に説明し、図４〜９に関連して以下に詳細に説明する。
【００２３】
アプリケーション・コンテナ５２は、ネットワーク導入プログラムで事前定義されている１つまたは複数のアプリケーション・オブジェクトを保管する。それぞれのアプリケーション・オブジェクトは、ネットワーク導入製品を使用して潜在的に導入可能なアプリケーションを表している。通常、ネットワーク導入製品ではいくつかのアプリケーション・オブジェクトが事前定義されている。本発明では、新しいアプリケーションの導入のために管理者が定義した新しいアプリケーション・オブジェクトの追加も可能である。
【００２４】
グループ・コンテナ５４は、管理者によって定義される１つまたは複数のワークステーション・グループ・オブジェクト２００を保管するために使用する。ワークステーション・グループ・オブジェクト２００は、同様のソフトウェアとともに導入されるワークステーションを表すワークステーション・オブジェクト２２５を含む。ワークステーション・グループ・オブジェクトは、計画オブジェクト５８を構築するために管理者が使用する構成要素の１つである。ワークステーション・グループ内のアプリケーションの導入または構成は、ワークステーション・グループ・オブジェクトでのアプリケーション・オブジェクトの関連によって表される。
【００２５】
図３において、計画コンテナ５６は、複数の計画オブジェクト５８を含み、計画オブジェクト５８は、計画が関連する計画中アプリケーション・オブジェクト１００’及び計画中ワークステーション・グループ・オブジェクト２００’の両方を含む。
図７において、コード・サーバ・コンテナ６２は、電子ソフトウェア配布プロセスで使用するアプリケーション・イメージ４００を含む１つまたは複数のコード・サーバ・オブジェクト３５０を含む。
図８において、カストマイズ・ファイル・コンテナ６４は、１つまたは複数のカストマイズ・ファイル・オブジェクト５００を保管し、該カストマイズ・ファイル・オブジェクト５００は、特定のワークステーション用に生成された固有の応答ファイルを作成するために管理者が汎用応答ファイルに応用することができる。
図９において、ネットワーク情報ツール６６は、コミット済みの計画オブジェクト５８の状況を判定するために使用される。
【００２６】
図４は、アプリケーション（Ａｐｐ）・オブジェクト１００と計画中アプリケーション（ＡｐｐＩＰ）・オブジェクト１００’をより詳細に示している。アプリケーション・オブジェクトは、ネットワーク導入プログラムを使用してネットワークを介して導入および構成されるアプリケーションを表す。ただし、本発明では、非計画中（非ＩＰ）・オブジェクトと計画中（ＩＰ）・オブジェクトを別々のクラス・オブジェクト、たとえば、ＡｐｐオブジェクトとＡｐｐＩＰオブジェクトにすることによって、両者を区別することに留意されたい。本発明の他の実施例では、ＡｐｐＩＰオブジェクトは同じＡｐｐクラス・タイプにすることができるが、そのアクション、属性、挙動を、Ａｐｐオブジェクトの親オブジェクト、すなわち計画オブジェクトまたは運動場（非計画領域）オブジェクトに依存し異なるものにすることができる。たとえば、計画オブジェクトのメンバではないカテゴリ（Ｃａｔ）・オブジェクトでは、複数の応答ファイル・オブジェクトがそれに属すことができるはずである。また、計画オブジェクトのメンバであるＣａｔオブジェクトでは、たとえば、計画オブジェクトの一部であるＡｐｐオブジェクトに属する場合、複数の応答ファイル・オブジェクトがそのＣａｔオブジェクトに属すことができないはずである。
【００２７】
アプリケーション・オブジェクト１００は、計画オブジェクトを構築するためにワークステーション・グループ・オブジェクトに関連付けられる。アプリケーション・オブジェクト１００と計画中アプリケーション・オブジェクト１００’は、アプリケーション・オブジェクト・インスタンスを定義するための一連の属性を有する。短縮名属性１０２は、ネットワーク導入プログラム内でそのオブジェクトを明確に識別するために使用する。Ａｐｐタイプ属性１０４は、このアプリケーションをオペレーティング・システム、トランスポート、訂正サービス、保守システム、または汎用アプリケーションとして識別する。導入、構成、除去、再導入の各コマンド属性１０６〜１１２は、計画オブジェクト内の計画中ワークステーション・グループ・オブジェクト内の計画中ワークステーション・オブジェクト上で計画中アプリケーション・オブジェクトを処理するための手段を提供するものである。これらの属性は、そのアプリケーションを他のアプリケーションから明確に識別したり、導入または構成などの指定のアクションのために実行するコマンドを指定するのに役立つものである。アクション・タイプ属性１１４は、このアプリケーション用の処理のタイプ、すなわち、導入、構成、除去、再導入、または保守システムをそれぞれのコマンドを使用して示すものである。コード・サーバ属性１１６は、そのアプリケーション・インスタンス用のアプリケーション・イメージが常駐するコード・サーバ・オブジェクトへのリンク・バックである。
【００２８】
応答ファイルをサポートするアプリケーション・オブジェクト１００の場合、応答ファイル・カテゴリ・オブジェクト１２５によって、同種のアクション・タイプのアプリケーション応答ファイル１５０がグループ化される。１組の応答ファイルをアプリケーションの導入に適用し、別の１組をアプリケーションの構成に適用することも可能である。通常、応答ファイル・カテゴリ・オブジェクト１２５は、そのアプリケーションのアクション・タイプ属性１２７別に各種の応答ファイルをグループ化する。アクション・タイプ属性１２７という属性は、このカテゴリの応答ファイルについて、応答ファイルが作成されるアクションのタイプ、たとえば、導入、除去、構成、再導入である。アクション・タイプ属性１２７の選択肢は、上記のアプリケーション・オブジェクト１００のアクション・タイプ属性１１４と同じ選択肢リストに対応する。デフォルトの応答ファイル属性１２９は、応答ファイルが識別されない場合にアプリケーションが使用する応答ファイルを識別するためのオブジェクト・ポインタである。これは、応答ファイル１５０へのリンク・バックである。応答ファイル要求属性１３１は、処理中にそのアプリケーションによって応答ファイルが要求される場合を示している。通常、計画中カテゴリ・オブジェクトは、計画オブジェクトに含める少なくとも１つの応答ファイル・オブジェクトを含まなければならない。
【００２９】
計画中応答ファイル・カテゴリ・オブジェクト１２５’は、計画にコミットされている応答ファイル・カテゴリ・オブジェクトであり、したがって、変更することができない。これは、計画中アプリケーション・オブジェクト１００’に関連付けられている。カテゴリ・リンク属性１３３は、計画中カテゴリ・オブジェクト１２５の作成元になったカテゴリ・オブジェクト１２５に戻るポインタを格納するものである。
【００３０】
応答ファイルをサポートするアプリケーションの場合、アプリケーションの導入または構成の過程で一般に製品パネルにより要求されると思われる質問に対する回答を提供するために、応答ファイル・オブジェクト１５０を使用する。たとえば、導入プログラムは、通常、アプリケーションの導入先にするディレクトリを要求する可能性がある。このディレクトリは、応答ファイル・オブジェクトに指定することができ、したがって、管理者に要求する必要性を回避できるはずである。実ファイル名属性１５２は、アプリケーションの処理中に使用する応答ファイルに至る完全修飾経路である。「完全修飾経路」は、ディレクトリを完全に指定したファイル名として作成することもできる。
【００３１】
図５は、ワークステーション・グループと計画中ワークステーション・グループの各オブジェクトを示している。グループ・コンテナ５４は、管理者によって定義された１つまたは複数のワークステーション・グループ・オブジェクト２００を保管するために使用する。ワークステーション・グループ・オブジェクト２００は、同様のソフトウェアとともに導入されるワークステーション・オブジェクト２２５を含んでいる。ワークステーション・グループ・オブジェクト２００は、同様のアプリケーション・セットが導入される１つまたは複数のワークステーション・オブジェクト２２５のセットを定義するために管理者が使用する。また、ワークステーション・グループ・オブジェクトは、ワークステーションのグループが導入すべきアプリケーションに関連付けられている計画オブジェクトを構築する場合にも管理者が使用する。図１８および図１９に示す好ましいグラフィカル・ユーザ・インタフェースに関連して後述するように、管理者は、新しい計画オブジェクトを作成し、運動場領域（すなわち非計画領域）からワークステーション・グループ・オブジェクトとアプリケーション・オブジェクトをドラッグし、これらのオブジェクトを新しい計画オブジェクトにドロップすることにより、計画オブジェクトを構築することができる。
【００３２】
計画中ワークステーション・グループ・オブジェクト２００’は、計画中ワークステーション・オブジェクト２２５’の１群であり、該計画中ワークステーション・オブジェクト２２５’は、計画オブジェクトにワークステーション・グループ・オブジェクト２２５を追加することによって計画オブジェクトの一部として作成される。様々なオブジェクトを計画中オブジェクトに変換するための実際の変換プロセスについては、図１２〜１７に関連して後述する。
【００３３】
ワークステーション・オブジェクト２２５は、アプリケーションの遠隔導入、構成、除去、再導入が行われる、ネットワーク内の物理ワークステーションを表している。ワークステーション・オブジェクト２２５のインスタンスは、実際のワークステーションについて処理される予定のソフトウェア・アプリケーションのタイプに基づいて、ワークステーション・グループ２００内に作成される。１つのワークステーションを複数のワークステーション・オブジェクトに表す場合は、そのワークステーションのシャドウを第２のワークステーション・グループ・オブジェクトに作成する。また、ワークステーション・オブジェクト２２５は、ワークステーションとその構成を明確に識別するのに役立つ複数の属性を有する。ワークステーション名属性２２７は、外部の導入プログラムに対してそのワークステーション・オブジェクトを識別するための固有の名前である。トランスポートＩＤ属性２２９は、処理のログオン部分で使用するユーザＩＤである。このＩＤは、そのワークステーションでアプリケーション・イメージを導入する際に使用するトランスポートのタイプを識別するのに使用する。ＩＤは１つだけ示されるが、管理者は、ネットワーク上で使用可能な各種タイプのトランスポート用に別のユーザＩＤを指定することもできる。この値は、ワークステーションへのログオン時にアプリケーションの導入用として使用する。オペレーティング・システムＡｐｐ属性２３１は、アプリケーション・オブジェクトへのリンク・バックである。これは、そのワークステーションに現在導入されているオペレーティング・システムである。ＣＳＤレベル属性２３３は、ワークステーション上のオペレーティング・システムの訂正サービス・レベルである。オペレーティング・システムＡｐｐ属性とＣＳＤレベル属性はどちらも、アプリケーション・コンテナ内のアプリケーション・オブジェクトへのリンク・バックを行う。ＣＳＤレベル属性２３３が指定されている場合、これは、ａｐｐｔｙｐｅ属性の訂正サービスを備えたアプリケーションにリンクする。オペレーティング・システムＡｐｐ属性２３１は、ａｐｐｔｙｐｅ属性のオペレーティング・システムを備えたアプリケーションへのリンク・バックを行う。計画中ワークステーション・オブジェクト２２５’は、ある計画にドロップされた後のワークステーション・オブジェクトである。図中の属性名の隣にあるアステリスクは、その属性がネットワーク導入プログラムでそのオブジェクトを別のオブジェクトにリンクするためのポインタを共用することを示している。
【００３４】
図６は、計画オブジェクト５８とその構成要素を示し、本発明のネットワーク導入プログラムにとって中心的なものである。計画オブジェクト５８は、計画中ワークステーション・グループ・オブジェクト２００’に関連付ける計画中アプリケーション・オブジェクト１００’を定義する。１つのワークステーション・グループ・オブジェクト２００と１つまたは複数のアプリケーション・オブジェクト１００を１つの計画オブジェクト５８にドロップすると、オブジェクト間の関連付けを行うことができる。好ましい実施例では、１つの計画オブジェクト５８に存在可能な計画中グループ・オブジェクト２００’は１つだけであり、計画オブジェクトにドロップされたアプリケーション・オブジェクトは計画中ワークステーション・グループ・オブジェクト２００内のすべてのワークステーションに関連付けられる。計画中アプリケーション・オブジェクト１００’は、図２および図３に示すように計画中ワークステーション・オブジェクト２２５’の子オブジェクトである計画中ワークステーション・アプリケーション・オブジェクト３４０’に変換される。これらのオブジェクトは、その属性のほとんどを継承しているので、計画中アプリケーション（ＡｐｐＩＰ）オブジェクト１００’のシャドウとして示されている。代替実施例では、１つの計画オブジェクトにつき複数のワークステーション・グループ・オブジェクトが可能なはずであるが、すべての計画中ワークステーション・オブジェクトが固有のワークステーション名を持たなければならず、アプリケーション・オブジェクトをドロップする際により高い精度が要求されるので、計画プロセスが複雑になる恐れがある。
【００３５】
応答ファイルと導入スクリプトを生成するプロセスを開始するため、計画オブジェクトがコミットされる。計画オブジェクト５８は、有効である場合のみコミットすることができる。好ましい実施例の有効な計画オブジェクトとしては、少なくとも１つの計画中アプリケーション・オブジェクト１００’、少なくとも１つの計画中グループ・オブジェクト２００’、計画中グループ２００’内の少なくとも１つの計画中ワークステーション・オブジェクト２２５’などがある。導入計画オブジェクト用のコミット・プロセスと妥当性検査プロセスについては、本発明に組み込まれる上記の特許出願”Ｃｏｍｍｉｔｔｉｎｇ  ａｎ  Ｉｎｓｔａｌｌ  Ｐｌａｎ  Ｏｂｊｅｃｔ  ｆｏｒ  ｔｈｅ  Ｎｅｔｗｏｒｋ  Ｉｎｓｔａｌｌａｔｉｏｎ  ｏｆ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｓ”により詳細に記載されている。
【００３６】
（導入）計画オブジェクト５８は、ネットワーク導入プロセスを容易にする複数の属性を有する。コミット済み属性３０３は、この計画が有効ですでにコミットされていることを示すためのフラグである。ネットワーク導入ユーティリティ属性３０５は、ネットワーク導入プログラムが使用するユーティリティを検出可能なコード・サーバ・オブジェクトとディレクトリを示す。応答ファイル属性３０７は、計画中のクライアント・ワークステーションがそれらを突き止めることができるように、生成された応答ファイルが格納されるコード・サーバ・オブジェクトとディレクトリ経路とを示す。アプリケーション・ログ属性３０９は、アプリケーションの導入および構成によって生成されたログを格納すべきコード・サーバ・オブジェクトとディレクトリ経路とを示す。汎用属性３１１は、アプリケーションの導入および構成プログラムが使用する汎用ファイルが配置されているコード・サーバ・オブジェクトと、任意でディレクトリ経路とを示す。導入スクリプト属性３１３は、コマンドと、ワークステーションにアプリケーションを導入および構成する順序とを示す導入スクリプト・ファイルに対してクライアント・ワークステーションがアクセス可能なコード・サーバ・オブジェクトと、任意でディレクトリ経路とを示す。トランスポートＩＤ  ３１５は、計画オブジェクトに指定されたコード・サーバにアクセスするために計画オブジェクト内のクライアント・ワークステーションが使用するゲスト・ユーザＩＤである。この値は、任意で管理者によってサポートされるが、すでに指定されている場合は、ネットワーク上で使用可能な各種タイプのトランスポート用の別の値にすることができる。これは、ワークステーションおよび計画中ワークステーションの各オブジェクトにも当てはまる。
【００３７】
図７において、コード・サーバ・コンテナ・オブジェクト６２は、１つまたは複数のコード・サーバ・オブジェクト３５０を含むことができる。図７は、コード・サーバ・オブジェクト３５０とアプリケーション・イメージ・オブジェクト４００とを含むコード・サーバ・コンテナ・オブジェクト６２を示している。コード・サーバ・オブジェクトは、アプリケーション・イメージを格納していて、アプリケーション・ソフトウェアの導入、構成、再導入、または除去中にクライアント・ワークステーションがアクセスする物理ファイル・サーバ・マシンを表している。また、コード・サーバ・オブジェクトは、遠隔導入を実行するのに必要な様々なコマンドと応答ファイルへのディレクトリも含んでいる。コード・サーバ・オブジェクト３５０は、導入可能なコード・イメージが配置されているところを検出し、それらのコード・イメージ用のネットワーク・ファイル・システム接続コマンドを構築するのに必要なデータとメソッドをカプセル化する。また、このオブジェクトは、生成された応答ファイルと出力ログ・ファイルを格納するためにも使用することができる。これは、アプリケーション・イメージ４００用のコンテナである。
【００３８】
コード・サーバ属性は次の通りである。すなわち、別名属性３５１は、アプリケーション・イメージが常駐している、クライアント・ワークステーションの視点から見たアクセス・ポイントである。別名ドライブ属性３５３は、コード・サーバ側のアプリケーション・イメージへの物理経路である。サーバ名属性３５５は、コード・サーバ用の固有名であり、処理中にワークステーションをコード・サーバに接続するために使用する。Ｒｅｄｉｒ属性３５７は、サーバがファイルを共用するリダイレクト・タイプである。トランスポート・タイプ属性３５９は、コード・サーバにアクセスするためにクライアント・ワークステーションが使用することになるアプリケーションである。これは、Ａｐｐタイプのトランスポートを備えたアプリケーション・オブジェクトへのリンク・バックである。
【００３９】
アプリケーション・イメージ・オブジェクト４００は、コード・サーバから導入または構成に使用可能なアプリケーション製品のイメージを表している。アプリケーション・ディレクトリ属性４０１は、イメージを検出可能な開始ディレクトリ経路である。アプリケーション名属性４０３は、アプリケーション・コンテナ・オブジェクトに常駐するアプリケーション・オブジェクトへのリンク・バックである。定義中であって、ネットワーク導入プログラムのアプリケーション・コンテナに常駐する製品用のアプリケーション・オブジェクトがなければ、アプリケーション・イメージ・オブジェクト４００を定義することができない。アプリケーション別名属性４０５は、それによってそのイメージがアクセス可能な別名である。
【００４０】
図８に示すように、カストマイズ・ファイル・コンテナ６４は、管理者がすでに定義した１つまたは複数のカストマイズ・ファイル・オブジェクト５００を保管するために作成することができる。好ましい一実施例のカストマイズ・ファイル・オブジェクト５００は、Ｙ軸上のワークステーション名とＸ軸上のキーワードからなるマトリックスを含んでいる。ワークステーション行とキーワード列の交点は、アプリケーションに関連付けられているワークステーションの応答ファイル内の対応するキーワード値の代わりに使用すべき値である。当業者であれば、カストマイズ・データをカプセル化する他の表手段も可能であることに留意されたい。計画オブジェクトがコミットされた時点で、各ワークステーションごとに生成した固有の応答ファイルを作成するために、カストマイズ・ファイルによってモデル応答ファイルが解明される。カストマイズ・ファイルは、計画中アプリケーション・オブジェクトに適用することもできる。実ファイル名属性５０１は、カストマイズ・ファイルへの完全修飾経路およびファイル名である。
【００４１】
図９に示すネットワーク情報ツール（ＮＩＴ）オブジェクト６６は、コミット済み計画オブジェクトの状況を判定するために使用する。この状況は、個々のワークステーション・オブジェクトまたは計画オブジェクトにより判定することができる。管理者は、ＮＩＴに示すこのようなオブジェクトのリストから計画またはワークステーションを選択することによって、コミット済み計画の成否に関するフィードバックを得るために、ＮＩＴオブジェクトを使用するものと思われる。サンプル・インタフェースの１つを図９に示す。レポート・ファイル名属性５５１は、状況ファイルの完全修飾ファイル名である。グループ・タイトル属性５５３は、そのレポート・ファイル名が関連する計画の名前である。ログ・ファイル名属性５５５は、計画処理の結果として生成されるログ・ファイル用の完全修飾名である。
【００４２】
ＡＤＤ  ＲＳＰＦＩＬＥ  ＯＢＪＥＣＴ  ＴＯ  ＣＡＴＩＰルーチンを図１０に示す。このルーチンは、計画中アプリケーション（ＡｐｐＩＰ）オブジェクトまたは計画中ワークステーション・アプリケーション（ＷｋｓＡｐｐＩＰ）オブジェクトに含まれる可能性のある計画中カテゴリ（ＣａｔＩＰ）オブジェクトに対して管理者が応答ファイル・オブジェクト（ＲｓｐＦｉｌｅ）を追加しようと試みるときに発生する処理の流れを示している。
【００４３】
このルーチンは、入口ルーチン・ブロック６００から始まり、ＣａｔＩＰへのリンク属性１３３を検査する判断ブロック６０５に続く。このリンク属性は、計画オブジェクトに追加すべき元の応答ファイル・オブジェクトの導出元であるカテゴリ（Ｃａｔ）オブジェクトを指し示す。ＲｓｐＦｉｌｅオブジェクトがＣａｔオブジェクトからのものではない場合、処理はステップ６１０に続き、そこでＲｓｐＦｉｌｅオブジェクトはＣａｔＩＰオブジェクトの作成元であるＣａｔオブジェクトからしか追加できないことを示すエラーをネットワーク導入プログラムがポストする。これは、ユーザが間違ったＣａｔオブジェクトからターゲットＣａｔＩＰオブジェクトにＲｓｐＦｉｌｅオブジェクトを偶然コピーするのを防止するものである。このメッセージのポスト後、処理は復帰ブロック６７０で終了する。ＣａｔオブジェクトへのＣａｔＩＰリンク属性が有効であった場合、処理は判断ブロック６１５に続き、そこでＣａｔＩＰオブジェクトの親オブジェクトが照会される。親オブジェクトがＡｐｐＩＰオブジェクトではない場合、すなわち、それがＷｋｓＡｐｐＩＰオブジェクトである場合、処理はステップ６２０に続き、そこでＣａｔＩＰオブジェクト用の古いＲｓｐＦｉｌｅオブジェクトが新しいＲｓｐＦｉｌｅオブジェクトによって置き換えられる。その後、処理は復帰ブロック６７０で終了する。
【００４４】
ＣａｔＩＰオブジェクトがＡｐｐＩＰオブジェクトに属す場合、処理はステップ６２５に続き、そこでＩカウンタが１に設定される。次に、判断ブロック６３０は、Ｉカウンタが計画中グループ（ＧｒｏｕｐＩＰ）オブジェクト内の計画中ワークステーション（ＷｋｓＩＰ）オブジェクトの数を超えているかどうかを確認するために検査を行う。この数を超えている場合は、処理がステップ６２０に続く。
【００４５】
カウンタＩがＷｋｓＩＰオブジェクトの数を下回っている場合は、処理はステップ６３５に続き、そこでカウンタＪが設定される。次に、判断ブロック６４０は、ＪカウンタがＩカウンタによって索引付けされたＷｋｓＩＰオブジェクト内のＷｋｓＡｐｐＩＰオブジェクトの数を超えているかどうかを確認するために検査を行う。この数を超えている場合は、処理がステップ６４５に続き、そこでカウンタＩが１だけ増分される。
【００４６】
ＪカウンタがＩカウンタによって索引付けされたＷｋｓＩＰオブジェクト内のＷｋｓＡｐｐＩＰオブジェクトの数未満であるかまたはそれに等しい場合、処理は判断ブロック６５０に続き、そこで、短縮名およびアクション・タイプの各属性値がＡｐｐＩＰオブジェクト内の同じ値と一致するかどうかを確認するために、Ｉカウンタによって参照されるＷｋｓＩＰ内でＪカウンタによって参照されるＷｋｓＡｐｐＩＰオブジェクトを検査する。これらの値が一致しない場合、処理はステップ６５５に続き、Ｊカウンタが１だけ増分される。属性が一致する場合は、ステップ６６０でＷｋｓＡｐｐＩＰオブジェクトに属すＣａｔＩＰオブジェクトを指すポインタが検索され、次にステップ６６５では、ステップ６６０から指し示されるＣａｔＩＰオブジェクトに属すＲｓｐＦｉｌｅオブジェクトが新しいＲｓｐＦｉｌｅオブジェクトによって置き換えられる。新しいＲｓｐＦｉｌｅオブジェクトの置換後、処理はステップ６４５に続き、次のＷｋｓＩＰオブジェクトが検査される。
【００４７】
ＤＥＬＥＴＥ  ＲＳＰ  ＦＩＬＥルーチンを図１１に示す。このルーチンは、管理者がネットワーク導入プログラムからＲｓｐＦｉｌｅを削除しようと試みるときに発生する処理の流れを示している。このルーチンは、入口ルーチン・ブロック７００から始まり、判断ブロック７０５に続き、そこでＲｓｐＦｉｌｅオブジェクトの親オブジェクトがＣａｔオブジェクトであるかどうかを確認するためにその親オブジェクトを検査する。親オブジェクトがＣａｔオブジェクトではない場合、それはＣａｔＩＰオブジェクトでなければならないので、処理は判断ブロック７１０に続き、そこで応答ファイル要求属性フラグが設定されているかどうかを判定するためにＣａｔＩＰオブジェクトが照会される。このフラグが設定されていない場合、ステップ７４５でそのＲｓｐＦｉｌｅが削除され、ルーチンは復帰ブロック７５０で終了する。しかし、このフラグが設定されている場合は、ステップ７４０で、そのＲｓｐＦｉｌｅオブジェクトは要求されているので削除できないことを示すエラー・メッセージをネットワーク導入プログラムがポストする。その後、ルーチンは復帰ブロック７５０で終了する。判断ブロック７０５で親オブジェクトがＣａｔオブジェクトである場合、処理は判断ブロック７１５に続き、そこでＣａｔオブジェクトのデフォルト応答ファイル属性３２０がＲｓｐＦｉｌｅオブジェクトの実ファイル名と一致するかどうかを確認するためにその属性が検査される。ファイル名が一致しない場合は、ステップ７４５でＲｓｐＦｉｌｅオブジェクトが削除され、ルーチンは復帰ブロック７５０で終了する。
【００４８】
２つのファイル名が一致する場合、処理は判断ブロック７２０に続き、そこで応答ファイル要求属性フラグが設定されているかどうかを判定するためにＣａｔオブジェクトが照会される。フラグが設定されている場合は、ステップ７４０で、そのＲｓｐＦｉｌｅオブジェクトは要求されているので削除できないことを示すエラー・メッセージをネットワーク導入プログラムがポストする。フラグが設定されていない場合、ネットワーク導入プログラムは判断ブロック７３０で警告メッセージをポストする。この警告メッセージは、デフォルトのＲｓｐＦｉｌｅオブジェクトを削除するべきかどうかを管理者に尋ねる。管理者がデフォルトのＲｓｐＦｉｌｅの削除を希望しない場合、処理は復帰ブロック７５０で終了する。しかし、ユーザがデフォルトのＲｓｐＦｉｌｅオブジェクトの削除を希望する場合は、処理はステップ７３５に続き、そこで現在のカテゴリ・オブジェクト用のデフォルトｒｓｐｆｉｌｅ属性が検査される。次に、処理はステップ７４５に入り、そこでＲｓｐＦｉｌｅオブジェクトが削除される。
【００４９】
管理者がＡｐｐオブジェクトを計画オブジェクトに追加する場合、計画オブジェクトは図１２に示すようにＡｐｐオブジェクトに関するＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドを呼び出す。Ａｐｐオブジェクトに関するＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドは、メソッド入口ブロック８００から始まり、判断ブロック８０５に続き、そこで同じ短縮名とアクション・タイプを備えたＡｐｐＩＰオブジェクトがすでに計画オブジェクトに存在するかどうかを確認するためにＡｐｐオブジェクトが検査を行う。あるいは、この検査が計画レベルですでに行われている可能性もある。重複するＡｐｐＩＰオブジェクトが存在する場合、ネットワーク導入プログラムは、同じ属性を備えた別のＡｐｐＩＰオブジェクトが計画オブジェクトに追加されるのを防止したいので、エラー・メッセージをポストし、エラーを示して復帰ブロック８１０で終了する。
【００５０】
作成すべきＡｐｐＩＰオブジェクトがその計画オブジェクトにとって固有のもになる場合、ステップ８１５でネットワーク導入プログラムがアクション・タイプを要求するか、またはＡｐｐノートブックにすでに管理者が指定したアクション・タイプを使用する。好ましいグラフィカル・ユーザ・インタフェースでは、管理者はＡｐｐオブジェクト・ノートブック内のボックスをチェックして、そのＡｐｐオブジェクトが計画オブジェクトに追加されるときにＡｐｐオブジェクトがアクション・タイプを要求するようにすることができる。ステップ８２０では、Ａｐｐオブジェクトが新しいＡｐｐＩＰオブジェクトを作成し、ＡｐｐオブジェクトからＡｐｐＩＰオブジェクトに属性をコピーする。
【００５１】
処理は判断ブロック８２５に続き、そこでアプリケーション・オブジェクトが所望のアクション・タイプを備えたＣａｔオブジェクトを有するかどうかを確認するためにそのアプリケーション・オブジェクトが検査を行う。そのようなＣａｔオブジェクトを有していない場合、処理は判断ブロック８５０に続く。同じアクション・タイプを備えたＣａｔオブジェクトが存在する場合、処理はステップ８３０に続き、そこで同じアクション・タイプを備えたＣａｔオブジェクトにＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドが送られる。このメソッドから復帰すると、判断ブロック８３５では、有効なＣａｔＩＰオブジェクトが返されたかどうかを確認するために検査を行う。そのようなオブジェクトが返されていない場合、エラーを示して処理は復帰ブロック８４０で終了する。ＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドのいずれかでエラーが発生した場合、エラー以前に作成されていた可能性のあるオブジェクトを削除するためにそのオブジェクトが何らかの終結処置にとりかかるが、エラーのためにもはや有効ではなくなることが好ましい。
【００５２】
有効なＣａｔＩＰオブジェクトが返された場合、そのオブジェクトはステップ８４５でＡｐｐＩＰオブジェクトに追加され、処理は判断ブロック８５０に続き、そこで計画オブジェクトにＧｒｏｕｐＩＰオブジェクトが存在するかどうかを判定するためにアプリケーション・オブジェクトが検査を行う。あるいは、この検査が計画オブジェクトによってすでに行われている可能性もある。計画オブジェクトにＧｒｏｕｐＩＰオブジェクトがまったくない場合、処理は復帰ブロック８７０で終了し、そこでＡｐｐＩＰオブジェクトが返される。
【００５３】
計画オブジェクトにＧｒｏｕｐＩＰオブジェクトが存在する場合、ステップ８５５で、メソッド・パラメータの１つとしてＡｐｐＩＰオブジェクトを備えたＧｒｏｕｐＩＰオブジェクトにＣＲＥＡＴＥ  ＷＫＳＡＰＰＩＰ  ＯＢＪＥＣＴメソッドが送られる。このメソッドが判断ブロック８６０でエラーを示して復帰する場合、処理はエラー復帰ブロック８６５で終了する。このメソッドがエラーを示さずに復帰する場合、処理は復帰ブロック８７０で終了し、そこでＡｐｐＩＰオブジェクトが返される。
【００５４】
図１３は、メソッド入口ブロック９００でＣａｔおよびＣａｔＩＰオブジェクトに関するＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドから始まる。ＣａｔおよびＣａｔＩＰのＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドのプロセスは単一の流れ図で示すことができる。というのは、両方のプロセスは作成したＣａｔＩＰオブジェクトに属性がコピーされる位置だけが異なるからである。処理は、メソッド入口ブロックからステップ９０５に続き、そこで新しいＣａｔＩＰオブジェクトが作成され、Ｃａｔオブジェクトまたは古いＣａｔＩＰオブジェクトから新しいＣａｔＩＰオブジェクトに属性がコピーされる。次に、判断ブロック９１０では、Ｃａｔオブジェクトまたは古いＣａｔＩＰオブジェクトがデフォルトのＲｓｐＦｉｌｅオブジェクトを有するかどうかを確認するために検査を行う。デフォルトのＲｓｐＦｉｌｅを有していない場合、処理は復帰ブロック９３５で終了し、そこで新しいＣａｔＩＰオブジェクトが返される。Ｃａｔまたは古いＣａｔＩＰオブジェクトがデフォルトのＲｓｐＦｉｌｅオブジェクトを有している場合、処理はステップ９１５に続き、そこでデフォルトのＲｓｐＦｉｌｅオブジェクトにＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドが送られる。メソッドからの復帰は判断ブロック９２０で検査される。有効なＲｓｐＦｉｌｅオブジェクトが返されていない場合、処理はエラーを示して復帰ブロック９２５で終了する。有効なＲｓｐＦｉｌｅオブジェクトが返されている場合、処理はステップ９３０に続き、そこで返されたＲｓｐＦｉｌｅオブジェクトが新しいＣａｔＩＰオブジェクトに追加される。最後に、処理は復帰ブロック９３５で終了し、そこで新しいＣａｔＩＰオブジェクトが返される。
【００５５】
図１４は、メソッド入口ブロック９５０のＲｓｐＦｉｌｅオブジェクトに関するＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドから始まり、ステップ９５５に続き、そこで新しいＲｓｐＦｉｌｅオブジェクトが作成され、古いＲｓｐＦｉｌｅオブジェクトからの属性が新しいＲｓｐＦｉｌｅオブジェクトにコピーされる。ＲｓｐＦｉｌｅオブジェクトは、計画オブジェクトの子孫であるかどうかに関わらず、同じように扱われる。処理は復帰ブロック９６０で終了し、そこで新しいＲｓｐＦｉｌｅオブジェクトが返される。
【００５６】
管理者が計画オブジェクトにワークステーション・グループ・オブジェクトを追加する場合、その計画オブジェクトは、図１５に示すようにグループ・オブジェクトに関するＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドを呼び出す。グループ・オブジェクトのＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドは、メソッド入口ブロック１０００から始まり、判断ブロック１００５に続き、そこで計画オブジェクトにＧｒｏｕｐＩＰオブジェクトがすでに存在するかどうかを確認するためにグループ・オブジェクトが検査を行う。あるいは、この検査が計画レベルですでに行われている可能性もある。ＧｒｏｕｐＩＰオブジェクトがすでに計画に存在する場合、ネットワーク導入プログラムは、エラー・メッセージをポストし、エラーを示して復帰ブロック１０１０で復帰することにより、別のＧｒｏｕｐＩＰオブジェクトが計画オブジェクトに追加されるのを防止する。前述のように、本発明は、計画オブジェクトの子孫であるすべてのＷｋｓＩＰオブジェクトが固有のものである限り、計画オブジェクトで複数のＧｒｏｕｐＩＰオブジェクトを使用できるように拡張することができる。
【００５７】
計画オブジェクトがＧｒｏｕｐＩＰオブジェクトを有していない場合、処理はステップ１０１５に続き、そこでグループ・オブジェクトが新しいＧｒｏｕｐＩＰオブジェクトを作成し、グループ・オブジェクトからＧｒｏｕｐＩＰに属性をコピーする。処理はステップ１０２０に続き、そこでカウンタＩが１に設定される。次に判断ブロック１０２５が続き、そこでカウンタＩがグループ・オブジェクト内のＷｋｓオブジェクトの数未満であるかまたはそれに等しいかどうかを確認するためにカウンタＩを検査する。この検査の結果が真である場合は、グループ・オブジェクト内のすべてのＷｋｓオブジェクトが検査済みであるわけではないことを意味し、ステップ１０３０で、カウンタＩによって索引付けされたＷｋｓオブジェクトにＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドが送られる。このメソッドから復帰すると、判断ブロック１０３５では、有効なＷｋｓＩＰオブジェクトが返されたかどうかを確認するために検査を行う。有効なオブジェクトが返されていない場合、処理はエラーを示して復帰ブロック１０４０で終了する。有効なＷｋｓＩＰオブジェクトが返されている場合、ステップ１０４５でそのオブジェクトがＧｒｏｕｐＩＰオブジェクトに追加され、ステップ１０５０でカウンタＩが１だけ増分されてから、判断ブロック１０２５に戻る。
【００５８】
グループ・オブジェクト内のすべてのＷｋｓオブジェクトがＷｋｓＩＰオブジェクトに変換され、ＧｒｏｕｐＩＰオブジェクトに追加されている場合、処理はステップ１０５５に続き、そこでカウンタＪが１に設定される。次に判断ブロック１０６０が続き、そこでカウンタＪが計画内のＡｐｐＩＰオブジェクトの数未満であるかまたはそれに等しいかどうかを確認するためにカウンタＪを検査する。あるいは、この検査が計画オブジェクトによってすでに行われている可能性もある。この検査の結果が真である場合は、計画オブジェクト内のすべてのＡｐｐＩＰオブジェクトがグループ・オブジェクト内のＷｋｓＩＰオブジェクト用のＷｋｓＡｐｐＩＰオブジェクトに変換済みであるわけではないことを意味し、ステップ１０６５で、カウンタＩによって索引付けされたＡｐｐＩＰオブジェクトの追加パラメータを備えたＧｒｏｕｐＩＰオブジェクトにＣＲＥＡＴＥ  ＷＫＳＡＰＰＩＰ  ＯＢＪＥＣＴメソッドを送る。このメソッドは、計画オブジェクトに追加されたＷｋｓＩＰを計画オブジェクトにすでに存在するＡｐｐＩＰオブジェクトに関連付けるために送られる。このメソッドが判断ブロック１０７０でエラーを示して復帰する場合、処理はエラー復帰ブロック１０７５で終了する。このメソッドがエラーを示さずに復帰する場合、処理はステップ１０８０に続き、そこでカウンタＪが１だけ増分され、流れは判断ブロック１０６０に続く。
【００５９】
計画オブジェクト内のすべてのＡｐｐＩＰオブジェクトがＧｒｏｕｐＩＰオブジェクト内のすべてのＷｋｓＩＰオブジェクト用のＷｋｓＡｐｐＩＰオブジェクトに変換されると、処理はメソッド復帰ブロック１０８５で終了し、そこでＧｒｏｕｐＩＰオブジェクトが返される。
【００６０】
図１６は、メソッド入口ブロック１１００のＧｒｏｕｐＩＰオブジェクトに関するＣＲＥＡＴＥ  ＷＫＳＡＰＰＩＰ  ＯＢＪＥＣＴメソッドから始まる。このメソッドは、ＷｋｓＡｐｐＩＰオブジェクトをどのように作成するべきかを把握するために、ＡｐｐＩＰオブジェクトを指すポインタという追加パラメータを有する。プロセスはステップ１１０５に続き、そこで新しいＷｋｓＡｐｐＩＰオブジェクトが作成され、ＡｐｐＩＰオブジェクトからの属性がＷｋｓＡｐｐＩＰオブジェクトにコピーされる。ＡｐｐＩＰオブジェクトは、すべての属性が管理者に把握されるわけではなく、ＷｋｓＡｐｐＩＰオブジェクトがＡｐｐＩＰとは異なる機能性を備えている点がＷｋｓＡｐｐＩＰオブジェクトと異なっている。すなわち、管理者は、ワークステーション・レベルで属性を変更することはできないが、アプリケーション・レベルでグローバルにその変更を行わなければならない。代替実施例では、そのように精密な細分性が要求される場合に管理者がこれらの属性を変更できるはずである。処理は判断ブロック１１１０に続き、そこでＡｐｐＩＰオブジェクトがＣａｔＩＰオブジェクトを有するかどうかを確認するためにＡｐｐＩＰオブジェクトが検査を行う。そのようなオブジェクトを有していない場合、処理はステップ１１３５に続く。ＣａｔＩＰオブジェクトが存在する場合、処理はステップ１１１５に続き、そこでそのＣａｔＩＰオブジェクトにＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドが送られる。このメソッドから復帰すると、判断ブロック１１２０では、有効なＣａｔＩＰオブジェクトが返されたかどうかを確認するために検査を行う。そのオブジェクトが返されていない場合、処理はエラーを示して復帰ブロック１１２５で終了する。有効なＣａｔＩＰオブジェクトが返された場合、ステップ１１３０でそのオブジェクトがＷｋｓＡｐｐＩＰに追加され、処理はステップ１１３５に続き、そこでカウンタＩが１に設定される。次に、判断ブロック１１４０では、カウンタＩがＧｒｏｕｐＩＰオブジェクト内のＷｋｓＩＰオブジェクトの数未満であるかまたはそれに等しいかどうかを確認するためにカウンタＩを検査する。この検査の結果が真である場合は、ＧｒｏｕｐＩＰオブジェクト内のすべてのＷｋｓＩＰオブジェクトが検査済みであるわけではないことを意味し、ＷｋｓＡｐｐＩＰと、ＣａｔＩＰオブジェクトやＲｓｐＦｉｌｅオブジェクトなどのその子オブジェクトが存在すれば、それらをステップ１１４５でカウンタＩによって索引付けされたＷｋｓＩＰオブジェクトにコピーし、ＷｋｓＡｐｐＩＰのオブジェクト階層が固有のインスタンスになるようにする。その後、ステップ１１５０はカウンタＩを１だけ増分し、処理は判断ブロック１１４０に続く。ＧｒｏｕｐＩＰオブジェクト内のすべてのＷｋｓＩＰオブジェクトが検査されると、処理はエラーを示さずに復帰ブロック１１５５で終了する。
【００６１】
図１７は、メソッド入口ブロック１１７０のＷｋｓオブジェクトに関するＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドから始まり、ステップ１１７５に続き、そこで新しいＷｋｓＩＰオブジェクトが作成され、Ｗｋｓオブジェクトからの属性が新しいＷｋｓＩＰオブジェクトにコピーされる。処理は復帰ブロック１１８０で終了し、そこで新しいＷｋｓＩＰオブジェクトが返される。
【００６２】
グラフィカル・ユーザ・インタフェースでは、ツリー・ビュー・ウィンドウ内のアイコンによるなど、同じ視覚的方法で非計画オブジェクトと計画オブジェクトが管理者に示される。好ましい実施例では、様々なオブジェクト・クラスが計画オブジェクトと非計画オブジェクトに存在する。図１８および図１９は、ネットワーク導入プログラムを提示するために可能なグラフィカル・インタフェースを示している。図１８には計画オブジェクトのフォルダを示すオブジェクトのツリー・ビューが示されている。このフォルダは、「Ｐｌａｎ  １」という計画オブジェクトの内容をほとんど示すようにオープンされている。「Ｐｌａｎ  １」オブジェクトは、「ＯＳ／２  Ｖｅｒｓｉｏｎ  ２．１１」というタイトルのＡｐｐＩＰオブジェクトを含んでいる。「ＯＳ／２  Ｖｅｒｓｉｏｎ  ２．１１」というＡｐｐＩＰオブジェクトは、「Ｉｎｓｔａｌｌ  −  Ｃａｔｅｇｏｒｙ  １」というタイトルのＣＡＴＺＰオブジェクトを含んでいる。計画オブジェクトは、「Ｗｏｒｋｓｔａｔｉｏｎ  Ｇｒｏｕｐ  １」というタイトルのＧｒｏｕｐＩＰオブジェクトも含んでいる。このＧｒｏｕｐＩＰオブジェクトは、「Ｔｅｄ」、「Ｊｏｈｎ」、「Ｊｕａｎ」というタイトルのＷｋｓＩＰオブジェクトを示すように展開されている。「Ｊｕａｎ」というＷｋｓＩＰオブジェクトは、「ＯＳ／２  Ｖｅｒｓｉｏｎ  ２．１１」というタイトルのＷｋｓＡｐｐＩＰオブジェクトを示すように展開されており、そのオブジェクトは同じタイトルのＡｐｐＩＰオブジェクトと対応する。このＷｋｓＡｐｐＩＰオブジェクトは、「Ｉｎｓｔａｌｌ  −  Ｃａｔｅｇｏｒｙ  １」というタイトルのＣａｔＩＰオブジェクトを示すようにオープンされ、それは「Ｆ：  ＼ｎｗｉ＼ＭＯＤＥＬＲＳＰ＼ＯＳ２Ｖ２１１＼ＩＮＳ＼２１１ＳＡＭＰ．ＲＳＰ」というファイル名タイトルを備えた応答ファイルを含んでいる。
【００６３】
図１９の上の図は、ネットワーク導入プログラム用の最上位レベルのコンテナを示し、該図は、「Ｐｌａｎ  Ｃｏｎｓｔｒｕｃｔｉｏｎ」、「Ｓｔａｔｕｓ」、「Ｃｏｄｅ  Ｓｅｒｖｅｒｓ」、「Ｔｅｍｐｌａｔｅｓ」の各オブジェクトを表示している。「Ｐｌａｎ  Ｃｏｎｓｔｒｕｃｔｉｏｎ」オブジェクトは図１８のウィンドウに通じている。「Ｓｔａｔｕｓ」オブジェクトは、ワークステーションごとまたは計画ごとにアプリケーションの導入および構成の状況を管理者が表示できるようにするためのダイアログに通じている。「Ｃｏｄｅ  Ｓｅｒｖｅｒｓ」オブジェクトは、オープンすると、ネットワーク導入プログラムで定義されたコード・サーバ・オブジェクトを表示する。「Ｔｅｍｐｌａｔｅｓ」オブジェクトは、オープンすると、管理者が計画またはアプリケーション・オブジェクトなどの正規オブジェクトを作成する際に使用するテンプレート・オブジェクトを提供する。オープンした「Ｔｅｍｐｌａｔｅｓ」オブジェクトは図１９の下の図に示す。
【００６４】
図１８および図１９の図形表現は、ネットワーク導入プログラム内のオブジェクトを管理者に示すための唯一の方法ではない。両方のオブジェクトが示されるわけではないが、ＡｐｐオブジェクトとＡｐｐＩＰオブジェクトなどの同様のオブジェクトは、管理者が関連アイコンを物理的に変更しない限り、同じアイコン表現を有することになる。当業者であれば、ネットワーク導入プログラム用に代替グラフィカル・ユーザ・インタフェースを数多く設計できるはずである。
【００６５】
上記の本発明は、ソフトウェアによって選択的に再構成または活動化される汎用コンピュータで便宜的に実施することができるが、当業者であれば、上記の本発明を実施するために特に設計された専用装置を含む、ファームウェアや、ソフトウェアとファームウェアとハードウェアとの組合せでも本発明を実施可能であることに留意されたい。
【００６６】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００６７】
（１）  複数のコンピュータを含むネットワークにおいてアプリケーションを導入するための導入計画オブジェクトを構築する方法であって、
前記コンピュータの一つが、
導入計画オブジェクトのテンプレートから導入計画オブジェクトを作成して、導入計画オブジェクトをその表示装置上に表示するために表示領域を割り振るステップと、
作業域コンテナ・オブジェクトに割り振られた前記表示装置上の表示領域から、前記導入計画オブジェクトに割り振られた前記表示領域に、選択された子オブジェクトのアイコンが移動された場合に、前記導入計画オブジェクトに割り振られた前記表示領域上に選択された子オブジェクトのアイコンを表示するステップであって、前記作業域コンテナ・オブジェクトは、導入計画オブジェクトに潜在的に導入可能な前記子オブジェクトを含む、前記表示するステップと、
前記導入計画オブジェクトに割り振られた前記表示領域上に選択された子オブジェクトに対するコミット要求に応答して、前記導入計画オブジェクトに割り振られた前記表示領域に表示された前記子オブジェクトを、導入計画オブジェクト用の子オブジェクトに変換するステップであって、前記変換するステップは、前記導入計画オブジェクト用の子オブジェクトが、前記選択された子オブジェクトの属性を継承することを含む、前記変換するステップと、及び
前記変換された子オブジェクトを含む導入計画オブジェクトを記憶装置に記憶するステップと、
を含み、
前記選択された子オブジェクトは、アプリケーション・オブジェクトとグループ・オブジェクトとを包含し、該アプリケーション・オブジェクトは前記ネットワークを介して導入されるべきアプリケーションを表し、該グループ・オブジェクトは前記アプリケーションが導入されるべきであるワークステーションのグループを表し、
前記アプリケーション・オブジェクト及び前記グループ・オブジェクトは、複数の応答ファイル・オブジェクトを有するカテゴリ・オブジェクトをそれぞれ含み、前記応答ファイル・オブジェクトは、アプリケーションの導入の過程で製品パネルにより要求される質問に対する回答を提供し、前記カテゴリ・オブジェクトは、アプリケーションのアクション・タイプ別に応答ファイル・オブジェクトをグループ化し、前記コンピュータの前記一つは、前記応答ファイル・オブジェクトの各々を、各ネットワークを介して複数のアプリケーションのそれぞれ１つを導入するために使用する、方法。
（２）  前記変換するステップは、該アプリケーション・オブジェクトを計画中アプリケーション・オブジェクトに変換し、かつ該グループ・オブジェクトを計画中グループ・オブジェクトに変換するステップを含む、（１）に記載の方法。
（３）  前記子オブジェクトのアイコンの移動が、ドラッグ・アンド・ドロップにより行われる、（１）に記載の方法。
（４）  前記コンピュータの前記一つは、応答ファイル・オブジェクトの各々を、ネットワークにおける前記アプリケーションに対して異なるアクションを実行するために使用する、（１）に記載の方法。
（５）  前記変換するステップが、
前記アプリケーション・オブジェクトが前記導入計画オブジェクトにとって固有のものであるということを前記コンピュータの前記一つが判定するステップと、
前記アプリケーション・オブジェクトが前記導入計画オブジェクトにとって固有のものであると判定された場合に、
前記アプリケーション・オブジェクト用のアクション・タイプを判定するステップと、
前記アプリケーション・オブジェクトから前記計画中アプリケーション・オブジェクトに属性を継承するステップと、及び
応答ファイル・オブジェクトを前記アクション・タイプに対応する前記カテゴリ・オブジェクトに追加するステップと、
をさらに含む、（２）に記載の方法。
（６）  前記グループ・オブジェクトが複数のワークステーション・オブジェクトを含み、かつ前記計画中グループ・オブジェクトが複数の計画中ワークステーション・オブジェクトを含み、かつ
前記変換するステップが、
前記グループ・オブジェクトが前記導入計画オブジェクトにとって固有のものであるということを前記コンピュータの前記一つが判定するステップと、
前記グループ・オブジェクトが前記導入計画オブジェクトにとって固有のものであると判定された場合に、
前記グループ・オブジェクトから前記計画中グループ・オブジェクトに属性を継承するステップと、
前記複数のワークステーション・オブジェクトを前記複数の計画中ワークステーション・オブジェクトに変換するステップと、
前記計画中アプリケーション・オブジェクトから属性をコピーすることにより、複数の計画中ワークステーション・アプリケーション・オブジェクトを作成するステップであって、該複数の計画中ワークステーション・アプリケーション・オブジェクトの各々は、計画中ワークステーション・オブジェクトの各々の子オブジェクトである、前記作成するステップと
をさらに含む、（５）に記載の方法。
（７）  複数のコンピュータからなるネットワークでアプリケーションを導入するために導入計画オブジェクトを構築するためのシステムであって、前記コンピュータは、導入計画オブジェクトを記憶するためのメモリ、プロセッサ及び表示装置を含み、
導入計画オブジェクトを作成するために、導入計画オブジェクトのテンプレートを前記表示装置上に表示する手段と、
前記導入計画オブジェクトに含めるために作業域コンテナ・オブジェクトを前記表示装置上に表示する手段であって、前記作業域コンテナ・オブジェクトは、導入計画オブジェクトに潜在的に導入可能な前記子オブジェクトを含む、前記表示する手段と、
前記作業域コンテナ・オブジェクトに割り振られた前記表示装置上の表示域から、前記導入計画オブジェクトに割り振られた前記表示領域に、選択された子オブジェクトのアイコンが移動された場合に、前記導入計画オブジェクトに割り振られた前記表示領域上に選択された子オブジェクトのアイコンを表示する手段と、
前記導入計画オブジェクトに割り振られた前記表示領域上に選択された子オブジェクトに対するコミット要求に応答して、前記導入計画オブジェクトに割り振られた前記表示領域に表示された前記子オブジェクトを前記導入計画オブジェクト用の子オブジェクトに変換する手段であって、前記変換する手段は、前記導入計画オブジェクト用の子オブジェクトが、前記選択された子オブジェクトの属性を継承することを含む、前記変換する手段と、及び
前記変換された子オブジェクトを含む導入計画オブジェクトを前記記憶装置に記憶する記憶手段と、
を含み、
前記作業域コンテナ・オブジェクトの前記子オブジェクトが、ネットワークを介して導入されるべきアプリケーションを表すアプリケーション・オブジェクトと、及びアプリケーションが導入されるべきであるワークステーションのグループを表すグループ・オブジェクトとをさらに包含し、
前記アプリケーション・オブジェクト及び前記グループ・オブジェクトは、複数の応答ファイル・オブジェクトを有するカテゴリ・オブジェクトをそれぞれ含み、前記応答ファイル・オブジェクトは、アプリケーションの導入の過程で製品パネルにより要求される質問に対する回答を提供し、前記カテゴリ・オブジェクトは、アプリケーションのアクション・タイプ別に応答ファイル・オブジェクトをグループ化し、前記コンピュータの一つは、前記応答ファイル・オブジェクトの各々を、各ネットワークを介して複数のアプリケーションのそれぞれ１つを導入するために使用する、システム。
（８）  前記変換する手段は、選択されたアプリケーション・オブジェクトを計画中アプリケーション・オブジェクトに変換し、かつ選択されたグループ・オブジェクトを計画中グループ・オブジェクトに変換する手段を含む、（７）に記載のシステム。
（９）  少なくとも１つの前記アプリケーション・オブジェクトが、複数の応答ファイル・オブジェクトを含み、前記システムは、応答ファイル・オブジェクトの各々を、ネットワークにおける前記少なくとも１つの前記アプリケーションに対して異なるアクションを実行するために使用する、（７）に記載のシステム。
（１０）  前記作業域コンテナ・オブジェクトが、カスタム・ファイル・オブジェクトを含むためのカスタム・ファイル・コンテナをさらに含み、前記システムは、該カスタム・ファイル・オブジェクトを、特定のワークステーション用に応答ファイル・オブジェクトをカストマイズするために使用する、（９）に記載のシステム。
（１１）  前記作業域コンテナ・オブジェクトが、コード・サーバ・オブジェクトを含むためのコード・サーバ・コンテナをさらに含み、該コード・サーバ・オブジェクトは、或る計画中グループ・オブジェクトによって表されたワークステーションのグループ上に前記アプリケーションを導入する前に、前記アプリケーションのコピーが常駐するネットワーク内のコード・サーバ・ワークステーションを表す、（７）に記載のシステム。
（１２）  前記作業域コンテナ・オブジェクトが、ネットワーク情報ツールをさらに含み、該ネットワーク情報ツールは、有効な導入計画オブジェクトに従いワークステーションのグループ上でのアプリケーションの前記導入の状況を判定する、（７）に記載のシステム。
（１３）  複数の導入計画オブジェクトを含むための計画コンテナを前記記憶装置に記憶する記憶手段をさらに含む、（７）に記載のシステム。
【図面の簡単な説明】
【図１】本発明の教示により構成したコンピュータ・システムを示す図である。
【図２】ネットワーク導入製品における全体的なオブジェクト階層を示す図である。
【図３】ネットワーク導入製品における全体的なオブジェクト階層を示す図である。
【図４】アプリケーション・オブジェクトを示す図である。
【図５】ワークステーション・グループおよび計画中グループ・オブジェクトを示す図である。
【図６】計画オブジェクトを示す図である。
【図７】コード・サーバ・コンテナ・オブジェクトを示す図である。
【図８】カストマイズ・コンテナ・オブジェクトを示す図である。
【図９】ネットワーク情報ツール・オブジェクトを示す図である。
【図１０】計画中カテゴリ・オブジェクトに応答ファイル・オブジェクトを追加するプロセスを示す流れ図である。
【図１１】ネットワーク導入プログラムから応答ファイル・オブジェクトを削除するプロセスを示す図である。
【図１２】アプリケーション・オブジェクトを計画中アプリケーション・オブジェクトに変換するプロセスを示す流れ図である。
【図１３】計画中応答ファイル・カテゴリ・オブジェクトを生成するプロセスを示す図である。
【図１４】応答ファイル・オブジェクトを導入計画オブジェクト内の応答ファイル・オブジェクトに変換するプロセスを示す図である。
【図１５】ワークステーション・グループ・オブジェクトを計画オブジェクトに追加し、それにより、計画中ワークステーション・グループ・オブジェクトを作成するプロセスを示す図である。
【図１６】計画中ワークステーション・アプリケーション・オブジェクトの作成を示す流れ図である。
【図１７】ワークステーション・オブジェクトから計画中ワークステーション・オブジェクトを作成するプロセスを示す図である。
【図１８】オブジェクトを処理可能なグラフィカル・ユーザ・インタフェースの１つを示す図である。
【図１９】オブジェクトを処理可能なグラフィカル・ユーザ・インタフェースの１つを示す図である。
【符号の説明】
８００  アプリケーション（Ａｐｐ）オブジェクトのＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッド
８０５  同じ短縮名とアクション・タイプを備えたＡｐｐＩＰオブジェクトがすでに計画に存在するかどうか
８１０  エラーをポストし、エラーを返す
８１５  アクション・タイプを要求するか、またはアクション・タイプ属性を使用する
８２０  ＡｐｐＩＰオブジェクトを作成し、ＡｐｐオブジェクトからＡｐｐＩＰオブジェクトに属性をコピーする
８２５  Ａｐｐオブジェクトが同じアクション・タイプを有するＣａｔオブジェクトを有するかどうか
８３０  アクション・タイプと一致するＣａｔオブジェクトにＣＲＥＡＴＥ  ＩＰ  ＯＢＪＥＣＴメソッドを送る
８３５  ＣａｔＩＰオブジェクトへの有効なポインタが返されたかどうか
８４０  エラーを返す
８４５  ＣａｔＩＰオブジェクトをＡｐｐＩＰオブジェクトに追加する
８５０  計画にＧｒｏｕｐＩＰオブジェクトが存在するかどうか
８５５  （ＡｐｐＩＰパラメータを備えた）ＧｒｏｕｐＩＰオブジェクトにＣＲＥＡＴＥ  ＷＫＳＡＰＰＩＰ  ＯＢＪＥＣＴメソッドを送る
８６０  メソッドからの有効な復帰かどうか
８６５  エラーを返す
８７０  ＡｐｐＩＰオブジェクトを返す
【図１】
0003590688.tif 000002
【図２】
0003590688.tif 000003
【図３】
0003590688.tif 000004
【図４】
0003590688.tif 000005
【図５】
0003590688.tif 000006
【図６】
0003590688.tif 000007
【図７】
0003590688.tif 000008
【図８】
0003590688.tif 000009
【図９】
0003590688.tif 000010
【図１０】
0003590688.tif 000011
【図１１】
0003590688.tif 000012
【図１２】
0003590688.tif 000013
【図１３】
0003590688.tif 000014
【図１４】
0003590688.tif 000015
【図１５】
0003590688.tif 000016
【図１６】
0003590688.tif 000017
【図１７】
0003590688.tif 000018
【図１８】
0003590688.tif 000019
【図１９】
0003590688.tif 000020