(57)【要約】【課題】コンフィグレーションファイルに対する解析等の処理を効率的に行うことを課題とする。【解決手段】本発明のコンフィグレーションファイル解析装置１によれば、構文解析定義群における除外定義を用いてコンフィグレーションファイルにおける所定の解析対象以外の部分をスキップしながら、コンフィグレーションファイルを解析することができるので、コンフィグレーションファイルに対する解析等の処理を効率的に行うことができる。【選択図】図１
2013214237.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク装置の設定を文字列により記載したコンフィグレーションファイルを解析し、前記ネットワーク装置の機種に依存しない汎用的な書式に変換するコンフィグレーションファイル解析装置であって、
前記コンフィグレーションファイルについて所定の解析対象を解析するために定義した１つ以上の構文解析定義と、前記コンフィグレーションファイルについて前記所定の解析対象以外の部分を解析対象から除外することを定義した１つ以上の除外定義と、を有する構文解析定義群であって、前記ネットワーク装置の機種ごとに作成された構文解析定義群、および、
前記ネットワーク装置の機種ごとの前記コンフィグレーションファイルの書式と、前記ネットワーク装置の全ての機種に共通の書式と、を定義した複数の書式変換定義からなる書式変換定義群、
を記憶する記憶部と、
前記コンフィグレーションファイルを入力すると、前記記憶部に記憶された当該コンフィグレーションファイルに対応する前記構文解析定義群を適用して、前記除外定義を用いて前記コンフィグレーションファイルにおける前記所定の解析対象以外の部分をスキップしながら、前記コンフィグレーションファイルにおける前記所定の解析対象の部分の文字列を単語に区切り、その区切った単語をツリー状の構造のデータに変換する構文解析部と、
前記構文解析部が変換したデータを入力すると、前記記憶部に記憶された前記書式変換定義群のうち当該コンフィグレーションファイルに対応する前記書式変換定義群を適用して、前記ネットワーク装置の機種に依存しない汎用的な書式に変換する共通書式変換部と、
を備えることを特徴とするコンフィグレーションファイル解析装置。
【請求項２】
前記除外定義は、
解析対象以外の部分として解析対象から除外する文字列の範囲の開始条件を、解析対象とする単語以外の任意の単語の出現とし、
終了条件を、終了単語として指定した単語の出現として、定義されている
ことを特徴とする請求項１に記載のコンフィグレーションファイル解析装置。
【請求項３】
前記除外定義は、
解析対象以外の部分として解析対象から除外する文字列の範囲の開始条件を、解析対象とする単語以外の任意の単語に続けて範囲開始単語として指定した単語の出現とし、
終了条件を、範囲終了単語として指定した単語の出現とし、
更に、前記範囲開始単語の出現に続いて、前記範囲終了単語の出現の前に、再び前記範囲開始単語が出現した場合、前記範囲開始単語の出現回数と前記範囲終了単語の出現回数が同数になった場合に、終了と判定することとして、定義されている
ことを特徴とする請求項１に記載のコンフィグレーションファイル解析装置。
【請求項４】
前記除外定義は、
解析対象以外の部分として解析対象から除外する文字列の範囲の開始条件を、行頭空白文字数Ｘ（Ｘ≧０）に続けて解析対象とする単語以外の任意の単語の出現とし、
終了条件を、行頭空白文字数ＹもしくはＹ以下（Ｙ≧０）の出現として、定義されている
ことを特徴とする請求項１に記載のコンフィグレーションファイル解析装置。
【請求項５】
前記記憶部は、前記ネットワーク装置の機種ごとの、前記コンフィグレーションファイルで使用される固有の文字列を定義した１つ以上の機種特定定義からなる機種特定定義群を、さらに記憶しており、
前記コンフィグレーションファイル解析装置は、
前記コンフィグレーションファイルを入力したとき、前記記憶部の機種特定定義群を参照して、当該コンフィグレーションファイルに、前記固有の文字列が出現した場合に、対応する前記ネットワーク装置の機種を特定する機種特定部を、さらに備え、
前記構文解析部と前記共通書式変換部は、前記機種特定部が特定した前記ネットワーク装置の機種の情報を用いて各処理を行う
ことを特徴とする請求項１に記載のコンフィグレーションファイル解析装置。
【請求項６】
コンピュータを、請求項１から請求項５のいずれか１項に記載のコンフィグレーションファイル解析装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルータなどのネットワーク装置（以下、単に「装置」と称する場合もある。）の設定を文字列により記載したコンフィグレーションファイルを解析し、対象装置（そのコンフィグレーションファイルに対応するネットワーク装置）の機種（以下、単に「機種」とも称する。）に依存しない汎用的な書式に変換する技術に関する。
【背景技術】
【０００２】
通常、コンフィグレーションファイルは機種ごとにその記載方法が異なる。そのような前提の下、従来技術において、構文解析に関し、コンフィグレーションファイルの文字列を全て解析するための構文解析定義群を効率的に作成する方法として、基本的な定義から構文解析定義群を自動生成する方法がある（非特許文献１参照）。
【０００３】
この方法では、ネットワーク装置としてルータを想定し、少数の基本的な定義を記載して、コンフィグレーションファイルを読み込むと、このコンフィグレーションファイルの全ての文字列の構文解析に必要な、構文解析定義群を自動生成する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Donald Caldwell, Seungjoon Lee, Yitzhak Mandelbaum, “Adaptive Parsing of Router Configuration Languages”, Internet Network Management Workshop 2008, 19 Oct. 2008, INM 2008, p.1-6
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方法では、構文解析定義群を自動生成するが、その定義が妥当であるかの確認作業が必要となる。また、機種のＯＳ（Operating System）が更新されたり、設定内容が追加されたりした場合、コンフィグレーションファイルの記載内容が大きく変わり、少数の基本的な定義が十分でないときは、手作業によりエラーを解析し、修正する必要がある。そして、コンフィグレーションファイルの全ての文字列の構文解析に必要な構文解析定義群の確認が必要となるため、非常に膨大な数の定義の確認が必要となる。
【０００６】
そこで、本発明は、このような事情に鑑みてなされたものであり、コンフィグレーションファイルに対する解析等の処理を効率的に行うことを課題とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明は、ネットワーク装置の設定を文字列により記載したコンフィグレーションファイルを解析し、前記ネットワーク装置の機種に依存しない汎用的な書式に変換するコンフィグレーションファイル解析装置であって、前記コンフィグレーションファイルについて所定の解析対象を解析するために定義した１つ以上の構文解析定義と、前記コンフィグレーションファイルについて前記所定の解析対象以外の部分を解析対象から除外することを定義した１つ以上の除外定義と、を有する構文解析定義群であって、前記ネットワーク装置の機種ごとに作成された構文解析定義群、および、前記ネットワーク装置の機種ごとの前記コンフィグレーションファイルの書式と、前記ネットワーク装置の全ての機種に共通の書式と、を定義した複数の書式変換定義からなる書式変換定義群、を記憶する記憶部と、前記コンフィグレーションファイルを入力すると、前記記憶部に記憶された当該コンフィグレーションファイルに対応する前記構文解析定義群を適用して、前記除外定義を用いて前記コンフィグレーションファイルにおける前記所定の解析対象以外の部分をスキップしながら、前記コンフィグレーションファイルにおける前記所定の解析対象の部分の文字列を単語に区切り、その区切った単語をツリー状の構造のデータに変換する構文解析部と、前記構文解析部が変換したデータを入力すると、前記記憶部に記憶された前記書式変換定義群のうち当該コンフィグレーションファイルに対応する前記書式変換定義群を適用して、前記ネットワーク装置の機種に依存しない汎用的な書式に変換する共通書式変換部と、を備えることを特徴とする。
【０００８】
これによれば、コンフィグレーションファイル解析装置は、構文解析定義群における除外定義を用いてコンフィグレーションファイルにおける所定の解析対象以外の部分をスキップしながら、コンフィグレーションファイルを解析することができるので、コンフィグレーションファイルに対する解析等の処理を効率的に行うことができる。
【０００９】
また、本発明は、前記除外定義が、解析対象以外の部分として解析対象から除外する文字列の範囲の開始条件を、解析対象とする単語以外の任意の単語の出現とし、終了条件を、終了単語として指定した単語の出現として、定義されていることを特徴とする。
【００１０】
これによれば、コンフィグレーションファイル解析装置では、解析対象とする単語以外の任意の単語から、終了単語として指定した単語までを、解析対象外とすることができる。
【００１１】
また、本発明は、前記除外定義が、解析対象以外の部分として解析対象から除外する文字列の範囲の開始条件を、解析対象とする単語以外の任意の単語に続けて範囲開始単語として指定した単語の出現とし、終了条件を、範囲終了単語として指定した単語の出現とし、更に、前記範囲開始単語の出現に続いて、前記範囲終了単語の出現の前に、再び前記範囲開始単語が出現した場合、前記範囲開始単語の出現回数と前記範囲終了単語の出現回数が同数になった場合に、終了と判定することとして、定義されていることを特徴とする。
【００１２】
これによれば、コンフィグレーションファイル解析装置では、解析対象とする単語以外の任意の単語に続けて範囲開始単語として指定した単語から、範囲終了単語として指定した単語までを、解析対象外とすることができる。また、範囲開始単語の出現に続いて、範囲終了単語の出現の前に、再び範囲開始単語が出現した場合、範囲開始単語の出現回数と範囲終了単語の出現回数が同数になった場合に、終了と判定することができる。
【００１３】
また、本発明は、前記除外定義が、解析対象以外の部分として解析対象から除外する文字列の範囲の開始条件を、行頭空白文字数Ｘ（Ｘ≧０）に続けて解析対象とする単語以外の任意の単語の出現とし、終了条件を、行頭空白文字数ＹもしくはＹ以下（Ｙ≧０）の出現として、定義されていることを特徴とする。
【００１４】
これによれば、コンフィグレーションファイル解析装置では、行頭空白文字数Ｘ（Ｘ≧０）に続けて解析対象とする単語以外の任意の単語から、行頭空白文字数ＹもしくはＹ以下（Ｙ≧０）の出現までを、解析対象外とすることができる。
【００１５】
また、本発明は、前記記憶部が、前記ネットワーク装置の機種ごとの、前記コンフィグレーションファイルで使用される固有の文字列を定義した１つ以上の機種特定定義からなる機種特定定義群を、さらに記憶しており、前記コンフィグレーションファイル解析装置が、前記コンフィグレーションファイルを入力したとき、前記記憶部の機種特定定義群を参照して、当該コンフィグレーションファイルに、前記固有の文字列が出現した場合に、対応する前記ネットワーク装置の機種を特定する機種特定部を、さらに備え、前記構文解析部と前記共通書式変換部が、前記機種特定部が特定した前記ネットワーク装置の機種の情報を用いて各処理を行うことを特徴とする。
【００１６】
これによれば、コンフィグレーションファイル解析装置では、入力したコンフィグレーションファイルに対応するネットワーク装置の機種を機種特定部によって自動的に特定できるため、その情報を用いて構文解析部と共通書式変換部が各処理を行うことができ、解析効率がさらに向上する。
【００１７】
また、本発明は、コンピュータを、前記したコンフィグレーションファイル解析装置における各部として機能させるためのプログラムである。
【００１８】
これによれば、このようなプログラムを実装したコンピュータを、コンフィグレーションファイル解析装置における各部として機能させることができる。
【発明の効果】
【００１９】
本発明によれば、コンフィグレーションファイルに対する解析等の処理を効率的に行うことができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態におけるコンフィグレーションファイル解析装置の構成図である。
【図２】コンフィグレーションファイルの例を示す図である。
【図３】本実施形態で作成する構文解析定義群の例を示す図である。
【図４】コンフィグレーションファイル解析装置の構文解析部による出力データの例を示す図である。
【図５】コンフィグレーションファイル解析装置の共通書式変換部による出力データの例を示す図である。
【図６】ネットワーク装置の機種を自動特定可能なコンフィグレーションファイル解析装置の構成図である。
【発明を実施するための形態】
【００２１】
以下、本発明を実施するための形態（以下、実施形態と称する。）について、図面を参照（言及図以外の図も適宜参照）しながら説明する。
図１に示すように、コンフィグレーションファイル解析装置１は、コンピュータ装置であり、記憶部２、入力部３、表示部４、処理部５を備えて構成される。
【００２２】
記憶部２は、各種データ、各種プログラム等の情報を記憶する手段であり、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）等によって実現される。記憶部２は、コンフィグレーションファイルについて所定の解析対象を解析するために定義した１つ以上の構文解析定義と、コンフィグレーションファイルについて所定の解析対象以外の部分を解析対象から除外することを定義した１つ以上の除外定義と、を有する構文解析定義群であって、ネットワーク装置の機種ごとに作成された構文解析定義群（詳細は後記）を記憶している。また、記憶部２は、ネットワーク装置の機種ごとのコンフィグレーションファイルの書式と、ネットワーク装置の全ての機種に共通の書式と、を定義した複数の書式変換定義からなる書式変換定義群（詳細は後記）を記憶している。
【００２３】
入力部３は、コンフィグレーションファイル解析装置１のユーザが情報を入力する手段であり、例えば、キーボードやマウスによって実現される。
表示部４は、処理部５からの指示により情報を表示する手段であり、例えば、ＬＣＤ（Liquid Crystal Display）によって実現される。
【００２４】
処理部５は、記憶部２に記憶された動作プログラムによって各種演算を行う手段であり、構文解析部５１と共通書式変換部５２を備え、例えば、ＣＰＵ（Central Processing Unit）によって実現される。
【００２５】
構文解析部５１は、コンフィグレーションファイルを入力すると、記憶部２に記憶された当該コンフィグレーションファイルに対応する構文解析定義群（詳細は後記）を適用して、除外定義を用いてコンフィグレーションファイルにおける所定の解析対象以外の部分をスキップしながら、コンフィグレーションファイルにおける所定の解析対象の部分の文字列を単語に区切り、その区切った単語をツリー状の構造のデータに変換する。
【００２６】
なお、構文解析部５１は、機種ごとの構文解析定義群を含み機種ごとに構文解析部を有する構成としても良いし、あるいは、機種ごとの構文解析定義群を選択的に入力として１つの構文解析部のみを有する構成としても良い。また、変換した結果を、メモリとして保持しても良いし、データベースやファイルに保持しても良い。
【００２７】
また、構文解析部５１は、構文解析定義群をプログラム言語で記載した上で、コンパイルにより生成される実行ファイルとして実現する形態として構成しても良い。この場合、機種ごとに実行ファイルが用意されることとなる。
【００２８】
共通書式変換部５２は、構文解析部５１が変換したデータを入力すると、記憶部２に記憶された書式変換定義群（詳細は後記）のうち当該コンフィグレーションファイルに対応する書式変換定義群を適用して、ネットワーク装置の機種に依存しない汎用的な書式に変換する。
【００２９】
なお、共通書式変換部５２は、機種ごとの書式変換定義群を含み機種ごとに共通書式変換部を有する構成としても良いし、機種ごとの書式変換定義群を選択的に入力として１つの共通書式変換部のみを有する構成としても良い。また、変換した結果を、メモリとして保持しても良いし、データベースやファイルに保持しても良い。
【００３０】
コンフィグレーションファイルは、ネットワーク装置を構成するインタフェースやＣＰＵといったハードウェア情報、ネットワーク装置にアクセスするためのユーザ名やパスワードといった情報、アドレスやルーティングプロトコルといったプロトコル情報、パケットの転送ルールを記載したＱｏＳ（Quality of Service）ポリシー情報といった、情報が記載されたファイルである。前記したように、一般的に、コンフィグレーションファイルは、対象装置の機種ごとにその記載方法が異なる。また、機種のＯＳが更新されたり、設定内容が追加されたりした場合、コンフィグレーションファイルの記載内容が大きく変わりうる。
【００３１】
一方、ネットワーク管理において、コンフィグレーションファイルで確認すべき項目は、限定的であることが多い。例えば、ルータにおいて、装置間の接続関係のみを確認したい場合は、ネットワーク装置にどのようなインタフェースがあり、そのインタフェースのＩＰ（Internet Protocol）アドレスとサブネットマスクが何であるか等の数項目を確認できれば良い。
【００３２】
このような場合、構文解析定義群としては、関連する文字列のみが解析できるような定義ができていれば良く、その他の文字列は無視してかまわない。このように限定的な構文解析定義群を用いる場合、定義数が少なくて済み、人手による確認作業の負担は軽微である。また、機種のＯＳが更新されたり、設定内容が追加されたりした場合でも、解析すべき文字列に影響がなければ、構文解析定義群を修正する必要もない。
【００３３】
図２（ａ）は、所定の機種Ａのコンフィグレーションファイルの例である。図２（ｂ）は、所定の機種Ｂのコンフィグレーションファイルの例である。なお、図２（ａ）（ｂ）において、右側に１、２、・・・と行番号を付与しているが、これは説明の便宜上付与したもので、実際のコンフィグレーションファイルには通常行番号の記載はない。また、コンフィグレーションファイルは数千行に及ぶ場合もあるが、説明を簡易にするため、ここでの例では、数十行程度のものとしている。
【００３４】
本例では、装置間の接続関係のみを確認する用途を想定し、図２（ａ）、図２（ｂ）の太字部分（図２（ａ）の行２，３，８〜１１，１５〜１７、図２（ｂ）の行３，４）のみを、構文解析対象とするように、構文解析定義群を定義する。つまり、以下における「解析対象とする単語」とは、図２（ａ）、図２（ｂ）の太字部分に出てくる「interfaces」等の所定の単語のことを指す。
【００３５】
ここで、構文解析定義群は、複数の構文解析定義からなる。また、構文解析定義として、除外定義を適用できる。
図３は、本実施形態における構文解析定義群の例を示す図である。本例では、装置間の接続関係のみを確認する用途を想定しており、構文解析定義群として、図２（ａ）、図２（ｂ）の太字部分の文字列のみを解析できるような構文解析定義と、それ以外をスキップする除外定義を用意すれば良い。図３（ａ）では、定義４、５が除外定義、図３（ｂ）では定義３、５が除外定義である。
仮に除外定義を用いない従来の方法では、図２（ａ）、図２（ｂ）の太字部分以外の文字列も解析できるような定義を追加する必要があり、定義数が膨大になってしまう。
【００３６】
図３（ａ）は、機種Ａに適用する構文解析定義群の例、図３（ｂ）は機種Ｂに適用する構文解析定義群の例を示している。なお、処理部５がコンフィグレーションファイルを読み込む際、１行ずつ読み込んで処理を行っても良いし、全行を一括して読み込んで処理を行っても良い。また、空白文字を単語の区切りとして用いるが、構文解析定義の中で白文字を単語の区切りとするような定義方法でも良い。また、図３（ａ）の例では、行頭スペース数を無視した前提での構文解析定義であるが、構文解析定義の中に行頭スペース数を無視するような定義を定める方法でも良い。
【００３７】
構文解析定義群は、複数の構文解析定義からなり、上の定義から順番に一致しているか確認する。具体的には次の通りである。
図３（ａ）で、“”で囲まれた部分は単語を、［］で囲まれた部分は再帰的に呼び出される定義を意味している。ただし、“”で囲まれた部分に「任意の〜」という表記がある場合は、該当するものが全て対象となる。つまり、“”で囲まれた部分として、特定の単語を指定しても良いし、任意の単語を指定しても良い（定義５、定義８）。また、“”と“”、もしくは、“”と［］が連続して記載している場合は、単語に続く単語、もしくは単語に続く定義、を意味する。
【００３８】
図３（ｂ）で、“”で囲まれた部分は単語を、［］で囲まれた部分は再帰的に呼び出される定義を、＜＞で囲まれた部分は行頭スペース数を意味している。ただし、“”で囲まれた部分に「任意の〜」という表記がある場合は、該当するものが全て対象となる。なお、図３（ａ）の定義４は請求項２に対応する除外定義である。また、図３（ａ）の定義５は請求項３に対応する除外定義である。また、図３（ｂ）の定義３，５は請求項５に対応する除外定義である。
【００３９】
図２（ａ）のコンフィグレーションファイルを、図３（ａ）の構文解析定義群を用いて、構文解析部５１で処理した場合は、以下のようになる。なお、前記したように、除外定義に該当した場合は、処理をスキップする。
【００４０】
１行目：定義１を確認→定義２を確認（一致）  ⇒  無視（読み飛ばす）
２行目：定義１を確認→定義２を確認（不一致）→定義３を確認（一致）  ⇒  次の単語
（３行目以降）を処理
３行目：定義６を確認（一致）  ⇒  次の単語（４行目以降）を処理
４行目：定義７を確認（不一致）→定義４を確認（一致）  ⇒  無視（スキップ）
５行目：定義７を確認（不一致）→定義４を確認（不一致）→定義５を確認（一致）  ⇒
７行目（終了範囲“｝”がある行）まで無視
８行目：定義７を確認（一致）  ⇒次の単語（９行目以降）を処理
【００４１】
９行目：定義８を確認（一致）  ⇒  次の単語（１０行目以降）を処理
１０行目：定義９を確認（一致）  ⇒  ツリー形状のデータ構造に格納（図４（ａ）
参照）
１１行目：９行目を確認時に確認済
１２行目：定義８を確認（不一致）→定義４を確認（不一致）→定義５を確認（一致）
⇒  １４行目まで無視
１５行目：８行目を確認時に確認済
１６行目：３行目を確認時に確認済
１７行目：２行目を確認時に確認済
１８行目：定義１を確認→定義２を確認（不一致）→定義３を確認（不一致）→定義４を
確認（不一致）→定義５を確認（一致）  ⇒２６行目（終了範囲“｝”がある
行）まで無視
【００４２】
また、図２（ｂ）のコンフィグレーションファイルを、図３（ｂ）の構文解析定義群を用いて、構文解析部５１で処理した場合は、以下のようになる。
１行目：定義１を確認→定義２を確認（不一致）→定義３を確認（一致）  ⇒  無視
２行目：定義１を確認→定義２を確認（不一致）→定義３を確認（一致）  ⇒  無視
３行目：定義１を確認→定義２を確認（一致）  ⇒  次の単語（４行目以降）を処理
４行目：定義４を確認（一致）  ⇒  →  ツリー形状のデータ構造に格納（図４（ｂ）
参照）
【００４３】
５行目：定義４を確認（不一致）→定義５を確認（一致）  ⇒  無視
６行目：定義４を確認（不一致）→定義５を確認（一致）  ⇒  無視
７行目：定義４を確認（不一致）→定義５を確認（一致）  ⇒  ８行目まで無視
９行目：定義４を確認（不一致）→定義５を確認（一致）  ⇒  無視
１０行目：定義１を確認→定義２を確認（不一致）→定義３を確認（一致）  ⇒  無視
１１行目：定義１を確認→定義２を確認（不一致）→定義３を確認（一致）  ⇒  １６行
目まで無視
１７行目：定義１を確認→定義２を確認（不一致）→定義３を確認（一致）  ⇒  無視
【００４４】
図４は、構文解析部５１による出力データの例を示す図である。図４（ａ）は、図３（ａ）の構文解析定義群を用いて構文解析部５１で処理した場合の出力データを示している。図４（ｂ）は、図３（ｂ）の構文解析定義群を用いて構文解析部５１で処理した場合の出力データを示している。
【００４５】
図５は、共通書式変換部５２による出力データの例を示す図である。図５（ａ）は、図４（ａ）のデータを入力とした場合の、共通書式変換部５２で変換した出力データを示している。図５（ｂ）は、図４（ｂ）のデータを入力とした場合の、共通書式変換部５２で変換した出力データを示している。
このような変換を行うための書式変換定義群としては、例えば以下のようなものがある。
【００４６】
＜図４（ａ）のデータに対する書式変換定義群＞
・入力：“interfaces”の１つ下位の単語  ⇒  出力：「Interface」の「名称」に設定する
・入力：“interfaces”の４つ下位の“address”に続く単語のうち、“”の前半の文字列  ⇒  出力：「Interface」の「アドレス」に設定する
・入力：“interfaces”の４つ下位の“address”に続く単語のうち、“”の後半の文字列  ⇒  出力：「Interface」の「サブネットマスク」に設定する。
【００４７】
＜図４（ｂ）に対する書式変換定義群＞
・入力：“interface”に続く単語  ⇒  出力：「Interface」の「名称」に設定する
・入力：“interface”“任意の文字列”の１つ下位の階層の“ipv4”“address”に続く単語「192.168.1.2」  ⇒  出力：「Interface」の「アドレス」に設定する
・入力：“interface”“任意の単語”の１つ下位の階層の“ipv4”“address”に続く単語に更に続く単語「255.255.255.252」を、マスク長（「３０」）に変換  ⇒  出力：「Interface」の「サブネットマスク」に設定する
【００４８】
このように、本実施形態のコンフィグレーションファイル解析装置１では、機種に依存しない形で、情報を管理できる。
なお、コンフィグレーションファイルに機種ごとに固有の文字列が出現した場合に、その固有の文字列に基づいて機種を特定することで、適用する構文解析定義群および書式変換定義群を自動的に判定できる。
【００４９】
図６は、機種を自動特定可能なコンフィグレーションファイル解析装置１ａ（１）の構成図である。コンフィグレーションファイル解析装置１ａは、図１のコンフィグレーションファイル解析装置１に比べて、処理部５ａ（５）が機種特定部５３を有している点で相違している。また、記憶部２は、ネットワーク装置の機種ごとの、コンフィグレーションファイルで使用される固有の文字列を定義した１つ以上の機種特定定義からなる機種特定定義群（詳細は後記）を、さらに記憶している。
【００５０】
機種特定定義群は、例えば、以下のようになる。
・１行目が“ ## Last changed”から始まる  ⇒  機種Ａ
・１行目が“ !! Last configuration change”から始まる  ⇒  機種Ｂ
【００５１】
コンフィグレーションファイル解析装置１ａにコンフィグレーションファイルが入力された場合、処理部５ａの機種特定部５３は、事前に用意された前記のような機種特定定義群を用い、機種を特定することができる。機種を特定することで、その情報を用いて構文解析部５１と共通書式変換部５２が各処理を行うことができ、解析効率がさらに向上する。
【００５２】
このように、本実施形態のコンフィグレーションファイル解析装置１によれば、構文解析定義群における除外定義を用いてコンフィグレーションファイルにおける所定の解析対象以外の部分をスキップしながら、コンフィグレーションファイルを解析することができるので、コンフィグレーションファイルに対する解析等の処理を効率的に行うことができる。
【００５３】
また、除外定義を用いて、例えば、解析対象とする単語以外の任意の単語から、終了単語として指定した単語までを、解析対象外とすることができる。
【００５４】
また、除外定義を用いて、例えば、解析対象とする単語以外の任意の単語に続けて範囲開始単語として指定した単語から、範囲終了単語として指定した単語までを、解析対象外とすることができる。また、その際、範囲開始単語の出現に続いて、範囲終了単語の出現の前に、再び範囲開始単語が出現した場合、範囲開始単語の出現回数と範囲終了単語の出現回数が同数になった場合に、終了と判定することができる。
【００５５】
また、除外定義を用いて、例えば、行頭空白文字数Ｘ（Ｘ≧０）に続けて解析対象とする単語以外の任意の単語から、行頭空白文字数ＹもしくはＹ以下（Ｙ≧０）の出現までを、解析対象外とすることができる。
【００５６】
また、入力したコンフィグレーションファイルに対応するネットワーク装置の機種を機種特定部５３によって自動的に特定することで、その情報を用いて構文解析部５１と共通書式変換部５２が各処理を行うことができ、解析効率がさらに向上する。
【００５７】
以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
例えば、前記した複数種類の除外定義を同時に使用してもよい。そうすれば、コンフィグレーションファイルの様々なパターンに対応して、解析対象から除外する文字列等を柔軟に指定できる。
【００５８】
また、本発明は、コンピュータを、コンフィグレーションファイル解析装置１における各部として機能させるためのプログラムとしても具現化できる。そうすれば、このようなプログラムを実装したコンピュータを、コンフィグレーションファイル解析装置１における各部として機能させることができる。
その他、具体的な構成や処理について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００５９】
１，１ａ  コンフィグレーションファイル解析装置
２      記憶部
３      入力部
４      表示部
５，５ａ  処理部
５１    構文解析部
５２    共通書式変換部
５３    機種特定部
【図１】
2013214237.tif 000003
【図２】
2013214237.tif 000004
【図３】
2013214237.tif 000005
【図４】
2013214237.tif 000006
【図５】
2013214237.tif 000007
【図６】
2013214237.tif 000008