(57)【特許請求の範囲】
【請求項１】
ネットワークの設定を定めるコマンドが有する属性であって、コマンドが設定される際に上書き可能か否かを示す上書き属性、コマンドが設定される際に連続して複数設定可能か否かを示す複数設定属性またはコマンドが削除される際に影響を及ぼすコマンドの範囲が単独か複数かを示す削除属性の少なくとも１つの属性に対応させてロールバックの動作方法を示す動作種別をあらかじめ記憶するロールバック動作種別記憶部と、
前記コマンドによって設定された設定情報を以前の設定情報に戻す場合に、現在の設定情報を形成するコマンドと以前の設定情報を形成するコマンドの差分を抽出するコマンド差分抽出部と、
前記コマンド差分抽出部によって抽出されたコマンドの属性に対応する動作種別を前記ロールバック動作種別記憶部から取得し、該取得された動作種別に応じた、ロールバック動作を規定するロールバックコマンドを生成するロールバックコマンド生成部と
を備えたことを特徴とするネットワーク管理装置。
【請求項２】
前記設定情報に設定可能なコマンド毎に各コマンドが有する属性を記憶するコマンドテンプレート記憶部をさらに備え、
前記ロールバック動作種別記憶部は、
前記コマンドが有する属性及び前記コマンドが存在する側の設定情報の区別に対応させてロールバックの動作方法を示す動作種別をあらかじめ記憶し、
前記ロールバックコマンド生成部は、
前記コマンド差分抽出部によって抽出された差分のコマンドに関し、当該コマンドに対する属性を前記コマンドテンプレート記憶部から取得し、該取得された属性及び当該コマンドが存在する側の設定情報の区別に対応する動作種別を前記ロールバック動作種別記憶部からコマンド毎に取得し、コマンド毎の動作種別に基づいて、前記ロールバックコマンドを生成することを特徴とする請求項１に記載のネットワーク管理装置。
【請求項３】
前記コマンドテンプレート記憶部は、
前記設定情報に設定可能なコマンド自体の前記属性が追加または変更になった場合、当該コマンドに対する属性を追加または変更させることを特徴とする請求項２に記載のネットワーク管理装置。
【請求項４】
前記ロールバック動作種別記憶部は、
ネットワークの設定を定めるコマンドが有する属性が追加または変更になった場合、追加または変更になった属性に対応させて動作種別を記憶することを特徴とする請求項１から請求項３のいずれか１つに記載のネットワーク管理装置。
【請求項５】
ネットワーク管理装置がネットワークを管理するネットワーク管理方法であって、
ネットワークの設定を定めるコマンドが有する属性であって、コマンドが設定される際に上書き可能か否かを示す上書き属性、コマンドが設定される際に連続して複数設定可能か否かを示す複数設定属性またはコマンドが削除される際に影響を及ぼすコマンドの範囲が単独か複数かを示す削除属性の少なくとも１つの属性に対応させてロールバックの動作方法を示す動作種別をあらかじめ記憶する記憶部を有する前記ネットワーク管理装置が、
前記コマンドによって設定された設定情報を以前の設定情報に戻す場合に、現在の設定情報を形成するコマンドと以前の設定情報を形成するコマンドの差分を抽出するコマンド差分抽出工程と、
前記コマンド差分抽出工程によって抽出されたコマンドの属性に対応する動作種別を前記記憶部から取得し、該取得された動作種別に応じた、ロールバック動作を規定するロールバックコマンドを生成するロールバックコマンド生成工程と
を実行することを特徴とするネットワーク管理方法。
【請求項６】
コンピュータが、ネットワークの設定を定めるコマンドが有する属性であって、コマンドが設定される際に上書き可能か否かを示す上書き属性、コマンドが設定される際に連続して複数設定可能か否かを示す複数設定属性またはコマンドが削除される際に影響を及ぼすコマンドの範囲が単独か複数かを示す削除属性の少なくとも１つの属性に対応させてロールバックの動作方法を示す動作種別をあらかじめ記憶する記憶部を有し、
前記コマンドによって設定された設定情報を以前の設定情報に戻す場合に、現在の設定情報を形成するコマンドと以前の設定情報を形成するコマンドの差分を抽出するコマンド差分抽出手順と、
前記コマンド差分抽出手順によって抽出されたコマンドの属性に対応する動作種別を前記記憶部から取得し、該取得された動作種別に応じた、ロールバック動作を規定するロールバックコマンドを生成するロールバックコマンド生成手順と
を前記コンピュータに実行させることを特徴とするネットワーク管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク管理装置、ネットワーク管理方法及びネットワーク管理プログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータネットワークシステムを構築する場合、ネットワーク管理装置が、ネットワークシステム内のネットワーク機器に対し、ネットワークの監視及び制御を行うための環境情報を設定する。この環境情報を容易に設定するために、ネットワーク管理装置は、ネットワーク管理者によって投入された環境情報に関するパラメータ情報からコマンドに自動的に変換し、変換したコマンドを自動的に実行する「プロビジョニング」を利用することがある。
【０００３】
このプロビジョニングを利用して環境設定を行う場合、ネットワーク機器の動作状態又はネットワーク機器内の環境設定の状態によっては、プロビジョニングが失敗してしまう場合がある。かかる場合に、実行したコマンドを取り消すコマンド（逆コマンド）を実行することで、ネットワーク機器の環境設定を、プロビジョニングに失敗する前の状態に戻す技術が開示されている。環境設定を前の状態に戻すことをロールバックという。例えば、プロビジョニングにおいて、「設定する」コマンドを実行した場合には、このコマンドの逆コマンドである「削除する」コマンドを実行し、「削除する」コマンドを実行した場合には、このコマンドの逆コマンドである「設定する」コマンドを実行する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−１８１２６０号公報
【特許文献２】特開平９−１６８００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、プロビジョニングに失敗した場合に、実行したコマンドを取り消す逆コマンドを実行しても、プロビジョニングに失敗する前の状態に戻らない場合があるという問題がある。すなわち、プロビジョニングで実行したコマンドの逆コマンドが、プロビジョニングで実行したコマンドの逆の動作を単純に行わない場合には、余計な影響を及ぼすことになり、プロビジョニングに失敗する前の適正な状態に戻らない。
【０００６】
ここで、あるコマンドの逆コマンドが、あるコマンドの逆の動作を単純に行わない場合の一例を、図１２及び図１３を参照しながら説明する。図１２は、ＭＰＬＳ−ＶＰＮ（Multi Protocol Label Switching-Virtual Private Network）におけるプロビジョニング失敗の一例を説明する図であり、図１３−１〜３は、各プロビジョニング後の環境設定情報（configuration）を示す図である。図１２に示すように、ネットワーク管理装置が、顧客側エッジを示すＣＥ（Customer Edge）ルータ及び通信事業者側エッジを示すＰＥ（Provider Edge）ルータ間のＭＰＬＳ−ＶＰＮ設定を実行する。ここでは、ＣＥルータをＣＥルータａとし、ＰＥルータをＰＥルータａとする。
【０００７】
具体的には、まず、ネットワーク管理装置は、ＣＥルータａ及びＰＥルータａ間のＶＰＬＳ−ＶＰＮ設定に対し、ＩＰｖ４（Internet Protocol Version 4）網の静的ルーティング方式であるスタティック（static）プロトコルのサービス追加を行う（ステップＳ１）。これにより、ＣＥルータａ及びＰＥルータａ間のＩＰｖ４網に対してスタティックプロトコルのサービスに応じたコマンドが環境設定情報に追加される。
【０００８】
次に、ネットワーク管理装置は、ＣＥルータａ及びＰＥルータａ間のＶＰＬＳ−ＶＰＮ設定に対し、ＩＰｖ６（Internet Protocol Version 6）網のスタティック（static）プロトコルのサービス追加を行う（ステップＳ２）。図１３−１に示すように、ＣＥルータａ及びＰＥルータａ間のＩＰｖ６網に対してスタティックプロトコルのサービスに応じたコマンド（例えばＣ１）が環境設定情報に追加される。
【０００９】
次に、管理者が、ＣＥルータａ及びＰＥルータａ間のＶＰＬＳ−ＶＰＮ設定に対し、手動操作によってコマンドを投入し、ＩＰｖ６網のサービス変更を行う（ステップＳ３）。図１３−２に示すように、ＣＥルータａ及びＰＥルータａ間のＩＰｖ６網に対してｂｆｄ（bi-directional forwarding detection）コマンドＣ２が環境設定情報に追加される。ここでは、ｂｆｄコマンドＣ２は、ステップＳ２によって追加されたコマンドＣ１と同じ行に付加されている。そして、このｂｆｄコマンドＣ２は、ネットワーク管理装置外から設定されたので、ネットワーク管理装置にとって予測できないコマンドとなっている。
【００１０】
この状態で、ネットワーク管理装置は、ＣＥルータａ及びＰＥルータａ間のＶＰＬＳ−ＶＰＮ設定に対し、ＩＰｖ６網のプロトコルに伴うサービス変更を行う（ステップＳ４）。このとき、ネットワーク管理装置は、ネットワークの設定に失敗しロールバックする事象となり、自己が管理している、ＩＰｖ６網のプロトコルに伴うサービスを取り消そうとするので、当該サービスに応じたコマンドの逆コマンドを投入することになる。すると、ネットワーク管理装置は、ステップＳ３で管理者が投入したｂｆｄコマンドＣ２に対する処置を考慮できない。具体的に説明すると、図１３−３に示すように、ＣＥルータａ及びＰＥルータａ間のＩＰｖ６網の通信プロトコルをスタティックからＢＧＰに変更するように、環境設定情報が変更される。このとき、ネットワーク管理装置は、ＶＰＬＳ−ＶＰＮ設定に対し、自己が管理しているコマンドＣ１の逆コマンドＣ３を投入する。すると、ネットワーク管理装置は、予測できないＢＦＤコマンドＣ２を、環境設定情報に反映できないことになる。すなわち、コマンドＣ１の逆コマンドＣ３を実行しても、逆コマンドＣ３が、コマンドＣ１の逆の動作を単純に行わないので、余計な影響を及ぼすことになり、プロビジョニングに失敗する直前の適正な状態に戻らない。
【００１１】
なお、上記課題は、プロビジョニングに失敗する場合だけではなく、プロビジョニングによる設定後の環境設定情報から設定前の環境設定情報に戻す場合にも同様に生ずる課題である。
【００１２】
開示の技術は、上記に鑑みてなされたものであって、プロビジョニング前の環境設定情報に適正にロールバックできるネットワーク管理装置、ネットワーク管理方法及びネットワーク管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本願の開示するネットワーク管理装置は、ネットワークの設定を定めるコマンドが有する属性に対応させてロールバックの動作方法を示す動作種別を記憶するロールバック動作種別記憶部と、前記コマンドによって設定された設定情報を以前の設定情報に戻す場合に、現在の設定情報を形成するコマンドと以前の設定情報を形成するコマンドの差分を抽出するコマンド差分抽出部と、前記コマンド差分抽出部によって抽出されたコマンドの属性に対応する動作種別を前記ロールバック動作情報記憶部から取得し、該取得された動作種別に応じた、ロールバック動作を規定するロールバックコマンドを生成するロールバックコマンド生成部とを備える。
【発明の効果】
【００１４】
本願の開示するネットワーク管理装置の一つの態様によれば、ネットワークに接続されたネットワーク機器に対する設定情報の設定を前の設定情報に適正にロールバックできるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係るネットワーク管理装置の構成を示す機能ブロック図である。
【図２】図２は、実施例２に係るネットワーク管理装置の構成を示す機能ブロック図である。
【図３】図３は、スタティックプロトコルのテンプレートの一例を示す図である。
【図４】図４は、コマンドテンプレートテーブルのデータ構造の一例を示す図である。
【図５】図５は、管理データテーブルのデータ構造の一例を示す図である。
【図６】図６は、バックアップ管理データテーブルのデータ構造の一例を示す図である。
【図７】図７は、ロールバック動作分類表の一例を説明する図である。
【図８】図８は、ロールバック動作判定テーブルのデータ構造の一例を示す図である。
【図９−１】図９−１は、実施例２に係るネットワーク管理装置の処理手順を示すフローチャートである。
【図９−２】図９−２は、ロールバック判定処理の手順を示すフローチャートである。
【図９−３】図９−３は、ロールバック判定結果設定コマンド生成処理の手順を示すフローチャートである。
【図１０】図１０は、ロールバック設定コマンド生成の具体例を示す図である。
【図１１】図１１は、ロールバック設定コマンド生成の具体例を示す図である。
【図１２】図１２は、従来のプロビジョニング失敗の一例を説明する図である。
【図１３−１】図１３−１は、プロビジョニングの結果を示す図（ＩＰｖ６網に対してＭＰＬＳ−ＶＰＮ設定した場合の環境設定情報）である。
【図１３−２】図１３−２は、プロビジョニングの結果を示す図（ＩＰｖ６網に対してコマンド投入した場合の環境設定情報）である。
【図１３−３】図１３−３は、プロビジョニングの結果を示す図（ＩＰｖ６網の通信プロトコルをＳｔａｔｉｃからＢＧＰに変更した場合の環境設定情報）である。
【図１４】図１４は、ネットワーク管理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示するネットワーク管理装置、ネットワーク管理方法及びネットワーク管理プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、ネットワークに接続されたルータ等のネットワーク機器に対し、ＩＰ（Internet Protocol）ネットワーク網の監視・制御する設定情報をプロビジョニングを利用して設定するネットワーク管理装置に適用した場合を示す。しかし、本実施例によってこの発明が限定されるものではなく、本発明は、ＭＰＬＳ−ＶＰＮ（Multi Protocol Label Switching-Virtual Private Network）網に接続されたネットワーク機器に適用可能であるし、その他のネットワークに接続されたネットワーク機器にも適用可能である。
【実施例１】
【００１７】
図１は、本実施例１に係るネットワーク管理装置の構成を示す機能ブロック図である。図１に示すように、ネットワーク管理装置１は、ロールバック動作種別記憶部１１、コマンド差分抽出部１２及びロールバックコマンド生成部１３を有する。
【００１８】
ロールバック動作種別記憶部１１は、ネットワークの設定を定めるコマンドが有する属性に対応させてロールバックの動作方法を示す動作種別を記憶する。コマンド差分抽出部１２は、ネットワークの設定を定めるコマンドによって設定された設定情報を以前の設定情報に戻す場合に、現在の設定情報を形成するコマンドと以前の設定情報を形成するコマンドの差分を抽出する。
【００１９】
ロールバックコマンド生成部１３は、コマンド差分抽出部１２によって抽出されたコマンドの属性に対応する動作種別をロールバック動作情報記憶部１１から取得し、該取得された動作種別に応じた、ロールバック動作を規定するロールバックコマンドを生成する。
【００２０】
このようにして、ネットワーク管理装置１は、現在の設定情報を形成するコマンドを取り消すロールバックコマンドを生成する場合に、コマンドが有する属性に対応させた動作種別に応じたロールバックコマンドを生成する。このため、ネットワーク管理装置１は、コマンドを単純に取り消すロールバックコマンドを生成する場合と異なり、適正なロールバックコマンドを生成できる。
【００２１】
また、ネットワーク管理装置１は、コマンドが有する属性に対応させたロールバックの動作方法を規定するロールバック動作種別記憶部１１に基づいて、当該コマンドに対応するロールバックコマンドを生成する。このため、例えばプロビジョニングに失敗し、以前の設定情報に戻す場合に、ネットワーク管理者が失敗の原因を解析しロールバックコマンドを特定しなくてもよいことになる。すなわち、ネットワーク管理装置１が自動的にロールバックコマンドを生成し、プロビジョニング前の適正な設定情報に戻すことができる。
【実施例２】
【００２２】
［実施例２に係るネットワーク管理装置の概要］
本実施例２に係るネットワーク管理装置は、ＭＰＬＳ−ＶＰＮ網に接続されたネットワーク機器に対して、プロビジョニングを用いて、ネットワークの監視及び制御をするための環境設定情報を設定する。この際、ネットワーク管理装置は、プロビジョニングによって設定された環境設定情報を、プロビジョニング前の環境設定情報に戻す場合がある。かかる場合に、ネットワーク管理装置は、プロビジョニング前の適正な環境設定情報にロールバックさせる必要がある。
【００２３】
このため、ネットワーク管理装置は、ネットワークの設定を定めるコマンドが有する属性に対応させてロールバックの動作方法を示す動作種別を予め記憶装置に記憶しておく。そして、ネットワーク管理装置は、コマンドによって設定された環境設定情報をプロビジョニング前の環境設定情報に戻す場合に、プロビジョニング後の環境設定情報を形成するコマンドとプロビジョニング前の環境設定情報を形成するコマンドの差分を抽出する。そして、ネットワーク管理装置は、当該差分として抽出されたコマンドの属性に対応する動作種別を記憶装置から取得し、該取得された動作種別に応じた、ロールバック動作を規定するロールバックコマンドを生成する。なお、プロビジョニング前の環境設定情報に戻す場合とは、プロビジョニングに失敗した場合であったり、プロビジョニング前のプロトコルやＩＰアドレス等に戻す場合であったりするが、これに限定されるものではない。
【００２４】
［実施例２に係るネットワーク管理装置の構成］
図２は、実施例２に係るネットワーク管理装置の構成について説明する。図２は、実施例２に係るネットワーク管理装置の構成を示す機能ブロック図である。図２に示すように、実施例２に係るネットワーク管理装置２は、操作部２１、機器操作部２２、記憶部２３及び制御部２４を有する。また、機器操作部２２は、プロビジョニングにて環境設定情報を設定するネットワーク機器と接続されている。なお、ネットワーク機器とは、ＣＥルータやＰＥルータ等である。
【００２５】
操作部２１は、プロビジョニングやロールバックを行う際に操作を行う装置であり、例えば、キーワード、マウスまたはモニター等を含む。機器操作部２２は、制御部２４から受けた指示にしたがい、ネットワーク機器にコマンドを実行する。また、機器操作部２２は、ネットワーク機器から受けた結果を制御部２４に通知する。
【００２６】
記憶部２３は、管理データテーブル４１、バックアップ管理データテーブル４２、コマンドテンプレートテーブル４３及びロールバック動作判定テーブル４４を有する。なお、記憶部２３は、例えば、ＲＡＭ（Random Access Memory）、フラッシュメモリ（flash memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。
【００２７】
制御部２４は、プロビジョニング実行部３１、ロールバック制御部３２、設定後コマンド生成部３３、設定前コマンド生成部３４、設定前後コマンド差分抽出部３５及びロールバックコマンド生成部３６を有する。さらに、ロールバックコマンド生成部３６は、ロールバック判定部３６ａ、判定結果設定コマンド生成部３６ｂ及び不要コマンド削除部３６ｃを有する。
【００２８】
コマンドテンプレートテーブル４３は、環境設定情報に設定される可能性のあるコマンドのテンプレートを記憶するとともにコマンドが有する属性を記憶する。ここで、テンプレートの一例を示しながら、コマンドテンプレートテーブル４３のデータ構造について説明する。図３は、テンプレートの一例を示す図である。図３に示すように、スタティックプロトコルの環境設定情報に設定される可能性のあるコマンドの一例が示されている。
【００２９】
ラインＬ１には、ｖｒｆ（virtual/VPN routing and forwarding）コマンドが示される。ｖｒｆコマンドは、ＶＰＮにネットワークパーティションを割り当てるためにＶＰＮ名を指定するパラメータを持っている。ラインＬ２には、ｉｐｖ４のアドレスファミリーであることを宣言するコマンドが示される。ラインＬ３には、割り当てられたＶＲＦにインポートルートターゲットを作成するコマンドが示される。ラインＬ４には、インポートルートターゲットのｉｐアドレス及びネットマスクを指定するコマンドが示される。ラインＬ５には、物理インタフェース名を指定するコマンドが示される。ラインＬ６には、割り当てられたＶＲＦにエクスポートルートターゲットを作成するコマンドが示される。ラインＬ７には、エクスポートルートターゲットのｉｐアドレスを指定するコマンドが示される。
【００３０】
次に、これらコマンドの属性について説明する。属性とは、ロールバックコマンドを生成する際に制約条件となる。ここでは、「上書き属性」、「複数設定属性」及び「削除影響範囲属性」を属性とする。「上書き属性」とは、コマンドを更新設定する場合に上書きが可能か不可能かを示す属性である。「複数設定属性」とは、コマンドを連続して複数設定することが有るか否かを示す属性である。「削除影響範囲属性」とは、コマンドを削除すると、影響を及ぼすことになるコマンド範囲が単独か複数かを示す属性である。
【００３１】
かかる属性について具体的に説明する。ラインＬ１に示されるｖｒｆコマンドは、上書き属性を「不可」、複数設定属性を「有り」、削除影響範囲属性を「ラインＬ１からラインＬ７まで影響を及ぼすため複数」とする。ラインＬ２に示されるｉｐｖ４宣言コマンドは、上書き属性を「不可」、複数設定属性を「無し」、削除影響範囲属性を「ラインＬ２からラインＬ７まで影響を及ぼすため複数」とする。ラインＬ３に示されるインポートルートターゲット作成コマンドは、上書き属性を「不可」、複数設定属性を「無し」、削除影響範囲属性を「ラインＬ３からラインＬ５まで影響を及ぼすため複数」とする。ラインＬ４に示されるインポートルートターゲットのｉｐアドレス指定コマンドは、上書き属性を「可」、複数設定属性を「無し」、削除影響範囲属性を「ラインＬ４にのみ影響を及ぼすため単独」とする。ラインＬ５に示される物理インタフェース名指定コマンドは、上書き属性を「不可」、複数設定属性を「有り」、削除影響範囲属性を「ラインＬ５にのみ影響を及ぼすため単独」とする。ラインＬ６に示されるエクスポートルートターゲット指定コマンドは、上書き属性を「不可」、複数設定属性を「無し」、削除影響範囲属性を「ラインＬ６からラインＬ７まで影響を及ぼすため複数」とする。ラインＬ７に示されるインポートルートターゲットのｉｐアドレス指定コマンドは、上書き属性を「可」、複数設定属性を「無し」、削除影響範囲属性を「ラインＬ７にのみ影響を及ぼすため単独」とする。
【００３２】
なお、ラインＬ３からラインＬ７までの各コマンドは、各コマンドずつ属性を設定するようにしても良いし、これらコマンドを１行に纏めて設定するようにしても良い。１行に纏めて設定する場合には、上書き属性を「不可」、複数設定属性を「有り」、削除影響範囲属性を「自行のみに影響を及ぼす単独」となる。以降の説明では、１行に纏めて設定する後者を採用するものとする。
【００３３】
このスタティックプロトコルのテンプレートに対するコマンドテンプレートテーブル４３は、以下のようになる。図４は、コマンドテンプレートテーブル４３のデータ構造の一例を示す図である。図４に示すように、コマンドテンプレートテーブル４３は、キー情報４３ａ及びキー詳細Ｎｏ４３ｂ毎に、コマンドのテンプレート４３ｃと、コマンドの属性である上書き４３ｄ、複数設定４３ｅ及び削除影響範囲４３ｆと、テンプレートのパラメータ４３ｇとを対応付けて記憶する。さらに、コマンドテンプレートテーブル４３は、上記テンプレート４３ｃ毎に、削除接頭語４３ｈ、削除テンプレート４３ｉ及び削除テンプレートのパラメータ４３ｊを対応付けて記憶する。
【００３４】
具体的に、キー情報４３ａは、ネットワーク機器が用いるプロトコル毎に定められる識別番号を示す。例えば、スタティックプロトコルの識別番号を「００１」とし、図示しないＢＧＰプロトコルの識別番号を「００２」としても良い。キー詳細Ｎｏ４３ｂは、後述するテンプレート４３ｃ毎の識別番号であり、昇順に付けられる。
【００３５】
テンプレート４３ｃは、コマンドのテンプレートを示し、パラメータを含む形式で示される。ここでは、ラインＬ１０で示されるテンプレート４３ｃは、ルーティングプロトコルがスタティックであることを示すコマンドのテンプレートを表す。ラインＬ１１で示されるテンプレート４３ｃは、図３で示されたラインＬ１に対応するｖｒｆコマンドのテンプレートを示し、ＶＲＦ名を指定するパラメータを含む形式で示される。ラインＬ１２で示されるテンプレート４３ｃは、図３で示されたラインＬ２に対応するｉｐｖ４宣言コマンドのテンプレートを示す。ラインＬ１３で示されるテンプレート４３ｃは、図３で示されたラインＬ３からラインＬ７までの各種アドレス設定コマンドのテンプレートを示す。各種アドレス設定コマンドは、例えばインポートルートターゲットのｉｐアドレス、そのネットマスク、物理インタフェース名及びエクスポートターゲットのｉｐアドレスを指定するパラメータを含む形式で示される。なお、テンプレート４３ｃは、連続するコマンドの属性を考慮して１個のコマンドのテンプレートである場合もあるし、複数のコマンドを含むテンプレートである場合もある。上述したラインＬ１３で示された各種アドレス設定コマンドのテンプレートは、複数のコマンドを含むテンプレートである場合である。
【００３６】
上書き４３ｄは、テンプレート４３ｃで示されるコマンド毎の上書き属性を示す。例えば、「上書き不可能」の場合には「０」、「上書き可能」の場合には「１」、「該当しない」場合には「２」が設定される。
【００３７】
複数設定４３ｅは、テンプレート４３ｃで示されるコマンド毎の複数設定属性を示す。例えば、「複数設定無し」の場合には「０」、「複数設定有り」の場合には「１」、「該当しない」場合には「２」が設定される。
【００３８】
削除影響範囲４３ｆは、テンプレート４３ｃで示されるコマンド毎の削除影響範囲属性を示し、コマンドが削除されると影響を及ぼすキー詳細Ｎｏ４３ｂの値が設定される。例えば、ラインＬ１３で示されるコマンドが削除されると、削除影響範囲４３ｆとして影響を及ぼすキー詳細Ｎｏ４３ｂの値が「４」である場合には、削除影響範囲４３ｆの値とキー詳細Ｎｏ４３ｂの値とが一致するので、削除影響範囲が単独であることがわかる。
【００３９】
テンプレートのパラメータ４３ｇは、テンプレート４３ｃに含まれるパラメータの書式を示す。削除接頭語４３ｈは、テンプレート４３ｃで示されるコマンドを取り消す際のコマンド生成規定を示す。例えば、「ｎｏ」の場合には、テンプレート４３ｃで示されるコマンドを取り消す際のコマンドの接頭語を示す。「０」の場合には、テンプレート４３ｃで示されるコマンドには「削除コマンドが不要」であることを示す。すなわち、この場合には、上位の削除コマンドによって重畳的に削除されることになる。「１」の場合には、「無条件にコマンドを投入する」ことを示す。「３」の場合には、「接頭語以外の削除コマンドである」ことを示す。
【００４０】
削除テンプレート４３ｉは、削除接頭語４３ｈが「３」、すなわち「接頭語以外の削除コマンドである」場合の削除コマンドパターンのテンプレートを示し、パラメータを含む形式で示される。削除テンプレートのパラメータ４３ｊは、削除テンプレート４３ｊに含まれるパラメータの書式を示す。
【００４１】
なお、例えばネットワーク機器のファームウェアのアップグレード等によって環境設定情報に設定可能なコマンド自体の属性が追加または変更になる場合が想定される。かかる場合であっても、コマンドテンプレートテーブル４３には、当該コマンドに関する属性が追加または変更されることが可能である。
【００４２】
図２に戻って、管理データテーブル４１は、ネットワーク機器に設定されている最新の環境設定情報の内容を記憶する。すなわち、管理データテーブル４１は、プロビジョニング直後のネットワーク機器に設定されている環境設定情報の内容を記憶する。ここで、管理データテーブル４１のデータ構造について図５を参照しながら説明する。図５に示すように、管理データテーブル４１は、キー詳細Ｎｏ４１ｃ毎に、ノード番号４１ａ、キー情報４１ｂ及びパラメータ４１ｄを対応付けて記憶する。
【００４３】
ノード番号４１ａは、ＭＰＬＳ−ＶＰＮ網に接続されたネットワーク機器が所属するノード番号を示す。キー情報４１ｂ及びキー詳細Ｎｏ４１ｃは、コマンドテンプレートテーブル４３のキー情報４３ａ及びキー詳細Ｎｏ４３ｂと同様であるので、その説明を省略する。パラメータ４１ｄは、環境設定情報に設定されているコマンドの実際のパラメータの内容である。例えば、キー詳細Ｎｏ４１ｃが「４」の場合のパラメータ４１ｄは、コマンドテンプレートテーブル４３のラインＬ１３のテンプレート４３ｃに含まれる各種アドレス設定コマンドのパラメータ４３ｇを意味する。このため、パラメータ４１ｄのパラメータ１〜４には、パラメータ４３ｇに対応する実際のパラメータ１〜４の内容が格納されている。
【００４４】
図２に戻って、バックアップ管理データテーブル４２は、プロビジョニング直前のネットワーク機器の環境設定情報の内容を記憶する。すなわち、バックアップ管理データテーブル４２は、ネットワーク管理装置２が管理するプロビジョニング直前のネットワーク機器の環境設定情報であって１世代前の環境設定情報の内容を記憶する。ここで、バックアップ管理データテーブル４２のデータ構造については、図６に記載したとおりであるが、管理データテーブル４１と同様であるので、その説明を省略する。
【００４５】
図２に戻って、プロビジョニング実行部３１は、操作部２１から指定されたプロビジョニングの内容に基づいたプロビジョニングを実行する。具体的には、プロビジョニング実行部３１は、管理データテーブル４１に管理されている最新の環境設定情報の内容を読み出し、読み出した内容をバックアップ管理データテーブル４２に退避する。管理データテーブル４１から読み出した内容は、プロビジョニング後に１世代前の環境設定情報となるので、予めバックアップするのである。また、プロビジョニング実行部３１は、読み出した内容をコマンド化して、プロビジョニングを実施するための環境設定情報を形成するコマンド列を生成する。そして、プロビジョニング実行部３１は、機器操作部２２に対して、生成したコマンド列を含んだプロビジョニングの実行依頼を指示する。また、プロビジョニング実行部３１は、機器操作部２２からプロビジョニングの実行結果を取得すると、この実行結果を管理データテーブル４１に反映するとともに、操作部２１に通知する。
【００４６】
ロールバック制御部３２は、操作部２１から指定されたロールバックの内容に基づき、設定後コマンド生成部３３に対してロールバックの実行依頼を指示する。また、ロールバック制御部３２は、後述するロールバック動作によるロールバックの実行結果を機器操作部２２から取得すると、この実行結果を操作部２１に通知する。そして、ロールバック制御部３２は、ロールバックによってネットワーク機器の環境設定情報が１世代前に戻るので、バックアップ管理データテーブル４２に記憶された環境設定情報の内容を管理データテーブル４１に上書きする。そして、ロールバック制御部３２は、さらに１世代前の環境設定情報がないので、バックアップ管理データテーブル４２に記憶された環境設定情報の内容を破棄する。
【００４７】
設定後コマンド生成部３３は、ロールバック対象であるネットワーク機器に設定されている、プロビジョニング直後の最新の環境設定情報をコマンド化し、設定後コマンド列とする。具体的に、設定後コマンド生成部３３は、ロールバック制御部３２からロールバックの実行依頼の指示を取得すると、実行依頼指示に含まれたロールバック対象となるネットワーク機器に対し、現在の環境設定情報の抽出依頼を機器操作部２２に指示する。また、設定後コマンド生成部３３は、機器操作部２２からネットワーク機器の現在の環境設定情報の抽出結果を取得すると、抽出結果から当該環境設定情報を形成する設定後コマンド列を生成する。
【００４８】
設定前コマンド生成部３４は、ロールバック対象であるネットワーク機器の１世代前の環境設定情報をコマンド化し、設定前コマンド列とする。具体的には、設定前コマンド生成部３４は、バックアップ管理データテーブル４２から環境設定情報の内容を読み出し、当該内容から設定前コマンド列を生成する。例えば、設定前コマンド生成部３４は、バックアップ管理データテーブル４２のキー情報４２ｂ及びキー詳細Ｎｏ４２ｃをキーとし、コマンドテンプレートテーブル４３からテンプレート４３ｃを読み出す。そして、設定前コマンド生成部３４は、バックアップ管理データテーブル４２の同一キー詳細Ｎｏ４２ｂに対応するパラメータ４２ｄを、読み出したテンプレート４３ｃ内のパラメータ部分と置き換えて、１つのコマンドを生成する。そして、設定前コマンド生成部３４は、この動作をキー詳細Ｎｏ４２ｃの昇順に順次実行し、設定前コマンド列を生成する。
【００４９】
設定前後コマンド差分抽出部３５は、設定前コマンド列及び設定後コマンド列からコマンドの差分を抽出する。具体的には、設定前後コマンド差分抽出部３５は、設定前コマンド列及び設定後コマンド列をそれぞれ個々のコマンドに分解する。また、設定前後コマンド差分抽出部３５は、設定前コマンド列の分解された個々のコマンド及び設定後コマンド列の分解された個々のコマンドを同一コマンド毎に比較し、変化のあったコマンドを差分コマンドとして抽出する。そして、設定前後コマンド差分抽出部３５は、抽出した変化のあった差分コマンドを、設定前コマンド列及びコマンド設定後コマンド列のいずれにあるかの区別をつけて、一時的に記憶部２３に記憶する。
【００５０】
ロールバックコマンド生成部３６は、ロールバック判定部３６ａ、判定結果設定コマンド生成部３６ｂ及び不要コマンド削除部３６ｃを有する。ロールバック判定部３６ａは、設定前後コマンド差分抽出部３５によって抽出されたコマンドの属性に対応する動作種別をロールバック動作判定テーブル４４から取得する。この属性とは、前述したとおり、ここでは、「上書き属性」、「複数設定属性」及び「削除影響範囲属性」とする。
【００５１】
ここで、ロールバック動作判定テーブル４４について説明する。ロールバック動作判定テーブル４４は、ネットワークの設定を定めるコマンドが有する属性に対応させてロールバックの動作方法を示す動作分類を記憶する。このロールバック動作判定テーブル４４は、後述するロールバック動作分類表に基づいて作成される。そこで、ロールバック動作判定テーブル４４の説明の前提として、ロールバック動作分類表を、図７を参照しながら説明する。図７は、ロールバック動作分類表の一例を説明する図である。図７に示すように、ロールバック動作分類表は、「ネットワーク機器側コマンド有無」、「バックアップ管理側コマンド有無」、「上書き属性」、「複数設定属性」、「削除影響範囲属性」及び「動作分類」を含んで構成される。
【００５２】
「ネットワーク機器側コマンド有無」とは、差分コマンドがネットワーク機器側の環境設定情報に設定されているか否かを示す。「バックアップ管理側コマンド有無」とは、「ネットワーク機器側コマンド有無」で判断された差分コマンドがバックアップ管理データテーブル４２に記憶されているか否かを示す。「上書き属性」、「複数設定属性」及び「削除影響範囲属性」は、前述したとおりであるのでその説明を省略する。「動作分類」とは、差分コマンドが有する属性に対応させてロールバックの動作方法を示す動作分類を示す。この属性は、ここでは、「上書き属性」、「複数設定属性」及び「削除影響範囲属性」である。
【００５３】
動作分類には、属性に対応させて６種類のパターンがある。第１の動作分類として、削除パターン１がある。削除パターン１とは、ネットワーク機器側の環境設定情報から抽出されたコマンドをもとに単独の削除コマンドを生成する動作分類である。具体的には、削除パターン１の動作分類となるには、コマンドがネットワーク機器側の環境設定情報に「設定あり」の場合且つバックアップ側の環境設定情報に「設定なし」の場合であって、削除影響範囲属性を「単独」として持つ場合である。この場合には、このコマンドの削除コマンドによって他のコマンドに影響を及ぼさないので、ロールバックコマンドとして単独の削除コマンドを生成すれば良い。図７の例では、Ｐ２、Ｐ４、Ｐ６及びＰ８の場合である。
【００５４】
第２の動作分類として、削除パターン２がある。削除パターン２とは、ネットワーク機器側の環境設定情報から抽出したコマンドをもとに単独の削除コマンドを生成するとともに、該削除コマンドによって影響を及ぼすコマンドを抽出し、抽出したコマンドのロールバック処理を行わない動作分類である。具体的には、削除パターン２の動作分類となるには、コマンドがネットワーク機器側の環境設定情報に「設定あり」の場合且つバックアップ側の環境設定情報に「設定なし」の場合であって、上書き属性を「不可」且つ削除影響範囲属性を「複数」として持つ場合である。この場合には、このコマンドを取り消すと、ともに取り消すことになる他のコマンドがあるので、このコマンドに対しては単独の削除コマンドを生成し、他のコマンドに対してはロールバックコマンドを生成しないようにすれば良い。図７の例では、Ｐ７及びＰ９の場合である。
【００５５】
第３の動作分類として、変化パターン１がある。変化パターン１とは、ネットワーク機器側の環境設定情報から抽出したコマンドをもとに単純に変更コマンドとして生成する動作分類である。具体的には、変化パターン１の動作分類となるには、コマンドがネットワーク機器側の環境設定情報に「設定あり」且つバックアップ側の環境設定情報に「設定あり（変化あり）」の場合であって、上書き属性「可」且つ削除影響範囲属性「単独」として持つ場合である。この場合には、変化のあったコマンドを上書きできるので、ネットワーク機器側の該コマンドをバックアップ側のコマンドに設定するために、単純にバックアップ側のコマンドに変更する変更コマンドを生成すれば良い。図７の例では、Ｐ１０及びＰ１２の場合である。
【００５６】
第４の動作分類として、変化パターン２がある。変化パターン２とは、ネットワーク機器側の環境設定情報から抽出したコマンドをもとに単純に削除コマンドを生成するとともに、バックアップ側から抽出したコマンドを単純に変更コマンドとして生成する動作分類である。具体的には、変化パターン２の動作分類となるには、コマンドがネットワーク機器側の環境設定情報に「設定あり」且つバックアップ側の環境設定情報に「設定あり（変化あり）」の場合であって、上書き属性「不可」且つ削除影響範囲属性「単独」として持つ場合である。この場合には、変化のあったコマンドを上書きできないので、ネットワーク機器側の該コマンドを単純に削除する削除コマンドを生成し、バックアップ側の該コマンドを単純に設定する設定コマンドを生成すれば良い。図７の例では、Ｐ１４及びＰ１６の場合である。
【００５７】
第５の動作分類として、変化パターン３がある。変化パターン３は、ネットワーク機器側の環境設定情報から抽出したコマンドをもとに単純に削除コマンドを生成する。さらに、変化パターン３は、該削除コマンドによって影響を及ぼすコマンドをバックアップ側から抽出し、抽出コマンドを変化コマンドとして生成する。具体的には、変化パターン３の動作分類となるには、コマンドがネットワーク機器側の環境設定情報に「設定あり」且つバックアップ側の環境設定情報に「設定あり（変化あり）」の場合であって、上書き属性「不可」且つ削除影響範囲属性「複数」として持つ場合である。この場合には、変化のあったコマンドを上書きできないので、ネットワーク機器側の該コマンドを単純に削除する削除コマンドを生成する。そして、該削除コマンドによって一括して取り消すことになる他のコマンドがあるので、他のコマンドの中でバックアップ側との差分のコマンドを、バックアップ側から変化コマンドとして単純に生成すれば良い。図７の例では、Ｐ１５及びＰ１７の場合である。
【００５８】
第６の動作分類として、設定パターンがある。設定パターンとは、バックアップ側の環境設定情報から抽出したコマンドを設定コマンドとして生成する動作分類である。具体的には、設定パターンの動作分類となるには、コマンドがネットワーク機器側の環境設定情報に「設定なし」の場合且つバックアップ側の環境設定情報に「設定あり」の場合である。この場合には、コマンドの属性に関わらず、バックアップ側のコマンドをロールバックコマンドとして単独の設定コマンドを生成すれば良い。図７の例では、Ｐ１８からＰ２５までのパターンの場合である。なお、動作分類として「ケース無し」とは、該当する条件の組み合わせがない場合である。
【００５９】
このようなロールバック動作分類表の内容を記憶部２３に記憶したものが、ロールバック動作判定テーブル４４である。ここで、ロールバック動作判定テーブル４４のデータ構造について図８を参照しながら説明する。図８は、ロールバック動作判定テーブル４４のデータ構造の一例を示す図である。図８に示すように、ロールバック動作判定テーブル４４は、ネットワーク機器設定区分４４ａ、バックアップ設定区分４４ｂ、上書き区分４４ｃ、複数設定区分４４ｄ及び削除影響範囲区分４４ｅ毎にロールバックコマンドパターン４４ｆを対応付けて記憶する。
【００６０】
ネットワーク機器設定区分４４ａは、ロールバック動作分類表の「ネットワーク機器側コマンド有無」に対応する。例えば、ネットワーク機器設定区分４４ａが「０」である場合には、差分コマンドがネットワーク機器側の環境設定情報に設定されていないことを指す。また、ネットワーク機器設定区分４４ａが「１」である場合には、差分コマンドがネットワーク機器側の環境設定情報に設定されていることを指す。
【００６１】
バックアップ設定区分４４ｂは、ロールバック動作分類表の「バックアップ管理側コマンド有無」に対応する。例えば、バックアップ設定区分４４ｂが「０]である場合には、差分コマンドがバックアップ管理データテーブル４２に記憶されていないことを指す。また、バックアップ設定区分４４ｂが「１」である場合には、差分コマンドがバックアップ管理データテーブル４２に記憶されていることを指す。さらに、バックアップ設定区分４４ｂが「２」である場合には、バックアップ管理データテーブル４２に記憶されている差分コマンドがネットワーク機器側のものと変化があることを指す。
【００６２】
上書き区分４４ｃは、ロールバック動作分類表の「上書き属性」に対応する。例えば、上書き区分４４ｃが「０」である場合には、差分コマンドを更新設定する場合に上書きが不可能であることを指す。また、上書き区分４４ｃが「１」である場合には、差分コマンドを更新設定する場合に上書きが可能であることを指す。さらに、上書き区分４４ｃが「２」である場合には、例えば差分コマンドが管理外のコマンドであるので、該当しないことを指す。
【００６３】
複数設定区分４４ｄは、ロールバック動作分類表の「複数設定属性」に対応する。例えば、複数設定区分４４ｄが「０」である場合には、差分コマンドの複数設定が無しであることを指す。また、複数設定区分４４ｄが「１」である場合には、差分コマンドの複数設定が有りであることを指す。さらに、複数設定区分４４ｄが「２」である場合には、例えば差分コマンドが管理外のコマンドであるので、該当しないことを指す。
【００６４】
削除影響範囲区分４４ｅは、ロールバック動作分類表の「削除影響範囲属性」に対応する。例えば、削除影響範囲区分４４ｅが「０」である場合には、差分コマンドを削除すると、影響を及ぼすことになるコマンド範囲が単独であることを指す。また、削除影響範囲区分４４ｅが「１」である場合には、差分コマンドを削除すると、影響を及ぼすことになるコマンド範囲が複数であることを指す。さらに、除影響範囲区分４４ｅが「２」である場合には、例えば差分コマンドが管理外のコマンドであるので、該当しないことを指す。
【００６５】
ロールバックコマンドパターン４４ｆは、ロールバック動作分類表の「動作分類」に対応する。例えば、ロールバックコマンドパターン４４ｆが「０」である場合には、ロールバックの動作方法を示す動作分類がケース無しであることを指す。ロールバックコマンドパターン４４ｆが「１」である場合には、動作分類が削除パターン１であることを指す。ロールバックコマンドパターン４４ｆが「２」である場合には、動作分類が削除パターン２であることを指す。ロールバックコマンドパターン４４ｆが「３」である場合には、動作分類が変化パターン１であることを指す。ロールバックコマンドパターン４４ｆが「４」である場合には、動作分類が変化パターン２であることを指す。ロールバックコマンドパターン４４ｆが「５」である場合には、動作分類が変化パターン３であることを指す。ロールバックコマンドパターン４４ｆが「６」である場合には、動作分類が設定パターンであることを指す。
【００６６】
なお、ネットワークの設定を定めるコマンドが有する属性が追加または変更になる場合も想定される。かかる場合であっても、ロールバック動作判定テーブル４４には、追加または変更になった属性に対応させてロールバックコマンドパターン４４ｆを記憶するようにしても良い。
【００６７】
図２に戻って、ロールバック判定部３６ａの制御について具体的に説明する。ロールバック判定部３６ａは、設定前後コマンド差分抽出部３５によって抽出された差分コマンドが設定前コマンド列側及び設定後コマンド列側のいずれにあるかの区別を差分コマンド毎に判定する。また、ロールバック判定部３６ａは、差分コマンドの属性を差分コマンド毎にコマンドテンプレートテーブル４３から読み出す。そして、ロールバック判定部３６ａは、ロールバック動作判定テーブル４４から差分コマンドに関する環境設定情報の区別及び属性に対応するロールバックコマンドパターンを読み出す。
【００６８】
例えば、差分コマンドとして「ＩＰアドレス」がネットワーク機器側の設定後コマンド列にあり、バックアップ側の設定前コマンド列にない場合について説明する。ロールバック判定部３６ａは、「ＩＰアドレス」の属性をコマンドテンプレートテーブル４３から読み出す。ここでは、「ＩＰアドレス」の属性は、上書き４３ｄが「０」（「上書き不可能」）、複数設定４３ｅが「１」（「複数設定有り」）、削除影響範囲４３ｆが「キー詳細Ｎｏが４」（削除影響範囲が単独）となる。そして、ロールバック判定部３６ａは、ロールバック動作判定テーブル４４から「ＩＰアドレス」に関する環境設定情報の区別及び属性に対応するロールバックコマンドパターンを読み出す。ここでは、ロールバックパターンは、パターン６に示される「１」を指す。すなわち、ネットワーク機器側から抽出した差分コマンドをもとに単独の削除パターンを生成する削除パターン１となる。
【００６９】
判定結果設定コマンド生成部３６ｂは、ロールバック判定部３６ａによって取得された差分コマンドのロールバックパターンに応じた、ロールバック動作を規定するロールバックコマンドを生成する。具体的には、判定結果設定コマンド生成部３６ｂは、差分コマンドのロールバックパターンが「１」（削除パターン１）の場合には、この差分コマンドの削除コマンドをコマンドテンプレートテーブル４３に表される削除接頭語４３ｈに基づいて生成する。そして、判定結果設定コマンド生成部３６ｂは、不要コマンドであるか否かを示すフラグを、不要コマンドでないとして「１」に設定する。なお、フラグは、例えば、記憶部２３の一時領域に設定される。
【００７０】
また、判定結果設定コマンド生成部３６ｂは、差分コマンドのロールバックパターンが「２」（削除パターン２）の場合には、該差分コマンドの削除コマンドをコマンドテンプレートテーブル４３に表される削除接頭語４３に基づいて生成する。そして、判定結果設定コマンド生成部３６ｂは、不要コマンドでないとしてフラグを「１」に設定する。さらに、判定結果設定コマンド生成部３６ｂは、該差分コマンドの削除によって他のコマンドに影響を及ぼすので、影響するコマンドをそのままロールバックコマンドとし、不要コマンドとしてフラグを「０」に設定する。
【００７１】
また、判定結果設定コマンド生成部３６ｂは、差分コマンドのロールバックパターンが「３」（変更パターン１）の場合には、バックアップ側のコマンドを単純にロールバックコマンドとする。そして、判定結果設定コマンド生成部３６ｂは、不要コマンドでないとしてフラグを「１」に設定する。
【００７２】
また、判定結果設定コマンド生成部３６ｂは、差分コマンドのロールバックパターンが「４」（変更パターン２）の場合には、ネットワーク機器側の差分コマンドをコマンドテンプレートテーブル４３に表される削除接頭語４３に基づいて生成する。さらに、判定結果設定コマンド生成部３６ｂは、バックアップ側のコマンドを単純にロールバックコマンドとする。そして、判定結果設定コマンド生成部３６ｂは、不要コマンドでないとしてフラグを「１」に設定する。
【００７３】
また、判定結果設定コマンド生成部３６ｂは、差分コマンドのロールバックパターンが「５」（変更パターン３）の場合には、ネットワーク機器側の差分コマンドをコマンドテンプレートテーブル４３に表される削除接頭語４３に基づいて生成する。そして、判定結果設定コマンド生成部３６ｂは、不要コマンドでないとしてフラグを「１」に設定する。また、判定結果設定コマンド生成部３６ｂは、該差分コマンドの削除によって影響を及ぼすコマンドをバックアップ側から生成する。そして、判定結果設定コマンド生成部３６ｂは、不要コマンドでないとしてフラグを「１」に設定する。
【００７４】
また、判定結果設定コマンド生成部３６ｂは、差分コマンドのロールバックパターンが「６」（設定パターン１）の場合には、バックアップ側のコマンドを単純にロールバックコマンドとする。そして、判定結果設定コマンド生成部３６ｂは、不要コマンドでないとしてフラグを「１」に設定する。
【００７５】
なお、判定結果設定コマンド生成部３６ｂは、差分コマンドのロールバックパターンが「０」（ケース無し）の場合には、この差分コマンドをそのままロールバックコマンドとするものとする。そして、判定結果設定コマンド生成部３６ｂは、不要コマンドでないとして、フラグを「１」に設定する。
【００７６】
不要コマンド削除部３６ｃは、判定結果設定コマンド生成部３６ｂによって不要コマンドとして「０」が設定された差分コマンドを削除する。すなわち、差分コマンドのうち不要コマンド削除部３６ｃは、不要なコマンドを削除し、残りの差分コマンドをロールバック設定コマンドとして決定する。
【００７７】
［実施例２に係るネットワーク管理装置の処理手順］
次に、実施例２に係るネットワーク管理装置２の処理手順を、図９−１を参照して説明する。図９−１は、実施例２に係るネットワーク管理装置２の処理手順を示すフローチャートである。
【００７８】
まず、ロールバック制御部３２は、操作部２１からロールバック対象のネットワーク機器に対するロールバックの実行依頼を受け付ける（ステップＳ１１）。次に、設定後コマンド生成部３３は、ロールバック対象のネットワーク機器に設定されている、プロビジョニング直後の最新の環境設定情報の抽出依頼を、機器操作部２２に指示する（ステップＳ１２）。
【００７９】
そして、設定後コマンド生成部３３は、該当するネットワーク機器の環境設定情報の抽出結果を機器操作部２２から取得すると、抽出結果から当該環境設定情報を形成する設定後コマンド列を生成する（ステップＳ１３）。そして、設定前コマンド生成部３４は、バックアップ管理データテーブル４２から該当するネットワーク機器の環境設定情報の内容を読み出し、該内容から設定前コマンド列を生成する（ステップＳ１４）。
【００８０】
続いて、設定前後コマンド差分抽出部３５は、設定前コマンド列及び設定後コマンド列からコマンドの差分を抽出し、抽出した差分コマンド毎に設定前コマンド列及びコマンド設定後コマンド列のいずれにあるかの区別を記憶部２３の一時領域に記憶する。そして、ロールバック判定部３６ａは、設定前後コマンド差分抽出部３５によって抽出された差分コマンドの属性に対応するロールバックコマンドパターンを差分コマンド毎にロールバック動作判定テーブル４４から取得する（ステップＳ１５）。
【００８１】
続いて、判定結果設定コマンド生成部３６ｂは、ロールバック判定部３６ａによって取得された差分コマンドのロールバックパターンに応じた、ロールバック動作を規定するロールバックコマンドを生成する（ステップＳ１６）。そして、不要コマンド削除部３６ｃは、判定結果設定コマンド生成部３６ｂによって差分コマンドのうち不要コマンドとされたコマンドを削除し、残りの差分コマンドをロールバック設定コマンドとして決定する（ステップＳ１７）。
【００８２】
続いて、不要コマンド削除部３６ｃは、決定したロールバック設定コマンドを用いたロールバック処理を機器操作部２２に依頼する（ステップＳ１８）。その後、ロールバック制御部３２は、該当するネットワーク機器のロールバック処理結果を機器操作部２２から取得すると、操作部２１に通知する。
【００８３】
次に、図９−１に示すロールバック判定処理（ステップＳ１５）の手順について、図９−２を用いて説明する。図９−２は、ロールバック判定処理の手順を示すフローチャートである。
【００８４】
まず、ロールバック判定部３６ａは、設定前コマンド列及び設定後コマンド列から抽出した差分コマンドのうち１個の差分コマンドを選択する。すると、ロールバック判定部３６ａは、選択した差分コマンドがネットワーク機器側にあるか否かを、一時領域に基づいて判定する（ステップＳ２１）。そして、ロールバック判定部３６ａは、差分コマンドがネットワーク機器側にないと判定する場合に（ステップＳ２１Ｎｏ）、ネットワーク機器設定区分「０」を一時領域に記憶する（ステップＳ２２）。一方、ロールバック判定部３６ａは、差分コマンドがネットワーク機器側にあると判定する場合に（ステップＳ２１Ｙｅｓ）、ネットワーク機器設定区分「１」を一時領域に記憶する（ステップＳ２３）。
【００８５】
そして、ロールバック判定部３６ａは、差分コマンドがバックアップ側にあるか否かを、一時領域に基づいて判定する（ステップＳ２４）。そして、ロールバック判定部３６ａは、差分コマンドがバックアップ側にないと判定する場合に（ステップＳ２４Ｎｏ）、バックアップ設定区分「０」を一時領域に記憶する（ステップＳ２５）。一方、ロールバック判定部３６ａは、差分コマンドがバックアップ側にあると判定する場合に（ステップＳ２４Ｙｅｓ）、バックアップ側の差分コマンドとネットワーク機器側の差分コマンドとに変化があるか否かを判定する（ステップＳ２６）。そして、ロールバック判定部３６ａは、バックアップ側の差分コマンドとネットワーク機器側の差分コマンドとに変化がないと判定する場合に（ステップＳ２６Ｎｏ）、バックアップ設定区分「１」を一時領域に記憶する（ステップＳ２７）。一方、ロールバック判定部３６ａは、バックアップ側の差分コマンドとネットワーク機器側の差分コマンドとに変化があると判定する場合に（ステップＳ２６Ｙｅｓ）、バックアップ設定区分「２」を一時領域に記憶する（ステップＳ２８）。
【００８６】
そして、ロールバック判定部３６ａは、差分コマンドの上書き属性が「可」であるか否かを、コマンドテンプレートテーブル４３に基づいて判定する（ステップＳ２９）。このとき、ロールバック判定部３６ａは、差分コマンドの上書き属性が「不可」の場合に（ステップＳ２９不可）、上書き区分「０」を一時領域に記憶する（ステップＳ３１）。また、ロールバック判定部３６ａは、差分コマンドの上書き属性が「可」の場合に（ステップＳ２９可）、上書き区分「１」を一時領域に記憶する。さらに、ロールバック判定部３６ａは、差分コマンドの上書き属性が「該当なし」、例えば差分コマンドが管理外のコマンドであるような場合に（ステップＳ２９該当なし）、上書き区分「２」を一時領域に記憶する（ステップＳ３０）。
【００８７】
そして、ロールバック判定部３６ａは、差分コマンドの複数設定属性が「あり」であるか否かを、コマンドテンプレートテーブル４３に基づいて判定する（ステップＳ３３）。このとき、ロールバック判定部３６ａは、差分コマンドの複数設定属性が「なし」の場合に（ステップＳ３３なし）、複数設定区分「０」を一時領域に記憶する（ステップＳＳ３５）。また、ロールバック判定部３６ａは、差分コマンドの複数設定属性が「あり」の場合に（ステップＳ３３あり）、複数設定区分「１」を一時領域に記憶する（ステップＳ３６）。さらに、ロールバック判定部３６ａは、差分コマンドの複数設定属性が「該当なし」、例えば差分コマンドが管理外のコマンドであるような場合に（ステップＳ３３該当なし）、複数設定区分「２」を一時領域に記憶する（ステップＳ３４）。
【００８８】
そして、ロールバック判定部３６ａは、差分コマンドの削除影響範囲が単独であるか否かを、コマンドテンプレートテーブル４３に基づいて判定する（ステップＳ３７）。このとき、ロールバック判定部３６ａは、差分コマンドの削除影響範囲が単独であると判定する場合に（ステップＳ３７Ｙｅｓ）、削除影響範囲区分「０」を一時領域に記憶する（ステップＳ３９）。また、ロールバック判定部３６ａは、差分コマンドの削除影響範囲が複数であると判定する場合に（ステップＳ３７Ｎｏ）、削除影響範囲区分「１」を一時領域に記憶する（ステップＳ４０）。さらに、ロールバック判定部３６ａは、差分コマンドの削除影響範囲が「該当なし」、例えば差分コマンドが管理外のコマンドであるような場合に（ステップＳ３７該当なし）、削除影響範囲区分「２」を一時領域に記憶する。
【００８９】
そして、ロールバック判定部３６ａは、ネットワーク機器設定区分、バックアップ設定区分、上書き区分、複数設定区分及び削除影響範囲区分に対応するロールバックコマンドパターンをロールバック動作判定テーブル４４から読み出す（ステップＳ４１）。そして、ロールバック判定部３６ａは、全差分コマンドについてチェックを完了したか否かを判定する（ステップＳ４２）。そして、ロールバック判定部３６ａは、全差分コマンドについてチェックを完了していない場合に（ステップＳ４２Ｎｏ）、次の差分コマンドを選択し、ステップＳ２１に移行する。一方、ロールバック判定部３６ａは、全差分コマンドについてチェックを完了した場合に（ステップＳ４２Ｙｅｓ）、ロールバック判定処理を終了する。
【００９０】
次に、図９−１に示すロールバック判定結果設定コマンド生成処理（ステップＳ１６）の手順について、図９−３を用いて説明する。図９−３は、ロールバック判定結果設定コマンド生成処理の手順を示すフローチャートである。
【００９１】
まず、判定結果設定コマンド生成部３６ｂは、設定前コマンド列及び設定後コマンド列から抽出した差分コマンドのうち１個の差分コマンドを選択する。次に、判定結果設定コマンド生成部３６ｂは、選択した差分コマンドが削除影響コマンド行か否かを判定する（ステップＳ５１）。すなわち、判定結果設定コマンド生成部３６ｂは、選択した差分コマンドが後述するステップＳ５６によって抽出されたコマンド行（他の差分コマンドの削除によって影響するコマンド行）であるか否かを判定する。
【００９２】
そして、判定結果設定コマンド生成部３６ｂは、選択した差分コマンドが削除影響コマンド行である場合に（ステップＳ５１Ｙｅｓ）、該当コマンドをそのままコマンドとして一時領域に記憶する。そして、判定結果設定コマンド生成部３６ｂは、他のコマンドによって削除することになるので、不要コマンドとしてフラグを「０」に記憶する（ステップＳ５２）。
【００９３】
一方、判定結果設定コマンド生成部３６ｂは、選択した差分コマンドが削除影響コマンド行でない場合に（ステップＳ５１Ｎｏ）、以下の判定をする。判定結果設定コマンド生成部３６ｂは、ロールバックコマンドパターンが「１」（削除パターン１）、「２」（削除パターン２）または「５」（変更パターン３）であるか否かを判定する（ステップＳ５３）。
【００９４】
そして、ロールバックコマンドパターンが「１」、「２」または「５」のいずれでもない場合、すなわち「０」、「３」、「４」または「６」の場合に（ステップＳ５３Ｎｏ）、該当コマンドをそのままコマンドとして一時領域に記憶する。そして、判定結果設定コマンド生成部３６ｂは、不要コマンドでないとしてフラグを「１」に記憶する（ステップＳ５４）。ここで、ロールバックコマンドパターン「０」は、ケースなしを示す。ロールバックコマンドパターン「３」は、変化パターン１を示す。ロールバックコマンドパターン「４」は、変化パターン２を示す。ロールバックコマンドパターン「６」は、設定パターンを示す。
【００９５】
一方、ロールバックコマンドパターンが「１」、「２」または「５」である場合に（ステップＳ５３Ｙｅｓ）、「１」以外であるか否かを判定する（ステップＳ５５）。ロールバックコマンドパターンが「１」以外、すなわち「２」または「５」である場合に（ステップＳ５５Ｙｅｓ）、本コマンドが削除すると影響するコマンド行をコマンドテンプレートテーブル４３に基づいて抽出し（ステップＳ５６）、一時領域に記憶する。ここで、ロールバックコマンドパターン「２」は、削除パターン２を示す。ロールバックコマンドパターン「５」は、変化パターン３を示す。
【００９６】
さらに、判定結果設定コマンド生成部３６ｂは、本コマンドの削除接頭語をコマンドテンプレートテーブル４３に基づいてチェックする（ステップＳ５７）。ここで、判定結果設定コマンド生成部３６ｂは、本コマンドの削除接頭語が「ｎｏ」または「３」（接頭語以外の削除コマンド）であるか否かを判定する（ステップＳ５８）。本コマンドの削除接頭語が「ｎｏ」及び「３」のいずれでもない場合に（ステップＳ５８Ｎｏ）、本コマンドの削除接頭語が「１」（無条件にコマンドを投入）であるか否かを判定する（ステップＳ５９）。
【００９７】
そして、本コマンドの削除接頭語が「１」でない場合、すなわち「０」（削除コマンドが不要）である場合に（ステップＳ５９Ｎｏ）、本コマンドの先頭に「ｎｏ」を付与し、削除コマンドを生成する。そして、判定結果設定コマンド生成部３６ｂは、削除コマンドが不要であるので、不要コマンドであるとしてフラグを「０」に記憶する（ステップＳ６０）。
【００９８】
一方、本コマンドの削除接頭語が「１」（無条件にコマンドを投入）である場合に、該当コマンドをそのまま削除コマンドとして生成する。そして、判定結果設定コマンド生成アブ３６ｂは、無条件にコマンドを投入するので、不要コマンドでないとしてフラグを「１」に記憶する（ステップＳ６１）。
【００９９】
また、本コマンドの削除接頭語が「ｎｏ」または「３」（接頭語以外の削除コマンド）である場合に（ステップＳ５８Ｙｅｓ）、該削除接頭語が「３」であるか否かを判定する（ステップＳ６２）。そして、削除接頭語が「３」でない場合、すなわち「ｎｏ」である場合に（ステップＳ６２Ｎｏ）、本コマンドの先頭に「ｎｏ」を付与し、削除コマンドを生成する。そして、判定結果設定コマンド生成部３６ｂは、不要コマンドでないとして「１」に記憶する（ステップＳ６３）。
【０１００】
一方、削除接頭語が「３」（接頭語以外の削除コマンド）である場合に（ステップＳ６２Ｙｅｓ）、コマンドテンプレートテーブル４３の削除テンプレートに基づいて、該当コマンドの削除コマンドを生成する。そして、そして、判定結果設定コマンド生成部３６ｂは、不要コマンドでないとして「１」に記憶する（ステップＳ６４）。
【０１０１】
そして、判定結果設定コマンド生成部３６ｂは、全差分コマンドについてチェックを完了したか否かを判定する（ステップＳ６７）。そして、判定結果設定コマンド生成部３６ｂは、全差分コマンドについてチェックを完了していない場合に（ステップＳ６７Ｎｏ）、次の差分コマンドを選択し、ステップＳ５１に移行する。一方、判定結果設定コマンド生成部３６ｂは、全差分コマンドについてチェックを完了した場合に（ステップＳ６７Ｙｅｓ）、ロールバック判定結果設定コマンド生成処理を終了する。
【０１０２】
［ロールバック設定コマンド生成の具体例１］
次に、ロールバック設定コマンド生成の具体例について、図１０及び図１１を参照しながら説明する。図１０では、差分コマンドのロールバックコマンドパターンが他のコマンドに影響を及ぼさない場合について説明し、図１１では、差分コマンドのロールバックコマンドパターンが他のコマンドに影響を及ぼす場合について説明する。なお、図１０及び図１１で示される設定後コマンド列、設定前コマンド列、判定結果、設定コマンド及びロールバック設定コマンドは、それぞれ記憶部２３の一時領域に記憶される情報であるものとする。
【０１０３】
まず、図１０を参照して、差分コマンドのロールバックコマンドパターンが他のコマンドに影響を及ぼさない場合について説明する。図１０に示すように、設定後コマンド生成部３３は、ロールバック対象のネットワーク機器の現状の環境設定情報を、機器操作部２２を介して取得すると、該環境設定情報を形成する設定後コマンド列Ｍ１を生成する。また、設定前コマンド生成部３４は、バックアップ管理データテーブル４２からロールバック対象のネットワーク機器の環境設定情報の内容を読み出し、該内容から設定前コマンド列Ｂ１を生成する。そして、設定前後コマンド差分抽出部３５は、設定後コマンド列Ｍ１及び設定前コマンド列Ｂ１からコマンドの差分を差分コマンドとして抽出する。ここでは、差分コマンドは、ｍ１、ｍ２、ｂ１及びｂ２の各コマンドである。
【０１０４】
次に、ロールバック判定部３６ａは、差分コマンドの属性に対応するロールバックコマンドパターンを差分コマンド毎にロールバック動作判定テーブル４４から取得する。具体的には、ロールバック判定部３６ａは、差分コマンドｍ１を選択すると、差分コマンドｍ１が設定後コマンド列Ｍ１にあり設定前コマンド列Ｂ１にないので、ネットワーク機器設定区分を「１」及びバックアップ設定区分を「０」に設定する。そして、ロールバック判定部３６ａは、差分コマンドｍ１をコマンドテンプレートテーブル４３のテンプレート４３ｃと照合し、キー詳細Ｎｏ４３ｂ「４」に対応するアドレス設定コマンドであることを判別する。そして、ロールバック判定部３６ａは、キー詳細Ｎｏ４３ｂ「４」に対応する属性（上書き４３ｄ、複数設定４３ｅ、削除影響範囲４３ｆ）を読み出す。ここでは、上書き属性が「０」（不可）であるので上書き区分「０」、複数設定属性が「１」（あり）であるので複数設定区分「１」、削除影響範囲属性が「４」（単独）であるので削除影響範囲区分「４」をそれぞれ記憶する。さらに、ロールバック判定部３６ａは、ネットワーク機器設定区分「１」、バックアップ設定区分「０」、上書き区分「０」、複数設定区分「１」及び削除影響範囲区分「４」に対応するロールバックコマンドパターンをロールバック動作判定テーブル４４から読み出す。ここでは、ロールバック判定部３６ａは、「削除パターン１」をロールバックコマンドパターンとして読み出す。この結果、「削除パターン１」に対応するロールバックコマンドパターン「１」が、判定結果Ｄ１のｒ１に設定される。
【０１０５】
同様に、ロールバック判定部３６ａは、差分コマンドを順次選択し、差分コマンドｍ２のロールバックコマンドパターンとして「削除パターン１」を読み出す。この結果、「削除パターン１」に対応するロールバックコマンドパターン「１」が、判定結果Ｄ１のｒ２に設定される。
【０１０６】
次に、ロールバック判定部３６ａは、差分コマンドｂ１を選択すると、差分コマンドｂ１が設定後コマンド列になく設定前コマンド列にあるので、ネットワーク機器設定区分を「０」及びバックアップ設定区分を「１」に設定する。そして、ロールバック判定部３６ａは、差分コマンドｂ１をコマンドテンプレートテーブル４３のテンプレート４３ｃと照合し、キー詳細Ｎｏ４３ｂ「４」に対応するアドレス設定コマンドであることを判別する。そして、ロールバック判定部３６ａは、キー詳細Ｎｏ４３ｂ「４」に対応する属性（上書き４３ｄ、複数設定４３ｅ、削除影響範囲４３ｆ）を読み出す。ここでは、上書き属性が「０」（不可）であるので上書き区分「０」、複数設定属性が「１」（あり）であるので複数設定区分「１」、削除影響範囲属性が「４」（単独）であるので削除影響範囲区分「０」をそれぞれ記憶する。さらに、ロールバック判定部３６ａは、ネットワーク機器設定区分「０」、バックアップ設定区分「１」、上書き区分「０」、複数設定区分「１」及び削除影響範囲区分「０」に対応するロールバックコマンドパターンをロールバック動作判定テーブル４４から読み出す。ここでは、ロールバック判定部３６ａは、「設定パターン」をロールバックコマンドパターンとして読み出す。この結果、「設定パターン」に対応するロールバックコマンドパターン「６」が、判定結果Ｄ１のｒ３に設定される。
【０１０７】
同様に、ロールバック判定部３６ａは、差分コマンドを順次選択し、差分コマンドｂ２のロールバックコマンドパターンとして「設定パターン」を読み出す。この結果、「設定パターン」に対応するロールバックコマンドパターン「６」が、判定結果Ｄ１のｒ４に設定される。なお、差分コマンド以外のコマンドは、設定後コマンド列及び設定前コマンド列に変化しないで存在するので、「ケースなし」に対応するロールバックコマンドパターン「０」が、判定結果Ｄ１に設定される。
【０１０８】
次に、判定結果設定コマンド生成部３６ｂは、差分コマンドのロールバックパターンに応じた、ロールバック動作を規定するロールバックコマンドを生成する。具体的には、判定結果設定コマンド生成部３６ｂは、差分コマンドｍ１を選択すると、差分コマンドｍ１のロールバックコマンドパターンが「１」であるので、差分コマンドｍ１に対応する削除接頭語をコマンドテンプレートテーブル４３から読み出す。ここでは、差分コマンドｍ１は、アドレス設定コマンドであるので、キー詳細Ｎｏ４３ｂ「４」に対応する削除接頭語４３ｈ「ｎｏ」を読み出す。そして、判定結果設定コマンド生成部３６ｂは、符号ｒ１に示すように、読み出した「ｎｏ」を差分コマンドｍ１の先頭に付与したコマンドを設定コマンドＴ１に設定し、不要コマンドでないとしてフラグを「１」に設定する。
【０１０９】
同様に、判定結果設定コマンド生成部３６ｂは、差分コマンドｍ２について、符号ｒ２に示すように、「ｎｏ」を差分コマンドｍ２の先頭に付与したコマンドを設定コマンドＴ１に設定し、不要コマンドでないとしてフラグを「１」に設定する。
【０１１０】
次に、判定結果設定コマンド生成部３６ｂは、差分コマンドｂ１を選択すると、差分コマンドｂ１のロールバックコマンドパターンが「６」であるので、差分コマンドｂ１をそのまま使用することを決定する。そして、判定結果設定コマンド生成部３６ｂは、符号ｒ３に示すように、差分コマンドｂ１を設定コマンドＴ１に設定し、不要コマンドでないとしてフラグを「１」に設定する。同様に、判定結果設定コマンド生成部３６ｂは、差分コマンドｂ２について、符号ｒ４に示すように、差分コマンドｂ２を設定コマンドＴ１に設定し、不要コマンドでないとしてフラグを「１」に設定する。なお、差分コマンド以外のコマンドは、設定前コマンド列から変化しないでそのまま設定後コマンド列に存在するので、不要コマンドでないとしてフラグを「１」に設定される。
【０１１１】
そして、不要コマンド削除部３６ｃは、設定コマンドＴ１に設定されたコマンドのうち不要コマンドとされるコマンドを削除し、ロールバック設定コマンドを生成する。すなわち、不要コマンド削除部３６ｃは、設定コマンドＴ１に設定されたコマンドのうちフラグが「０」のコマンドを削除し、残りのコマンドをロールバック設定コマンドとする。この結果、設定コマンドＴ１に設定されたコマンドのうち符号ｒ１からｒ４に示されるコマンド及び変化がなかったコマンドがロールバック設定コマンドＲ１として生成されることになる。
【０１１２】
これにより、ロールバック設定コマンドを用いたロールバック処理がネットワーク機器に実施されると、バックアップされたプロビジョニング直前のネットワーク機器の環境設定情報に戻ることになる。
【０１１３】
［ロールバック設定コマンド生成の具体例２］
次に、図１１を参照して、差分コマンドのロールバックコマンドパターンが他のコマンドに影響を及ぼす場合について説明する。図１１に示すように、設定後コマンド生成部３３は、ロールバック対象のネットワーク機器の現状の環境設定情報を、機器操作部２２を介して取得すると、該環境設定情報を形成する設定後コマンド列Ｍ２を生成する。また、設定前コマンド生成部３４は、バックアップ管理データテーブル４２からロールバック対象のネットワーク機器の環境設定情報の内容を読み出し、該内容から設定前コマンド列Ｂ２を生成する。そして、設定前後コマンド差分抽出部３５は、設定後コマンド列Ｍ２及び設定前コマンド列Ｂ２からコマンドの差分を差分コマンドとして抽出する。ここでは、差分コマンドは、ｍ３〜ｍ６、ｂ３及びｂ４の各コマンドである。
【０１１４】
次に、ロールバック判定部３６ａは、差分コマンドの属性に対応するロールバックコマンドパターンを差分コマンド毎にロールバック動作判定テーブル４４から取得する。具体的には、ロールバック判定部３６ａは、差分コマンドｍ３を選択すると、差分コマンドｍ３が設定後コマンド列Ｍ２にあり設定前コマンド列Ｂ２にないので、ネットワーク機器設定区分を「１」及びバックアップ設定区分を「０」に設定する。そして、ロールバック判定部３６ａは、差分コマンドｍ３をコマンドテンプレートテーブル４３のテンプレート４３ｃと照合し、キー詳細Ｎｏ４３ｂ「２」に対応するｖｒｆコマンドであることを判別する。そして、ロールバック判定部３６ａは、キー詳細Ｎｏ４３ｂ「２」に対応する属性（上書き４３ｄ、複数設定４３ｅ、削除影響範囲４３ｆ）を読み出す。ここでは、上書き属性が「０」（不可）であるので上書き区分「０」、複数設定属性が「０」（なし）であるので複数設定区分「０」、削除影響範囲属性が「５」（複数）であるので削除影響範囲区分「１」をそれぞれ設定する。さらに、ロールバック判定部３６ａは、ネットワーク機器設定区分「１」、バックアップ設定区分「０」、上書き区分「０」、複数設定区分「０」及び削除影響範囲区分「１」に対応するロールバックコマンドパターンをロールバック動作判定テーブル４４から読み出す。ここでは、ロールバック判定部３６ａは、「削除パターン２」をロールバックコマンドパターンとして読み出す。この結果、「削除パターン２」に対応するロールバックコマンドパターン「２」が、判定結果Ｄ２のｒ５に設定される。
【０１１５】
同様に、ロールバック判定部３６ａは、差分コマンドを順次選択し、差分コマンドのロールバックコマンドパターンをロールバック処理判定テーブル４４から読み出す。この結果、差分コマンドｍ４〜ｍ６については、それぞれ「削除パターン１」に対応するロールバックコマンドパターン「１」が、判定結果Ｄ２のｒ６〜ｒ８に設定される。また、差分コマンドｂ３〜ｂ４については、それぞれ「設定パターン」に対応するロールバックコマンドパターン「６」が、判定結果Ｄ２のｒ９〜ｒ１０に設定される。
【０１１６】
次に、判定結果設定コマンド生成部３６ｂは、差分コマンドのロールバックパターンに応じた、ロールバック動作を規定するロールバックコマンドを生成する。具体的には、判定結果設定コマンド生成部３６ｂは、差分コマンドｍ３を選択すると、差分コマンドｍ３のロールバックコマンドパターンが「２」であるので、差分コマンドｍ３が削除すると影響するコマンド行をコマンドテンプレートテーブル４３に基づいて抽出し、一時領域に記憶する。ここでは、削除影響範囲属性が「５」（複数）であるので、差分コマンドｍ３が削除すると影響するコマンド行は、キー詳細Ｎｏ４３ｂが「３」（差分コマンドｍ３のキー詳細）から「５」までのコマンドとなる。すなわち、キー詳細Ｎｏ４３ｂが「３」を示すｉｐｖ４宣言コマンド、「４」を示すアドレス設定コマンド、「５」を示すｅｘｉｔコマンドとなる。
【０１１７】
次に、判定結果設定コマンド生成部３６ｂは、差分コマンドｍ３に対応する削除接頭語をコマンドテンプレートテーブル４３から読み出す。ここでは、差分コマンドｍ３は、ｖｒｆコマンドであるので、キー詳細Ｎｏ４３ｂ「２」に対応する削除接頭語４３ｈ「ｎｏ」を読み出す。そして、判定結果設定コマンド生成部３６ｂは、符号ｒ５に示すように、読み出した「ｎｏ」を差分コマンドｍ３の先頭に付与したコマンドを設定コマンドＴ２に設定し、不要コマンドでないとしてフラグを「１」に設定する。
【０１１８】
次に、判定結果設定コマンド生成部３６ｂは、差分コマンドｍ３が削除すると影響するコマンド行の差分コマンドを一時領域から読み出し、そのままコマンドとして設定し、不要コマンドであるとしてフラグを「０」に設定する。すなわち、判定結果設定コマンド生成部３６ｂは、符号ｒ６からｒ１０に示すように、差分コマンドを設定コマンドＴ２に設定し、不要コマンドであるとしてフラグを「０」に設定する。なお、差分コマンド以外のコマンドは、設定前コマンド列から変化しないでそのまま設定後コマンド列に存在するので、不要コマンドでないとしてフラグを「１」に設定される。したがって、ｅｘｉｔコマンドは、差分コマンドｍ３が削除すると影響するコマンド行であるが、差分コマンド以外のコマンドであるので、不要コマンドでないとしてフラグを「１」に設定される。
【０１１９】
そして、不要コマンド削除部３６ｃは、設定コマンドＴ１に設定されたコマンドのうち不要コマンドとされるコマンドを削除し、ロールバック設定コマンドを生成する。すなわち、不要コマンド削除部３６ｃは、設定コマンドＴ１に設定されたコマンドのうちフラグが「０」のコマンドを削除し、残りのコマンドをロールバック設定コマンドとする。この結果、設定コマンドＴ１に設定されたコマンドのうち符号ｒ５に示されるコマンド及び変化がなかったコマンドがロールバック設定コマンドＲ２として生成されることになる。
【０１２０】
これにより、その後、ロールバック設定コマンドを用いたロールバック処理がネットワーク機器に実施されると、バックアップされたプロビジョニング直前の適正なネットワーク機器の環境設定情報に戻ることになる。すなわち、図１１の例では、プロビジョニング直前のバックアップでは、実際には設定アドレスが設定されていたが、ｖｒｆコマンドが設定されていなかった。したがって、本来は設定アドレスが設定されるはずがないところ、設定されてしまう設定アドレスを設定しないようにすることで適正な環境設定情報に戻ることになる。
【０１２１】
［実施例２の効果］
上記実施例２によれば、ネットワーク管理装置２は、環境設定情報に設定可能なコマンド毎に各コマンドが有する属性を記憶するコマンドテンプレートテーブル４３を備える。そして、ロールバック判定部３２ａが、設定前後コマンド差分抽出部３５によって抽出された、設定前コマンド列及び設定後コマンド列の差分のコマンドに関し、当該コマンドに対する属性をコマンドテンプレートテーブル４３から取得する。そして、ロールバック判定部３２ａが、取得された属性及び当該コマンドが形成された環境設定情報の設定前後の区別に対応するロールバックコマンドパターンをロールバック動作判定テーブル４４からコマンド毎に取得する。そして、判定結果設定コマンド生成部３６ｂは、ロールバック判定部３６ａによって取得されたコマンド毎のロールバックコマンドパターンに基づいてロールバックコマンドを生成する。
【０１２２】
これにより、ネットワーク管理装置２は、差分コマンドが有する属性に対応させたロールバックコマンドパターンに応じたロールバックコマンドを生成する。このため、ネットワーク管理装置２は、差分コマンドを単純に取り消すロールバックコマンドを生成する場合と異なり、適正なロールバックコマンドを生成できる。この結果、ネットワーク管理装置２は、生成したロールバックコマンドをネットワーク機器に設定すると、コマンドを単純に取り消すロールバックコマンドを設定する場合と異なり、不適正な環境設定情報に戻るのを回避できる。
【０１２３】
また、実施例２によれば、コマンドテンプレートテーブル４３は、環境設定情報に設定可能なコマンド自体の属性が追加または変更になった場合に、当該コマンドに対する属性を追加または変更できるようにした。これにより、コマンドテンプレートテーブル４３は、コマンド自体の属性が追加等になった場合であっても、その都度該追加等に応じて変更できることになる。このため、ネットワーク管理装置２は、ネットワーク機器の種類が追加されたり、ファームウェアがアップグレードされたりしても、柔軟に対応できるロールバックコマンド生成処理を実現できる。
【０１２４】
また、実施例２によれば、ロールバック動作判定テーブル４４は、ネットワークの設定を定めるコマンドが有する属性が追加または変更になった場合に、追加又は変更になった属性に対応させてロールバックコマンドパターンを記憶するようにした。これにより、ロールバック動作判定テーブル４４は、コマンド自体の属性が追加等になった場合であっても、その都度該追加等に応じて変更できることになる。このため、ロールバック動作判定テーブル４４は、ネットワーク機器の種類が追加されたり、ファームウェアがアップグレードされたりしても、柔軟に対応できるロールバックコマンド生成処理を実現できる。
【０１２５】
また、実施例２によれば、ネットワークの設定を定めるコマンドが有する属性とは、コマンドの上書きの可否、複数設定の有無、削除した場合の影響範囲のうち少なくともいずれか１つを含むようにした。これにより、ネットワーク管理装置２は、例えば属性に上書きの可否を含む場合、上書きが不可能なコマンドについて、該コマンドを取り消すコマンドを単純に上書き設定することによって、設定の失敗となることを回避できる。
【０１２６】
［プログラム等］
なお、上記実施例２の設定後コマンド生成部３３は、機器操作部２２を介して取得したネットワーク機器の現在の環境設定情報から当該環境設定情報を形成する設定後コマンド列を生成するとして説明した。しかしながら、実施例２では、これに限定されるものではなく、設定後コマンド生成部３３は、ネットワーク機器に設定されている最新の環境設定情報の内容が記憶された管理データテーブル４１に基づいて、設定後コマンド列を生成するようにしても良い。
【０１２７】
また、上記実施例２では、属性とは、「上書き属性」、「複数設定属性」及び「削除影響範囲属性」を対象とすると説明した。しかしながら、ロールバックコマンドを生成する際に制約条件となるコマンドが有する属性であれば、これに限定されるものではない。
【０１２８】
また、上記実施例２では、ロールバック判定部３６ａは、差分コマンドの属性をコマンドテンプレートテーブル４３から読み出し、読み出した属性に対応するロールバックコマンドパターンをロールバック動作判定テーブル４４から取得する。ところが、設定後コマンド列に存在する差分コマンドが、ネットワーク管理装置２の管理外のコマンドであり、コマンドテンプレートテーブル４３に記憶されていない場合も想定される。この場合であっても、ロールバック判定部３６ａは、このコマンドをロールバックコマンドにそのまま生成されるようなロールバックコマンドパターンを、ロールバック動作判定テーブル４４から取得できるようにしても良い。この場合、ロールバック動作判定テーブル４４に、ネットワーク機器設定区分４４ａ「設定あり」、バックアップ設定区分４４ｂ「設定なし」、全属性「該当なし」、ロールバックコマンドパターン４４ｆ「６」（設定パターン）とするデータを追加するようにする。そうすると、ロールバック判定部３６ａは、管理外のコマンドに応じたロールバックコマンドパターンを取得できるので、判定結果設定コマンド生成部３６ｂにロールバックコマンドパターンに応じたロールバックコマンドを生成させることができる。これにより、ネットワーク管理装置２は、ネットワーク管理装置２以外からネットワーク機器に設定されたコマンドであっても、ロールバックの際、無条件に削除してしまうことを防止できる。
【０１２９】
また、図示したネットワーク管理装置２の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、ネットワーク管理装置２の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、設定前後コマンド差分抽出部３５とロールバックコマンド生成部３６とを１つの部として統合しても良い。一方、ロールバック判定部３６ａをコマンドの属性を取得する属性取得部と、属性に対応するロールバックコマンドパターンを取得するロールバックコマンドパターン取得部とに分散しても良い。また、記憶部２３、操作部２１または機器操作部２２をネットワーク管理装置２の外部装置としてネットワーク経由で接続するようにしても良い。
【０１３０】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１４を用いて、図２に示したネットワーク管理装置２と同様の機能を有するネットワーク管理プログラムを実行するコンピュータの一例を説明する。
【０１３１】
図１４は、ネットワーク管理プログラムを実行するコンピュータを示す図である。図１４に示すように、コンピュータ１０００は、ＲＡＭ（Random  Access  Memory）１０１０と、キャッシュ１０２０と、ＨＤＤ１０３０と、ＲＯＭ（Read  Only  Memory）１０４０と、ＣＰＵ（Central  Processing  Unit）１０５０、バス１０６０とを有する。ＲＡＭ１０１０、キャッシュ１０２０、ＨＤＤ１０３０、ＲＯＭ１０４０、ＣＰＵ１０５０は、バス１０６０によって接続されている。
【０１３２】
ＲＯＭ１０４０には、図２に示したネットワーク管理装置２と同様の機能を発揮するネットワーク管理プログラム１０４１が記憶されている。
【０１３３】
そして、ＣＰＵ１０５０は、これらのネットワーク管理プログラム１０４１を読み出して実行する。これにより、図１４に示すように、ネットワーク管理プログラム１０４１は、ネットワーク管理プロセス１０５１になる。なお、ネットワーク管理プロセス１０５１は、図２に示したプロビジョニング実行部３１、ロールバック制御部３２、設定後コマンド生成部３３、設定前コマンド生成部３４、設定前後コマンド差分抽出部３５及びロールバックコマンド生成部３６に対応する。
【０１３４】
また、ＨＤＤ１０３０には、図１４に示すようにネットワーク管理関連情報１０３１が設けられる。ネットワーク管理関連情報１０３１は、例えば、図２に示した管理データテーブル４１、バックアップ管理データテーブル４２、コマンドテンプレートテーブル４３及びロールバック動作判定テーブル４４に対応する。
【０１３５】
なお、上述したプログラム１０４１については、必ずしもＲＯＭ１０４０に記憶させなくても良い。例えば、コンピュータ１０００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラム１０４１を記憶させても良い。又は、コンピュータ１０００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」にプログラム１０４１を記憶させても良い。又は、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１０００に接続される「他のコンピュータ（又はサーバ）」にプログラム１０４１を記憶させても良い。そして、コンピュータ１０００は、上述したフレキシブルディスクなどからプログラムを読み出して実行するようにしても良い。
【０１３６】
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
【０１３７】
（付記１）ネットワークの設定を定めるコマンドが有する属性に対応させてロールバックの動作方法を示す動作種別を記憶するロールバック動作種別記憶部と、
前記コマンドによって設定された設定情報を以前の設定情報に戻す場合に、現在の設定情報を形成するコマンドと以前の設定情報を形成するコマンドの差分を抽出するコマンド差分抽出部と、
前記コマンド差分抽出部によって抽出されたコマンドの属性に対応する動作種別を前記ロールバック動作種別記憶部から取得し、該取得された動作種別に応じた、ロールバック動作を規定するロールバックコマンドを生成するロールバックコマンド生成部と
を備えたことを特徴とするネットワーク管理装置。
【０１３８】
（付記２）前記設定情報に設定可能なコマンド毎に各コマンドが有する属性を記憶するコマンドテンプレート記憶部をさらに備え、
前記ロールバックコマンド生成部は、
前記コマンド差分抽出部によって抽出された差分のコマンドに関し、当該コマンドに対する属性を前記コマンドテンプレート記憶部から取得し、該取得された属性及び当該コマンドが形成された設定情報の区別に対応する動作種別を前記ロールバック動作種別記憶部からコマンド毎に取得し、コマンド毎の動作種別に基づいて、前記ロールバックコマンドを生成することを特徴とする付記１に記載のネットワーク管理装置。
【０１３９】
（付記３）前記コマンドテンプレート記憶部は、
前記設定情報に設定可能なコマンド自体の前記属性が追加または変更になった場合、当該コマンドに対する属性を追加または変更させることを特徴とする付記２に記載のネットワーク管理装置。
【０１４０】
（付記４）前記ロールバック動作種別記憶部は、
ネットワークの設定を定めるコマンドが有する属性が追加または変更になった場合、追加または変更になった属性に対応させて動作種別を記憶することを特徴とする付記１から付記３のいずれか１つに記載のネットワーク管理装置。
【０１４１】
（付記５）前記属性は、コマンドの上書きの可否、複数設定の有無、削除した場合の影響範囲のうち少なくともいずれか１つを含むことを特徴とする付記１から付記４のいずれか１つに記載のネットワーク管理装置。
【０１４２】
（付記６）ネットワーク管理装置がネットワークを管理するネットワーク管理方法であって、
ネットワークの設定を定めるコマンドが有する属性に対応させてロールバックの動作方法を示す動作種別を記憶する記憶部を有する前記ネットワーク管理装置が、
前記コマンドによって設定された設定情報を以前の設定情報に戻す場合に、現在の設定情報を形成するコマンドと以前の設定情報を形成するコマンドの差分を抽出するコマンド差分抽出工程と、
前記コマンド差分抽出工程によって抽出されたコマンドの属性に対応する動作種別を前記記憶部から取得し、該取得された動作種別に応じた、ロールバック動作を規定するロールバックコマンドを生成するロールバックコマンド生成工程と
を実行することを特徴とするネットワーク管理方法。
【０１４３】
（付記７）コンピュータが、ネットワークの設定を定めるコマンドが有する属性に対応させてロールバックの動作方法を示す動作種別を記憶する記憶部を有し、
前記コマンドによって設定された設定情報を以前の設定情報に戻す場合に、現在の設定情報を形成するコマンドと以前の設定情報を形成するコマンドの差分を抽出するコマンド差分抽出手順と、
前記コマンド差分抽出手順によって抽出されたコマンドの属性に対応する動作種別を前記記憶部から取得し、該取得された動作種別に応じた、ロールバック動作を規定するロールバックコマンドを生成するロールバックコマンド生成手順と
を前記コンピュータに実行させることを特徴とするネットワーク管理プログラム。
【符号の説明】
【０１４４】
１、２  ネットワーク管理装置
１１  ロールバック動作種別記憶部
１２  コマンド差分抽出部
１３、３６  ロールバックコマンド生成部
２１  操作部
２２  機器操作部
２３  記憶部
２４  制御部
３１  プロビジョニング実行部
３２  ロールバック制御部
３３  設定後コマンド生成部
３４  設定前コマンド生成部
３５  設定前後コマンド差分抽出部
３６ａ  ロールバック判定部
３６ｂ  判定結果設定コマンド生成部
３６ｃ  不要コマンド削除部
４１  管理データテーブル
４２  バックアップ管理データテーブル
４３  コマンドテンプレートテーブル
４４  ロールバック動作判定テーブル
【図１】
0005471666.tif 000002
【図２】
0005471666.tif 000003
【図３】
0005471666.tif 000004
【図４】
0005471666.tif 000005
【図５】
0005471666.tif 000006
【図６】
0005471666.tif 000007
【図７】
0005471666.tif 000008
【図８】
0005471666.tif 000009
【図９−１】
0005471666.tif 000010
【図９−２】
0005471666.tif 000011
【図９−３】
0005471666.tif 000012
【図１０】
0005471666.tif 000013
【図１１】
0005471666.tif 000014
【図１２】
0005471666.tif 000015
【図１３−１】
0005471666.tif 000016
【図１３−２】
0005471666.tif 000017
【図１３−３】
0005471666.tif 000018
【図１４】
0005471666.tif 000019