(57)【要約】  サーバファーム（１１０）内のサーバ等の複数のコンピュータデバイス（２０２）に対して行なわれる統合サービス（１１７）で特に使用されるコンピュータデバイスのパラメータを比較することができる。記憶装置（２０６）は、サーバファーム（１２０）内のサーバ等のコンピュータデバイスから収集された情報を含むデータセットファイルを記憶する。このデータセットファイルは、コンピュータデバイスの特徴を示す情報を含む。データセットファイルは、ＸＭＬ等のマークアップ言語における情報を記述する。第１のリレーショナルデータベースは、データセットファイルからのデータを受信するように構成されたテーブルを有する。１組の、コンピュータが読取可能な命令（２０２）は、データセットファイルからのデータを第１のリレーショナルデータベースのテーブルにロードすることができ、２つのデータセットを互いに比較することができる。
2007524889.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータデバイスを統合する際に使用するための方法であって、
少なくとも第１のコンピュータデバイスの特徴を示す情報を含む少なくとも２つのデータセットファイルに記憶するステップを含み、前記データセットはマークアップ言語で情報を記述し、前記方法はさらに、
前記少なくとも２つのデータセットを互いに比較することができるように、前記少なくとも２つのデータセットを第１のリレーショナルデータベースにロードするステップを含む、方法。
【請求項２】
前記少なくとも２つのデータセットは、第２のコンピュータデバイスを示す情報を含む、請求項１に記載の方法。
【請求項３】
前記マークアップ言語はＸＭＬを含む、請求項１に記載の方法。
【請求項４】
コンピュータデバイスの特徴を示す情報は、システムパラメータを示す情報を含む、請求項１に記載の方法。
【請求項５】
前記システムパラメータは、プロセッサの数、利用可能なプロセッサ、プロセッサのレベル、装置、ディスクドライブの特徴、ディスクドライブの容量、システム名、ページサイズ、オペレーティングシステムのバージョン、構築されたオペレーティングシステム、およびネットワークの接続性のうちの少なくとも１つを含む、請求項４に記載の方法。
【請求項６】
コンピュータデバイスの特徴を示す情報は、実行可能なプロセスパラメータを示す情報を含む、請求項１に記載の方法。
【請求項７】
前記実行可能なプロセスパラメータは、ＣＰＵの利用、メモリの利用、アクティブなプロセス、アクティブなプロセスの従属性、プロセッサの使用、メモリの使用、プロセスの生成時間、プロセスＩＤ、プロセスの所有者、プロセスの処理、プロセスのバージョン、従属性のバージョン、プロセスのタイムスタンプ、プロセスの記述、および従属性の記述のうちの少なくとも１つを含む、請求項６に記載の方法。
【請求項８】
前記第１のリレーショナルデータベースは、少なくとも１つのコンピュータデバイスのためのシステム情報を保持するためのシステム情報テーブルを含む、請求項７に記載の方法。
【請求項９】
前記第１のリレーショナルデータベースは、前記システム情報テーブルに関連するプロセステーブルを含み、前記プロセステーブルはコンピュータデバイス上で実行可能なプロセスに関連した情報を保持する、請求項８に記載の方法。
【請求項１０】
前記第１のリレーショナルデータベースは、前記システム情報テーブルに関連したモジュールテーブルを含み、前記モジュールテーブルはプロセスによって使用されるコンピュータデバイス上のモデルに関連した情報を保持する、請求項９に記載の方法。
【請求項１１】
コンピュータデバイスの特徴を示す情報は、コンピュータデバイスデータベース定義パラメータを示す情報を含む、請求項１に記載の方法。
【請求項１２】
前記コンピュータデバイスのデータベース定義パラメータは、データベース名、ロール、ユーザ、エイリアス、デフォルト値、規則、機能、ユーザによって規定されたデータの種類、ユーザメッセージ、テーブル、ビュー、インデックス、拡張されたプロシージャ、
記憶されたプロシージャ、およびトリガのうちの少なくとも１つを含む、請求項１１に記載の方法。
【請求項１３】
前記第１のリレーショナルデータベースは、コンピュータデバイスのデータベース名の名前を保持するためのデータベース名のテーブルを含む、請求項１２に記載の方法。
【請求項１４】
前記第１のリレーショナルデータベースは、前記データベース名テーブルに関連した「テーブル」テーブルを含み、前記「テーブル」テーブルはコンピュータデバイスのデータベーステーブル名を保持する、請求項１３に記載の方法。
【請求項１５】
前記第１のリレーショナルデータベースは、前記「テーブル」テーブルに関連したカラムテーブルを含み、前記カラムテーブルはコンピュータデバイスデータベースのカラム名を保持する、請求項１４に記載の方法。
【請求項１６】
前記データベース名のテーブルに関連する第２のテーブルを含み、前記第２のテーブルは、トリガ、プロシージャ、データベースロール、機能およびプロシージャのうちの少なくとも１つを含むテーブルである、請求項１３に記載の方法。
【請求項１７】
コンピュータデバイスのパラメータを比較するためのシステムであって、
少なくとも第１のコンピュータデバイスの特徴を示す情報を含む少なくとも２つのデータセットファイルを記憶する記憶装置を含み、前記データセットファイルはマークアップ言語で情報を記述し、前記システムはさらに、
前記データセットファイルからのデータを受信するように構成されたテーブルを有する第１のリレーショナルデータベースと、
前記少なくとも２つのデータセットを互いに比較することができるように、前記少なくとも２つのデータセットからのデータを前記第１のリレーショナルデータベースのテーブルにロードすることができる１組のコンピュータが読取可能な命令とを含む、システム。
【請求項１８】
前記少なくとも２つのデータセットは、第２のコンピュータデバイスを示す情報を含む、請求項１７に記載のシステム。
【請求項１９】
前記マークアップ言語はＸＭＬを含む、請求項１７に記載のシステム。
【請求項２０】
コンピュータデバイスの特徴を示す情報は、システムパラメータを示す情報を含む、請求項１７に記載のシステム。
【請求項２１】
前記システムパラメータは、プロセッサの数、利用可能なプロセッサ、プロセッサのレベル、装置、ディスクドライブの特徴、ディスクドライブの容量、システム名、ページサイズ、オペレーティングシステムバージョン、構築されたオペレーティングシステム、およびネットワークの接続性のうちの少なくとも１つを含む、請求項２０に記載のシステム。
【請求項２２】
コンピュータデバイスの特徴を示す情報は、実行可能なプロセスパラメータを示す情報を含む、請求項１７に記載のシステム。
【請求項２３】
前記実行可能なプロセスパラメータは、ＣＰＵの利用、メモリの利用、アクティブなプロセス、アクティブなプロセスの従属性、プロセッサの使用、メモリの使用、プロセスの生成時間、プロセスＩＤ、プロセス所有者、プロセスの処理、プロセスのバージョン、従属性のバージョン、プロセスタイムスタンプ、プロセスの記述、および従属性の記述のうちの少なくとも１つを含む、請求項２２に記載のシステム。
【請求項２４】
前記第１のリレーショナルデータベースは、少なくとも１つのコンピュータデバイスの前記システム情報を保持するためのシステム情報テーブルを含む、請求項２３に記載のシステム。
【請求項２５】
前記第１のリレーショナルデータベースは、前記システム情報テーブルに関連するプロセステーブルを含み、前記プロセステーブルはコンピュータデバイス上で実行可能なプロセスに関連した情報を保持する、請求項２４に記載のシステム。
【請求項２６】
前記第１のリレーショナルデータベースは、前記システム情報テーブルに関連するモジュールテーブルを含み、前記モジュールテーブルは、プロセスによって使用されるコンピュータデバイス上のモジュールに関連した情報を保持する、請求項２５に記載のシステム。
【請求項２７】
コンピュータデバイスの特徴を示す情報は、コンピュータデバイスのデータベース定義パラメータを示す情報を含む、請求項１７に記載の方法。
【請求項２８】
前記コンピュータデバイスのデータベース定義パラメータは、データベース名、ロール、ユーザ、エイリアス、デフォルト値、規則、機能、ユーザによって規定されたデータの種類、ユーザメッセージ、テーブル、ビュー、インデックス、拡張されたプロシージャ、記憶されたプロシージャ、およびトリガのうちの少なくとも１つを含む、請求項２７に記載のシステム。
【請求項２９】
前記第１のリレーショナルデータベースは、コンピュータデバイスのデータベース名の名前を保持するためのデータベース名テーブルを含む、請求項２８に記載のシステム。
【請求項３０】
前記第１のリレーショナルデータベースは、前記データベース名テーブルに関連する「テーブル」テーブルを含み、前記「テーブル」テーブルはコンピュータデバイスのデータベースのテーブル名を保持する、請求項２９に記載のシステム。
【請求項３１】
前記第１のリレーショナルデータベースは、前記「テーブル」テーブルに関連したカラムテーブルを含み、前記カラムテーブルは、コンピュータデバイスのデータベースカラム名を保持する、請求項３０に記載のシステム。
【請求項３２】
前記データベース名テーブルに関連した第２のテーブルを含み、前記第２のテーブルは、トリガ、プロシージャ、データベース、ロール、関数およびプロシージャのうちの少なくとも１つを含むテーブルである、請求項２９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
この出願は、全体が引用により援用される２００３年３月１９日に出願された米国仮出願番号第６０／４５５，７４９号、「サーバ統合のためのシステムおよびデータベースのインベントリの発見および分析」（“Discovery and Analysis of System and Database Inventories for Server Consolidation”）への優先権を主張する。
【０００２】
著作権表示／許可
この特許文献の開示の一部には、著作権保護の対象となる資料が含まれ得る。著作権所有者は、特許商標局の特許ファイルまたは特許記録に現われるように、特許文献または特許開示の何人による複製にも異議を唱えないが、それ以外ではいかなるすべての著作権を保有する。以下の表示はこの文献に適用される。著作権（Ｃ）２００４  ユニシス・コーポレイション（Unisys Corp.）
発明の分野
本発明は、計算機システムの分野に関し、より特定的にサーバの統合のためのシステムおよび方法に関する。
【背景技術】
【０００３】
発明の背景
企業において技術が一段と普及するにつれて、企業の組織は臨時の方法でサーバファームを作成してきた。たとえば、新しいアプリケーションが利用可能または必要になると、組織は新しいサーバを追加してそのアプリケーションのためのコンピューティングサポートを与えることが多い。多くの場合、サーバは、その特定のアプリケーションを実行するためだけの十分な計算能力を有する。このような臨時のサーバファームは、重複するアプリケーション、同じアプリケーションの多数のバージョン、冗長なデータ記憶および異なる計算能力という扱いにくい組合せとなる。その結果として、アプリケーションが複製され、ハードウェアの互換性がなくなる。場合によっては、企業はその計算インベントリを完全に理解さえしていないかも知れない。
【０００４】
理想的には、組織のサーバファームは、サーバおよびアプリケーションのより均質のグループであり、アプリケーションは最も効率的で効果的な方法でサーバに亘って十分にバランスをとられている。しかしながた、より典型的には、会社は計算機製品およびハードウェアの折衷的な組み合わせを有する。結果として、計算機システムが不十分になるだけではなく、職員がさまざまなハードウェアおよびソフトウェアのアプリケーションのすべてに熟達する必要があり負担がかかる。この問題に取り組むために、組織はそのアプリケーションを可用性およびスケーラビリティを向上させた、小数の大型サーバへと統合している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
サーバの統合は、所有権の合計費用の削減、合理化されて管理可能な動作の生成、システムの信頼性の向上、容量利用の増加等を含むかなりの利益をもたらすことができる。サーバの統合は、フィジカルデバイスまたはサブシステムを追加することなく、処理および記憶容量を基準化する能力、ならびに必要に応じてリソースを区分し、割当てる柔軟性を企業に与えることができる。サーバの統合は、標準化されたコンピューティング環境をもたらし、プラットフォームの数を減らし、ソフトウェア製品およびシステムインターフェイスを統合し、動作およびシステム管理のプロシージャを集中化する。結果として職員研
修が減る。
【０００６】
サーバの統合は、一般的に物理的統合または論理的統合とすることができる。物理的統合は、システムのスケーラビリティを拡張し、論理的統合は多数のアプリケーションまたはデータベースを集中型のアプリケーションまたはデータベースに移行する。さらに、物理的統合は、２つの主要なサブカテゴリ、サーバの統合および記憶の統合として考えることができる。物理的サーバの統合は、複数のサーバを利用し、そのオペレーティングシステムのインスタンスを大型のサーバの区分またはドメインに配置する。記憶装置の統合は、異なるソースからのデータを単一のリポジトリおよびフォーマットへと結合する。記憶装置は、データセンタにおける今日の最も重要な資産調達の検討材料の１つであり、その費用はサーバ費用と競合するまたはそれを超える可能性がある。記憶装置の経済的寿命は大半のサーバを超えるため、今日の記憶装置の決定は今後何年間の動作に影響を与える。
【０００７】
たとえば、所与のサーバが容量を超える場合、追加のアプリケーションをそのサーバに移動して、サーバの全体的な物理的な数を減じることができる。さらに、組織は典型的にシステムを５０％から６０％の利用で実行するように構成し、ピークの作業負荷のための余分の容量を残す。さまざまなサーバ上の、この使用されていない容量が大型のサーバファームにおけるサーバの数について考慮される場合に、無駄にされるリソースの量は莫大なものである可能性がある。サーバを統合することによって、使用されていない容量の量は、必要とされていないサーバの数と同様に大幅に低下する。
【０００８】
対象の特許文献は、サーバの統合の局面を自動化するためのさまざまな方法およびシステムについて記載している。
【課題を解決するための手段】
【０００９】
発明の概要
上述の特徴は、サーバファーム内のサーバ等の複数のコンピュータデバイスに対して行なわれる統合サービスで特に使用されるコンピュータデバイスのパラメータを比較するためのシステムおよび方法によって提供される。記憶装置は、サーバファーム内のサーバ等のコンピュータデバイスから収集された情報を含むデータセットファイルを記憶する。このデータセットファイルは、コンピュータデバイスの特徴を示す情報を含む。データセットファイルは、ＸＭＬ等のマークアップ言語における情報を記述する。第１のリレーショナルデータベースは、データセットファイルからのデータを受信するように構成されたテーブルを有する。１組の、コンピュータが読取可能な命令は、データセットファイルからのデータを第１のリレーショナルデータベースのテーブルにロードすることができ、２つのデータセットを互いに比較することができる。
【００１０】
コンピュータデバイスの特徴を示す情報は、システムパラメータ、実行可能なプロセスパラメータ、またはデータベースパラメータを示す情報を含む。
【００１１】
第１のリレーショナルデータベースは、データセットファイルからロードされた情報を維持する複数のテーブルを含む。たとえば、システム情報テーブルは、コンピュータデバイスのためのシステム情報を保持する。システム情報テーブルに関連するプロセステーブルは、コンピュータデバイス上の実行可能なプロセスに関連した情報を保持する。さらに、システム情報テーブルに関連するモジュールテーブルは、プロセスによって使用されるコンピュータデバイス上のモジュールに関する情報を保持する。さらに、データベース名テーブルは、コンピュータデバイスのデータベース名の名前を保持する。データベース名テーブルに関連する「テーブル」テーブルは、コンピュータデバイスのデータベースのテーブル名を保持する。さらに、「テーブル」テーブルに関連するカラムテーブルは、コンピュータデバイスのデータベースのカラム名を保持する。
【００１２】
本発明に従った統合のシステムおよび方法は、添付の図面を参照して以下でさらに記載される。
【発明を実施するための最良の形態】
【００１３】
例示の実施例の詳細な説明
ここで本発明の例示の実施例の詳細な説明が図１から１９を参照してなされる。この説明は、本発明の可能な実施例の詳細な例を提供するが、これらの詳細は例示的なものであり、本発明の範囲の限界を定めることは意図されていないことに留意すべきである。
【００１４】
図１は、対象の発明の主な局面の概略図である。一般的に、統合サービス１１５は、第１のサーバファーム１１０に与えられて、ハードウェア、ソフトウェアおよびそのサーバファームにおけるデータのインベントリを作成する。その情報の局面を用いて、サーバファーム１１０を第２のサーバファーム１２０へと統合する。第２のサーバファーム１２０は、ハードウェア、ソフトウェア、データ、またはこれらのアイテムのある組合せの統合を表わし得る。統合サービス１１５は、どの特徴が第１のサーバファーム１１０に存在するかを発見し、冗長性、リソースの利用等を決定するための発見された特徴を分析する編成された方法を与え、さらに第２の統合されたサーバファームの配置を助けるためのツールを提供するプロセスを通して統合の局面を自動化する助けをする。
【００１５】
典型的なサーバファーム、たとえばサーバファーム１１０は、さまざまなサーバ１１０ａから１１０ｆを有し得る。例示のサーバファーム１１０におけるサーバ１１０ａから１１０ｆは、さまざまな製造業者、機能および電力等であり得る。さらに、示されるように、さまざまなサーバはアプリケーションおよびデータの混合を含む。たとえば、サーバ１１０ａはアプリケーションＡｐｐＡおよびＡｐｐＢを実行し、サーバ１１０ｂはアプリケーションＡｐｐＡ１を実行し、データベースデータ１を保持し、サーバ１１０ｃはアプリケーションＡｐｐＢ１を実行し、サーバ１１０ｄはアプリケーションＡｐｐＣを実行し、サーバ１１０ｅはアプリケーションＡｐｐＣ１を実行し、サーバ１１０ｆはアプリケーションＡｐｐＤを実行し、データベースデータ２を保持する。特に、さまざまなアプリケーションは、同じアプリケーションのさまざまなバージョンであり得る。たとえば、アプリケーションＡｐｐＡ１は、同じバージョンであっても異なるバージョンであっても、アプリケーションＡｐｐＡの別のインスタンスであってもよい。同様にアプリケーションＡｐｐＢ１は、アプリケーションＡｐｐＢの別のインスタンスであってもよい。さらに、データベースデータ１およびデータ２は、共通の複数のフィールドを有し得、２つのデータベースを単一のデータベースへとマージすることができる。
【００１６】
上述のように、統合サービス１１５は、サーバファームをサーバファーム１２０へと統合するという主な目的のためにサーバファーム１１０に含まれるさまざまなサーバ、ハードウェア構成、アプリケーション、データベース等を発見するためのツールを提供する。
【００１７】
もちろん、機能性の一部が統合の際に故意に除去されなければ、サーバファーム１２０は、サーバファーム１１０によって以前に提供された機能性の少なくともすべてを提供する。統合されたサーバファーム１２０において、ハードウェアは、結合され、排除され、アップグレードされ得る。同様に、アプリケーションは、単一のサーバ上で実行するために統合され、排除され得、またはアップグレードされ、結合された単一のアプリケーションのさまざまなバージョン、たとえばアプリケーションＡｐｐＡおよびＡｐｐＡ１は、アプリケーションＡｐｐＡおよびＡｐｐＢへと統合され、ＡｐｐＢ１はアプリケーションＡｐｐＢへと統合されている。さらに、データベースデータ１およびデータ２はデータベースデータ１＋２へと統合されている。
【００１８】
図２は、統合管理システム１１７で動作する統合サービスの局面をさらに示している。統合システム１１７は、１つ以上のコンピュータデバイス上で実行する。コンピュータデバイスは、ネットワーク２１０を介してサーバファーム１１０に結合される。もちろん、統合システム１１７をサーバファームから分離して示しているのは例示のために過ぎない。当然のことながら、サービスは、サーバファーム内でまたはサーバファームなしでサーバまたはシステムを実行することができる。さらに、サーバファーム１１０および１２０は、分離したサーバファームとして示され、統合サービスが容易にする変形を示している。多くの例において、サーバファーム１２０は、サーバファーム１１０それ自体の更新および統合である。すなわち、サーバファームにおけるサーバの多くが再利用され、または統合されたサーバファームにおいて再配置される。
【００１９】
統合サービスの一部として実行される発見サービス２２０は、さまざまな発見サービス、たとえばアプリケーション／システムの発見、ＳＱＬサーバの発見等を含む。さまざまな発見サービスは、サーバファーム、たとえばサーバファーム１１０におけるさまざまなアセットを発見し、インベントリを作成するためにネットワーク２１０に亘って分配されるエージェントである。さまざまなサーバ、たとえば１１０ａから１１０ｆ上の発見された情報は、次に統合データベース２０６に記憶される。サーバファーム上のアセットの十分な部分が発見された後で、分析サービス２０４を用いて、サーバファームのさまざまな局面を分析することができる。最終的に、分析された情報を用いて、統合されたサーバファーム、たとえばサーバファーム１２０を管理および配置することができる。
【００２０】
主に、システムおよびアプリケーションエージェント、ならびに、ＳＱＬサービス発見エージェントの２種類のインベントリエージェントがある。他の種類のエージェントがあってもよい。たとえば、エージェントの種類は、オラクルデータベース、ＩＢＭデータベース、オブジェクト志向のデータベース等の情報を収集するように設計することができる。これらのエージェントは共にマイクロソフトウインドウズ（登録商標）の動作環境、ユニックス環境、またはリナックス（登録商標）環境におけるシステムハードウェア、アプリケーションおよびデータベースの構成に対する複数のデータポイントを捕える。システムおよびアプリケーションエージェントは、既存のアプリケーションを分析するために必要なデータポイントを検索するプロセスを補助して、統合のための適合性を決定し、統合されたアプリケーションインフラストラクチャの設計を補助する。システムおよびアプリケーションエージェントは、サーバ、アプリケーション、データベース、デバイス、プロセッサ、メモリを含む、さらにはシステムおよびアプリケーションエージェントインベントリモデル（以下で図１６Ａとの関連でさらに詳細に説明される）で規定されるようなこのような情報の関係を含む、クライアントの既存のサーバエステートの詳細なインベントリの獲得を容易にする。ＳＱＬサーバ発見エージェントは、ＳＱＬサーバデータベースの実現化例を分析するために必要なデータポイントを検索するためのプロセスを補助して、統合のための適合性を決定し、統合されたＳＱＬサーバインフラストラクチャの設計を補助する。データベース発見エージェントの動作は、マイクロソフトＳＱＬサーバを参照して本明細書に記載されるが、エージェントの説明および特徴は、オラクルシステムの特定の特徴に好適に適合されたオラクルデータベースシステムにも適用される。
【００２１】
ＳＱＬデータベースエージェントは、サーバ、ＳＱＬインスタンス、データベース、ユーザを含む、さらにデータベースインベントリモデル(以下で図１６Ｂとの関連でさらに詳細に説明される）で規定されたこのような情報の関係を含む、クライアントの既存のＳＱＬサーバエステートの詳細なインベントリの入手を容易にする。
【００２２】
図３は、発見プロセスを設定し開始するための例示の呼出画面を示している。ウインドウ３０２は、ユーザが発見プロセスを制御するのを可能にするためのさまざまなユーザインターフェイス機構を提供する。フォルダ部分３０４は、ユーザが、収集された発見デー
タ、たとえばフォルダ“／ＡＡＭ／ｊｏｅ”の記憶場所を選択するのを可能にする。ターゲットボックス３０６は、選択されたターゲットサーバの名前を表示する。ボックス３０８は、選択されたフォルダにおけるファイルのリストを表示する。ツール部分３１０は、ユーザが使用する発見ツールを選択するのを可能にする。この例では、ユーザは「発見システム」を選択している。ユーザは、「発見データベース」等の代替の発見を選択するかもしれない。
【００２３】
特に、ターゲットボックス３０６は、ホスト名によってターゲットサーバを指定するための技術について示している。他の技術も可能である。たとえば、システム１１７はサーバのコンマで分離されたリストを受取ることができ、またはシステムはドメインコントローラに照会し、サーバファームにおけるＩＰアドレスのサブネットリストを獲得することができる。一般的に、サーバは、ホスト名、ホストリスト、ＴＣＰ／ＩＰサブネット、マイクロソフトアクティブディレクトリサイト名、またはドメイン名によって識別することができる。ホスト名によって、ユーザはインベントリのための単一のサーバを選択することができる。この例では、ユーザはホストマシンの名前、ユーザ名および管理者特権を有するパスワードを指定する。ホストリストによって、ユーザはインベントリのためのホストリストからサーバのグループを選択することができる。ＴＣＰ／ＩＰサブネットによって、ユーザは特定のＴＣＰ／ＩＰサブネット内のすべてのサーバを選択することができる。この例において、ユーザはサブネット内のすべてのシステムのネットワークサブネットアドレスおよびユーザ名、ならびに管理者特権を有するパスワードを入力している。サイト名によって、ユーザは特定のサイトにおけるすべてのサーバを選択することができる。この例において、ユーザはサイト内のすべてのシステムのためのサイト名およびユーザ名ならびに管理者特権を有するパスワードを入力している。ドメイン名によって、ユーザはドメインにおけるすべてのサーバを選択することができる。発見ツールのユーザは、ドメイン内のすべてのシステムのためのドメイン名およびユーザ名ならびに管理者特権を有するパスワードを入力しなければならない。サーバファーム、たとえばサーバファーム１１０におけるサーバアドレスのリストを決定した後で、システムはターゲットサーバ、たとえば１１０ａにログインして発見プロセスを呼出す。
【００２４】
一般的に、ユーザは、発見プロセスを完了するために管理者としてターゲットサーバにログインしなければならない。したがって、発見サービスは、管理者のアカウントおよびパスワードへのアクセスを有していなければならない。このアカウントおよびパスワードは、一般的にサーバファーム、たとえばサーバファーム１１０を通したサーバのすべてであるが、必ずしもそうではない。発見プロセスはそれが処理される際に各システムのアカウント名およびパスワード情報を検索する。結果として、ログインプロセスは、ユーザ名およびパスワードを用いた後で発見プロセスを呼び出して、サーバファーム１１０内の複数のサーバ１１０ａ−１１０ｆの各々にログオンするように自動化することができる。発見の動作は、一般的に組織が、既存のユーザＩＤおよびパスワードを利用可能にするかまたは発見の標的となるサーバの新しいユーザＩＤおよびパスワードを生成することを要求する。ユーザＩＤは、プログラムをデバッグしてデバイスドライバをロードおよびアンロードするための権利を含む管理者特権を有するべきであり、発見のタスクが完了するとすぐにシステムから除去することができる。
【００２５】
発見ツールは、各指定されたサーバたとえば１１０ａへのリモートエージェントを開始して、そのシステム内で実行されるアプリケーションおよびプロセスのすべてについての情報を獲得する。エージェントは、獲得した情報をＸＭファイルとして統合コンピュータシステム１１７に書込み、ここでそれは統合データベース２０６に記憶される。リモートエージェントは次にターゲットサーバ、たとえば１１０ａから除去されて、それ自身のトレースを残さない。
【００２６】
発見プロセスは、一般的に、遠隔手順呼出（ＲＰＣ）、プロセス間通信（ＩＰＣ）、および名前付きパイプを使用して、１つのコンピュータデバイス（すなわち統合システム１１７をホストするコンピュータデバイス）上で実行される親プロセスをサーバコンピュータ、たとえば発見されている１１０ａと堅く結合する。ＲＰＣによってアプリケーションは遠隔から機能を呼出すことができる。したがって、ＲＰＣによってＩＰＣは、機能を呼出すのと同じくらい容易にする。ＲＰＣは単一のコンピュータまたはネットワーク上の異なるコンピュータ上のプロセスの間で動作する。
【００２７】
名前付きパイプを用いて、関連したプロセスではないプロセス間および異なるコンピュータ上のプロセス間のデータを転送する。典型的に、名前付きパイプサーバプロセスは、公知の名前またはそのクライアントに通信される名前を有する名前付きパイプを生成する。パイプの名前を知っている名前付きパイプクライアントプロセスは、その他の端部を開いて、名前付きパイプのサーバプロセスによって指定されたアクセスの制限を受けやすくすることができる。サーバおよびクライアントの双方がパイプに接続された後で、これらはパイプ上の読出および書込動作を行なうことによってデータを交換することができる。
【００２８】
発見は、システム情報およびサーバファームにある指定されたサーバ上のプロセスを実行することに関する情報を取り入れて、情報を図２のデータベース２０６に記憶するプロセスである。発見動作が各ターゲットサーバ上で終了すると、エージェントはサーバから除去され、外部のシステムからのサーバへのリンクが終了される。要約すれば、発見動作のトレースは組織のシステム内に残されるべきではない。
【００２９】
多数の発見は、特定の時間間隔における発見をスケジュールすることによって行われて、特定の時間のみに実行されるアプリケーションまたはプロセスを捕えることができる、または発見動作は手動で再び実行することができる。発見動作が繰返される毎に、サーバＸＭＬファイルの新しいバージョンが作成される。すべての修正はバージョン履歴に記憶され、そこで利用可能である。
【００３０】
アプリケーションおよびプロセス発見によって発見された情報の種類は、所与のシステム上のプロセッサの数、所与のシステム上で利用可能なプロセッサ、プロセッサのレベルおよび修正、デバイス、ディスクドライブの特徴および容量等のハードウェアの情報を含む。発見されたシステムの情報は、システム名、ページサイズ、オペレーティングシステムのバージョン、構築されたオペレーティングシステム、ネットワークの接続性等を含む。発見されたプロセスおよび依存情報は、アクティブなプロセスおよびその関連付けられた依存度（構成要素および構成の双方）、システムおよびプロセスレベルの双方でのプロセッサの使用、システムおよびプロセスレベル双方でのメモリの使用、プロセスの生成時間、プロセスＩＤ、プロセス所有者、プロセスの処理、プロセスおよび依存度のバージョンおよびタイムスタンプ、プロセスおよび依存度の説明を含む。
【００３１】
ＳＱＬサーバデータベースの発見は、ＳＱＬサーバの統合を容易にするように設計される。これは情報収集および分析プロセスの多くを自動化する。これはプロセス発見を通して収集された情報を補足する。収集された情報は、顧客の既存のＳＱＬサーバエステート、すなわちサーバ、インスタンス、データベース、ユーザ等の詳細なインベントリである。収集された情報はデータベース２０６に記憶され、分析プロセスの間に統合システム１１７によって使用される。
【００３２】
図４は、発見プロセスの局面をさらに示している。ターゲットサーバ、たとえば１１０ａは、好ましくは、全体的な発見プロセスの一部としてＧＵＩインターフェイスを通して選択される。選択された発見エージェント４０６は、特権のあるユーザアカウントを有するターゲットサーバ上でプッシュされて、クライアントマシン上でＸＭＬファイルフォー
マットへの情報の収集を開始する。ＸＭＬファイルは、トラッキングバージョンを有する統合データベース２０６に記憶される。ロードプロセスの一部として、ＸＭＬファイルにおける情報が読出され、一連の関連する記録へと変形されて、クエリためにキャッシュデータベースに記憶される。
【００３３】
統合データベース２０６を用いて、ターゲットのＳＱＬサーバから収集された情報を記憶する。データベースの種類は、好ましくはリレーショナルデータベースである。統合データベース２０６に加えておよびそれと混合しないために、ターゲットデータベース、たとえばターゲットＳＱＬサーバデータベースがある。このようなデータベースは、インベントリが取出されるインスタンスである。これらのデータベースにアクセスするために、データベース発見プロセスは、対象のＳＱＬサーバ上のＳＱＬ管理者特権アカウントを要求する。
【００３４】
ＳＱＬサーバのインスタンスに接続するために、典型的に、ＳＱＬサーバのインスタンスが実行しているコンピュータのネットワーク名およびインスタンス名（これは特定のインスタンスが発見される場合のみに必要である）を含む２つまたは３つの情報が要求される。
【００３５】
最初に、ログインした後で統合システム１１７は、プロシージャをターゲットサーバ、たとえば１１０ａにコピーする。特に、それはリモートサービスが実行可能なプログラム４０４をサーバコンピュータ上のａｄｍｉｎ＄のシェアにコピーする。その後で、４つの名前付きパイプ４０２が、図４に示されるようにリモートサービス４０４および統合システム１１７の間で開始される。４つの名前付きパイプ４０２、stdin, stdout, stderrおよびcontrolを用いて、統合システム１１７およびサーバ１１０ａ間の通信を容易にする。リモートサービス４０４は、名前付きパイプ４０２を用いて統合システム１１７およびサーバ１１０ａ間の接続を確立する。名前付きパイプ４０２が確立された後で、発見プロシージャ４０６、たとえば図３のツールボックス３１０から選択された発見プロシージャは、サーバ１１０ａにコピーされる。
【００３６】
発見プロセス４０６がターゲットサーバ１１０ａの代わりであるときに、制御パイプを用いて発見プロシージャ４０６を実行する。名前付きパイプ４０２、すなわちstdin, stdout, stderrおよびcontrolは、発見プロシージャにルーティングされる。発見プロセス４０６は、以下でより完全に説明されるように適切なインベントリの収集を実施し、ターゲットサーバ１１０ａのアセットを説明するデータを含むＸＭＬファイルに送返する。その後で発見プロセス４０６は終了し、次に好ましくはシャットダウンされ、ターゲットサーバ１１０ａから除去される。このプロセスは、サーバファーム１１０、たとえば１１０ｂ、１１０ｃ等における残っているサーバのために繰返される。
【００３７】
アプリケーションおよびシステムの発見エージェントがターゲットサーバ１１０ａ上で始動すると、さまざまなシステム呼出を用いてプロセスおよびＤＬＬ情報が収集される。ウインドウズ（登録商標）２０００のサーバオペレーティングシステム環境におけるすべてのプロセスのリストを得るために、以下の呼出が用いられる。
【００３８】
【数１】
2007524889.tif 000003
【００３９】
NtQuerySystemInformationは、さまざまな種類のシステム情報を検索する内部のウインドウズ（登録商標）の機能である。
【００４０】
SystemInformationClassは、検索されるべきシステム情報の種類を示している。この情報は、システムにおけるプロセスの数、プロセスによって用いられる処理の数を含む各プロセスのリソースの使用についての情報、ピークのページファイルの使用、およびプロセスが割当てられるメモリページの数等を含む。
【００４１】
SystemInformationは、要求された情報が戻されるバッファを指す。この情報のサイズおよび構造は、SystemInformationClassのパラメータの値に依存して変化する。
【００４２】
SystemInformationLengthは、SystemInformationパラメータによってバイトで示されるバッファのサイズである。
【００４３】
ReturnLengthは、関数が、要求される情報の実際のサイズを書込む場所への選択的なポインタである。
【００４４】
どのＤＬＬがプロセスによってロードされるかについての情報を得るために開始アドレスを提供する別の呼出が用いられる。この呼出は以下のとおりである。
【００４５】
【数２】
2007524889.tif 000004
【００４６】
ProcessHandleは、情報が検索されるプロセスへの処理を指定する。
【００４７】
ProcessInformationClassは、検出されるプロセス情報の種類を指定する。このパラメータは、指定されたプロセスがデバッグされているかどうかを決定するために用いることのできるＰＥＢ構造へのポインタ、および指定されたプロセスまたはプロセスがＷＯＷ６４環境（ＷＯＷ６４は、Ｗｉｎ３２ベースのアプリケーションが６４ビットのウィンドウズ（登録商標）で実行するのを可能にするｘ８６エミュレータである）で実行しているかどうかを識別するためにシステムによって用いられる一意の値のどちらも検索することができる。
【００４８】
ProcessInformationは、関数が、要求された情報を書込むアプリケーションを呼出すことによって供給されるバッファへのポインタである。
【００４９】
ProcessInformationLengthは、ProcessInformationパラメータによってバイトで示されたバッファのサイズである。
【００５０】
ReturnLengthは、機能が、要求された情報のサイズに戻る変数へのポインタである。
【００５１】
このようにして収集された情報は、ＸＭＬファイルに入れられて統合コンピュータシステム１１７に返送される。以下のＸＭＬはこのようなＸＭＬファイルの一部の例を示している。
【００５２】
【数３−１】
2007524889.tif 000005
【００５３】
【数３−２】
2007524889.tif 000006
【００５４】
ＳＱＬサーバ発見エージェントがターゲットサーバ１１０ａを開始すると、以下の行為が行なわれる。
【００５５】
１  エージェントはターゲットマシン１１０ａのＳＱＬサーバ名およびバージョンを入手する。
【００５６】
２  ターゲットマシン１１０ａのＳＱＬサーバの各インスタンスにつき以下の情報が入手される。
【００５７】
・データベーススキーマの提示が決定され、各データベースにつきテーブル、ビュー、インデックス、ロール等のスキーマ情報が収集される。
【００５８】
・ユーザログイン、許可およびロール
・マスタｄｂにおけるユーザオブジェクト
・データベースの名前ならびにログインおよびデータベースのクライアント名
・ＳＱＬ構成設定
・照合設定、
・ジョブおよびタスク
・ＳＱＬ警告
・複製
・ＤＴＳパッケージリスト
・データベースサイズおよびログサイズの情報
一般的に、入手されたデータを用いて多数のサーバ上のデータベースを複製するためのデータベースオブジェクト間の差を検出する。以下のデータベースオブジェクトが比較のために入手される。
【００５９】
ロール、ユーザ、エイリアス、デフォルト値、規則、機能、ユーザによって規定されたデータの種類、ユーザメッセージ、テーブル、ビュー、インデックス、拡張されたプロシージャ、記憶されたプロシージャおよびトリガが入手される。この情報を入手するのに利用可能な複数の方法がある。好ましい方法はＴ−ＳＱＬを用いてシステムテーブルからカタログ情報を収集する。以下の記述はマイクロソフトコーポレーション（Microsoft Corporation）から入手可能なＳＱＬサーバの実現化例を示している。それにもかかわらず、全体的な技術はオラクルデータベースシステム等の他のデータベースシステムにも適用可能である。
【００６０】
プロシージャを記憶したＳＱＬサーバの利用可能なシステムを用いて情報を入手する。たとえば、Systemprocessおよびsysdatabaseテーブルに対する結合クエリは以下のような情報の一部を入手する。
【００６１】
【数４】
2007524889.tif 000007
【００６２】
機能は如何なるユーザオブジェクトのためのマスタデータｄｂを問合せる。システムに記憶されたプロシージャを用いてデータを入手する。機能は、マスタデータベースにおけるユーザタイプのオブジェクトおよびその記述とともに見つけられるオブジェクトを探し、コンテンツがＸＭＬファイルに書込まれてキャッシュデータベースに記憶される。
【００６３】
【数５】
2007524889.tif 000008
【００６４】
１つよりも多いサーバにおける重複名および相反する許可のような潜在的なログインの問題を識別するために、この機能は利用可能な記憶されたプロシージャを介してログインおよび許可を入手する。
【００６５】
各インスタンスにつき、ログインのリストおよびそのインスタンス内の各データベースのロールを得る。
【００６６】
sp_configure等からの構成情報が抽出され、ＳＱＬサーバの特定のバージョンのデフォルト設定に対して比較される。
【００６７】
ＳＱＬサーバ機能ServerPropertyを用いて、以下に示されるような製品のバージョン、エディション、サービスパック、照合等を収集する。
【００６８】
【数６】
2007524889.tif 000009
【００６９】
非２０００ＳＱＬサーバについて、これらのフィールドの一部はナルである。
【００７０】
以下の機能は、ｍｓｄｂのsysjobsテーブルを介してジョブのリストを、sysAlertテーブルを介して警告のリストを、およびインスタンスのsysOperatorsを介してオペレータのリストを入手する。
【００７１】
ジョブ：
【００７２】
【数７】
2007524889.tif 000010
【００７３】
警告：
【００７４】
【数８】
2007524889.tif 000011
【００７５】
オペレータ
【００７６】
【数９】
2007524889.tif 000012
【００７７】
複製が可能な場合には、情報がデータベース上で収集され、複製のロール（発行者、配布者、加入者）および複製の種類とともにリスト、サーバ、インスタンスおよびｄｂ名において報告される。システムの記憶プロシージャ‘sp_helpreplicationdboption’を用いて複製情報を入手する。ＤＴＳパッケージ情報を入手するために、以下のＳＱＬステートメントが実行される。
【００７８】
【数１０】
2007524889.tif 000013
【００７９】
各データベースのデータベースサイズおよびログサイズを得るために、（使用されかつ自由な）ｄｂサイズおよび（使用されかつ自由な）ログサイズを用いて、server/instance/dbnameで報告する。以下は、各データベースに行き、情報の一部を得るために記憶されたプロシージャ‘sp_spaceused’を実行するサンプルコードである。
【００８０】
【数１１】
2007524889.tif 000014
【００８１】
ログサイズ情報を入手するために、以下のＳＱＬステートメントが使用される。
【００８２】
【数１２】
2007524889.tif 000015
【００８３】
入手したデータベースの情報は、ＸＭＬファイルにフォーマットされ、統合システム１１７に返信される。このようなおよびＸＭＬファイルの例示の一部は以下のとおりである。
【００８４】
【数１３】
2007524889.tif 000016
【００８５】
ここに、スキーマ情報の部分のみのより詳細なＸＭＬのレイアウトがある。
【００８６】
ＳＱＬインスタンス内の各データベースにつき、情報を含む<schemaInfo>と呼ばれる要素がある。
【００８７】
【数１４】
2007524889.tif 000017
【００８８】
特定のサーバの情報が発見された後で、プロセスは、サーバファーム、たとえば１１０における関心のあるサーバのすべてが発見されるまで、別のサーバ、たとえば１１０ｂの
ために繰返される。十分な数のサーバが発見された後で、それよりも、かなりの数のサーバが発見された後で、分析ツールを用いて統合プロセスの局面を補助することができる。
【００８９】
分析ツールは発見プロセスの間に得られる情報からの報告を解釈し生成する。各ファイルの修正を含む発見ファイルのいずれも開くことができる。したがって、分析プロセスは、発見されたサーバアセットの如何なるサブセットにも焦点を当てるように調整することができる。発見ファイルの組が一旦開かれると、分析ツールは分析されているシステムおよびプロセスの数を要約する。
【００９０】
本明細書において以下で、アプリケーション、データベース等が１つ以上の他のターゲットサーバへ移動するサーバ統合の文脈において分析が説明されるが、分析の局面および実際にここに記載されるツールの多くは単一のサーバに適用される。すなわち、サーバの局面は、異なる時点でそれ自体と比較することができる。したがって、上述の発見されたＸＭＬファイルは、サーバによって時間とともに維持されることに注目することが重要である。これによって２つの形態の時間をベースにした分析が可能になる。一方の場合に、使用中のプロセスおよびサーバのためにロードするシステムを、時間とともに変化する中で調査することができる。他方の場合に、サーバは統合のアクティビティが生じた後でそれ自身と比較することができる。これによって統合を後退させることができる。たとえば、アプリケーションおよびその従属性がソースサーバから統合ターゲットサーバに移動され、かつアプリケーションおよびその従属性の一部またはすべてが後でソースサーバから除去された場合に、ここに記載された分析ツールによって特徴のすべてを、サーバのインベントリの１つのバージョンを同じサーバのインベントリの異なるバージョンと比較する際に、適用することができる。このようにして、ユーザは初期のシステムの状態に戻ることができる。同様に、システムを用いてどのインベントリが特定のサーバに追加され、どのバージョンで追加が行なわれたのかを追跡することができる。このようにして、分析ツールによってユーザは、利用基準を超えさせたかもしれないサーバにどのアプリケーションが追加されたかを迅速に識別することができる。重要な点は、ここに記載されたツールは、統合の目的のためにソースサーバをターゲットサーバと比較するというコンテクスト以外のコンテクストにも適用されるということである。
【００９１】
アプリケーションの統合およびアプリケーションの共存のための機会を強調表示する報告を生成することができる。たとえば、共通プロセスレポートは、サーバファーム内の２つ以上のシステムで実行されるプロセスをリストする。共通のプロセスに関連付けられたアプリケーションは統合の候補である。分析ツールは、如何なる態様においても如何なる記憶された属性に記憶されるカスタムリポート出力を与える。
【００９２】
レポートは以下のデータ要素のいずれかのクエリーに基づいて生成することができる。
【００９３】
・ハードウェア情報
・所与のシステムのプロセッサの数
・所与のシステムの利用可能なプロセッサ
・プロセッサレベルおよび修正
・ＰＣＩバスのデバイス
・システム上の非ネットワークディスクドライブおよびドライブの特徴
・システム情報
・システム名
・オペレーティングシステムの修正
・構築されたオペレーティングシステム
・全体的なおよび利用可能なメモリ
・アプリケーション
・アプリケーション名
・アプリケーションバージョン
・プロセス
・プロセス名およびプロセスＩＤ
・プロセス所有者
・プロセスの従属性
・プロセスおよび従属性の記述
・プロセスおよび従属性のバージョンおよびタイムスタンプ
・実際のメモリおよび仮想のメモリ
・メモリページング
・プロセッサの使用
・実際のＣＰＵ時間
・プロセスで開かれた処理の数
図５は、統合のために収集されたデータの分析に関わる一般的なプロセスのフロー図を示している。この図はアプリケーションの統合の例を用いている。しかしながら、データ統合のための非常に類似したプロセスが生じる。明らかに、所与のサーバ上のアプリケーションおよびデータのすべてが他のサーバに統合される場合に、そのサーバは全体的にサーバからの除去の候補であり、物理的な統合をもたらす。
【００９４】
最初に、関心のある単数のまたは複数のサーバのデータが発見されたかどうかの判定を行なう（ステップ５０２）。潜在的な統合の候補のサーバを決定するために最初の高レベルの分析が行なわれる（ステップ５０４、５０６）。このプロセスは、分析ユーザインターフェイスの図と関連して以下でより完全に説明される。ステップ５０８で、統合の潜在的な利益に関する判定が行なわれる。潜在的な利益がある場合に、統合に必要なデータのすべてが収集される（ステップ５１０）。これは既に行なわれているかも知れず、そうであればこのステップをスキップすることができる。しかしながら、アプリケーションおよびその従属モジュールのすべてまたはデータベースならびにそのテーブルおよびカラムのすべて等の統合のために必要な詳細な情報のすべてが利用可能でなければならない（ステップ５１２）。その後で分析を行なって候補のサーバ上で共通の構成要素、たとえば候補のサーバ間で共通のアプリケーションおよびモジュールの数を判定する。次に、潜在的な統合のグループ化のリストが作成され、たとえばＥメールのアプリケーションは１つのマシン上で共にグループ化することができる（ステップＳ５１４，５１６）。
【００９５】
候補のアプリケーションおよび／またはデータベースが識別された後で、ばらつきがあるかどうか従属性が比較され、たとえば１つの候補サーバ上にＤＬＬがあり、他のサーバ上にＤＬＬと同じバージョンがある（ステップ５１８、５２０）。アプリケーションおよび／またはデータベースが統合された後で、統合されたサーバの性能値が測定されて、追加されたタスクを行なうための容量を有していることを保証する（ステップ５２２，５２５）。その後で、プロセス全体を繰返し、さらなる統合が有益なものかどうかを判定するために、統合されたサーバファームのための新しい情報を発見することができる。
【００９６】
図６は、統合分析で用いるための例示のユーザインターフェイス（ＵＩ）の例を示している。ウインドウ６００は、ユーザが関心のあるサーバファーム、たとえば１１０におけるサーバから収集した発見情報のさまざまなファイルを閲覧するためのインターフェイスを提供する。この目的のために、ウインドウ６００はフォルダに配置されたサーバ情報の階層的に配置されたサーバ情報のカタログを有するペイン６０２を有する。フォルダのうちの１つを選択することによって、ペイン６０２に表示され、ユーザはさまざまなサーバから収集された（上述した）ＸＭＬファイルのカタログを有するペイン６０４に提示される。特に、ＸＭＬファイルの各々はタイムスタンプ６０６とバージョン番号６０８とを含む。これによって、情報を、異なる時間に同じサーバで発見し、サーバの変化を監視する
ことができる。
【００９７】
図７は、ユーザが発見されたサーバのインベントリのすべてを見るのを可能にすることによって、サーバの統合の分析を支援するＵＩの一部の例を示している。ウインドウ７００は、２つのペイン７０２および７０３に分割される。ペイン７０２は、サーバのための発見された情報の階層的なビューを提供している。ここでたとえば、ユーザはサーバＯＴＧ−ＳＹＳ−３のシステムインベントリの階層的なビューを開いて、特にアプリケーションおよびアドービアクロバット５．０（７０４）を選択している。そのアプリケーションの属性７０６および対応する値７０８はペイン７０３に表示される。
【００９８】
図８は、選択されたサーバのアプリケーションの共通性の図形を提示することによってサーバ統合の分析を支援するＵＩの一部の例を示している。ウインドウ８００は、３つの円グラフ８０２、８０４および８０６の図を示している。円グラフ８０２は、異なる色またはシェーディングで現れる異なるおよび同じバージョンを有するアプリケーションとともに、１つよりも多いサーバに現れるアプリケーションを図示している。ここでたとえば、円グラフ８０２は、選択されたサーバ上でアプリケーションの非常に高い共通性があることを示し、統合によって利益を獲得し得ることを暗示している。同様に、円グラフ８０６はプロセスの共通性の量を示し、この例における高い共通性を示している。円グラフ８０４は、関心のあるサーバにおけるプロセスの従属性の共通性を図示している。共通性の詳細は、図９に詳細に示されるようにより詳細に見ることができる。
【００９９】
図９は、プロセスの共通性に関してさらなる詳細を与えるＵＩの例示の部分を示している。ウインドウ９００は、２つのペイン９０２および９０４に分割される。ペイン９０２は、統合分析を行なうためにサーバファームにおけるサーバのリスト、たとえばサーバファーム１１０を示している。ペイン９０４は、プロセス名９０６によってプロセスのリストを提供する。ペイン９０４は、発見情報の修正９１０とともに、プロセス９０８がどのサーバ上にあるかを示している。このウインドウ９００から、ユーザはどのサーバが共通のキープロセスを実行しているかを決定することによって統合のために候補のサーバをさらに分析することができる。
【０１００】
追加の分析機能は、メモリおよびプロセッサのロードの指示を与え、アンダーロードまたはオーバロードされるサーバを識別する助けをする。アンダーロードされるサーバは、そのアプリケーションを別のサーバへと統合させる候補であり得る。さらに、既にオーバロードされたサーバは、統合において追加のアプリケーションを受け入れるのに適切な候補ではなく、実際には別のサーバに移動されたそのアプリケーションの１つ以上から利益を獲得し得る。図１０は、ＣＰＵおよびメモリの利用を表示するための例示のＵＩを示している。ウインドウ１０００は２つのペイン１００２および１００４を有する。ペイン１００２は、サーバのインベントリの階層的なリストを提供する。ペイン１００４は、組合された平均的なＣＰＵおよびシステムにおけるサーバのためのメモリの利用を示すディスプレイを提供し、互換性の分析を助ける。バー１００６は、特定のサーバ上のＣＰＵおよびメモリロードを図形で示し、ＣＰＵロードを示す部分１００６ａと、メモリロードを示す部分１００６ｂとを有する。スライド１００８および１０１０は、ユーザが結果をフィルタリングすることができる機構を提供する。すなわちスライド１００８を設定することによって、ユーザは、最小のＣＰＵの利用がスライダによって設定されたしきい値よりも低いディスプレイからこれらのシステムを排除することができ、スライド１０１０を設定することによって、ユーザは、ＣＰＵの利用がスライダによって設定された最大のＣＰＵの利用しきい値を超えるシステムを排除することができる。同様に、スライド１０１２および１０１４により、ユーザは、最小および最大のしきい値を設定することによってメモリの利用をフィルタリングすることができる。フィルタリングによってユーザは統合の候補であるソースサーバを迅速に識別することができる。最小使用可能時間スピンボックス
１０１６を変更して、最後の再始動以降の動作の時間が、示された時間数よりも低いディスプレイからこれらのシステムを排除することができる。
【０１０１】
図１１は、サーバ統合のために与えられる分析ツールに関するさらなる詳細を提供する。ここで、ウインドウ１１１０は２つのペイン１１０２および１１０４を提供する。ペイン１１０２は、サーバファーム、たとえばシステムおよびアプリケーション発見ツールによって発見されたサーバファーム１１０におけるサーバのすべてをリストする。ペイン１１０４は、ラジオボタン１１０４および１１０６によってユーザがプロセスまたはシステムの互換性を選択するための機構を提供する。この例では、ユーザはシステムの互換性分析を選択している。その後でユーザは、ソースシステム１１０８、たとえば統合のためのサーバ候補および１つ以上のターゲットシステム１１１０を選択することができる。ソースシステムプロセスはボックス１１１２における表示である。
【０１０２】
図１２は、ソースサーバをターゲットサーバへと統合した結果の、表示インジケータによる分析をさらに詳述している。ウインドウ１２００は、図１１に示されるようにウインドウ１１００でなされた選択の結果を示す。ウインドウ１２００は、選択されたソースサーバＯＴＧ−ＴＥＳＴ−ＳＲＶ３（１．２）をターゲットサーバＯＴＧ−ＴＥＳＴ−ＳＲＶ２（１．２）へと統合した結果を表示している。ターゲットシステムはカラム１２０２に表示される。カラム１２０４は、どれだけ多くのＤＬＬがソース上で同じかを示し、ターゲットサーバおよびカラム１２０６は、どれだけ多くの共通のＤＬＬが異なっているかを示す。共通のＤＬＬは、たとえばウインドウズシステム３２のディレクトリに置かれることによって、システムにおけるすべてのアプリケーションによって用いられるものである。カラム１２０８は、統合前の目標のロードの割合を示し、カラム１２１０は統合後のターゲットのロードの割合を示す。ソースサーバからのＣＰＵの利用値を、ターゲットサーバの処理電力に正規化する。同様に、カラム１２１４および１２１６は、ターゲットマシンのメモリへの影響を表示する。ソースサーバからのメモリロード値は、ターゲットサーバ上のメモリのサイズに正規化される。この表示によってユーザは、ソースサーバのターゲットサーバへの統合がターゲットサーバを利用目標内に保つかどうかを迅速に決定し、ソースサーバから移動されたアプリケーションをサポートするためにどれだけ多くの追加のＤＬＬがターゲットサーバにロードされる必要があるかの指示を与える。
【０１０３】
システムの互換性に加えて、プロセスの互換性は、どのサーバを統合するかを決定する際に考慮すべき重要な事項である。プロセスの互換性の詳細な選択１１０６が図１１のペイン１１００で行なわれるときに、ソースシステムプロセスのリストボックス１１１２が使用可能になり、ユーザは１つ以上のプロセスを選択する。次にユーザはターゲットシステムリストボックス１１１０から単一のターゲットサーバを選択する。図１３は、プロセス分析の結果を表示し、かつユーザがプロセスの互換性を決定するのを助けるＵＩを提供する。ウインドウ１３００は、ソースおよびターゲットサーバ上の共通のＤＬＬの互換性および差の比較を表示する。カラム１３０２は共通のＤＬＬ名を表示し、カラム１２０４はそのバージョンを表示し、カラム１３０６はそのカラムがターゲットサーバ上に存在する（“１”）か存在しない（“０”）かを示す。さらに、ＤＬＬがターゲットサーバに存在しても、カラム１３０８はソースおよびターゲットのバージョンが同じ（“１”）か異なる（“０”）かの指示を与える。ターゲットシステム上のＤＬＬのバージョンが異なるときに、カラム１３１０はターゲットシステムで発見されたバージョンを含む。ここに示されるように、ソース上のＤＬＬの多くはターゲットサーバ上にも存在する。しかしながら、ターゲットバージョンはソースバージョンに一致しない。カラム１３０４および１３１０は、ソースおよびターゲットのＤＬＬバージョンそれぞれを与える。このようにして、ユーザはターゲットバージョンがＤＬＬの新しいバージョンであるかどうかを迅速に決定し、恐らく更新する必要性を減少させることができる。
【０１０４】
図１４および１５は、データベースの統合のコンテクストにおいて上述したのと同じ分析ツールの多くを提供する。サーバ上のアプリケーションおよびプロセスを統合するのに加えて、データベースの統合は統合の重要な局面でもある。データベースの統合は、データベースのスキーマがさまざまなサーバ上のデータベースまたはデータベースのインスタンス間でどのように異なるかについての理解を必要とする。より特定的に、データベースの統合は、同一ではない複数のデータベースが、組み合わせることができる共通の情報を十分有し得るという認識によって利用可能であり得る。この共通性は、少なくとも始めは、ターゲットデータベースがソースデータベースにおけるカラムのすべてまたはソースデータベースの十分な数のカラム、ならびにカラムおよび／またはテーブルをソースデータベースから追加する能力を有することを必要とする。その後で、トリガ、記憶されたプロシージャ、警告等をターゲットデータベースに移動させる等の追加の必要性に応えることができる。
【０１０５】
図１４は、共通のＳＱＬサーバログインの高位レベルの図を示している。この例において、ウインドウ１４００は２つのペイン１４０２および１４０４に分割される。ペイン１４０２は上記に示されたような発見の際にサーバにつき収集されたデータベースインベントリのリストを提供する。ペイン１４０４は、サーバファーム、たとえば１１０における多数のサーバで発見された共通のＳＱＬログインのすべてをリストする。カラム１４０６はデータベースのためのログイン名を与える。カラム１４０８はインスタンス名を与える。したがって、ユーザは共通のログイン名を有するどのデータベースがどのサーバ上にあるかを容易に決定することができる。
【０１０６】
データベースの互換性の詳細の選択１１１４が図１１のペイン１１００において行なわれるときに、ユーザはデータベースの互換性の分析を行なうことができる。図１５はデータベースの互換性を分析する必要のある追加の情報を与える。この例で、ウインドウ１５００は２つのペイン１５０２および１５０４を提供する。ペイン１５０２はペイン１４０２と同様である。ペイン１５０４は、テーブル名およびカラム名のリストを提供し、スキーマの共通性および差を示す。カラム１５０８は、問題となるテーブルのための、テーブル名およびカラム名のリストを提供する。カラム１５０６は、カラム１５０８にリストされたアイテムがデータベーステーブルであるかまたはデータベースカラムであるかを識別するアイテムの種類を提供する。カラム１５１０は、カラム１５０８におけるアイテムがターゲットサーバ上に存在する（“１”）か存在しない（“０”）かの指示を与える。カラム１５１２は、ソースおよびターゲット上のアイテムが互換性がある（“１”）か、互換性がない（“０”）か、またはそれを決定することができない（“？？？”）かの指示を当たる。
【０１０７】
図１６Ａおよび１６Ｂは、上述の分析ツールの実現についてのさらなる詳細を示す。特に、選択されたシステムおよびデータベースインベントリの選択されたＸＭＬファイルがデータベース２０６にロードされる（図２を参照）。次に、ＳＱＬのクエリをデータベースにおけるデータに対して実行し、分析を行なう、すなわち１つのサーバにおけるインベントリを別のサーバにおけるインベントリと比較する。図１６Ａは、収集されたＸＭＬデータを記憶するために用いることのできるスキーマ２０６ａの高レベルの図を示している。スキーマは使用することのできるテーブルの種類を示している。ＸＭＬデータは、ＸＭＬバルクロードまたは他のＳＱＬＸＭＬコマンド等の技術を知ることによってＳＱＬデータベースにロードすることができる。
【０１０８】
好ましくは、より柔軟なアプローチが用いられる。このような実現化例において、ＸＭＬローダはマイクロソフトＸＭＬパーザを用いてＸＭＬコンテンツをデータセットにパーズする。次にデータセットを用いて関係レコードを確立し、リレーショナルデータベース、たとえばデータベース２０６に記憶する。
【０１０９】
スキーマ２０６ａは、システム名、製造元、型番、システムメモリ情報等の情報、ならびにデータのソース、すなわちどのＸＭＬファイルかおよびバージョン番号かについての情報を含むSysinfoテーブル１６０２を含む。HardwareInfoテーブル１６０４は、プロセッサの数および利用可能なプロセッサ等のサーバハードウェア情報を含む。ネットワークテーブル１６０８は、ＮＩＣ識別子、ＩＰアドレス等のさまざまなネットワーク情報を含む。デバイステーブル１６１０はデバイス名等のハードウェアデバイスに関する情報を含む。ドライブテーブル１６０６は、合計のバイトストレージ、バイトフリー、ボリューム名等のサーバドライブ情報を含む。アプリケーションテーブル１６１２は、アプリケーション名およびバージョン番号等の情報を含む。プロセステーブル１６１４は、プロセス所有者、ＣＰＵ利用情報、メモリ利用情報等のプロセスに関する情報を含む。モジュールテーブル１６１８は、モジュールサイズ、モジュール名等のモジュール情報を含む。プロセスモジュール関連テーブル１６１６はモジュールを親プロセスに関連付ける。
【０１１０】
スキーマ２０６ａは、アプリケーションの統合といったシステムインベントリ分析を行なうのに有益である。データベース分析に関して、図１６ＢはデータインベントリＸＭＬファイルとともに用いるための高位レベルのスキーマを示している。このように、上述のようにさまざまなサーバから発見された選択されたデータベースＸＭＬファイルは、スキーマ２０６ｂに従ってデータベース２０６にロードされる。サーバテーブル１６２０はどのサーバが、発見されたデータベースを維持しているかを識別する情報を保持する。インスタンステーブル１６２２は、サーバ、たとえばＳＱＬサーバ６．０およびＳＱＬサーバ７．０にインストールされたデータベースサーバの１つ以上のインスタンスの名前に関する情報を保持する。各インスタンスにつき、データベーステーブル１６２４はそのインスタンス内の１つ以上のデータベースに関する情報を含む。テーブル１６２４における各データベースについて、「テーブル」テーブル１６２６はテーブル名のすべてを有し、カラムテーブル１６２８は所与のテーブルのためのカラムのすべてを保持する。プロシージャテーブル１６３２は、データベースで用いられる記憶されたプロシージャの名前等の情報を保持する。機能テーブル１６３６は、データベースに関連付けられた機能名のリストを保持する。トリガテーブル１６４０は、データベースに関連付けられたトリガ名のリストを保持する。ＤＢロールテーブル１６４４は、データベースに関連付けられたデータベースのロールのリストを保持する。さらに、インスタンステーブル１６２２における各インスタンスにつき、ＤＴＳＰパッケージテーブルは、パッケージおよび所有者の名前等のデータベースに関連付けられたデータ送信サービスパッケージに関連する情報を保持する。ログインテーブル１６３８は、ユーザ名等のログイン情報を保持する。最終的に、サーバロールテーブル１６４２は、メンバ名およびメンバのＳＩＤ等のサーバロールに関連する情報を保持する。
【０１１１】
分析が完了して統合の候補が識別された後で、ターゲットサーバに移動および／またはロードされなければならないかなりの数のファイルがあるかも知れない。図１７および１８は、少なくとも新しいアセットのターゲットサーバへの配置の局面を自動化する助けをするサブジェクトシステムの局面を示している。図１７は、例示のアセット配置ＵＩを示している。ウインドウ１７００はドロップダウンボックス１７０２を有し、配置ツールが選択される。セレクトボックス１７０８は、アセットが配置されるべきターゲットサーバを識別するための機構を提供する。ペイン１７０６は、ターゲットサーバ上で配置されるべきさまざまなアセットのすべてを識別する。特に、ボックス１７０４は、ユーザにターゲットサーバ上のアセットの配置と関連して用いられる配置のルールを規定するための機能を提供する。
【０１１２】
ユーザが配置ルールが用いられるべきであると決定した後で、選択する定義ボタン１７０５を選択するとルールのエディタが開始される。図１８はルールエディタをさらに示し
ている。ウインドウ１８００は、以下のテンプレートを含む予め規定されたルールテンプレートの例示のリストを提供する。
【０１１３】
ドライブ上の最小ディスクスペースをチェックする。
【０１１４】
最小メモリ（ＲＡＭ）をチェックする。
【０１１５】
プロセッサの最小数をチェックする。
【０１１６】
このアプリケーションのコピーが既にインストールされているかどうかをチェックする。
【０１１７】
競合するアプリケーションがインストールされていないことを確認する。
【０１１８】
要求されたアプリケーションが既にインストールされていることを確認する。
【０１１９】
もちろん、対象のシステムのこの局面の範囲から逸脱することなく他のルールテンプレートを規定することができる。
【０１２０】
図１９は配置システムの局面をさらに示している。ここで、本明細書において上述のように、統合情報が収集され分析されている。その後で、統合されたサーバファーム１２０が配置される。この目的のために、実行可能要素、２進数およびインストールを実行するのに必要なファイルの本質的にすべてが、セットアップファイルを有するフォルダへと配置される。典型的に、これはフォルダ毎の単一のアプリケーションであるが、このように制限される必要はない。さらに、配置のためのテンプレートが選択される。たとえば、最小のメモリが選択された場合、ユーザは最小のメモリ要件、たとえば５１２ＭＢを規定する。同様に、他の選択されたテンプレートのためのパラメータ、たとえば２プロセッサ、ディスクスペースの１ギガバイト等が規定される。ある時点で、配置のためターゲットサーバが選択される。図１９に示されるように、サーバ１２０ａおよび１２０ｂが選択された。代わりにすべてのドメインが選択され得る。システムの発見の局面と関連して上述したように、ターゲットシステムのアセットが発見される。これは初期の統合プロセスの一部として実行されるか、または独立して実行することができる。
【０１２１】
発見された情報を含む関連するＸＭＬファイルはパーズされて、規定されたルールと比較される。ルールにパスした場合に、ファイルはターゲットサーバまたはサーバに送信されて、インストールおよび遠隔プロシージャの呼出しが行なわれてインストールを開始させる。好ましくは、送信されたインストールファイルは送信の前に圧縮され、ターゲット上で圧縮解除される。好ましくは、圧縮は、送信の前に構成ファイルをｚｉｐし、ターゲットサーバで構成フォルダをｕｎｚｉｐすることによって行なわれる。ｕｎｚｉｐプログラムは、たとえば自己抽出ファイルとしてｕｎｚｉｐプログラムをバンドルすることによってプロセスの一部として送信され得る。
【０１２２】
好ましくは、規定されたルールの検査はＸＭＬファイルに対してＸＰＡＴＨクエリによって行なわれる。たとえば、発見と関連して先に規定した例示のＸＭＬファイルを用いると、以下のＸＭＬの抜粋に適用された場合に、プロセッサの数のＸＰＡＴＨクエリは“２”に戻る。
【０１２３】
【数１５】
2007524889.tif 000018
【０１２４】
類似のＸＰＡＴＨクエリは他のルール値にも適用することができる。
【０１２５】
上述の配置は、統合のコンテクスト以外のコンテクストにも使用され得る。たとえば、会社はその組織全体を通して複数のクライアントマシンにわたるアプリケーションを配置したいかも知れない。上記の技術によって、単一の配置セットアップは、規定されたルールに応じる選択されたマシンでのアプリケーションを自動的にインストールすることができる。
【０１２６】
上述の統合は例示の説明に過ぎず、すべてのサーバの統合においてアプリケーションおよびデータベースが統合されることを示すことを意図するものではない。むしろ、この例は、可能であり得る統合の兆候を示すことを意図している。包括的なテーマは、統合１１５がハードウェア、ソフトウェア、サーバファーム１１０等のサーバファーム上のデータのインベントリを決定しかつそのハードウェア、ソフトウェアおよびデータの統合を簡略化するためのツールを提供することである。
【０１２７】
以下に記載される本発明の実施例の要素は、ハードウェア、ファームウェア、ソフトウェアまたはその如何なる組合せによっても実現され得る。ハードウェアという用語は、一般的に電気的、電磁的、光学的、電気光学的、機械的、電気機械的な部品等の物理的構造を有する要素のことを指し、一方でソフトウェアという用語は一般的に、論理構造、方法、プロシージャ、プログラム、ルーチン、プロセス、アルゴリズム、公式、関数、式等のことを指す。ファームウェアという用語は一般的に、ハードウェア構造（たとえばフラッシュメモリ、ＲＯＭ、ＥＲＯＭ）において実現または実施される、論理構造、方法、プロシージャ、プログラム、ルーチン、プロセス、アルゴリズム、公式、関数、式等のことを指す。ファームウェアの例は、マイクロコード、書込可能な制御記憶装置、およびミクロプログラム構造を含み得る。ソフトウェアまたはファームウェアで実現されるときに、本発明の実施例の要素は、本質的に必要なタスクを行なうためのコードセグメントである。ソフトウェア／ファームウェアは、本発明の一実施例で記載される動作を実行するための実際のコード、または動作をエミュレートもしくはシミュレートするためのコードを含み得る。プログラムまたはコードセグメントは、プロセッサまたは機械がアクセス可能な媒体において記憶されるか、または送信媒体上で、搬送波において実現されるコンピュータデータ信号、もしくは搬送波によって変調される信号によって送信される。「プロセッサが読取可能なまたはアクセス可能な媒体」または「機械が読取可能なまたはアクセス可能な媒体」は、情報を記憶、送信または転送することのできる如何なる媒体も含み得る。プロセッサが読取可能なまたは機械がアクセス可能な媒体の例は、電気回路、半導体メモリデバイス、読取専用メモリ（ＲＯＭ）、フラッシュメモリ、消去可能なＲＯＭ（ＥＲＯＭ
）、フロッピー（登録商標）ディスク、コンパクトディスク（ＣＤ）、ＲＯＭ、光ディスク、ハードディスク、光ファイバ媒体、無線周波数（ＲＦ）リンク等を含む。コンピュータデータ信号は、電子ネットワークチャネル、光ファイバ、エアリンク、電磁リンク、ＲＦリンク等の送信媒体上で伝播することができる如何なる信号も含み得る。コードセグメントは、インターネット、イントラネット等のコンピュータネットワークを介してダウンロードされ得る。機械がアクセス可能な媒体は製品において実現され得る。機械がアクセス可能な媒体は、機械がアクセスするときに、機械に以下に記載する動作を行なわせるデータを含み得る。機械がアクセス可能な媒体は、そこに埋込まれたプログラムコードを含み得る。プログラムコードは、以下に記載される動作を行なう機械が読取可能なコードを含み得る。「データ」という用語は、ここでは機械が読取可能な目的のために符号化される如何なる種類の情報のことも指す。したがって、それはプログラム、コード、データ、ファイル等を含み得る。
【０１２８】
本発明の実施例のすべてまたは一部は、ハードウェア、ソフトウェア、もしくはファームウェア、またはその如何なる組合せによっても実現され得る。ハードウェア、ソフトウェア、ファームウェア要素は、互いに結合された複数のモジュールを有し得る。ハードウェアモジュールは、機械的、電気的、光学的、電磁的または如何なる物理的接続によっても別のモジュールに結合される。ソフトウェアモジュールは、関数、プロシージャ、方法、サブプログラム、またはサブルーチン呼出し、ジャンプ、リンク、パラメータ、変数および引数、関数リターン等によって別のモジュールに結合される。ソフトウェアモジュールは別のモジュールに結合されて、変数、パラメータ、引数、ポインタ等を受信し、および／または結果、更新された変数、ポインタ等を生成もしくは渡す。ファームウェアモジュールは、上述のハードウェアおよびソフトウェアの結合の方法の如何なる組合せによっても別のモジュールに結合される。ハードウェア、ソフトウェア、またはファームウェアモジュールは、別のハードウェア、ソフトウェア、またはファームウェアモジュールのいずれか１つに結合され得る。モジュールは、プラットホーム上で実行されるオペレーティングシステムと相互作用するためのソフトウェアドライバまたはインターフェイスであってもよい。モジュールは、ハードウェアデバイスへのおよびそこからのデータを構成、設定、初期化、送信および受信するためのハードウェアドライバであってもよい。装置は、ハードウェア、ソフトウェアおよびファームウェアモジュールの如何なる組合せも含み得る。
【０１２９】
本発明の実施例は、通常フローチャート、フロー図、構造図またはブロック図として示されるプロセスとして記載され得る。フローチャートは一連のプロセスとしての動作を記載し得るが、動作の多くは並列してまたは同時に行なうことができる。さらに、動作の順序は再び配置され得る。プロセスはその動作が完了したときに終了され得る。
【０１３０】
多くの追加の修正が本発明の新しい教示および利点から実質的に逸脱することなく例示の実施例においても可能であることを当業者は容易に認識するであろう。いかなるこのような修正も、別掲の例示のクレームによって規定されるような本発明の範囲内に含まれることが意図される。
【図面の簡単な説明】
【０１３１】
【図１】サーバファーム統合の例示の図を示している。
【図２】図１における統合で用いられるような統合システムのさらなる詳細を示している。
【図３】サーバ統合の発見の局面を呼出すための例示のユーザインターフェイスを示す図である。
【図４】システムの発見の配置の局面を示すブロック図である。
【図５】全体的なサーバ統合を示す高レベルのフロー図である。
【図６】発見されたサーバ情報の階層的なフォルダ図を示す例示的なユーザインターフェイスを示す図である。
【図７】サーバ上で発見されたアプリケーションの詳細を表示するための例示のユーザインターフェイスを示す図である。
【図８】サーバファームにおけるサーバ間の共通性および差を決定する分析を助ける例示のユーザインターフェイスを示す図である。
【図９】サーバ間でのアプリケーションの共通性に関するさらなる分析の詳細を与える例示のユーザインターフェイスを示す図である。
【図１０】ＣＰＵの利用およびメモリ制約によってサーバを見るための例示のユーザインターフェイスを示す図である。
【図１１】統合分析のためのソースおよびターゲットシステムを選択するための例示のユーザインターフェイスを示す図である。
【図１２】ソースサーバをターゲットサーバに統合した結果を示す例示のユーザインターフェイスを示す図である。
【図１３】プロセス分析の結果を表示する例示のユーザインターフェイスである。
【図１４】データベース統合において用いるための例示のユーザインターフェイスであり、共通のＳＱＬログインに関する情報を提供する図である。
【図１５】データベース統合で用いるための例示のユーザインターフェイスであり、テーブルおよびカラムの互換性に関する情報を提供する図である。
【図１６Ａ】システムおよびアプリケーションの互換性の分析において用いるためのシステムおよびアプリケーションのデータベースモデルの例を示す図である。
【図１６Ｂ】データベースの互換性および統合分析で用いるためのデータベースモデルの例である。
【図１７】サーバ統合におけるアプリケーションの配置等のネットワークにおけるコンピュータシステムへアプリケーションを配置する際に用いられる例示のユーザインターフェイスを示す図である。
【図１８】アプリケーションの配置と関連した配置のルールを選択するための例示のユーザインターフェイスを示す図である。
【図１９】サーバ統合アプリケーションにおけるアプリケーションの配置を示すブロック図である。
【図１】
2007524889.tif 000019
【図２】
2007524889.tif 000020
【図３】
2007524889.tif 000021
【図４】
2007524889.tif 000022
【図５】
2007524889.tif 000023
【図６】
2007524889.tif 000024
【図７】
2007524889.tif 000025
【図８】
2007524889.tif 000026
【図９】
2007524889.tif 000027
【図１０】
2007524889.tif 000028
【図１１】
2007524889.tif 000029
【図１２】
2007524889.tif 000030
【図１３】
2007524889.tif 000031
【図１４】
2007524889.tif 000032
【図１５】
2007524889.tif 000033
2007524889.tif 000034
2007524889.tif 000035
【図１７】
2007524889.tif 000036
【図１８】
2007524889.tif 000037
【図１９】
2007524889.tif 000038
【手続補正書】
【提出日】平成17年11月24日(2005.11.24)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2007524889.tif 000039
【国際調査報告】
2007524889.tif 000040