(57)【特許請求の範囲】
【請求項１】
ネットワーク管理システムが備えるデータベースに対して、自装置が保持するネットワーク構成情報を登録するネットワーク装置であって、
自装置のネットワーク構成情報を収集するデータ収集機能部と、
前記収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報または前記データベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、前記共有データの種別を判定するデータ加工機能部と、
前記固有データを前記データベースに随時登録する一方、いずれかの前記共有データを前記データベースに登録する際に、他のネットワーク装置が、同一種別の共有データを登録している最中は、当該種別の共有データの登録を一時停止するデータ登録機能部と、を備えることを特徴とするネットワーク装置。
【請求項２】
前記データ登録機能部は、他のネットワーク装置が、同一種別の共有データを登録している最中は、異なる種別の共有データを登録することを特徴とする請求項１記載のネットワーク装置。
【請求項３】
一定周期毎に、または自装置のネットワーク構成情報が変更したことを契機として、前記データベースに前記ネットワーク構成情報を登録することを特徴とする請求項１または請求項２記載のネットワーク装置。
【請求項４】
自装置において一意に定まる情報に基づいて、各種別の共有データの登録順序が定められることを特徴とする請求項１から請求項３のいずれかに記載のネットワーク装置。
【請求項５】
前記共有データの登録が成功する毎に、１トランザクションで処理するデータ数を増加させることを特徴とする請求項１から請求項４のいずれかに記載のネットワーク装置。
【請求項６】
ネットワーク管理システムが備えるデータベースに対して、自装置が保持するネットワーク構成情報を登録するネットワーク装置であって、
自装置のネットワーク構成情報を収集するデータ収集機能部と、
前記収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報または前記データベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、前記共有データの種別を判定するデータ加工機能部と、
前記固有データを前記データベースに随時登録する一方、前記ネットワーク管理システムから通知された種別の共有データを前記データベースに登録するデータ登録機能部と、を備えることを特徴とするネットワーク装置。
【請求項７】
データベースを備え、複数のネットワーク装置からネットワーク構成情報の登録を受け付けるネットワーク管理システムであって、
請求項６記載のネットワーク装置に対して、前記データベースに登録すべき共有データの種別を通知することを特徴とするネットワーク管理システム。
【請求項８】
前記ネットワーク装置において一意に定まる情報に基づいて、各種別の共有データの登録順序を定めることを特徴とする請求項７記載のネットワーク管理システム。
【請求項９】
請求項６記載のネットワーク装置から、前記固有データの登録を受け付けると共に、前記通知した種別の共有データの登録を受け付けることを特徴とする請求項８記載のネットワーク管理システム。
【請求項１０】
トランザクション処理で複数の登録を行なうことを特徴とする請求項７から請求項９のいずれかに記載のネットワーク管理システム。
【請求項１１】
ネットワーク管理システムが備えるデータベースに対して、自装置が保持するネットワーク構成情報を登録するネットワーク装置のプログラムであって、
自装置のネットワーク構成情報を収集する処理と、
前記収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報または前記データベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、前記共有データの種別を判定する処理と、
前記固有データを前記データベースに随時登録する一方、いずれかの前記共有データを前記データベースに登録する際に、他のネットワーク装置が、同一種別の共有データを登録している最中は、当該種別の共有データの登録を一時停止する処理と、の一連の処理を、コンピュータに実行させることを特徴とするプログラム。
【請求項１２】
ネットワーク管理システムが備えるデータベースに対して、自装置が保持するネットワーク構成情報を登録するネットワーク装置のプログラムであって、
自装置のネットワーク構成情報を収集する処理と、
前記収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報または前記データベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、前記共有データの種別を判定する処理と、
前記固有データを前記データベースに随時登録する一方、前記ネットワーク管理システムから通知された順序で、前記共有データを前記データベースに登録する処理と、の一連の処理を、コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク管理システムが備えるデータベースに対して、ネットワーク装置が保持するネットワーク構成情報を登録する技術に関する。
【背景技術】
【０００２】
従来、ネットワーク管理システムでは、ネットワーク装置との間をＳＮＭＰ（Simple Network Management Protocol）を介して接続し、各ネットワーク装置が保持する管理情報、例えば、トポロジ情報やシステム情報などを集権的に収集、統合することによって、ネットワーク全体の構成を把握している。しかし、ＳＤＮ（Software Defined Network）やＮＦＶ（Network Functions Virtualization）等のネットワーク仮想化技術の発展に伴い、管理情報が複雑化、肥大化している。そのため、集権的なネットワーク管理システムの負荷が上昇し、ネットワーク構成情報の変化をリアルタイムに管理することが困難となってきている。ネットワークの構成情報は、障害管理にも利用されるため、高品質なネットワークの提供には、構成情報のリアルタイム管理が必要不可欠である。
【０００３】
このような状況の下で、従来、図１に示すネットワークシステムが提案されている。図１において、ネットワーク管理システム１００は、データベース１０１を備えており、複数のネットワーク装置２００と接続されている。各ネットワーク装置２００は、データ収集機能部２０１、データ加工機能部２０２およびデータ登録機能部２０３を備えている。データ収集機能部２０１は、ＳＮＭＰ（Simple Network Management Protocol）やＣＬＩ（Command Line Interface）を利用して、自ネットワーク装置内部の管理情報（MIB：Management Information Base）を取得する。データ加工機能部２０２は、収集したデータの中からネットワーク管理者にとって不要な情報を除去する。また、データ加工機能部２０２は、例えば、インターフェース（ifIndex）とＩＰアドレス（ipAdEntIfIndex）との関連付けなどの各データの紐付けを行ない、グラフを形作るノード、エッジまたはノード、エッジが保持するプロパティ（属性）に変換する。データ登録機能部２０３は、ネットワーク管理システム１００のデータベース１０１に接続し、データの参照を行ない、追加・更新処理を行なう。このように、データベース１０１に登録する操作を分散的に実施するので、ネットワーク管理システム１００の負荷の低減が図られている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“グラフデータベースを用いた網構成管理機能の分散化手法の提案”電子情報通信学会 技術研究報告 vol.113, no. 492, pp. 109-114, 2014年3月.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、管理情報を登録し、更新するプロセスにおいて、ネットワーク装置が保持する管理情報とグラフデータベースに登録されている情報の参照、比較を実施し、更新処理を行なうに止まり、更新時に生ずる問題は検討されていない。すなわち、ネットワーク装置は、主に障害等でネットワーク構成が変化したときを契機として管理情報を更新するが、図１に示すような構成の場合は、複数のネットワーク装置が同時にデータベースに更新操作を試みることとなる。データベース１０１は、管理情報に不整合が生じないよう、排他制御を行なうため、複数のネットワーク装置２００の更新処理に待ちが生じ、ネットワーク管理システム１００がリアルタイムにネットワーク装置２００全体の情報を取得することが困難となってしまう。
【０００６】
本発明は、このような事情に鑑みてなされたものであり、複数のネットワーク装置がデータベースに登録を行なう際に機能する排他制御において、ロックやロールバックを極力回避し、登録を高速に行なうことができるネットワーク装置、ネットワーク管理システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明のネットワーク装置は、ネットワーク管理システムが備えるデータベースに対して、自装置が保持するネットワーク構成情報を登録するネットワーク装置であって、自装置のネットワーク構成情報を収集するデータ収集機能部と、前記収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報または前記データベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、前記共有データの種別を判定するデータ加工機能部と、前記固有データを前記データベースに随時登録する一方、いずれかの前記共有データを前記データベースに登録する際に、他のネットワーク装置が、同一種別の共有データを登録している最中は、当該種別の共有データの登録を一時停止するデータ登録機能部と、を備えることを特徴とする。
【０００８】
このように、収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報またはデータベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、共有データの種別を判定するので、固有データについては、直ちに登録することができ、共有データについては、種別に応じて登録のタイミングを調整することが可能となり、登録を高速に行なうことが可能となる。
【０００９】
（２）また、本発明のネットワーク装置において、前記データ登録機能部は、他のネットワーク装置が、同一種別の共有データを登録している最中は、異なる種別の共有データを登録することを特徴とする。
【００１０】
このように、他のネットワーク装置が、同一種別の共有データを登録している最中は、異なる種別の共有データを登録するので、ロックを回避し、ロールバックの影響を抑えることで、複数のネットワーク装置からの登録を並列かつ高速に行なうことが可能となる。すなわち、他のネットワーク装置が、同一種別の共有データを登録している最中は、ロックが発生していると考えられるが、本発明によれば、ロックの対象となっているノードやエッジを回避し、これとは異なる種別の共有データを登録することが可能となる。また、他のネットワーク装置が、同一種別の共有データを登録している場合、ロールバックが発生し得るが、異なる種別の共有データを登録することによって、ロールバックによる影響を抑えることが可能となる。これにより、ネットワーク管理システムが備えるデータベースに対して、複数のネットワーク装置が同時に登録処理を実行することが可能となり、登録処理の高速化を図ることが可能となる。
【００１１】
（３）また、本発明のネットワーク装置は、一定周期毎に、または自装置のネットワーク構成情報が変更したことを契機として、前記データベースに前記ネットワーク構成情報を登録することを特徴とする。
【００１２】
このように、一定周期毎に、または自装置のネットワーク構成情報が変更したことを契機として、データベースにネットワーク構成情報を登録するので、ネットワーク装置がネットワーク管理システムとの同期を取らなくても、ネットワーク装置の主導でデータベースへの登録を行なうことが可能となる。
【００１３】
（４）また、本発明のネットワーク装置は、自装置において一意に定まる情報に基づいて、各種別の共有データの登録順序が定められることを特徴とする。
【００１４】
このように、自装置において一意に定まる情報に基づいて、各種別の共有データの登録順序が定められるので、重要度の大小に応じた処理を行なうことが可能となる。
【００１５】
（５）また、本発明のネットワーク装置は、前記共有データの登録が成功する毎に、１トランザクションで処理するデータ数を増加させることを特徴とする。
【００１６】
このように、共有データの登録が成功する毎に、１トランザクションで処理するデータ数を増加させるので、登録の処理速度を高めることが可能となる。
【００１７】
（６）また、本発明のネットワーク装置は、ネットワーク管理システムが備えるデータベースに対して、自装置が保持するネットワーク構成情報を登録するネットワーク装置であって、自装置のネットワーク構成情報を収集するデータ収集機能部と、前記収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報または前記データベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、前記共有データの種別を判定するデータ加工機能部と、前記固有データを前記データベースに随時登録する一方、前記ネットワーク管理システムから通知された種別の共有データを前記データベースに登録するデータ登録機能部と、を備えることを特徴とする。
【００１８】
このように、収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報またはデータベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、共有データの種別を判定するので、固有データについては、直ちに登録することができ、共有データについては、種別に応じて登録のタイミングを調整することが可能となる。すなわち、ネットワーク管理システムから通知された種別の共有データをデータベースに登録するので、ネットワーク管理システムが主導して、共有データの登録を行なうことが可能となる。これにより、ロックやロールバックの影響を抑え、登録を高速に行なうことが可能となる。
【００１９】
（７）また、本発明のネットワーク管理システムは、データベースを備え、複数のネットワーク装置からネットワーク構成情報の登録を受け付けるネットワーク管理システムであって、上記（６）記載のネットワーク装置に対して、前記データベースに登録すべき共有データの種別を通知することを特徴とする。
【００２０】
このように、上記（６）記載のネットワーク装置に対して、前記データベースに登録すべき共有データの種別を通知するので、ネットワーク管理システムが主導して、共有データの登録を行なうことが可能となる。これにより、ロックを回避し、ロールバックを発生させずに、複数のネットワーク装置からの登録を並列かつ高速に行なうことが可能となる。すなわち、他のネットワーク装置が、ある種別の共有データを登録している最中は、ロックが発生していると考えられるが、本発明によれば、ロックの対象となっているノードやエッジを回避し、これとは異なる種別の共有データを登録すべきことを上記（６）記載のネットワーク装置に通知することが可能となる。また、他のネットワーク装置が、同一種別の共有データを登録している場合、ロールバックが発生し得るが、異なる種別の共有データを登録すべきことを上記（６）記載のネットワーク装置に通知することによって、ロールバックによる影響を抑えることが可能となる。これにより、ネットワーク管理システムが備えるデータベースに対して、複数のネットワーク装置が同時に登録処理を実行することが可能となり、登録処理の高速化を図ることが可能となる。
【００２１】
（８）また、本発明のネットワーク管理システムは、前記ネットワーク装置において一意に定まる情報に基づいて、各種別の共有データの登録順序を定めることを特徴とする。
【００２２】
このように、ネットワーク装置において一意に定まる情報に基づいて、各種別の共有データの登録順序を定めるので、重要度の大小に応じた処理を行なうことが可能となる。
【００２３】
（９）また、本発明のネットワーク管理システムは、上記（６）記載のネットワーク装置から、前記固定データの登録を受け付けると共に、前記通知した種別の共有データの登録を受け付けることを特徴とする。
【００２４】
このように、上記（６）記載のネットワーク装置から、固定データの登録を受け付けると共に、通知した種別の共有データの登録を受け付けるので、ロールバックを発生させずに、登録を高速に行なうことが可能となる。
【００２５】
（１０）また、本発明のネットワーク管理システムは、トランザクション処理で複数の登録を行なうことを特徴とする。
【００２６】
このように、トランザクション処理で複数の登録を行なうことによって、複数の登録を一つの処理単位毎に実行することが可能となる。
【００２７】
（１１）また、本発明のプログラムは、ネットワーク管理システムが備えるデータベースに対して、自装置が保持するネットワーク構成情報を登録するネットワーク装置のプログラムであって、自装置のネットワーク構成情報を収集する処理と、前記収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報または前記データベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、前記共有データの種別を判定する処理と、前記固有データを前記データベースに随時登録する一方、いずれかの前記共有データを前記データベースに登録する際に、他のネットワーク装置が、同一種別の共有データを登録している最中は、当該種別の共有データの登録を一時停止する処理と、の一連の処理を、コンピュータに実行させることを特徴とする。
【００２８】
このように、収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報またはデータベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、共有データの種別を判定するので、固有データについては、直ちに登録することができ、共有データについては、種別に応じて登録のタイミングを調整することが可能となり、登録を高速に行なうことが可能となる。
【００２９】
（１２）また、本発明のプログラムは、ネットワーク管理システムが備えるデータベースに対して、自装置が保持するネットワーク構成情報を登録するネットワーク装置のプログラムであって、自装置のネットワーク構成情報を収集する処理と、前記収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報または前記データベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、前記共有データの種別を判定する処理と、前記固有データを前記データベースに随時登録する一方、前記ネットワーク管理システムから通知された順序で、前記共有データを前記データベースに登録する処理と、の一連の処理を、コンピュータに実行させることを特徴とする。
【００３０】
このように、収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報またはデータベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、共有データの種別を判定するので、固有データについては、直ちに登録することができ、共有データについては、種別に応じて登録のタイミングを調整することが可能となる。すなわち、ネットワーク管理システムから通知された種別の共有データをデータベースに登録するので、ネットワーク管理システムが主導して、共有データの登録を行なうことが可能となる。これにより、ロックやロールバックの影響を抑え、登録を高速に行なうことが可能となる。
【発明の効果】
【００３１】
本発明によれば、固有データについては、直ちに登録することができ、共有データについては、種別に応じて登録のタイミングを調整することが可能となる。これにより、ロックやロールバックを回避し、またはそれらの影響を抑え、登録を高速に行なうことが可能となる。
【図面の簡単な説明】
【００３２】
【図１】本実施形態に係るネットワークシステムの概略構成を示す図である。
【図２Ａ】グラフデータベースの特徴を示す図である。
【図２Ｂ】グラフデータベースの特徴を示す図である。
【図２Ｃ】グラフデータベースの特徴を示す図である。
【図３】データ登録処理の様子を示す図である。
【図４】固有データおよび共有データの例を示す図である。
【図５】グラフデータモデルを示す。
【図６】グラフデータモデルの例を示す図である。
【図７】登録データ種別の一例を示す図である。
【図８】共有データ種別に応じて各共有データを分類した様子を示す図である。
【図９】２つのネットワーク装置が固有データ、共有データ種別（Ａ）、共有データ種別（Ｂ）をデータベースに登録する処理の流れの概要を示す図である。
【図１０】同期型のエージェントの動作例を示すフローチャートである。
【図１１】２つのネットワーク装置が、固有データ、共有データ種別（Ａ）、共有データ種別（Ｂ）をデータベースに登録する処理の流れの概要を示す図である。
【図１２Ａ】実施例２に係るネットワーク装置の動作を示すフローチャートである。
【図１２Ｂ】実施例２に係るネットワーク装置の動作を示すフローチャートである。
【図１３】共有データ種別の登録順と共有データの登録状況を示す図である。
【図１４】共有データ種別の登録順と共有データの登録状況を示す図である。
【図１５】共有データ種別の登録順と共有データの登録状況を示す図である。
【図１６】共有データ種別の登録順と共有データの登録状況を示す図である。
【図１７】共有データ種別の登録順と共有データの登録状況を示す図である。
【発明を実施するための形態】
【００３３】
本発明者らは、ネットワーク構成情報には、自装置のみが保持する固有データと、自装置および他のネットワーク装置が保持し得る共有データとに分類できることに着目し、さらに共有データを、データベースへ互いに独立な登録を可能と共有データ種別に分類することによって、ロックやロールバックを極力回避し、データベースへの登録を高速に行なうことができることを見出し、本発明をするに至った。
【００３４】
すなわち、本発明のネットワーク装置は、ネットワーク管理システムが備えるデータベースに対して、自装置が保持するネットワーク構成情報を登録するネットワーク装置であって、自装置のネットワーク構成情報を収集するデータ収集機能部と、前記収集したネットワーク構成情報を、自装置のみで保持する固有データと、他のネットワーク装置が保持し得るノード若しくはエッジを示す情報または前記データベースへの登録時に他のネットワーク装置が保持し参照する必要があるエッジを示す情報を含む共有データとに分類すると共に、前記共有データの種別を判定するデータ加工機能部と、前記固有データを前記データベースに随時登録する一方、いずれかの前記共有データを前記データベースに登録する際に、他のネットワーク装置が、同一種別の共有データを登録している最中は、当該種別の共有データの登録を一時停止するデータ登録機能部と、を備えることを特徴とする。
【００３５】
これにより、本発明者らは、固有データについては、直ちに登録することができ、共有データについては、種別に応じて登録のタイミングを調整することを可能とし、その結果、登録を高速に行なうことを可能とした。以下、本発明の実施形態について、図面を参照しながら具体的に説明する。
【００３６】
図１は、本実施形態に係るネットワークシステムの概略構成を示す図である。ネットワーク管理システム１００は、データベース１０１を備えており、複数のネットワーク装置２００と接続されている。各ネットワーク装置２００は、データ収集機能部２０１、データ加工機能部２０２およびデータ登録機能部２０３を備えている。データ収集機能部２０１は、ＳＮＭＰ（Simple Network Management Protocol）やＣＬＩ（Command Line Interface）を利用して、自ネットワーク装置内部の管理情報（MIB：Management Information Base）を取得する。
【００３７】
データ加工機能部２０２は、収集したデータの中からネットワーク管理者にとって不要な情報を除去する。また、データ加工機能部２０２は、各データの紐付けを行ない、グラフを形作るノード、エッジまたはノード、エッジが保持するプロパティ(属性)に変換する。生成した各ノード、エッジについて、それぞれ固有データであるか、または共有データであるかを識別し、共有データであった場合はその種別を判定する。
【００３８】
データ登録機能部２０３は、ネットワーク管理システム１００のデータベース１０１（グラフデータベース）に接続し、データの参照を行ない、追加・更新処理を行なう。固有データは、他のネットワーク装置からの登録に影響を及ぼさないため、一括して即時に登録処理がされる。共有データは、その種別に応じて登録処理がされる。なお、データ収集機能部２０１、データ加工機能部２０２およびデータ登録機能部２０３を総称して「エージェント」と呼称する。
【００３９】
図２Ａ〜図２Ｃは、グラフデータベースの特徴を示す図である。グラフデータベースは、ノードとエッジとで構成され、ノードとエッジは、それぞれプロパティを保持している。このようなグラフに対するあらゆる変更操作、すなわち、追加、更新、削除は、トランザクションの一部を構成する。排他制御は、トランザクション内の変更操作に関連するノードおよびエッジ単位で実行される。図２Ｂに示すように、あるエッジを削除しようとする場合は、そのエッジとその両端のノードがロックされる。また、図２Ｃに示すように、あるノードのプロパティを削除しようとする場合は、そのノードがロックされる。
【００４０】
図３は、データ登録処理の様子を示す図である。例えば、データ登録処理１では、トランザクションが開始し、ノード１のプロパティが変更され、エッジ１のプロパティが変更され、トランザクションが終了する。ところが、データ登録処理２では、トランザクションが開始し、ノード３を追加し、エッジ２を追加しようとすると、ノード１がデータ登録処理１によりロックされているため、エッジ２の追加はできないこととなる。その結果、データ登録処理１は完了するが、データ登録処理２はロールバックされ、処理が遅延することとなる。ここで、１トランザクション当たりの処理数を減らすと、オーバーヘッドが増加してしまう。一方、１トランザクション当たりの処理数を増やすと、ロールバックの発生可能性が高くなってしまう。
【００４１】
本実施形態では、データベースへの登録時にロックやロールバックを回避するために、ネットワーク構成情報を、「固有データ」と「共有データ」とに分類する。「固有データ」とは、自ネットワーク装置内でのみ保持し、グラフ構造として他のネットワーク装置と独立して登録操作が可能なノードまたはエッジまたはこれらのプロパティを示すデータである。「共有データ」とは、自ネットワーク装置以外の他のネットワーク装置も保持するノードまたはエッジまたはこれらのプロパティを示す情報であり、または登録操作時に他のネットワーク装置が保持し、参照する必要があるノードまたはエッジを示す情報である。図４は、固有データおよび共有データの例を示す図である。
【００４２】
図１におけるネットワーク管理システム１００で採用するグラフデータベースは次のような性質を有する。
【００４３】
（Ａ）グラフデータベースにおけるデータモデルはノード、ノード間の接続関係を表現するエッジを持ち、ノードまたはエッジは付随するプロパティを有する。
【００４４】
（Ｂ）グラフデータベースに対するあらゆる操作（ノードやエッジの追加、更新、削除）は以下の排他制御機能をもつ。
【００４５】
（Ｂ−１）ノードまたはエッジのプロパティの追加、更新、削除において、操作対象とするノードまたはエッジに対し、ロック処理を行なう。
【００４６】
（Ｂ−２）ノードの追加、削除において、操作対象とするノードに対し、ロック処理を行なう。
【００４７】
（Ｂ−３）エッジの追加、削除において、操作対象とするエッジとエッジの両端のノードに対し、ロック処理を行なう。
【００４８】
任意の１つのネットワーク装置が保持するネットワーク構成情報を、以上のようなグラフデータにモデル化する場合、以下の２種類に分類することができる。
【００４９】
［固有データ］
固有データとは、自ネットワーク装置内でのみ保持し、グラフモデルとして他のネットワーク装置と独立してデータベースへの登録操作が可能なノードまたはエッジを示す情報である。例えば、ホスト名、システム情報、物理インターフェース情報、論理インターフェース情報、ＭＡＣアドレス、ＩＰアドレス、サブネットマスクなどが固有データに該当する。
【００５０】
［共有データ］
自ネットワーク装置以外の他のネットワーク装置も保持し得るノードまたはエッジ、またはデータベースへの登録操作時に他のネットワーク装置が保持するデータを参照する必要があるエッジを示す情報である。例えば、ドメイン情報、ネットワーク情報、ルーティング情報（OSPF、BGP等）、コネクション情報（MPLS-TE等）、コネクションレス情報（VLAN等）である。
【００５１】
図５は、グラフデータモデルを示す。図５において、固有データは、「System, Interface, IpAdress, ConnectInt, ConsistOf」であり、共有データは、「Network, Connection, Connectionless, Route, ConsistOfConn, ConsistOfConnLess, Include」である。
【００５２】
図６は、グラフデータモデルの例を示す図である。ネットワーク装置１は、固有データとして、「System#1（システム情報）、Interface#1-1、Interface#1-2（インターフェース情報）、IpAddress#1-1、IpAddress#1-2（IPアドレス情報）」と、これらノードを接続するエッジ（ノード間の接続関係を表現）を持ち、共有データとして、「Connection#1（MPLSなどのコネクション情報）、Network#1、Network#2（ネットワーク情報）」と、これらノードを接続するエッジを持つ。
【００５３】
ネットワーク装置２は、固有データとして、「System#2、Interface#2-1、Interface#2-2、IpAddress#2-1、IpAddress#2-2」と、これらノードを接続するエッジを持ち、共有データとして、「Connection#1、Network#1、Network#2、ConnectionLess#1（VLANなどのコネクションレス情報）」と、これらノードを接続するエッジを持つ。複数のネットワーク装置からの登録処理を考慮した場合、固有データはデータベースへの書き込みにおいて競合することはないが、共有データは競合する可能性を有する。
【００５４】
また、共有データは、対象となるノードやエッジが競合し得る範囲を種別ごとに分類することができる。図７は、登録データ種別の一例を示す図である。例えば、ネットワーク装置１およびネットワーク装置２があるとする。固有データについては、各ネットワーク装置に固有のデータであるため、共有することはない。一方、例えば、「Network」と「Connection」という共有データがあるとすると、それぞれ、共有データ種別を（Ａ）、（Ｂ）とすることができる。共有データ種別（Ａ）と（Ｂ）は、互いに独立であり、登録時に競合して、ロールバックが生ずることはない。
【００５５】
図８は、共有データ種別に応じて各共有データを分類した様子を示す図である。例えば、ネットワーク装置１が、共有データ種別（Ａ）（コネクション情報）をデータベースに登録している時には、ネットワーク装置２が共有データ種別（Ｂ）（ネットワーク情報）を同時に登録することが可能である。
【００５６】
このように、ネットワーク装置が保持するネットワーク構成情報は、固有データと共有データ種別に分類することができる。これらはネットワーク装置内の設定ファイルによって定義され、データ加工機能部２０２がその設定ファイルを参照することで識別する。なお、上記グラフデータモデルは一例であり、ネットワーク構成情報のグラフモデル化方法によって、固有データや共有データとなるノード、エッジも変化する。例えば、インターフェース情報のプロパティとしてＩＰアドレスを保持させることも可能である。
【００５７】
次に、エージェントの動作について説明する。エージェントの動作態様は、次の２種類が存在する。
【００５８】
（１）同期型
ネットワーク管理システムが各エージェントの動作を要求、制御をする。（ポーリング）
（２）非同期型
定期時間毎やネットワーク構成の変化を契機として、各エージェントが個々に動作する。
【００５９】
以下、実施例として、エージェントの動作について説明する。
【実施例１】
【００６０】
実施例１では、同期型のエージェントの動作について説明する。図９は、２つのネットワーク装置が固有データ、共有データ種別（Ａ）、共有データ種別（Ｂ）をデータベースに登録する処理の流れ（データ登録機能部の処理）の概要を示す図である。ネットワーク装置１と２は、ネットワーク管理システムから情報取得要求を受信した後、まず、固有データの登録を開始する。固有データは、他のネットワーク装置と競合することがないため、ネットワーク管理システムによる同期制御を省略して、直ちに登録することができる。
【００６１】
固定データを登録した後、各ネットワーク装置は、ネットワーク管理システムが指定する共有データ種別について登録処理を開始する。ネットワーク管理システムは、複数のネットワーク装置から同じ共有データ種別の登録処理をされないよう制御を行なう。共有データ種別について、複数のネットワーク装置から異なる共有データ種別を並列して登録処理をすることができるため、ネットワーク装置全体の登録処理を高速化することができる。
【００６２】
図１０は、同期型のエージェントの動作例を示すフローチャートである。まず、ネットワーク装置は、ネットワーク管理システムから情報取得要求を受信するまで待機する。そして、ネットワーク管理システムが情報取得要求を行ない、ネットワーク装置はその要求を受信する（ステップＳ１−１）。次に、ネットワーク装置は、自装置内において、ＳＮＭＰまたはコマンドラインを介し、管理情報を収集する（ステップＳ１−２）。ネットワーク装置は、収集した管理情報から、ノードとノードに属するプロパティ、またはエッジとエッジに属するプロパティを生成する（ステップＳ１−３）。
【００６３】
次に、ネットワーク装置は、生成したノードまたはエッジが、固有データまたは共有データに属するかを識別する（ステップＳ１−４）。この識別は、設定ファイル情報に基づき実行される。ステップＳ１−４において、ノードまたはエッジが固有データである場合は、ノードまたはエッジを固有データプールに保存する（ステップＳ１−５）。一方、ステップＳ１−４において、ノードまたはエッジが固有データでない場合は、ノードまたはエッジの共有データ種別を判定し、種別に応じたプールに保存する（ステップＳ１−６）。共有データ種別の識別は設定ファイルに基づき実行される。次に、固有データのプール内に存在するノードをデータベース（DB）に登録する（ステップＳ１−７）。ノードを登録後、固有データのプール内に存在するエッジをＤＢに登録する。
【００６４】
次に、ネットワーク装置は、登録許可通知を受信するまで待機し、そして、ネットワーク管理システムが登録を許可する共有データ種別を通知し、ネットワーク装置はその通知を受信する（ステップＳ１−８）。登録許可された共有データ種別のプール内に存在するノードをＤＢに登録する（ステップＳ１−９）。ノードを登録後、登録許可された共有データ種別のプール内に存在するエッジをＤＢに登録する。次に、ネットワーク管理システムから登録完了通知を受信する（ステップＳ１−１０）。
【００６５】
ネットワーク管理システムから、情報取得完了通知を受信したかどうかを判断し（ステップＳ１−１１）、情報取得完了通知を受信していない場合は、ステップＳ１−８へ遷移する。一方、ステップＳ１−１１において、ネットワーク管理システムから、情報取得完了通知を受信した場合は、終了する。なお、未登録の共有データ種別が存在したら、ネットワーク管理システムが登録を許可する別の共有データ種別を通知し、ネットワーク装置はその通知を受信するまで待機する。
【実施例２】
【００６６】
実施例２は、非同期型のエージェントの動作について説明する。図１１は、２つのネットワーク装置が、固有データ、共有データ種別（Ａ）、共有データ種別（Ｂ）をデータベースに登録する処理の流れの概要を示す図である。図１１において、定期時間やネットワーク構成変更を契機として各エージェントが動作を開始し、各ネットワーク装置が非同期に登録処理を開始する。まず、固有データの登録を開始する。固有データは、他のネットワーク装置と競合することがないため、ネットワーク管理システムによる同期制御を省略して、直ちに登録することができる。
【００６７】
固定データを登録した後、各ネットワーク装置は、設定ファイルまたはネットワーク装置毎に定まる値に基づいて、共有データ種別の登録順序を決定し、登録処理を開始する。ネットワーク装置１は、最初に共有データ種別（Ａ）を登録する。一方、ネットワーク装置２は、共有データ種別（Ａ）とは異なる共有データ種別（Ｂ）を登録する。ネットワーク装置１および２がそれぞれの登録を終了すると、次の登録を行なう。すなわち、ネットワーク装置１は、共有データ種別（Ｂ）を登録し、ネットワーク装置２は、共有データ種別（Ａ）を登録する。このように、予め共有データを種別に基づいて分類しておき、複数のネットワーク装置から同じ共有データ種別の登録処理がされないため、複数のネットワーク装置から異なる共有データ種別を並列して登録処理をすることができる。これにより、ネットワーク装置全体の登録処理を高速化することができる。
【００６８】
図１２Ａおよび図１２Ｂは、実施例２に係るネットワーク装置の動作を示すフローチャートである。まず、エージェントを起動し（ステップＳ２−１）、次に、自装置内の構成情報を収集する（ステップＳ２−２）。ここで、２つの場面が想定される。ケース１としては、ネットワーク装置内で定義された定期時間毎に構成情報の収集を開始する。ケース２としては、監視対象の管理情報に変化があった場合に構成情報の収集を開始する。すなわち、ネットワーク装置は、自装置内において、ＳＮＭＰまたはコマンドラインを介し、管理情報を収集する。
【００６９】
次に、ネットワーク装置は、収集した管理情報から、ノードとノードに属するプロパティ、またはエッジとエッジに属するプロパティを生成する（ステップＳ２−３）。次に、ネットワーク装置は、生成したノードまたはエッジが、固有データまたは共有データに属するかを識別する（ステップＳ２−４）。この識別は、設定ファイル情報に基づき実行される。ステップＳ２−４において、ノードまたはエッジが固有データである場合は、ノードまたはエッジを固有データプールに保存する（ステップＳ２−５）。一方、ステップＳ２−４において、ノードまたはエッジが固有データでない場合は、ノードまたはエッジの共有データ種別を判定し、種別に応じたプールに保存する（ステップＳ２−６）。共有データ種別の識別は設定ファイルに基づき実行される。
【００７０】
次に、固有データのプール内に存在するノードをデータベース（DB）に登録する（ステップＳ２−７）。ノードを登録後、固有データのプール内に存在するエッジをDBに登録する。
【００７１】
次に、ネットワーク装置は、登録する共有データ種別について、その初期登録順を決定する（ステップＳ２−８）。この登録順は、設定ファイルで定義、またはネットワーク装置で一意に定まる値（ホスト名やＭＡＣアドレス）からソートし、ネットワーク装置・機器毎に定める方法や、Ｆｉｓｈｅｒ−Ｙａｔｅｓなどのランダムソートアルゴリズムを活用する方法を用いることができる。
【００７２】
例えば、図１３〜図１７に示すように、登録順が、共有データ種別（Ａ）が１番目、共有データ種別（Ｂ）が２番目、共有データ種別（Ｃ）が３番目と決めることができる。図１３〜図１７において、未登録のノードまたはエッジの共有データは白丸で表わされ、登録済の共有データは黒丸で表わされている。
【００７３】
図１２Ａのフローチャートは、図１２Ｂに継続する。ここでは、図１３〜図１７を参照しながら説明する。図１２Ｂにおいて、登録順ｋ番目の共有データ種別の登録処理を開始する（ステップＳ２−９、ステップＳ２−１０）。ここで、ｋの初期値は１である。次に、ｎ個の未登録ノードまたはエッジをデータベースに登録する（ステップＳ２−１１、ステップＳ２−１２）。ｎは、１トランザクション内で処理するノードまたはエッジの数である。このｎの値は、任意の共有データ種別の登録処理開始時は１、登録処理が成功する毎に１ずつ増加させた値である。
【００７４】
次に、データベースへの登録処理が成功したかを、データベースからのレスポンスから判定する（ステップＳ２−１３）。データベースへの登録処理が失敗していたら、登録途中のノード、エッジのロールバック処理をする。すなわち、ｋ番目の共有データ種別について、未登録のノード、エッジを登録順の末尾に追加する（ステップＳ２−１４）。例えば、図１７に示すように、共有データ種別（Ｂ）の登録がすべて終了していない状態で、登録が失敗した場合は、登録順が２番目であった共有データ種別（Ｂ）を、４番目に移動させる。このような処理により、競合が発生した共有データ種別を後回しにし、すぐに登録できる共有データ種別を優先して登録することで、処理の高速化を図ることが可能となる。そして、ｋに１を追加して（ステップＳ２−１５）、ステップＳ２−１０に遷移し、ｋ＋１番目の登録順に位置する共有データ種別の登録処理を開始する。
【００７５】
一方、ステップＳ２−１３において、データベースへの登録処理が成功していたら、登録したノード、エッジのコミット処理をする（ステップＳ２−１６）。例えば、図１４に示すように、共有データ種別（Ａ）のうち、一つの共有データが登録済みとなったが、未登録の共有データも残っている状態である。ｋ番目の共有データ種別に該当するノード、エッジの登録処理がすべて完了しているか判定し、処理中の当該共有データ内のすべてのノード、エッジを登録していなければ、ｎを１増加させ（ステップＳ２−１７）、ステップＳ２−１２に遷移する。例えば、図１５に示すように、前回は１つの共有データを登録したが、この登録が成功したため、次は２つの共有データを登録する。
【００７６】
ステップＳ２−１６において、ｋ番目の共有データ種別に該当するノード、エッジの登録処理がすべて完了した場合、すなわち、図１６に示すように、共有データ種別（Ａ）がすべて登録された場合は、すべて共有データ種別について登録が完了しているかを判定する（ステップＳ２−１８）。未登録の共有データ種別が存在する場合は、ｋに１を追加して（ステップＳ２−１５）、ステップＳ２−１０に遷移し、ｋ＋１番目の登録順に位置する共有データ種別について、処理を実施する。一方、ステップＳ２−１８において、すべての共有データ種別について登録が完了していたら、処理を終了する。
【００７７】
以上、説明したように、本実施形態によれば、複数のネットワーク装置からのデータベース書き込み処理に関するロックやロールバックの影響を抑えることができ、ネットワーク管理システムが、ネットワーク構成情報を高速に把握することが可能となる。
【符号の説明】
【００７８】
１００  ネットワーク管理システム
１０１  データベース
２００  ネットワーク装置
２０１  データ収集機能部
２０２  データ加工機能部
２０３  データ登録機能部
【図１】
0006370183.tif 000002
【図２Ａ】
0006370183.tif 000003
【図２Ｂ】
0006370183.tif 000004
【図２Ｃ】
0006370183.tif 000005
【図３】
0006370183.tif 000006
【図４】
0006370183.tif 000007
【図５】
0006370183.tif 000008
【図６】
0006370183.tif 000009
【図７】
0006370183.tif 000010
【図８】
0006370183.tif 000011
【図９】
0006370183.tif 000012
【図１０】
0006370183.tif 000013
【図１１】
0006370183.tif 000014
【図１２Ａ】
0006370183.tif 000015
【図１２Ｂ】
0006370183.tif 000016
【図１３】
0006370183.tif 000017
【図１４】
0006370183.tif 000018
【図１５】
0006370183.tif 000019
【図１６】
0006370183.tif 000020
【図１７】
0006370183.tif 000021