(57)【要約】【課題】オペレータの操作ログから、ＮＭＳのインタフェースアダプタとして利用されるスクリプトを生成するアダプタ生成装置、方法およびプログラムを提供する。【解決手段】アダプタ生成装置は、ＮＭＳが用いる設定機能であり対象ＮＥごとに仕様が異なるアダプタ部（スクリプトファイル）を自動生成するために、オペレータのＣＬＩ上の操作をキャプチャする機能、スクリプトとして必要最低限の情報のみを表示する機能、その情報を用いて装置にて操作を再現する機能、テキストで表示されたコマンドや応答条件を画面上で変更する機能、変更されたスクリプトを実行する機能、本発明装置専用の見易さを重視したスクリプトを汎用のスクリプトフォーマットに変換しアダプタを生成する機能、対象装置のコンフィグレーションファイルを取得するバックアップ機能、本発明装置を接続したＩＰネットワークの構成を検出する機能を有する。【選択図】図１
2008046847.tif 000002
【特許請求の範囲】
【請求項１】
端末とネットワークを介して接続されるアダプタ生成装置であり、
ユーザより入力された第１の文字列を送信する入出力手段と、
前記入出力手段から受信した第１の文字列を前記端末に送信し、前記送信した第１の文字列の応答である第２の文字列を前記端末から受信し、前記受信した第２の文字列を前記入出力手段に送信する送受信手段と、
前記第１の文字列と前記第２の文字列とを取得するキャプチャ手段と、
前記取得した第２の文字列と前記第１の文字列とを関連付けて、前記端末へ文字列を送信するためのスクリプトを生成するスクリプト生成手段と、
を有することを特徴とするアダプタ生成装置。
【請求項２】
同一の処理に対するスクリプトの記述と汎用的に用いられる汎用言語による記述とを関連付けて変換ルールとして予め記憶している変換ルール記憶手段と、
前記生成したスクリプトを前記変換ルールに基づいてアダプタ言語の記述に変換することにより、前記端末へ文字列を送信するための汎用言語により記述されるアダプタファイルを生成するアダプタ生成手段と、
を有することを特徴とする請求項１に記載のアダプタ生成装置。
【請求項３】
汎用言語により記述される文字列の記述と追加的な制御を実行するための文字列の記述である追加挿入可能記述とを関連付けてアダプタ追加パターンファイルルールとして予め記憶しているアダプタ追加パターンファイルルール記憶手段を有し、
前記アダプタ生成手段が、
前記アダプタファイルの記述から文字列の記述を検出し、前記検出した文字列の記述に基づいて前記アダプタ追加パターンファイルルールから追加挿入可能記述を抽出し、前記抽出した追加挿入可能記述を表示し、前記表示した追加挿入可能記述の中から選択された追加挿入可能記述を前記アダプタファイルに追記する、
ことを特徴とする請求項１または請求項２に記載のアダプタ生成装置。
【請求項４】
前記スクリプトまたは前記アダプタファイルに基づいて、前記端末へ文字列を送信する自動実行手段、
を有することを特徴とする請求項１から請求項３に記載のアダプタ生成装置。
【請求項５】
端末のシステム情報と関連付けて前記端末と接続するための接続情報を予め記憶する接続情報記憶手段と、
接続先の端末を指定する接続先情報を受信する接続先入力手段と、
前記接続先入力手段の受信した接続先情報に基づいて、前記接続先情報の端末に関するシステム情報を検出するプロダクト検出手段と、
前記プロダクト検出手段が検出したシステム情報と関連する接続情報を前記接続情報記憶部から選択し、前記選択した接続情報に基づき前記接続先情報の端末へ接続するログイン手段と、
を有することを特徴とする請求項１から請求項４に記載のアダプタ生成装置。
【請求項６】
前記ログイン手段が、前記選択した接続情報を識別する接続情報識別情報を前記スクリプト生成手段に送信し、
前記スクリプト生成手段が、前記ログイン手段から受信した接続情報識別情報に基づいた記述を前記スクリプトファイルまたはアダプタファイルに記述し、
前記自動実行手段が、前記スクリプトファイルまたはアダプタファイルの前記接続情報識別情報に基づいた記述により、前記接続情報識別情報を前記ログイン手段に送信し、
前記ログイン手段が、前記自動実行手段から受信した接続情報識別情報に基づいて、接続情報を前記接続情報記憶部から選択し、前記選択した接続情報に基づき前記接続先情報の端末へ接続する、
ことを特徴とする請求項５に記載のアダプタ生成装置。
【請求項７】
前記端末の設定情報を保存するためのＮＥコンフィグファイル記憶手段と、
前記端末に接続し、前記接続した端末の設定情報を前記端末から取得し、前記取得した設定情報を前記ＮＥコンフィグファイル記憶手段に保存するバックアップ手段と、
前記ＮＥコンフィグファイル記憶手段に保存される設定情報に基づいて端末に接続し、前記接続した端末の設定情報を、前記設定情報に基づいて変更するロールバック手段と、
を有することを特徴とする請求項１から請求項６に記載のアダプタ生成装置。
【請求項８】
前記アダプタ生成装置のＩＰアドレスの情報と検索するＩＰアドレスの範囲の情報とシードデバイスのＩＰアドレスの情報とに基づき、ネットワーク上の端末を検出するディスカバリ手段、
を有することを特徴とする請求項１から請求項７に記載のアダプタ生成装置。
【請求項９】
端末とネットワークを介して接続されるアダプタ生成装置で用いられるアダプタ生成方法であり、
入出力方法が、ユーザより入力された第１の文字列を送信する入出力過程と、
送受信方法が、前記入出力方法から受信した第１の文字列を前記端末に送信し、前記送信した第１の文字列の応答である第２の文字列を前記端末から受信し、前記受信した第２の文字列を前記入出力方法に送信する送受信過程と、
キャプチャ方法が、前記第１の文字列と前記第２の文字列とを取得するキャプチャ過程と、
スクリプト生成方法が、前記取得した第２の文字列と前記第１の文字列とを関連付けて、前記端末へ文字列を送信するためのスクリプトを生成するスクリプト生成過程と、
を有することを特徴とするアダプタ生成方法。
【請求項１０】
端末とネットワークを介して接続されるコンピュータに、
ユーザより入力された第１の文字列を送信する入出力手段と、
前記入出力手段から受信した第１の文字列を前記端末に送信し、前記送信した第１の文字列の応答である第２の文字列を前記端末から受信し、前記受信した第２の文字列を前記入出力手段に送信する送受信手段と、
前記第１の文字列と前記第２の文字列とを取得するキャプチャ手段と、
前記取得した第２の文字列と前記第１の文字列とを関連付けて、前記端末へ文字列を送信するためのスクリプトを生成するスクリプト生成手段と、
の機能を実行させるアダプタ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク管理装置およびネットワーク管理プログラムに関し、特にＴｅｌｎｅｔ、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＳＳＨ（Ｓｅｃｕｒｅ  ＳＨｅｌｌ）などのユーザ名およびパスワードなどを必要とするＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）上で、ユーザと機器との対話型の通信を行なう通信プロトコルを用いた接続装置、情報取得や装置に対するパラメータ設定試験を行なう装置の技術に関する。
【背景技術】
【０００２】
従来、インターネットに代表される通信ネットワークを構成するルータやスイッチといったＮｅｔｗｏｒｋ  Ｅｌｅｍｅｎｔ（またはＮｅｔｗｏｒｋ  Ｅｑｕｉｐｍｅｎｔ。以下ＮＥとする）に対して、情報収集やパラメータ設定、動作確認試験といった管理を実行するＮｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ（以下ＮＭＳとする）では、対象の機器であるＮＥに対してＣＬＩを通じてコマンド送信などを実行する機能が存在する。
【０００３】
また、対象の機器が様々なベンダから構成される複数種別の機器から構成される場合、それぞれに異なるインタフェース仕様に合わせて送信するコマンド文字列や接続するプロトコルを変更する。
【０００４】
ここで、各機種特有の処理機能は、ＰｅｒｌやＥｘｐｅｃｔのようなスクリプトである簡易で柔軟な言語（汎用言語）で記述され、管理システムであるＮＭＳが対象ＮＥを決定し、決定された対象ＮＥに合わせたスクリプトを選択し実行する方法が知られている。これらのスクリプトを、ＮＭＳのインタフェースアダプタと呼ぶ。インタフェースアダプタの製造方法についてはスクリプトのコーディングのほか、既存の記述が用いられている（非特許文献１および特許文献１参照）。
【０００５】
一方、ＮＥに対して起動・再起動・停止、各種パラメータ追加・変更・削除、情報収集、といった運用作業を行なうために、ネットワーク運用者はＴｅｌｎｅｔ、ＦＴＰ、ＳＳＨといった通信プロトコルを用いて自端末からＮＥに接続し、ＣＬＩ上でコマンドを実行し、ＮＥからの応答を確認する。
これらの作業には、情報取得や機器の動作確認試験など、例えば、１日に１回、１時間に１回と定期的に同様の操作を行なうルーチンワークが含まれる。
【０００６】
これらのルーチンワークとなる操作に対し、スクリプト言語や通信ソフトなどの特定のソフトウェアで動作するマクロやシェルスクリプトのコードに、一連の処理を記述しておくことで、一連の処理を一つのコマンド処理で実行することや、タイマーを設定して特定の時間に動作させ、スケジューリングにより何度も同じ操作を実行させるといったことが簡単に行なうことができる。
【０００７】
しかしながら、上述のようなマクロやスクリプトのコードを記述するためには、スクリプト言語や通信ソフトなどの特定のソフトウェアで動作するマクロのコードに関する知識が必要である。これらのマクロコードを記述するにはネットワーク運用に必要なＣＬＩ上の操作手順とは異なった知識が必要となるため、知識を持たないネットワーク運用者がコードを書くことは難しい。
また、ネットワーク運用者が知識を持っている場合でも、その場で実現したいルーチンワークのスクリプト記述を行なうために、スクリプトの文法などの記述ルールを調べる手間がかかる。
【０００８】
また、ネットワーク運用者がスクリプトやマクロコードを記述できた場合においても、記述したコードを実際のＮＥに対して実行し、その結果が期待通りであることを確認しなければ、実際の業務に用いることはできない。
そのため、スクリプトやマクロコードを実際の業務に用いるためには、スクリプトやマクロコードの開発ステップと、実際のＮＥに対する試験ステップとの、２つのステップが必要となる。
【０００９】
そこで、ネットワーク運用者のコマンド処理とその応答の一部を記録し、スクリプトと同様のテキストフォーマットで表示することで、オペレータに見やすい処理記録スクリプトを生成し、その処理記録スクリプトを前述のスクリプトやマクロコードと同様に利用することができる技術が、例えば、非特許文献２に記載される技術として知られている。
この場合、実際のネットワーク運用者の処理からスクリプトが生成されるため、試験を行なう必要はなく、上述の問題が解決できる。
【非特許文献１】ＮＴＴ技術ジャーナルＶｏｌ．１７  Ｎｏ．８，２００５年８月号，ｐｐ．１４〜１７，インタフェース触診・調合技術，三好優，木村辰幸
【特許文献１】特開２００６−７２８０６号公報
【非特許文献２】ｈｔｔｐ：／／ｗｗｗ．ｄａｒ．ｃｏｊｐ／ｐｒｏｄｕｃｔ／ＳＮＭＰ／ＤＡ／ｉｎｄｅｘ．ｈｔｍｌ  インターネット（２００６／５／３１確認）  Ｄｉｇｉｔａｌ  Ａｒｃｈｉｔｅｃｔ社Ｗｅｂページ，Ｄｅｖｉｃｅ  Ａｕｔｈｏｒｉｔｙ：デバイスオーソリティ〈ネットワークデバイスの資産管理、一括自動設定変更ツール〉
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、非特許文献２に示される技術においても、ネットワーク運用者のコマンド処理から生成できるスクリプトは、一連の実際の処理がシーケンシャルに記録されるだけであることから、以下の（ア）から（エ）に示す例のような、高度な応用が出来ないという問題点がある。
【００１１】
（ア）ＮＥの応答によって次に実行するコマンドを変更すること（分岐処理記述の追加）が出来ない。
例）ＮＥのＣＰＵ使用率を検出するコマンドのあと、８０％以上ならばアクセス制限を行なうコマンドを実行するが、８０％未満ならばコマンドを実行しないで処理を終了する、ことが出来ない。
（イ）コマンドを送信する前に明示的に待ち時間を設定すること（待ち時間処理記述の追加）が出来ない。
例）１分間で受信したパケット数を計測するために、受信パケット数を表示するコマンドを実行したあと１分間明示的に待ち状態とし、再度同じコマンドを実行することが出来ない。
【００１２】
（ウ）コマンド送信後、ＮＥからの応答待ち時間を設定すること（タイムアウト時間処理記述の追加）が出来ない。
例）コマンド送信後、応答が１０秒なかった場合、ＮＥとの接続を切断することが出来ない。
（エ）外部アプリケーションから実行される場合に、特定のパラメータを受け、同時に実行すること（外部引数処理の追加）が出来ない。
例）外部アプリケーションが、ＩＰアドレス１９２．１６８．１．１を送信し、そのＩＰアドレス１９２．１６８．１．１が付けられたインタフェースであるＥｈｔｅｒｎｅｔ０に関するトラヒックやルーティング情報、アクセスリストの情報を取得することが出来ない。また、外部アプリケーションは送信するＩＰアドレスを変更することによって実行する対象となるインタフェースを変更することが出来ない。
【００１３】
また、ルーチンワークにおいて、ネットワーク運用者はＮＥの応答に関わらず、上記の（ア）から（エ）に示す例のような処理を行なうことが多い。
しかし、多くの場合、ＮＥの応答により、複数の選択肢から次の処理を決定する高度な作業が存在する。これらの判断を反映したスクリプトは、上記非特許文献２に示されるようなシーケンシャルな実行記録だけではなく、複数の処理記述が必要であるため、生成できない。
つまり、単一の状況の実行は簡単化し、正常に実行できるが、与えられたパラメータや応答に対して処理を変更できないため、柔軟性を欠くという問題がある。
【００１４】
また、対象となる機器の種別や、種別が同じ機器でも開発ベンダが異なる機器群が混在するネットワーク環境においては、機器ごとにインタフェースアダプタを用意する必要があるという問題がある。例えば、管理システムに一つの機能を追加するだけでも、インタフェースアダプタとなるスクリプトファイルは機器の種別の数だけ開発が必要となる。
また、機器側のＯＳの更新や機能の追加による仕様変更や、新しい機器の導入といったネットワークの増改築によってもＮＭＳのインタフェースアダプタを作成しなければならないという問題がある。
【００１５】
スクリプト言語によって記述されるインタフェースアダプタの作成には、やはりスクリプト言語の実装知識が必要となるため、開発者にはネットワーク管理とは異なるスキルが必要となる。
結果、上記のような機器やネットワーク構成の変更に合わせ、その場で（オンサイト）で対応するインタフェースアダプタを構築し、利用するといった柔軟性を持っていないという問題がある。
【００１６】
本発明は、このような事情に鑑みてなされたもので、その目的は、オペレータの操作ログから、ＮＭＳのインタフェースアダプタとして利用されるスクリプトを生成するアダプタ生成装置、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１７】
この発明は上述した課題を解決するためになされたもので、請求項１に記載の発明は、端末とネットワークを介して接続されるアダプタ生成装置であり、ユーザより入力された第１の文字列を送信する入出力手段と、前記入出力手段から受信した第１の文字列を前記端末に送信し、前記送信した第１の文字列の応答である第２の文字列を前記端末から受信し、前記受信した第２の文字列を前記入出力手段に送信する送受信手段と、前記第１の文字列と前記第２の文字列とを取得するキャプチャ手段と、前記取得した第２の文字列と前記第１の文字列とを関連付けて、前記端末へ文字列を送信するためのスクリプトを生成するスクリプト生成手段と、を有することを特徴とするアダプタ生成装置である。
【００１８】
請求項２に記載の発明は、同一の処理に対するスクリプトの記述と汎用的に用いられる汎用言語による記述とを関連付けて変換ルールとして予め記憶している変換ルール記憶手段と、前記生成したスクリプトを前記変換ルールに基づいてアダプタ言語の記述に変換することにより、前記端末へ文字列を送信するための汎用言語により記述されるアダプタファイルを生成するアダプタ生成手段と、を有することを特徴とする請求項１に記載のアダプタ生成装置である。
【００１９】
請求項３に記載の発明は、汎用言語により記述される文字列の記述と追加的な制御を実行するための文字列の記述である追加挿入可能記述とを関連付けてアダプタ追加パターンファイルルールとして予め記憶しているアダプタ追加パターンファイルルール記憶手段を有し、前記アダプタ生成手段が、前記アダプタファイルの記述から文字列の記述を検出し、前記検出した文字列の記述に基づいて前記アダプタ追加パターンファイルルールから追加挿入可能記述を抽出し、前記抽出した追加挿入可能記述を表示し、前記表示した追加挿入可能記述の中から選択された追加挿入可能記述を前記アダプタファイルに追記する、ことを特徴とする請求項１または請求項２に記載のアダプタ生成装置である。
【００２０】
請求項４に記載の発明は、前記スクリプトまたは前記アダプタファイルに基づいて、前記端末へ文字列を送信する自動実行手段、を有することを特徴とする請求項１から請求項３に記載のアダプタ生成装置である。
【００２１】
請求項５に記載の発明は、端末のシステム情報と関連付けて前記端末と接続するための接続情報を予め記憶する接続情報記憶手段と、接続先の端末を指定する接続先情報を受信する接続先入力手段と、前記接続先入力手段の受信した接続先情報に基づいて、前記接続先情報の端末に関するシステム情報を検出するプロダクト検出手段と、前記プロダクト検出手段が検出したシステム情報と関連する接続情報を前記接続情報記憶部から選択し、前記選択した接続情報に基づき前記接続先情報の端末へ接続するログイン手段と、を有することを特徴とする請求項１から請求項４に記載のアダプタ生成装置である。
【００２２】
請求項６に記載の発明は、前記ログイン手段が、前記選択した接続情報を識別する接続情報識別情報を前記スクリプト生成手段に送信し、前記スクリプト生成手段が、前記ログイン手段から受信した接続情報識別情報に基づいた記述を前記スクリプトファイルまたはアダプタファイルに記述し、前記自動実行手段が、前記スクリプトファイルまたはアダプタファイルの前記接続情報識別情報に基づいた記述により、前記接続情報識別情報を前記ログイン手段に送信し、前記ログイン手段が、前記自動実行手段から受信した接続情報識別情報に基づいて、接続情報を前記接続情報記憶部から選択し、前記選択した接続情報に基づき前記接続先情報の端末へ接続する、ことを特徴とする請求項５に記載のアダプタ生成装置である。
【００２３】
請求項７に記載の発明は、前記端末の設定情報を保存するためのＮＥコンフィグファイル記憶手段と、前記端末に接続し、前記接続した端末の設定情報を前記端末から取得し、前記取得した設定情報を前記ＮＥコンフィグファイル記憶手段に保存するバックアップ手段と、前記ＮＥコンフィグファイル記憶手段に保存される設定情報に基づいて端末に接続し、前記接続した端末の設定情報を、前記設定情報に基づいて変更するロールバック手段と、を有することを特徴とする請求項１から請求項６に記載のアダプタ生成装置である。
【００２４】
請求項８に記載の発明は、前記アダプタ生成装置のＩＰアドレスの情報と検索するＩＰアドレスの範囲の情報とシードデバイスのＩＰアドレスの情報とに基づき、ネットワーク上の端末を検出するディスカバリ手段、を有することを特徴とする請求項１から請求項７に記載のアダプタ生成装置である。
【００２５】
請求項９に記載の発明は、端末とネットワークを介して接続されるアダプタ生成装置で用いられるアダプタ生成方法であり、入出力方法が、ユーザより入力された第１の文字列を送信する入出力過程と、送受信方法が、前記入出力方法から受信した第１の文字列を前記端末に送信し、前記送信した第１の文字列の応答である第２の文字列を前記端末から受信し、前記受信した第２の文字列を前記入出力方法に送信する送受信過程と、キャプチャ方法が、前記第１の文字列と前記第２の文字列とを取得するキャプチャ過程と、スクリプト生成方法が、前記取得した第２の文字列と前記第１の文字列とを関連付けて、前記端末へ文字列を送信するためのスクリプトを生成するスクリプト生成過程と、を有することを特徴とするアダプタ生成方法である。
【００２６】
請求項１０に記載の発明は、端末とネットワークを介して接続されるコンピュータに、ユーザより入力された第１の文字列を送信する入出力手段と、前記入出力手段から受信した第１の文字列を前記端末に送信し、前記送信した第１の文字列の応答である第２の文字列を前記端末から受信し、前記受信した第２の文字列を前記入出力手段に送信する送受信手段と、前記第１の文字列と前記第２の文字列とを取得するキャプチャ手段と、前記取得した第２の文字列と前記第１の文字列とを関連付けて、前記端末へ文字列を送信するためのスクリプトを生成するスクリプト生成手段と、の機能を実行させるアダプタ生成プログラムである。
【発明の効果】
【００２７】
この発明によれば、設定処理記録を行なう機能により、ネットワーク管理者が特定のスクリプト言語やマクロコードの記述方法に関する知識を持たずとも、システムがネットワーク管理者の操作からスクリプト言語やマクロコードの生成と同様の記述を生成し、さらに、設定処理記録補助を行なう機能により、該記述に条件分岐処理や、待ち時間を指定する処理といった、シーケンシャルに進められるネットワーク管理者の処理記録からは生成できない記述を利用者（ネットワーク運用者）の簡易な操作や既存文からの自動置き換えにより、追記し、アダプタを生成することができるという効果を奏する。
【００２８】
また、本発明によれば、外部パラメータをスクリプトの動作内容に反映するために、処理コマンドの一部を特定の定義文字に置き換え、外部アプリケーションからの実行依頼を、パラメー夕の内容によって柔軟に変更することができるという効果を奏する。
【００２９】
また、本発明によれば、視認性を維持するための表示部と実行に必要なコードを処理する実行部を有するだけでなく、その表示スクリプトを既存の汎用スクリプト言語フォーマットに変換することができるという効果を奏する。
【発明を実施するための最良の形態】
【００３０】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、この発明の一実施形態によるアダプタ生成装置の構成を示す概略ブロック図である。
アダプタ生成装置１は、ＮＥ２とネットワークＮＷ３とを介して接続されている。また、ユーザＡは、アダプタ生成装置１を用いて、ＮＥ２との通信や処理を実行する。
なお、ユーザＡとは、オペレータ、ネットワーク管理者、操作者などのユーザである。
【００３１】
まず、アダプタ生成装置１において、スクリプトを生成するためのブロックについて説明する。
ＣＬＩ部１３１は、従来の特定の通信ソフトや特定のＯＳ（オペレーティングシステム）上でのＣＬＩによるコマンドプロンプトと同様に、仮装端末として、ユーザＡから入力される送信コマンドを表示し、ＮＥ２の応答情報を表示する機能を有する。
【００３２】
ＧＵＩ部１０１は、ＣＬＩやスクリプトファイルをコンポーネントとして格納し、入力や表示をユーザＡに提示する機能を持つ。
ＧＵＩ部１０１は、表示装置と入力装置とを有しており、ユーザＡが入力した入力情報を、または、ユーザＡが確認するための出力情報を、表示装置を介してユーザＡへ表示する機能を有する。また、ＧＵＩ部１０１は、ユーザＡが入力装置を用いて入力した入力情報を受信する機能を有する。
ここで、例えば、表示装置とはＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）や液晶表示装置等であり、入力装置とはキーボードやマウス等の入力デバイスのことである。
【００３３】
実施の形態においては、ＣＬＩ部１３１によるＣＬＩの表示および入力と、ＧＵＩ部１０１によるＧＵＩの表示および入力とがある。図２を用いて、この関係を説明する。
図２に示されるように、ＧＵＩの中に、対象選択画面、ファイルツリー画面、スクリプト表示画面、ＣＬＩコンソールがある。実施の形態においては、このように、ＧＵＩの一部にＣＬＩがある。
一般的には、ユーザＡは、ＧＵＩにおいてはマウスを用いて選択や入力の操作をし、ＧＵＩ上のＣＬＩ部分をマウスで選択した後、ＣＬＩにおいてキーボードでコマンドなどを入力し、ＮＥ２との接続やＮＥ２での処理を実行する。
【００３４】
図１のアダプタ生成装置１の説明に戻り、ＮＥ−ＩＦ部１３２は、ＧＵＩ部１０１またはＣＬＩ部１３１から入力されたユーザＡからの入力に基づいて、ＴｅｌｎｅｔやＦＴＰ、ＳＳＨといったプロトコルでＮＥ２と接続し、ＮＥ２へコマンドを送信し、ＮＥ２からの応答を受信する機能を有する。
【００３５】
キャプチャ部１４１は、ＮＥ−ＩＦ部１３２とＣＬＩ部１３１との間で送受信される文字列情報を取得する機能を有する。例えば、キャプチャ部１４１は、ユーザＡがＣＬＩ部１３１に入力しＮＥ−ＩＦ部１３２を介してＮＥ２へ送信する送信文字列（コマンド）と、送信した文字列の応答であるＮＥ２から受信する応答文字列とを、取得する。
なお、文字列とは、複数の文字からなるものであり、改行などの制御文字を含んでもよい。
【００３６】
なお、キャプチャ部１４１は、ＮＥ−ＩＦ部１３２とＣＬＩ部１３１との間で送受信される文字列情報を取得するため、キャプチャ部１４１が取得する文字列情報である送信文字列および応答文字列には、例えば通信プロトコルに関する部分はなく、ユーザＡがＣＬＩ部１３１により入力した文字列、ＮＥ−ＩＦ部１３２がＣＬＩ部１３１の表示装置に表示する文字列、および、リターンキーや改行コードの情報が含まれる。
【００３７】
また、キャプチャ部１４１は、取得した送信文字列および応答文字列である文字列情報を、ログとしてログ記憶部１５１に保存する機能を有する。
また、キャプチャ部１４１は、取得した送信文字列および応答文字列である文字列情報を、後述のスクリプト生成部１４２に送信する。
【００３８】
スクリプト生成部１４２は、キャプチャ部１４１が取得した文字列情報からスクリプトを生成する機能を有する。また、スクリプト生成部１４２は、生成したスクリプトをスクリプトファイルとしてスクリプト記憶部１５２に記憶する機能を有する。
スクリプト生成部１４２は、例えば、コマンドとＮＥ２からの応答文字列の一部、該通信時のログインユーザ名やパスワード、プロトコル情報を明示的に記録し、スクリプトを生成し、ユーザＡにＧＵＩ部１０１を通じて生成したスクリプトを表示させる機能を有する。スクリプト生成部１４２は、例えば、図２のスクリプト生成画面に、生成したスクリプトを表示する。
なお、スクリプト生成部１４２は、接続しているＮＥ２を識別できる情報、例えば、ＮＥ２のＩＰアドレス情報などをスクリプトにファイル名として記述しておく。これにより、ＮＥ２毎に、スクリプトファイルが作成される。
スクリプト生成部１４２が、キャプチャ部１４１から受信した文字列情報からスクリプトを生成する方法は後に詳述する。
【００３９】
アダプタ生成部１４３は、スクリプト記憶部１５２に保存されたスクリプトファイルからスクリプトファイルを選択し、選択したスクリプトファイルの情報を、本発明による装置がない環境においてもユーザＡが実行した処理内容を再実行させることができるＥｘｐｅｃｔなど汎用のスクリプト言語フォーマット（汎用言語）に、変換ルール記憶部１５５に予め記憶される変換ルールに基づいて変換し、変換したスクリプトファイルをアダプタファイルとしてアダプタファイル記憶部１５３に保存する機能を有する。
また、アダプタ生成部１４３は、処理内容の自動変換では記述されない条件分岐やタイムアウト処理、待ち時間処理、外部ＡＰからの引き数受付処理を、アダプタ追加パターンファイルルール記憶部１５４に予め格納されている処理記述に基づいて、アダプタファイルに追記する機能を有する。
【００４０】
変換ルール記憶部１５５には、同一の処理に対する、スクリプト生成部１４２が生成するスクリプトによる記述と、Ｅｘｐｅｃｔなどの汎用のスクリプト言語フォーマットによる記述とが、対応付けられて予め記憶されている。
例えば、図１６から１８に示すように、同一の処理についてスクリプトによる記述と汎用のスクリプト言語（汎用言語）による記述とが関連付けて予め保存されている。
また、同一の処理であるため、１つのコマンドを示す文字列の関連付けでもよいし、または、複数のコマンドからなる文字列との関連付けでもよい。
【００４１】
例えば、図１６（Ａ）に示すように、１つの処理に対して、スクリプトファイルの記述「ｔｅｌｎｅｔ．ｓｅｔＴｉｍｅｏｕｔＳｅｃｏｎｄｓ（５）」と汎用言語の記述「ｓｅｔ  ｔｉｍｅｏｕｔ  ５」とが関連付けて記憶されている。
また、例えば、図１８（Ｂ）に示すように、スクリプトファイルの記述による複数の行からなる処理に対して、汎用言語の記述の複数の行からなる処理が関連付けて予め記憶されている。
【００４２】
文字列パターンとは、このように、図１６（Ａ）に示すように、複数の文字列からなるものであってもよいし、図１８（Ｂ）に示すように、複数の行からなる文字列であってもよい。
なお、ここでは説明のために、図１６（Ａ）では引数の５まで記述しているが、コマンド部分とそのコマンドの引数の部分とを検出できるようにし、検出したコマンド部分に対して、１つのコマンドまたは複数のコマンドのよる同一の処理に対して、スクリプトファイルの記述と汎用言語の記述とが関連付けて記憶されるようしてもよい。また、アダプタ生成部１４３も、コマンドと引数とを検出できるようにしてもよい。
【００４３】
アダプタファイル記憶部１５３には、アダプタ生成部１４３で生成された汎用スクリプト言語フォーマットで記述されたアダプタファイルが格納される。
アダプタ追加パターンファイルルール記憶部１５４には、アダプタファイルに追記するための、条件分岐やタイムアウト処理、待ち時間処理、外部ＡＰからの引き数受付処理などの、処理記述のパターンが予め格納されている。
【００４４】
自動実行部１４４は、ＧＵＩ部１０１またはＣＬＩ部１３１による手動接続により、または後述の自動接続部１７１による自動接続により、アダプタ生成装置１がＮＥ２に接続後、スクリプト記憶部１５２に保存されたスクリプトファイルまたはアダプタファイル記憶部１５３に保存されたアダプタファイルに基づいて、ＣＬＩ部１３１とＮＥ−ＩＦ部１３２とを通じて、ＮＥ２にコマンド情報を送信する機能を有する。
自動実行部１４４は、例えば、スクリプトファイルからコマンド情報を抜き出し、抜き出したコマンド情報をＣＬＩ部１３１とＮＥ−ＩＦ部１３２とを通じてＮＥ２に送信する。
なお、自動実行部１４４は、アダプタ生成装置１がＮＥ２と接続した後、ＮＥ２を識別する情報、例えばＮＥ２のＩＰアドレスに基づいて、スクリプトファイルを選択する。
【００４５】
また、自動実行部１４４は、ＮＥ２の応答からスクリプトファイルまたはアダプタファイルに記述された条件に合致する応答を検出し、検出に応じて次のコマンド情報を送信する機能を有する。
また、自動実行部１４４はタイマー部１４５を有しており、タイマー部１４５が有するタイマー機能により、例えば、予め設定された時刻に予め指定されたＮＥ２に対し接続し、スクリプトに記述された処理を実行する機能を有する。
【００４６】
なお、図１においては、図の簡略のために、自動実行部１４４は、スクリプト記憶部１５２およびアダプタファイル記憶部１５３と直接に接続されていないが、実際には、自動実行部１４４はスクリプト記憶部１５２およびアダプタファイル記憶部１５３と直接に接続されており、スクリプトファイルまたはアダプタファイルをスクリプト記憶部１５２またはアダプタファイル記憶部１５３から取得することが可能である。
【００４７】
自動接続部１７１は、予め決められたログインユーザ名やパスワードを保持している接続パターン記憶部１８１から、ＮＥ２に応じたユーザ名やパスワードを取得し、取得したユーザ名やパスワードの情報をＣＬＩ部１３１を介してＮＥ２に送信し、ＣＬＩ部１３１を介してＮＥ２との自動接続を実行する機能を有する。
また、自動接続部１７１は、ＮＥ２の機種やバージョンなどに応じて、接続する機能を有する。自動接続部１７１については、後に詳述される。
【００４８】
（記録）
次に、図３を用いて、アダプタ生成装置１がＮＥ２と接続した後、ユーザＡが入力するコマンドと、ＮＥ２からの応答を記録する概要を説明する。
図３のステップＦ１からステップＦ６を用いて、ユーザＡがＣＬＩ部１３１とＮＥ−ＩＦ部１３２を用いて実行するオペレーションを説明する。また、図３のＧ１からＧ７を用いて、ユーザＡのオペレーションに基づいて、キャプチャ部１４１およびスクリプト生成部１４２が実行するスクリプトの生成について説明する。
【００４９】
ユーザＡは、アダプタ生成装置１のＣＬＩ部１３１を通じて、対象となるＮＥ２と接続する。
このとき、アダプタ生成装置１が、対象のＩＰアドレスを指定し、該ＩＰアドレスを持つ対象となるＮＥ２に接続を行ない、ユーザ名とパスワードを送信する。また、後述するように、接続パターンファイルである接続パターンに格納されているユーザ名とパスワードを対象となるＮＥ２に送信することで自動接続する方法がある。
なお、接続の直後、後述のバックアップ機能がＮＥ２の設定ファイルをダウンロードし、設定ファイルに一意の名前をつけてＮＥ２の設定情報を保存することができる。
【００５０】
なお、ここでは、アダプタ生成装置１がＮＥ２とＴｅｌｎｅｔによりＮＥ２に接続した後について説明する。
まず、アダプタ生成装置１がＮＥ２とＴｅｌｎｅｔによりＮＥ２に接続する（ステップＦ１）。次に、ＮＥ２との接続に応じて、ＮＥ−ＩＦ部１３２によりＣＬＩ部１３１の表示装置にプロンプトが表示される（ステップＦ２）。
その後、ユーザＡは、ＣＬＩ部１３１の入力装置よりコマンドを入力し、ＮＥ−ＩＦ部１３２を介してＮＥ２へコマンドを送信する（ステップＦ３）。ＮＥ−ＩＦ部１３２は、送信したコマンドの応答情報をＮＥ２より受信し、受信した応答情報に基づいてＣＬＩ部１３１の表示装置に応答情報を表示する（ステップＦ４）。
以降、ステップＦ３とステップＦ４とが繰り返される。
【００５１】
ユーザＡが、ＣＬＩ部１３１の入力装置よりＮＥ２との接続終了を示すコマンド（例えば、ＥＸＩＴ）を入力し送信する（ステップＦ５）と、アダプタ生成装置１とＮＥ２とのＴｅｌｎｅｔによる接続が切断される（ステップＦ６）。
【００５２】
コマンドなどの記録をするためには、ユーザＡは、記録の前に、例えば、図２の記録開始ボタンを押す。
図３の説明に戻り、ステップＦ２において、ユーザＡが記録開始ボタンを押したことにより、キャプチャ部１４１およびスクリプト生成部１４２は待ち状態（ステップＧ１）から、スクリプトを生成するモード（ステップＨ１、および、ステップＧ２からＧ４）に移行する。
スクリプトを生成するモードにおいては、キャプチャ部１４１は、ステップＦ３とステップＦ４とにおいて、ＣＬＩ部１３１とＮＥ−ＩＦ部１３２との間で送受信される文字列情報を取得する（ステップＨ１）。
キャプチャ部１４１が取得した文字列情報に基づいて、スクリプト生成部１４２はスクリプトを生成し、生成したスクリプトをスクリプト表示画面（図２参照）に表示する。
【００５３】
ユーザＡが、ＣＬＩ部１３１の入力装置よりＮＥ２との接続終了を示すコマンド（例えば、ＥＸＩＴ）を送信する（ステップＦ５）ことに応じて、スクリプト生成部１４２は生成したスクリプトをスクリプトファイルとしてスクリプト記憶部１５２に保存する（ステップＧ７）。
なお、記録停止ボタン（図２参照）の押下に応じて、スクリプト生成部１４２は、生成したスクリプトをスクリプトファイルとしてスクリプト記憶部１５２に保存するようにしてもよい。
その後、スクリプト生成部１４２は、待ち状態（ステップＧ１）に戻る。
【００５４】
（スクリプトの生成）
次に、キャプチャ部１４１とスクリプト生成部１４２とが、スクリプトを生成する方法について説明する。
アダプタ生成装置１がＮＥ２とＴｅｌｎｅｔによりＮＥ２に接続した後（図３のステップＦ１）、ユーザＡはＮＥ２の仮想端末としてのＣＬＩ部１３１を用いてコマンドを入力し実行し、その応答である応答情報をＮＥ２から取得する。コマンドおよび応答情報はＣＬＩ部１３１上に表示される。
このとき、ＣＬＩ部１３１上の表示情報全てをキャプチャ部１４１が保存する。
キャプチャ部１４１は表示情報全てを保存しログに記録すると共に、スクリプト生成部１４２に表示情報を送信する。
【００５５】
スクリプト生成部１４２は表示情報の一部を抜き出し、スクリプト情報を加えて記録する。
スクリプト生成部１４２が抜き出す情報は、ユーザＡの操作によって表示されるコマンド文字列（以降Ｕ１とする）と、そのコマンド文字列送信に対する応答情報の、最後の行の最後の文字（以降Ｕ２とする）および、最後の行の一番先頭の文字（以降Ｕ３とする）とを記録する。また、コマンド送信の決定キー（Ｅｎｔｅｒキー）（以降Ｕ４とする）を記録する。
これらＵ１からＵ４の４種類の情報は、一つのコマンドを送信するタイミングで記録される。つまり、一つのコマンドごとに４種類の情報が抜き出され、記録される。
なお、スクリプト生成部１４２は、改行コードを検出することにより、文字列が行として改行されていることを検出し、また、文字列の最後の行であることを検出することにより、文字列の最後の行を検出する。
【００５６】
また、Ｕ２の最後の行の最後の文字およびＵ３の最後の行の一番前の文字は、最低一文字を記録するものとするが、二文字以上を記録することとしても良い。または、最後の行全体を記録することとしても良い。
また、Ｕ２やＵ３で記録する文字列のパターンが、そのコマンドの応答中（最後の行以外または最後の行の最後や最初の文字以外）に出現した場合、一意になる文字数を記録することとして、記録する文字数を可変にすることとしても良い。
【００５７】
または、送信したコマンド文字列Ｕ１は、送信したコマンド文字列Ｕ１と、送信したコマンド文字列Ｕ１に対するＮＥ２からの応答情報の全ての文字列（Ｕ５とする）と、コマンド送信の決定キー（Ｅｎｔｅｒキー）Ｕ４とを、関連付けてスクリプトとして記録してもよい。なおＵ５は、Ｕ２またはＵ３に相当するものである。
【００５８】
（スクリプト生成の具体例）
次に、キャプチャ部１４１とスクリプト生成部１４２とが、スクリプトを生成する具体的な例を、オペレーションの例と記録の例とを用いて、説明する。
なお、説明において、ＮＥ２との接続は既に完了しており、ＮＥ−ＩＦ部１３２によりＣＬＩ部１３１の表示装置にプロンプトが表示されており（図２のステップＦ２参照）、記録開始ボタンは既に押下されているものとする。
【００５９】
また、説明はＣＬＩ部１３１に表示される文字列を用いて説明する。なお、説明のために、ＣＬＩ部１３１の表示装置における改行コードを＜改行＞とし、コマンドの入力を決定するために入力されるエンターキーの入力を＜Ｅｎｔｅｒキー入力＞として表記している。これは、実際には、ＣＬＩ部１３１の表示装置に表示されるものではなく、説明のための表記である。
なお、説明においては、Ｕ２およびＵ３として、文字数を二文字として説明する。
【００６０】
（ステップＶ１）まず、ＣＬＩ部１３１には、ステップＶ１に示されるような、プロンプト「Cisco1#」が表示されている。
Cisco1#
（ステップＶ２）次に、ステップＶ１のプロンプトが出ている状態で、オペレータは、ＣＬＩ部１３１を用いてコマンド「show interfaces」を入力し、ＮＥ−ＩＦ部１３２を介してＮＥ２へ送信する。
Cisco1# show interfaces＜Ｅｎｔｅｒキー入力＞
（ステップＶ３）ステップＶ２のコマンドの送信に応じて、例えば、以下のような応答情報をＮＥ−ＩＦ部１３２がＮＥ２から受信し、ＣＬＩ部１３１に表示する。
Fastnet0/0 is up, line protocol is up ＜改行＞
Hardware is AmdFE, address is 000d.286a.98e0 (bia 000d.286a.98e0) ＜改行＞
Internet address is 192.168.10.1/24＜改行＞
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, ＜改行＞
reliability 255/255, txload 1/255, rxload 1/255＜改行＞
Encapsulation ARPA, loopback not set＜改行＞
Keepalive set (10 sec) ＜改行＞
Full-duplex, 100Mb/s, 100BaseTX/FX＜改行＞
（途中省略）＜改行＞
355 lost carrier, 0 no carrier＜改行＞
0 output buffer failures, 0 output buffers swapped out＜改行＞
Cisco1#
（ステップＶ４）このとき、スクリプト生成部１４２が、最後に受信した１行の文字列「Cisco1#」を抽出しておく。抽出した文字列より、Ｕ２とＵ３は、「Ci」と「1#」とになる。
（ステップＶ５）次に、オペレータは、例えばコマンド「show version」を入力し、ＮＥ２へ送信する。
Cisco1# show version＜Ｅｎｔｅｒキー入力＞
（Ｖ６）送信したコマンド「show version」に対する、ＮＥ２からの応答は以下のようになる。
（応答文字列省略。）＜改行＞
Cisco1# 
このとき、スクリプト生成部１４２が、最後に受信した１行の文字列「Cisco1#」を抽出する。抽出した文字列より、Ｕ２とＵ３は、「Ci」と「1#」とになる。
（ステップＶ７）このとき、スクリプトは以下のようになり、スクリプトの最後の4行が、上記に対応して、このタイミングで追加して記録される。
この意味の概要は、Ｕ２とＵ３である、「Ci」と「1#」を受信した場合、Ｕ３である「show version」とＵ４である「Enter」を送信する、ということである。なお、Ｕ４である「Enter」を送信するとは、Ｅｎｔｅｒキーの入力を送信することである。
スクリプトの詳細な説明については、後に説明する。
telnet.send('show interfaces')
telnet.sendSpecial('Enter')
telnet.waitFor('Ci')
match = telnet.waitPrompt('1#')
telnet.send('show version')
telnet.sendSpecial('Enter')
（ステップＶ８）続いて、オペレータは、例えばコマンド「disable」を入力する。
Cisco1# disable＜Ｅｎｔｅｒキー入力＞
（Ｖ９）送信したコマンド「disable」に応じて、ＮＥ２から以下のような応答が返ってくる。
Cisco1>
スクリプト生成部１４２が、この受信した最後の１行の文字列の「Cisco1>」の先頭2文字（Ｕ２）と最後の2文字（Ｕ３）とを記憶する。抽出した文字列より、Ｕ２とＵ３は、「Ci」と「1>」とになる。
（ステップＶ１０）さらに、オペレータは、例えばコマンド「show version」入力する。
この時、先に記憶した文字と、入力したコマンドと、エンターキーの入力に基づいて、以下のようなスクリプトとして生成される。
telnet.waitFor('Ci') 
match = telnet.waitPrompt('1>')
telnet.send('show version')
telnet.sendSpecial('Enter')
（ステップＶ１１）生成されたスクリプトには、前のスクリプトの記述にさらに追記され、生成されたスクリプトは、以下のようになる。
telnet.send('show interfaces')
telnet.sendSpecial('Enter')
telnet.waitFor('Ci')
match = telnet.waitPrompt('1#')
telnet.send('show version')
telnet.sendSpecial('Enter')
telnet.waitFor('Ci')
match = telnet.waitPrompt('1#')
telnet.send('disable') 
telnet.sendSpecial('Enter')
telnet.waitFor('Ci') 
match = telnet.waitPrompt('1>') 
telnet.send('show version')
telnet.sendSpecial('Enter')
【００６１】
以上のようにして、スクリプト生成部１４２は、コマンド文字列（Ｕ１）と、そのコマンド文字列送信に対する応答情報の最後の行の最後の文字（Ｕ２）と、該応答情報の最後の行の一番先頭の文字（Ｕ３）と、コマンド送信の決定キーであるＥｎｔｅｒキー（Ｕ４）とに基づいてスクリプトを生成する。
【００６２】
なお説明においては、改行コードは行の最後に付けるものとして説明しているが、これに限られるものではなく、行の先頭、または、行の先頭と最後に付けるようにしてもよい。改行コードは、文字列において行を識別できるものであれば、いずれの改行コードを用いてもよい。
【００６３】
次に、ユーザＡが、ＧＵＩ部１０１と自動実行部１４４とを介して、例えば、ＧＵＩ部１０１の図２のファイルツリー画面より、スクリプト記憶部１５２に保存してあるスクリプトファイルを選択することにより、選択されたスクリプトファイルに基づいて、自動実行部１４４が処理を実行する。
【００６４】
自動実行部１４４は、例えば、スクリプトファイルの記述を上から順に処理していく。例えば、上記スクリプトの一部であり、以下のようなスクリプトが書かれてある場合には、
telnet.waitFor('Ci')
match = telnet.waitPrompt('1#')
telnet.send('show version')
telnet.sendSpecial('Enter')
自動実行部１４４は、ＮＥ２から受信する文字列の最後の１行の先頭の２文字が「Ｃｉ」であり、最後の２文字が「１＃」である場合に、「ｓｈｏｗ  ｖｅｒｓｉｏｎ」の文字列と、決定キーである「Ｅｎｔｅｒ」に相当する制御文字列を、ＮＥ２へ送信する。
自動実行部１４４は、送信した後、スクリプトに次に記述されている行を実行する。
なお、具体的な処理については、後に、自動接続も含めたスクリプトファイルの生成と実行において、説明する。
【００６５】
（自動接続）
次に、アダプタ生成装置１が、ＮＥ２との接続を自動的に行う方法について説明する。なお、以下に説明する機能は、主に、図１の自動接続部１７１と接続パターン記憶部１８１とに関する機能である。
なお、以下に説明するネットワーク接続装置１は、アダプタ生成装置１の一部の機能であり、その対応については、後に説明する。
以下に説明するような接続方法を用いることにより、ネットワーク接続装置１は、例えば、接続するＮＥ２が、同じメーカー製である場合や、バージョンが変わった場合などにおいても、ＮＥ２と接続することが可能となる。
【００６６】
まず、本発明の実施の形態に用いる基礎的な技術について概説する。
ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）とは、ＴＣＰ／ＩＰネットワークにおいて、ルータやコンピュータ、端末など、ネットワークに接続された通信機器（ＮＥ）をネットワーク経由で監視・制御するためのプロトコルである。
【００６７】
また、制御の対象となる機器（ＮＥ）は、ＭＩＢ−ＩＩ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ−ＩＩ）と呼ばれる管理情報データベースを持っており、管理を行なう機器は対象機器のＭＩＢ−ＩＩに基づいて適切な設定を行なうものとする。
また、ＭＩＢ−ＩＩの１つにＳｙｓＤｅｓｃｒ情報があり、ＳｙｓＤｅｓｃｒ情報には、対象ＮＥの機器名や機器名のベンダ名（製造元の情報）や対象ＮＥで動作するプログラムの情報（例えば、ＯＳ（オペレーティングシステム）のバージョンなど）などの対象ＮＥのシステム情報が含まれる。
【００６８】
また、実施の形態においては、ＮＥは、ＳＮＭＰエージェント（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  Ａｇｅｎｔ）が動作しているものとする。ここで、ＳＮＭＰエージェントとは、ＳＮＭＰに対応したハブなどのネットワーク機器が備えているプログラムで、自機のＭＩＢ−ＩＩを管理し、ＳＮＭＰマネージャからの要求に従って、ＭＩＢ−ＩＩをＳＮＭＰマネージャに渡したり、自機の操作を行なったりするものである。
なお、本発明による実施の形態においては、後述するように、対象ＮＥでＳＮＭＰエージェントが動作していない場合においても、適応可能である。
【００６９】
以下、図面を参照して、本発明の実施の形態について説明する。図４は、この発明の一実施形態によるネットワーク接続装置１の構成を示す概略ブロック図である。
同図において図１の各部に対応する部分には同一の符号を付け、その説明を省略する。
図４において、ネットワーク接続装置１は、ユーザＡへ出力情報を表示し、また、ユーザＡからの入力情報を受信する。また、ネットワーク接続装置１は、ＮＥ２へネットワーク３（ＮＷ３）を介してＮＥ２と接続する。
【００７０】
ネットワーク接続装置１は、ＧＵＩ部１０１、プロダクト検出部１０２、ＰＩＮＧ接続部１０３、ＳＮＭＰ接続部１０４、自動ログイン部１０５、手動ログイン部１０６、Ｔｅｌｎｅｔ接続部１０７、接続パターンファイル生成部１０８、ｐｒｏｄｕｃｔｃｓｖ記憶部１２０、自動ログイン用接続パターンファイル記憶部１２１を有する。
【００７１】
なお、図４のプロダクト検出部１０２、自動ログイン部１０５、手動ログイン部１０６、接続パターンファイル生成部１０８は図１の自動接続部１７１に相当し、また、図４のＰＩＮＧ接続部１０３、ＳＮＭＰ接続部１０４、Ｔｅｌｎｅｔ接続部１０７は、図１のＮＥ−ＩＦ部１３２に相当し、また、図４のｐｒｏｄｕｃｔｃｓｖ記憶部１２０、自動ログイン用接続パターンファイル記憶部１２１は図１の接続パターン記憶部１８１に相当するものである。
【００７２】
ｐｒｏｄｕｃｔｃｓｖ記憶部１２０は、ＮＥの機器のＯＳ名やＮＥの機器の製造元（ベンダ）を、図５に示すような、Ｐｒｏｄｕｃｔ．ｃｓｖファイルとして記憶する。Ｐｒｏｄｕｃｔ．ｃｓｖファイルには、ＮＥの接続情報である後述のプロダクトファイルを一意に決定する文字列が記述されている。
【００７３】
図５のＰｒｏｄｕｃｔ．ｃｓｖファイルには、ＮＥの機器のＯＳ名やＮＥの機器の製造元（ベンダ）の名が記述されている。これらは、ユーザＡが管理しやすいような分類で任意に記述することが可能である。
例えば、同じ製造元のＮＥに対して同じログイン方法をしたい場合には、製造元により分類してもよいし、同じＯＳのＮＥに対して同じログイン方法をしたい場合には、同じＯＳにより分類してもよい。また、分類をどのようにするかも任意である。
例えば、図５においては、ＮＥのＯＳ名としてＯＳ１、ＯＳ２００６、ＯＳＹ、ＯＳ１５００、ＯＳＺ、ＯＳＸＰがあり、ＮＥのベンダ名としてＲＥＤ、ＢＬＵＥ、ＧＲＥＥＮ、ＰＵＲＰＬＥがある。なお、ＮＥのＯＳ名には、ＮＥのＯＳ名だけでなくＯＳのバージョンを含めてもよく、ＮＥのベンダ名には、ＮＥのベンダ名だけでなくＮＥのシリーズ名やそのバージョンなどを含めた情報であってもよい。
【００７４】
自動ログイン用接続パターンファイル記憶部１２１は、複数の接続パターンファイルを記憶する機能を有する。例えば、図４に示すように、Ｆ０１、Ｆ０２、・・・、Ｆ０８、・・・となる複数の接続パターンファイルを記憶する。
自動ログイン用接続パターンファイル記憶部１２１が記憶するそれぞれの接続パターンファイルには、該当する対象ＮＥに接続するための情報（接続情報）が記憶されている。
【００７５】
接続パターンファイルの一例を図６に示す。実施の形態においては、接続パターンファイルはＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルである。接続パターンファイルの一部には、対象ＮＥのプロダクトを示すＰｒｏｄｕｃｔ．ｃｓｖに記述される一つのユニークな文字列が存在し、この文字列により接続パターンファイルのそれぞれが識別される。
【００７６】
例えば、図６では、＜ｐｒｏｄｕｃｔ＞＜／ｐｒｏｄｕｃｔ＞タグで囲まれている「ＲＥＤ」という文字列が、この接続パターンファイルのユニークな文字列となる。
また、接続パターンファイルには、対象ＮＥに接続するための情報である、ログイン名情報、パスワード情報とともに、対象ＮＥが送信してくるプロンプトに関する情報であるプロンプト情報も記憶してある。ここで、プロンプト情報とは、対象ＮＥが、認証のために送信してくる「Ｕｓｅｒｎａｍｅ：」や「Ｐａｓｓｗｏｒｄ：」などのプロンプトの文字列である。
【００７７】
例えば、図６において、＜ＬｏｇｉｎＮａｍｅ＞タグと＜／ＬｏｇｉｎＮａｍｅ＞タグとで囲まれた文字列（例えば、「ｎｅｓｏ」）がユーザ名情報であり、＜Ｐａｓｓｗｏｒｄ＞タグと＜／Ｐａｓｓｗｏｒｄ＞タグとで囲まれた文字列（例えば、「ｎｅｓｏｐａｓｓｗｏｒｄ」）がパスワード情報であり、＜ＬｏｇｉｎＰｒｏｍｐｔ＞タグと＜／ＬｏｇｉｎＰｒｏｍｐｔ＞タグとで囲まれた文字列（例えば、「Ｕｓｅｒｎａｍｅ：」）がログインを入力するためのプロンプト情報であり、＜ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞タグと＜／ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞タグとで囲まれた文字列（例えば「Ｐａｓｓｗｏｒｄ：」）がパスワードを入力するためのプロンプト情報である。
【００７８】
接続パターンファイルの例に示したタグ内の文字列についてはこの例に限るものではない。図６の例では接続パターンファイルは、インタフェース仕様（システム情報）ごとに一つのファイルが存在する前提で示されているが、タブ内の文字列を変更し全ての情報が一つのファイルにまとめられていても良い。
実施の形態においては、例えば図５に示すｐｒｏｄｕｃｔｃｓｖ記憶部１２０のＰｒｏｄｕｃｔ．ｃｓｖファイルに含まれる文字列の１つと、例えば図６に示す自動ログイン用接続パターンファイル記憶部１２１が記憶する１つの接続パターンファイルの＜ｐｒｏｄｕｃｔ＞＜／ｐｒｏｄｕｃｔ＞タグで囲まれる文字列とが一致する。
【００７９】
図４のネットワーク接続装置１の説明に戻る。ＧＵＩ部１０１は、表示装置と入力装置とを有しており、ユーザが入力するためのまたは確認するための出力情報をユーザＡへ表示装置を介して表示し、ユーザＢが入力装置を用いて入力した入力情報を受信する機能を有する。
ここで、例えば、表示装置とはＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）や液晶表示装置等であり、入力装置とはキーボードやマウス等の入力デバイスのことである。
【００８０】
例えば、ＧＵＩ部１０１がユーザへ表示装置を介して出力する出力情報は、ユーザが接続を希望するＮＥ（以降、対象ＮＥとする）を指定するための情報であり、対象ＮＥのＩＰアドレスを直接入力するための画面の情報や、対象ＮＥのＩＰアドレスと関連付けられたアイコンを表示する画面の情報を表示する。
また、例えば、ＧＵＩ部１０１がユーザから入力装置を介して受信する入力情報は、直接入力された対象ＮＥのＩＰ、または、選択されたアイコンに関連付けられた対象ＮＥのＩＰアドレスである。
【００８１】
また、ＧＵＩ部１０１は、入力したＩＰアドレスに基づいて、自動接続を行うのか、または、手動接続を行うのかの接続方法の情報を受信する機能を有する。
また、ＧＵＩ部１０１は、入力された接続方法の情報が自動接続の場合には、入力された対象ＮＥのＩＰアドレスをプロダクト検出部１０２および自動ログイン部１０５へ送信し、入力された接続方法の情報が手動接続の場合には、入力された対象ＮＥのＩＰアドレスを手動ログイン部１０６へ送信する機能を有する。
【００８２】
プロダクト検出部１０２は、対象ＮＥのＩＰアドレスをＧＵＩ部１０１から受信し、受信したＩＰアドレスに基づき、対象ＮＥのプロダクト情報を検出し、検出したプロダクト情報を自動ログイン部１０５へ送信する機能を有する。
プロダクト検出部１０２が、受信したＩＰアドレスに基づき対象ＮＥのプロダクト情報を検出する方法は、ＰＩＮＧ接続部１０３を介して対象ＮＥが稼動しているか否かを検出し、稼動している場合には、ＳＮＭＰ接続部１０４を介して対象ＮＥのＭＩＢ−ＩＩの一つであるＳｙｓＤｅｓｃｒ情報を取得し、次に、取得したＳｙｓＤｅｓｃｒ情報（の文字列）がｐｒｏｄｕｃｔｃｓｖ記憶部１２０のＰｒｏｄｕｃｔ．ｃｓｖファイルの記述内に存在するか否かを検出し、検出結果が存在する場合には、ＳｙｓＤｅｓｃｒ情報（の文字列）と一致するＰｒｏｄｕｃｔ．ｃｓｖファイルの記述をプロダクト情報として検出する。
【００８３】
ＰＩＮＧ接続部１０３は、プロダクト検出部１０２から受信したＩＰアドレスに基づき、ＩＰアドレスにより指定されるＮＥが正常に稼動しているか否かの検出を行う機能を有する。
ＰＩＮＧ接続部１０３が行うＩＰアドレスにより指定されるＮＥが正常に稼動しているか否かの検出の方法は、例えば、ＰＩＮＧ接続部１０３が、ＩＰアドレスにより指定されるＮＥに対してＩＰパケットを発行し、そのパケットがＮＥに正しく届き、ＮＥから発行したＩＰパケットの応答が行われ、ＩＰパケットの応答をＮＥから受信するか否かを検出することにより行う。
また、ＮＥが正常に稼動していることの検出により、ＮＥまでのネットワークが正常か否かの検出を行うことも可能である。
【００８４】
ＳＮＭＰ接続部１０４は、プロダクト検出部１０２から受信したＩＰアドレス情報に基づき、ＩＰアドレスにより指定されるＮＥ（対象ＮＥ）のＭＩＢ−ＩＩの一つであるＳｙｓＤｅｓｃｒ情報を取得する機能を有する。
ＳＮＭＰ接続部１０４が、対象ＮＥのＭＩＢ−ＩＩの一つであるＳｙｓＤｅｓｃｒ情報を取得する方法は、例えば、対象ＮＥとＳＮＭＰによるＳＮＭＰ  ＧｅｔコマンドによりＭＩＢ−ＩＩを取得し、ＭＩＢ−ＩＩの一つであるＳｙｓＤｅｓｃｒ情報を取得する。
【００８５】
自動ログイン部１０５は、ＩＰアドレスをＧＵＩ部１０１から受信し、また、プロダクト検出部１０２から対象ＮＥのプロダクト情報を受信し、受信したプロダクト情報に基づき接続パターンファイルを自動ログイン用接続パターンファイル記憶部１２１から選択し、選択した接続パターンファイルと受信したＩＰアドレスに基づいてＴｅｌｎｅｔ接続部１０７を介して対象ＮＥにログインをする機能を有する。
ここで、自動ログイン部１０５が受信したプロダクト情報に基づき接続パターンファイルを選択する方法は、自動ログイン部１０５が、接続パターンファイルにおいて＜ｐｒｏｄｕｃｔ＞＜／ｐｒｏｄｕｃｔ＞タグで囲まれている文字列が、受信したプロダクト情報と一致する接続パターンファイルを、自動ログイン用接続パターンファイル記憶部１２１から選択することにより実行する。
【００８６】
手動ログイン部１０６は、ＧＵＩ部１０１から対象ＮＥのＩＰアドレスを受信し、受信したＩＰアドレスについての接続するための接続情報を生成し、生成した接続情報に基づいて、受信したＩＰアドレスにより指定される対象ＮＥへ接続する機能を有する。
また、手動ログイン部１０６は、生成した接続情報に基づいて、受信したＩＰアドレスにより指定される対象ＮＥへ接続が成功した場合には、後述の接続パターンファイル生成部１０８を介して、生成した接続情報を接続パターンファイルとして自動ログイン用接続パターンファイル記憶部１２１に記憶する機能を有する。
【００８７】
Ｔｅｌｎｅｔ接続部１０７は、ＩＰアドレスと接続情報とを自動ログイン部１０５または手動ログイン部１０６から受信し、受信したＩＰアドレスにより指定される対象ＮＥに、受信した接続情報に基づいて接続をする機能を有する。
【００８８】
接続パターンファイル生成部１０８は、手動ログイン部１０６からＩＰアドレスと接続情報とを受信し、受信したＩＰアドレスと接続情報に基づき接続パターンファイルを自動ログイン用接続パターンファイル記憶部１２１に生成する機能を有する。
【００８９】
次に、本発明の一実施形態によるネットワーク接続装置１の動作を図７と図８のフローチャート図を用いて説明する。
まず図７を用いて、第１の動作例として、接続対象であるＮＥのプロダクトを検出し、検出したＮＥのプロダクトが有効な接続パターンファイルを予め登録してあるＸＭＬファイルから選択し、選択した接続パターンファイルの内容であるユーザ名やパスワードなどの接続情報に基づき、対象ＮＥに自動ログインする場合の動作を説明する。
【００９０】
まず、ＧＵＩ部１０１は、ユーザＡからの接続するＮＥ（対象ＮＥ）のＩＰアドレスの入力を受信する（ステップＡ２）。
次に、ＧＵＩ部１０１は、ユーザＡからの入力した対象ＮＥに、自動接続するのか手動接続するのかの選択入力を受信する（ステップＡ３）。ここでは、ユーザＡは自動接続を選択入力したとして説明する。
【００９１】
対象ＮＥのＩＰアドレスを受信し、また、自動接続する接続方法の情報を受信したＧＵＩ部１０１は、対象ＮＥのＩＰアドレスをプロダクト検出部１０２と自動ログイン部１０５へ送信する。
次に、対象ＮＥのＩＰアドレスを受信したプロダクト検出部１０２は、ＰＩＮＧ接続部１０３を介して、対象ＮＥが正常に稼動しているか否かの検出を実行する（ステップＡ４）。ここでは、対象ＮＥは正常に稼動していると検出されたものとして説明する。
次に、プロダクト検出部１０２は、ＳＮＭＰ接続部１０４を介して、対象ＮＥのＭＩＢ−ＩＩの一つであるＳｙｓＤｅｓｃｒの情報を取得する（ステップＡ５）。
【００９２】
次に、ＳＮＭＰ接続部１０４は、取得したＳｙｓＤｅｓｃｒの文字列情報を、プロダクト検出部１０２に送信する。ＳｙｓＤｅｓｃｒの文字列情報をＳＮＭＰ接続部１０４から受信したプロダクト検出部１０２は、ＳｙｓＤｅｓｃｒの文字列情報の中で、ｐｒｏｄｕｃｔｃｓｖ記憶部１２０のＰｒｏｄｕｃｔ．ｃｓｖファイルに記述されているものを検出する（ステップＡ６）。ここでは、Ｐｒｏｄｕｃｔ．ｃｓｖにＳｙｓＤｅｓｃｒの文字列が存在したものとして説明する。
【００９３】
Ｐｒｏｄｕｃｔ．ｃｓｖファイルにＳｙｓＤｅｓｃｒの文字列と一致する文字列が存在することを検出した場合、プロダクト検出部１０２は自動ログイン部１０５に検出した文字列（プロダクト情報）を送信する（ステップＡ６）。
ここでは、ＳｙｓＤｅｓｃｒの文字列情報とＰｒｏｄｕｃｔ．ｃｓｖに記述されている情報とで一致した文字列が「ＲＥＤ」であったとし、「ＲＥＤ」という文字列（プロダクト情報）を、プロダクト検出部１０２が自動ログイン部１０５へ送信するとして説明する。
【００９４】
次に、自動ログイン部１０５はプロダクト情報をプロダクト検出部１０２から受信し、受信したプロダクト情報（文字列の「ＲＥＤ」）に基づき、接続パターンファイルを自動ログイン用接続パターンファイル記憶部１２１から検索する（ステップＡ６）。
例えば、自動ログイン部１０５は、受信したプロダクト情報が「ＲＥＤ」という文字列の場合、＜ｐｒｏｄｕｃｔ＞タグと＜／ｐｒｏｄｕｃｔ＞タグとで囲まれる文字列が「ＲＥＤ」である接続パターンファイルを、自動ログイン用接続パターンファイル記憶部１２１から選択する。
この場合、自動ログイン部１０５が選択した接続パターンファイルは、例えば、図６で示す接続パターンファイルであるとする。
【００９５】
次に、自動ログイン部１０５は、ＧＵＩ部１０１から受信したＩＰアドレスにより指定される対象ＮＥへ、選択した接続パターンファイルに基づき、Ｔｅｌｎｅｔ接続部１０７を介して、ログインを実行する（ステップＡ７）。
自動ログイン部１０５が対象ＮＥへログインを実行する方法は、例えば、まず、自動ログイン部１０５がＩＰアドレスにより指定される対象ＮＥへＴｅｌｎｅｔ接続部１０７を介してＴｅｌｎｅｔにより接続する。
【００９６】
その後、自動ログイン部１０５は、選択した接続パターンファイルの＜ＬｏｇｉｎＰｒｏｍｐｔ＞タグと＜／ＬｏｇｉｎＰｒｏｍｐｔ＞タグとで囲まれた文字列または＜ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞タグと＜／ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞タグとで囲まれた文字列が対象ＮＥから送信されてくるのを待つ。
この場合、対象ＮＥから「Ｕｓｅｒｎａｍｅ：」または「Ｐａｓｓｗｏｒｄ：」の文字列が送信されてくるのを待つことになる。
【００９７】
次に、自動ログイン部１０５は、対象ＮＥから文字列を受信し、受信した文字列が、選択した接続パターンファイルの＜ＬｏｇｉｎＰｒｏｍｐｔ＞タグと＜／ＬｏｇｉｎＰｒｏｍｐｔ＞タグとで囲まれた文字列の場合には＜ＬｏｇｉｎＮａｍｅ＞タグと＜／ＬｏｇｉｎＮａｍｅ＞タグで囲まれた文字列を対象ＮＥへ送信し、また、受信した文字列が選択した接続パターンファイルの＜ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞タグと＜／ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞タグとで囲まれた文字列の場合には＜Ｐａｓｓｗｏｒｄ＞タグと＜／Ｐａｓｓｗｏｒｄ＞タグとで囲まれた文字列を送信する。
【００９８】
この場合、対象ＮＥから文字列「Ｕｓｅｒｎａｍｅ：」を受信した場合には、文字列「ｎｅｓｏ」を対象ＮＥへ送信し、また、対象ＮＥから文字列「Ｐａｓｓｗｏｒｄ：」を受信した場合には文字列「ｎｅｓｏｐａｓｓｗｏｒｄ」を対象ＮＥへ送信する。
これにより、例えば、Ｔｅｌｎｅｔなどの通信プロトコル上による対象ＮＥとの接続が完了し、その後、ユーザＡは、ＣＬＩ上で対象ＮＥの設定などが行なえるようになる。
【００９９】
例えば、対象ＮＥに接続したことにより、例えば、ＧＵＩ部１０１が、ＣＬＩコンソールを生成し、生成したＣＬＩコンソールに対象ＮＥからのプロンプトを表示する（ステップＡ８）。その後、ＧＵＩ部１０１が、ＣＬＩコンソールを介してユーザＡからのコマンドを入力し対象ＮＥへ送信し（ステップＡ９）、対象ＮＥから応答を取得し、取得した応答をＣＬＩコンソールへ表示する（ステップＡ１０）。その後、ＧＵＩ部１０１が、ステップＡ９とステップＡ１０の処理を繰り返すことにより、ユーザＡが対象ＮＥの設定などをすることができる。
その後、ＧＵＩ部１０１が、ユーザＡからの対象ＮＥとの接続終了の情報を受信し、受信した接続終了の情報を対象ＮＥへ送信し（ステップＡ１１）、対象ＮＥと接続を切断し（ステップＡ１２）、処理を終了する。
【０１００】
なお、自動ログイン部１０５は、先に選択した接続パターンファイルに、接続した後の対象ＮＥからのプロンプト情報（例えば「＞」）や、ｓｕやｅｎａｂｌｅなどの権限を変更するコマンドの文字列と、それに関するパスワードプロンプト文字列やパスワード文字列が先に選択した接続パターンファイルにある場合には、これらを用いて、接続した対象ＮＥにおいて、権限を変更する処理を実行する。
【０１０１】
例えば、ステップＡ８において、対象ＮＥからのプロンプトの文字列「＞」を受信したことを自動ログイン部１０５が検出した場合、自動ログイン部１０５は、先に選択した接続パターンファイルに記述してある権利変更のコマンドである「ｓｕ」または「ｅｎａｂｌｅ」を送信し、パスワードを入力するためのプロンプトの文字列（例えば、「Ｐａｓｓｗｏｒｄ：」）を対象ＮＥから受信するのを待ち、パスワードを入力するためのプロンプトの文字列を対象ＮＥから受信すると、パスワード文字列を送信する。
以上により、自動ログイン部１０５が、選択した接続パターンファイルに基づき、対象ＮＥに接続し、権限変更を実行することが可能となる。
【０１０２】
なお、対象ＮＥがユーザ名やパスワード入力を求めない場合に備え、図６で例示した接続パターンファイルのタグで囲まれた文字列に、例えば「ＢＬＡＮＫ」といった予約文字列を記述しておき、自動ログイン部１０５は、接続パターンファイルに基づき対象ＮＥへユーザ名などを送信する場合に、タグで囲まれたユーザ名の文字列に予約文字列である「ＢＬＡＮＫ」を検出した場合には、ユーザ名などの文字列を送らずに、Ｅｎｔｅｒキーの特殊文字（Ｅｎｔｅｒキーに相当する文字情報）を送信することも可能である。
【０１０３】
また、上記説明においては、プロダクト検出部１０２が、受信したＳｙｓＤｅｓｃｒ情報がｐｒｏｄｕｃｔｃｓｖ記憶部１２０のＰｒｏｄｕｃｔ．ｃｓｖファイルの記述内に、ＳｙｓＤｅｓｃｒの文字列が存在することか否かを検出することにより、対象ＮＥの接続先プロダクトの検出をしたが、ｐｒｏｄｕｃｔｃｓｖ記憶部１２０のＰｒｏｄｕｃｔ．ｃｓｖファイルを用いず、プロダクト検出部１０２が、受信したＳｙｓＤｅｓｃｒ情報を自動ログイン部１０５へ送信し、自動ログイン部１０５が受信したＳｙｓＤｅｓｃｒ情報の文字列を含む接続パターンファイルを自動ログイン用接続パターンファイル記憶部１２１から直接選択するようにしてもよい。
【０１０４】
第１の動作例では、接続するための接続パターンファイルが既に存在し、接続パターンファイルの情報を用いて自動接続する一実施形態によるネットワーク接続装置１の動作について述べた。
次に、一実施形態によるネットワーク接続装置１に接続パターンファイルが存在しない場合の動作について説明する。接続パターンファイルが存在しない場合に、ＣＬＩによる運用知識のみを用いて、以後の運用で自動ログインするための設定処理を行なう第２の動作例を図７と図８とを用いて説明する。
【０１０５】
まず、図７において、ＧＵＩ部１０１は、ユーザＡからの接続するＮＥ（対象ＮＥとする）のＩＰアドレスの入力を受信する（ステップＡ２）。次に、ＧＵＩ部１０１は、ユーザＡからの入力した対象ＮＥに、自動接続するのか手動接続するのかの選択入力を受信する（ステップＡ３）。ここまでの処理は、第１の動作例と同じである。次に、ステップＡ３で、ユーザＡは手動接続を選択入力したとして説明する。
【０１０６】
対象ＮＥのＩＰアドレスを受信し、また、手動接続する接続方法の情報を受信したＧＵＩ部１０１は、対象ＮＥのＩＰアドレスを手動ログイン部１０６へ送信する（図７のＤ１から図８のＤ１へ）。
次に、手動ログイン部１０６は、ＧＵＩ部１０１を介してユーザＡへ、接続パターンファイルの選択かプロンプト情報の入力の選択かを表示する（図８のステップＢ４）。ここでは、ユーザＡは、プロンプト情報の入力を選択したものとして説明する。
次に、手動ログイン部１０６は、ＧＵＩ部１０１を介してユーザＡへ、接続に必要な情報（プロンプト情報）を入力するための画面を表示し、ユーザＡがＧＵＩ部１０１を介して入力したプロンプト情報を受信する（ステップＢ５）。
【０１０７】
例えば、手動ログイン部１０６が表示するプロンプト情報を入力するための画面は、図９に示すように、対象ＮＥのＩＰアドレス、ログインプロンプト、ログインユーザ名、パスワードプロンプト、パスワードなどを入力する入力欄を有する。
ユーザＡは、図９の入力画面の各入力欄に、それぞれに該当する情報を入力する。
【０１０８】
ユーザＡは、図９の入力画面に基づき、対象ＮＥのＩＰアドレス、ログインユーザ名、パスワード、必要な場合はユーザ権限を変更するコマンドを入力する。さらに、ユーザＡは、ログインユーザ名を入力する際のプロンプト文字列（例では「Ｕｓｅｒｎａｍｅ：」など）、パスワードを入力する際のプロンプト（例では「Ｐａｓｓｗｏｒｄ：」など）、ユーザ権限を変更するコマンドを入力する際のプロンプト文字列（例えば、「＞」など）を入力する。
なお、手動ログイン部１０６は、プロンプト情報を入力するための画面を表示する時に、対象ＮＥのＩＰアドレスの入力欄に、先に手動ログイン部１０６がＧＵＩ部１０１から受信した対象ＮＥのＩＰアドレスを予め入力して表示してもよい。
【０１０９】
次に、手動ログイン部１０６は、入力されたプロンプト情報の文字列情報に基づいて、自動ログインのための一時的な接続パターンファイル（テンポラリ接続パターンファイルとする）を、例えば手動ログイン部１０６のメモリ内に、生成する。
【０１１０】
実施の形態においては、図９に示した画面により入力された情報は、例えば図６に示すＸＭＬファイルに変換して保存される。例えば、テンポラリ接続パターンファイルには、タグ＜ＬｏｇｉｎＰｒｏｍｐｔ＞と＜／ＬｏｇｉｎＰｒｏｍｐｔ＞との間には、例えば「Ｕｓｅｒｎａｍｅ：」などの入力された文字列、タグ＜ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞と＜／ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞との間には例えば「Ｐａｓｓｗｏｒｄ：」などの入力された文字列が記述される。
【０１１１】
また、テンポラリ接続パターンファイルにおいて、タグ＜ＬｏｇｉｎＮａｍｅ＞と＜／ＬｏｇｉｎＮａｍｅ＞との間には入力されたユーザ名の文字列が記述され、＜Ｐａｓｓｗｏｒｄ＞＜／Ｐａｓｓｗｏｒｄ＞内には入力されたパスワード文字列が記述される。
さらにテンポラリ接続パターンファイルにおいて、図９の入力において権限を変更するコマンドが入力された場合には、＜Ｐｒｏｍｐｔ＞＜／Ｐｒｏｍｐｔ＞内に例えば入力された「＞」の文字列が記述され、＜ＥｎａｂｌｅＣｏｍｍａｎｄ＞＜／ＥｎａｂｌｅＣｏｍｍａｎｄ＞には入力された「ｅｎａｂｌｅ」や「ｓｕ」といったコマンドの文字列が記述され、＜ＥｎａｂｌｅＰａｓｓｗｏｒｄ＞＜／ＥｎａｂｌｅＰａｓｓｗｏｒｄ＞内には権限を変更するための入力されたパスワードの文字列が記述される。
【０１１２】
次に、手動ログイン部１０６が、生成したテンポラリ接続パターンファイルに基づき、Ｔｅｌｎｅｔ接続部を介して、ＧＵＩ部１０１から受信したＩＰアドレスにより指定される対象ＮＥへ接続（自動ログイン）をする（ステップＢ６）。
ここで、手動ログイン部１０６が実行する対象ＮＥへの接続（図８のステップＢ６）は、第１の動作例において、自動ログイン部１０５がプロダクトファイルに基づいて対象ＮＥへ接続した接続（図７のステップＡ７）と同じである。
【０１１３】
例えば、手動ログイン部１０６は、Ｔｅｌｎｅｔ接続部１０７を介して対象ＮＥに接続後、入力されたテンポラリプロダクトファイルのプロンプト情報である例えば「Ｕｓｅｒｎａｍｅ：」または「Ｐａｓｓｗｏｒｄ：」の文字列が、対象ＮＥから送信されてくるのを待つ。
【０１１４】
手動ログイン部１０６は、対象ＮＥから上記文字列が送信されたのを検出後、＜ＬｏｇｉｎＰｒｏｍｐｔ＞＜／ＬｏｇｉｎＰｒｏｍｐｔ＞内の文字列である「Ｕｓｅｒｎａｍｅ：」を検出した場合、＜ＬｏｇｉｎＮａｍｅ＞＜／ＬｏｇｉｎＮａｍｅ＞内に記述されたユーザ名の文字列を、Ｔｅｌｎｅｔ接続部１０７を介して対象ＮＥへ送信する。
また、手動ログイン部１０６は、＜ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞＜／ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞内の文字列である「Ｕｓｅｒｎａｍｅ：」を検出した場合、＜Ｐａｓｓｗｏｒｄ＞＜／Ｐａｓｓｗｏｒｄ＞内に記述されたパスワード文字列を、Ｔｅｌｎｅｔ接続部１０７を介して対象ＮＥへ送信する。
【０１１５】
ステップＢ６にて、手動ログイン部１０６が送信したユーザ名とパスワードが対象ＮＥにとって正当でなく、手動ログイン部１０６が対象ＮＥと接続できない場合、手動ログイン部１０６は、再度プロンプト情報の入力を実行し（ステップＢ５）、再度入力されたプロンプト情報に基づき対象ＮＥと接続（ステップＢ６）を繰り返す。
【０１１６】
ステップＢ６にて、手動ログイン部１０６が送信したユーザ名とパスワードが対象ＮＥにとって正当であり、手動ログイン部１０６が対象ＮＥと接続できた場合、手動ログイン部１０６が接続パターンファイル生成部を介して、自動ログイン用接続パターンファイル記憶部１２１に、テンポラリ接続パターンファイルに基づいて接続パターンファイルを生成する（ステップＢ７）。
ここでは、生成する接続パターンファイルとして、接続パターンファイル名には入力された接続対象のＩＰアドレスを用いる。例えば、ＩＰアドレスが「１９２．１６８．１．５」だとすると、接続パターンファイル名として「１９２．１６８．１．５．ａｄａｐｔｅｒ」といったＩＰアドレスに「ａｄａｐｔｅｒ」を付ける命名則で、接続パターンファイルを生成する。
【０１１７】
次に、対象ＮＥとの接続ができたことより、ユーザＡは対象ＮＥの設定などを行う。以降の処理は、図７のステップＡ８からステップＡ１２と同じである。
【０１１８】
以上のようにして、対象ＮＥと接続するための接続パターンファイルが、自動ログイン用接続パターンファイル記憶部１２１に、生成される。
以降、実施の形態におけるネットワーク接続装置１の自動ログイン部１０５が、生成した接続パターンファイルを用いて、対象ＮＥと接続することが可能となる。
【０１１９】
例えば、以降、同じ対象ＮＥに接続する場合、自動ログイン部１０５はＧＵＩ部１０１から入力されたＩＰアドレスから同じＩＰアドレスを冠した接続パターンファイルを検索する（ステップＢ９）。接続パターンファイルを検出した場合、上記手順を自動でログイン処理を実行し、ログインする。（削除されるなどして）接続パターンファイルが存在しなかった場合、未知の対象としてユーザに異なる接続パターンファイルを選択させ、接続する。または該当する接続パターンファイルが存在しないものとして、第２の動作を繰返し、ユーザに必要な文字列を入力させ、接続パターンファイルを生成する。詳細については後に詳述する。
【０１２０】
次に、図７と図８を用いて、自動的な接続に失敗した場合に、手動ログイン部１０６が接続処理を実行する動作を説明する。
まず、図７のステップＡ４で、対象ＮＥのＩＰアドレスを受信したプロダクト検出部１０２が、ＰＩＮＧ接続部１０３を介して、対象ＮＥが正常に稼動しているか否かの検出を実行し、対象ＮＥは正常に稼動していなかった場合には、対象ＮＥとの接続が不可能であるため、処理を終了する。
【０１２１】
図７のステップＡ５において、プロダクト検出部１０２は、ＳＮＭＰ接続部１０４を介して対象ＮＥのＭＩＢ−ＩＩの一つであるＳｙｓＤｅｓｃｒの情報を取得するが、対象ＮＥがＳＮＭＰ接続について応答がなかった場合（図７のＤ２）には、プロダクト検出部１０２は、対象ＮＭのＳＮＭＰエージェントが動作していないことをメッセージ表示し（ステップＢ１０）、選択ダイアログを表示し、ユーザＡからのダイアログからの選択入力を待つ（ステップＢ１１）。
【０１２２】
プロダクト検出部１０２が表示する選択ダイアログには、接続パターンファイルの選択と、手動設定と、処理終了とがある。
ユーザＡからの選択入力が、接続パターンファイルの選択の場合、手動ログイン部１０６が、ＧＵＩ部１０１を介してユーザＡへ、接続パターンファイルの選択かプロンプト情報の入力の選択かを表示する（ステップＢ４）。以降の処理は先に説明した手順と同様である。
【０１２３】
ユーザＡからの選択入力が、手動設定の場合、手動ログイン部１０６は、ＧＵＩ部１０１を介してユーザＡへ、接続に必要な情報（プロンプト情報）を入力するための画面を表示し、ユーザＡがＧＵＩ部１０１を介して入力したプロンプト情報を入力する（ステップＢ５）。以降の処理は先に説明した手順と同様である。
【０１２４】
図７のステップＡ６で、プロダクト検出部１０２が、ｐｒｏｄｕｃｔｃｓｖ記憶部１２０のＰｒｏｄｕｃｔ．ｃｓｖファイルの記述内に、ＳＮＭＰ接続部１０４から受信したＳｙｓＤｅｓｃｒの文字列が存在しないことを検出した場合（Ｄ３）、自動ログイン部１０５が、ＧＵＩ部１０１から受信したＩＰアドレスの接続パターンファイルを自動ログイン用接続パターンファイル記憶部１２１から検索する（ステップＢ９）。
例えば、ＧＵＩ部１０１から受信したＩＰアドレスが１９２．１６８．１．５だとすると、接続パターンファイル名が「１９２．１６８．１．５．ａｄａｐｔｅｒ」である接続パターンファイルを、自動ログイン部１０５がｐｒｏｄｕｃｔｃｓｖ記憶部１２０から、検索する。
【０１２５】
自動ログイン部１０５は、受信したＩＰアドレスの接続パターンファイルを自動ログイン用接続パターンファイル記憶部１２１から検索できた場合（Ｅ２）、検索した接続パターンファイルに基づいて、ＧＵＩ部１０１から受信したＩＰアドレスにより指定される対象ＮＥへ、Ｔｅｌｎｅｔ接続部１０７を介して、ログインを実行する（ステップＡ７）。以降の処理は先に説明した手順と同様である。
【０１２６】
自動ログイン部１０５は、受信したＩＰアドレスの接続パターンファイルを自動ログイン用接続パターンファイル記憶部１２１から検索できなかった場合（Ｅ２）、手動ログイン部１０６が、ＧＵＩ部１０１を介してユーザＡへ、接続パターンファイルの選択かプロンプト情報の入力の選択かを表示する（ステップＢ４）。以降の処理は先に説明した手順と同様である。
【０１２７】
また、ステップＢ４の、手動ログイン部１０６が、ＧＵＩ部１０１を介してユーザＡへ、接続パターンファイルの選択かプロンプト情報の入力の選択かを表示し、ユーザＡの選択が接続パターンファイルの選択であった場合、手動ログイン部１０６は、ｐｒｏｄｕｃｔｃｓｖ記憶部１２０からプロダクトファイルの一覧を取得し、取得したプロダクトファイルの一覧を、ＧＵＩ部１０１を介してユーザＡへ表示し、ユーザＡからのプロダクトファイルの選択入力を待つ（ステップＢ８）。
【０１２８】
ユーザＡからのプロダクトファイルの選択入力を受信した手動ログイン部１０６は、受信した選択入力のプロダクトファイルをｐｒｏｄｕｃｔｃｓｖ記憶部１２０から取得し、取得した接続パターンファイルに基づいて、ＧＵＩ部１０１から受信したＩＰアドレスにより指定される対象ＮＥへ、Ｔｅｌｎｅｔ接続部１０７を介して、ログインを実行する（ステップＡ７）。以降の処理は先に説明した手順と同様である。
【０１２９】
以上のように、自動ログイン部１０５による処理において、対象ＮＥに接続できない場合においても、手動ログイン部１０６が処理を実行することにより、対象ＮＥと接続できる。
【０１３０】
なお、実施の形態として、ＩＰアドレスと関連する接続パターンファイルを、接続パターンファイル名が「１９２．１６８．１．５．ａｄａｐｔｅｒ」として生成すると説明したが、これに限られるものではなく、例えば、接続パターンファイルの中で、タグ＜ＩＰＡＤＤＲＥＳＳ＞と＜／ＩＰＡＤＤＲＥＳＳ＞との間に「１９２．１６８．１．５」と記述しておき、ファイル名は任意としてもよい。
この場合、自動ログイン部１０５は、接続パターンファイルの中でタグ＜ＩＰＡＤＤＲＥＳＳ＞と＜／ＩＰＡＤＤＲＥＳＳ＞との間の文字列が、ＧＵＩ部１０１から受信したＩＰアドレスと一致する接続パターンファイルを選択し、選択した接続パターンファイルに基づき、受信したＩＰアドレスにより指定されるＮＥに接続する機能を有するようにする。
【０１３１】
なお、実施の形態として、ＩＰアドレスと関連する接続パターンファイルを、接続パターンファイル名が「１９２．１６８．１．５．ａｄａｐｔｅｒ」として生成する（ステップＢ７）として説明したが、更に、ＩＰアドレスの後に接続パターンを生成した日時の情報を追加してユニークなファイル名を生成するようにしてもよい。
このようにして接続パターンファイルを生成することにより、自動ログイン部１０５がＧＵＩ部１０１から受信したＩＰアドレスの接続パターンファイルを自動ログイン用接続パターンファイル記憶部１２１から検索する（ステップＢ９）ときに、同じＩＰアドレスの接続パターンファイルが複数ある場合においても、自動ログイン部１０５が、例えば、生成された日時が新しい接続パターンファイルを選択するようにするようにして、１つの接続パターンファイルを選択するようにすることも可能である。
なお、接続パターンファイルにおいて、日時についての情報を、接続パターンファイルの中のタグで囲まれた情報として記述してもよい。この場合、自動ログイン部１０５は、例えば、接続パターンファイルが複数ある場合、接続パターンファイルのタグの中の日時において、日時が新しい接続パターンファイルを選択するようにする。
【０１３２】
次に、接続パターンファイルが存在しない場合に、簡単な方法で接続パターンファイルを生成し、以後の運用で対象ＮＥに自動接続するための設定処理を行なう手順を説明する。
接続パターンファイルに必要な文字列が入力されていることで、自動ログイン部１０５が自動ログインを行う手順については第１および第２の動作例にて説明した。
次に、第２の動作例で生成した接続パターンファイルを書き換えて、より汎用的な接続パターンファイルに変更する方法について述べる。
【０１３３】
例えば、第２の動作例において生成した「１９２．１６８．１．１．ａｄａｐｔｅｒ」という接続パターンファイル名の接続パターンファイル（以降、１９２．１６８．１．１接続パターンファイルとする）は、対象ＮＥのＩＰアドレスが１９２．１６８．１．１である場合（のみ）に、自動ログイン部１０５により（ステップＢ９において）選択される。
【０１３４】
従って、例えば、生成した接続パターンファイルである１９２．１６８．１．１接続パターンファイルをコピーし、接続パターンファイルのタグ＜ｐｒｏｄｕｃｔ＞とタグ＜／ｐｒｏｄｕｃｔ＞との間の文字列（任意の文字列または空白（ｎｕｌｌ文字）であり、例えば「ＸＸＸ」とする）を変更する。例えば、文字列「ＸＸＸ」を「ＡＢＣ」にする。またｐｒｏｄｕｃｔ．ｃｓｖファイルに、新たに文字列「ＡＢＣ」の文字列を追記する。
【０１３５】
これにより第１の具体例に新たに「ＡＢＣ」という文字列で動作する手順が加わることになり、容易に「ＡＢＣ」のプロダクト（ＳＮＭＰによりＳｙｓＤｅｓｃｒの文字列中に「ＡＢＣ」の文字列が出現する）である対象ＮＥへの自動ログインが実現することが可能となる。
【０１３６】
次に、図１０を用いて、対象ＮＥに、複数のログイン方法がある場合のログインについて説明する。
例えば、対象ＮＥに複数の接続ユーザが存在する場合や、ルータに管理者権限で自動ログインしたい場合と一般使用者権限でログインしたい場合とを使い分けたい場合などが該当する。
接続パターンファイルに、例えば、図１０に示すように複数のパターン（ｄｅｆａｕｌｔ、ｌｏｇｉｎ、ｅｎａｂｌｅ、ｌａｂ）の接続情報を記述しておくことで、多様なログインの方法（ログインパターン）を選択することができる。
【０１３７】
図１０の例では、タグ＜ｄｅｆａｕｌｔ＞と＜／ｄｅｆａｕｌｔ＞とで囲まれた部分、タグ＜ｌｏｇｉｎ＞と＜／ｌｏｇｉｎ＞とで囲まれた部分、タグ＜ｅｎａｂｌｅ＞と＜／ｅｎａｂｌｅ＞とで囲まれた部分、タグ＜ｌａｂ＞と＜／ｌａｂ＞とで囲まれた部分がそれぞれ異なったログインパターンとして記述されている。
それぞれｄｅｆａｕｌｔ、ｌｏｇｉｎ、ｅｎａｂｌｅ、ｌａｂというユニークな文字列で識別され、これらの文字列をユーザが選択することでログインパターンを変更し自動ログインする。
また、タグ＜ｓｅｌｅｃｔ＞と＜／ｓｅｌｅｃｔ＞とで囲まれた部分に、複数のパターンの文字列を記述しておく（ｄｅｆａｕｌｔ、ｌｏｇｉｎ、ｅｎａｂｌｅ、ｌａｂ）。
【０１３８】
この場合、手動ログイン部１０６が、選択した接続パターンファイルに、複数のログイン方法がある場合には、選択した接続パターンファイルの複数のログイン方法からログイン方法を選択し、選択したログイン方法に基づいて接続する機能を有するようにする。
【０１３９】
例えば、ステップＢ８にて、ユーザＡからのプロダクトファイルの選択入力に応じて接続パターンファイルを取得した手動ログイン部１０６が、取得した接続パターンファイルのタグ＜ｓｅｌｅｃｔ＞と＜／ｓｅｌｅｃｔ＞とで囲まれた部分に、複数のパターンの文字列があるか否かを検出する。
複数のパターンの文字列がある場合には、手動ログイン部１０６が、ＧＵＩ部１０１を介して、選択した接続パターンファイルのタグ＜ｓｅｌｅｃｔ＞と＜／ｓｅｌｅｃｔ＞とで囲まれた文字列（例えば、ｄｅｆａｕｌｔ、ｌｏｇｉｎ、ｅｎａｂｌｅ、ｌａｂ）をユーザＡに表示し、表示した文字列からのユーザＡによる選択入力を待つ。
【０１４０】
次に、手動ログイン部１０６が、表示した文字列からのユーザＡの選択入力（例えばｅｎａｂｌｅ）を受信した場合、受信した選択入力のタグで囲まれる接続情報に基づき、ＧＵＩ部１０１から受信したＩＰアドレスにより指定される対象ＮＥへ、Ｔｅｌｎｅｔ接続部１０７を介して、ログインを実行する（ステップＡ７）。
【０１４１】
なお、自動ログイン部１０５は、対象ＮＥとの接続のために選択した接続パターンファイルに複数のログイン方法がある場合には、ｄｅｆａｕｌｔのログイン方法により接続する。このようにすることにより、ユーザが自動接続を選択した場合には、ユーザは、接続パターンファイルに複数のログイン方法がある場合においても、ログイン方法の選択をする必要がなく、対象ＮＥに接続することが出来る。
【０１４２】
以上説明したように、本実施の形態においては、ＮＥの製造ベンダ（製造元の名称）や、ＮＥのＯＳ、ＮＥのＯＳのバージョンなどと関連づけて、予めユーザ名やパスワードなどＮＥと接続するための接続情報を予め記憶装置に記憶しておく。
【０１４３】
まず、接続対象ＮＥのＩＰアドレスをユーザからユーザインタフェースを介して取得する。接続対象ＮＥのＩＰアドレスを取得する方法は、ＩＰアドレスをユーザが直接入力する方法や、ソフトウェアのＧＵＩにおいて接続対象ＮＥを選択させるアイコンをクリックして指定する方法を用いてもよい。
【０１４４】
次に取得したＩＰアドレスを持つ接続対象ＮＥのＣＬＩ上のインタフェース仕様を特定する。インタフェース仕様はＮＥのＯＳに依存することが多く、ＮＥのＯＳ種別が特定できれば、ＮＥが送信する文字列情報のパターンすなわちＣＬＩログインのインタフェース仕様を特定できる。
そのために、まずＳＮＭＰによってＮＥからＭＩＢ−ＩＩのＳｙｓＤｅｓｃｒオブジェクトのパラメータを取得し、ＮＥやＯＳの製造ベンダ、ＯＳのバージョンなどを特定する。
次に、特定したＮＥのＯＳ、ＯＳのバージョン、製造ベンダなどに基づき、記憶装置から接続情報を検索し、検索した接続情報に基づいて、接続対象ＮＥへ接続する。
【０１４５】
なお、ＳＮＭＰエージェントと通信できない場合や、ＳＮＭＰによる通信を行ないたくない場合には、あらかじめ製造ベンダ名をＩＰアドレスと共にソフトウェアに入力してもよい。または、あらかじめ接続前に対象ＮＥのプロダクトがわかっている場合は、次の処理で行なう対象ＮＥ用のＸＭＬファイルを、手動で直接選択してもよい。
【０１４６】
以上説明した本発明により、製造プロダクトやＮＥのＯＳのバージョンなどの違いにより、ＣＬＩ上でＮＥから送信される文字列情報の仕様が異なる複数のＮＥに対し自動ログインすることができ、特に新しいＮＥの導入時やＯＳのバージョン更改などで上記仕様が異なり接続できない場合でも、プログラミングによる再実装などの手順やエージェント技術を必要とせずにすぐに自動接続ができる。
【０１４７】
また、以上説明した本発明により、仕様がそれぞれ異なるＮＥに対し、ログインユーザ名、ログインパスワード、ユーザの権限を変更する特殊なコマンド（ＵＮＩＸ（登録商標）のＣＬＩにおけるｓｕコマンドやルータＣＬＩにおけるｅｎａｂｌｅなど）といったパラメータや、ＮＥから送信される文字列情報のインタフェース仕様を、接続パターンファイルと呼ぶＸＭＬ形式のテキストファイルに記述しておき、インタフェース仕様（対象ＮＥのシステム情報）を読み込む機能と、インタフェース仕様に従ってＮＥに対して適切な文字列を送信し自動でログインする機能と、複数の異なる仕様を持つＮＥに対して接続パターンファイルに記述された文字列情報の違いによって自動ログインするために送信する文字列情報を変更し、ユーザが意識することなく自動ログインすることができる。
【０１４８】
また、以上説明した本発明により、ＳＮＭＰによって対象プロダクトやＯＳの情報を取得することで、複数あるＸＭＬファイルからどの情報を用いて自動ログインするかを、自動で選択し、ログインすることができる。また、対象ごとに異なるＸＭＬファイルを適用させるルールを登録する機能を有し、そのルールによって特定のＮＥに特定のＸＭＬファイルを適用し、パスワードやユーザ名が異なっていても自動接続を行うことができる。
【０１４９】
以上のように、本発明を用いると、オペレータが手動でＣＬＩを利用し接続する知識のみしか持たない場合でも、以降のＮＥに対する自動接続設定を可能とする。
また、ＮＥの製造ベンダやＯＳの違いにより、プロンプト情報の応答などインタフェース仕様が異なる多種類のＮＥに対する接続を自動で行なうことができる。ＮＥの製造ベンダやＯＳの違いにより、プロンプト情報の応答などインタフェース仕様が異なる多種類のＮＥに対する接続を上記の方法により自動で行なうことができない場合でも、手動でＣＬＩを利用し接続する場合と同等の知識のみで最初の一回以後の処理を自動接続する設定が可能となる。
【０１５０】
また、未知でかつインタフェース仕様が異なるＮＥを監視することになった場合でも、ネットワーク管理装置のアプリケーションプログラムの開発・実装を行なうことなく、自動接続を行う設定ができる。
また、自動接続のみならず、権限の変更コマンドなど接続時に自動で行ないたい処理の設定を、オペレータが手動でＣＬＩを利用し接続する場合と同等の知識のみある場合でも可能となる。
また、自動接続のみならず、権限の変更コマンドなど接続時に自動で行ないたい処理の設定を、ネットワーク管理装置のアプリケーションプログラムの開発・実装を行なうことなく可能となる。
【０１５１】
また、ユーザ名やパスワードが異なる複数の対象に対し、自動接続が可能となる。
したがって、新規ＮＥを導入し管理対象とする場合においても、ネットワーク管理装置の開発にかかる期間やコスト、手間を一切かけることなく、自動接続および以後の設定処理を継続することができる。
【０１５２】
また、本発明は、ＣＬＩの接続に関係する応答を読み込む機能、ＳＮＭＰによる対象のプロダクトを判定する機能、ＸＭＬによる設定定義を読み込み自動接続する機能を有することにより、設定を必要とせずに自動接続を行うことが可能となる。
また、本発明は、ＸＭＬの設定定義を表示・変更する複数のユーザインタフェースによる簡単化、設定定義の自動生成を行う機能、ＸＭＬ設定定義を選択する機能を有していることにより、ＣＬＩによる設定業務に必要なスキルや知識のみを用いるだけで、自動接続の設定を行い以後の自動接続を実現することが可能となる。
【０１５３】
次に、図１１を用いて、ＮＥのＳｙｓＤｅｓｃｒ情報と、Ｐｒｏｄｕｃｔ．ｃｓｖファイルに含まれる文字列と、接続パターンファイルの＜ｐｒｏｄｕｃｔ＞＜／ｐｒｏｄｕｃｔ＞タグで囲まれる文字列との関連と、その動作について補足する。
図１１の（１）に示すように、例えば、ＮＥ１からＮＥ１０がある。
ここで、ＮＥの管理において、ＮＥ１からＮＥ６は同じ接続方法であり（接続情報として、接続のためのユーザ名やパスワードなどが同じ）、また、ＮＥ７からＮＥ１０は同じ接続方法であるとする。
ここで、ＮＥ１からＮＥ６までから取得したシステム情報であるＳｙｓＤｅｓｃｒ情報は、ベンダがベンダ１であり、それぞれのＯＳがＯＳ２からＯＳ７である、という情報を（文字列として）含んでいるとする。
また、ＮＥ７からＮＥ１０までから取得したシステム情報であるＳｙｓＤｅｓｃｒ情報は、ＯＳがＯＳ１であり、それぞれのベンダがベンダ２からベンダ５である、という情報を（文字列として）含んでいるとする。
【０１５４】
例えば、図１１（３）に示すように、Ｐｒｏｄｕｃｔ．ｃｓｖファイルに含まれる文字列が「ベンダ１」と「ＯＳ１」である場合、それぞれのＮＥのシステム情報であるＳｙｓＤｅｓｃｒ情報（の中の文字列の情報で）で、Ｐｒｏｄｕｃｔ．ｃｓｖファイルに含まれる文字列と一致する情報は、図１１（２）に示すように、ＮＥ１からＮＥ６は「ベンダ１」であり、ＮＥ７からＮＥ１０は「ＯＳ１」となる。
【０１５５】
次に、実施の形態においては、図１１（４）に示す接続パターンファイルの＜ｐｒｏｄｕｃｔ＞＜／ｐｒｏｄｕｃｔ＞タグで囲まれる文字列が、図１１（２）に示した文字列と一致する接続パターンファイルを選択し、選択した接続パターンファイルの接続情報を用いて、それぞれのＮＥに接続することが可能となる。
ここで、図１１の（３）と（４）に示すように、Ｐｒｏｄｕｃｔ．ｃｓｖファイルに含まれる文字列と、接続パターンファイルの＜ｐｒｏｄｕｃｔ＞＜／ｐｒｏｄｕｃｔ＞タグで囲まれる文字列は一致する。
【０１５６】
また、図１１のようにＮＥ１からＮＥ１０がある場合において、新規にＯＳがＯＳ１であるＮＥ１１が増設された場合においても、ＮＥ１１にＯＳ１の場合の接続方法を設定することのみで、ＮＥ１１に接続することが可能となる。これは、ＮＥ１１のシステム情報の一部がＯＳ１と一致し、ＯＳ１の接続パターンファイルが選択され、選択されたＯＳ１の接続パターンファイルに基づきＮＥ１１に接続することによる。
また、新規にベンダがベンダ１であるＮＥ１２が追加された場合においても、ＮＥ１２にベンダ１の場合の接続方法を設定することのみで、ＮＥ１２に接続することが可能となる。これは、ＮＥ１２のシステム情報の一部がベンダ１と一致し、ベンダ１の接続パターンファイルが選択され、選択されたベンダ１の接続パターンファイルに基づきＮＥ１２に接続することによる。
【０１５７】
〔第１の具体例〕記録
次に、上記説明した自動接続を用いた場合の、スクリプトファイルの生成について説明する。まず第１の具体例として、ユーザＡによる設定処理の記録手順について述べる。
例えば、ユーザＡは、図２の対象選択画面より、接続するＮＥ２をアイコンにより選択する。次に、図１の自動接続部１７１が、選択されたＮＥ２と接続する。
ここで、自動接続部１７１が、選択されたＮＥ２と接続する方法は、図７から図８を用いて説明したように、選択されたＮＥ２に対応する接続パターンファイルを自動ログイン接続パターンファイル記憶部１２１から選択し、選択した接続パターンファイルに基づき自動接続部１７１（または、より詳細には自動ログイン部１０５）が、ＮＥ２と接続の処理を実行する。
接続が完了した後、ユーザＡが図２の記録開始ボタンを押すことにより、図３を用いて説明したように、ユーザＡの入力とＮＥ２からの応答とに基づいて、スクリプト生成部１４２がスクリプトを生成する。
【０１５８】
ここで、スクリプト生成部１４２が生成するスクリプトには、自動接続の情報を含めることが可能である。
例えば、自動接続部１７１（または、より詳細には自動ログイン部１０５）が、選択した接続パターンファイルに基づきＮＥ２と接続の処理を実行するときに、選択した接続パターンファイルを識別する情報、例えば接続パターンファイルのファイル名を、選択接続パターンファイル識別情報として記憶しておく。ここでは、選択接続パターンファイル識別情報である接続パターンファイルのファイル名を、「ＲｅｄＰａｔｔｅｒｎ．ｘｍｌ」として説明する。
説明の簡略のため、「自動接続部１７１（または、より詳細には自動ログイン部１０５）」を、「自動接続部１７１」として説明する。
【０１５９】
接続が完了した後、ユーザＡが図２の記録開始ボタンを押すことにより、自動接続部１７１が、選択接続パターンファイル識別情報を、スクリプト生成部１４２に送信する。
ユーザＡが図２の記録開始ボタンを押すことにより、スクリプト生成部１４２は、スクリプトを生成するが、生成するスクリプトに、自動接続部１７１から受信した選択接続パターンファイル識別情報に基づいて、選択接続パターンファイル識別情報により自動接続するためのスクリプトを生成する。
この場合、例えば、ファイル名が「ＲｅｄＰａｔｔｅｒｎ．ｘｍｌ」である接続パターンファイルにより、自動接続するためのスクリプトを生成する。具体的には、後述する図１２の（Ｗ１）から（Ｗ４）の行である。
その後、スクリプト生成部１４２は、図３を用いて説明したように、ユーザＡの入力とＮＥ２からの応答とに基づいて、スクリプト生成部１４２がスクリプトを生成する。具体的には、後述する図１２の（Ｗ５）から（Ｗ１８）の行である。
【０１６０】
次に、自動実行部１４４は、スクリプトに基づいて実行する場合において、接続パターンファイルにより自動接続するための記述をスクリプトファイルから検出すると、検出した選択接続パターンファイル識別情報を、自動接続部１７１に送信する。
例えば、スクリプトの中に選択接続パターンファイル識別情報が、ファイル名が「ＲｅｄＰａｔｔｅｒｎ．ｘｍｌ」である接続パターンファイルにより接続する記述である場合、自動実行部１４４は、選択接続パターンファイル識別情報を、つまりファイル名が「ＲｅｄＰａｔｔｅｒｎ．ｘｍｌ」である接続パターンファイルにより接続するという情報を、自動接続部１７１に送信する。
【０１６１】
選択接続パターンファイル識別情報を受信した自動接続部１７１は、受信した選択接続パターンファイル識別情報に基づいて、自動ログイン接続パターンファイル記憶部１２１から選択し、選択した接続パターンファイルに基づき、ＮＥ２と接続の処理を実行する。この場合、ファイル名が「ＲｅｄＰａｔｔｅｒｎ．ｘｍｌ」である接続パターンファイルが選択される。
【０１６２】
以上のようにして生成された、自動接続の部分を含んだスクリプトファイルの一例を、図１２を用いて説明する。なお、図１２においては、スクリプトの行を図１２の右側に示しており、以下に、図１２のスクリプトの行毎に説明を行う。
【０１６３】
（Ｗ０）ｆｕｎｃｔｉｏｎ  ｍａｉｎ（）｛
スクリプトの単位を示す記述である。例ではｆｕｎｃｔｉｏｎ  ｍａｉｎ（）｛｝内の記述をスクリプトの単位として表現している。なお、処理の始まりと終わりとが明示的に示されるならば、どのような記述でも構わない。
なお（Ｗ０）の行は、接続記録開始と同時に、スクリプトに記録される。
【０１６４】
（Ｗ１）ｖａｒ  ｔｅｌｎｅｔ＝ｎｅｗＴｅｌｎｅｔ（）；
接続手段としてＴｅｌｎｅｔを用いることを明示的に宣言している。例えばＦＴＰにより接続する場合には、ｖａｒ  ｆｔｐ  ＝ｎｅｗＦＴＰ（）；といった記述により明示的に接続手段を記述する。
例で示しているｖａｒといった記述は、明示的に接続手段が判断できる記述ならばどのようなものでも構わない。例では、Ｔｅｌｎｅｔ接続を表すｔｅｌｎｅｔというインスタンスを生成していることを示している。接続記録開始と同時に記録される。Ｔｅｌｎｅｔで接続した場合には例に示したように記録されるというように、接続手段によって記述が決定される。
【０１６５】
（Ｗ２）ｖａｒ  ｐａｔｔｅｒｎ＝Ｐａｔｔｅｒｎ（ＲｅｄＰａｔｔｅｒｎ．ｘｍｌ、ｌａｂ）：
自動ログインするために必要な、ユーザ名やログインパスワードといった情報を選択する情報を示す。例では、接続ファイルとしてＲｅｄＰａｔｔｅｒｎ．ｘｍｌというファイルを読み込み、その中のｌａｂというパターンを選択してログインすることを宣言している。
このパターンやｘｍｌファイルを変更することでユーザ名等を変更してログインすることができる。自動接続しない場合にはこの記述を記録しないこともできる。また、ユーザ名やパスワードを直接このスクリプト内に記述する方法をとることもできる。
接続するタイミングで接続パターンが一意に決まり、接続記録開始と同時に記録される。
例として、本スクリプトファイルが参照するＲｅｄＰａｔｔｅｒｎ．ｘｍｌファイルを図１３に示す。これについては、後に詳述する。
【０１６６】
（Ｗ３）ｔｅｌｎｅｔ．ｓｅｔＴｉｍｅｏｕｔＳｅｃｏｎｄｓ（１０）；
接続後、応答が一定時間以上認められなかった場合、自動的にコネクションを切断する場合の時間を指定する。例では引数の（１０）の設定により、１０秒返事がなかった場合に切断する処理となっている。
また、引数の値を、例えば（−１）と設定することでタイムアウトによる切断処理を行なわず、応答を待ち続けるように動作させても良い。また、タイムアウトによる設定を記述せずに動作させるようにしても良い。
また、語頭のｔｅｌｎｅｔという文字列は（Ｗ１）で宣言したインスタンスｔｅｌｎｅｔを示しており、Ｔｅｌｎｅｔ接続における処理に対する命令であることを明示的に示している。
この記述は接続記録開始と同時に記録される。数値（例では１０）は接続記録開始時にあらかじめ決定されており、一意であるものとする。この数値はスクリプトファイルに記述後、ユーザＡがＧＵＩ部１０１の画面上から自由に書き換えられるものとする。
【０１６７】
（Ｗ４）ｔｅｌｎｅｔ．ａｕｔｏＬｏｇｉｎ（ｐａｔｔｅｒｎ）；
（Ｗ１）で宣言したＴｅｌｎｅｔ接続にて、自動接続をする命令を示す記述である。この記述により、本発明のアダプタ生成装置は対象ＮＥに接続する。例では、（Ｗ２）で宣言したｐａｔｔｅｒｎにて示されたパターンにより接続を試みる。
接続記録開始時に記述される。
【０１６８】
（Ｗ０）から（Ｗ４）は、ＮＥ２と接続し、記録開始ボタン（図２または図３参照）が押した時点で上記の順で同時にスクリプトに記述される。
【０１６９】
（Ｗ５）ｔｅｌｎｅｔ．ｗａｉｔ（‘Ｔｏ’）；
（Ｗ６）ｍａｔｃｈ＝ｔｅｌｎｅｔ．ｗａｉｔＰｒｏｍｐｔ（‘ｏ＞’）；
接続後、ＮＥの応答の最後の行の一部を記録したものが（Ｗ５）と（Ｗ６）である。
例では、ログイン後、ＮＥ２の応答が「Ｔｏｋｙｏ＞」だった場合の記述例である。（Ｗ５）は最後の行の頭文字を記述する。（Ｗ６）は最後の行の行末文字を記録する。
記録される文字は、ＮＥ２から応答された文字のうち、一意になるパターンを記述するようにする。例では、最後の行の前に、Ｔという文字が含まれているため、（Ｗ５）の記述がＴｏとなる。また、〉という文字が含まれるため（Ｗ６）の記述はｏ〉となる。
【０１７０】
例えば、Ｔｂという文字が応答の中に含まれている場合はＴｏｋと記述される。参考例を図１４に示す。
【０１７１】
記述のルールにおいて、この記述を用いて後に自動処理を行なう場合、「ｍａｔｃｈ＝」が記述されている行のパターンのみ有効とするといった処理を行なうこともできる。
例えば、ｍａｔｃｈ＝が記述されていない行は無視し、ｍａｔｃｈ＝が記述されている行のみ、最後の行の行末に特定された文字列が検出された場合のみ、次の行を実行する。なお（Ｗ５）のパターンは無視する。
最後の行の行末に「ｏ〉」が検出された場合のみ、以降の処理を継続する。
なお、（Ｗ５）の行頭に文字列「ｍａｔｃｈ＝」を記述する場合、最後の行の行頭に「Ｔｏ」が検出された場合のみ以降の処理を継続するといった処理に変更される。
【０１７２】
以上のように決めることにより、例えば、ｍａｔｃｈ＝記述を検出した場合、ＮＥ２からの受信する応答の文字列の行頭が「Ｔｏ」であることを検出するまで待機する。検出できた場合、次の行へ進む。検出できなかった場合、例えば、予め決められた時間内に接続したＮＥ２からの応答があるか否かにより、以降のよりを続けるか、接続を切断するかの、の処理を実行する。
この場合、「ｍａｔｃｈ＝」が記述されないことにより（Ｗ５）の行は実行されないが、（Ｗ５）の行に応答の文字列の行頭が表示されるため、ユーザＡがスクリプトを見た場合に、確認がしやすい、という効果がある。
【０１７３】
（Ｗ７）ｔｅｌｎｅｔ．ｓｅｎｄ（‘ｅｎａｂｌｅ’）；
ユーザＡが送信するコマンド文字列が記述されている。
（Ｗ７）ではｔｅｌｎｅｔ上でｅｎａｂｌｅというコマンドをユーザＡがＣＬＩ部１３１にて入力し送信した場合に記述された例が示されている。
ＮＥ２に実際に送信するまでを一塊として記述する。
【０１７４】
（Ｗ８）ｔｅｌｎｅｔ．ｓｅｎｄＳ（‘Ｅｎｔｅｒ’）；
ユーザＡがＥｎｔｅｒ（またはＲｅｔｕｒｎ）キーなどを操作し、コマンドをＮＥ２に送信した場合に記録される。ｓｅｎｄＳの文字列Ｅｎｔｅｒは実際にＥｎｔｅｒとコマンドをうったのではなく、Ｅｎｔｅｒキーを押したことを明示的に示している。
【０１７５】
（Ｗ５）（Ｗ６）（Ｗ７）（Ｗ８）は、コマンドがＮＥ２に送信された時点で上記の順で同時に記述される。
【０１７６】
例ではＥｎｔｅｒキーが押下された時点で（Ｗ５）から（Ｗ８）の記述が記録される。
この後はユーザＡによる処理およびＮＥの応答の一部が上記（Ｗ５）から（Ｗ８）の記述に従って記述される。（Ｗ９）から（Ｗ１２）、（Ｗ１３）から（Ｗ１６）がユーザＡによって記述された例である。
【０１７７】
（Ｗ１７）ｔｅｌｎｅｔ．ｄｉｓｃｏｎｎｅｃｔ（）；
（Ｗ１８）｝
ユーザＡまたはＮＥによってコネクションが切断された場合、切断を明示的に示す記述が記録される。このとき、スクリプト記述の終わりを示す（Ｗ１８）の記述が同時に記録される。
【０１７８】
スクリプトには（Ｗ５）から（Ｗ８）、（Ｗ９）から（Ｗ１２）、（Ｗ１３）から（Ｗ１６）のような４種の情報がどの種類の情報に属するかを判別する情報が自動的に追加される。スクリプト例に限らず、４種の情報を識別できるものである。
例えば、上記に説明したＵ１からＵ４の４種の情報を、それぞれ識別できるように、「ｔｅｌｎｅｔ．ｗａｉｔ」、「ｍａｔｃｈ＝ｔｅｌｎｅｔ．ｗａｉｔＰｒｏｍｐｔ」、「ｔｅｌｎｅｔ．ｓｅｎｄ」、「ｔｅｌｎｅｔ．ｓｅｎｄＳ」と、それぞれ異なるスクリプトのコマンドの引き数として記述する。
【０１７９】
なお、ログおよびスクリプトはユーザＡが管理対象であるＮＥ２に接続し切断するまでをひとつの記録単位とし記録されるものとする。つまりスクリプトは接続された際に記録開始しコマンドが入力されるたびに４種類の情報記録を繰返し切断された際に記録終了する。このとき、４種類の情報のほかに、接続対象のＩＰアドレス、ログインユーザ名、ログインパスワードといった接続に必要な情報をスクリプトファイル内に記録することができる。
なお、切断時、ログおよびスクリプトにＧＵＩを通じファイル名を登録させてもよい。また、切断時間や接続時間、対象のＩＰアドレスなどを利用し一意のファイル名を自動的に追加しても良い。
【０１８０】
なお、接続、切断を単位とするのではなく全ての記録を一つのファイルに別途まとめて記録しても良い。
また、このときキャプチャ部１４１はＣＬＩ上の表示情報を保存しなくともよい。その場合、本アダプタ生成装置は、通常のＣＬＩを有するソフトウェアとして機能する。
なお、スクリプトの記録はユーザＡによってＣＬＩ上で行なわれる接続処理、コマンド送信と受信の対話型処理、切断処理と並行して進められ、ユーザＡの動作と同時にスクリプトコードが生成され、ＧＵＩ上に表示される。しかし、ＧＵＩ上に表示せず、スクリプトを保存することとしてもよい。
スクリプトは４種類の情報を、コマンド送信のたびに追記していくこととし、記録される順番は必ずコマンド送信と同じ順番で記録されるものとする。
【０１８１】
図１３は接続パターンファイルの一例である。なお、この接続パターンファイルは、図１０に説明した接続パターンファイルと同様のものである。
接続パターンファイルには、複数のパターンを記述できる。例えば、図１３においては、ｄｅｆａｕｌｔとｌａｂという二つのパターンが記述されている。なお、接続パターンファイルは、一例としてはＸＭＬで記述されているが、同様の別形式で保存されていても構わない。
【０１８２】
また、ログイン名（例では＜ＬｏｇｉｎＮａｍｅ＞と＜／ＬｏｇｉｎＮａｍｅ＞とにより囲まれる文字列）とパスワード名（例では＜Ｐａｓｓｗｏｒｄ＞と＜Ｐａｓｓｗｏｒｄ／＞とにより囲まれる文字列）、ログイン名を送信する前に検出しなければならない文字列（例では＜ＬｏｇｉｎＰｒｏｍｐｔ＞と＜／ＬｏｇｉｎＰｒｏｍｐｔ＞とにより囲まれる文字列）、パスワードを送信する前に検出しなければならない文字列（例では＜ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞と＜／ＰａｓｓｗｏｒｄＰｒｏｍｐｔ＞とにより囲まれる文字列）、が記述されている。
【０１８３】
また、記録する際に、Ｅｎｔｅｒキーと同様にｓｅｎｄＳに記述されるべき文字列を記述することができる。例えば、＜ｓｐｅｃｉａｌ−ｋｅｙ＞？＜／ｓｐｅｃｉａｌ−ｋｅｙ＞であり、この記述がある場合、＜ｓｐｅｃｉａｌ−ｋｅｙ＞と＜／ｓｐｅｃｉａｌ−ｋｅｙ＞とで囲まれる文字列である「？」を？キーとしてユーザが送信すると、Ｅｎｔｅｒキーを押したようにコマンドを送信するようにされるようになる。
また、多くの応答情報があった際に画面送りを自動で行なうように、あらかじめ画面送りを自動で行なうコマンドを記述しておくことができる。例では＜ｐａｇｅｒ−ｏｆｆ−ｃｍｄ＞ｔｅｒｍｉｎａｌ  ｌｅｎｇｔｈ  ０＜／ｐａｇｅｒ−ｏｆｆ−ｃｍｄ＞の記述であり、再生時にこのＰａｔｔｅｒｎファイルが選択された場合、自動ログイン後にｔｅｒｍｉｎａｌｌｅｎｇｔｈ  ０  コマンドを送信する。この場合、ｔｅｒｍｉｎａｌｌｅｎｇｔｈ  ０  コマンドは、画面送りを自動で行なうコマンドである。
【０１８４】
〔第２の具体例〕再生、再利用
第１の具体例では、ユーザＡによる操作をスクリプトおよびログとして記録する方法について述べた。
次に、記録したスクリプトを用いて自動実行する手順について説明する。
ユーザＡは、ＧＵＩ部１０１を介してアダプタファイル記憶部１５３に保存してあるスクリプトを選択する。このとき接続対象となるＮＥ２をユーザＡがＩＰアドレスを入力するなどして指定する。ただし、スクリプトに接続先のＩＰアドレスやログインユーザ名、パスワードが書いてある場合はその情報を利用し、自動接続をしてもよい。
ここでは、一例として、図１２のスクリプトを選択し、図１２のスクリプトを実行した際のアダプタ生成装置１の自動実行部１４４の動作について説明する。
【０１８５】
まず、選択されたスクリプトファイルの（Ｗ０）の行を抽出し、ｆｕｎｃｔｉｏｎ  ｍａｉｎ（）と書かれているか否かを検出することにより、選択されたスクリプトファイルがスクリプトであるか否かを検出する。
スクリプトファイルであることを検出した場合には、次の行である（Ｗ１）を実行する。スクリプトファイルでないことを検出した場合には、例えば、ワーニングメッセージを表示し以降の処理を中断する。
ここでは、スクリプトファイルであることを検出するため、次の行に進む。
【０１８６】
次に、（Ｗ１）の行を抽出し、Ｔｅｌｎｅｔによる接続であることを検出し、Ｔｅｌｎｅｔセッションを起動する。
次に（Ｗ２）の行を抽出し、利用するログインパターンがＲｅｄＰａｔｔｅｒｎ．ｘｍｌのｌａｂというパターンであることを検出する。
次に（Ｗ３）の行を抽出し、ＮＥ２の応答が１０秒確認できない場合、コネクションを切断することを決定する。
ここでは、１０秒以内にＮＥ２からの確認があるものとして説明する。
【０１８７】
次に（Ｗ４）の行を抽出し、（Ｗ２）に記述しているログインパターンに基づいて、自動接続部１７１を介してＮＥ２に接続する。
接続が成功した場合、ＮＥ２から応答がある。
【０１８８】
次に（Ｗ５）の行を抽出する。（Ｗ５）の行から文字列「ｍａｔｃｈ＝」を検出しないため、（Ｗ５）の行は無視して、次の行に進む。
なお、文字列「ｍａｔｃｈ＝」記述を検出した場合には、ＮＥ２からの応答の行頭が「Ｔｏ」であることを検出するまで待機する。検出した場合、次の行へ進む。検出できなかった場合、（Ｗ３）の行で示されたように１０秒間応答を待ち、１０秒以内に検出できなかった場合、ＮＥ２との接続を切断する。
【０１８９】
次に（Ｗ６）の行を抽出する。（Ｗ６）の行から文字列「ｍａｔｃｈ＝」を検出するため、指定される文字列「ｏ〉」が応答の文字列の行末に検出するまで待機する。行末に検出しない場合、（Ｗ３）の行で示されたように１０秒間応答を待ち、１０秒以内に検出できなかった場合、ＮＥ２との接続を切断する。１０秒以内に検出した場合、次の行へ進む。
ここでは、１０秒以内に文字列「ｏ〉」を検出できた場合について説明する。
【０１９０】
次に（Ｗ７）の行を抽出し、（Ｗ７）のｓｅｎｄ行にある「ｅｎａｂｌｅ」文字列をＮＥ２に送信する。
次に（Ｗ８）の行を抽出し、（Ｗ８）のｓｅｎｄＳ行にある「Ｅｎｔｅｒ」を検出し、Ｅｎｔｅｒキー送信時に送信される文字コードをＮＥ２に送信する。
【０１９１】
以降、（Ｗ９）から（Ｗ１６）については、上記（Ｗ５）から（Ｗ８）の処理と同様に繰り返す。
その後（Ｗ１７）の行を検出し、Ｔｅｌｎｅｔを切断する。
以上のように、スクリプトファイルに基づいて自動実行部１４４が以上の処理を実行したことにより、ユーザＡがスクリプトを記録した時と同じ処理を繰り返すことが可能となる。
【０１９２】
以上の方法により、ユーザＡはＣＬＩ部１３１上の操作を行なうだけで、全く同様の処理を行なうマクロに相当するスクリプトを生成したこととなる。
またエディタ機能を具備したＧＵＩ部１０１上にスクリプトを表示することで、スクリプトの情報を変更することができるため、例えばコマンド文字列を変更することで送信されるコマンドが変わり、処理内容が変更される。処理内容が異なるマクロ相当の機能をコマンドの書き換えだけで生成することができる。
【０１９３】
また、（Ｗ５）の情報のみに合致した場合に次のコマンドを送信したり、（Ｗ５）（Ｗ６）の情報に合致しなくとも次のコマンドを送信したりといった条件を変更することもできる。
このとき、ＮＥ２からの応答が多く、一画面で表示できない場合のページ送りを自動で行なうために、接続直後にページ送りを自動で行なうコマンドを送信しておく方法をとることができる。
また、タイマー部１４５によりスクリプトと対象を指定し、同時に時間を指定することで、毎日１度スクリプトを行なうなどタイマー設定、スケジューリングによる予約実行指定が可能となる。
【０１９４】
〔第３の具体例〕アダプタ化
次に、第１の具体例で生成したスクリプトファイルを、汎用のスクリプト言語であるアダプタファイルに変換する手順について説明する。第１の具体例で生成したスクリプトは、第２の具体例のような手順でユーザＡが処理内容を再利用するために必要な、例えば図１２の（Ｗ５）（Ｗ６）（Ｗ７）（Ｗ８）の行のような、ＮＥ２から受信する最終行の文字列の先頭の文字列と最後の文字列と、それに応じて送信するコマンドの文字列と送信コードとの、４種の情報に限定することで、ユーザＡが見やすく、変更しやすい利点があるが、本発明のアダプタ生成装置１上でしか実行ができない。
【０１９５】
このスクリプトを汎用のスクリプト言語に変換することで、該スクリプト言語が動作する環境ならばどこでもその機能が実行することが可能となり、該スクリプト言語のファイルを外部システムが遠隔実行することが可能となる。したがって第１の具体例で生成したスクリプトがアダプタとして機能することが可能となる。
【０１９６】
図１５にスクリプトファイルをＥｘｐｅｃｔフォーマットに変換する例を示す。なお、Ｅｘｐｅｃｔとは、対話的なプログラムとのやりとりを自動化するプログラムである。なお、ここでは、Ｅｘｐｅｃｔについて説明しているが、ｐｅｒｌなどの言語でもよい。
【０１９７】
また、図１６から図１８に、アダプタ生成部１４３が実行する第１の具体例で示したスクリプトをＥｘｐｅｃｔ言語に変換するルール例を示す。アダプタ生成部１４３が、このルールに従ってスクリプトファイルを変換することにより、Ｅｘｐｅｃｔ言語で記述されたアダプタファイルが一意に生成される。
なお、図１６から図１８に示すスクリプトをＥｘｐｅｃｔ言語に変換するルールは、変換ルール記憶部１５５に予め記憶されているものである。
【０１９８】
〔第４の具体例〕アダプタ機能追加
次に、アダプタファイルに第３の具体例から変換される以外の機能、つまり、ユーザＡのＮＥ２に対する操作のキャプチャからは得られない情報を、アダプタファイルに追加記述する手順について説明する。
【０１９９】
まずユーザＡは、ＧＵＩ部１０１を介して、アダプタ生成部１４３またはアダプタファイル記憶部１５３からアダプタファイルを選択し、ＧＵＩ部１０１に選択したアダプタファイルの内容を表示する。
Ｅｘｐｅｃｔなどスクリプト言語で記述されたアダプタファイルには、ＮＥ２との通信のやり取りがパターン化されて記述されており、アダプタ生成部１４３がそのパターンにあわせて追加挿入可能な記述パターン（追加挿入可能記述）を、追加記述の推薦としてＧＵＩ部１０１を介してユーザＡに提示し、また、提示した記述パターンを挿入するか否かの選択の情報、例えば「挿入する」ボタンまたは「挿入しない」ボタンの選択を、ＧＵＩ部１０１を介してユーザＡに提示する。
【０２００】
なお、追加挿入可能な記述パターンは、アダプタ追加パターンファイルルール記憶部１５４に予め記憶してあるものである。アダプタ追加パターンファイルルール記憶部１５４には、アダプタファイルに記述されるパターンと、追加挿入可能な記述パターンとが関連づけられて記憶されている。なお、追加挿入可能な記述パターンとは、分岐処理や制御処理のための記述であり、また、例えばｅｘｐｅｃｔにより記述されている記述である。
アダプタ生成部１４３は、アダプタファイルの記述されるパターンに基づいて、アダプタ追加パターンファイルルール記憶部１５４から追加挿入可能な記述パターンを検索し、追加記述の推薦としてＧＵＩ部１０１を介してユーザＡに提示する。
【０２０１】
ユーザＡはその提示に対し、「挿入する」ボタンまたは「挿入しない」ボタンのいずれか一方を押すことにより、挿入するか否かの選択の情報を、ＧＵＩ部１０１を介して入力する。
ＧＵＩ部１０１は、ユーザＡが入力した選択の情報をアダプタ生成部１４３に送信し、ユーザＡの選択が「挿入する」である場合には、アダプタ生成部１４３が、提示した追加挿入可能な記述パターンを、アダプタファイルに挿入する。
追加が完了すると、アダプタ生成部１４３が、追加挿入可能な記述パターンが追加されたアダプタファイルを、アダプタファイル記憶部１５３に保存する。
【０２０２】
つまり、アダプタ追加パターンファイルルール記憶部１５４には、アダプタファイルに記述されるパターンと、追加挿入可能な記述パターンとがアダプタ追加パターンファイルルールとして関連づけられて記憶されている。
アダプタ生成部１４３は、ＧＵＩ部１０１からユーザＡにより選択されたアダプタファイルをアダプタファイル記憶部１５３から読み出し、読み出したアダプタファイルの記述パターンに基づいて、アダプタ追加パターンファイルルール記憶部１５４から追加挿入可能な記述パターンを抽出し、抽出した追加挿入可能な記述パターンを、アダプタファイルに追記する。
なお、アダプタ生成部１４３は、抽出した追加挿入可能な記述パターンが複数ある場合には、複数の抽出した追加挿入可能な記述パターンをユーザＡにＧＵＩ部１０１を介して表示し、複数の抽出した追加挿入可能な記述パターンの中から選択された抽出した追加挿入可能な記述パターンを追加するようにする。
【０２０３】
以下、具体的な機能例と機能記述の挿入例について説明する。
まず、Ｅｘｐｅｃｔの記述例について説明する。Ｅｘｐｅｃｔの記述において、「ｅｘｐｅｃｔ｛」の次の記述は、ＮＥ２からの応答情報であり、この応答情報を検出後、ｓｅｎｄの後の記述により検出後にどのような情報をＮＥに送信するかを決定する。
この記述を複数用意することで、エラーメッセージなどの異常処理対処や、特定の文字列出現時に異なる処理を行なう。
なお、条件が異なる処理をアダプタファイルに追記するために、アダプタ生成部１４３は、ログ記憶部１５１に記録されているログ中に存在する通信履歴から、該コマンドに対するＮＥ２からの応答文字列全てを抽出し、ＧＵＩ部１０１に出力するようにしてもよい。
【０２０４】
次に、本装置がコマンドをＮＥ２へ送信した後に、ＮＥ２からの応答の待ち時間によってログアウトなど対処を行なう記述を挿入する場合を例として、追加挿入可能な記述パターンが挿入される方法を説明する。
より具体的には、アダプタファイルの記述に対し、図２３に示すように、「ｔｉｍｅｏｕｔ｛ＸＸＸ｝」の記述を追加する場合について説明する。ここで、「ＸＸＸ」は任意の文字列である。
【０２０５】
スクリプト言語におけるアダプタファイルのコマンドを送信する記述には、一定のパターンが存在する。例えば、図２３の、Ｅｘｐｅｃｔファイルに関しては「ｓｅｎｄ」記述の後に、「“」と「”」とで囲まれた文字列がくる（図２３のＸＢ参照）。
アダプタ生成部１４３は、文字列パターン「ｓｅｎｄ」を検出した場合、アダプタ追加パターンファイルルール記憶部１５４から検出した文字列パターン「ｓｅｎｄ」の次に来るパターンを検出し、検出したパターンが、例えば、「ｔｉｍｅｏｕｔ｛ｓｅｎｄ＿ｕｓｅｒ（省略）」であるとすると、検出した文字列パターンのあとに「ｔｉｍｅｏｕｔ｛ｓｅｎｄ＿ｕｓｅｒ（省略）」の記述挿入を推薦する画面を表示する（図２３のＸＡ参照）。
【０２０６】
図２３では、検出した文字列パターンが、Ｘ１、Ｘ２、Ｘ３で示される文字列であり、Ｘ１、Ｘ２、Ｘ３の候補が、ＸＡで示される枠の中に示されている。
ユーザＡは、ＸＡで示される枠の中から、候補のＸ１、Ｘ２、Ｘ３のいずれかを選択、または、いずれも選択しない。
アダプタ生成部１４３は、選択された場合には、選択された文字列パターンをアダプタファイルに挿入する。
【０２０７】
なお、アダプタ生成部１４３は、選択された文字列パターンを挿入する際、アダプタ追加パターンファイルルール記憶部１５４に保存されているアダプタ追加ファイルパターンをデフォルトで追加するが、アダプタ生成部１４３は、選択された文字列パターンの「“」と「”」とで囲まれた文字列を、自由に変更するようにユーザＡに提示するようにしてもよい。
【０２０８】
ＧＵＩ部１０１上でユーザＡはＮＥ２からの応答文字列を一部選択する。選択した文字列の一部が条件としてアダプタのｓｅｎｄの後の記述に追記される。また、この条件のパラメータの部分などを変更することで、ユーザＡがスクリプトを記録した場合以外の状況への対応記述が可能となる。
【０２０９】
このように、ユーザＡのＮＥ２に対する操作のキヤプチャからは得られない情報を、予めアダプタ追加パターンファイルルール記憶部１５４に記憶しておき、アダプタ生成部１４３がアダプタファイルにより追加記述することにより、例えば、（ア）ＮＥの応答によって次に実行するコマンドを変更することや（分岐処理記述の追加）、（イ）コマンドを送信する前に明示的に待ち時間を設定することや（待ち時間処理記述の追加）、（ウ）コマンド送信後、ＮＥからの応答待ち時間を設定することや（タイムアウト時間処理記述の追加）、（エ）外部アプリケーションから実行される場合に、特定のパラメータを受け、同時に実行すること（外部引数処理の追加）が出来る。
【０２１０】
（バックアップ、ロールバック、ディスカバリ）
次に、図１の説明に戻り、バックアップ部１７３、ロールバック部１７４、ディスカバリ部１７２の説明をする。
バックアップ部１７３は、ＮＥ２への接続時に、その時点でのＮＥ２のコンフィグレーションファイルを取得し、設定内容をＮＥコンフィグファイル記憶部１８２に保存するバックアップ機能を有する。
【０２１１】
ロールバック部１７４は、ＮＥコンフィグファイル記憶部１８２に保存されたコンフィグレーションファイルをＮＥ２に送信し、設定により変更されたＮＥ２のコンフィグレーションをバックアップ時の内容にきり戻すロールバック機能を有する。
【０２１２】
ディスカバリ部１７２は、本発明装置がネットワークＮＷ３に接続されている際、ＰｉｎｇやＳＮＭＰを用いてネットワークＮＷ３に存在するＮＥ２および接続関係をＮＥ−ＩＦ部１３２を介して検出し、検出したＮＥ２をユーザＡにＧＵＩ部１０１を介して提示するディスカバリ機能を有する。
【０２１３】
また、ディスカバリ部１７２とロールバック部１７４とは、タイマー部１７５と接続されている。タイマー部１７５が、一定時間毎または予め決められた時間に、ディスカバリ部１７２またはロールバック部１７４に信号を送信することにより、信号を受信したディスカバリ部１７２またはロールバック部１７４が、一定時間毎または予め決められた時間に、動作することが可能である。
〔第５の具体例〕バックアップ、ロールバック
次に、本発明装置がユーザＡや自動実行部１４４によりＮＥ２に対して処理を行なう前に、ＮＥ２の設定ファイルを本発明装置側にアップロードするバックアップ手順および、処理後にアップロードした該設定ファイルをＮＥ２に送信し該設定ファイルの内容をＮＥ２に反映するロールバックの手順について説明する。
【０２１４】
なお、ＮＥ２の設定ファイルとは、ＮＥ２におけるルーティングなどの設定情報などの、ＮＥ２で用いる設定情報である。
本装置によりＮＥ２の設定情報を手動または自動により変更することが可能であるが、変更の前にバックアップを取っておくことにより、変更前に戻すことが可能となる。なお、バックアップ部１７３が実行するバックアップは、履歴として設定情報をファイルとしてＮＥコンフィグファイル記憶部１８２に保存する。また、ロールバック部１７４は、ＮＥコンフィグファイル記憶部１８２に保存された設定情報の中から任意に選択し、選択した設定情報に基づいてロールバックすることにより、選択した任意の設定情報にＮＥ２の設定情報を戻すことが可能である。
【０２１５】
バックアップ部１７３のバックアップ機能は、ユーザＡによる接続時に起動される、または定期的に接続されるといったアクションによって動作し、ユーザＡが選択したデバイスに接続する。
バックアップ機能の利用プロトコルとして、ＴＦＴＰおよびＦＴＰクライアント、サーバ機能の実装などが考えられる。
バックアップ機能には設定パラメータファイルがテキストファイルで用意されており、対象ＮＥ２のプロダクトごとに該テキストファイルに記述したパラメータを読み込んで動作する。
【０２１６】
パラメータとして、例えば、プロダクト名（例えば：ＲＥＤ、ＢＬＵＥ）の情報、使用プロトコル名（例えば：ＴＦＴＰ、ＦＴＰ）の情報、上記プロトコルのユーザ名およびパスワード（例えば、ｈｏｇｅ、ｈｏｇｅｈｏｇｅ。これは平文で可）の情報、ダウンロードファイル名や、ファイルのあるディレクトリ名（例えば：ｒｕｎｎｉｎｇ−ｃｏｎｆｉｇ）の情報がある。
【０２１７】
なお、バックアップ部１７３には、すぐにバックアップの処理を実行してもよいし、または、タイマー部１７５によりユーザの時間指定によるタイマーによりバックアップの処理を実行するといった設定を行なうようにしても良い。
バックアップ部１７３は、バックアップの処理を実行した後、ダウンロードしたファイルについては、例えば、時間などを利用しユニークなファイル名を自動生成し、生成したファイル名で保存する。例えば、ＩＰアドレスの情報、プロダクト名の情報、およびダウンロード時間の情報を、任意に組み合わせてファイル名を生成する。
【０２１８】
次に、図１９を用いてにバックアップ手順における、一例としてのバックアップ部１７３の動作を説明する。
まず、ユーザＡがＧＵＩ部１０１により入力したＩＰアドレスを、ＧＵＩ部１０１を介して受信する（ステップＳ１９０１）
次に、受信したＩＰアドレスに基づいて、接続パターン記憶部１８１（ｐｒｏｄｕｃｔｃｓｖ記憶部１２０）からプロダクト名を検出する（ステップＳ１９０２、Ｓ１９０３）。
次に、検出したプロダクト名に基づいて、自動ログイン用接続パターンファイル記憶部１２１から接続パターンファイルを取得する（ステップＳ１９０４、１９０５）。
取得した接続パターンファイルに基づいてＮＥと接続し、接続したＮＥの設定ファイルを取得する（ステップＳ１９０６、１９０７）。
取得したＮＥの設定ファイルをＮＥコンフィグファイル記憶部１８２に保存する（ステップＳ１９０８）。
【０２１９】
ロールバック部１７４の動作においては、ユーザＡがＧＵＩ部１０１を介してＮＥコンフィグファイル記憶部１８２に保存された設定ファイルを選択し、選択した設定ファイルに基づいて、バックアップと同様にＮＥに接続し、接続したＮＥの設定ファイルを選択した設定ファイルに基づいて変更する。
なお、ＮＥコンフィグファイル記憶部１８２に保存される設定ファイルにはＮＥを識別するＩＰアドレスの情報が記憶されており、そのＩＰアドレスに基づいて、ロールバック部１７４は、ＮＥと接続してもよい。
【０２２０】
以上説明したように、バックアップ部１７３およびロールバック部１７４が、接続パターンファイルを用いて自動的にＮＥと接続することにより、簡単にＮＥの設定ファイルがバックアップされ、また、ロールバックすることが可能である。
また、バックアップ部１７３およびロールバック部１７４により、ＮＥの設定ファイルが、バックアップされ、また、ロールバックさることにより、ＮＥの管理が確実なものとなる。
【０２２１】
〔第６の具体例〕ディスカバリ
次に、ディスカバリ部１７２が実行する、ディスカバリ手順について説明する。
まず、ディスカバリとは、本装置が接続するネットワークＮＷ３のＩＰレイヤの接続関係（構成）を探索し、把握する機能である。ディスカバリ部１７２が有するディスカバリ機能によって、例えば図２２に示すような画面から、接続対象となるＮＥ２を選択できるため、ユーザＡはＮＥ２のＩＰアドレスを調べる必要なしに、簡単にＮＥ２を指定することが可能となる。
【０２２２】
ディスカバリ機能は、本装置に対してユーザＡがディスカバリを実行する指示の入力をした場合に起動される。
まず、本装置の起動時に、ディスカバリ部１７２は、自端末のＩＰアドレス、ディスカバリレンジ、シードデバイスのアドレスの３つのパラメータを、ユーザＡの入力としてＧＵＩ部１０１を介して、取得する。
【０２２３】
次に、それぞれのパラメータについて説明する。
第１のパラメータである自端末のＩＰアドレスは、自端末設定済みのＩＰアドレスを探して決定する。さらに、ユーザがＩＰアドレスを指定する機能を持ってもよい。
【０２２４】
第２のパラメータであるディスカバリレンジは、本装置がディスカバリを行なう対象ＩＰアドレス空間のことであり、以下の二種類の設定方法により設定される。これらは、ユーザＡの入力から受信する情報である。
ディスカバリレンジの第１の設定方法として、二つのＩＰアドレスと一つのサブネットマスク指定により範囲を設定する方法がある。例えば、例１として、ディスカバリレンジを、１９２．１６８．１．０から１９２．１６８．５０．２５５として設定する。また、例２としてディスカバリレンジを１９２．１６８．１．０／２４１９２．１６８．５０．０／２４として設定する。
ディスカバリレンジの第２の設定方法として、一つのＩＰアドレスと一つのサブネットマスク指定により範囲を設定する方法がある。例えば、例として、ディスカバリレンジを、１９２．１６８．１．０／２４として設定する。これは、つまり１９２．１６８．１．０から１９２．１６８．１．２５５のことである。
【０２２５】
第２のパラメータであるシードデバイスのアドレスは、ＬＡＮを超えた範囲でディスカバリする場合に、最初にＳＮＭＰ・ＭＩＢ探索を行なうデバイスであるＮＥ２のＩＰアドレスのことであり、操作者にディスカバリ機能実行時に指定させる。
一般的には、シードデバイスのＩＰアドレスにはゲートウェイのＩＰアドレスが設定される。なお、設定されるＩＰアドレスは、何でも構わない。シードデバイスのアドレスを設定しない場合、別動作にてディスカバリを継続することも可能である。
【０２２６】
次にディスカバリ部１７２の動作概要を示す。
（ステップＳ２００１）シードデバイスと指定されたアドレスに対してＰｉｎｇを送信し、応答を検出する。例えば、Ｐｉｎｇは２回以上４回未満で終了とする。
（ステップＳ２００２）シードデバイスに対してＳＮＭＰ接続を試し、可能ならばＳＮＭＰの応答を取得する。ＳＮＭＰ  ｗａｌｋによりＭＩＢ情報を全て取得する。ＳｙｓＤｅｓｃｒオブジェクトからプロダクト名（例：ＲＥＤ  ｒｏｕｔｅｒ  ２６１１）を取得する。
【０２２７】
（ステップＳ２００３）シードデバイスのＩＰアドレスのサブネットマスクからネットワークアドレスを取得し、ＭＩＢ情報から該ネットワークアドレス内のＩＰアドレスを検出する。検出したＩＰアドレスにＰｉｎｇを送信し、応答を検出した場合ＳＮＭＰにて接続する。ＳｙｓＤｅｓｃｒオブジェクトを確認してプロダクトを確定する。
【０２２８】
（ステップＳ２００４）シードデバイスが所有する他のインタフェースに付けられたＩＰアドレスを検索し、Ｐｉｎｇによって応答を確認する。なお、ＳＮＭＰ  ｗａｌｋはＳＮＭＰ  ＧｅｔとＧｅｔ  Ｎｅｘｔとの組合せでも構わない。なお、ＳＮＭＰ  ｗａｌｋと、ＳＮＭＰ  ＧｅｔとＧｅｔ  Ｎｅｘｔとの組み合わせの、いずれを用いるかは、処理速度を重視した選択とするのが好ましい。
（ステップＳ２００５）ステップＳ２００４で探索したＩＰアドレスのサブネットマスクから同じネットワークアドレスを持つＩＰアドレスをＭＩＢから探し出し、Ｐｉｎｇを送信する。なお、ここで応答を検出したＩＰアドレスは、シードデバイスとは異なる新たなデバイスのはずである。
【０２２９】
（ステップＳ２００６）新たに見つけたデバイスに対し、シードデバイスと同様にステップＳ２００２からステップＳ２００５を繰返す。なお、指定されたアドレスレンジ外のＩＰアドレスに関する処理は行なわず、別アドレスを探す。また、以前に発見したアドレスを別ルートで発見した場合も処理を行なわず別アドレスを探す。該当するＩＰアドレスがなくなるまで、ステップＳ２００２からステップＳ２００５の処理を繰り返す。
【０２３０】
次に、図２０に示すネットワーク構成を例として、ディスカバリ手順を具体的に説明する。なお、図２０のおいては、説明のために、サブネットマスクを／２４で統一して説明しているが、サブネットマスクは、例えば／２４から／３０と可変としてもよい。
自端末ＩＰアドレス１９２．１６８．１．４／２４、シードデバイスＩＰアドレス１９２．１６８．１．１、ディスカバリ対象のＩＰアドレスの範囲を１９２．１６８．０．０／２４から１９２．１６８．５０．０／２４と設定し、ディスカバリを実行した場合の動作は次のようになる。
【０２３１】
（ステップＳ２１０１）１９２．１６８．１．４（自端末）が、１９２．１６８．１．１にＰｉｎｇする。
（ステップＳ２１０２）１９２．１６８．１．１からの応答を確認後、ＳＮＭＰ  ｗａｌｋにより１９２．１６８．１．１のＭＩＢを取得する。
【０２３２】
（ステップＳ２１０３）１９２．１６８．１．１のプロダクトが確定される（例：ＲＥＤ  ２６１１）。
（ステップＳ２１０４）１９２．１６８．１．１のサブネットマスクは／２４である。よってネットワークアドレスは１９２．１６８．１．０／２４であるため、アドレスレンジは１９２．６８．１．１から１９２．１６８．１．２５４と検出する。
【０２３３】
（ステップＳ２１０５）ステップＳ２１０２で取得したＭＩＢから、ステップＳ２１０４で検出したアドレスレンジ１９２．１６８．１．１から１９２．１６８．１．２５４に該当するＩＰアドレスを検索し、１９２．１６８．１．２、１９２．１６８．１．３、１９２．１６８．１．４、１９２．１６８．１．５を検出する。
【０２３４】
（ステップＳ２１０６）ステップＳ２１０５で検出した１９２．１６８．１．２、１９２．１６８．１．３、１９２．１６８．１．４、１９２．１６８．１．５にＰｉｎｇする。
（ステップＳ２１０７）ディスカバリ機能は、Ｐｉｎｇの応答を検出し、検出したアドレスをＤＢに登録する。この場合、上記４つのアドレスからが応答が返ってくるので、シードデバイス（１９２．１６８．１．１）と接続しているものとみなし、上記４つのアドレスをＤＢに登録する。
【０２３５】
（ステップＳ２１０８）続いて自ネットワークの外をディスカバリする動作に移り、ステップＳ２１０２で取得したＭＩＢから、ステップＳ２１０４で検出したアドレスレンジ１９２．１６８．１．０から１９２．１６８．１．２５５に該当しないＩＰアドレスを検索し、１９２．１６８．１０．１と１９２．１６８．２０．１とを検出する。
【０２３６】
（ステップＳ２１０９）ステップＳ２１０８で検出した１９２．１６８．１０．１のサブネットマスクク／２４（２５５．２５５．２５５．０）を、ステップＳ２１０２で取得したＭＩＢから取得し、ネットワークアドレス１９２．１６８．１０．０／２４を算出する。
【０２３７】
（ステップＳ２１１０）ステップＳ２１０９で算出した１９２．１６８．１０．０／２４内の対向ＩＰアドレスを検索し、１９２．１６８．１０．２を検出する。
（ステップＳ２１１１）ステップＳ２１１０で検出した１９２．１６８．１０．２は、ＤＢに登録されていない未知のＩＰアドレスのため、新しいデバイスとして検出する。
（ステップＳ２１１２）ステップＳ２１１１で新しいデバイスとして検出した１９２．１６８．１０．２に対し、ＳＮＭＰ  ｗａｌｋ、プロダクトを確定する。
【０２３８】
（ステップＳ２１１３）ステップＳ２１０８で検出したデバイス１９２．１６８．１０．２のＭＩＢから、１９２．１６８．１０．１から１９２．１６８．１０．２５４に該当するＩＰアドレスを検索し、１９２．１６８．１０．１を検出するが、ＤＢに登録されている既知のアドレスのため、１９２．１６８．１０．２と１９２．１６８．１０．１が直接接続していると検出し、デバイス１９２．１６８．１０．２についての処理を終了する。
【０２３９】
（ステップＳ２１１４）ステップＳ２１０８で検出したデバイス１９２．１６８．１０．２のＭＩＢから１９２．１６８．１０．０から１９２．１６８．１０．２５５に該当しないＩＰアドレスを検索し、１９２．１６８．３０．２を検出する。
【０２４０】
（ステップＳ２１１５）この時点で処理が完結していないステップＳ２１０８で検出した１９２．１６８．２０．１とステップＳ２１１４で検出した１９２．１６８．３０．２とを比較し、数値の小さい１９２．１６８．２０．１を選択し、選択したデバイスに対して次の処理を行なう。
【０２４１】
（ステップＳ２１１６）ステップＳ２１１５で選択した１９２．１６８．２０．１のサブネットマスク／２４（２５５．２５５．２５５．０）をＭＩＢから取得し、ネットワークアドレス１９２．１６８．２０．０／２４を算出する。
（ステップＳ２１１７）ステップＳ２１１６で算出した１９２．１６８．２０．０／２４内の対向ＩＰアドレスを検索し、１９２．１６８．２０．３を検出する。
（ステップＳ２１１８）１９２．１６８．２０．３はＤＢに登録されていない未知のＩＰアドレスのため、新しいデバイスと検出し、１９２．１６８．２０．３に対しＳＮＭＰ  ｗａｌｋ、プロダクトを確定する。
【０２４２】
（ステップＳ２１１９）ステップＳ２１１８で確定したデバイス１９２．１６８．２０．３のＭＩＢから１９２．１６８．２０．１から１９２．１６８．２０．２５４に該当するＩＰアドレスを検索し、１９２．１６８．２０．１が検出されるが、１９２．１６８．１０．２と１９２．１６８．１０．１が直接接続していると検出され確定されるので、１９２．１６８．２０．３についての検索の処理を終了する。
【０２４３】
（ステップＳ２１２０）ステップＳ２１１８で確定したデバイス１９２．１６８．２０．３のＭＩＢから１９２．１６８．２０．１から１９２．１６８．２０．２５４に該当しないＩＰアドレスを検索し、１９２．１６８．４０．１を検出する。
（ステップＳ２１２１）この時点で処理が完結していないステップＳ２１１４で検出した１９２．１６８．３０．２とステップＳ２１２０で検出した１９２．１６８．４０．１とを比較し、数値の小さい１９２．１６８．３０．２に対して検索の処理を行なう。
【０２４４】
以下ステップＳ２１１６からステップＳ２１１９と同様の処理を繰り返す。そのため、処理の説明については、以下省略とする。
【０２４５】
（ステップＳ２１２２）ネットワーク図にある１９２．１６８．６０．１、１９２．１６８．６０．３、１９２．１６８．１００．ＹＹＹ（ここでＹＹＹは１から２５４の任意の自然数）の各アドレスは、最初に指定したアドレスレンジ範囲外のため、処理を終了し、今回設定されたパラメータではディスカバリされない。具体的には未処理アドレスが１９２．１６８．６０．１のみになった時点で処理終了となる。
【０２４６】
以上のようにして、ディスカバリ部１７２によるディスカバリ結果の一例としての接続関係を図２１に示す。
なお、図２１においては、Ｌ２スイッチ１９２．１６８．１．５／２４については、ＩＰレイヤのディスカバリに限定しているため、Ｌ２の接続関係を検出していない。
また、１９２．１６８．６０．１／２４は範囲外のＩＰアドレスであるが、範囲内のＩＰアドレス１９２．１６８．３０．３などと同じデバイスのＩＰアドレスのため、検出がされている。
また、１９２．１６８．６０．１の対向については処理を行っていないため、ネットワークが存在することのみわかっている状態で処理が終了している。
【０２４７】
ディスカバリ部１７２によりＮＥ２が検出され、検出されたＮＥ２をユーザＡにＧＵＩ部１０１を介して表示する。例えば、図２２のように表示される。
ユーザＡは、図２２のように表示されるＮＥ２を選択することにより、簡易に接続をするＮＥ２を選択することが可能である。
【０２４８】
以上説明したように、本発明によるアダプタ生成装置は、ＮＭＳが用いる設定機能であり対象ＮＥごとに仕様が異なるアダプタ部（スクリプトファイル）を自動生成するために、オペレータのＣＬＩ上の操作をキャプチャする機能、スクリプトとして必要最低限の情報のみを表示する機能、その情報を用いて装置にて操作を再現する機能、テキストで表示されたコマンドや応答条件を画面上で変更する機能、変更されたスクリプトを実行する機能、本発明装置専用の見易さを重視したスクリプトを汎用のスクリプトフォーマットに変換しアダプタを生成する機能、対象装置のコンフィグレーションファイルを取得するバックアップ機能、本発明装置を接続したＩＰネットワークの構成を検出する機能を有する。
【０２４９】
以上説明した本発明の有する機能により、操作者が特定のスクリプト言語やマクロコードの記述方法に関する知識を持たずとも、ＮＥに対するＣＬＩ上のコマンド処理から、自動的にＮＭＳが用いるアダプタを生成することが可能となり、ルーチンワークにおける操作者の負荷が軽減されるという効果を奏する。
【０２５０】
また、通常のスクリプトやマクロコードの場合、ＣＬＩでコマンドを実行し動作確認をする目的から考えると、ネットワーク運用者にとって、自身が実行するコマンドおよびＮＥからの応答情報のみが有効な情報であるにもかかわらず、自動実行のためのスクリプト専用の定義処理を多く記述することになり、視認性、解読性が悪い。
そのため、例えば既に記述したスクリプトやマクロコードのなかから、一つのコマンドのパラメータなどを変更してコードを作り直すといった簡単な変更処理に向いていないといった問題がある。
その対処として、本発明により、ネットワーク運用者のコマンド処理とその応答のみを表示させ、スクリプトの実行処理をソフトウェアで隠蔽することによって、ネットワーク運用者の必要な情報に対する視認性を向上させるという効果を奏する。
【０２５１】
一方、自動生成したスクリプトはシーケンシャルな動作手順が記述されるのみのため、ＮＥの応答が異なる異常時などの処理に対応できない問題点が残るため、様々な局面において処理が必要であるアダプタにそのまま用いることができない。
そこで、本発明により、スクリプトに条件分岐、待機処理記述を追加する仕組みを追加することで、状況に応じて異なる処理を記述できる柔軟性ある記述を追加できるという効果を奏する。
【０２５２】
本発明により、更に、外部アプリケーションから実行可能な記述に変換することで、ＮＭＳが用いるアダプタをスクリプトのプログラミング知識を持たずとも容易に生成することが出来るという効果を奏する。
【０２５３】
また、本発明により、ディスカバリによってユーザは接続機器のＩＰアドレスを直接入力せずとも接続機器を選択する手段をえることができるという効果を奏する。
また、本発明により、バックアップによって、自動処理が行なわれたあとに自動処理の状態を元に戻すための情報を適宜蓄えることができるという効果を奏する。
【０２５４】
なお、ログ記憶部１５１、スクリプト記憶部１５２、アダプタファイル記憶部１５３、アダプタ追加パターンファイルルール記憶部１５４、接続パターン記憶部１８１、ＮＥコンフィグファイル記憶部１８２は、それぞれ、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＲ−ＲＯＭ等の読み出しのみが可能な記憶媒体、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
【０２５５】
なお、このアダプタ生成装置１は専用のハードウェアにより実現されるものであってもよく、また、このアダプタ生成装置１はメモリおよびＣＰＵ（中央演算装置）により構成され、アダプタ生成装置１の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【０２５６】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【０２５７】
本発明は、ネットワーク管理装置に用いて好適である。
【図面の簡単な説明】
【０２５８】
【図１】この発明の一実施形態によるアダプタ生成装置の構成を示すブロック図である。
【図２】アダプタ生成装置におけるＧＵＩとＣＵＩとの関係を説明するための画面図である。
【図３】スクリプトの生成手順を説明するフローチャート図である。
【図４】一実施形態によるネットワーク接続装置の構成を示すブロック図である。
【図５】Ｐｒｏｄｕｃｔ．ｃｓｖファイルの１例を示す説明図である。
【図６】接続パターンファイルの第１の１例を示す説明図である。
【図７】図１のネットワーク接続装置の動作を示す第１のフローチャート図である。
【図８】図１のネットワーク接続装置の動作を示す第２のフローチャート図である。
【図９】１例としての入力画面を示す図である。
【図１０】接続パターンファイルの第２の１例を示す説明図である。
【図１１】システム情報とＮＥとの関連を示す説明図である。
【図１２】スクリプト情報の例を示す図である。
【図１３】接続パターンファイル情報の例を示す図である。
【図１４】ＣＬＩ情報をどのようにスクリプト記述に反映するかの例を示す図である。
【図１５】本装置が記録したスクリプト情報をＥｘｐｅｃｔフォーマットヘ変換する例を示す図である。
【図１６】Ｅｘｐｅｃｔフォーマットへの変換手順の対応表その１である。
【図１７】Ｅｘｐｅｃｔフォーマットへの変換手順の対応表その２である。
【図１８】Ｅｘｐｅｃｔフォーマットへの変換手順の対応表その３である。
【図１９】バックアップの手順を示す図である。
【図２０】ディスカバリ機能の動作手順の具体例を示すためのネットワーク構成例を示す図である。
【図２１】具体例に示した手順によりディスカバリされたネットワーク構成を示す図である。
【図２２】ディスカバリの結果を端末ＧＵＩに出力した例を示す図である。
【図２３】新たな処理記述を追加するスクリプト生成部を示す画面を示す図である。
【符号の説明】
【０２５９】
１  アダプタ生成装置
２  ＮＥ
３  ＮＷ
１０１  ＧＵＩ部
１３１  ＣＬＩ部
１３２  ＮＥ−ＩＦ部
１４１  キャプチャ部
１４２  スクリプト生成部
１４３  アダプタ生成部
１４４  自動実行部
１４５  タイマー部
１７１  自動接続部
１７２  ディスカバリ部
１７３  バックアップ部
１７４  ロールバック部
１７５  タイマー部
１５１  ログ記憶部
１５２  スクリプト記憶部
１５３  アダプタファイル記憶部
１５４  アダプタ追加パターンファイルルール記憶部
１５５  変換ルール記憶部
１８１  接続パターン記憶部
１８２  ＮＥコンフィグファイル記憶部
【図１】
2008046847.tif 000003
【図２】
2008046847.tif 000004
【図３】
2008046847.tif 000005
【図４】
2008046847.tif 000006
【図５】
2008046847.tif 000007
【図６】
2008046847.tif 000008
【図７】
2008046847.tif 000009
【図８】
2008046847.tif 000010
【図９】
2008046847.tif 000011
【図１０】
2008046847.tif 000012
【図１１】
2008046847.tif 000013
【図１２】
2008046847.tif 000014
【図１３】
2008046847.tif 000015
【図１４】
2008046847.tif 000016
【図１５】
2008046847.tif 000017
【図１６】
2008046847.tif 000018
【図１７】
2008046847.tif 000019
【図１８】
2008046847.tif 000020
【図１９】
2008046847.tif 000021
【図２０】
2008046847.tif 000022
【図２１】
2008046847.tif 000023
【図２２】
2008046847.tif 000024
【図２３】
2008046847.tif 000025