(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022154320
(43)【公開日】2022-10-13
(54)【発明の名称】ネットワーク管理装置、ネットワーク管理システム、プログラムおよびネットワーク管理方法
(51)【国際特許分類】
G06F 13/00 20060101AFI20221005BHJP
【FI】
G06F13/00 353B
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021057287
(22)【出願日】2021-03-30
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】000233295
【氏名又は名称】株式会社日立情報通信エンジニアリング
(74)【代理人】
【識別番号】110000198
【氏名又は名称】弁理士法人湘洋特許事務所
(72)【発明者】
【氏名】長谷川 拓哉
(72)【発明者】
【氏名】西野 博一
【テーマコード(参考)】
5B089
【Fターム(参考)】
5B089GA11
5B089GA21
5B089GA31
5B089GB02
5B089JA35
5B089JB15
5B089KA13
5B089KB04
5B089KC59
5B089KH04
(57)【要約】
【課題】 独自の木構造の構文を用いるコマンドで設定を行うネットワーク機器に対しネットワーク管理を簡便かつ正確に行う技術を提供する。
【解決手段】
ネットワーク管理装置であって、管理対象のネットワーク機器に設定する設定値が含まれる表計算用ファイルであるパラメータシートを受け付けるパラメータシート受付部と、ネットワーク機器に設定済の設定値を取得する所定のステータス表示コマンドを発行して設定済みの設定値を取得する構成情報取得部と、木構造のコマンド構文を用いて記述される設定値変更コマンドに与えるパラメータをパラメータシートから読み出して設定値変更コマンドを組み立てるコマンド組み立て部と、設定値変更コマンドを発行するコマンド発行部と、変更された結果を検証する変更結果検証部と、検証された結果を用いてパラメータシートを生成するパラメータシート生成部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
管理対象のネットワーク機器に設定する設定値が含まれる表計算用ファイルであるパラメータシートを受け付けるパラメータシート受付部と、
前記ネットワーク機器に設定済の前記設定値を取得する所定のステータス表示コマンドを前記ネットワーク機器に発行して設定済みの前記設定値を取得する構成情報取得部と、
木構造を有するコマンド構文を用いて記述される設定値変更コマンドに与えるパラメータを前記パラメータシートの前記設定値から読み出して前記設定値変更コマンドを組み立てるコマンド組み立て部と、
前記設定値変更コマンドを発行するコマンド発行部と、
前記設定値変更コマンドにより変更された結果を検証する変更結果検証部と、
前記変更結果検証部により検証された結果を用いて前記パラメータシートを生成するパラメータシート生成部と、
を備えることを特徴とするネットワーク管理装置。
【請求項2】
請求項1に記載のネットワーク管理装置であって、
前記変更結果検証部は、前記構成情報取得部に取得させて得た前記設定値を前記結果として用いる、
ことを特徴とするネットワーク管理装置。
【請求項3】
請求項1または2に記載のネットワーク管理装置であって、
前記コマンド組み立て部は、前記設定値変更コマンドを組み立てるにあたり設定済みの前記設定値を用いる必要がある場合には、前記構成情報取得部が取得した設定済みの前記設定値を用いて組み立てる、
ことを特徴とするネットワーク管理装置。
【請求項4】
請求項1~3のいずれか一項に記載のネットワーク管理装置であって、
前記設定値変更コマンドのバージョンに応じて前記コマンド構文を記述するコンフィグモデルを記憶する記憶部を備え、
前記コマンド組み立て部は、前記ネットワーク機器が採用する前記設定値変更コマンドのバージョンに応じて前記コンフィグモデルを引き当てて前記設定値変更コマンドを組み立てる、
ことを特徴とするネットワーク管理装置。
【請求項5】
請求項4に記載のネットワーク管理装置であって、
前記コンフィグモデルは、前記コマンド構文の前記木構造を示すタグ情報を持つテキストファイルである、
ことを特徴とするネットワーク管理装置。
【請求項6】
請求項1~5のいずれか一項に記載のネットワーク管理装置であって、
前記変更結果検証部は、前記変更された結果が正常でない場合には、発行された前記設定値変更コマンドのパラメータを変更前の設定値に置き換えて再実行するリカバリ処理を行う指示を受け付ける、
ことを特徴とするネットワーク管理装置。
【請求項7】
管理対象のネットワーク機器に設定する設定値が含まれる表計算用ファイルであるパラメータシートを受け付けるパラメータシート受付部と、
前記ネットワーク機器に設定済の前記設定値を取得する所定のステータス表示コマンドを前記ネットワーク機器に発行して設定済みの前記設定値を取得する構成情報取得部と、
木構造を有するコマンド構文を用いて記述される設定値変更コマンドに与えるパラメータを前記パラメータシートの前記設定値から読み出して前記設定値変更コマンドを組み立てるコマンド組み立て部と、
前記設定値変更コマンドを発行するコマンド発行部と、
前記設定値変更コマンドにより変更された結果を検証する変更結果検証部と、
前記変更結果検証部により検証された結果を用いて前記パラメータシートを生成するパラメータシート生成部と、
を備えることを特徴とするネットワーク管理システム。
【請求項8】
情報処理装置をネットワーク管理装置として機能させるプログラムであって、
前記情報処理装置のプロセッサに、
管理対象のネットワーク機器に設定する設定値が含まれる表計算用ファイルであるパラメータシートを受け付けるパラメータシート受付ステップと、
前記ネットワーク機器に設定済の前記設定値を取得する所定のステータス表示コマンドを前記ネットワーク機器に発行して設定済みの前記設定値を取得する構成情報取得ステップと、
木構造を有するコマンド構文を用いて記述される設定値変更コマンドに与えるパラメータを前記パラメータシートの前記設定値から読み出して前記設定値変更コマンドを組み立てるコマンド組み立てステップと、
前記設定値変更コマンドを発行するコマンド発行ステップと、
前記設定値変更コマンドにより変更された結果を検証する変更結果検証ステップと、
前記変更結果検証ステップにより検証された結果を用いて前記パラメータシートを生成するパラメータシート生成ステップと、
を実施させることを特徴とするプログラム。
【請求項9】
情報処理装置をネットワーク管理装置として機能させるネットワーク管理方法であって、
前記情報処理装置のプロセッサに、
管理対象のネットワーク機器に設定する設定値が含まれる表計算用ファイルであるパラメータシートを受け付けるパラメータシート受付ステップと、
前記ネットワーク機器に設定済の前記設定値を取得する所定のステータス表示コマンドを前記ネットワーク機器に発行して設定済みの前記設定値を取得する構成情報取得ステップと、
木構造を有するコマンド構文を用いて記述される設定値変更コマンドに与えるパラメータを前記パラメータシートの前記設定値から読み出して前記設定値変更コマンドを組み立てるコマンド組み立てステップと、
前記設定値変更コマンドを発行するコマンド発行ステップと、
前記設定値変更コマンドにより変更された結果を検証する変更結果検証ステップと、
前記変更結果検証ステップにより検証された結果を用いて前記パラメータシートを生成するパラメータシート生成ステップと、
を実施させることを特徴とするネットワーク管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク管理装置、ネットワーク管理システム、プログラムおよびネットワーク管理方法に関する。
【背景技術】
【0002】
特許文献1には、複数のコンピュータに所定のプログラムをインストールするインストール装置において、上記複数のコンピュータにリストア可能なバックアップデータであって、上記所定のプログラムを含むものを保持するバックアップデータ保持手段と、上記複数のコンピュータ及び上記バックアップデータに係る第1のコンピュータの設定情報を保持する設定情報保持手段と、上記第1のコンピュータの設定情報と、上記複数のコンピュータから選択した第2のコンピュータの設定情報とを比較した差分を抽出し、その差分の設定情報を上記第2のコンピュータ向けの差分設定情報として作成する差分設定情報作成手段と、上記バックアップデータを、上記第2のコンピュータにリストアするリストア手段と、上記バックアップデータをリストアした上記第2のコンピュータに、上記差分設定情報作成手段が作成した上記差分設定情報を設定する差分設定手段とを有することを特徴とするインストール装置の開示がある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1に記載された技術は、パーソナルコンピューターやサーバー装置等の設定ファイルベースでのコンフィギュレーションを行うことができるが、独自の木構造のコマンド構文を用いるコマンド体系を有し、コマンドベースでコンフィギュレーションを行うネットワーク機器に対しては適切とはいえない。
【0005】
本発明の目的は、独自の木構造の構文を用いるコマンドで設定を行うネットワーク機器に対しネットワーク管理を簡便かつ正確に行う技術を提供することにある。
【課題を解決するための手段】
【0006】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。上記課題を解決すべく、本発明の一態様に係るネットワーク管理装置は、管理対象のネットワーク機器に設定する設定値が含まれる表計算用ファイルであるパラメータシートを受け付けるパラメータシート受付部と、前記ネットワーク機器に設定済の前記設定値を取得する所定のステータス表示コマンドを前記ネットワーク機器に発行して設定済みの前記設定値を取得する構成情報取得部と、木構造を有するコマンド構文を用いて記述される設定値変更コマンドに与えるパラメータを前記パラメータシートの前記設定値から読み出して前記設定値変更コマンドを組み立てるコマンド組み立て部と、前記設定値変更コマンドを発行するコマンド発行部と、前記設定値変更コマンドにより変更された結果を検証する変更結果検証部と、前記変更結果検証部により検証された結果を用いて前記パラメータシートを生成するパラメータシート生成部と、を備えることを特徴とする。
【0007】
また、上記のネットワーク管理装置において、前記変更結果検証部は、前記構成情報取得部に取得させて得た前記設定値を前記結果として用いるものであってもよい。
【0008】
また、上記のネットワーク管理装置において、前記コマンド組み立て部は、前記設定値変更コマンドを組み立てるにあたり設定済みの前記設定値を用いる必要がある場合には、前記構成情報取得部が取得した設定済みの前記設定値を用いて組み立てるものであってもよい。
【0009】
また、上記のネットワーク管理装置において、前記設定値変更コマンドのバージョンに応じて前記コマンド構文を記述するコンフィグモデルを記憶する記憶部を備え、前記コマンド組み立て部は、前記ネットワーク機器が採用する前記設定値変更コマンドのバージョンに応じて前記コンフィグモデルを引き当てて前記設定値変更コマンドを組み立てるものであってもよい。
【0010】
また、上記のネットワーク管理装置において、前記コンフィグモデルは、前記コマンド構文の前記木構造を示すタグ情報を持つテキストファイルであってもよい。
【0011】
また、上記のネットワーク管理装置において、前記変更結果検証部は、前記変更された結果が正常でない場合には、発行された前記設定値変更コマンドのパラメータを変更前の設定値に置き換えて再実行するリカバリ処理を行う指示を受け付けるものであってもよい。
【0012】
また、本発明の別の態様に係るネットワーク管理システムは、管理対象のネットワーク機器に設定する設定値が含まれる表計算用ファイルであるパラメータシートを受け付けるパラメータシート受付部と、前記ネットワーク機器に設定済の前記設定値を取得する所定のステータス表示コマンドを前記ネットワーク機器に発行して設定済みの前記設定値を取得する構成情報取得部と、木構造を有するコマンド構文を用いて記述される設定値変更コマンドに与えるパラメータを前記パラメータシートの前記設定値から読み出して前記設定値変更コマンドを組み立てるコマンド組み立て部と、前記設定値変更コマンドを発行するコマンド発行部と、前記設定値変更コマンドにより変更された結果を検証する変更結果検証部と、前記変更結果検証部により検証された結果を用いて前記パラメータシートを生成するパラメータシート生成部と、を備えることを特徴とする。
【0013】
また、本発明の別の態様に係るプログラムは、情報処理装置をネットワーク管理装置として機能させるプログラムであって、前記情報処理装置のプロセッサに、管理対象のネットワーク機器に設定する設定値が含まれる表計算用ファイルであるパラメータシートを受け付けるパラメータシート受付ステップと、前記ネットワーク機器に設定済の前記設定値を取得する所定のステータス表示コマンドを前記ネットワーク機器に発行して設定済みの前記設定値を取得する構成情報取得ステップと、木構造を有するコマンド構文を用いて記述される設定値変更コマンドに与えるパラメータを前記パラメータシートの前記設定値から読み出して前記設定値変更コマンドを組み立てるコマンド組み立てステップと、前記設定値変更コマンドを発行するコマンド発行ステップと、前記設定値変更コマンドにより変更された結果を検証する変更結果検証ステップと、前記変更結果検証ステップにより検証された結果を用いて前記パラメータシートを生成するパラメータシート生成ステップと、を実施させることを特徴とする。
【0014】
また、本発明の別の態様に係るネットワーク管理方法は、情報処理装置をネットワーク管理装置として機能させるネットワーク管理方法であって、前記情報処理装置のプロセッサに、管理対象のネットワーク機器に設定する設定値が含まれる表計算用ファイルであるパラメータシートを受け付けるパラメータシート受付ステップと、前記ネットワーク機器に設定済の前記設定値を取得する所定のステータス表示コマンドを前記ネットワーク機器に発行して設定済みの前記設定値を取得する構成情報取得ステップと、木構造を有するコマンド構文を用いて記述される設定値変更コマンドに与えるパラメータを前記パラメータシートの前記設定値から読み出して前記設定値変更コマンドを組み立てるコマンド組み立てステップと、前記設定値変更コマンドを発行するコマンド発行ステップと、前記設定値変更コマンドにより変更された結果を検証する変更結果検証ステップと、前記変更結果検証ステップにより検証された結果を用いて前記パラメータシートを生成するパラメータシート生成ステップと、を実施させることを特徴とする。
【発明の効果】
【0015】
本発明によれば、独自の木構造の構文を用いるコマンドで設定を行うネットワーク機器に対しネットワーク管理を簡便かつ正確に行う技術を提供することができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0016】
【
図1】本発明の実施形態に係るネットワーク管理システムの構成例を示す図である。
【
図2】パラメータパターン記憶部に格納されるデータの構造例を示す図である。
【
図3】コンフィグモデル記憶部に格納されるデータの構造例を示す図である。
【
図4】コンフィグモデルを適用する仕組みの例を示す図である。
【
図6】ネットワーク管理装置のハードウェア構成例を示す図である。
【
図7】パラメータ設定処理のフローの例を示す図である。
【
図9】バージョン更新処理のフローの例を示す図である。
【発明を実施するための形態】
【0017】
以下、本発明に係る一つの実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。また、「Aからなる」、「Aよりなる」、「Aを有する」、「Aを含む」と言うときは、特にその要素のみである旨明示した場合等を除き、それ以外の要素を排除するものでないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。
【0018】
以下の説明では、図示しないネットワーク管理装置100、管理者が使用する情報処理装置200の入出力部と表示部は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイス。I/Oインターフェースデバイスは、I/Oデバイスと遠隔のネットワーク管理装置100あるいは情報処理装置200のうちの少なくとも一つに対するインターフェースデバイスである。ネットワーク管理装置100あるいは情報処理装置200に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
【0019】
また、以下の説明では、「メモリ」は、一つ以上の記憶デバイスの一例である一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
【0020】
また、以下の説明では、「記憶部」または「ストレージ」は、メモリと永続記憶装置のうちメモリかまたは両方であればよい。具体的には、永続記憶装置は例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、NVME(Non-Volatile Memory Express)ドライブ、又は、SCM(Storage Class Memory)でよい。
【0021】
また、以下の説明では、「処理部」または「プロセッサ」は、一つ以上のプロセッサデバイスでよい。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスでよいが、GPU(Graphics Processing Unit)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサデバイスは、プロセッサコアでもよい。少なくとも一つのプロセッサデバイスは、処理の一部又は全部を行うハードウェア記述言語によりゲートアレイの集合体である回路(例えばFPGA(Field-Programmable Gate Array)、CPLD(Complex Programmable Logic Device)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサデバイスでもよい。
【0022】
また、以下の説明では、「yyy部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよいし、それらの組合せによって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
【0023】
また、以下の説明では、「プログラム」や「処理部」を主語として処理を説明する場合があるが、プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。また、二つ以上のプログラムが一つのプログラムとして実現されてもよいし、一つのプログラムが二つ以上のプログラムとして実現されてもよい。
【0024】
また、以下の説明では、「xxxテーブル」あるいは「xxx記憶部」といった表現にて、入力に対して出力が得られる情報を説明することがあるが、当該情報は、どのような構造のテーブルでもよいし、入力に対する出力を発生するニューラルネットワーク、遺伝的アルゴリズムやランダムフォレストに代表されるような学習モデルでもよい。また、以下の説明において、各テーブルの構成は一例であり、一つのテーブルは、二つ以上のテーブルに分割されてもよいし、二つ以上のテーブルの全部又は一部が一つのテーブルであってもよい。
【0025】
また、以下の説明では、「ネットワーク管理システム」は、一つ以上の物理的な計算機で構成されたシステムでもよいし、物理的な計算リソース群(例えば、クラウド基盤)上に実現されたシステム(例えば、クラウドコンピューティングシステム)でもよい。ネットワーク管理システムが表示用情報を「表示する」ことは、計算機が有する表示デバイスに表示用情報を表示することであってもよいし、計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。
【0026】
また、以下の説明では、ネットワーク機器として、スイッチ、ルーター、ファイアウォールを想定しているが、これに限られず、独自の木構造のコマンド構文を用いるコマンド体系を有し、コマンドベースでコンフィギュレーションを行うネットワーク機器全般が含まれる。
【0027】
ネットワーク機器のコンフィグ(設定)を管理するためにパラメータシートに設定値を定義し管理する運用がある。その場合、実際にネットワーク機器に設定を行う際にはコマンド入力が必要であり、パラメータシートとネットワーク機器上の設定値の整合性を確保し続けることは容易ではない。例えば、設定値が相対値である場合(「decrement」や「increment」指定の場合等を含む場合)や、設定済みの設定値によってコマンドを変えねばならない場合等には、パラメータシートから乖離する値が設定される可能性もある。また、ネットワーク機器により採用するコマンドバージョンが異なる可能性もあるため、パラメータシートと機器の設定値の整合性を確保し続けることは容易ではない。
【0028】
発明者は、このような問題に関して、管理者(システムエンジニア)の作業ノウハウをフロー化し自動化できれば、作業品質の均一化が図れると考えた。その方法として、コマンドをモデル化して(コンフィグモデル)、木構造のコマンド構文、管理テーブルフォーマット、パラメータシートフォーマット等の各種の情報を集約定義することで、ネットワーク機器の設定済の設定値に応じてパラメータシートからコマンドを生成するようにした。また、コマンド仕様の変更や追加に伴い、データベーステーブルや処理モジュールの設計・製造が必要となることを避け、コンフィグモデルを変更・追加するだけでコマンド生成ができるようにした。
【0029】
より具体的には、パラメータシート、データベーステーブル、コンフィグパーステンプレートのために必要な情報をコンフィグモデルに集約し、これらに対するアクセス時の名称が動的に変化することを前提とすることで、コマンドのバージョンアップ等の追加・変更時にコンフィグモデルの改変を行うことで対応できるようにした。
【0030】
コンフィグモデルは、ネットワーク機器のコマンドシェルのコマンドインデント(階層)と親子関係を、木構造を示すタグ情報で示すテキストファイル形式のデータである。例えば、このようなコンフィグモデルは、XML(Extensible Markup Language)、JSON(JavaScript Object Notation)等の記述により実現できる。さらには、コンフィグモデルをJSON形式で保有しパーサー等を用いてプログラム内から利用可能とすることにより、単なるテンプレートではなく実データを設定したオブジェクトインスタンスとして利用することが可能となる。
【0031】
また、設定値の変更を完了した後、設定した値が適切に反映されているか否かを検証する必要があり、これを怠ると現状の設定値が不明になったり、管理上の理想値から乖離が発生したりしてしまう。そのため、ネットワーク機器の設定値を読み出し、パラメータシートとして出力し管理するようにした。これについても、コンフィグモデルをJSON形式で保有しパーサー等を用いてプログラム内から利用可能とすることにより、設定値の保管/更新管理を容易に実現することができる。
【0032】
また、ネットワーク機器のコマンドシェルでは、値を書き換える際に一度旧設定値を消去して新たな値を設定する必要があるコマンドがあるが、これについても、コマンドを生成する際にコンフィグモデルの中に削除用コマンドを含ませることで、コマンド生成時に動的に組み立てることが可能となる。
【0033】
例えば、コンフィグモデルには、モデルに関する全般的な項目、パラメータを特定するモデルオブジェクト、パラメータを追加/削除/終了するコマンド、パラメータの形式を指定するパラメータフォーマットオブジェクト、選択肢を列挙する選択肢オブジェクト、パラメータとして他のパラメータの値を列挙して指定する依存設定、複数のパラメータで一つの設定コマンドとなる場合、コンポーネントにそのパラメータ(モデルオブジェクト)を列挙するコンポーネント、パラメータが階層構造となる場合、子要素としてモデルオブジェクトを指定する子要素、等の項目が含まれる。このような例は、ネットワーク機器が採用するコマンド構文体系に依存するものであるため、これ以外のコンフィグモデルについてもパラメータパターンに重複がなければ複数存在してよい。
【0034】
本発明の実施形態に係るネットワーク管理システム1によれば、独自の木構造の構文を用いるコマンドで設定を行うネットワーク機器に対しネットワーク管理を行うことができる。
【0035】
図1は、本発明の実施形態に係るネットワーク管理システムの構成例を示す図である。ネットワーク管理システム1は、管理の対象となるネットワーク機器、ルーターやスイッチ等が一または複数含まれる管理対象機器群99と、管理対象機器群99とネットワーク10を介して管理情報を通信するネットワーク管理装置100と、ネットワーク管理装置100とネットワーク20を介して通信可能にパラメータシートの送受信を行うインターフェースとなるパーソナルコンピューターやスマートフォン等の情報処理装置200と、を含む。
【0036】
なお、パラメータシートは、表計算ソフトウェアで用いられることの多い表計算用ファイル(例えば、XLSファイルまたはXLSXファイル等のスプレッドシート)を用いる。しかし、これに限られるものではなく、例えばXMLファイルやCSV(Comma Separated Values)ファイル等であってもよい。
【0037】
ネットワーク10、20は、例えば、LTE(Long Term Evolution)あるいは5G(ファイブジー)と呼ばれる所定の周波数帯(3.5GHz(ギガヘルツ)帯、4.5GHz帯、28GHz帯等)を利用する無線通信ネットワークであり、管理対象機器群99とネットワーク管理装置100と、ネットワーク管理装置100と管理者が使用する情報処理装置と、のそれぞれを通信可能に接続する。
【0038】
なお、管理対象機器群99と、ネットワーク管理装置100と、管理者が使用する情報処理装置200との間は、通信の安定性、通信品質やセキュリティ、維持コスト等を総合的に考慮して有線ネットワーク(LAN(Local Area Netowork)等)を介して通信可能に接続されるものであってもよい。
【0039】
管理対象機器群99に属する管理対象機器のそれぞれは、ネットワークを介して他の装置であるネットワーク管理装置100から構成情報の設定値の参照・設定・変更・削除等の所定のコマンドを受け付けると、コマンドに従って構成情報の設定値を提示・設定・変更・削除する。このコマンドは、例えば独自の木構造のコマンド構文を用いるコマンド体系を有するコマンド群であり、Cisco社のユーザーEXECモード、特権EXECモード、各コンフィグレーションモード等で用いるCLI(Command Line Interface)のコマンドであってよい。
【0040】
ネットワーク管理装置100は、管理対象機器群99のそれぞれにCLIでログインして、コマンドの発行、結果の取得を行うことができる。また、ネットワーク管理装置100は、情報処理装置200からSCP(Secure Copy Protocol)、FTP(File Transfer Protocol)等によりパラメータシートを送受信することができる。
【0041】
情報処理装置200は、ネットワーク20を介して管理者としてネットワーク管理装置100にログインし、FTP等によりパラメータシートを送受信できる。また、情報処理装置200は、ターミナルソフトウェアを用いてネットワーク管理装置100にログインし、CLIのコマンドを管理対象機器群99のネットワーク機器に送信することができる。
【0042】
ネットワーク管理装置100には、記憶部110と、処理部120と、通信部130と、が含まれる。記憶部110には、パラメータパターン記憶部111と、コンフィグモデル記憶部112と、が含まれる。
【0043】
図2は、パラメータパターン記憶部に格納されるデータの構造例を示す図である。パラメータパターン記憶部111には、管理対象機器群99に属する管理対象機器のそれぞれが採用するコマンドのパラメータパターン(コンフィグモデル)を特定する情報が格納される。パラメータパターン記憶部111には、システム識別子111aと、機器種別111bと、機器バージョン111cと、パラメータパターン111dと、が含まれる。
【0044】
システム識別子111aは、管理対象機器群99に属する管理対象のシステムを識別する情報である。機器種別111bは、システム識別子111aにより識別される管理対象システムを構成する要素(装置のモデル等)を特定する情報である。機器バージョン111cは、システム識別子111aにより特定される管理対象機器群の機器種別111bに関するOSバージョンの情報である。パラメータパターン111dは、システム識別子111aにより特定される管理対象機器群の機器種別111bと機器バージョン111cの組み合わせにて採用されるパラメータのパターン(コマンド構文)を特定する値である。
【0045】
図3は、コンフィグモデル記憶部に格納されるデータの構造例を示す図である。コンフィグモデル記憶部112には、モデルに関する全般的な項目112aと、パラメータを特定するモデル112bと、パラメータを追加/削除/終了するコマンド112cと、パラメータの形式を指定するパラメータフォーマットオブジェクト112dと、選択肢を列挙する選択肢オブジェクト112eと、パラメータとして他のパラメータの値を列挙して指定する依存設定112fと、複数のパラメータで一つの設定コマンドとなる場合コンポーネントにそのパラメータ(モデルオブジェクト)を列挙するコンポーネント112gと、パラメータが階層構造となる場合、子要素としてモデルオブジェクトを指定する子要素112h、等の項目が含まれる。なお、記憶部110には、コンフィグモデル記憶部112は、一または複数含まれる。一又は複数のパラメータパターンに対して一のコンフィグモデル記憶部112が記憶される。すなわち、パラメータパターンが特定されればコンフィグモデル記憶部112が特定される関係にあり、コンフィグモデル記憶部112が特定されてもパラメータパターンは一意に特定されるとは限らない。
【0046】
図4は、コンフィグモデルを適用する仕組みの例を示す図である。コンフィグモデル記憶部112の情報を元に、コンフィグモデルインスタンス112´が生成される。これは、JSONのパーサー等を介してプログラム内で動的にメモリ割り当てされることにより生成できる。パラメータシート115a、設定値データベース115b、コンフィグパーステンプレート115cのそれぞれは、コンフィグモデル記憶部112の情報を元に、コンフィグモデルの追加時に後述するバージョン更新処理において生成される。
【0047】
パラメータシート115aに入力された設定値は、処理Aにより設定値データベース115bに読み込まれて格納され、設定値データベース115bに格納された設定値を読み出してコンフィグモデルインスタンス112´に組み込むことで処理Bにおいてコンフィグコマンド115dが生成される。また、コンフィグコマンド115dのうちネットワーク機器に設定済の設定値を取得する所定のステータス表示コマンドをネットワーク機器に発行して設定済みの設定値を取得することで得られた設定値は、処理Cにおいてコンフィグパーステンプレート115cを用いてパースされて設定値データベース115bに格納される。そして、設定値データベース115bに格納された設定値は処理Dによりパラメータシート115aに埋め込まれて出力される。コンフィグモデルがJSON形式で記述されることにより、これらの適用の仕組みにおける処理A~Dを既存のプログラム部品を利用して簡便に実現できる。
【0048】
図5は、コンフィグモデル構造の例を示す図である。コンフィグモデルは、階層構造116を備え、階層ごとに構成要素の多重度を示すことができる。
図5の階層構造116では、要素「0-1」は0個以上存在し(多重度N)、その子要素として「1-1」が1つ、「1-2」が0個以上、「1-3」と「1-4」の一つずつの組が0個以上、「1-5」が0個以上含まれることを示している。そして、要素「1-5」には子要素「2-1」が高々1個含まれることを示している。このように、コンフィグモデルは、コマンド構文の木構造を示すタグ情報を持つテキストファイルである。
【0049】
図1の説明に戻る。処理部120には、パラメータシート受付部121と、構成情報取得部122と、コマンド組み立て部123と、コマンド発行部124と、変更結果検証部125と、パラメータシート生成部126と、バージョンアップ処理部127とが含まれる。
【0050】
パラメータシート受付部121は、管理対象のネットワーク機器に設定する設定値が含まれる表計算用ファイルであるパラメータシートを受け付ける。
【0051】
構成情報取得部122は、ネットワーク機器に設定済の設定値を取得する所定のステータス表示コマンドを管理対象のネットワーク機器に発行して設定済みの設定値を取得する。
【0052】
コマンド組み立て部123は、木構造を有するコマンド構文を用いて記述される設定値変更コマンドに与えるパラメータをパラメータシートの設定値から読み出して設定値変更コマンドを組み立てる。また、コマンド組み立て部123は、設定値変更コマンドを組み立てるにあたり設定済みの設定値を用いる必要がある場合には、構成情報取得部122が取得した設定済みの設定値を用いて組み立てる。また、コマンド組み立て部123は、管理対象のネットワーク機器が採用する設定値変更コマンドのバージョンに応じてコンフィグモデルを引き当てて設定値変更コマンドを組み立てる。
【0053】
コマンド発行部124は、設定値変更コマンドを管理対象のネットワーク機器に発行する。
【0054】
変更結果検証部125は、設定値変更コマンドにより変更された結果を検証する。検証の結果、設定値がパラメータシートと整合しない場合(正常でない場合)には、変更結果検証部125は、整合しない設定値について、情報処理装置200にリカバリ処理を促す。また、その際、変更結果検証部125は、構成情報取得部122に取得させて得た設定値を結果として用いる。具体的には、変更結果検証部125は、発行された設定値変更コマンドのパラメータを変更前の設定値に置き換えて再実行するリカバリ処理を行うよう情報処理装置200に表示させる。
【0055】
パラメータシート生成部126は、変更結果検証部125により検証された結果を用いて変更後の設定値を有するパラメータシートを生成する。
【0056】
バージョンアップ処理部127は、管理対象機器群99のネットワーク機器のOSやコマンドのバージョンが変更された場合に、コンフィグモデルをバージョンアップに追随させる。具体的には、バージョンアップ処理部127は、パラメータシート115a、設定値データベース115b、コンフィグパーステンプレート115cのそれぞれを再構成する。
【0057】
通信部130は、ネットワーク10、ネットワーク20を介してそれぞれ管理対象機器群99と、情報処理装置200と、の間の通信を行う。
【0058】
情報処理装置200には、パラメータシート作成部210が含まれる。パラメータシート作成部210は、パラメータシートの参照、作成、変更、削除を行う。本実施形態では、パラメータシートは表計算用ソフトウェアのファイルであるため、パラメータシート作成部210は表計算ソフトウェアであってよい。なお、情報処理装置200は、表計算ファイルを扱えるものであれば、クラウドサービス等により外部の機関が提供するサービスを利用するものであってもよい。
【0059】
図6は、ネットワーク管理装置のハードウェア構成例を示す図である。ネットワーク管理装置100は、いわゆるパーソナルコンピューターやサーバー装置等の情報処理装置であって、ネットワーク10およびネットワーク20を介して他の装置との間で情報の送受信を行う。なお、ネットワーク管理装置100は、パーソナルコンピューターに限られず、例えばスマートフォンやタブレット装置等の他の装置であってもよい。
【0060】
ネットワーク管理装置100は、CPU(Central Processing Unit)等のプロセッサ101と、RAM(Random Access Memory)等のメモリ102と、ハードディスクやSSD(Solid State Drive)等のストレージ103と、LTE通信用のSIMカード等、あるいはNIC(Network Interface Card)等の通信装置107と、これらをつなぐバスと、を含んで構成される。
【0061】
通信装置107は、アンテナを介して無線通信を行う無線通信装置である。通信装置107は、ネットワーク10およびネットワーク20に接続される他の装置との無線通信を行う。本実施形態においては、あるいは、上述したように、通信装置107は、ネットワークケーブルを介して他の装置との有線通信を行う有線の通信装置であってもよい。
【0062】
上記したパラメータシート受付部121と、構成情報取得部122と、コマンド組み立て部123と、コマンド発行部124と、変更結果検証部125と、パラメータシート生成部126と、バージョンアップ処理部127とは、プロセッサ101に処理を行わせるプログラムによって実現される。このプログラムは、メモリ102内に記憶され、実行にあたってプロセッサ101により実行される。
【0063】
また、記憶部110に格納されるパラメータパターン記憶部111と、コンフィグモデル記憶部112とは、メモリ102及びストレージ103により実現される。
【0064】
また、通信部130は、通信装置107により実現される。ネットワーク管理装置100の図示しない入出力部、表示部は、上述の通りI/Oインターフェースデバイスあるいは通信インターフェースデバイスのいずれかでよい。
【0065】
以上が、本実施形態におけるネットワーク管理装置100のハードウェア構成例である。しかし、これに限らず、その他のハードウェアを用いて構成されるものであってもよい。なお、ネットワーク管理装置100は、図示しないが、OS、ミドルウェア、アプリケーションなどの公知の要素を有する。
【0066】
また、情報処理装置200についても、基本的にネットワーク管理装置100と同様のハードウェア構成を備える。なお、パラメータシート作成部210は、情報処理装置200のプロセッサに処理を行わせるプログラムによって実現される。このプログラムは、情報処理装置200のメモリ内に記憶され、実行にあたってプロセッサにより実行される。
【0067】
[動作の説明]次に、本実施形態におけるネットワーク管理装置100の動作を説明する。
【0068】
図7は、パラメータ設定処理のフロー例を示す図である。パラメータ設定処理は、ネットワーク管理装置100が情報処理装置200からパラメータシートを受け付けて開始指示を受け付けると、開始される。
【0069】
まず、パラメータシート受付部121は、パラメータシートを読み込む(ステップS001)。具体的には、パラメータシート受付部121は、受け付けたパラメータシートに含まれるシステム識別子、機器種別、機器バージョンから管理対象のネットワーク機器を特定し、さらに、パラメータパターン記憶部111からパラメータパターン111dを特定し対応するコンフィグモデルの特定を行う。
【0070】
そして、構成情報取得部122は、設定情報を収集する(ステップS002)。その際、構成情報取得部122は、ステップS001において特定した管理対象のネットワーク機器に設定済の設定値を取得する所定のステータス表示コマンドを発行して設定済みの設定値を取得する。
【0071】
そして、コマンド組み立て部123は、所定のコマンド優先順位順にコマンド毎に、ステップS004~ステップS007の処理を実施する(ステップS003、ステップS008)。
【0072】
コマンド組み立て部123は、現設定情報との差分を抽出する(ステップS004)。具体的には、コマンド組み立て部123は、ステップS002において収集した設定情報と、ステップS001にて読み込んだパラメータシートの設定値ごとに比較を行い、差異のある設定値を特定する。なお、パラメータシートの設定値が相対値(たとえば、increment等)である場合、あるいは削除や初期化を行う設定値の場合には、コマンド組み立て部123は、差異のある設定値として特定する。
【0073】
そして、コマンド組み立て部123は、差分のある設定についてコンフィグモデルオブジェクトインスタンスを生成する(ステップS005)。具体的には、コマンド組み立て部123は、ステップS004において特定した差異のある設定値について、当該設定値を変更するコマンドに関するコンフィグモデルを用いてコンフィグモデルオブジェクトインスタンスを生成する。
【0074】
そして、コマンド組み立て部123は、コンフィグモデルオブジェクトインスタンスにパラメータを代入しコマンド構文を生成する(ステップS006)。具体的には、コマンド組み立て部123は、パラメータシートの設定値を、生成したコンフィグモデルオブジェクトインスタンスにセットすることで、コマンド構文にパラメータを代入する。この際、コマンド組み立て部123は、パラメータシートの設定値が相対値(たとえば、increment等)である場合には、ステップS002において収集した設定情報を基準値として設定値を算出し代入する。設定値がすでに設定されている場合には削除を行ってから再設定する必要のある設定値については、コマンド組み立て部123は、削除コマンド(初期化コマンド)を共に生成する。
【0075】
そして、コマンド組み立て部123は、削除コマンド(初期化コマンド)を先頭、設定コマンドを最後尾に追加してコマンドのスクリプトを生成する(ステップS007)。
【0076】
そして、コマンド発行部124は、コマンドを適用する(ステップS009)。具体的には、コマンド発行部124は、ステップS001において特定した管理対象のネットワーク機器に、コマンド組み立て部123が組み立てたコマンドのスクリプトを発行する。
【0077】
そして、変更結果検証部125は、設定情報を再収集する(ステップS010)。具体的には、変更結果検証部125は、構成情報取得部122に設定情報を収集させる。構成情報取得部122は、ステップS001において特定した管理対象のネットワーク機器に設定済の設定値を取得する所定のステータス表示コマンドを発行して設定済みの設定値を取得する。
【0078】
変更結果検証部125は、正常に設定値の変更がなされたか否か判定する(ステップS011)。具体的には、変更結果検証部125は、ステップS010において再収集した設定情報と、ステップS001にて読み込んだパラメータシートの設定値ごとに比較を行い、差異のある設定値を特定する。なお、パラメータシートの設定値が相対値(たとえば、increment等)である場合、あるいは削除や初期化を行う設定値の場合には、変更結果検証部125は、当該設定値を差異のない設定値として特定する。設定値が正常に設定された場合(ステップS011において「Yes」となる場合)には、パラメータシート生成部126は新たな設定値を反映したパラメータシートを生成し、パラメータ設定処理を終了させる。
【0079】
設定値が正常に設定されなかった場合(ステップS011において「No」となる場合)には、パラメータシート生成部126は、変更前の設定値を反映したパラメータシート(リカバリ用)を生成して後述するリカバリ処理の準備を実施し、パラメータ設定処理を終了させる(ステップS012)。
【0080】
以上が、パラメータ設定処理のフロー例である。パラメータ設定処理によれば、独自の木構造の構文を用いるコマンドで設定を行うネットワーク機器に対しネットワーク管理を簡便かつ正確に行うことができる。
【0081】
図8は、リカバリ処理のフロー例を示す図である。リカバリ処理は、リカバリ処理の開始指示を管理者から情報処理装置200を介してネットワーク管理装置100が受け付けると、開始される。
【0082】
まず、パラメータシート受付部121は、パラメータシート(リカバリ用)を読み込む(ステップS101)。具体的には、パラメータシート受付部121は、ステップS012において生成したパラメータシート(リカバリ用)を読み込む。
【0083】
そして、構成情報取得部122は、設定情報を収集する(ステップS102)。その際、構成情報取得部122は、ステップS001において特定した管理対象のネットワーク機器に設定済の設定値を取得する所定のステータス表示コマンドを発行して設定済みの設定値を取得する。
【0084】
そして、コマンド組み立て部123は、所定のコマンド優先順位順にコマンド毎に、ステップS104~ステップS107の処理を実施する(ステップS103、ステップS108)。
【0085】
コマンド組み立て部123は、現設定情報との差分を抽出する(ステップS104)。具体的には、コマンド組み立て部123は、ステップS102において収集した設定情報と、ステップS101にて読み込んだパラメータシート(リカバリ用)の設定値ごとに比較を行い、差異のある設定値を特定する。
【0086】
そして、コマンド組み立て部123は、差分のある設定についてコンフィグモデルオブジェクトインスタンスを生成する(ステップS105)。具体的には、コマンド組み立て部123は、ステップS104において特定した差異のある設定値について、当該設定値を変更するコマンドに関するコンフィグモデルを用いてコンフィグモデルオブジェクトインスタンスを生成する。
【0087】
そして、コマンド組み立て部123は、コンフィグモデルオブジェクトインスタンスにパラメータを代入しコマンド構文を生成する(ステップS106)。具体的には、コマンド組み立て部123は、パラメータシートの設定値を、生成したコンフィグモデルオブジェクトインスタンスにセットすることで、コマンド構文にパラメータを代入する。設定値がすでに設定されている場合に削除を行ってから再設定する必要のある設定値については、コマンド組み立て部123は、削除コマンド(初期化コマンド)を共に生成する。
【0088】
そして、コマンド組み立て部123は、削除コマンド(初期化コマンド)を先頭、設定コマンドを最後尾に追加してコマンドのスクリプトを生成する(ステップS107)。
【0089】
そして、コマンド発行部124は、コマンドを適用する(ステップS109)。具体的には、コマンド発行部124は、ステップS101において特定した管理対象のネットワーク機器に、コマンド組み立て部123が組み立てたコマンドのスクリプトを発行する。
【0090】
そして、変更結果検証部125は、設定情報を再収集する(ステップS110)。具体的には、変更結果検証部125は、構成情報取得部122に設定情報を収集させる。構成情報取得部122は、ステップS101において特定した管理対象のネットワーク機器に設定済の設定値を取得する所定のステータス表示コマンドを発行して設定済みの設定値を取得する。
【0091】
変更結果検証部125は、パラメータシートと対比する(ステップS111)。具体的には、変更結果検証部125は、ステップS110において再収集した設定情報と、ステップS101にて読み込んだパラメータシート(リカバリ用)の設定値ごとに比較を行い、差異のある設定値を特定する。なお、パラメータシートの設定値が削除や初期化を行う設定値の場合には、変更結果検証部125は、当該設定値を差異のない設定値として特定する。そして、パラメータシート生成部126はリカバリ済みの設定値を反映したパラメータシートを生成し、パラメータ設定処理を終了させる。
【0092】
以上が、リカバリ処理のフロー例である。リカバリ処理によれば、ネットワーク管理に失敗があった場合でも、簡便かつ正確にリカバリすることができる。
【0093】
図9は、バージョン更新処理のフロー例を示す図である。バージョン更新処理は、ネットワーク機器のOSやコマンドのバージョンが変更された場合に、管理者による指示を受けて開始される。主として、バージョン更新処理は、コンフィグモデルをバージョンアップに追随させるための処理である。
【0094】
まず、バージョンアップ処理部127は、バージョンアップに伴い修正されたコンフィグモデル(JSON形式)を読み込む(ステップS201)。
【0095】
そして、パラメータシート生成部126は、コンフィグモデルの木構造の変更に応じた修正を反映したパラメータシート115aのファイルを生成する(ステップS202)。
【0096】
そして、バージョンアップ処理部127は、コンフィグモデルの木構造の変更に応じた修正を反映した設定値データベース115b(テーブル)を生成する(ステップS203)。
【0097】
そして、バージョンアップ処理部127は、コンフィグモデルの木構造の変更に応じた修正を反映したコンフィグパーステンプレート115cを生成する(ステップS204)。
【0098】
そして、バージョンアップ処理部127は、パラメータパターンを追加する(ステップS205)。具体的には、バージョンアップ処理部127は、バージョンアップに応じて新たなパラメータパターンをネットワーク機器のOSおよびコマンドバージョンに応じて決定し、コンフィグモデルと対応付ける。
【0099】
以上が、バージョン更新処理のフロー例である。バージョン更新処理を行うことにより、既存のバージョンのコマンドを継続するシステムに影響を与えずに、コンフィグモデルを新たに追加することで新たなコマンドバージョンに対応できるようになる。また、その際には、新たに作成すべきものはコマンドの変更に応じたコマンドモデル(JSON)に限定されるため、影響範囲を局所化し対応に係る工数や検証工数を抑えることができる。また、バージョンアップ作業を取りやめる場合においても、コンフィグモデルを削除するだけで対応可能となる。
【0100】
以上、実施形態に係るネットワーク管理システム1について具体的に説明したが、本発明はこの実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、管理者は情報処理装置200を介してネットワーク管理装置100にパラメータシートを送受信しているが、これに限られず、ネットワーク管理装置100を直接操作してパラメータシートを操作するようにしてもよい。あるいは、ネットワーク管理装置100はクラウドサービスとして実装され、画面を介してパラメータシートの編集機能も併せて情報処理装置200に提供するものであってもよい。
【0101】
なお、上記した実施形態では本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【0102】
また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0103】
また、上記した各構成、機能、処理部等は、それらの一部又は全部を、例えば別の装置で実行してネットワークを介して統合処理する等により分散システムで実現してもよい。
【0104】
また、上記した実施形態の技術的要素は、単独で適用されてもよいし、プログラム部品とハードウェア部品のような複数の部分に分けられて適用されるようにしてもよい。
【0105】
以上、本発明について、実施形態を中心に説明した。
【符号の説明】
【0106】
1:ネットワーク管理システム、10,20:ネットワーク、99:管理対象機器群、100:ネットワーク管理装置、110:記憶部、111:パラメータパターン記憶部、112:コンフィグモデル記憶部、120:処理部、121:パラメータシート受付部、122:構成情報取得部、123:コマンド組み立て部、124:コマンド発行部、125:変更結果検証部、126:パラメータシート生成部、127:バージョンアップ処理部、130:通信部、200:情報処理装置、210:パラメータシート作成部。