(57)【要約】【課題】データ処理システムにおける構成変更を管理する方法とシステムを提供する。【解決手段】本発明はデータ処理システム、特にソフトウェア製品を配布する（２５０）必要のあるネットワークにおける構成変更を管理する方法を提供する。本方法はまず参照モデル（２２０ｅ〜２２０ｄ）をツリー中に規定する。各参照モデルは対応するクライアント・ワークステーション（サブスクライバ）用に構成要素（たとえばソフトウェア製品および／またはハードウェア機能ならびにそれらの所望の目標状態）を備えている。次いで、各参照モデルに関連付けられたクライアント・ワークステーションの目標構成（２３０）を親参照モデルの構成要素を継承することによって規定する。次いで、対応するインベントリ（２４５）に格納されている、クライアント・ワークステーションの現在構成と目標構成とを比較することによって、対応する目標構成に到達するために各クライアント・ワークステーションで実行すべきアクションのリスト（２４５）を決定する。【選択図】図２
2004536381.tif 000002
【特許請求の範囲】
【請求項１】
複数の宛先単位を備えたデータ処理システムにおける構成変更を管理する方法（３００）であって、
複数の参照モデルをルート参照モデルから始まるツリーに配置する（３０９〜３１８）ステップと、
各宛先単位を対応する宛先単位に固有の構成情報を備えた参照モデルに関連付ける（３３８、３３９、３４５〜３４８）ステップと、
選択した参照モデルに関連付けられた宛先単位の目標構成を、前記ルート参照モデルから前記選択した参照モデルまでの経路に存在する参照モデルの構成情報に従って決定する（３２０〜３３６）ステップと、
前記選択した参照モデルに関連付けられた各宛先単位を前記目標構成に従って更新する（３４２〜３７５）ステップと
を備えた
方法。
【請求項２】
前記構成情報が、対応する構成要素の目標状態を示す少なくとも１つのレコードを備え、
目標構成を決定する（３２０〜３３６）前記ステップが、前記経路に沿う参照モデルの現在の各レコードごとに、
目標構成が現在のレコードの構成要素として以前のレコードを備えているか否かを確認する（３３０）ステップと、
前記確認が否定的な場合に前記目標構成に前記現在のレコードを付加し（３３３）、前記確認が肯定的な場合に以前のレコードの目標状態を前記現在のレコードの目標状態で置き換える（３３６）ステップと
を備えている、
請求項１に記載の方法。
【請求項３】
さらに、
構成要素間の論理関係を表わす依存関係情報を準備する（３１５）ステップを備え、
前記目標構成をさらに、対応する構成要素の依存関係情報に従って決定する（３２５）、
請求項２に記載の方法。
【請求項４】
前記構成情報が少なくとも１つのハードウェア必要条件の指標を備えており、
前記方法がさらに、
選択した参照モデルに関連付けられた各宛先単位の現在のハードウェア構造が目標構成の各ハードウェア必要条件に適合しているか否かを確認する（３５１〜３６０）ステップ
を備えている、
請求項１〜３のうちの１項に記載の方法。
【請求項５】
さらに、
選択した参照モデルに関連付けられた宛先単位のリストを動的に抽出する問合せをメモリ構造上で実行する（３４５）ステップ
を備えた、
請求項１〜４のうちの１項に記載の方法。
【請求項６】
さらに、
前記メモリ構造中の対応するフラグがアサートされている場合、前記リストから各宛先単位を除外する（３４８）ステップ
を備えた、
請求項５に記載の方法。
【請求項７】
さらに、
各宛先単位の現在の構成の標識を格納するインベントリを備える（３４２）ステップと、
選択した参照モデルに関連付けられた各宛先単位の目標構成に到達するためのアクションのリストを、前記目標構成と対応する現在構成との比較に従って決定する（３５１）ステップと
を備えた、
請求項１〜６のうちの１項に記載の方法。
【請求項８】
前記構成情報が、インストールまたは削除すべき少なくとも１つのディジタル符号化製品の標識を含んでおり、
前記データ処理システムが１つのサーバ・ワークステーションと各々が少なくとも１つの宛先単位に関連付けられた複数のクライアント・ワークステーションを備えたネットワークから成り、
前記方法がさらに、選択した参照モデルに関連付けられた各宛先単位ごとに、
前記サーバ・ワークステーションの制御下でパッケージを構築する（３５７）ステップであって、前記パッケージが、インストールすべき目標構成の各製品および前記アクションのリストを自動的に実行する命令を含んでいる、ステップと、
前記パッケージを、宛先単位に関連付けられたクライアント・ワークステーションに前記ネットワークを介して配布する（３７２）ステップと、
前記クライアント・ワークステーションで実行された前記アクションに従って前記インベントリを更新する（３７５）ステップと
を備えた、
請求項７に記載の方法。
【請求項９】
コンピュータ・プログラム（２１０、２３５、２５０）であって、前記プログラムをコンピュータ（１０５）で実行するときに、請求項１〜８のうちの１項に記載の方法を実行する、前記コンピュータの作業メモリ（１３０）に直接にロード可能なコンピュータ・プログラム。
【請求項１０】
プログラム製品（１５０）であって、請求項９に記載の前記プログラム（２１０、２３５、２５０）を格納したコンピュータ読み取り可能な媒体を含むプログラム製品。
【請求項１１】
複数の宛先単位（１０５）を備えたデータ処理システム（１００）であって、
ルート参照モデルから始まるツリーに複数の参照モデルを配置する手段（２０５〜２１５）と、
各宛先単位を対応する宛先単位に固有の構成情報を備えた参照モデルに関連付ける手段（２１０、２１５、２２５、２３０）と、
選択した参照モデルに関連付けられた宛先単位の目標構成を、前記ルート参照モデルから前記選択した参照モデルまでの経路に存在する参照モデルの構成情報に従って決定する手段（２３０〜２４５）と、
前記選択した参照モデルに関連付けられた各宛先単位を前記目標構成に従って更新する手段（２４５〜２６５）と
を備えた
データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理システムにおける構成変更を管理する方法とシステムに関する。
【背景技術】
【０００２】
従来、データ処理システムにおける構成変更を効率的に管理する方法とシステムがなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の目的はデータ処理システムにおける構成変更を効率的に管理する方法とシステムを提供することである。
【課題を解決するための手段】
【０００４】
要するに、本発明に係る方法は次のように構成する。
複数の宛先単位を備えたデータ処理システムにおける構成変更を管理する方法であって、
複数の参照モデルをルート参照モデルから始まるツリーに配置するステップと、
各宛先単位を対応する宛先単位に固有の構成情報を備えた参照モデルに関連付けるステップと、
選択した参照モデルに関連付けられた宛先単位の目標構成を、前記ルート参照モデルから前記選択した参照モデルまでの経路に存在する参照モデルの構成情報に従って決定するステップと、
前記選択した参照モデルに関連付けられた各宛先単位を前記目標構成に従って更新するステップと
を備えた
方法。
【０００５】
また、本発明は上記方法を実行するコンピュータ・プログラム、当該プログラムを格納した製品、および対応するデータ処理システムも提供する。
【発明を実施するための最良の形態】
【０００６】
図面、特に図１を参照する。図１は大規模な会社で使われているＷＡＮ（Wide Area Network)のようなネットワーキング・システム１００を示す図である。ネットワーキング・システム１００は複数のワークステーション１０５で形成される場合、通常、ＰＣ（パーソナル・コンピュータ）群から成る。ワークステーション１０５は対応する集信装置１１０（たとえばルータ／ハブ）の回りにクラスタ化されている。集信装置１１０は分散された場所に設置されており、電話線１１５によって接続可能である。ネットワーキング・システム１００はクライアント／サーバ・アーキテクチャによって構成されている。すなわち、（一般に強力なコンピュータから成る）少なくとも１つのワークステーション１０５がリソース（たとえば共用ファイルと共用デバイス〔周辺機器〕）を管理している。他のワークステーション１０５はエンド・ユーザがその上でサーバのリソースに依存するアプリケーションを実行するクライアントとして動作している。
【０００７】
各ワークステーション１０５は通信バス１２０に並列接続された装置をいくつか備えている。特に、中央処理装置（ＣＰＵ）１２５はワークステーション１０５の動作を制御し、作業メモリ１３０（通常はＤＲＡＭ）はＣＰＵ１２５が直接に使用し、リード・オンリー・メモリ（ＲＯＭ）１３５はワークステーション１０５を始動させる基本プログラムを格納している。また、バス１２０には（個別のインタフェースによって）様々な周辺機器が接続されている。特に、ハード・ディスク１４０と、ＣＤ−ＲＯＭ１５０を読み取るドライバ装置（ＤＲＶ）１４５とが大規模記憶装置を構成している。ワークステーション１０５はさらに、たとえばキーボードとマウスから成る入力装置（ＩＮ）１５５と、たとえばモニタから成る出力装置（ＯＵＴ）１６０とを備えている。ネットワーク・インタフェース・カード（ＮＩＣ）１６５はワークステーション１０５を集信装置１１０に接続するのに使用されている。
【０００８】
同様の考察は次に示す場合にも当てはまる。すなわち、ネットワーキング・システムが会社の部局（または他の任意の主体）に関連付けられている場合、ネットワーキング・システムのトポロジーが異なる場合、ネットワーキング・システムがＬＡＮ（Local Area Network）から成る場合、ネットワーキング・システムが異なる構成要素（たとえば少なくとも１つのスイッチ）を備えている場合、各ワークステーションの構成が異なる場合（たとえばマイクロプロセッサ・アーキテクチャ）、などである。
【０００９】
次に、図２を考察する。図２はソフトウェア配布サーバとして動作しているワークステーションの作業メモリ１３０の内容の一部を示す図である。情報（プログラムとデータ）は通常、ハード・ディスクに格納されており、プログラムを実行するときにオペレーティング・システムや他のアプリケーション・プログラム（図示せず）とともに作業メモリ１３０に（少なくとも部分的に）ロードする。プログラムは最初、ＣＤ−ＲＯＭからサーバ・ワークステーションのハード・ディスクにインストールする。
【００１０】
作業メモリ１３０はサーバ・ワークステーションの周辺機器と情報交換するための入力／出力インタフェース（Ｉ／Ｏ）２０５を備えている。入力／出力インタフェース２０５は構成変更管理モジュール（ＣＯＮＦＩＧ）２１０と通信する。
【００１１】
構成モジュール２１０は参照モデルのリポジトリ（ＭＯＤＥＬＳ）２１５を管理している。各参照モデルは対応するクライアント・ワークステーションに固有の構成情報によってプロファイルを規定している。この例では、リポジトリ２１５には企業モデル２２０ｅ、秘書モデル２２０ｓ、管理職モデル２２０ｍ、および開発者モデル２２０ｄが含まれている。構成モジュール２１０はさらに、会社データベース２２５にもアクセスする。
【００１２】
一般的な参照モデルは個別の構成要素（configuration element)を規定しているレコードを少なくとも１つ備えている。各レコードはたとえばソフトウェア製品またはハードウェア機能などの構成要素を規定しているフィールドＥＬＥを備えている。フィールドＴＧＴは構成要素の所望の目標状態を表わしている。たとえば、ソフトウェア製品の目標状態は当該ソフトウェア製品をインストールすべきこと、削除すべきこと、または実行不可の状態でインストール／削除すべきことを表わしている。一方、ハードウェア機能の目標状態はハード・ディスクのサイズ、ＣＰＵのモデル、または作業メモリの容量を表わしている。さらなるフィールドＤＰＤは構成要素間の論理的な関係を示す依存関係情報を表わしている。たとえば、フィールドＤＰＤにはあるソフトウェア製品を実行するのに必要な構成要素（必要条件（pre-requisite)）、当該ソフトウェア製品と競合する構成要素（十分条件（ex-requisite))、または当該ソフトウェア製品とともに決められた順番にインストールすべき構成要素（必要十分条件（co-requisite))が含まれる。
【００１３】
参照モデルはさらに当該参照モデルを少なくとも１つのワークステーションに関連付けるのに使用するフィールドＳＢＳ（サブスクライバ）を備えている。関連付けは静的に、および／または動的に行う。（「Ａおよび／またはＢ」は「ＡおよびＢ、Ａ、またはＢ」を表わす。）サブスクライバを静的に規定する場合、フィールドＳＢＳはクライアント・ワークステーションのリストを含むだけである。サブスクライバを動的に規定する場合、フィールドＳＢＳは会社データベース２２５で実行すべき問合せを含んでいる。この問合せの結果はクライアント・ワークステーションのリストである。
【００１４】
参照モデルはツリー中に階層的に配置されている。特に、企業モデル２２０ｅはツリーのルートを規定している。秘書モデル２２０ｓと管理職モデル２２０ｍは企業モデル２２０ｅに依存しており、開発者モデル２２０ｄは管理職モデル２２０ｍに依存している。下で詳述するように、各子参照モデル２２０ｓ、２２０ｍ、２２０ｄ（これらは親参照モデル２２０ｅ、２２０ｅ、２２０ｍにそれぞれ依存している）はルート参照モデル２２０ｅから子参照モデルにいたる経路に存在するすべての参照モデルの構成情報を継承している。留意点を挙げると、この継承機構は「〜である（is-a）」という意味構造は実現しない。たとえば、開発者は管理職ではない（is not a）が、管理職モデル２２０ｍに属す構成要素は（サブスクライバを除いて）すべて開発者モデル２２０ｄによって継承されている。
【００１５】
会社データベース２２５は会社の組織図を規定するとともに、各従業員用のレコードで形成されたリレーショナル表から成る。上記レコードはフィールドＩＮＦＯを備えている。フィールドＩＮＦＯには従業員に関する情報、たとえばその名前、電話番号とファクシミリ番号、電子メール・アドレス、部局、職位、（存在する場合には）管理職と部下などが含まれている。フィールドＷＳは従業員に割り当てられたクライアント・ワークステーションを特定するものであり、たとえばその型、シリアル番号、場所、およびＩＰアドレスが含まれている。フラグＥＸは（問合せが発せられたときに）当該問合せの結果から当該従業員に割り当てられたクライアント・ワークステーションを除外すべきことを表わしている。
【００１６】
構成モジュール２１０は選択した参照モデルに関連付けられたクライアント・ワークステーション用の目標構成を示すメモリ構造２３０を生成する。目標構成２３０は少なくとも１つの構成要素と選択した参照モデルに関連付けられたクライアント・ワークステーションのリストとを備えている。各構成要素は（構成要素とその目標状態をそれぞれ示す）個別のフィールドＥＬＥとＴＧＴによって規定されている。各リストは個別のフィールドＷＳによって特定されている。
【００１７】
目標構成２３０は同期エンジン（ＳＹＮＣ）２３５に供給される。同期エンジン（ＳＹＮＣ）２３５はクライアント・ワークステーションの現在の構成を格納しているインベントリ２４０にアクセスする。構成インベントリ２４０は各クライアント・ワークステーションごとに１つのレコードを備えている。このレコードは（クライアント・ワークステーションを特定する）フィールドＷＳと、クライアント・ワークステーションのハードウェア機能とそれにインストールされているソフトウェア製品を表わすフィールドＣＵＲＲとから成る。同期エンジン２３５はさらに状態遷移テーブル２４３にアクセスする。状態遷移テーブル２４３はルックアップテーブルから成る。各レコードはフィールドＳＴＳｓとフィールドＳＴＳｅで形成されたキーを備えている。フィールドＳＴＳｓとフィールドＳＴＳｅは対応するカテゴリ（たとえばハードウェア機能やソフトウェア製品）に属す一般構成要素の開始状態と終了状態をそれぞれ示している。キーＳＴＳｓ、ＳＴＳｅは開始状態ＳＴＳｓから終了状態ＳＴＳｅに至るためになすべきアクション（たとえばソフトウェア製品のインストール、ソフトウェア製品の削除、ＣＰＵのアップグレード、ハード・ディスク・サイズの増大など）を表わすフィールドＡＣＴから成る属性に関連付けられている。
【００１８】
同期エンジン２３５は選択した参照モデルに関連付けられた各クライアント・ワークステーションにおいて目標構成に到達するために実行すべきアクションのリストを規定するメモリ構造２４５を生成する。特に、アクション・リスト２４５は一連のレコードを備えており、各レコードはクライアント・ワークステーションを特定するフィールドＷＳ、関連する構成要素を特定するフィールドＥＬＥ、およびクライアント・ワークステーションにおいて実行すべき対応するアクションを表わすフィールドＡＣＴから成る。
【００１９】
アクション・リスト２４５はソフトウェア製品のリポジトリ（ＳＷ）２５５にアクセスする配置エージェント（deployment agent）（ＤＥＰＬ）２５０に供給される。配置エージェント２５０は各クライアント・ワークステーション用に配布パッケージ（ＰＣＫ）２６０を構築する。配布パッケージ２６０はクライアント・ワークステーションにインストールすべきソフトウェア製品とアクション・リスト２４５の対応するレコードに示されている（ソフトウェア製品に関する）アクション（たとえば当該パッケージに含まれているソフトウェア製品のインストールまたは他のソフトウェア製品の削除）を自動的に実行する命令とを含む少なくとも１つのファイルから成る。配置エージェント２５０はさらに構成インベントリ２４０に格納されている情報の更新を制御する。
【００２０】
配布パッケージ２６０はネットワーク・インタフェース（ＮＥＴ）２６５に供給される。ネットワーク・インタフェース（ＮＥＴ）２６５は配布パッケージ２６０を配置エージェント２５０がスケジュールを組んだ計画に従って対応するクライアント・ワークステーションに送付する。ネットワーク・インタフェース２６５は配置エージェント２５０にも直接に接続されている。これにより、クライアント・ワークステーションから受信したメッセージを供給することが可能になる。同期エンジン２３５と配置エージェント２５０はさらに構成モジュール２１０と通信する。これにより、コマンドを受信するとともに対応するオペレーションの結果を示す戻りコードを供給することが可能になる。
【００２１】
同様の考察は次に示す場合にも当てはまる。すなわち、プログラムとデータが異なる態様で構造化されている場合、別のモジュールや機能が備わっている場合、ツリーが異なる個数の参照モデルから成る場合、少なくとも１つの参照モデルが付随するサブスクライバをもたないダミー・モデルである場合、会社データベースが異なるアーキテクチャを有するとともに他の情報を格納している場合、一部の従業員に少なくとも２つのクライアント・ワークステーションが割り当てられている場合などである。あるいは、参照モデルには等価の構成情報が含まれていてもよいし、異なる構成要素（たとえばアプリケーション・パラメータ、データベース、音声・画像記録、または他の任意のディジタルに符号化された製品）を管理していてもよいし、（たとえばソフトウェア製品は削除するのではなく無効にするだけでよいといった）異なる目標状態をサポートしていてもよいし、または、サブスクライバが異なる宛先単位（destination unit）（たとえばクライアント・ワークステーションにログオンしている個々のユーザに関連付けられたソフトウェア・アプリケーションまたはプロファイルなど）から成っていてもよい。
【００２２】
図３と図４に示すように、構成モジュール、同期エンジン、および配置エージェントから成るソフトウェア配布アプリケーション全体はサーバ・ワークステーションで実行されているときに方法３００を実行する。方法３００はブロック３００で開始したのちブロック３０６に進む。ブロック３０６では、一連の可能性のある選択肢を備えたメニューをシステム管理者のサーバ・ワークステーションのモニタに表示する。方法はシステム管理者が選択した選択肢に対応するオペレーションを実行する。特に、システム管理者が参照モデルのリポジトリを編集する機能を選択した場合、ブロック３０９〜３１８を実行する。一方、システム管理者が対応するクライアント・ワークステーションに新たな構成を配置する機能を選択した場合、ブロック３２０〜３７５を実行する。これに対して、システム管理者がソフトウェア配布アプリケーションの終了を選択した場合、方法は最終ブロック３７８で終了する。
【００２３】
次に、ブロック３０９（編集機能）を考察すると、システム管理者は選択した参照モデルを削除し（それに応じてツリーを再構成し）、新たな参照モデルをツリーに挿入し、または更新すべき参照モデルを選択する。次いで、方法はブロック３１２に進む。そこでは、ある参照モデルを更新するように選択した場合、システム管理者は構成要素を削除し、新たな構成要素を作成し、または選択した構成要素の目標状態を更新する。次いで、ブロック３１５に進む。そこでは、システム管理者は選択した構成要素の依存関係（必要条件、十分条件、または必要十分条件）を編集する。たとえば、項目を付加し、更新し、または削除する。次に、ブロック３１８を参照する。システム管理者は選択した参照モデルに割り当てられたサブスクライバを変更する。特に、クライアント・ワークステーションの識別子を対応するリストから削除し、新たなクライアント・ワークステーションの識別子を挿入し、またはクライアント・ワークステーションのリストを動的に規定する問合せを作成または更新する。次いで、方法はブロック３０６に戻り、システム管理者が出す新たなコマンドを待ち受ける。
【００２４】
次に、ブロック３２０（配置機能）を考察する。システム管理者は実行すべき参照モデルの中から１つ選択する。次いで、方法はブロック３２１に進む。そこでは、ルート参照モデルのすべての構成要素を（最初は空〔から〕の）目標構成に付加する。次いで、構成モジュールがブロック３２４で、選択した参照モデルに到達し（完全に処理し）たかをチェックする。「Ｙ」ならば、方法はブロック３２５に進む（後述）。「Ｎ」ならば、方法はブロック３３０に進む。そこでは、ルート参照モデルからから選択した参照モデルまでの経路を辿り参照モデルの新たな構成要素を考察する（ルート参照モデルに直接によりながら子参照モデルの最初の構成要素から開始する）。目標構成が現在の構成要素を含んでいない（「Ｙ」の）場合、方法はブロック３３３に進む。そこでは、現在の構成要素を目標構成に付加する。逆（「Ｎ」）の場合、方法はブロック３３６に進む。そこでは、目標構成の（以前の）構成要素の目標状態と依存関係情報を現在の構成要素の対応するフィールドで置き換える。両方の場合において、方法はブロック３２４に戻り、同じ参照モデルの次の構成要素または次の参照モデルの最初の構成要素を処理する。
【００２５】
次に、ブロック３２５を考察する。構成要素間のすべての論理関係を解決するために、依存関係情報に従って目標構成を更新する。たとえば，インストールすべき必要条件製品と必要十分条件製品に対応する構成要素を付加し、インストールに必要な順序に適合するように構成要素を再配置し、または削除すべき十分条件製品に対応する構成要素を挿入する。
【００２６】
次いで、方法はブロック３３８に進む。そこで、構成モジュールは選択した参照モデルにおいてサブスクライバが静的に規定されているか動的に規定されているかを確認する。第１の場合、選択した参照モデルに含まれているクライアント・ワークステーションのリストをブロック３３９で目標構成に付加したのち、方法はブロック３４２（後述）に進む。逆に、サブスクライバが動的に規定されている場合、クライアント・ワークステーションのリストを抽出するために、選択した参照モデルに含まれている対応する問合せをブロック３４５において会社データベース上で実行する。次いで、ブロック３４８で、排除すべきクライアント・ワークステーションのリストを対応するフラグに従って新たな構成の配置から除去する。次いで、方法はフラグ３４２に進む。
【００２７】
次に、ブロック３４２を考察する。そこでは、選択した参照モデルに関連付けられたクライアント・ワークステーションの現在の構成を構成インベントリから抽出する。次いで、同期エンジンがブロック３５１で、目標構成と対応する現在の構成とを比較することにより、各クライアント・ワークステーションごとにアクション・リストを生成する。特に、各構成要素（ソフトウェア製品またはハードウェア機能）の現在の状態が所望の目標状態と一致している場合、アクションは実行しない。逆の場合には、構成要素の現在の状態からその目標状態に到達するのに必要なアクションを状態遷移テーブルから抽出してリストに付加する。
【００２８】
次いで、方法はブロック３５４に進む。そこでは、配置エージェントが、選択した参照モデルに関連付けられたクライアント・ワークステーションの現在のハードウェア構造が目標構成のハードウェア必要条件に適合しているか否かを確認する。目標構成のハードウェア必要条件に適合しているすべてのクライアント・ワークステーションについて、対応する配布パッケージをブロック３５７で構築する。具体的には、配置エージェントが、インストールすべきソフトウェア製品を各々配布パッケージに挿入し、必要なアクションを実行するための命令を付加する。逆に、（たとえばＣＰＵモデルが当該ソフトウェア製品を実行できないため、あるいはハード・ディスクのサイズが不十分なために）目標構成のハードウェア必要条件に適合していないすべてのクライアント・ワークステーションについては、ブロック３６６でエラー状態を入力する。特に、システム管理者には警告を発し、これらのクライアント・ワークステーションへの目標構成の配置を打ち切る。
【００２９】
両方の場合とも、方法はブロック３７２に進む。そこでは、（もしそれがある場合には）パッケージを個々のクライアント・ワークステーションにネットワークを通じて送付する。各パッケージはクライアント・ワークステーションで受け取る。そして、パッケージに組み込まれている命令を実行して対応するソフトウェア製品をインストールしたり削除したりする。各クライアント・ワークステーションからサーバ・ワークステーションへ戻りコードを返送して構成変更の結果を報告する。それに応じて、配置エージェントはブロック３７５で構成インベントリを更新する。次いで、方法はブロック３０６に戻り、システム管理者が出す新たなコマンドを待ち受ける。
【００３０】
次に示す諸表は各参照モデルに属す構成要素の一例を規定するものである。
【００３１】
【表１】
2004536381.tif 000003
【００３２】
【表２】
2004536381.tif 000004
【００３３】
【表３】
2004536381.tif 000005
【００３４】
【表４】
2004536381.tif 000006
【００３５】
いま、開発者モデルを実行する必要があるものと仮定する。開発者モデルに関連付けられたクライアント・ワークステーションの目標構成は次に示すように規定される。
【００３６】
【表５】
2004536381.tif 000007
【００３７】
したがって、開発者モデルに関連付けられたクライアント・ワークステーションにはアンチ・ウイルスのみがインストール済みであり、その作業メモリ・サイズが１２８ＭＢを超える場合、目標構成に到達するには次に示すアクション・リストを実行することになる。
【００３８】
【表６】
2004536381.tif 000008
【００３９】
同様の考察はたとえば次に示すような等価な方法を実行する場合にも当てはまる。すなわち、報告機能を備えている場合、会社インベントリが別の場所に格納されており、別のワークステーションによって実行される場合などである。
【００４０】
一般に、本発明は次に示す方法を提供する。
複数の宛先単位を備えたデータ処理システムにおける構成変更を管理する方法であって、
複数の参照モデルをルート参照モデルから始まるツリーに配置するステップと、
各宛先単位を対応する宛先単位に固有の構成情報を備えた参照モデルに関連付けるステップと、
選択した参照モデルに関連付けられた宛先単位の目標構成を、前記ルート参照モデルから前記選択した参照モデルまでの経路に存在する参照モデルの構成情報に従って決定するステップと、
前記選択した参照モデルに関連付けられた各宛先単位を前記目標構成に従って更新するステップと
を備えた
方法。
【００４１】
本発明に係る解決策は各宛先単位の目標構成を特定する規模可変かつ柔軟性のある方法を提供する。特に、参照モデルによって、各宛先単位がシステム中で演じている役割に従って当該各宛先単位を論理的かつ機能的なグループに配置することが可能になる。したがって、対応する参照モデルを変更するだけで、プロファイルの変化または組織上の変化をすべて自動的に反映させることができる。このように、各参照モデルに関連付けられたすべての宛先単位を単一の主体として扱うことにより、多数の宛先単位を備えた巨大システムを管理することが可能になる。
【００４２】
参照モデルは階層構造をしているから、各宛先単位の目標構成を段階的に規定することができるるで、宛先単位のモデル化がきわめて簡単になる。事実、すべての宛先単位に共通の構成要素はルート参照モデルでのみ規定されており、各機能グループに固有の構成要素はツリーを下がりながら規定されている。このように、システム全体を既述するのに必要な参照モデルの個数はきわめて少ない。また、参照モデルの各変化はその子参照モデルに関連付けられたすべての宛先単位の目標構成に自動的に反映される。
【００４３】
本発明に係る解決策によれば、システムにおける新たな構成の配置が簡単になる。したがって、様々なグループの宛先単位の頻繁な構成変化を管理するプロセスがより信頼度の高いものになる。
【００４４】
上述した本発明の好適な実施形態によれば、さらなる利点が得られる。たとえば、ルート参照モデルから、選択した参照モデルまでの経路を辿り対応する参照モデルから目標構成を決定する、ここで提案したアルゴリズムは特に単純で効果の高いものである。この解決策によれば、すべての参照モデルは親参照モデルの構成要素を継承することが可能になる。同時に、各参照モデルは目標状態を無効にすることができる、または、親参照モデルで規定されているすべての構成要素のインストール／削除を阻止することができる。
【００４５】
あるいは、目標構成は異なった仕方、たとえば親参照モデルで規定されている構成要素を無効にする、および／または阻止する可能性のない状態で規定することもできる。
【００４６】
参照モデルに挿入した依存関係情報によって、不正確な構成を規定し実行するのを防止することができる。また、（各宛先単位が目標構成のハードウェア必要条件に適合しているか否かをチェックするために）各宛先単位の現在のハードウェア構成を確認しているから、各宛先単位はインストールすべきソフトウェア製品をすべて正確に実行しうるレベルにあるということが保証される。
【００４７】
同様にの考察は次に示す場合にも当てはまる。すなわち、依存関係情報を異なった仕方で用いて目標構成を決める場合、方法が対応する依存関係情報を用いて目標構成の整合性しか確認しない（確認の結果が否定的であっても、目標構成を変更せずエラー状態を入力するだけの）場合、依存関係情報が参照モデルに規定されておらず、構成モジュールが参照モデルを実行する必要のあるときに常にアクセスする特殊メモリ構造に規定されている場合、パッケージが常に（エラー状態が入力されている場合でさえも）クライアント・ワークステーションに送付される場合などである。しかし、本発明に係る解決策は構成要素のすべての依存関係情報またはすべてのハードウェア機能を参照モデルに規定する可能性がない場合であっても実施することができる。
【００４８】
各参照モデルに関連付けられたサブスクライバを動的に規定しているから、新たな構成を実際に配置するときに構成変化を実行する対象となる宛先単位を評価することが可能になる。また、問合せの結果から一部の宛先単位を除外する可能性があるから、対応する参照モデルにおけるサブスクライバを規定しているフィールドを変更することなく当該宛先単位を一時的に不変のままにしておくことができる。
【００４９】
あるいは、異なる仕方（たとえば宛先単位〔たとえば特定のルータに取り付けられたクライアント・ワークステーション〕のグループを規定する仕方）で宛先単位を各参照モデルに関連付けてもよいし、（宛先単位を除外する可能性をなくし）問合せの結果をすべて常に採用してもよいし、サブスクライバを静的または動的にのみ規定してもよい、など。
【００５０】
各宛先単位の現在の構成をインベントリに格納しているから、クライアント・ワークステーションに存在する構成要素のレベルを効率的に追跡することができる。たとえば、システム管理者は一部のクライアント・ワークステーションにインストール済みの新ソフトウェア製品をシステムのすべてのクライアント・ワークステーションにインストールする場合、当該新ソフトウェア製品の配布先を容易に決めることができる。あるいは、システム管理者は一部のクライアント・ワークステーションにインストール済みのソフトウェア製品の新バージョンの配布先を容易に決めることができる。
【００５１】
上述した方法では新たな構成はサーバ・ワークステーションから多数のクライアント・ワークステーションに自動的に配置されるから、大規模ネットワークで使用するソフトウェア配布アプリケーションにとって特に有利である。
【００５２】
同様の考察は次に示す場合にも当てはまる。すなわち、状態遷移テーブルが等価のメモリ構造で置き換えられている場合、または、（たとえば同期エンジンに組み込まれたアルゴリズムを用いて）各宛先単位の目標構成と現在構成との比較に従う異なった仕方でアクション・リストを規定する場合である。しかし、ここで提案する解決策はたとえ構成インベントリがなくとも（たとえば各クライアント・ワークステーションの現在の構成を表わす情報をサーバ・ワークステーションが収集することにより）実現することができる。また、本発明に係る方法は異なるデータ処理システムで使用するのにも適しているし（たとえ宛先単位がネットワークで互いに接続されておらず、たとえばパッケージを人手で配布するＣＤ−ＲＯＭにコピーするハードウェアであっても適しているし）、あるいはハードウェア構成のみを制御する場合にも適している。
【００５３】
本発明で提案する方法はＣＤ−ＲＯＭに格納されるコンピュータ・プログラムによって実現するのが有利である。
【００５４】
あるいは、上記プログラムはフロッピー・ディスクに格納してもよいし、ハード・ディスクにプリロードしてもよいし、他の任意のコンピュータ読み取り可能な媒体に格納してもよいし、ネットワークを介してコンピュータに送信してもよいし、ブロードキャストしてもよいし、一般にコンピュータの作業メモリに直接にロード可能な他の任意の形態で格納してもよい。しかし、本発明に係る方法はサーバ・ワークステーションに実装されたハードウェア構造体、たとえば半導体材料から成るチップに集積化されたハードウェア構造体を用いても実施することができる。
【００５５】
ローカルかつ特定の用件を満たすために、当業者が上述した解決策に多くの変更と変形をなすのは自然である。しかし、それらはすべて特許請求の範囲によって確定される本発明の保護範囲内のものである。
【図面の簡単な説明】
【００５６】
【図１】本発明に係る方法を使用することのできるネットワーキング・システムの基本ブロック図である。
【図２】ネットワーキング・システムに含まれるサーバ・ワークステーションの作業メモリの内容の一部を示す図である。
【図３】ネットワーキング・システムのクライアント・ワークステーションの構成変更を管理する方法のフローチャートを示す図である。
【図４】ネットワーキング・システムのクライアント・ワークステーションの構成変更を管理する方法のフローチャートを示す図である。
【符号の説明】
【００５７】
１００  ネットワーキング・システム
１０５  ワークステーション
１１０  集信装置
１１５  電話線
１２０  通信バス
１２５  中央処理装置（ＣＰＵ）
１３０  作業メモリ
１３５  リード・オンリー・メモリ（ＲＯＭ）
１４０  ハード・ディスク
１４５  ドライバ装置（ＤＲＶ）
１５０  ＣＤ−ＲＯＭ
１５５  入力装置（ＩＮ）
１６０  出力装置（ＯＵＴ）
１６５  ネットワーク・インタフェース・カード（ＮＩＣ）
２０５  入力／出力インタフェース（Ｉ／Ｏ）
２１０  構成変更管理モジュール（ＣＯＮＦＩＧ）
２１５  参照モデルのリポジトリ（ＭＯＤＥＬＳ）
２２０ｅ  企業モデル
２２０ｓ  秘書モデル
２２０ｍ  管理職モデル
２２０ｄ  開発者モデル
２２５  会社データベース
２３０  目標構成を示すメモリ構造
２３５  同期エンジン（ＳＹＮＣ）
２４０  インベントリ
２４５  アクションのリストを規定するメモリ構造
２５０  配置エージェント（ＤＥＰＬ）
２５５  ソフトウェア製品のリポジトリ（ＳＷ）
２６０  配布パッケージ（ＰＣＫ）
２６５  ネットワーク・インタフェース（ＮＥＴ）
【図１】
2004536381.tif 000009
【図２】
2004536381.tif 000010
【図３】
2004536381.tif 000011
【図４】
2004536381.tif 000012
【国際公開パンフレット】
2004536381.tif 000013
2004536381.tif 000014
2004536381.tif 000015
2004536381.tif 000016
2004536381.tif 000017
2004536381.tif 000018
2004536381.tif 000019
2004536381.tif 000020
2004536381.tif 000021
2004536381.tif 000022
2004536381.tif 000023
2004536381.tif 000024
2004536381.tif 000025
2004536381.tif 000026
2004536381.tif 000027
2004536381.tif 000028
2004536381.tif 000029
2004536381.tif 000030
2004536381.tif 000031
2004536381.tif 000032
2004536381.tif 000033
2004536381.tif 000034
2004536381.tif 000035
2004536381.tif 000036
2004536381.tif 000037
2004536381.tif 000038
2004536381.tif 000039
【国際公開パンフレット（コレクトバージョン）】
2004536381.tif 000040
2004536381.tif 000041
【国際調査報告】
2004536381.tif 000042
2004536381.tif 000043
2004536381.tif 000044