(57)【要約】【課題】  システム管理者が情報取得手順を作成しなくても、システム構成要素間の依存関係を明確にできるようにする。【解決手段】  システムスキーマ記憶部２３１は、システムスキーマを記憶する。システムスキーマは、例えば「サーバにはネットワークインタフェースカードが組み込まれている」等のようなコンピュータネットワークの概念的な構成を表現している。情報取得手順記憶部２３２は、管理対象システムから各装置の識別子等の実体情報を取得するための情報取得手順を記憶する。情報対応付け要求解釈手段２２１は、入力装置２１０からの入力に応じた情報取得手順が記憶されていない場合、システムスキーマ検索手段２２２にシステムスキーマを検索させ、情報取得手順を生成させる。情報取得手順実行手段２２４は、情報取得手順に従って、管理対象システム２４０からシステム構成要素の情報を取得する。【選択図】  図６
2005275533.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワークシステムに含まれる要素および要素間の関連を所定の表現形式でモデル化することによってコンピュータネットワークシステムの構造を記述したシステムスキーマを記憶するシステムスキーマ記憶手段と、
管理対象のコンピュータネットワークシステムに含まれる要素のうちの２つの要素の情報が入力されたときに、入力された２つの要素の情報とシステムスキーマとに基づいて、管理対象のコンピュータネットワークシステムから前記２つの要素を結びつけている各要素および前記各要素間の関連を示す情報を取得するための情報取得手順を生成する情報取得手順生成手段とを
備えたことを特徴とするコンピュータネットワーク管理システム。
【請求項２】
情報取得手順生成手段は、システムスキーマ内の一の要素と関連する要素のモデル化された情報、および前記一の要素と前記関連する要素との間の関連のモデル化された情報を探索する探索処理を実行し、入力された情報が示す２つの要素の一方を起点とし、他方を終点とし、起点から前記探索処理を順次実行していくことにより、起点と終点との間の各要素および各要素間の関連のモデル化された情報をシステムスキーマから検索し、検索結果を情報取得手順とする請求項１に記載のコンピュータネットワーク管理システム。
【請求項３】
システムスキーマ記憶手段は、一の要素が当該一の要素または他の要素と関連するときに、関連する要素の実体の数を表す多重度を定めたシステムスキーマを記憶し、
情報取得手順生成手段は、探索処理を順次実行していく過程で、前記関連する要素から前記一の要素を探索し再度前記関連する要素を探索するという折り返しを、多重度が示す回数以上行うことを禁止する
請求項２に記載のコンピュータネットワーク管理システム。
【請求項４】
情報取得手順に含めるべき要素または情報取得手順から排除すべき要素を指定される要素指定手段を備え、
情報取得手順生成手段は、要素指定手段が情報取得手順に含めるべき要素を指定された場合には、当該要素のモデル化された情報を含む情報取得手順を生成し、要素指定手段が情報取得手順から排除すべき要素を指定された場合には、当該要素のモデル化された情報を排除した情報取得手順を生成する
請求項１から請求項３のうちのいずれか１項に記載のコンピュータネットワーク管理システム。
【請求項５】
情報取得手順に含めるべき要素間の関連または情報取得手順から排除すべき要素間の関連を指定される関連指定手段を備え、
情報取得手順生成手段は、関連指定手段が情報取得手順に含めるべき要素間の関連を指定された場合には、当該要素間の関連のモデル化された情報を含む情報取得手順を生成し、関連指定手段が情報取得手順から排除すべき要素間の関連を指定された場合には、当該要素間の関連のモデル化された情報を排除した情報取得手順を生成する
請求項１から請求項４のうちのいずれか１項に記載のコンピュータネットワーク管理システム。
【請求項６】
情報取得手順生成手段が生成した情報取得手順に従って、管理対象のコンピュータネットワークシステムから、入力された２つの要素を結びつけている各要素および前記各要素間の関連を示す情報を取得する情報取得手段を備えた
請求項１から請求項５のうちのいずれか１項に記載のコンピュータネットワーク管理システム。
【請求項７】
情報取得手段が取得した情報を出力する出力手段と、
出力手段が出力する情報の条件を指定される条件指定手段とを備え、
情報取得手段は、管理対象のコンピュータネットワークシステムから前記条件を満足する情報を取得する
請求項６に記載のコンピュータネットワーク管理システム。
【請求項８】
情報取得手段が取得した情報を出力する出力手段と、
出力手段が出力する情報の条件を指定される条件指定手段とを備え、
出力手段は、情報取得手段が管理対象のコンピュータネットワークシステムから取得した情報のうち、前記条件を満足する情報を出力する
請求項６または請求項７に記載のコンピュータネットワーク管理システム。
【請求項９】
システムスキーマ記憶手段は、複数種類のシステムスキーマを記憶し、
外部から指定されたシステムスキーマの選択または入力された２つの要素の情報に応じたシステムスキーマの選択を行うシステムスキーマ選択手段を備え、
情報取得手順生成手段は、システムスキーマ選択手段が選択したシステムスキーマに基づいて情報取得手順を生成する
請求項１から請求項８のうちのいずれか１項に記載のコンピュータネットワーク管理システム。
【請求項１０】
システムスキーマ記憶手段は、継承関係を有する要素を含むシステムスキーマを記憶し、
情報取得手順生成手段は、他の要素を継承している要素と関連する要素のモデル化された情報を探索する際に、前記他の要素と関連する要素、および前記他の要素と関連する要素を継承している要素のモデル化された情報を探索する
請求項１から請求項９のうちのいずれか１項に記載のコンピュータネットワーク管理システム。
【請求項１１】
システムスキーマ記憶手段が、コンピュータネットワークシステムに含まれる要素および要素間の関連を所定の表現形式でモデル化することによってコンピュータネットワークシステムの構造を記述したシステムスキーマを記憶し、
情報取得手順生成手段が、管理対象のコンピュータネットワークシステムに含まれる要素のうちの２つの要素の情報が入力されたときに、入力された２つの要素の情報とシステムスキーマとに基づいて、管理対象のコンピュータネットワークシステムから前記２つの要素を結びつけている各要素および前記各要素間の関連を示す情報を取得するための情報取得手順を生成する
ことを特徴とするコンピュータネットワーク管理方法。
【請求項１２】
コンピュータネットワークシステムに含まれる要素および要素間の関連を所定の表現形式でモデル化することによってコンピュータネットワークシステムの構造を記述したシステムスキーマを記憶するシステムスキーマ記憶手段を備えたコンピュータに搭載されるコンピュータネットワーク管理プログラムであって、
前記コンピュータに、
管理対象のコンピュータネットワークシステムに含まれる要素のうちの２つの要素の情報が入力されたときに、入力された２つの要素の情報とシステムスキーマとに基づいて、管理対象のコンピュータネットワークシステムから前記２つの要素を結びつけている各要素および前記各要素間の関連を示す情報を取得するための情報取得手順を生成する処理
を実行させるためのコンピュータネットワーク管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータネットワーク管理システム、コンピュータネットワーク管理方法およびコンピュータネットワーク管理プログラムに関し、特に、管理対象のコンピュータネットワークシステムを構成する２つのシステム構成要素について、そのシステム構成要素間の依存関係情報を取得するために必要な情報取得手順を生成することのできるコンピュータネットワーク管理システム、コンピュータネットワーク管理方法およびコンピュータネットワーク管理プログラムに関する。
【背景技術】
【０００２】
近年のコンピュータネットワークシステムは多様化の一途を辿っている。例えば、あるコンピュータネットワークシステムは、Ｅｔｈｅｒｎｅｔ（登録商標）やＭＰＬＳ（Multiprotocol Label Switching ）、ＡＴＭ（Asynchronous Transfer Mode）といったリンクレイヤプロトコル、あるいはＷｉｎｄｏｗｓ（登録商標）やＬｉｎｕｘ（登録商標）といったコンピュータＯＳ（Operating System）等、多種多様なシステム構成要素を有している。そして、これらのシステム構成要素は互いに依存関係を持ちつつ、コンピュータネットワークシステムを構成している。
【０００３】
なお、「システム構成要素」には、ハードウェア、ソフトウェアが含まれる。また、ハードウェアやソフトウェアだけでなく、セキュリティポリシー等の情報や、人間（例えばシステム管理者やユーザ）もシステム構成要素に該当する。ハードウェアの例として、コンピュータ、スイッチ、ネットワークインタフェースカード等が挙げられ、ソフトウェアの例として、ＯＳ等が挙げられる。ここに挙げたものは、例示であり、ハードウェアおよびソフトウェアは上記のものに限定されるわけではない。
【０００４】
また、システム構成要素間の「依存関係」とは、システム構成要素同士が、直接あるいは他のシステム構成要素を介して連鎖的に結びつけられている関係を指す。「結びつけられている」とは、接続されていること、インストールされていること、人間がハードウェアまたはソフトウェアを使用すること、人間が組織に属していること、組織に対してハードウェアやソフトウェアが割り当てられていること等を含む。このような結びつきが連鎖的に連なって、システム構成要素間の「依存関係」が成立していてもよい。また、二つのシステム構成要素の依存関係を明らかにすることを、「依存関係を解決する」と記すことにする。
【０００５】
システム構成要素の依存関係の一例を以下で示す。あるコンピュータネットワークシステムにおけるＤＨＣＰ（Dynamic Host Configuration Protocol ）サーバは、サーバ名がＡであるサーバであったとする。そして、このサーバＡにはｅｔｈ０というネットワークインターフェースカードが組み込まれており、このｅｔｈ０というネットワークインターフェースカードはＥｔｈｅｒｎｅｔ（登録商標）プロトコルを実装している。さらにこのネットワークインターフェースカードは、Ｅｔｈｅｒｎｅｔ（登録商標）プロトコルを用いてスイッチＢのポート１とレイヤ２接続をしている。以上は、ネットワークの側面から見たサーバＡ（ＤＨＣＰサーバ）とスイッチＢとの依存関係の例である。また、ネットワーク以外の側面から見てもＤＨＣＰサーバは他のシステム構成要素と依存関係にある。例えば、ＤＣＨＰサーバは、何らかのソフトウェアやサーバ管理者とも依存関係を有している。
【０００６】
なお、依存関係を解決する場合、２つのシステム構成要素が入力情報となり、その２つのシステム構成要素間の依存関係が出力情報となる。この入力情報と出力情報は対応関係にある。従って、依存関係の解決のことを、２つのシステム構成要素（入力情報）と、その２つのシステム構成要素間の依存関係（出力情報）との「対応付け」と記す場合もある。例えば、スイッチＢとサーバとの依存関係の解決は、「スイッチＢおよびサーバ」と、「スイッチＢ、ポート１、レイヤ２接続、ｅｔｈ０、サーバＡという依存関係」との対応付けであるということができる。
【０００７】
このように、今日のコンピュータネットワークシステムは多様なシステム構成要素によって構成されており、それらが相互に依存関係を有することでコンピュータネットワークシステムは成り立っているといえる。したがって、コンピュータネットワークシステムの構築とは、複数のシステム構成要素間に依存関係を持たせることであるということができる。また、システム運用とは一定の依存関係を維持し続けることであるということができる。さらに、システムの構成変更とは依存関係を変更することであるということができる。よって、このようなコンピュータネットワークシステムを構築、運用または構成変更するためには、システム管理者は興味のあるシステム構成要素が他のシステム構成要素とどのような依存関係にあるかという情報を把握しなければならない。
【０００８】
前述のＤＨＣＰサーバの例を用いて、システムの運用や構成変更の際に依存関係の把握が必要であることを示す。今、システム管理者がシステムの構成変更を行うためにスイッチＢの電源を落としたいと考えたとする。このとき、このスイッチＢと他のシステム構成要素との依存関係を把握せずに、システム管理者がスイッチＢの電源を落としたとすると、ＤＨＣＰサーバとスイッチＢの間の接続性は失われ、それに伴ってＤＨＣＰサーバと他のサーバとの接続性が失われる可能性がある。コンピュータネットワークシステムにおけるＤＨＣＰ機能を稼働し続けるには、スイッチＢの電源が落とされても、このＤＨＣＰサーバが他のサーバと接続性を確保していなければならない。そのためには、このＤＨＣＰサーバに別のネットワークインターフェースカードを備えさせ、これと他のスイッチとを接続可能な状態にしなければならない。従って、このスイッチＢの電源を落としてよいか否かを判断するためには、スイッチとＤＨＣＰサーバの依存関係と、ＤＨＣＰサーバと他のサーバの依存関係とを把握していなければいけない。
【０００９】
このように、システム管理者が適切にコンピュータネットワークシステムの構築、運用または構成変更を行うためには、興味のあるシステム構成要素について、その要素と依存関係のあるシステム構成要素情報を把握することが重要となる。
【００１０】
以上のような依存関係を解決（依存関係を明らかにする）する機能は、単一の管理ドメインで必要な機能であるが、多様化、大規模化したコンピュータネットワークを、複数の管理アプリケーションを用いて統合管理するためにも必要な機能である。そして、複数の管理アプリケーションを用いて大規模なコンピュータネットワークシステムを管理する場合には、システム構成要素を表現する情報モデルを管理アプリケーション間で共通化することも必要である。仮に、管理アプリケーション間で情報モデルが異なり、一方の管理アプリケーションがサーバをＳｅｒｖｅｒとして管理し、他方の管理アプリケーションがサーバをＨｏｓｔとして管理している場合には、これら２つの管理アプリケーションが連携してシステムを管理することは難しい。管理アプリケーションで利用する情報モデルを管理アプリケーション間で共通化することが管理システムの連携を行う上で望ましい。
【００１１】
そのため、コンピュータネットワーク管理に関する業界団体であるＤＭＴＦ（Distributed Management Task Force）では、コンピュータネットワークシステムについての共通の情報モデルとしてＣＩＭ（Common Information Model）を規定している。以下で、このＣＩＭのモデル化手法について簡単に説明する。ＣＩＭによるモデル化手法では、コンピュータネットワークシステムを、主にクラスと関連クラスによってモデル化する。クラスは、主にサーバやスイッチ等のシステム構成要素を表す。関連クラスは、例えば、ＯＳはサーバ上で動く等の関係を表す。例えば、サーバはＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスとしてモデル化される。また、「ＯＳはサーバ上で動く」というＯＳとサーバとの関係は、「ＲｕｎｎｉｎｇＯＳ関連クラスがＯｐｅｒａｔｉｎｇＳｙｓｔｅｍクラスとＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスとを参照する」という情報モデルによって記述される。このような情報モデルによってコンピュータネットワークシステムの構造を記述したものをシステムスキーマと呼ぶこととする。
【００１２】
また、ＣＩＭによるモデル化手法では管理対象システムにそのシステム構成要素が実体として存在していることを、「モデル化されたクラスのインスタンスが存在する。」と表現する。すなわち、管理対象システムにサーバＡが存在しているという事実を、管理対象システムに「ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ．ｎａｍｅ＝サーバＡ」というインスタンスが存在するものとして表現する。
【００１３】
また、ＤＭＴＦでは上記のＣＩＭという情報モデルに基づいて、サーバやルータといった管理対象システム内のシステム構成要素にアクセスする仕様も規定している。この仕様はＷＢＥＭ（Web Based Enterprise management ）という名称の仕様である。例えば、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍのインスタンスを取得する命令をＷＢＥＭに従って行うと、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ．ｎａｍｅ＝サーバＡというインスタンスが得られる。また、インスタンスと、それを参照する関連クラス、および関連先のクラスを指定し、関連先のクラスのインスタンスを取得する命令も存在する。この命令は、Ａｓｓｏｃｉａｔｏｒコマンドと呼ばれ、例えばＣｏｍｐｕｔｅｒＳｙｓｔｅｍ．ｎａｍｅ＝サーバＡというインスタンスとＲｕｎｎｉｎｇＯＳ関連クラスによって関連しているＯｐｅｒａｔｉｎｇＳｙｓｔｅｍクラスを取得する命令がＷＢＥＭに従って行われた場合には、ＯｐｅｒａｔｉｎｇＳｙｓｔｅｍのインスタンスを取得することができる。
【００１４】
コンピュータネットワーク管理システムにおける依存関係の解決手法の例は、例えば、特許文献１に記載されている。以下、特許文献１に記載されているネットワーク管理処理装置について説明する。図３２は、特許文献１に記載されているネットワーク管理処理装置の構成を示す説明図である。図３２に示すように、特許文献１に記載されているネットワーク管理処理装置は、ネットワーク管理に関する主たる処理を行う主処理部１１０と、ネットワークのトポロジ情報を記憶するトポロジ管理モジュール部１４０と、そのトポロジ管理モジュール部１４０から情報を取得する手順を表すシナリオデータを格納するシナリオ記憶部１３０と、そのシナリオを読み出すファイル読出し部１２１と、読み出された結果のシナリオを格納するシナリオ格納テーブル１２２と、そのシナリオに基づいて検索実行を行う検索実行部１２３とから構成されている。ここでのシナリオは、例えば、スイッチからそのスイッチのポートの情報を得て、そのポートと接続しているネットワークインターフェースの情報を取得し、そのネットワークインターフェースカードを有しているサーバの情報を得る、といった一連の情報取得手順のことを指す。 
【００１５】
このような構成を有する従来のネットワーク管理処理装置は次のように動作する。すなわち、管理アプリケーションが搭載された主処理部１１０は、管理対象とするシステム構成要素と依存関係のあるネットワークトポロジ情報の取得を要求する。すると、ファイル読出し部１２１がシナリオ記憶部１３０からその要求に合致するシナリオを読み出して、これをシナリオ格納テーブル１２２に格納する。この結果、例えば、前述のスイッチからスイッチのポートの情報を得て、その接続先のネットワークインターフェースの情報を得るといったシナリオが格納される。次に、主処理部１１０は依存関係を解決する元となるオブジェクトを指定して検索実行部１２３を呼び出し、シナリオ格納テーブル１２２に格納されたシナリオをもとにトポロジ管理モジュール部１４０に対して検索を行う。そして、全ての検索結果を管理アプリケーションに通知する。例えば、スイッチＢというオブジェクトが指定され、上述のスイッチからサーバにいたる一連の情報取得手順が取り出されたとする。この手順に従って検索が実行されると、スイッチＢからそのスイッチに属しているポートの情報が取得され、その結果からサーバのネットワークインターフェースカード、そしてサーバの情報が取得される。ここで得られる結果は、例えばスイッチＢがポート１を介して、ｅｔｈ０というネットワークインターフェースカードを持つサーバと接続しているといった情報である。すなわち、予め与えられたシナリオを構成するサーバやネットワークインタフェースカードといったシステム構成要素の実体情報のみを出力として得ることができる。
【００１６】
このような動作により、一連の情報取得手順を実行してシステム構成要素間の依存関係を解決機能が主たる管理アプリケーションから分離される。この結果、管理対象システムのシステム構成変更等の際に、主たる管理アプリケーションプログラムの書き換えに伴う手間を省くことが可能となる。
【００１７】
【特許文献１】特開２０００−３４１２７０号公報（段落００２７−００４１、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１８】
特許文献１に記載されたネットワーク管理処理装置には、以下のような問題があった。第１に、システム管理者あるいは管理アプリケーション開発者が情報取得手順を表すシナリオを作成しなければ、管理対象システムに関しての情報の対応づけを行うことができなかった。換言すると、システム管理者等がネットワーク管理処理装置にシナリオを与えなければ、管理対象システムのシステム構成要素間の依存関係を解決することができなかった。
【００１９】
第２に、特許文献１に記載された装置では、解決可能な情報の対応づけの種類、すなわち入力情報となるシステム構成要素と、出力情報となる依存関係との対応付けの種類が固定的であった。換言すれば、予め記憶されているシナリオはある決められたシステム構成要素間の依存関係しか解決できなかった。また依存関係として得られるシステム情報の種類も、予め記憶されたシナリオに応じたものに限定されていた。
【００２０】
第３に、管理対象システムに新たなシステム構成要素が追加される場合、システム管理者の負担が大きかった。管理対象システムに新たなシステム構成要素が追加される場合には、そのシステム構成要素の実体情報を取得するようなシナリオをシステム管理者が作成しなければならなかった。そして、シナリオは簡易ながらも一種のプログラムであると言え、シナリオ作成の負担が大きかった。
【００２１】
そこで、本発明は、システム管理者が情報取得手順を作成しなくても、システム構成要素間の依存関係を解決できる（依存関係を明確にできる）ようにすることを目的とする。また、依存関係を解決できるシステム構成要素が限定されないようにすることを目的とする。また、管理対象システムに新たなシステム構成要素が追加される場合におけるシステム管理者の負担を軽減することを目的とする。
【課題を解決するための手段】
【００２２】
本発明によるコンピュータネットワーク管理システムは、コンピュータネットワークシステムに含まれる要素および要素間の関連を所定の表現形式でモデル化することによってコンピュータネットワークシステムの構造を記述したシステムスキーマを記憶するシステムスキーマ記憶手段と、管理対象のコンピュータネットワークシステムに含まれる要素のうちの２つの要素の情報が入力されたときに、入力された２つの要素の情報とシステムスキーマとに基づいて、管理対象のコンピュータネットワークシステムから２つの要素を結びつけている各要素および各要素間の関連を示す情報を取得するための情報取得手順を生成する情報取得手順生成手段とを備えたことを特徴とする。
【００２３】
情報取得手順生成手段が、システムスキーマ内の一の要素と関連する要素のモデル化された情報、および一の要素と関連する要素との間の関連のモデル化された情報を探索する探索処理を実行し、入力された情報が示す２つの要素の一方を起点とし、他方を終点とし、起点から探索処理を順次実行していくことにより、起点と終点との間の各要素および各要素間の関連のモデル化された情報をシステムスキーマから検索し、検索結果を情報取得手順とする構成であってもよい。
【００２４】
システムスキーマ記憶手段が、一の要素が当該一の要素または他の要素と関連するときに、関連する要素の実体の数を表す多重度を定めたシステムスキーマを記憶し、情報取得手順生成手段は、探索処理を順次実行していく過程で、関連する要素から一の要素を探索し再度関連する要素を探索するという折り返しを、多重度が示す回数以上行うことを禁止する構成であってもよい。そのような構成によれば、情報取得手順が冗長になることを防止することができる。
【００２５】
情報取得手順に含めるべき要素または情報取得手順から排除すべき要素を指定される要素指定手段を備え、情報取得手順生成手段が、要素指定手段が情報取得手順に含めるべき要素を指定された場合には、当該要素のモデル化された情報を含む情報取得手順を生成し、要素指定手段が情報取得手順から排除すべき要素を指定された場合には、当該要素のモデル化された情報を排除した情報取得手順を生成する構成であってもよい。
【００２６】
情報取得手順に含めるべき要素間の関連または情報取得手順から排除すべき要素間の関連を指定される関連指定手段を備え、情報取得手順生成手段が、関連指定手段が情報取得手順に含めるべき要素間の関連を指定された場合には、当該要素間の関連のモデル化された情報を含む情報取得手順を生成し、関連指定手段が情報取得手順から排除すべき要素間の関連を指定された場合には、当該要素間の関連のモデル化された情報を排除した情報取得手順を生成する構成であってもよい。
【００２７】
情報取得手順生成手段が生成した情報取得手順に従って、管理対象のコンピュータネットワークシステムから、入力された２つの要素を結びつけている各要素および各要素間の関連を示す情報を取得する情報取得手段を備えた構成であってもよい。
【００２８】
情報取得手段が取得した情報を出力する出力手段と、出力手段が出力する情報の条件を指定される条件指定手段とを備え、情報取得手段が、管理対象のコンピュータネットワークシステムから条件を満足する情報を取得する構成であってもよい。
【００２９】
情報取得手段が取得した情報を出力する出力手段と、出力手段が出力する情報の条件を指定される条件指定手段とを備え、出力手段が、情報取得手段が管理対象のコンピュータネットワークシステムから取得した情報のうち、条件を満足する情報を出力する構成であってもよい。
【００３０】
システムスキーマ記憶手段が、複数種類のシステムスキーマを記憶し、外部から指定されたシステムスキーマの選択または入力された２つの要素の情報に応じたシステムスキーマの選択を行うシステムスキーマ選択手段を備え、情報取得手順生成手段が、システムスキーマ選択手段が選択したシステムスキーマに基づいて情報取得手順を生成する構成であってもよい。
【００３１】
システムスキーマ記憶手段が、継承関係を有する要素を含むシステムスキーマを記憶し、情報取得手順生成手段が、他の要素を継承している要素と関連する要素のモデル化された情報を探索する際に、他の要素と関連する要素、および他の要素と関連する要素を継承している要素のモデル化された情報を探索する構成であってもよい。
【００３２】
また、本発明によるコンピュータネットワーク管理方法は、システムスキーマ記憶手段が、コンピュータネットワークシステムに含まれる要素および要素間の関連を所定の表現形式でモデル化することによってコンピュータネットワークシステムの構造を記述したシステムスキーマを記憶し、情報取得手順生成手段が、管理対象のコンピュータネットワークシステムに含まれる要素のうちの２つの要素の情報が入力されたときに、入力された２つの要素の情報とシステムスキーマとに基づいて、管理対象のコンピュータネットワークシステムから２つの要素を結びつけている各要素および各要素間の関連を示す情報を取得するための情報取得手順を生成することを特徴とする。
【００３３】
また、本発明によるコンピュータネットワーク管理プログラムは、コンピュータネットワークシステムに含まれる要素および要素間の関連を所定の表現形式でモデル化することによってコンピュータネットワークシステムの構造を記述したシステムスキーマを記憶するシステムスキーマ記憶手段を備えたコンピュータに搭載されるコンピュータネットワーク管理プログラムであって、コンピュータに、管理対象のコンピュータネットワークシステムに含まれる要素のうちの２つの要素の情報が入力されたときに、入力された２つの要素の情報とシステムスキーマとに基づいて、管理対象のコンピュータネットワークシステムから２つの要素を結びつけている各要素および各要素間の関連を示す情報を取得するための情報取得手順を生成する処理を実行させることを特徴とする。
【発明の効果】
【００３４】
本発明によれば、管理対象のコンピュータネットワークシステムに含まれる要素のうちの２つの要素の情報が入力されたときに、入力された２つの要素の情報とシステムスキーマとに基づいて、管理対象のコンピュータネットワークシステムから前記２つの要素を結びつけている各要素および前記各要素間の関連を示す情報を取得するための情報取得手順を生成する。従って、システム管理者自身が情報取得手順を作成しなくても、要素間の依存関係を解決できるようにすることができる。また、依存関係を解決できる要素が限定されずに済む。さらに、管理対象のコンピュータネットワークシステムに新たな要素が追加された場合であっても、システム管理者は、情報取得手順を新たに作成する必要はなく、システムスキーマを変更すればよいので、システム管理者の負担が軽減される。
【発明を実施するための最良の形態】
【００３５】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
本発明によるコンピュータネットワーク管理システムは、コンピュータネットワークを構成するシステム構成要素間の依存関係を解決するシステムである。依存関係の解決とは、既に説明したように、二つのシステム構成要素の依存関係を明らかにすることを意味する。
【００３６】
実施の形態１．
本発明の第１の実施の形態について説明する。まず、本発明によるコンピュータネットワーク管理システムの動作の概要について説明する。コンピュータネットワーク管理システムは、コンピュータネットワークの概念的な構成を表現したシステムスキーマを記憶部に記憶している。ここでのコンピュータネットワークの概念的な構成とは、例えば「サーバにはＯＳがインストールされている」というシステム構成や、「サーバにはネットワークインタフェースカードが組み込まれている」というシステム構成、あるいは「ネットワークインタフェースカードはＥｔｈｅｒｎｅｔ（登録商標）ポートとして機能する」いったシステム構成等のことを指す。そして、これらの構成を表現するシステムスキーマは、サーバという要素、ＯＳという要素、そしてサーバにはＯＳがインストールされているという関係を表す関連等から成り立っている。
【００３７】
なお、システムスキーマは、管理対象システムに含まれるシステム構成要素や、システム構成要素間の関連を含んでいる。ただし、システムスキーマは、管理対象システムのトポロジと一対一に対応しているわけではない。例えば、管理対象システムにサーバが１０台存在する場合であっても、システムスキーマは、サーバを表すシステム構成要素を１０台分含んでいるわけではない。システムスキーマは、管理対象システムに含まれるシステム構成要素の種類に依存するものであり、サーバ等の装置の台数や、サーバの名称、サーバ等に搭載されているＯＳやアプリケーションが何というＯＳやアプリケーションであるのか等の具体的な実体情報には依存しない。従って、システムスキーマには、後述のクラスを含むが、個々のシステム構成要素の実体情報（例えば、サーバの名称等）は含まれない。
【００３８】
図１は、システムスキーマの例を示す。図１に示すシステムスキーマは、システム構成要素として、サーバ、ＯＳ、アプリケーション、ネットワークインタフェースカード（ＮＩＣ）、スイッチ等を含んでいる。図１に示すシステムスキーマは、図１に示す各システム構成要素以外の構成要素を含んでいない管理対象システムに適用することができ、その管理対象システムのトポロジは特に限定されない。すなわち、図１に示す各システム構成要素以外の構成要素を含んでさえいなければ、サーバの台数や、ＯＳやアプリケーションの名称に依存しないで適用することができる。また、管理対象システムがファイアウォール等の図１に含まれないシステム構成要素を備えているのであれば、システム構成要素としてファイアウォールを含み、ファイアウォールと他のシステム構成要素との関連を含むシステムスキーマを適用すればよい。
【００３９】
コンピュータネットワーク管理システムが、２つのシステム情報間の依存関係を把握したいという要求を入力装置から受けたとする。「システム情報」とは、サーバやＥｔｈｅｒｎｅｔ（登録商標）ポートといったコンピュータネットワークシステムに存在しうるシステム構成要素のクラス（クラスについては後述する。）の情報であったり、あるいは「サーバ名がＡであるサーバ」といったコンピュータネットワークシステムに存在することを表す実体情報等であったりする。入力装置から受け付けたシステム情報が、サーバ名がＡであるサーバといったシステムの実体情報である場合には、そのシステム実体情報からシステム構成要素のクラスを特定する。例えば、サーバＡという実体情報を入力されたのであれば、その情報から「サーバ」というシステム構成要素のクラスを特定する。
【００４０】
次に、コンピュータネットワーク管理システムは、そのシステム構成要素のクラスとシステムスキーマ内における要素とを対応させる。そして、対応する２つの要素間に成り立つ関係を検索する。すなわち、一方の要素を起点要素、他方の要素を終点要素とし、起点要素と関連する要素を列挙し、さらにその列挙された要素と関連する要素を列挙するということを繰り返し、終点要素を探し出す検索を行う。例えば、「サーバにはネットワークインタフェースカードが組み込まれていて、ＯＳがインストールされている。このネットワークインタフェースカードはスイッチのポートに接続されている。」という構成を表すシステムスキーマが記憶部に格納されているとする。サーバ名がＡであるサーバとＥｔｈｅｒｎｅｔ（登録商標）ポートの依存関係を把握したいという要求を受けた場合には、サーバを表す要素から始まって、ＯＳを表す要素とネットワークインタフェースカードを表す要素が列挙される。列挙されたうちネットワークインタフェースカードを表す要素からは、Ｅｔｈｅｒｎｅｔ（登録商標）ポートを表す要素が列挙される。Ｅｔｈｅｒｎｅｔ（登録商標）ポートを検索すると、サーバを表す要素からＥｔｈｅｒｎｅｔ（登録商標）ポートを表す要素に至る一連の検索結果を、情報取得手順に変換する。より具体的には、検索の起点となった要素と次の要素、およびそれらの要素を結ぶ関連が、最初の情報取得処理となり、一連の検索結果をそれぞれ情報取得処理に変換する。このようにして生成される一連の情報取得手順の最後の情報取得処理は、終点要素を取得する処理となる。なお、この関連を辿って要素を列挙する際には、多重度といった関連の属性に基づいて列挙可能か否かの判断を行う。多重度については後述する。
【００４１】
次に、管理対象システムに実際に成り立っている依存関係情報を取得するために、生成された情報取得手順の最初の情報取得処理に対して、入力装置から受け付けたシステム構成要素の実体情報を入力し、最初の情報取得処理を実行する。この最初の処理で得られた結果を、情報取得手順に従って逐次、次の情報取得処理に入力し、最後の情報取得処理を実行してシステムから情報取得を行うことができた場合に、この一連の取得結果を出力装置に送信する。この一連の取得結果は、入力装置から受け付けた２つのシステム情報間の依存関係を意味する。
【００４２】
本発明によるコンピュータネットワーク管理システムの動作の概要を図面を用いてより具体的に説明する。図２は、管理対象システムの例を示す説明図である。図２に例示する管理対象システムは、３つのサーバと、２つのスイッチを備えている。また、各スイッチはそれぞれ３つのポートを備えている。図２に示したＡ層は、管理対象システムにおける、ポートとホスト間の物理的な配線を示している。例えば、サーバ１と、スイッチ１のポートが接続されていることを示している。Ｂ層は、各スイッチのポートを表している。図２に示す例では、各スイッチが３つのポートを有していることを示している。Ｃ層は、２つのスイッチを示している。Ｄ層は、各スイッチのポート間のＶＬＡＮ（Virtual LAN ）のコネクションを示している。Ｅ層は、各ホストのＶＬＡＮのコネクションを示している。
【００４３】
システム管理者は、サーバ１とサーバ２との間の依存関係を把握しようとしているものとする。この場合、コンピュータネットワーク管理システムには、サーバ１およびサーバ２の情報が入力される。図２に示す管理対象システムは、図１に示す各システム構成要素以外の構成要素を含んでいない。従って、図１に示すシステムスキーマを適用して、入力された２つのサーバとシステムスキーマ内における要素とを対応させる。そして、一方の要素を起点要素、他方の要素を終点要素とする。本例では、入力された情報が２つともサーバを表しているので、システムスキーマ内の「サーバ」の要素が起点要素、および終点要素となる（図３参照）。コンピュータネットワーク管理システムは、起点要素と関連する要素を列挙し、さらにその列挙された要素と関連する要素を列挙するということを繰り返し、終点要素を探し出す検索を行う。図３において曲線で示した矢印は、この検索経路を表している。
【００４４】
図４（ａ）は、この検索経路に基づいて生成される情報取得手順を示している。なお、検索経路に基づいて生成される情報取得手順には、図４（ａ）に示す手順より多くの手順が含まれるが、簡単のため、図４（ａ）では一部の手順を省略して示している。図４（ａ）に示す情報取得手順は、サーバを起点として、サーバが備えているネットワークインタフェースカード（ＮＩＣ）の実体情報（例えば、ＮＩＣの識別子）を取得し、その後も同様に、ＬＡＮエンドポイントの実体情報（例えば、ＭＡＣアドレス）等を取得していくことを示している。図４（ｂ）は、この情報取得手順に従って取得した情報を表している。すなわち、サーバ１（識別子はｐｃ１であるとする。）が備えているネットワークインタフェースカードの情報として、「ｅｔｈ０」という識別子を取得したことを表している。そして、順次、情報を取得してサーバ２（識別子はｐｃ２であるとする）の実体情報「ｐｃ２」を取得したことを示している。「ｐｃ１」から「ｐｃ２」に至るまでに取得した一連の情報が、「ｐｃ１」と「ｐｃ２」との依存関係を表すことになる。なお、図４（ｂ）に示すように、例えば、識別子「ｓｗ１」のスイッチから複数のポートの情報が取得でき、情報取得経路が分岐する場合が生じ得る。従って、「ｐｃ１」と「ｐｃ２」との依存関係は、１つだけに特定されるわけではない。
【００４５】
このようにして得られた依存関係を表す情報は、例えば、「ｐｃ１」と「ｐｃ２」との間に物理的接続はあるがＶＬＡＮ接続はないという確認のために用いられる。さらに、ＶＬＡＮ接続の設定を自動的に行う装置が、「ｐｃ１」と「ｐｃ２」とをＶＬＡＮ接続させる設定を自動的に行うために、依存関係を表す情報が使用されてもよい。
【００４６】
続いて、以下の説明で用いる用語「クラス」、「インスタンス」、および「実体情報」の関係について説明する。図５は、クラス、インスタンス、および実体情報の関係を示す説明図である。クラスは、識別子等の実体情報を含まないシステム構成要素を表す。図５（ａ）に示す「ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラス」は、システム構成要素であるサーバを表す。しかし、サーバの実体情報（属性の具体的な内容）を含まない。例えば、「ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラス」は、サーバが稼働中であるのか否かを示す状態情報や、付与された名称等の属性を含んでいない。なお、図５（ａ）や図４に示した「ｓｔｒｉｎｇ」は、属性として文字列が付与されることを意味するが、図５（ａ）や図４に示すクラスでは、実体情報となる具体的な文字列は含まれない。ここでは、サーバを表すクラスを例に説明したが、他のクラスも同様である。また、本明細書で用いる「クラス」という用語は、ＵＭＬ（Unified Modeling Language ）やＣＩＭといったオブジェクト指向型モデルにおけるクラスに相当する。しかし、オブジェクト指向ではない情報モデルについても、実体情報を含まない一般的なシステム構成要素という意味でクラスという用語を用いる。
【００４７】
「インスタンス」は、クラスに実体情報が付加されたものであり、オブジェクト指向型モデルにおけるオブジェクトやインスタンスに相当する。図５（ｂ）は、インスタンスの例を示している。図５（ｂ）に例示するインスタンスは、名称がＡであり、稼働中であるという実体情報を備えている。また、本明細書では、オブジェクト指向ではない情報モデルを用いてモデル化を行う場合でも「インスタンス」という用語を用いる。なお、実体情報に含まれる名称のうち、システム管理者が他のインスタンスと区別するために指定した名称を「識別子」と呼ぶ。なお、図５（ｂ）において、インスタンスであることを示す記号としてコロン（：）および下線を用いて、「ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ」を表している。
【００４８】
また、クラス間に関係があることを表現するものとして「関連クラス」という用語を用い、インスタンス間に関係があることを表現するものとして「関連インスタンス」という用語を用いる。例えば、ＣＩＭの「関連クラス」は、属性としてクラスへの参照を含むことによって、クラス間に関係があることを表現する。また、ＣＩＭの「関連インスタンス」は、属性としてインスタンスへの参照を含むことによって、インスタンス間に属性があることを表現する。
【００４９】
次に、本発明の構成例について説明する。図６は、本発明によるコンピュータネットワーク管理システムの構成例を示すブロック図である。コンピュータネットワーク管理システムは、データ処理装置２２０と、記憶装置２３０と、入力装置２１０と、出力装置２５０とを備える。入力装置２１０および出力装置２５０を、コンピュータネットワーク管理システムとは独立した装置として、コンピュータネットワーク管理システムの外部に設ける構成としてもよい。データ処理装置２２０には、管理対象となる管理対象システム２４０が接続されている。
【００５０】
入力装置２１０は、データ処理装置２２０と情報交換可能なプロトコルおよびデータ構造を用いて、データ処理装置２２０に対して情報対応付け要求を入力する。すなわち、２つのシステム情報を入力して、その２つのシステム情報に対応する依存関係情報の出力を要求する。入力装置２１０は、例えば、本発明のシステムと協調してコンピュータネットワークの管理を行う、プログラム制御されたコンピュータであってもよい。また、システム管理者が情報取得を行うことを可能とするグラフィカルユーザインタフェースやコマンドラインインタフェースを有したプログラム制御されたコンピュータであってもよい。
【００５１】
また、入力装置２１０には、ネットワーク管理のためのアプリケーションが搭載されていて、入力装置２１０が、そのアプリケーションに従ってシステム情報を入力してもよい。あるいは、入力装置２１０にユーザや組織管理のためのアプリケーションが搭載されていて、入力装置２１０が、そのアプリケーションに従ってシステム情報を入力してもよい。
【００５２】
出力装置２５０は、入力装置２１０がデータ処理装置２２０に入力した情報対応付け要求に対して、データ処理装置２２０が処理した結果である情報対応付けの可否、あるいは対応付けた結果（２つのシステム情報と依存関係情報との対応）を出力する。出力装置２５０は、入力装置２１０と同一のプログラム制御されたコンピュータであってもよい。また、システム管理者が情報取得を行うことを可能とするグラフィカルユーザインタフェースやコマンドラインインタフェースを有したプログラム制御されたコンピュータであってもよい。
【００５３】
管理対象システム２４０は、例えば、コンピュータ２４１、ルータ２４２、管理情報記憶部２４３、ネットワーク２４４を介したコンピュータ２４５等のコンピュータシステムを含む。これらの管理対象システムには管理情報の要求に対して応答するＳＮＭＰ（Simple Network Management Protocol）エージェントや、ＤＭＩ（Desktop Management Interface）エージェント、管理対象システムから情報を収集する独自のエージェントや、管理情報の収集を代行するＷＢＥＭ（Web Based Enterprise management ）等が備えられていてもよい。また、システムの管理目的でシステム管理者が設定する情報を格納するデータベースが含まれていてもよい。なお、管理対象システム２４０が含む装置の種類や、その装置の接続関係などは限定されない。
【００５４】
また、管理対象システム２４０は、コンピュータネットワーク管理システム（より具体的にはデータ処理装置２２０）からの要求に応じて、管理対象システム２４０が含むシステム構成要素の実体情報を提供する。例えば、コンピュータ２４１の識別子や稼働状態が要求されたならば、その要求に応じて識別子等を提供する。また、既に説明したように、人もシステム構成要素となり得る。システム構成要素となる人の実体情報（例えば、氏名等）は、管理情報記憶部２４３が記憶する。すなわち、人の実体情報は、データベースとして管理情報２４３に登録され、人の実体情報が要求された場合には、管理情報記憶部２４３がその情報をコンピュータネットワーク管理システムに提供する。
【００５５】
記憶装置２３０は、システムスキーマ記憶部２３１と情報取得手順記憶部２３２とを含む。システムスキーマ記憶部２３１は、管理対象システム２４０の概念的構造を表現したシステムスキーマを記憶する。ここでのシステムスキーマとは、既に説明したように、コンピュータネットワークの概念的構造を表現する情報モデルのことである。すなわち、データが格納される構成を表現するデータモデルを表したスキーマとは異なる。図７に、システムスキーマの一例を示す。図７では、ＵＭＬ（Unified Modeling Language ）クラス図によってシステムスキーマを表している。図７に例示したシステムスキーマは、「サーバが０以上のＥｔｈｅｒｎｅｔ（登録商標）ポートを持っている。」、「スイッチのＥｔｈｅｒｎｅｔＰｏｒｔは、ＶＬＡＮプロトコルの端点として機能してもよい。」等のシステムの概念を記述している。なお、システムスキーマ記憶部２３１に記憶されるシステムスキーマは、本発明によるシステムの利用用途に応じて選択可能となるように、複数存在していてもよい。なお、図７に示した「１」、「０．．１」、「＊」等は、後述する多重度を表している。
【００５６】
情報取得手順記憶部２３２は、管理対象システム２４０に対する情報取得の手順を記憶する。１つの情報取得手順は、複数の情報取得処理から構成されているものとする。ここでは、情報取得手順が、第１の情報取得処理、第２の情報取得処理および第３の情報取得からなっているとする。まず、識別子や状態情報（装置が稼働中か否か等を示す情報）を含んだ管理対象システムの実体情報をもとにして、第１の情報取得処理が実行される。この処理によって得られた結果をもとにして、第２の情報取得処理が実行される。さらに、この処理によって得られた結果をもとにして、第３の情報取得処理が実行される。そして、第３の情報取得処理まで実行されると、その情報取得手順が全て実行されたものと判断される。このように、前段の情報取得処理によって得られた情報取得結果を用いて次の情報取得処理が実行されていく。ここでは、１つの情報取得手順に３つの情報取得処理が含まれる場合を例示したが、１つの情報取得手順に含まれる情報取得処理の数は３に限定されるわけではない。情報取得手順の具体例を示す。例えば、入力装置２１０から入力されたサーバ名をもとにそのサーバのネットワークインタフェースカードに関する情報を取得し、そのネットワークインターフェースカードの情報をもとにスイッチのポートに関する情報を取得し、さらにスイッチのポートに関する情報からＶＬＡＮ番号を取得する、といった一連の手順が情報取得手順である。なお、この情報取得手順を情報取得手順Ａとする。
【００５７】
また、情報取得手順記憶部２３２には、以上のような情報取得手順が複数格納される。そして、例えば、入力装置２１０からデータ処理装置２２０への要求内容と対応した識別情報が情報取得手順に付される。上記の例の情報取得手順Ａは、サーバ名とＶＬＡＮ番号との依存関係を解決する情報取得手順であるため、このサーバ名とＶＬＡＮ番号との依存関係を解決する要求と対応付けて管理される。例えば、サーバ名とＶＬＡＮ番号との依存関係を解決するための情報取得手順であることを示す識別情報が情報取得手順に付される。なお、一つの要求（依存関係の解決要求）に対して、複数の情報取得手順が存在し、その複数の情報取得手順がそれぞれ情報取得手順記憶部２３２に格納されていてもよい。例えば、サーバ名とＶＬＡＮ番号との依存関係を解決する場合、サーバ名をもとにそのサーバの所有者に関する情報を取得し、さらにその所有者が属する組織の情報を取得し、その組織に割り当てられているＶＬＡＮの情報を取得するという情報取得手順（情報取得手順Ｂとする。）も適用可能である。従って、情報取得手順Ａ，Ｂをそれぞれ、サーバ名とＶＬＡＮ番号との依存関係を解決するための情報取得手順として管理してもよい。すなわち、情報取得手順Ａ，Ｂそれぞれに、サーバ名とＶＬＡＮ番号との依存関係を解決するための情報取得手順であることを示す識別情報を付してもよい。
【００５８】
データ処理装置２２０は、例えばプログラムを読み込み、そのプログラムに従って処理を実行する情報処理装置である。プログラムは、例えばコンピュータネットワーク管理システムが備えるＲＯＭ（図示せず。）に記憶される。データ処理装置２２０は、情報対応付け要求解釈手段２２１と、システムスキーマ検索手段２２２と、情報取得手順検索手段２２３と、情報取得手順実行手段２２４とを含む。これらの手段は、それぞれ次のように動作する。
【００５９】
情報対応付け要求解釈手段２２１は、入力装置２１０から入力された情報対応付け要求の解釈を行い、システムスキーマ記憶部２３１に対する検索が必要か否かの判断を行う。さらに、システムスキーマ記憶部２３１に対する検索命令や、情報取得手順記憶部２３２に対する検索命令を生成する。また、それらの検索結果を受け付け、管理対象システム２４０に対する情報取得手順実行命令を生成する。そして、管理対象システム２４０に関する情報取得動作の結果を受け付け、その結果に対するフィルタを入力装置２１０からの要求に応じて行い、出力装置２５０に対してフィルタされた結果、あるいはフィルタをされていない結果をそのままの形式で送信する機能を持つ。
【００６０】
なお、入力装置２１０から入力された情報対応付け要求に応じた情報取得手順が情報取得手順記憶部２３２に格納されている場合、システムスキーマ記憶部２３１に対する検索は不要と判定される。一方、情報対応付け要求に応じた情報取得手順が情報取得手順記憶部２３２に格納されていない場合、システムスキーマ記憶部２３１に対する検索が必要と判定され、システムスキーマ記憶部２３１に対する検索によって、情報対応付け要求に応じた新たな情報取得手順を生成し、情報取得手順記憶部２３２に格納させる。
【００６１】
システムスキーマ検索手段２２２は、情報対応付け要求解釈手段２２１で生成されるシステムスキーマ検索命令を受け付け、その命令に基づいてシステムスキーマ記憶部２３１に対して検索を行う。そして、この検索で得られる複数の結果から情報取得手順を生成する。続いて、その情報取得手順を、入力装置２１０から受け付けた情報対応付け要求に応じた情報取得手順として、情報取得手順記憶部２３２に格納する。
【００６２】
なお、好適にはシステムスキーマ記憶部２３１には複数のシステムスキーマが格納されており、システムスキーマ検索手段２２２が検索対象に用いるシステムスキーマは入力装置２１０から指定されることが好ましい。システムスキーマの指定がない場合には、情報取得手順解釈手段２１２がデフォルトのシステムスキーマを選択したり、あるいは情報対応付け要求の種別に応じてシステムスキーマを選択することが好ましい。また、入力装置２１０にシステム情報の入力処理を行わせているアプリケーションの種類に応じて、システムスキーマを選択してもよい。例えば、ネットワーク管理のためのアプリケーションに従って入力装置２１０がシステム情報を入力している場合には、ネットワークのノードとなるシステム構成要素の情報を多く含み、ＯＳやユーザを表すシステム構成要素を余り多く含まないシステムスキーマを選択してもよい。あるいは、ユーザや組織管理のためのアプリケーションに従って入力装置２１０がシステム情報を入力している場合には、ネットワークのノードとなるシステム構成要素の情報を余り多く含まず、ＯＳやユーザを表すシステム構成要素を多く含むシステムスキーマを選択してもよい。
【００６３】
ネットワークや、ユーザや、コンピュータといった管理対象システム全てを表現するシステムスキーマを検索対象とすると、検索結果数とこの検索結果から生成する情報取得手順の数が多くなってしまう。一方、入力装置２１０から受け付ける情報対応付け要求の内容に応じてネットワークのみを表現するシステムスキーマ等を検索対象とすれば、本来必要のないユーザに関する情報取得手順を生成しなくて済む。そのため、情報対応付け要求の種別や、入力装置２１０にシステム情報の入力処理を行わせているアプリケーションの種類等に応じてシステムスキーマを選択することが好ましい。
【００６４】
情報取得手順検索手段２２３は、情報対応付け要求解釈手段２２１が生成する情報取得手順記憶部２３２に対する検索命令を受け付ける。そして、その命令に基づいて情報取得手順記憶部２３２に格納される複数の情報取得手順の中から、その命令に対応する情報取得手順を検索する。情報取得手順検索手段２２３は、検索結果として得られる１以上の情報取得手順を、情報対応付け要求解釈手段２２１に対して送る。
【００６５】
情報取得手順実行手段２２４は、情報対応付け要求解釈手段２２１が生成した管理対象システム２４０に対する情報取得手順実行命令を、１以上の情報取得手順とともに受け取る。そして、その情報取得手順に従って管理対象システム２４０に対する情報取得処理を行う。このようにして実行された情報取得手順の結果は、情報対応付け要求解釈手段２２１に対して送信される。また、情報取得手順実行手段２２４は、管理対象システムに対して行う情報取得処理を変換して、情報取得方法を決定する。例えば、情報取得手順の中にスイッチのポートに関する情報取得処理が含まれている場合に、この情報取得処理を、ＳＮＭＰを用いて、ＭＩＢ（Management Information Base）のＢＲＩＤＧＥ−ＭＩＢ．ｄｏｔ１ｄＰｏｒｔ情報を取得するといった情報取得処理に変換する。また、別の例ではＷＢＥＭに対してＡｓｓｏｃｉａｔｏｒオペレーションを実行するという情報取得処理への変換等を行う。
【００６６】
なお、管理対象システム２４０に含まれる各システム構成要素の実体情報を格納したデータベースを設けておき、情報取得手順実行手段２２４がそのデータベースにアクセスして情報を取得してもよい。
【００６７】
なお、情報取得手順実行手段２２４は、ネットワークの上位レイヤに属する情報取得手順を先に実行するといったルールに基づいて、情報取得手順間の並べ替え処理を実行することが好ましい。例えば、ＩＰレイヤの接続性が存在するデバイス間では、Ｌａｙｅｒ２レイヤの接続性は存在していると考えることが可能な場合がある。この場合、ＩＰレイヤの接続性に関する情報を先に取得することで、Ｌａｙｅｒ２レイヤの接続性に関する情報取得を省略することも可能である。上位の概念に属する情報取得手順を先に実行し下位の概念に属する情報取得手順を省略するように情報取得手順を並べ替えれば、必要な検索結果を得るまでの時間を短縮できるという効果が得られる。
【００６８】
次に、フローチャートを参照して動作について説明する。
図８は、入力装置２１０から情報対応付け要求が入力されてから、要求された情報を出力装置２５０に出力するまでの動作を示すフローチャートである。情報対応付け要求解釈手段２２１には、入力装置２１０から情報対応付け要求が入力される。
【００６９】
ここで、まず、入力として受け付ける情報対応付け要求の形式と、対応付けされた後の結果の形式とについて述べる。
【００７０】
入力として受け付ける情報対応付け要求の形式は、大きく２通りに分けられる。第１の要求形式は、対応付けの元、すなわち依存関係を解決したい２つの情報として、２つのインスタンス（図５（ｂ）参照）が含まれる形式である。２つのインスタンスは、関連インスタンス１つとして与えられてもよいものとする。例えば、識別子がＡであるサーバのインスタンスと識別子がＢであるファイアウォールのインスタンスが与えられてもよいし、識別子がＡであるサーバが、識別子がＢであるファイアウォールを利用していることを示す関連インスタンスが与えられてもよい。
【００７１】
第２の要求形式は、対応付けの元、すなわち依存関係を解決したい２つの情報として、１つのインスタンスと１つのクラス（図５（ａ）参照）が含まれる形式である。
【００７２】
なお、対応付けの元、すなわち依存関係を解決したい２つの情報として、２つのクラスが入力される場合もある。この場合には、以下のような変換を行って、第２の要求形式にすればよい。すなわち、２つのクラスのうちの一方のクラスについて、そのクラスに相当するシステム情報の実体情報（状態情報や識別子情報）を管理対象システム２４０に問い合わせて取得し、これをインスタンスとする変換を行えばよい。一方のクラスについて、複数の情報が取得された場合には、それぞれの結果に対して第２の要求形式が生成される。一方のクラスから複数のインスタンスが得られた場合には、もう一方のクラスとそれぞれのインスタンスとの組み合わせ毎に、依存関係を解決する処理を実行すればよい。なお、第１の要求形式と同様に、２つのクラスが指定されることは１つの関連クラスが指定されることと等価である。例えば、サーバのクラスとファイアウォールのクラスとが指定されてもよいし、サーバがファイアウォールを利用していることを示す関連クラスが指定されてもよい。
【００７３】
また、入力装置２１０から与えられる情報として、情報対応付け要求の他に、入力が必須ではないがオプションとして与えられることがある情報（以下、オプション情報と記す。）がある。
【００７４】
第１のオプション情報として、依存関係を解決しようとする２つのシステム構成要素についての依存関係の態様を表すクラスあるいは関連クラスが指定されてもよい。図９は、各システム構成要素の依存関係の態様が複数存在する場合があることを示す説明図である。図９（ａ）は、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ等の要素をインスタンスとして表した図である。図９（ａ）は、２つのコンピュータシステムが同一の組織（Ｏｒｇａｎｉｚａｔｉｏｎ）内で管理されていることを示している。また、２つのコンピュータシステムがＩＰプロトコルに従って接続され、さらに、ＬＡＮプロトコルによっても接続されていることを示している。この場合、２つのコンピュータシステムの依存関係は、「ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、Ｏｒｇａｎｉｚａｔｉｏｎ、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ」という態様として表される。また、「ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＩＰＰｒｏｔｏｃｏｌＥｎｄｐｏｉｎｔ、ＩＰＰｒｏｔｏｃｏｌＥｎｄｐｏｉｎｔ、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ」という態様として表すこともできる。同様に、「ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＬＡＮＰｒｏｔｏｃｏｌＥｎｄｐｏｉｎｔ、ＬＡＮＰｒｏｔｏｃｏｌＥｎｄｐｏｉｎｔ、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ」という態様として表すこともできる。第１のオプション情報では、このような複数の態様の中の特定の態様を指定する。なお、図９（ｂ）は、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ等の要素をクラスとして表した図である。クラスは、実体情報を含まない抽象化されたモデルであるので、図９（ａ）に示す場合と異なり、「ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ」等の要素をそれぞれ１つずつ示している。
【００７５】
データ処理装置２２０は、指定された態様で依存関係を解決する。例えば、第１のオプション情報として、「ＩＰ＿ＡｃｔｉｖｅＣｏｎｎｅｃｔｉｏｎ」という関連クラスが指定された場合、「ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＩＰＰｒｏｔｏｃｏｌＥｎｄｐｏｉｎｔ、ＩＰＰｒｏｔｏｃｏｌＥｎｄｐｏｉｎｔ、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ」という態様で、２つのコンピュータシステムの依存関係を解決する。
【００７６】
なお、１つのクラスまたは関連クラスによって、複数の態様を指定してもよい。例えば、「ＩＰ＿ＡｃｔｉｖｅＣｏｎｎｅｃｔｉｏｎ」という関連クラスと、「ＬＡＮ＿ＡｃｔｉｖｅＣｏｎｎｅｃｔｉｏｎ」という関連クラスは、いずれも「ＡｃｔｉｖｅＣｏｎｎｅｃｔｉｏｎ」という関連クラスのサブクラスであるとする。この場合、第１のオプション情報として「ＡｃｔｉｖｅＣｏｎｎｅｃｔｉｏｎ」が指定された場合、その２つのサブクラスによって特定される態様で２つのコンピュータシステムの依存関係を解決すればよい。
【００７７】
また、データ処理装置２２０は、指定された態様を除外して、指定された態様以外の態様の依存関係を解決してもよい。例えば、「Ｏｒｇａｎｉｚａｔｉｏｎ」というクラスが指定された場合、「Ｏｒｇａｎｉｚａｔｉｏｎ」を含まない態様で、２つのコンピュータシステムの依存関係を解決してもよい。この場合にも、１つのクラスまたは関連クラスによって、複数の態様を指定してもよい。
【００７８】
第１のオプション情報は、主にシステムスキーマ検索手段２２２がシステムスキーマを検索して、情報取得手順を作成する際に使用される。システムスキーマ検索手段２２２は、第１のオプション情報によって特定されるシステム構成要素またはシステム構成要素間の関連を検索対象とするようにして検索を行い、その検索経路から定まる情報取得手順を生成する。この情報取得手順に従って管理対象システム２４０からの情報取得が行われることによって、第１のオプション情報で特定されるシステム構成要素またはシステム構成要素間の関連の実体情報を含む依存関係が得られる。あるいは、システムスキーマ検索手段２２２は、第１のオプション情報によって特定されるシステム構成要素またはシステム構成要素間の関連を検索対象から除外して検索を行い、その検索経路から定まる情報取得手順を生成する。この情報取得手順に従って管理対象システム２４０からの情報取得が行われることによって、第１のオプション情報で特定されるシステム構成要素またはシステム構成要素間の関連の実体情報を含まない依存関係が得られる。従って、第１のオプション情報は、システムスキーマ検索手段２２２が検索処理を行うときの検索経路における中必要継点あるいは中継不必要点を指定する情報であるともいえる。
【００７９】
また、入力装置２１０から与えられる第２のオプション情報として、出力装置２５０に出力する結果について施すべきフィルタが指定されてもよい。このフィルタについて述べる前に、まず出力装置２５０に出力される情報について述べる。情報対応付けの結果として出力装置２５０に出力される情報は、フィルタが存在しない場合には、入力装置２１０から与えられるインスタンスとクラス、あるいはインスタンスとインスタンスのそれぞれを起点と終点とした一連のインスタンスおよび関連インスタンスの連なりとなる。この連なりは複数の連なりとなることもある。この１つの連なりをインスタンス文脈とし、複数のインスタンス文脈をインスタンス文脈群とする。インスタンス文脈の例としては、「識別子がＡであるサーバ、サーバＡがデバイスｅｔｈ０を所有しているという関係、ｅｔｈ０という識別子を持つネットワークインタフェースカード、ｅｔｈ０というデバイスがＬＡＮのプロトコルを実装しているという関係、Ｍａｃアドレス１１：１１：１１：１１：１１：１１であるＬＡＮのプロトコル端点」等が挙げられる。入力装置２１０から第２のオプションとして与えられるフィルタ情報は、インスタンス文脈またはインスタンス文脈群に含まれるクラスおよび関連クラスのうち、出力すべきクラスまたは関連クラスを指定する情報である。従って、第２のオプション情報が入力された場合には、インスタンス文脈の一部のみが出力される。例えば、第２のオプション情報として、ネットワークインタフェースカードというクラスが入力装置２１０から与えられたとする。この場合出力装置２５０に出力される情報は、「ｅｔｈ０という識別子をもつネットワークインタフェースカード」となる。また、クラスと関連クラスの双方が与えられてもよい。例えば、ネットワークインタフェースカードというクラスと、デバイスがＬＡＮのプロトコルを実装する関係という関連クラスが指定されてもよい。この場合、例示したインスタンス文脈に含まれる「ｅｔｈ０という識別子を持つネットワークインタフェースカード、ｅｔｈ０というデバイスがＬＡＮのプロトコルを実装しているという関係」という情報が出力される。
【００８０】
なお、インスタンス文脈の記述形式は、（インスタンスＡ、関連インスタンス、インスタンスＢ）のようにインスタンスの間に関連インスタンスを記述するようにして表される。ただし、関連インスタンスの記述を省略してもよい。例えば、インスタンス文脈を（インスタンスＡ、インスタンスＢ）のように表してもよい。
【００８１】
さらに、入力装置２１０から与えられる第３のオプション情報として出力装置２５０に出力する結果についての制約や条件が指定されてもよい。これは、インスタンスあるいは関連インスタンスとして指定される。上記の例では、例えばｅｔｈ１という識別子を持つネットワークインタフェースカードが出力結果に含まれなければならないという条件が入力装置２１０から与えられた場合には、上記のｅｔｈ０が含まれるインスタンス文脈は、対応付けの結果とは判断されない。また、ｅｔｈ０という識別子を持つネットワークインタフェースカードが出力結果に含まれてはいけないとの制約が入力装置２１０から与えられた場合も、上記のｅｔｈ０が含まれるインスタンス文脈は出力結果とは判断されない。
【００８２】
情報対応付け要求解釈手段２２１は、入力装置２１０から与えられる要求内容を解釈し、これに対応する情報取得手順を取得するために、情報取得手順検索手段２２３に対して、情報取得手順の検索命令を発行する（ステップＳ１）。また、要求内容と情報取得手順とは対応付けて管理されている。例えば、既に説明したように、要求内容と対応した識別情報が情報取得手順に付されている。具体例を挙げると、「サーバ、ネットワークインタフェースカード、スイッチのポート、スイッチ」という情報取得手順には、「サーバ、スイッチ間の依存関係解決要求」に対応することを示す識別情報を付加しておく。「サーバ、スイッチ間の依存関係解決要求」が入力された場合、情報対応付け要求解釈手段２２１は、例えば、その識別情報が付加された情報取得手順の検索を命令すればよい。情報取得手順検索手段２２３は、情報対応付け要求解釈手段２２１から受け取った検索命令に基づき、情報取得手順を検索する（ステップＳ２）。そして、情報取得手順検索手段２２３は、情報取得手順記憶部２３２に検索対象の情報取得手順が格納されているか否かを判定する（ステップＳ３）。
【００８３】
情報取得手順記憶部２３２に検索対象の情報取得手順が格納されておらず、情報取得手順検索手段２２３が情報取得手順を得られなかった場合には（ステップＳ３のＮ）、情報対応付け要求解釈手段２２１はシステムスキーマ検索手段２２２に対して検索命令を発行し、情報取得手順を生成する（ステップＳ４）。このとき、検索命令には検索の起点と終点（システムスキーマにおける検索の起点と終点）の情報が含まれる。起点および終点と、入力装置２１０からの要求形式との対応関係は、以下に示すようになる。第１の要求形式で情報対応付け要求が入力された場合には、２つのインスタンスが入力されることになる。インスタンスは、クラスに実体情報が付加されたものであるので（図５参照）、インスタンスからクラスを特定することができる。情報対応付け要求解釈手段２２１は、２つのインスタンスから特定される２つクラスの一方をシステムスキーマにおける検索の起点に指定し、もう一方を終点に指定して検索命令を発行すればよい。第２の要求形式で情報対応付け要求が入力された場合には、１つのインスタンスと１つのクラスが入力されることになる。この場合、情報対応付け要求解釈手段２２１は、インスタンスから特定されるクラスをシステムスキーマにおける検索の起点に指定し、入力されたクラスを終点に指定して検索命令を発行すればよい。
【００８４】
また、起点や終点を指定する場合、インスタンスから特定されるクラスや入力されたクラスと互換性のあるクラスを起点や終点に指定してもよい。この場合、情報対応付け要求解釈手段２２１は、クラスの互換性の情報を明示的に管理（例えば、テーブル管理）している必要がある。例えば、情報対応付け要求解釈手段２２１が「サーバというクラスはＣｏｍｐｕｔｅｒＳｙｓｔｅｍというクラスと互換性がある。」との情報を記憶しているとする。この場合、インスタンスから特定されるクラス（あるいは入力されたクラス）が「サーバ」というクラスであるならば、そのクラスの代わりに、「ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ」というクラスを起点または終点として指定してもよい。
【００８５】
また、情報対応付け要求手段２２１がシステムスキーマ検索手段２２２に対して発行する検索命令には、オプションとして、検索にて中継する必要のある中継必要点、あるいは中継する必要のない中継不必要点が含まれてもよい。このオプションは、入力装置２１０からオプションとして与えられる情報のうち、第１のオプション情報に基づいて指定される。このオプション情報が与えられることで、第１のオプション情報を反映した情報取得手順が情報取得手順記憶部に格納される。検索の中継必要点とされる情報（クラス、関連クラス）は、第１のオプション情報で指定される。中継不必要点とされる情報（クラス、関連クラス）も、第１のオプション情報で指定される。例えば、識別子がＡであるサーバおよびファイアウォールについて、ネットワークの接続性に基づいて依存関係を解決し、出力する依存関係の中には、ＯＳに関する情報は含めないという要求を受けたとする。この場合、検索の起点要素名をＳｅｒｖｅｒクラス、終点要素名をＦｉｒｅｗａｌｌクラスとする。さらに、中継要素名をＮｅｔｗｏｒｋＣｏｎｎｅｃｔｉｏｎ関連クラス、非中継要素名をＯｐｅｒａｔｉｎｇＳｙｓｔｅｍクラスとしてシステムスキーマに対する検索命令を生成する。この結果、Ｓｅｒｖｅｒから始まりＦｉｒｅｗａｌｌで終了する複数の情報取得手順のうち、その手順のどこかでＮｅｔｗｏｒｋＣｏｎｎｅｃｔｉｏｎが含まれる手順は生成されるが、ＯｐｅｒａｔｉｎｇＳｙｓｔｅｍが含まれる手順は生成されない。
【００８６】
システムスキーマに対する検索命令を受け取ったシステムスキーマ検索手段２２２は、システムスキーマ記憶部に対して検索を実行し、この検索結果から１以上の情報取得手順を生成する（ステップＳ４）。システムスキーマ検索手段２２２は、生成した情報取得手順を情報取得手順記憶部２３２に格納する。ステップＳ４の情報取得手順生成処理については後述する。情報取得手順を生成した後、情報対応付け要求解釈手段２２１は情報取得手順検索手段２２３に対して、情報取得手順検索命令を生成し、情報取得手順検索手段２２３はこの命令に基づいて情報取得手順を検索する（ステップＡ２）。検索結果は、情報対応付け要求解釈手段２２１に戻され、情報対応付け要求解釈手段２２１はその情報取得手順を解釈し（ステップＳ５）、それに対応する情報取得手順実行命令を情報取得手順実行手段２２４に送る。
【００８７】
情報取得手順実行手段２２４は、受け取った情報取得手順実行命令をもとに、管理対象システム２４０からの情報取得を逐次実行する（ステップＳ６）。情報取得手順に従う情報取得処理（ステップＳ６）については後述する。なお、入力装置２１０から与えられるオプション情報のうち、第３のオプション情報はこの情報取得手順実行手段２２４で利用される。
【００８８】
ステップＳ６の実行結果は、情報対応付け要求解釈手段２２１に戻される。すると、情報対応付け要求解釈手段２２１は、管理対象システム２４０からの情報取得結果が存在するか否かを判定する（ステップＳ７）。管理対象システム２４０からの情報取得結果が存在する場合、情報対応付け要求解釈手段２２１は、その情報取得結果を出力装置２５０に出力させる（ステップＳ８）。管理対象システム２４０からの情報取得結果が存在しない場合、情報対応付け要求解釈手段２２１は、管理対象システム２４０から情報を所得できなかった旨を出力装置２５０に出力させる（ステップＳ９）。
【００８９】
入力装置２１０から与えられるオプション情報のうち、出力結果のフィルタに関する第２のオプション情報をステップＳ８の処理で利用してよい。情報対応付け要求解釈手段２２１は、情報取得手順実行手段２２４から与えられる複数のインスタンス文脈に対して、与えられたフィルタに合致するか否かの判断処理を逐次行う。そして、各インスタンス文脈に含まれる情報のうち、合致したものを出力装置２５０に出力させる。
【００９０】
図１０は、ステップＳ４の情報取得手順生成処理のフローチャートである。ここでは、図１１に示すＵＭＬクラス図で表現されるシステムスキーマがシステムスキーマ記憶部２３１に記憶されている場合を例にして説明する。情報対応付け要求解釈手段２２１は、検索の起点や終点といったシステムスキーマ検索命令の内容をシステムスキーマ内の要素に対応させる（ステップＳ１１）。すなわち、システムスキーマ内の要素の中から検索の起点となる要素と、終点となる要素とを決定する。本例では、図１１に示すシステムスキーマ内要素Ａを検索の起点とし、図１１に示す要素Ｃを終点とするものとする。その後、情報対応付け要求解釈手段２２１は、検索の起点と終点の情報を含む検索命令をシステムスキーマ検索手段２２２に出力する。
【００９１】
次に、システムスキーマ検索手段２２２は、ステップＳ１１で起点および終点とした要素間に成り立つ関係を検索する（ステップＳ１２）。この要素間に成り立つ関係を検索するステップＳ１２では、全経路探索アルゴリズム、あるいは複数経路探索アルゴリズムを用いる。ただし、関連要素（システム構成要素間の関連を表す要素）に多重度を記述しておき、これら要素間の探索方向に制限を設けることがあってもよい。「多重度」とは、一つの要素がその要素または他の要素に関連する場合における関連の数を示す値である。換言すると、「多重度」は、一つの要素がその要素または他の要素に関連する際における、関連する要素のインスタンスの数（実体の数）であるということができる。
【００９２】
図１２は、多重度の具体例を示す説明図である。システムスキーマの中に「サーバ」という要素と、「ＯＳ」という要素があるとする。この２つの要素は、「サーバはＯＳを搭載し、ＯＳはサーバに搭載される」という関連要素によって関連付けられる。このとき、ＯＳに着目すると、ＯＳは、１台のサーバにしか搭載されない（ＯＳが搭載されるサーバのインスタンスは１つしかない）。そのため、ＯＳがサーバに関連付けられるときの多重度は「１」となる。なお、多重度は、着目している要素に関連する要素の隣りに付記することにする。上記の場合、ＯＳに着目しているので、ＯＳに関連する要素（サーバ）の隣りに多重度「１」を付記する。次に、サーバに着目すると、サーバは、複数のＯＳを搭載することができる。サーバが搭載できるＯＳの数の上限をｎ（ｎは自然数）とする。この場合、サーバは、最大ｎ個のＯＳを搭載することができ、サーバに搭載されるＯＳのインスタンスの数はｎとなる。そのため、サーバがＯＳに関連付けられるときの多重度は「ｎ」となる。
【００９３】
システムスキーマにおいて、このような多重度が定められている場合、ステップＳ１２の検索処理において、以下のような制限を設けてもよい。すなわち、関連する要素を順次辿っていくという探索において、ある要素（要素Ｐとする）が他の要素（要素Ｑとする）に関連付けられているときの多重度が「ｎ」である場合、要素Ｑから要素Ｐを辿って、また元の要素Ｑに戻るという繰り返しは、「ｎ−１」回までしか行えないという制限を設けてもよい。すなわち、要素Ｑから要素Ｐを探索し再度要素Ｑを探索するという折り返しを、多重度が示す回数以上行うことを禁止してもよい。例えば、ＯＳがサーバに関連付けられるときの多重度は「１」であるので、１−１＝０となり、サーバからＯＳを辿って、また元のサーバに戻るという繰り返しは認めないこととする。サーバのインスタンスが１つしかない場合に、サーバからＯＳを辿り元のサーバに戻るという探索を行うと、冗長になるからである。すなわち、情報取得手順の中に同じサーバの実体情報を取得するという手順が複数含まれることになり、冗長になるからである。また、サーバがＯＳに関連付けられるときの多重度が「ｎ」であるとすると、ＯＳからサーバを辿って、また元のＯＳに戻るという繰り返しはｎ−１回まで認められる。ＯＳのインスタンスがｎ個しかない場合に、ＯＳからサーバを辿りＯＳに戻るという折り返しをｎ回以上行うと、ＯＳの実体情報を取得するという手順がＯＳのインスタンスの数以上、情報取得手順の中に含まれることとなり、冗長になるからである。
【００９４】
なお、多重度の制限がない場合、「＊」と表すことにする。「＊」と表した場合、多重度が０である場合も含まれる。また、多重度が「ｎ以上ｍ以下」である場合には、「ｎ．．ｍ」と表すことにする。例えば、多重度を「０．．１」とした場合、多重度が「０以上１以下」であることを示している。
【００９５】
この多重度に基づいた探索について、図１１に示すシステムスキーマの例を用いて説明する。なお、以下の説明では図１１に示すシステムスキーマの要素Ａのクラスをもち、かつ識別子を含むシステムの実体情報をａ１、ａ２等と表現する。同様に要素Ｂ、要素Ｃについても、その要素のクラスをもち、かつ識別子を含む実体情報をｂ１、ｃ１等と記述する。図１１の要素Ａと要素Ｃの間の経路を探索する場合、システムスキーマ検索手段２２２は、（要素Ａ−関連ｃ−要素Ｃ）、（要素Ａ−関連ｄ−要素Ｄ−関連ｅ−要素Ｃ）、（要素Ａ−関連ｂ−要素Ｂ−関連ｂ−要素Ａ−関連ｃ−要素Ｃ）、（要素Ａ−関連ｂ−要素Ｂ−関連ｂ−要素Ａ−関連ｄ−要素Ｄ−関連ｅ−要素Ｃ）の４つの経路を検索結果として出力する。
【００９６】
続いて、システムスキーマ検索手段２２２は、検索結果に基いて、検索結果から情報取得手順を生成する（ステップＳ１３）。図１３は、ステップＳ１３で生成される情報取得手順の例を示す。図１３に示す各情報取得手順９０１〜９０４は、それぞれ上記の４つの検索結果から生成された情報取得手順である。情報取得手順９０１は、要素Ａをもとに、関連ｃを辿って要素Ｃの情報を取得するという手順を意味する。関連ｂの多重度は、要素Ａに対しては無制限で、要素Ｂに対しては上限値１であるため、（要素Ａ−関連ｂ−要素Ｂ−関連ｂ−要素Ａ）という探索の折り返し動作を許可されているが、（要素Ｂ−関連ｂ−要素Ａ−関連ｂ−要素Ｂ）という折り返し動作は禁止されている。また、要素Ｆについても、要素Ａから要素Ｆに達し、再度要素Ａに戻るという探索が許可されないため、検索結果にはそのような経路は含まれず、情報取得手順としても生成されない。
【００９７】
なお、検索の起点が要素Ｄであり、検索の終点が要素Ａである場合には、図１４に示す情報取得手順１００１および情報取得手順１００２が生成される。このうち、情報取得手順１００２には、（要素Ｄ−関連ｅ−要素Ｃ−［関連ｅ−要素Ｄ−関連ｅ−要素Ｃ−］関連ｃ−要素Ａ）という手順が含まれている。［  ］内に示した配列は、その配列が繰り返されることを意味している。この繰り返しを持つ情報取得手順では、識別子ｄ１を持つ要素Ｄから関連ｅを辿って要素Ｃを得た後に、関連ｅを辿って要素Ｄを得ても、関連ｃを辿って要素Ａを得てもよい。また、繰り返しの最後である要素Ｃについての処理では、識別子がｃ１である要素Ｃから関連ｅを辿って要素Ｄを得ても、関連ｃを辿って要素Ａを得てもよい。
【００９８】
システムスキーマ検索手段２２２は、２要素間の経路の検索結果から情報取得手順を生成すると、その情報取得手順を情報取得手順記憶部２３２に格納する（ステップＳ１４）。なお、このとき、システムスキーマ検索手段２２２は、生成した情報取得手順に対し、識別情報を付加する。この識別情報は、入力装置２１０から入力された要求に対応するものであることを示す。再度、同一の要求が入力された場合には、この識別情報をキーとして情報取得手順を検索すればよい。
【００９９】
次に上記の経路検索結果および情報取得手順として生成されるデータの形式の例を以下に示す。第１のデータ構造例は、複数の情報取得手順それぞれをリンク付リスト形式に格納する構造である。第２のデータ構造例は、複数の情報取得手順を全て１つのリンク付テーブル形式に格納する構造である。例えば、第１のデータ構造例では、図１３に示す情報取得手順９０１〜９０４は、それぞれ図１５に示す情報取得手順データ１１０１〜１１０４のようなデータ構造として記憶される。すなわち、複数の情報取得手順が、それぞれ別々の情報取得手順データ１１０１〜１１０４として記憶される。また、第２のデータ構造例では、情報取得手順９０１〜９０４は、図１６に示す情報取得手順データ１２０１のようなデータ構造として記憶される。すなわち、複数の情報取得手順が、１つの情報取得手順データ１２０１として記憶される。また、情報取得手順１００２（図１４参照）のような繰り返しを持つ手順は、図１７に記載の情報取得手順データ１３０１のようなデータ構造として記憶される。
【０１００】
なお、入力装置２１０から第１のオプションの指定があり、システムスキーマ検索命令とともに中継必要要素が情報対応付け要求解釈手段２２１から与えられた場合には、システムスキーマ検索手段２２２は、検索結果の経路からこの中継必要要素が含まれていない経路を削除してもよい。あるいは、システムスキーマ検索手段２２２は、起点と終点を結ぶ経路を探索する処理と同様の処理を、起点と中継必要要素、および中継必要要素と終点とでそれぞれ実行してもよい。また、中継不必要要素がシステムスキーマ検索命令とともに与えられた場合には、システムスキーマ検索手段２２２は、検索結果に中継不必要要素が含まれているものを削除してもよい。あるいは、中継不必要要素が与えられた場合、システムスキーマ検索手段２２２は、検索実行時にその中継不必要要素を回避して探索してもよい。
【０１０１】
ここで、要素間で成り立つ関係の検索処理（ステップＳ１２）は何らかの全経路探索手法でよいが、その一例として、幅優先の全経路探索を一定の検索生存時間変数で以って行う方法について、図１８のフローチャートを参照して説明する。
【０１０２】
システムスキーマ検索手段２２２は、まず、検索ポインタを検索の起点として与えられた要素にあてる（ステップＳ２１）。要素Ａを起点とした前述の例では、要素Ａにポインタをあてる。次に、有限の数値を生存時間変数とする（ステップＳ２２）。ステップＳ２２で与えられる生存時間変数の初期値は、後述のステップＳ２３〜Ｓ２７の繰り返し処理の回数を規定する。
【０１０３】
続いて、システムスキーマ検索手段２２２は、検索のポインタがあてられている要素から、次に検索ポインタを進めることができる要素を全て列挙する（ステップＳ２３）。ステップＳ２３では、検索ポインタが設定されている要素と関連を有する要素に対して、検索ポインタを進める。検索ポインタが設定されている要素が、その要素自身と関連を有する場合もある。また、検索ポインタが終点要素にあてられている場合には、その終点要素が自身と関連を有しているときに、さらに検索可能であると判断する。例えば、図７に示す「ＬＡＮＥｎｄｐｏｉｎｔ」は、「ＬＡＮＥｎｄｐｏｉｎｔ」自身と関連を有している。この場合、「ＬＡＮＥｎｄｐｏｉｎｔ」が終点要素であり、「ＬＡＮＥｎｄｐｏｉｎｔ」に検索ポインタがあてられている場合であっても、さらに「ＬＡＮＥｎｄｐｏｉｎｔ」を検索可能であると判断する。この結果、探索経路は、「・・・、ＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＥｎｄｐｏｉｎｔ・・・」と続いていく。また、ステップＳ２３で、多重度に基づく探索先の制約判断を行ってもよい。
【０１０４】
次に、システムスキーマ検索手段２２２は、検索ポインタを進めることができる要素があったか否かを判定する（ステップＳ２４）。そのような要素があると判定した場合（ステップＳ２４のＹ）、システムスキーマ検索手段２２２は、その要素に検索ポインタを進める（ステップＳ２５）。検索ポインタを進めることができる要素が複数存在する場合には、その全てに検索ポインタを進める。また、検索ポインタは探索を行った要素を記録する経路配列を有する。システムスキーマ検索手段２２２は、複数の要素に検索ポインタを進める場合には検索ポインタを複製し、それぞれの検索先に検索ポインタを進める。そして、システムスキーマ検索手段２２２は、進めた先の要素と進めるために用いた関連をそれぞれの検索ポインタが保持している経路配列に追加する（ステップＳ２６）。その後、ステップＳ２７に移行する。
【０１０５】
また、ステップＳ２４において、検索ポインタを進めることができる要素がないと判定した場合、ステップＳ２７に移行する。
【０１０６】
ステップＳ２７では、システムスキーマ検索手段２２２は、生存時間変数が０になっているか否かを判定する。０になっていなければ（ステップＳ２７のＮ）、システムスキーマ検索手段２２２は、生存時間変数から１を減算する。（ステップＳ２８）。この後は、検索ポインタのある全ての要素に対して、さらに検索を進めることができるか判断する（ステップＳ２３）。ステップＳ２３以降の処理が、ステップＳ２２で設定された有限数値と同等の回数繰り返されると、ステップＳ２７では生存時間変数が０となる。この場合（ステップＳ２７のＹ）、システムスキーマ検索手段２２２は、検索ポインタが終点要素にある経路配列を選択し、その経路配列を検索結果とする（ステップＳ２９）。
【０１０７】
次に、図１９、図２０および図２１を用いてステップＳ６（図８参照）の処理内容について説明する。図１９は、情報取得手順に従う情報取得処理（ステップＳ６）のフローチャートである。ここでは、図１５に例示する複数の情報取得手順に従う処理がそれぞれ実行されるものとする。まず、情報取得手順実行手段２２４は、情報対応付け要求解釈２２１から受け取った１以上の情報取得手順データの中から、１つの情報取得手順データを取り出す（ステップＳ３１）。例えば、情報取得手順データ１１０１〜１１０４の中から１つの情報取得手順データを取り出す。次に、情報取得手順実行手段２２４は、取り出した情報取得手順を実行する（ステップＳ３２）。
【０１０８】
図２０は、情報取得手順の実行処理（ステップＳ３２）のフローチャートである。情報取得手順は情報取得処理の連なりから構成されるものとする。情報取得手順の実行処理（ステップＳ３２）において、情報取得手順実行手段２２４は、まず、一つの情報取得手順の実行結果であるデータを最終結果データとして準備し、このデータの値を空にする（ステップＳ４１）。このとき情報取得手順実行手段２２４は、入力装置２１０から与えられるインスタンス、および情報取得処理の結果として得られるインスタンスを格納する結果配列も準備する。次に、情報取得手順から第１の情報取得処理を取り出し（ステップＳ４２）、この情報取得処理を実行する（ステップＳ４３）。
【０１０９】
図２１は、情報取得処理（ステップＳ４３）のフローチャートである。情報取得手順実行手段２２４は、まず第１の情報取得処理を実行し、管理対象システムに対して問い合わせを行う。例えば、図１５に示す情報取得手順データ１１０１の第１の情報取得処理を実行した場合には、入力装置２１０から与えられた要素Ａのクラスを持つシステム情報ａ１をもとに、関連ｃを辿って要素Ｃの型を持つシステム情報を取得する。ここで取得結果が複数存在した場合には、その取得結果を列挙する（ステップＳ５１）。例えば、取得結果として、ｃ１、ｃ２を得た場合には、ｃ１、ｃ２を列挙する。情報取得手順実行手段２２４は、その取得結果の１つ（ここではｃ１とする。）を取り出し、これを処理結果Ａとする（ステップＳ５２）。次に、情報取得手順実行手段２２４は、結果Ａが妥当であるか否かを判定する（ステップＳ５３）。この判定処理は、主に入力装置２１０から与えられる第３のオプション情報に基づいて行う。より具体的には、情報取得結果に含めないとするインスタンス、あるいは関連インスタンスが指定されており、結果Ａがそれに該当する場合には、結果Ａは妥当でないと判定される。一方、該当しない場合には、結果Ａは妥当であると判定される。
【０１１０】
結果Ａが妥当である場合、情報取得手順実行手段２２４は、その結果Ａを情報取得結果配列に記録する（ステップＳ５４）。次に、この情報取得処理が、情報取得手順の中の最後の情報取得処理であるか否かを判定する（ステップＳ５５）。ステップＳ５５において、最後の情報取得処理であると判定した場合、結果配列を最終結果データに出力する（ステップＳ５６）。先の例では、第１の情報取得処理が情報取得手順データ１１０１における最後の情報取得処理でもあるため、ａ１とｃ１、およびそれらを結んでいることを示す関連インスタンスを結果として出力する。次に、情報取得手順実行手段２２４は、結果Ａを情報取得結果配列から削除し（ステップＳ５７）、他に情報取得結果があるか否かを判定する（ステップＳ５８）。
【０１１１】
その結果、他に情報取得結果が存在していれば、ステップＳ５２において他の結果を取り出し、これを再度結果Ａとして、同様の処理を繰り返す。先の例ではｃ１の他にｃ２が取得されていたので、ｃ２を処理結果Ａとし、情報取得結果配列に格納する。そして、これも結果配列に出力される。すべての情報取得結果について、ステップＳ５２以降の処理を終えると、情報取得処理を実行するステップ（ステップＳ４３、図２０参照）を終了し、最終結果データを最終的に得られた結果とする（ステップＳ４４、図２０参照）。なお、このステップＳ４４にて、入力装置２１０から与えられる要求の形式によって、検索結果を削除することがあってもよい。すなわち、２つのインスタンスを与えられる第１の要求形式であった場合に、情報取得手順の最後の情報取得処理によって得られたインスタンスが、入力装置から与えられたインスタンスに一致しない場合には検索結果としないという処理が含まれていてもよい。また、入力装置２１０から指定される第３のオプション情報についての処理もここで加えられてもよい。すなわち、情報取得結果に含める必要のあるインスタンスあるいは関連インスタンスが指定されている場合に、これらを含まない情報取得結果を排除する処理がステップＳ４４に含まれていてもよい。
【０１１２】
情報取得手順実行手段２２４は、以上のようにして得られる最終結果データを保持する（ステップＳ３３、図１９参照）。ステップＳ３３に続いて、情報取得手順実行手段２２４は、全ての情報取得手順を実行したか否かを判定し（ステップＳ３４）、まだ実行していない情報取得手順があれば、その情報取得手順を取り出してステップＳ３１以降の処理を繰り返す。上述の要素Ａと要素Ｃとの依存関係を解決するために準備された情報取得手順の例では、図１３に示す情報取得手順９０２〜９０４を順次取り出して、それぞれについてステップＳ３１以降の処理を実行する。
【０１１３】
ここで仮に、情報取得手順９０２では、ａ１をもとに関連ｄを辿って要素Ｄを得る情報取得処理を実行して、ｄ１が取得されたとする。そして、ｄ１をもとに関連ｅを辿って要素Ｃを得る情報取得処理を実行して、ｃ１が取得されたとする。そして、情報取得手順９０３と情報取得手順９０４では、ともに情報取得手順中の情報取得処理で取得結果が得られなかったとする。以上の場合、図１９のステップＳ３３で保持されている最終結果データは、（ａ１、ａ１とｃ１を参照する関連インスタンス、ｃ１）、（ａ１、ａ１とｃ２を参照する関連インスタンス、ｃ２）、および（ａ１、ａ１とｄ１を参照する関連インスタンス、ｄ１、ｄ１とｃ１を参照する関連インスタンス、ｃ１）である。情報取得手順実行手段２２４は、これら全てを情報対応付け要求解釈手段２２１に対して結果として出力し、情報対応付け要求解釈手段２２１は出力装置２５０に送信する。なお、入力装置２１０から第３のオプション情報が指定があり、情報取得結果に含まれる必要のあるインスタンスとしてｄ１が指定されている場合には、（ａ１、ａ１とｄ１を参照する関連インスタンス、ｄ１、ｄ１とｃ１を参照する関連インスタンス、ｃ１）が出力装置２５０に送信される。また、第２のオプション情報の指定があり、要素Ｃのクラスを持つインスタンスだけを出力装置２５０に返す指定があった場合には、ｃ１とｃ２が出力される。
【０１１４】
次に、図１４に示す情報取得手順１００２のような分岐あるいは繰り返しがある場合についての処理を説明する。この情報取得手順１００２が図１７に示す情報取得手順データ１３０１に記載のデータ形式で情報取得手順記憶手段２３２に格納されており、入力装置２１０からの対応付け要求は要素Ｄに対応するインスタンスｄ１および要素Ａに対応するインスタンスａ１と、他の情報を対応付けることを要求しているとする。この場合、情報取得手順実行手段２２４は、情報取得手順データ１３０１から第１の情報取得処理として、要素Ｄと関連ｅから要素Ｃの実体情報を取得する処理を取り出す（ステップＳ４２、図２０参照）。そして、その処理を実行してｃ１を取得したとする（ステップＳ５１、図２１参照）。次に、このｃ１を結果Ａとし（ステップＳ５２）、この結果を結果配列に格納する。ここで、結果配列にはｄ１とｃ１、およびｄ１とｃ１に関係があることを示す関連インスタンスが存在する。
【０１１５】
次に、これが最後の情報取得処理であるか判定されるが、情報取得手順データ１３０１からこれは最後の処理ではないことが分かるため（ステップＳ５５のＮ）、次の情報取得処理を実行する（ステップＳ４３）。このステップは再帰呼び出しとなる。情報取得手順実行手段２２４は、ステップＳ４３の処理を再帰呼び出しして、ｃ１から次の情報取得処理を実行する。すると、本例の場合、要素Ａに対応するインスタンスａ１および要素Ｄに対応するｄ２を列挙する（ステップＳ５１）。そのうち、ａ１を取り出し、これを取得結果Ａとする（ステップＳ５２）。この結果Ａは妥当であり、また最後の情報取得処理でもあるので、この結果配列であるｄ１とｃ１とａ１、およびそれらに関係があることを示す関連インスタンスの配列を最終結果データに出力する（ステップＳ５６）。そして、結果Ａを結果配列から削除し（ステップＳ５７）、他の情報取得処理結果であるｄ２を取り出す。このｄ２が次の結果Ａとなる。このｄ２という結果Ａは妥当であるとする。これは、最後の情報取得処理ではないため、次の情報取得処理として要素Ｄと関連ｅから要素Ｃを取得する処理を行う。
【０１１６】
以上のように、バックトラッキングアルゴリズムに基づく深さ優先探索を用いるなどして、情報取得手順データに記憶されている手順に従い、管理対象システムに対して情報取得処理を逐次実行する。
【０１１７】
なお、情報取得処理の結果を判定するステップＳ５３にて、結果配列に含まれる結果を取得した際には妥当でないとすることで、２度同じ管理対象システムの情報を取得することが避けられる。また、仮に管理対象システムが十分に大きいとき、情報取得手順のループが繰り返されてしまう可能性がある。その場合、情報取得手順実行処理に対して生存時間変数を設け、情報取得処理回数を制限することが有効である。
【０１１８】
なお、情報取得処理の具体的な方法の例としては、例えばＳＮＭＰを用いた情報取得や、ＷＢＥＭに対するＣＩＭ Ｏｐｅｒａｔｉｏｎｓ Ｏｖｅｒ Ｈｔｔｐ等が挙げられる。
【０１１９】
次に、管理対象システムに新たなシステム構成要素が追加される場合における、システムスキーマの追加について説明する。管理対象システムに新たなシステム構成要素が追加され、そのシステム構成要素が、システムスキーマ記憶部２３１内の各システムスキーマで表現されていないとする。この場合、追加されたシステム構成要素の実体情報の取得手順を作成するために、追加されたシステム構成要素を表現するようにシステムスキーマを変更すればよい。
【０１２０】
例えば、管理対象システムにＳＩＰサーバが追加されたとする。この場合、ＳＩＰサーバを表すクラスをシステムスキーマに追加すればよい。ＳＩＰサーバは、０以上のＵＲＬ登録リストを有していて、各登録リストには０以上のＳＩＰＵＲＬが含まれる。従って、このことを表現したクラスをシステムスキーマに追加すればよい。「０以上のＵＲＬ登録リストを有していて、各登録リストには０以上のＳＩＰＵＲＬが含まれる」ことを表現するしたシステムスキーマの例を図２２に示す。このようなシステムスキーマを既存のシステムスキーマと組み合わせて新たなシステムスキーマとすることによって、ＳＩＰサーバを含むネットワークシステムを管理する場合でも、コンピュータネットワーク管理システムは、依存関係を解決するための情報取得手順を作成することができる。
【０１２１】
従来、管理対象システムに新たなシステム構成要素が追加された場合には、一種のプログラムであるシナリオを作成しなければならなかったため、システム管理者の負担が大きかった。しかし、本発明では、新たなシステム構成要素を表現するシステムスキーマを追加すればよく、システムスキーマの追加は、シナリオ作成に比べ容易であるため、システム管理者の負担を軽減することができる。
【０１２２】
本発明によれば、システム構築、運用または構成変更等の際に、依存関係の把握を必要とするシステム管理者に対して、システム構成要素間の依存関係を解決し、システム管理者の所望の依存関係を提供することができる。
【０１２３】
また、ネットワークシステムについての概念を記述するシステムスキーマから、情報対応付け要求に応じた情報取得手順を生成し、これを実行するというように構成されているため、システム管理者あるいはシステム管理アプリケーション作成者が情報取得手順を作成する手間を省くことができる。また、情報対応付け要求に応じて情報取得手順を生成するので、依存関係として得られるシステム情報の種類が限定的になってしまうことがないという効果も得られる。
【０１２４】
また、システムスキーマ作成者が関連について多重度を設定した場合に、その多重度に基づいて情報取得手順を作成するように構成されているため、冗長な情報取得手順が作成されることを避けることができる。
【０１２５】
なお、上記の説明では、入力装置２１０から２つのインスタンスや、１つのインスタンスと１つのクラスが入力される場合を示した。図５（ｂ）に示すようなインスタンスの代わりに、実体情報のみが入力されてもよい。ただし、インスタンスからクラスを特定することはできるが、実体情報だけから直接クラスを特定することはできない。そこで、インスタンスの代わりに実体情報のみを入力する場合には、各実体情報と、クラスとの対応関係を示すテーブルを保持しておき、そのテーブルを用いて、入力された実体情報からクラスを特定できるようにしておけばよい。
【０１２６】
上記の実施の形態において、システムスキーマ記憶手段は、システムスキーマ記憶部２３１によって実現される。情報取得手順生成手段は、システムスキーマ検索手段２２２によって実現される。要素指定手段、関連指定手段および条件指定手段は、情報対応付け要求解釈手段２２１および入力手段２１０によって実現される。情報取得手段は、情報取得手順実行手段２２４によって実現される。出力手段は、情報対応付け要求解釈手段２２１および出力手段２５０によって実現される。システムスキーマ選択手段は、情報対応付け要求解釈手段２２１によって実現される。
【０１２７】
また、データ処理装置２２０は、コンピュータネットワークシステムに含まれる要素および要素間の関連を所定の表現形式でモデル化することによってコンピュータネットワークシステムの構造を記述したシステムスキーマを記憶するシステムスキーマ記憶手段を備えたコンピュータに搭載されるコンピュータネットワーク管理プログラムであって、コンピュータに、管理対象のコンピュータネットワークシステムに含まれる要素のうちの２つの要素の情報が入力されたときに、入力された２つの要素の情報とシステムスキーマとに基づいて、管理対象のコンピュータネットワークシステムから２つの要素を結びつけている各要素および各要素間の関連を示す情報を取得するための情報取得手順を生成する処理を実行させるためのコンピュータネットワーク管理プログラムに従って動作する。
【０１２８】
実施の形態２．
次に本発明の第２の実施の形態について説明する。第２の実施の形態におけるコンピュータネットワーク管理システムの構成は第１の実施の形態と同様である（図６参照）。ただし、第１の実施の形態では、システムスキーマ記憶部２３１が予め記憶するシステムスキーマは、要素間に継承関係を持たないシステムスキーマであった。これに対し、第２の実施の形態では、システムスキーマ記憶部２３１は、オブジェクト指向における継承関係を持つ要素を含むシステムスキーマを記憶する。
【０１２９】
このようなシステムスキーマの例を、図２３に示す。図２３に例示するシステムスキーマにおいて、クラスＢはクラスＡを継承している。クラスＤはクラスＣを継承している。また、クラスＡとクラスＣとは関連を有している。
【０１３０】
システムスキーマが、継承関係を有する要素を含んでいる場合、ステップＳ２３の処理（検索ポインタのある要素からポインタを進めることができる要素を探す処理、図１８参照）が第１の実施の形態と異なる。他の処理ステップは、第１の実施の形態と同様である。
【０１３１】
第１の実施の形態では、検索ポインタのある要素からポインタを進めることができる要素を探す処理（図１８に示すステップＳ２３）において、検索ポインタが設定されている要素と関連を有する要素に対して検索ポインタを進めていた。これに対して、第２の実施の形態では、検索ポインタが設定されている要素が継承している他の要素が関連を有している要素、およびその要素を継承している要素を、ポインタを進めることができる要素とみなして検索ポインタを進める。
【０１３２】
図２４は、検索ポインタのある要素から検索ポインタを進めることができる要素を探す処理のフローチャートである。また、図２３に示すクラスＢに検索ポインタが設定されているとする。システムスキーマ検索手段２２２は、検索ポインタが設定されている要素が継承している全ての要素を列挙する（ステップＳ７１）。図２３に示す例では、検索ポインタが設定されているクラスＢが継承している要素はクラスＡであるので、クラスＡを列挙する。なお、クラスＢがクラスＡ以外の要素も継承しているのであれば、その各要素を列挙する。ステップＳ７１で列挙される要素の中には、検索ポインタが設定されている要素のスーパークラス（親クラス）も含まれる。
【０１３３】
続いて、システムスキーマ検索手段２２２は、ステップＳ７１で列挙した要素が関連を有している要素を列挙する（ステップＳ７２）。上記の例では、ステップＳ７１でクラスＡが列挙されたので、クラスＡと関連を有する要素（クラスＣ）を列挙する。ここではクラスＡと関連を有するクラスＣのみを列挙する場合を示したが、クラスＣ以外に関連を有するクラスがあれば、各クラスを列挙する。また、ステップＳ７１で列挙されたクラスがクラスＡ以外にもあるならば、その各クラスと関連を有するクラスも列挙する。
【０１３４】
さらに、システムスキーマ検索手段２２２は、ステップＳ７２で列挙した要素を継承している要素を列挙する（ステップＳ７３）。上記の例では、ステップＳ７２でクラスＣが列挙されたので、クラスＣを継承しているクラスＤを列挙する。ステップＳ７２において、クラスＣ以外のクラスも列挙しているならば、その各クラスを継承しているクラスも列挙する。ステップＳ７３で列挙される要素には、ステップＳ７２で列挙された要素のサブクラス（子クラス）も含まれる。
【０１３５】
システムスキーマ検索手段２２２は、ステップＳ７２，Ｓ７３で列挙した要素は、検索ポインタが設定されている要素との間に関連を持っているとみなす（ステップＳ７３）。また、この関連は、検索ポインタが設定されている要素が継承している要素と、ステップＳ７２で列挙した各要素との間の関連と同一の関連であるとみなす。上記の例の場合、ステップＳ７２，Ｓ７３で列挙した要素（クラスＣ、クラスＤ）は、検索ポインタが設定されたクラスＢと関連を持っているとみなす。このとき、クラスＢとの関連は、クラスＢが継承しているクラスＡと、ステップＳ７２で列挙された各クラスＣとの間の関連と同一であるとみなす。
【０１３６】
そして、システムスキーマ検索手段２２２は、ステップＳ７２，Ｓ７３で列挙した各要素に検索ポインタを進める。
【０１３７】
この実施の形態によれば、システムスキーマの設計者は、オブジェクト指向に基づいて継承関係を有する要素を含むシステムスキーマを設計することが可能となり、設計の負荷が軽減される。仮に、オブジェクト指向を用いずに、例えばＷｅｂサーバとＨＴＴＰサーバを全く別々の要素としてモデル化すると、サーバに共通する機能を両方の要素に対して設計しなければならない。これに対し、オブジェクト指向を用いてモデル化を行うと、共通機能をサーバという上位概念の要素にまとめて設計することが可能となる。サーバという上位概念の要素と、ＷｅｂサーバやＨＴＴＰサーバといった下位概念の要素とを切り分けた上で、それらの間に継承関係を持たせれば、複数のシステム構成要素に共通する機能を、一つの要素にまとめて記述する事ができるため、設計の手間が軽減される。
【実施例１】
【０１３８】
次に、本発明の実施例を示す。本実施例では、データ処理装置２２０は、プログラムに従って動作するコンピュータであり、データ記憶装置２３０は、磁気ディスク装置であるものとする。
【０１３９】
システムスキーマ記憶部２３１は、ＣＩＭにもとづいたシステムスキーマを格納している。本例では、図７に示すＵＭＬクラス図によって表現されるシステムスキーマを格納しているものとする。
【０１４０】
また、管理対象システムの構成は、図２５に示す構成であるとする。すなわち、スイッチ２２１０とスイッチ２２２０が存在する。スイッチ２２１０は、ポート２２１１〜２２１４を備える。スイッチ２２２０は、ポート２２２１〜２２２６を備える。そして、スイッチ２２２０では、ファイアーウォール２２３１と、サーバ２２３２と、サーバ２２３３と、ファイアーウォール２２３４と、ネットワーク２２４０が、それぞれポート２２２１、ポート２２２２、ポート２２２３、ポート２２２４、ポート２２２５に接続されている。また、スイッチ２２１０では、ロードバランサ２２３５がポート２２１４に接続されている。スイッチ間は、スイッチ２２１０のポート２２１１と、スイッチ２２２０ポート２２２６とで接続されている。加えて、ポート２２１４、ポート２２１１、ポート２２２６、ポート２２２２にはポートＶＬＡＮ１が割り当てられており、ポート２２２１およびポート２２２５にはポートＶＬＡＮ２が割り当てられているもととする。また、図２５に示す構成において、管理サーバ２２６０は、本発明によるコンピュータネットワーク管理システムである。サーバ２２５０は、管理対象システムに対する情報取得を代行するＷＢＥＭを実装したサーバである。
【０１４１】
入力装置２１０（図２５において図示せず。）からサーバ２２３３とファイアーウォール２２３１の間に成り立つ依存関係を取得する情報対応付け要求が、管理サーバ２２６０の情報対応付け要求解釈手段２２１（図２５において図示せず。）に与えられたとする。この情報対応付け要求の形式は、第１の要求形式である。この情報対応付け要求は、例えば、サーバ２２３３とファイアーウォール２２３１をＶＬＡＮ接続する必要があるときに要求される内容である。また、出力結果として得られる依存関係の情報にはスイッチのＰｏｒｔに関する情報が含まれる必要があるとの情報が対応付け要求に含まれていたとする。これは、第１のオプション情報に相当する。
【０１４２】
情報対応付け要求解釈手段２２１は、図７に示すシステムスキーマにおいて、起点をＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラス、終点をＦｉｒｅｗａｌｌＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラス、中継必要クラスをＳｗｉｔｃｈＰｏｒｔクラスであると判断する。この判断は、サーバ２２３３がＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍのクラスを持ち、ファイアウォール２２３１がＦｉｒｅｗａｌｌＣｏｍｐｕｔｅｒＳｙｓｔｅｍのクラスを持つために行われた判断であるとする。そして、システムスキーマ検索命令を、システムスキーマ検索手段２２２（図２５において図示せず。）に送る。システムスキーマ検索手段２２２は、幅優先探索を行うものとする。
【０１４３】
システムスキーマ検索手段２２２は、検索の起点であるＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスに検索ポインタを指定し、これを第１の検索ポインタとする。また、本実施例では、生存時間変数を１５とする。システムスキーマ検索手段２２２は、この第１の検索ポインタと関連しているクラスを探し、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔクラスとＯｐｅｒａｔｉｎｇＳｙｓｔｅｍクラスを取得する。そして、それぞれについて関連先に進めるかを判断し、それぞれに第２の検索ポインタ、第３の検索ポインタを設定する。ここで、第２の検索ポインタの持つ経路配列として、（ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＳｅｒｖｅｒＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ）を記憶する。また、第３の検索ポインタの持つ経路配列として、（ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＲｕｎｎｉｎｇＯＳ、ＯｐｅｒａｔｉｎｇＳｙｓｔｅｍ）を記録する。このとき、検索の生存時間変数は１４となる。
【０１４４】
第２の検索ポインタと関連しているクラスをさらに探すと、ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＬＡＮＥｎｄｐｏｉｎｔが見つかる。ここで、経路配列には（ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＳｅｒｖｅｒＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ）と記録されていることと、ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスへのＳｅｒｖｅｒＳｙｓｔｅｍＤｅｖｉｃｅ関連クラスの多重度が１であることより、ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスは関連先候補とならないと判断される。この結果、管理対象システムに対して情報取得手順を実行する段階に、ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍの識別子情報からＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔの識別子情報を探し、さらにその結果からＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍの識別子情報を探す、という不必要な情報取得手順が排除される。従って、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔクラスから、ＬＡＮＥｎｄｐｏｉｎｔクラスに検索ポインタが進む。これを第４の検索ポインタとする。この経路配列は（ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＳｅｒｖｅｒＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ、ＳｅｒｖｅｒＰｏｒｔＩｍｐｌｅｍｅｎｔｓＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＥｎｄｐｏｉｎｔ）となる。第３の検索ポインタは、関連先としてＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍを持つが、経路配列の情報から戻ることはできないと判断され、それ以上の検索ポインタの移動は起きない。このとき、検索の生存時間変数は１３となる。
【０１４５】
第４の検索ポインタは、さらに関連先のクラスを探し、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ、ＳｗｉｔｃｈＰｏｒｔ、ＦｉｒｅｗａｌｌＥｔｈｅｒｎｅｔＰｏｒｔ、ＬＡＮＥｎｄｐｏｉｎｔといったクラスが見つかる。関連の多重度の情報から、ＳｗｉｔｃｈＰｏｒｔ、ＦｉｒｅｗａｌｌＥｔｈｅｒｎｅｔＰｏｒｔ、ＬＡＮＥｎｄｐｏｉｎｔクラスに検索ポインタを進めることができると判断され、それぞれに第５の検索ポインタ、第６の検索ポインタ、第７の検索ポインタが設定される。ここで、検索の生存時間変数は、１２となる。
【０１４６】
次に、第５の検索ポインタについて同様の処理を行い、ＳｗｉｔｃｈＥｔｈｅｒｎｅｔＰｏｒｔとＶＬＡＮＳｗｉｔｃｈＥｎｄｐｏｉｉｎｔクラスに第８と第９の検索ポインタが設定されｒ。また、第６の検索ポインタは、ＦｉｒｅｗａｌｌＣｏｍｐｕｔｅｒＳｙｓｔｅｍに進めることができるため、これを第１０の検索ポインタと設定される。第７の検索ポインタは、ＬＡＮＥｎｄｐｏｉｎｔからＬＡＮＥｎｄｐｏｉｎｔへの探索を行っているが、ここでの関連には多重度による制約が存在しないため、探索の繰り返し可能である。そして、経路配列は（ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＳｅｒｖｅｒＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ、ＳｅｒｖｅｒＰｏｒｔＩｍｐｌｅｍｅｎｔｓＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＡｃｔｉｖｅＣｏｎｎｅｃｔｉｏｎ、ＬＡＮＥｎｄｐｏｉｎｔ）となる。ここで、この第７の検索ポインタは、ＬＡＮＥｎｄｐｏｉｎｔとＬＡＮＥｎｄｐｏｉｎｔとの間の関連が無制限であることを読み込んだので、これを反映し経路配列を（ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＳｅｒｖｅｒＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ、ＳｅｒｖｅｒＰｏｒｔＩｍｐｌｅｍｅｎｔｓＬＡＮＥｎｄｐｏｉｎｔ、［ＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＡｃｔｉｖｅＣｏｎｎｅｃｔｉｏｎ］、ＬＡＮＥｎｄｐｏｉｎｔ）のように［ ］内の要素を繰り返し可能としてもよい。なお、ここでの検索の生存時間変数は１１となっている。
【０１４７】
同様の動作は検索の生存時間変数が０となるまで進められ、そしていくつかの検索ポインタは、Ｆｉｒｅｗａｌｌクラスに達する。例えば、第６の検索ポインタはその関連先としてＦｉｒｅｗａｌｌクラスに探索を進めることができる。ここに設定される検索ポインタ（第１０の検索ポインタ）はそれ自身のクラスに探索を進めることはできないため、検索の生存時間変数が０になるまでそのクラスに存在する。しかし、このポインタの持つ経路配列は、（ＳｅｒｖｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＳｅｒｖｅｒＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ、ＳｅｒｖｅｒＰｏｒｔＩｍｐｌｅｍｅｎｔｓＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＥｎｄｐｏｉｎｔ、ＦＷＰｏｒｔＩｍｐｌｅｍｅｎｔｓＬＡＮＥｎｄｐｏｉｎｔ、ＦｉｒｅｗａｌｌＥｔｈｅｒｎｅｔＰｏｒｔ、ＦＷＳｙｓｔｅｍＤｅｖｉｃｅ、ＦｉｒｅｗａｌｌＣｏｍｐｕｔｅｒＳｙｓｔｅｍ）であり、その配列内に中継必要クラスＳｗｉｔｃｈＰｏｒｔクラスを含まない。従って、この経路配列はシステムスキーマ検索の結果とはならない。
【０１４８】
生成される情報取得手順の一例としては、（ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＳｅｒｖｅｒＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ、ＳｅｒｖｅｒＰｏｒｔＩｍｐｌｅｍｅｎｔｓＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＡｃｔｉｖｅＣｏｎｎｅｃｔｉｏｎ、ＬＡＮＥｎｄｐｏｉｎｔ、ＳＷＬＡＮＥｎｄｐｏｉｎｔＩｄｅｎｔｉｔｙ、ＳｗｉｔｃｈＰｏｒｔ、ＳＷＰｏｒｔＩｍｐｌｅｍｅｎｔｓＳＷＥｎｄｐｏｉｎｔ、ＳｗｉｔｃｈＥｔｈｅｒｎｅｔＰｏｒｔ、ＳＷＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｗｉｔｃｈＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＳＷＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｗｉｔｃｈＥｔｈｅｒｎｅｔＰｏｒｔ、ＳＷＰｏｒｔＩｍｐｌｅｍｅｎｔｓＶＬＡＮＳＷＥｎｄｐｏｉｎｔ、ＶＬＡＮＳｗｉｔｃｈＥｎｄｐｏｉｎｔ、ＳｗｉｔｃｈＥｎｄｐｏｉｎｔＩｎＤａｔａ、ＮｅｔｗｏｒｋＶＬＡＮ、ＳｗｉｔｃｈＥｎｄｐｏｉｎｔＩｎＶＬＡＮ、ＶＬＡＮＳｗｉｔｃｈＥｎｄｐｏｉｎｔ、ＳＷＰｏｒｔＩｍｐｌｅｍｅｎｔｓＶＬＡＮＳＷＥｎｄｐｏｉｎｔ、ＳｗｉｔｃｈＥｔｈｅｒｎｅｔＰｏｒｔ、ＳＷＰｏｒｔＩｍｐｌｅｍｅｎｔｓＳＷＥｎｄｐｏｉｎｔ、ＳｗｉｔｃｈＰｏｒｔ、ＳＷＬＡＮＥｎｄｐｏｉｎｔＩｄｅｎｔｉｔｙ、ＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＡｃｔｉｖｅＣｏｎｎｅｃｔｉｏｎ、ＬＡＮＥｎｄｐｏｉｎｔ、ＦＷＰｏｒｔＩｍｐｌｅｍｅｎｔｓＬＡＮＥｎｄｐｏｉｎｔ、ＦｉｒｅｗａｌｌＥｔｈｅｒｎｅｔＰｏｒｔ、ＦＷＳｙｓｔｅｍＤｅｖｉｃｅ、ＦｉｒｅｗａｌｌＣｏｍｐｕｔｅｒＳｙｓｔｅｍ）等が挙げられる。この情報取得手順を情報取得手順Ｐとする。
【０１４９】
図２６は、このような情報取得手順を複数まとめて表現した図である。図２６において表現されている複数の情報取得手順の中から上述の情報取得手順Ｐを抽出すると、情報取得手順Ｐは、図２７に示すように表現される。
【０１５０】
なお、ＣＩＭにおけるＷｅａｋＡｓｓｏｃｉａｔｉｏｎを弱い関連とすると、この弱い関連で結ばれているクラスから定まる情報取得手順を省略してもよい。ここで、「弱い関連」について説明する。システムスキーマに記述される２つのクラスに対応する２つのインスタンスが管理対象システムに含まれているとする。この２つのインスタンスの一方のインスタンス（インスタンスＢとする）の識別子が、もう一方のインスタンス（インスタンスＡとする）の識別子を含んでいるとする。この状態のことを、「インスタンスＡの識別子がインスタンスＢに伝搬する。」という。このように、インスタンスにおいて識別子が伝搬するときに、システムスキーマ内のクラスは「弱い関連」で結合されているという。また、図７等に例示したシステムスキーマでは、２つのクラスが弱い関連で結合されているときには、そのクラス間の関連に「ｗ」を付して表している。また、この記号「ｗ」は、対応するインスタンスに識別子が伝搬している側のクラスの隣りに付記している。
【０１５１】
識別子の伝搬の具体例を示す。システムスキーマにおいて、クラスＡがサーバを表し、クラスＢがＯＳを表しているとする。また、実際の管理対象システムでは、サーバの識別子が、「ComputerSystem.name=host1 」と表され、ＯＳの識別子が「OperatingSystem.name=windows;ComputerSystem.name=host1」と表されているとする。この場合、ＯＳの識別子に、サーバの識別子が含まれ、ＯＳの識別子にサーバの識別子が伝搬していることになる。情報取得手順実行手段２２４が管理対象システムから情報を取得する際、他の要素の識別子が伝搬している識別子を取得すれば、他の要素の識別子を別途取得する必要がなくなる。そのため、システムスキーマ内では、弱い関連で結合している２つのクラスのうち、他の要素の識別子が伝搬しているインスタンスに対応するクラスは検索対象から除外してよい。なお、システムスキーマはクラスで表現されるので、システムスキーマは各要素の識別子そのものの情報を有しているわけではない。ただし、システムスキーマには、識別子が伝搬しているという情報が格納されている。この情報を、図７等では記号「ｗ」で表している。
【０１５２】
クラスを検索対象から除外する場合の例について説明する。例えば、上記の経路配列の中に存在する（ＳｗｉｔｃｈＥｔｈｅｒｎｅｔＰｏｒｔ、ＳＷＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｗｉｔｃｈＣｏｍｐｕｔｅｒＳｙｓｔｅｍ）といった順序関係のうち、ＳｗｉｔｃｈＥｔｈｅｒｎｅｔＰｏｒｔはＳｗｉｔｃｈＣｏｍｐｕｔｅｒＳｙｓｔｅｍに対して弱い関連で結合され、識別子の伝播がするという情報が格納されている。従って、「ＳｗｉｔｃｈＥｔｈｅｒｎｅｔＰｏｒｔ」からの検索先候補から、「ＳｗｉｔｃｈＣｏｍｐｕｔｅｒＳｙｓｔｅｍ」を除外してよい。「ＳｗｉｔｃｈＣｏｍｐｕｔｅｒＳｙｓｔｅｍ」を検索候補から除外して得られる複数の情報取得手順が情報取得手順記憶部に格納される。この情報取得手順に従って識別子を取得する際には、ＳｗｉｔｃｈＥｔｈｅｒｎｅｔＰｏｒｔの識別子情報を取得後、別途ＳｗｉｔｃｈＣｏｍｐｕｔｅｒＳｙｓｔｅｍの情報を取得するという情報取得処理は省略される。
【０１５３】
格納された情報取得手順は、情報対応付け要求解釈手段２２１（図６参照）によって情報取得手順記憶部２３２（図６参照）から出力され実行される。上記の経路配列の例からなる情報取得手順Ｐが実行されたとしたとする。この手順の最初の情報取得処理は（ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ、ＳｅｒｖｅｒＳｙｓｔｅｍＤｅｖｉｃｅ、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ）であるが、それに対応する取得コマンドはサーバのコンソールで実行するｉｐｃｏｎｆｉｇコマンドであってもよい。あるいは、資源情報の取得を代行するＷＢＥＭサーバ２２５０に対して、ＡｓｓｏｃｉａｔｏｒコマンドをＳｅｒｖｅｒとＳｙｓｔｅｍＤｅｖｉｃｅとＥｔｈｅｒｎｅｔＰｏｒｔとを引数として実行するものであってもよい。入力装置から受け付けたサーバの識別子はサーバ２２３３であり、いずれかの方法でこれを実行したときに、ｅｔｈ０という識別子を持つＥｔｈｅｒｎｅｔＰｏｒｔが取得されたとする。続いて（ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ、ＳｅｒｖｅｒＰｏｒｔＩｍｐｌｅｍｅｎｔｓＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＥｎｄｐｏｉｎｔ）の経路配列に対応する情報取得処理を実行する。（Ｓｅｒｖｅｒ２２３３のｅｔｈ０）という識別子から、ＬＡＮＥｎｄｐｏｉｎｔの情報を取得する。これによって、Ｍａｃアドレスが１１：１１：１１：１１：１１：１１であるＬＡＮＥｎｄｐｏｉｎｔが見つかったとする。次に、このＭａｃアドレスを持つＬＡＮＥｎｄｐｏｉｎｔをもとに、（ＬＡＮＥｎｄｐｏｉｎｔ、ＬＡＮＡｃｔｉｖｅＣｏｎｎｅｃｔｉｏｎ、ＬＡＮＥｎｄｐｏｉｎｔ）の情報取得処理を実行する。これによって、あるスイッチのポート２２２３に接続されているという情報が得られたとする。そして、これによって得られる情報から同様の手順で、ポート２２２３のポート番号３といった情報がＳｗｉｔｃｈＰｏｒｔの情報として得られ、スイッチ２２２０といった情報がＳｗｉｔｃｈＣｏｍｐｕｔｅｒＳｙｓｔｅｍの情報として得られる。ＳｗｉｔｃｈＣｏｍｐｕｔｅｒＳｙｓｔｅｍから得られるＳｗｉｔｃｈＥｔｈｅｒｎｅｔＰｏｒｔの情報は、ポート２２２１、ポート２２２２、ポート２２２４、ポート２２２５、ポート２２２６といった複数の情報が得られることとなる。ここで、ポート２２２３に関する情報は既に検出したため、この過程では検出されないものとしている。
【０１５４】
図２８は、図２５に示すスイッチ２２２０に関するシステム情報を、システムスキーマにあわせて表現した図である。図２８に示す情報からは、図２９に示すサーバ２２３３とファイアーウォール２２３１とを結んで閉回路をなす情報が検出される。図２９に示される検出結果を、システムスキーマに基づいたインスタンスとして複数重ねて表現したものを図３０に示す。図３０に示される結果のうち一つの結果の列を取り出すと、例えば（ＳｅｒｖｅｒＣｏｍｐｕｔｅｒＳｙｓｔｅｍ．ｎａｍｅ＝サーバ２２３３、ＳｅｒｖｅｒＥｔｈｅｒｎｅｔＰｏｒｔ．ｎａｍｅ＝ｅｔｈ０、ＬＡＮＥｎｄｐｏｉｎｔ．ＭＡＣＡｄｄｒｅｓｓ＝１１：１１：１１：１１：１１：１１、（中略）ＳｗｉｔｃｈＰｏｒｔ．ＰｏｒｔＮｕｍｂｅｒ＝ポート２２２３、（中略）、ＳｗｉｔｃｈＣｏｍｐｕｔｅｒＳｙｓｔｅｍ．ｎａｍｅ＝スイッチ２２２０、（中略）、ＳｗｉｔｃｈＰｏｒｔ．ＰｏｒｔＮｕｍｂｅｒ＝ポート２２２５、（中略）、ＮｅｔｗｏｒｋＶＬＡＮ＝ＶＬＡＮ番号２、（中略）、ＳｗｉｔｃｈＰｏｒｔＮｕｍｂｅｒ＝ポート２２２１、（中略）、ＦｉｒｅｗａｌｌＣｏｍｐｕｔｅｒＳｙｓｔｅｍ．ｎａｍｅ＝ファイアーウォール２２３１）といった一連のインスタンスが取り出される。
【０１５５】
この結果に含まれる意味は、サーバ２２３３がポート２２２３に接続されており、それと同じスイッチのポート２２２５は、ポート２２２１とＶＬＡＮ番号２で接続されており、そのポート２２２１は目的のファイアーウォールと接続されている、という内容である。この情報取得結果は、情報取得手順実行手段から情報対応付け要求解釈手段を介して、出力装置に送信される。出力装置は、この結果を解析しサーバ２３３３をファイアーウォール２２３１と接続するためには、スイッチ２２２０のポート２２２３に対して、ＶＬＡＮ番号２を設定する、という判断を行ってもよい。あるいは、システム管理者が、図３０に例示する結果を解析して、「サーバ２３３３をファイアーウォール２２３１と接続するためには、スイッチ２２２０のポート２２２３に対して、ＶＬＡＮ番号２を設定する」という判断を行ってもよい。
【０１５６】
本実施例では入力装置から、対応付けられた結果の情報のクラスの指定や関連のクラスの指定がされていないため、この一連の取得結果が全て返されるが、入力装置から特定のクラスの指定がある場合には、上記結果からそのクラスに属するもののみを選択してもよい。上記の例では、システム管理者が仮に出力装置がサーバとファイアーウォールの間を接続するスイッチの識別子にだけ興味がある場合、ＳｗｉｔｃｈＣｏｍｐｕｔｅｒＳｙｓｔｅｍが指定されてもよい。
【０１５７】
なお、情報対応付けの結果はシステムスキーマに依存する。そのため、出力装置はシステムスキーマのクラス、及び関連の意味を把握しておくことが望ましい。例えば、上記の例ではＳｅｒｖｅｒＳｙｓｔｅｍＤｅｖｉｃｅという関連要素が結果に含まれる場合には、それはサーバがそのデバイスを保有している、という意味を把握しておくことが望ましい。
【０１５８】
また、上記の例ではポート２２２１とポート２２２５が同一ＶＬＡＮに属さない場合は、対応付け結果が含まれない。その場合には、１回目の情報対応付け要求で得られる結果に応じて、２回目の情報対応付け要求を入力装置が入力してもよい。上記の例では、１回目の情報対応付け要求で、サーバ２２３３とファイアーウォール２２３１の間の関係を検出し、２回目の情報対応付け要求では、その結果として得られるスイッチのポート番号からＶＬＡＮを取得する対応付け要求を入力装置が入力してもよい。また、入力装置は、システム管理者の判断および操作に応じて、２回目の情報対応付け要求を情報対応付け要求解釈手段２２１に入力してもよい。
【実施例２】
【０１５９】
次に、システムスキーマが、継承関係を有する要素を含む場合の実施例を示す。図３１は、継承関係を有する要素を含むシステムスキーマの例であり、システムスキーマ記憶部２３１は、図３１に例示するシステムスキーマを記憶しているものとする。図３１において、あるクラス（クラスＢとする）が他のクラス（クラスＡとする）を継承するという関係は、クラスＢからクラスＡに延びる矢印で表している。また、図３１に例示するシステムスキーマにおいて、ＦｉｌｅＳｙｓｔｅｍクラスが起点とされ、ＥｔｈｅｒｎｅｔＰｏｒｔクラスが終点とされ、システムスキーマ検索手段２２２は、ＦｉｌｅＳｙｓｔｅｍクラスから探索を行うものとする。
【０１６０】
システムスキーマ検索手段２２２は、ＦｉｌｅＳｙｓｔｅｍクラスから、ＨｏｓｔｅｄＦｉｌｅＳｙｓｔｅｍという関連を辿ってＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスを検索する。また、ＢｏｏｔＯＳＦｒｏｍＦＳという関連を辿ってＯｐｅｒａｔｉｎｇＳｙｓｔｅｍクラスを検索する。
【０１６１】
システムスキーマ検索手段２２２は、検索したＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスに着目して、次の探索先を判断する。ＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスと直接関連するクラスとしてＦｉｌｅＳｙｓｔｅｍクラスとＯｐｅｒａｔｉｎｇＳｙｓｔｅｍクラスが存在するので、システムスキーマ検索手段２２２は、まずＦｉｌｅＳｙｓｔｅｍクラスおよびＯｐｅｒａｔｉｎｇＳｙｓｔｅｍクラスを探索先の候補とする。また、検索したＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスとは、直接関連していなくても、継承関係を介して関連するものが存在するか否かを確認する。
【０１６２】
システムスキーマ検索手段２２２は、まず、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスが継承している要素としてＳｙｓｔｅｍクラスを挙げる（ステップＳ７１、図２４参照）。続いて、システムスキーマ検索手段２２２は、そのＳｙｓｔｅｍクラスと直接関連している要素として、ＨｏｓｔｅｄＪｏｂＤｅｓｔｉｎａｔｉｏｎ関連を介したＪｏｂＤｅｓｉｔｉｎａｔｉｏｎクラス、ＯｗｎｉｎｇＪｏｂＥｌｅｍｅｎｔ関連を介したＪｏｂクラス、ＳｙｓｔｅｍＤｅｖｉｃｅ関連を介したＬｏｇｉｃａｌＤｅｖｉｃｅクラスを挙げる（ステップＳ７２、図２４参照）。次に、システムスキーマ検索手段２２２は、ここで挙げられた３つのクラスについて、それを継承しているクラスが存在するか否かを確認する。ここでは、ＬｏｇｉｃａｌＤｅｖｉｃｅクラスを継承しているクラスとして、ＬｏｇｉｃａｌＰｏｒｔクラス、ＮｅｔｗｏｒｋＰｏｒｔクラス、ＥｔｈｅｒｎｅｔＰｏｒｔクラスを挙げる（ステップＳ７３、図２４参照）。そして、ステップＳ７２，Ｓ７３で列挙した各クラスを、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスからの探索先の候補とする（ステップＳ７４，図２４参照）。
【０１６３】
すなわち、ＣｏｍｐｕｔｅｒＳｙｓｔｅｍクラスと継承関係を介して関連しているクラスは、ＨｏｓｔｅｄＪｏｂＤｅｓｔｉｎａｔｉｏｎ関連を介したＪｏｂＤｅｓｉｔｉｎａｔｉｏｎクラス、ＯｗｎｉｎｇＪｏｂＥｌｅｍｅｎｔ関連を介したＪｏｂクラス、ＳｙｓｔｅｍＤｅｖｉｃｅ関連を介したＬｏｇｉｃａｌＤｅｖｉｃｅクラス、ＳｙｓｔｅｍＤｅｖｉｃｅ関連を介したＬｏｇｉｃａｌＰｏｒｔクラス、ＳｙｓｔｅｍＤｅｖｉｃｅ関連を介したＮｅｔｗｏｒｋＰｏｒｔクラス、ＳｙｓｔｅｍＤｅｖｉｃｅ関連を介したＥｔｈｅｒｎｅｔＰｏｒｔクラスの６つのクラスとなる。システムスキーマ検索手段２２２は、これら継承関係を介した６つのクラスと直接関連している２つのクラス（ＦｉｌｅＳｙｓｔｅｍクラスおよびＯｐｅｒａｔｉｎｇＳｙｓｔｅｍクラス）を次の探索先の候補とする。
【産業上の利用可能性】
【０１６４】
本発明は、コンピュータネットワーク内の制御対象機器やその制御情報を自動的に特定するための情報検索装置や、コンピュータをそのような情報検索装置として機能させるためのプログラムに適用できる。
【図面の簡単な説明】
【０１６５】
【図１】システムスキーマの例を示す説明図である。
【図２】管理対象システムの例を示す説明図である。
【図３】起点要素から終点要素までの経路の例を示す説明図である。
【図４】情報取得手順および情報取得手順に従って取得した情報の例を示す説明図である。
【図５】クラス、インスタンス、および実体情報の関係を示す説明図である。
【図６】本発明によるコンピュータネットワーク管理システムの構成例を示すブロック図である。
【図７】システムスキーマの一例を示す説明図である。
【図８】入力装置から情報対応付け要求が入力されてから、要求された情報を出力装置に出力するまでの動作を示すフローチャートである。
【図９】各システム構成要素の依存関係の態様が複数存在する場合があることを示す説明図である。
【図１０】情報取得手順生成処理のフローチャートである。
【図１１】システムスキーマの例を示す図である。
【図１２】多重度の具体例を示す説明図である。
【図１３】情報取得手順の例を示す説明図である。
【図１４】情報取得手順の例を示す説明図である。
【図１５】情報取得手順のデータ構造の例を示す説明図である。
【図１６】情報取得手順のデータ構造の例を示す説明図である。
【図１７】情報取得手順のデータ構造の例を示す説明図である。
【図１８】要素間で成り立つ関係の検索処理のフローチャートである。
【図１９】情報取得手順に従う情報取得処理のフローチャートである。
【図２０】情報取得手順の実行処理のフローチャートである。
【図２１】情報取得処理のフローチャートである。
【図２２】追加されるシステムスキーマの例を示す説明図である。
【図２３】継承関係を持つ要素を含むシステムスキーマの例を示す説明図である。
【図２４】検索ポインタのある要素から検索ポインタを進めることができる要素を探す処理のフローチャートである。
【図２５】管理対象システムの構成例を示す説明図である。
【図２６】生成される情報取得手順を複数まとめて表現した図である。
【図２７】複数の情報取得手順から一つの情報取得手順を抽出した図である。
【図２８】スイッチに関するシステム情報を、システムスキーマにあわせて表現した図である。
【図２９】サーバとファイアーウォールとを結んだ閉回路を示す図である。
【図３０】情報取得手順によって取得された情報を示す説明図である。
【図３１】継承関係を有する要素を含むシステムスキーマの例を示す説明図である。
【図３２】ネットワーク管理処理装置の構成を示す説明図である。
【符号の説明】
【０１６６】
２１０  入力装置
２２０  データ処理装置
２２１  情報対応付け要求解釈手段
２２２  システムスキーマ検索手段
２２３  情報取得手順検索手段
２２４  情報取得手順実行手段
２３０  記憶装置
２３１  システムスキーマ記憶部
２３２  情報取得手順記憶部
【図１】
2005275533.tif 000003
【図２】
2005275533.tif 000004
【図３】
2005275533.tif 000005
【図４】
2005275533.tif 000006
【図５】
2005275533.tif 000007
【図６】
2005275533.tif 000008
【図７】
2005275533.tif 000009
【図８】
2005275533.tif 000010
【図９】
2005275533.tif 000011
【図１０】
2005275533.tif 000012
【図１１】
2005275533.tif 000013
【図１２】
2005275533.tif 000014
【図１３】
2005275533.tif 000015
【図１４】
2005275533.tif 000016
【図１５】
2005275533.tif 000017
【図１６】
2005275533.tif 000018
【図１７】
2005275533.tif 000019
【図１８】
2005275533.tif 000020
【図１９】
2005275533.tif 000021
【図２０】
2005275533.tif 000022
【図２１】
2005275533.tif 000023
【図２２】
2005275533.tif 000024
【図２３】
2005275533.tif 000025
【図２４】
2005275533.tif 000026
【図２５】
2005275533.tif 000027
【図２６】
2005275533.tif 000028
【図２７】
2005275533.tif 000029
【図２８】
2005275533.tif 000030
【図２９】
2005275533.tif 000031
【図３０】
2005275533.tif 000032
【図３１】
2005275533.tif 000033
【図３２】
2005275533.tif 000034