(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、前記した技術には以下の問題点がある。すなわち、
図1に示したようなベンダごとにOpSを導入する技術は、(1)オペレータの端末装置への表示やオペレータによる操作方法はベンダのOpSごとに統一されていないので、オペレータの負担が増大する。また、(2)OpS用のサーバのEOL(End of Life )時等にベンダのOpSごとに更改開発が必要となり開発費が増大する。さらに、
図2に示したようなマルチベンダ対応として各ベンダごとに接続アダプタを開発する技術は、(3)NEの仕様変更が生じたとき、NEの仕様を反映したアダプタの開発が必要となる。また、(4)ネットワークに新機種のNEを設置する場合、新たなアダプタの開発が必要となる。
【0005】
そこで、本発明は、前記した問題を解決し、OpSのオペレータの負担を軽減しつつ、OpSのサーバのEOL時や、NEの仕様変更や新機種への変更時における対応の負荷軽減を課題とする。
【課題を解決するための手段】
【0006】
前記した課題を解決するため、請求項1に記載の発明は、ネットワーク装置の監視および制御を行うためのオペレーションシステム(OpS)を備える装置であるOpS装置であって、前記ネットワーク装置の識別情報ごとに、当該ネットワーク装置のベンダ種別および装置種別を示したベンダ種別・装置種別情報と、当該ベンダ種別および装置種別のネットワーク装置へのコマンド投入に用いるコマンドシーケンスを示したコマンドシーケンス定義ファイル、前記コマンドシーケンス定義ファイルの適用順を示した投入順序定義ファイル、および、前記コマンド投入時に用いる機能ごとに、当該機能の実現のために適用する前記投入順序定義ファイルの識別情報を示した投入順序選択定義ファイルを含む定義ファイルを、前記ベンダ種別および装置種別の組み合わせごとに記憶する記憶部と、前記ネットワーク装置への制御オーダの入力を受け付け、前記入力された制御オーダに含まれるコマンドの投入先の前記ネットワーク装置の識別情報をキーとして、前記ベンダ種別・装置種別情報を参照して、前記コマンドの投入先のネットワーク装置のベンダ種別および装置種別を特定する共通部と、前記特定したベンダ種別および装置種別の定義ファイルを参照して、当該ネットワーク装置の投入順序選択定義ファイルを特定し、前記特定した投入順序選択定義ファイルと、前記入力された制御オーダに含まれるネットワーク装置へのコマンドの投入に必要な機能の識別情報とを参照して、前記機能を実現するために必要な前記投入順序定義ファイルを特定する要求受付部と、前記特定した投入順序定義ファイルを参照して、前記投入順序定義ファイルに示される順序で前記コマンドシーケンス定義ファイルを順次呼び出し、前記呼び出したコマンドシーケンス定義ファイルに基づき、前記ネットワーク装置へコマンド投入を順次実行するコマンド変換部とを備え、前記定義ファイルは、さらに、前記投入順序定義ファイルとして、前記コマンドシーケンス定義ファイルの固定シーケンスとしての呼び出し順
を決定するためのCSV(Comma Separated Values)形式の投入順序、並びに、非固定シーケンスとしての呼び出し順を決定するための
スクリプト形式の投入順序を記述したファイルを記憶しており、前記コマンド変換部は、さらに、
前記呼び出された投入順序定義ファイルに記述されたCSV形式の投入順序に基づき、前記コマンドシーケンス定義ファイルの呼び出し順序を固定に決定し、前記呼び出された投入順序定義ファイルに記述された
スクリプト形式の投入順序に基づき、前記コマンドシーケンス定義ファイルの呼び出し順序
を非固定に決定する。
【0007】
請求項6に記載の発明は、ネットワーク装置の監視および制御を行うためのオペレーションシステム(OpS)を備える装置であるOpS装置であって、前記ネットワーク装置へのコマンド投入に用いるコマンドシーケンスを示したコマンドシーケンス定義ファイル、前記コマンドシーケンス定義ファイルの適用順を示した投入順序定義ファイル、および、前記コマンド投入時に用いる機能ごとに、当該機能の実現のために適用する前記投入順序定義ファイルの識別情報を示した投入順序選択定義ファイルを含む定義ファイルを、前記ベンダ種別および装置種別の組み合わせごとに記憶する記憶部と、前記ネットワーク装置への制御オーダの入力を受け付け、前記入力された制御オーダに含まれる前記ネットワーク装置のベンダ種別および装置種別を参照して、前記コマンドの投入先のネットワーク装置のベンダ種別および装置種別を特定する共通部と、前記特定したベンダ種別および装置種別の定義ファイルを参照して、当該ネットワーク装置の投入順序選択定義ファイルを特定し、前記特定した投入順序選択定義ファイルと、前記入力された制御オーダに含まれるネットワーク装置へのコマンドの投入に必要な機能の識別情報とを参照して、前記機能を実現するために必要な前記投入順序定義ファイルを特定する要求受付部と、
前記特定した投入順序定義ファイルを参照して、前記投入順序定義ファイルに示される順序で前記コマンドシーケンス定義ファイルを順次呼び出し、前記呼び出したコマンドシーケンス定義ファイルに基づき、前記ネットワーク装置へコマンド投入を順次実行するコマンド変換部とを備え、前記定義ファイルは、さらに、前記投入順序定義ファイルとして、前記コマンドシーケンス定義ファイルの固定シーケンスとしての呼び出し順
を決定するためのCSV形式(Comma Separated Values)の投入順序、並びに、非固定シーケンスとしての呼び出し順を決定するための
スクリプト形式の投入順序を記述したファイルを記憶しており、前記コマンド変換部は、さらに、
前記呼び出された投入順序定義ファイルに記述されたCSV形式の投入順序に基づき、前記コマンドシーケンス定義ファイルの呼び出し順序を固定に決定し、前記呼び出された投入順序定義ファイルに記述された
スクリプト形式の投入順序に基づき、前記コマンドシーケンス定義ファイルの呼び出し順序
を非固定に決定する。
【0008】
このようなOpS装置によれば、OpS装置のオペレータの負担を軽減できる。また、OpSのサーバのEOL時や、NEの仕様変更や機種変更時には、OpS装置の各種定義ファイル(ベンダ種別・装置種別情報、投入順序定義ファイルおよび投入順序選択定義ファイル)の内容を変更すればよいので、OpSのサーバのEOL時や、NEの仕様変更や機種変更時における対応の負荷を軽減することができる
。ここで用いる定義ファイルは、例えば、CSV(Comma Separated Values)形式のファイルであり、コマンドやシーケンスの変更時に複雑なプログラミングは不要である。
更に、コマンドシーケンス定義ファイルの呼び出しに投入順序スクリプトも用いるので、コマンド投入先のネットワーク装置の状況によって用いるコマンドシーケンスが固定的ではない場合にも対応することができる。
【0011】
請求項
2に記載の発明は、請求項
1に記載のOpS装置における前記定義ファイルが、さらに、前記コマンドシーケンス定義ファイルに基づくコマンド投入の実行にあたり必要となるスクリプトを記述したシーケンス制御定義ファイルを含み、前記コマンドシーケンス定義ファイルは、さらに、前記コマンドシーケンス定義ファイルに基づくコマンド投入の実行にあたり必要となる前記シーケンス制御定義ファイルの識別情報を含み、前記コマンド変換部は、さらに、前記呼び出したコマンドシーケンス定義ファイルに基づき、前記ネットワーク装置へコマンド投入を順次実行するとき、前記コマンドシーケンス定義ファイルに示されるシーケンス制御定義ファイルを、前記定義ファイルから呼び出し、実行する。
【0012】
このようなOpS装置によれば、コマンドシーケンス定義ファイルに基づくコマンド投入の実行に付随する処理をスクリプトファイルの呼び出しにより実行することができる。これにより、コマンド要否やコマンドパラメータが固定的ではない場合にも対応することができる。
【0013】
請求項
3に記載の発明は、請求項1
または請求項2に記載のOpS装置における前記コマンドシーケンス定義ファイルが、さらに、前記ネットワーク装置へのコマンドの投入に用いるプロトコル識別子を含んでおり、前記コマンド変換部は、さらに、前記ネットワーク装置へのコマンド投入時には、前記コマンドシーケンス定義ファイルに示されるプロトコル識別子の示すプロトコルで前記ネットワーク装置へコマンド投入を実行する。
【0014】
このようなOpS装置によれば、各ネットワーク装置への通信に適したプロトコルを用いてコマンド投入を行うことができる。
【0015】
請求項4に記載の発明は、請求項1ないし請求項3のいずれか1項に記載のOpS装置における前記定義ファイルが、さらに、前記投入順序定義ファイルとして、ロールバック用のコマンドシーケンス時に用いる前記コマンドシーケンス定義ファイルの適用順を示したロールバック用投入順序定義ファイルを含んでおり、前記コマンド変換部は、さらに、前記コマンドの投入において、前記コマンドシーケンス定義ファイルの実行結果を前記記憶部の処理状況データに逐次記録し、前記コマンド投入において異常が発生した場合に、前記処理状況データを参照して、一連のコマンドシーケンス上の異常発生
箇所を特定し、前記異常発生箇所から、前記ロールバック用投入順序定義ファイルに示されるコマンドシーケンス定義ファイルを順次実行する。
【0016】
このようなOpS装置によれば、ネットワーク装置へのコマンド投入において異常が発生した場合のロールバック処理についても複雑なプログラムの記述を不要とすることができる。
【0017】
請求項
5に記載の発明は、請求項1ないし請求項
4のいずれか1項に記載のOpS装置における前記定義ファイルが、さらに、前記ネットワーク装置からのイベント通知を前記共通部で用いるデータへ変換するための定義情報を示した通知情報定義ファイル、および、前記イベント通知の種別ごとの前記通知情報定義ファイルを示した通知種別定義ファイルを、前記ネットワーク装置のベンダ種別および装置種別ごとに含んでおり、前記OpS装置は、さらに、前記ネットワーク装置からのイベント通知を受信したとき、前記ベンダ種別・装置種別情報と前記イベント通知の送信元のネットワーク装置の識別情報とを参照して、前記ネットワーク装置のベンダ種別および装置種別を特定し、前記特定したベンダ種別および装置種別の定義ファイルにおける前記通知種別定義ファイルを参照して、当該ネットワーク装置からのイベント通知の種別に関する通知情報定義ファイルを特定し、前記特定した通知情報定義ファイルを参照して、前記ネットワーク装置からのイベント通知を、前記共通部で用いるデータへ変換して、前記共通部へ出力するイベント通知変換部をさら
に備える。
【0018】
このようなOpS装置によれば、様々なベンダおよび機種のネットワーク装置からのイベント通知を受信した場合でも、このイベント通知の内容を、共通部で解釈したり、OpS装置に接続される表示装置へ表示させたりすることができる。
【発明の効果】
【0019】
本発明によれば、複数のベンダおよび複数の機種のNEで構成されるネットワークにおいてOpSのオペレータの負担を軽減しつつ、OpSのサーバのEOL時や、NEの仕様変更や機種変更時における対応の負荷を軽減することができる。
【発明を実施するための形態】
【0021】
以下、本発明を実施するための形態(実施の形態)について説明する。まず、本実施の形態のOpS装置200の概要を、
図3を用いて説明する。
【0022】
図3に例示するように、システムには、OpS装置200と、ネットワークを構成するNE300(例えば、ルータ等)が複数台設置される。このNE300は様々なベンダおよび機種(装置種別)のNE300であり、例えば、NE300A(ベンダA社製)、NE300B(ベンダB社製)およびNE300C(ベンダC社製)の3種のNE300が設置される。OpS装置200は、オペレータ端末100から、各NE300への各種設定等を行うための制御オーダの入力を受け付けると、この制御オーダを各ベンダのNE300に適合した装置コマンドに変換して、NE300へ投入する。また、OpS装置200は、各NE300からのイベント通知(例えば、NE300からの警報等)を受信すると、このイベント通知の内容をオペレータ端末100で表示等が可能な形式へ変換して出力する。
【0023】
すなわち、オペレータ端末100経由でOpS装置200へ入力されたNE300への制御オーダはOpS装置200の共通部232(後記)で受け付け、共通部232は、装置インタフェース部233(後記)へNEアクセス要求(NE300へのアクセス要求)を出力する。そして、装置インタフェース部233は、NEアクセス要求を受け付けると、このNEアクセス要求に含まれる当該NE300のベンダ名および機種名から、このベンダ名および機種名のNE300へのコマンド投入に関する定義ファイルを読み込む。例えば、コマンド投入先がNE300Aであった場合、装置インタフェース部233はA社向け定義ファイルを読み込む。そして、この定義ファイルに基づき、NE300Aへのコマンド投入を行う。
【0024】
また、OpS装置200がNE300(例えば、NE300B)からのイベント通知(例えば、警報等)を受信した場合、装置インタフェース部233は、このNE300のベンダ名(ベンダ種別)および機種名を特定し、このベンダ名および機種名の定義ファイル(例えば、B社向け定義ファイル)を読み出す。そして、装置インタフェース部233は、読み出した定義ファイルに基づき、イベント通知を共通部232で用いるデータへ変換して、共通部232へ出力する。その後、共通部232は、受信したイベント通知をオペレータ端末100へ出力する。
【0025】
ここで、共通部232で入出力される情報はベンダや機種に依存しないので、オペレータがOpS装置200を操作するときの負荷を軽減することができる。また、OpS装置200は各NE300のベンダおよび機種の組み合わせごとに、NE300へのコマンドやNE300からのイベント通知の変換を行うための定義ファイルを備えており、この定義ファイルを参照することで、様々なベンダや機種のNE300へのコマンドやNE300からのイベント通知の変換を行うことができる。また、NE300の仕様変更や新機種への変更があった場合は、この定義ファイルの改変を行えばいいので、共通部232および装置インタフェース部233のプログラム改変を行う必要がない。
【0026】
次に、
図4を用いて、OpS装置200の構成を説明する。
図4に示すように、OpS装置200は、入出力部210、記憶部220、制御部230およびメインメモリ240を備える。
【0027】
入出力部210は、他の装置との間で情報の入出力を行う。例えば、入出力部210は、オペレータ端末100からの制御オーダを受け付け、これに基づく装置コマンドをNE300へ投入したり、NE300からのイベント通知を受け付けると、このイベント通知の内容を示すデータをオペレータ端末100へ送信したりする。この入出力部210は通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力装置やモニタ等の出力装置等との間で入出力を行う入出力インタフェースとにより構成される。
【0028】
メインメモリ240は、RAM(Random Access Memory)等の記憶装置からなり、制御部230におけるデータ処理に必要な情報を一時的に記憶する。
【0029】
記憶部220は、ハードディスク装置やフラッシュメモリ等の記憶装置からなり、ベンダ種別・装置種別情報221および定義ファイル223を記憶する。
【0030】
ベンダ種別・装置種別情報221は、NE300の識別情報ごとに、当該NE300のベンダ種別および装置種別を示した情報である。
【0031】
定義ファイル223は、装置インタフェース部233が、様々なベンダや機種のNE300へのコマンド投入や、NE300からのイベント通知の変換を行う際に参照されるファイルである。この定義ファイル223は、NE300のベンダ種別および機種の組み合わせごとに用意され、投入順序選択定義ファイル(
図5参照)、投入順序定義ファイル(
図6参照)、コマンドシーケンス定義ファイル(
図7参照)、シーケンス制御定義ファイル、通知種別定義ファイルおよび通知情報定義ファイルを含む。これらのファイルは、例えば、CSV形式のファイルやスクリプトが記述されたファイルであり、入出力部210経由で適宜書き換え可能である。このようにすることで、OpS装置200のEOL時や、NE300の仕様変更や機種変更時において、OpS装置200に複雑な改変を行う必要がなくなる。なお、シーケンス制御定義ファイル(スクリプトファイル)は、定義ファイル223に含まれる場合と含まれない場合とがあるが、ここではシーケンス制御定義ファイルが含まれる場合について説明する。
【0032】
投入順序選択定義ファイルは、NE300へのコマンドの投入に必要な機能(例えば、NE300の設定や、各NE300間におけるパスの設定等)ごとに、当該機能の実現のために適用する投入順序定義ファイルの識別情報を示した情報である(
図5参照)。例えば、
図5に示すように、投入順序選択定義ファイルはCSV形式で記述され、NE300へのコマンドの投入に必要な機能名および当該機能の実現のために適用する投入順序定義ファイル名の他に、投入順序定義ファイルによるコマンド投入の投入順序決定方式や、コマンド投入の異常発生時におけるロールバックに適用するロールバック用投入順序定義ファイル名や、ロールバック用投入順序決定方式等を含んでいてもよい。
【0033】
図4の投入順序定義ファイルは、適用すべきコマンドシーケンス定義ファイルと、そのコマンドシーケンス定義ファイルの適用順とを示した情報である。この投入順序定義ファイルも、例えば、CSV形式で記述される(
図6参照)が、スクリプト形式で記述されてもよい。つまり、投入順序定義ファイルにはコマンドシーケンス定義ファイルの適用順を決定するためのスクリプトが記述されていてもよい。スクリプトの記述には、例えば、python等を用いる。このようにすることで、コマンドシーケンス定義ファイルの適用順序(呼び出し順序)が非固定シーケンスである場合、例えば、NE300の装置状況やコマンド応答結果により、コマンドやコマンド投入シーケンスを動的に変更する必要がある場合でも、これに対応することができる。
【0034】
すなわち、コマンド投入対象のNE300が1台、かつ、どのコマンドシーケンス定義ファイルをどの順序で投入するかが定義ファイル223の作成時に決定できる場合、投入順序選択定義ファイルには、固定シーケンスとしてCSV形式の投入順序定義ファイルを指定しておく。一方で、投入対象のNE300が複数台、または、どのコマンドシーケンス定義ファイルをどの順序で実行するかが定義ファイル作成時に決定不可の場合は、投入順序選択定義ファイルには、動的(非固定)シーケンスとするようにスクリプト形式の投入順序定義ファイルを指定しておけばよい。例えば、このスクリプト形式の投入順序定義ファイルを参照した要求受付部234は、投入順序番号と、この投入順序番号それぞれに対応するコマンドシーケンス定義ファイルとを示したリストを出力する。
【0035】
図4のコマンドシーケンス定義ファイルは、NE300へのコマンド投入に用いるコマンドシーケンスを示した情報である。このコマンドシーケンス定義ファイルも、例えば、CSV形式で記述される(
図7参照)。例えば、
図7に示すように、コマンドシーケンス定義ファイルは、コマンドシーケンス定義ファイルのファイル名と、コマンド投入を実行するときの実行判定をどのように行うか、コマンドのコマンドID、送信待ち時間、送信文字列、応答タイムアウト待ち時間、応答待ち文字列、応答正常性を判定どのように行うか(応答正常性判定)、コマンド投入において呼び出す関数名(シーケンス制御定義ファイル)等が記述される。なお、このコマンドシーケンス定義ファイルは、さらに、NE300へのコマンドの投入に用いる通信プロトコルのプロトコル識別子を含んでいてもよい。そして、コマンド変換部235(後記)によるNE300へのコマンド投入時には、このコマンドシーケンス定義ファイルに示されるプロトコル識別子の示すプロトコルモジュールでNE300へコマンド投入を実行する。
【0036】
図4のシーケンス制御定義ファイルは、コマンドシーケンス定義ファイルに基づくコマンド投入の実行にあたり呼び出されるスクリプトを記述したファイルであり、例えば、TL1(Transaction Language 1)コマンドの送信前チェックや、TL1実行結果の判定処理等のスクリプトを記述したファイルである。このようにコマンドシーケンス定義ファイルとは別に、シーケンス制御定義ファイルを用意しておくことで、コマンドシーケンス自体を非固定的なものとすることができる。
【0037】
この定義ファイル223を参照した、OpS装置200の処理手順例については後記する。
【0038】
通知種別定義ファイルは、入出力部210経由でイベント通知変換部237(後記)がNE300側からイベント通知を受信したとき、このイベント通知を共通部232で用いるデータへ変換するときに参照する通知情報定義ファイルを、イベント通知の種別ごとに示した情報である。
【0039】
通知情報定義ファイルは、入出力部210経由でイベント通知変換部237がNE300側からイベント通知を受信したとき、このイベント通知を共通部232で用いるデータへ変換するための定義情報を示した情報である。この通知情報定義ファイルは、イベント通知の内容から共通部232で用いるデータモデルへの変換が固定的である場合にはCSV形式で記述され、変換ロジックが必要な場合、python等のスクリプトで記述される。
【0040】
次に、制御部230を説明する。制御部230は、OpS部231を備え、OpS装置200全体の制御を司る。OpS部231は、共通部232と、装置インタフェース部233とを備える。
【0041】
共通部232は、入出力部210経由で、
図3のNE300への制御オーダの入力を受け付ける。そして、共通部232は、入力された制御オーダに含まれるコマンドの投入先のNE300の識別情報をキーとして、このベンダ種別・装置種別情報221を参照して、このコマンドの投入先のNE300のベンダ種別および装置種別を特定する。そして、共通部232はこの特定したベンダ種別および装置種別と、制御オーダに含まれる機能名(当該制御オーダにより実現する機能の識別情報)とを装置インタフェース部233へ出力する。
【0042】
なお、この共通部232は、装置インタフェース部233のイベント通知変換部237経由でNE300からのイベント通知を受信したときには、このイベント通知を入出力部210経由でオペレータ端末100へ出力する。
【0043】
装置インタフェース部233は、要求受付部234、コマンド変換部235、通信処理部236およびイベント通知変換部237を備える。
【0044】
要求受付部234は、共通部232から出力されたベンダ名および機種名のNE300に関する定義ファイル223における投入順序選択定義ファイルと、OpS装置200に入力された制御オーダに含まれるNE300へのコマンドの投入に必要な機能の識別情報とを参照して、当該機能を実現するために必要な投入順序定義ファイルを特定する。
【0045】
コマンド変換部235は、要求受付部234で特定された投入順序定義ファイルを参照して、投入順序定義ファイルに示される順序でコマンドシーケンス定義ファイルを順次呼び出す。そして、コマンド変換部235は、呼び出したコマンドシーケンス定義ファイルに基づき、通信処理部236および入出力部210経由でNE300へコマンド投入を順次実行する。
【0046】
通信処理部236は、コマンド変換部235から発行されたコマンドを入出力部210経由でNE300へ投入したり、NE300側からのイベント通知を受信したりするときのインタフェースである。この通信処理部236は、例えば、NE300とOpS装置200との通信に用いるプロトコルごとに用意される。例えば、
図8に示すように、NE300とOpS装置200との通信に用いるプロトコルがTL1、SNMP(Simple Network Management Protocol)およびCLI(Command Line Interface)の3種の場合、各通信プロトコルごとに通信処理部236を用意する。
【0047】
イベント通知変換部237は、NE300からのイベント通知を受信したとき、このイベント通知の送信元のNE300の識別情報とベンダ種別・装置種別情報221とを参照して、当該NE300のベンダ名および機種名を特定する。そして、イベント通知変換部237は、特定した当該ベンダ名および機種名の定義ファイル223における通知種別定義ファイルを参照して、受信したイベント通知の種別に関するNE300の通知情報定義ファイルを特定する。そして、イベント通知変換部237は、この特定した通知情報定義ファイルを参照して、NE300からのイベント通知を、共通部232で用いるデータ(共通データモデル)へ変換して、共通部232へ出力する。
【0048】
この制御部230の機能は、OpS装置200の備えるCPU(Central Processing Unit、図示省略)が記憶部220に記憶されたプログラム(図示省略)をメインメモリ240上に展開し、実行することで実現される。
【0049】
次に、
図4の装置インタフェース部233を詳細に説明する。まず、
図8を用いて、装置インタフェース部233が共通部232(
図4参照)からNEアクセス要求の入力を受け付けたときの処理概要を説明する。なお、ここでは、
図4の装置インタフェース部233のイベント通知変換部237は図示を省略している。
【0050】
まず、装置インタフェース部233の要求受付部234は、共通部232(
図4参照)からNE300へのNEアクセス要求を受け付ける。要求受付部234は、NEアクセス要求内のベンダ名、機種名から、呼び出す定義ファイル223(
図4参照)を特定する。そして、要求受付部234は、特定した定義ファイル223の投入順序選択定義ファイルを読み込み、この投入順序選択定義ファイルにおけるNEアクセス要求内の機能名に対応する行から、参照すべき投入順序定義ファイルを特定する。また、コマンドシーケンス定義ファイルの呼び出し順序が固定シーケンスか非固定シーケンスかを判断する。
【0051】
次に、要求受付部234は、特定した投入順序定義ファイルを参照することで、コマンドシーケンス定義ファイルの呼び出し順序を決定する。ここで、特定した投入順序定義ファイルがCSV形式であれば、コマンドシーケンス定義ファイルの呼び出し順序は固定シーケンスとなる。一方、
図8で「OR」で示すように、特定した投入順序定義ファイルがスクリプト形式であればコマンドシーケンス定義ファイルの呼び出し順序は非固定シーケンス(スクリプトにより動的に決定されるシーケンス)となる。
【0052】
そして、コマンド変換部235は、要求受付部234により決定されたコマンドシーケンス定義ファイルを順次呼び出す。そして、コマンド変換部235は、呼び出したコマンドシーケンス定義ファイルの内容を一行ずつ実行する。シーケンス制御定義ファイルは、コマンドシーケンス定義ファイルにより随時呼び出し可能であり、コマンドシーケンス定義ファイルに、シーケンス制御定義ファイルの記述があった場合、コマンド変換部235は、これに従い、シーケンス制御定義ファイルを呼び出し、この呼び出したファイルに記述されるスクリプトを実行する。
【0053】
その後、コマンド変換部235は、コマンドシーケンス定義ファイルの実行結果(装置コマンド)を、通信処理部236経由で所定の通信プロトコルによりNE300へ送信する。例えば、
図8に例示するように、コマンド変換部235がNE300Aへ装置コマンドを投入する場合において、このNE300Aとの通信プロトコルがTL1であった場合、このTL1の通信プロトコルを実装した通信処理部236経由で装置コマンド(コマンド)を投入する。このようにすることで、OpS装置200は様々なベンダ、様々な機種のNE300に対してコマンドを投入することができる。
【0054】
次に、
図8で説明したNEアクセス要求を受け付けた装置インタフェース部233の処理の詳細を、
図9を用いて説明する。
【0055】
まず、
図4の装置インタフェース部233の要求受付部234は、共通部232からNE300へのNEアクセス要求を受け付けると(S11)、NEアクセス要求内のベンダ名および機種名から、呼び出す定義ファイル223の投入順序選択定義ファイルを特定する(S12)。
【0056】
そして、要求受付部234は、この特定した投入順序選択定義ファイルを読み込み、NEアクセス要求内の機能名に対応する行から、投入順序定義ファイルを特定する。また、要求受付部234は、特定した投入順序選択定義ファイルの内容(例えば、
図5に示す投入順序選択定義ファイルにおける投入順序決定方式)からコマンドシーケンス定義ファイルの投入順序が、固定か動的(非固定)かを判定する(S13)。ここで投入順序が固定と判定されたとき(S14で「固定」)、要求受付部234は、S12で特定された投入順序選択定義ファイルに示されるCSV形式の投入順序定義ファイルを読み込み、このファイルに基づきコマンドシーケンス定義ファイルの実行手順を決定する(S15)。一方、S13の判定において投入順序が固定ではないと判定されたとき(S14で「動的」)、要求受付部234は、投入順序選択定義ファイルに示される、スクリプトが記述された投入順序定義ファイルを読み込み、このファイルに基づきコマンドシーケンス定義ファイルの実行手順を決定する(S22)。そして、S16へ進む。
【0057】
S16において、コマンド変換部235は、投入順序定義ファイルに示されるコマンドシーケンス定義ファイルのうち未実行のコマンドシーケンス定義ファイルが存在するか否かを確認し(S16)、存在すれば(S16のYes)、未実行のコマンドシーケンス定義ファイルの中から投入順序番号=最若番のファイルを特定する(S17)。そして、コマンド変換部235は、特定した投入順序番号=最若番のファイル(コマンドシーケンス定義ファイル)を読み込み(S18)、未実行の行について、上から1行実行し(S19)、ファイルの最終行まで到達していれば(S20のYes)、S16へ戻る。一方、ファイルの最終行まで到達していなければ(S20のNo)、S19へ戻る。
【0058】
一方、S16において、コマンド変換部235は、投入順序定義ファイルに示されるコマンドシーケンス定義ファイルをすべて実行したとき(S16のNo)、その旨の応答を共通部232へ返却する(S21)。そして、コマンド変換部235は、このコマンドシーケンス定義ファイルの実行結果に基づき、通信処理部236経由でNE300へのコマンドの投入を行う。
【0059】
続いて、
図9のS18〜S20の処理(コマンドシーケンス定義ファイルを読み込み、上から1行ずつ実行する処理)の詳細を、
図10を用いて説明する。ここでは、コマンド変換部235が、
図7に例示したコマンドシーケンス定義ファイルを評価する場合を例に説明する。
【0060】
まず、
図4のコマンド変換部235は、読み込んだコマンドシーケンス定義ファイル(
図7参照)の1行目の評価を開始すると(S31)、まず、コマンドシーケンス定義ファイルの「実行判定」の項目に関数名の指定があるか否かを判定する(S32)。ここで、関数名の指定があれば(S32のYes)、コマンド変換部235は、指定された関数、すなわちコマンドシーケンス定義ファイルに指定されたシーケンス制御定義ファイルの実行を行う(S33)。そして、シーケンス制御定義ファイルの実行の結果、返却値がtrueだった場合(S33で「シーケンス制御定義ファイルの返却値=true」)、コマンド変換部235は、コマンドシーケンス定義ファイルの「送信待ち時間」に記載の時間wait(送信待ち)を行い(S34)、コマンドシーケンス定義ファイルの「送信文字列」に記載のコマンドを通信処理部236経由でNE300へ送信するとともに、コマンドシーケンス定義ファイルの「応答タイムアウト待ち時間」に記載の値でタイマーをセットする(S35)。そして、コマンド変換部235は、このタイマーでセットした時間内に、コマンドシーケンス定義ファイルの「応答待ち文字列」に記載の応答をNE300から受信したとき(S36のYes)、コマンドシーケンス定義ファイルの「応答正常性判定」に記載の内容で応答内容を判定する(S37)。
【0061】
S37において、コマンド変換部235がNE300からの応答内容が正常応答であると判定した場合において(S37の「正常応答」)、コマンドシーケンス定義ファイルの「関数名」の項目に関数名の指定があるとき(S38の「関数名の指定あり」)、指定された関数(シーケンス制御定義ファイル)の実行処理を行う(S39)。そして、コマンド変換部235は、コマンドシーケンス定義ファイルの次の行の実行処理に移る(S40)。つまり、コマンド変換部235は、次の行について、S31〜S39,S42と同じ処理を行う。そして、コマンドシーケンス定義ファイルのすべての行の評価を完了すると(S41のYes)、処理を終了する。一方、コマンドシーケンス定義ファイルに評価していない行があれば(S41のNo)、S40へ戻る。
【0062】
さらに、S32において、コマンド変換部235がコマンドシーケンス定義ファイルの「実行判定」の項目に関数名の指定がなければ(S32のNo)、S34へ進む。また、S36において、コマンド変換部235は、タイマーでセットした時間内に「応答文字列」に記載の応答をNE300から受信しなかったとき(S36のNo)、および、S37において、コマンド変換部235がNE300からの応答内容が正常応答ではないと判定したとき(S37の「異常応答」)、NE300における異常が発生したと判断し、処理を終了する(S42:異常終了)。
【0063】
また、コマンド変換部235は、指定されたシーケンス制御定義ファイルの返却値がfalseだった場合(S33で「シーケンス制御定義ファイルの返却値=false」)、および、コマンド変換部235がコマンドシーケンス定義ファイルにおける「関数名」の項目に関数名の指定がないとき(S38の「関数名の指定なし」)、S40へ進む。
【0064】
このようにすることで、コマンド変換部235は、コマンドシーケンス定義ファイルの評価を行うことができる。
【0065】
次に、
図11を用いて、装置インタフェース部233がNE300からイベント通知を受け付けたときの処理の概要を説明する。ここでは、装置インタフェース部233がNE300Aからイベント通知を受信した場合を例に説明する。なお、ここでは
図4の装置インタフェース部233の共通部232、要求受付部234およびコマンド変換部235は図示を省略している。
【0066】
図11に示すように、装置インタフェース部233のイベント通知変換部237は、NE300Aからのイベント通知を通信処理部236経由で受け付けると、このNE300Aのベンダ名および機種名に関する定義ファイル223の通知種別定義ファイルを読み込む。そして、イベント通知変換部237は、この通知種別定義ファイルに示される、当該イベント通知の種別に関する通知情報定義ファイル(CSV形式またはスクリプト形式)を参照して、受信したイベント通知を
図4の共通部232で処理可能なデータモデルへ変換し、出力する。つまり、イベント通知変換部237は、NE300のベンダや機種に非依存のイベント通知を、共通部232へ出力する。その後、共通部232は、このイベント通知の内容を入出力部210(
図4参照)経由で、オペレータ端末100等へ出力する。
【0067】
図11に示した、イベント通知変換部237が、NE300からのイベント通知を受け付けたときの処理を、
図12を用いて詳細に説明する。
【0068】
図4の装置インタフェース部233のイベント通知変換部237は、NE300からのイベント通知を通信処理部236経由で受け付けると(S51)、このNE300がイベント通知を受信したときの当該NE300との間のセッション情報から、このNE300のベンダ名および機種名を特定し、この特定したベンダ名および機種名から、呼び出す定義ファイル223の通知種別定義ファイルを特定する(S52)。そして、イベント通知変換部237は、この呼び出した定義ファイル223の通知種別定義ファイルを読み込み、NE300から受け付けたイベント通知に関する通知情報定義ファイルを特定する(S53)。
【0069】
つまり、まず、イベント通知変換部237は、セッション情報に含まれるイベント通知の送信元のNE300の識別情報と、ベンダ種別・装置種別情報221とを参照して、イベント通知の送信元のNE300のベンダ名および機種名を特定する。そして、イベント通知変換部237は、この特定したベンダ名および機種名のNE300の定義ファイル223における通知種別定義ファイルから、このイベント通知の種別に関する通知情報定義ファイルを特定する。
【0070】
S53の後、イベント通知変換部237は、特定した通知情報定義ファイルを読み込み、NE300からのイベント通知を、共通データモデル(共通部232で処理可能なデータモデル)へ変更し(S54)、共通部232へ応答(共通データモデルへ変更したイベント通知)を返却する(S55)。
【0071】
このようにすることで、装置インタフェース部233は、様々なベンダや機種のNE300からのイベント通知を受信したときでも、通知種別定義ファイルおよび通知情報定義ファイルを参照することで、このイベント通知の内容を共通部232および入出力部210経由で、
図3のオペレータ端末100へ出力することができる。
【0072】
なお、前記したとおり、OpS装置200が定義ファイル223内の投入順序定義ファイルとして、ロールバック時のコマンド投入順序を示した投入順序定義ファイル(ロールバック用投入順序定義ファイル)をさらに備え、NE300へのコマンド投入における障害発生に、この投入順序定義ファイルを参照してロールバック処理を行うようにしてもよい。この場合、投入順序選択定義ファイルには、
図5に例示したように、投入順序定義ファイルに加え、当該投入順序定義ファイルに基づくコマンド投入時においてロールバック処理を行う際に参照すべきロールバック用投入順序定義ファイルの識別情報が含まれる。
【0073】
ここで
図13を参照しながら、
図4のOpS装置200によるロールバック処理を説明する。ここでは、投入順序選択定義ファイルにおいて、投入順序定義ファイルAに基づくコマンド投入でロールバック処理を行う際に参照すべきロールバック用投入順序定義ファイルが、投入順序定義ファイルBであるという情報が定義されている場合を例に説明する。投入順序定義ファイルAの機能名は「機能A」であり、投入順序定義ファイルBの機能名は「機能B」であるものとする。なお、OpS装置200は、メインメモリ240(
図4参照)にコマンドシーケンスの処理状況を示す処理状況データを記録する領域を備えるものとする。
【0074】
OpS装置200(
図4参照)の装置インタフェース部233は、共通部232から、NE300へのNEアクセス要求(機能A)を受信すると(S61)、このNE300のベンダ名および機種名に対応する定義ファイル223を参照して、NE300へのコマンド投入を実行する(S62)。例えば、装置インタフェース部233は、投入順序定義ファイルAに基づき、NE300に対しコマンドシーケンス1を実行する。そして、装置インタフェース部233は、コマンドシーケンスごとに、コマンドシーケンスによる処理状況を処理状況データに記録する(S63)。例えば、装置インタフェース部233は、コマンドシーケンス1の処理状況を処理状況データに記録する。また、装置インタフェース部233は、投入順序定義ファイルAに基づき、NE300に対しコマンドシーケンス2を実行し(S64)、ここで、何らかのエラー(障害)が発生したとき、処理状況データにエラーが発生したことを記録する(S65)。例えば、装置インタフェース部233は、
図13の処理状況データに示すように、コマンドシーケンス1は完了したが、コマンドシーケンス2においてエラーが発生し(NG)、次はコマンドシーケンス3(cmd3)を実行すべきであったことを処理状況データに記録しておく。このようなエラーを検出した装置インタフェース部233は、共通部232からのNEアクセス要求の応答として、ロールバックが必要である旨の応答(ロールバック要の応答)を返す(S66)。
【0075】
ロールバック要の応答を受信した共通部232は、装置インタフェース部233に対し、ロールバック要求(機能B)を出力する(S67)。このロールバック要求(機能B)の入力を受け付けた装置インタフェース部233は、このロールバック要求(機能B)に基づき、投入順序選択定義ファイルを参照して、ロールバック用投入順序定義ファイルとして、投入順序定義ファイルBを読み出す。そして、装置インタフェース部233は、投入順序定義ファイルBを参照しつつ、処理状況データの内容に基づき、ロールバック用の投入順序のどこから開始するかを判断する(S68)。
【0076】
例えば、
図13に示すように、投入順序定義ファイルBにロールバック用の投入順序としてコマンドシーケンスA,コマンドシーケンスB,コマンドシーケンスC,…(コマンドシーケンス1,コマンドシーケンス2,コマンドシーケンス3,…の逆順)が示されていた場合を考える。この場合、装置インタフェース部233は、この投入順序定義ファイルBと、処理状況データに示されるコマンドシーケンス2でエラーが出た旨の情報とから、コマンドシーケンスBから実行すると判断し、コマンドシーケンスB以降の処理を実行する(S69)。そして、装置インタフェース部233は、コマンドシーケンスBの処理実行後、共通部232へロールバック要求の応答(ロールバック成功)を出力する(S70)。このようにすることで、OpS装置200はNE300へのコマンド投入においてロールバック処理が必要になったときも、定義ファイル223を参照することで、ロールバック処理を実行することができる。
【0077】
なお、前記した実施の形態において、
図4のOpS装置200の要求受付部234が、コマンドの投入順序が固定か動的(非固定)かを判定するとき(
図9のS14参照)、投入順序選択定義ファイルにおける投入順序決定方式の情報を参照して判定することとしたが、これに限定されない。例えば、要求受付部234は、投入順序選択定義ファイル(
図5参照)に示される投入順序定義ファイル名の拡張子から、当該投入順序定義ファイルがCSV形式のファイルか、スクリプト形式のファイルかを判定するようにしてもよい。この場合、投入順序選択定義ファイルは、投入順序決定方式の情報を必ずしも含まなくてよい。
【0078】
なお、前記した実施の形態において、
図4のOpS装置200のベンダ種別・装置種別情報221を含まない構成としてもよい。すなわち、OpS装置200において受け付けた制御オーダにNE300のベンダ種別および機種名が含まれる場合、要求受付部234は、この制御オーダに含まれるベンダ種別および機種名をもとに、参照すべき定義ファイル223を特定する。