(57)【要約】【課題】コマンド投入装置が、各ルータへ、効率よく平等にコマンドを投入しつつ、コマンドが投入されるまでの最大待ち時間を容易に予測できるようにする。【解決手段】コマンド投入装置１０は、各ルータ２０へのコマンド群を受信すると、このコマンド群を投入先のルータ２０ごとに緊急コマンドキューと通常コマンドキューとに分ける（フェーズ１）。そして、各ルータ２０へ投入するコマンドが無くなったことを契機に、その緊急コマンドキューから優先的に、所定数のコマンド群をバッファキューにシフトする（フェーズ２）。次に、このシフトしたコマンド群を、設定系コマンドキューと非設定系コマンドキューとに分けて蓄積する（フェーズ３）。セッション制御部１２５は、各ルータ２０とのセッション状態をもとに、設定系コマンドキューまたは非設定系コマンドキューからコマンド群を選択し、ルータ２０へ投入する。【選択図】図２
2010267165.tif 000002
【特許請求の範囲】
【請求項１】
通信網に設置される１以上のネットワーク装置へのコマンドを投入するコマンド投入装置であって、
外部装置から、前記ネットワーク装置へ投入する一連のコマンド群をその投入順に受け付ける入力部と、
前記入力されたコマンド群を、そのコマンド群の投入先のネットワーク装置ごとに、（１）そのネットワーク装置へコマンドを投入するときの優先度ごとのキューに分けて蓄積する第１フェーズのキューの領域、（２）前記第１フェーズのキューからシフトしたコマンドを所定数蓄積する第２フェーズのキューの領域、（３）前記第２フェーズのキューのコマンドのうち、設定系コマンドを蓄積する設定系コマンドキューの領域および非設定系コマンドを蓄積する１以上の非設定系コマンドキューの領域を有する第３フェーズのキューの領域を備えるキュー部と、
前記受け付けた一連のコマンド群を、前記ネットワーク装置ごとに、そのネットワーク装置に対するコマンドの優先度ごとのキューに分けて前記第１フェーズのキューに格納し、すべてのネットワーク装置に関する前記第３フェーズのキューが空になったとき、前記第１フェーズのキューのうち、優先度の高いキューから優先的に、当該ネットワーク装置へのコマンドを所定数シフトし、このシフトしたコマンドのうち前記設定系コマンドを前記設定系コマンドキューに蓄積し、前記非設定系コマンドを１以上の前記非設定系コマンドキューに蓄積するキューイング部と、
前記ネットワーク装置との間に確立されたセッションの識別情報と、前記セッションにより接続されるネットワーク装置の識別情報と、前記セッションが確立中か否かおよび当該セッションによるコマンド処理中か否かを示すセッション状態とを示したセッション管理情報を記憶する記憶部と、
セッション制御部により通知された前記ネットワーク装置のセッション状態に基づき前記セッション管理情報を更新し、前記セッション管理情報に示されるセッション状態を参照して、前記キュー部の設定系コマンドキューおよび非設定系コマンドキューに蓄積されたコマンド群の中からセッション確立中のネットワーク装置へのコマンド群を選択するセッション管理部と、
前記ネットワーク装置との間でのセッションの確立および切断を行い、前記セッション管理部により選択されたコマンド群を、このコマンド群の投入先となるネットワーク装置との間で確立されたセッションを用いて投入し、前記ネットワーク装置のセッション状態を前記セッション管理部へ通知するセッション制御部とを備え、
前記セッション管理部は、前記セッション管理情報に示されるセッション状態を参照して、前記セッション確立中のネットワーク装置へのコマンド群の中に、
（１）当該ネットワーク装置に連続投入可能なコマンド群があれば、このコマンド群を優先的に選択し、このコマンド投入装置に設定された各ネットワーク装置とのセッション数の合計値の最大値を超えない範囲で、当該ネットワーク装置との間に新たなセッションを確立し、
（２）当該ネットワーク装置に連続投入可能なコマンド群がなければ、前記コマンド群の中からランダムを選択し、
前記選択したコマンド群を投入するよう前記セッション制御部へ指示することを特徴とするコマンド投入装置。
【請求項２】
前記セッション管理部は、
前記キュー部の設定系コマンドキューおよび非設定系コマンドキューのいずれのコマンド群の中にも、セッション確立中のネットワーク装置へのコマンド群がなかった場合、
前記セッション制御部へ、前記確立されたセッションの中から、前記コマンド処理を終了しているセッションを切断し、
前記キュー部の設定系コマンドキューまたは非設定系コマンドキューのいずれかのコマンド群の中から、ランダムに選択したコマンド群について、このコマンド群の投入先となるネットワーク装置との間に新たなセッションを確立し、前記選択したコマンド群を、この確立したセッションを用いて投入するよう前記セッション制御部へ指示することを特徴とする請求項１に記載のコマンド投入装置。
【請求項３】
前記セッション管理部は、
前記コマンド群を投入するために、このコマンド群の投入先のネットワーク装置との間に新たなセッションの確立を指示するとき、当該ネットワーク装置との間で確立されるセッションの合計値が、自身のコマンド投入装置に設定された各ネットワーク装置とのセッション数の合計値の最大値を超えず、かつ、前記第３フェーズにおける当該ネットワーク装置に関するキュー数を超えない数とすることを特徴とする請求項１または請求項２に記載のコマンド投入装置。
【請求項４】
請求項１ないし請求項３のいずれか１項に記載のコマンド投入装置と、このコマンド投入装置からのコマンドの投入を受け付ける前記ネットワーク装置を複数含むことを特徴とするコマンド投入システム。
【請求項５】
通信網に設置される１以上のネットワーク装置と自身のコマンド投入装置との間に確立されたセッションの識別情報と、前記セッションにより接続されるネットワーク装置の識別情報と、前記セッションが確立中か否かおよび当該セッションによるコマンド処理中か否かを示すセッション状態とを示したセッション管理情報を記憶する記憶部と、入力されたコマンド群を、そのコマンド群の投入先のネットワーク装置ごとに、（１）そのネットワーク装置へコマンドを投入するときの優先度ごとのキューに分けて蓄積する第１フェーズのキューの領域、（２）前記第１フェーズのキューからシフトしたコマンドを所定数蓄積する第２フェーズのキューの領域、（３）前記第２フェーズのキューのコマンドのうち、設定系コマンドを蓄積する設定系コマンドキューの領域および非設定系コマンドを蓄積する１以上の非設定系コマンドキューの領域を有する第３フェーズのキューの領域を備えるキュー部とを備え、前記ネットワーク装置それぞれへのコマンドを投入するコマンド投入装置が、
外部装置から、前記ネットワーク装置へ投入する一連のコマンド群をその投入順に受け付けるステップと、
前記受け付けた一連のコマンド群を、前記ネットワーク装置ごとに、そのネットワーク装置に対するコマンドの優先度ごとのキューに分けて前記第１フェーズのキューに格納し、すべてのネットワーク装置に関する前記第３フェーズのキューが空になったとき、前記第１フェーズのキューのうち、優先度の高いキューから優先的に、当該ネットワーク装置へのコマンドを所定数シフトし、このシフトしたコマンドのうち前記設定系コマンドを前記設定系コマンドキューに蓄積し、前記非設定系コマンドを１以上の前記非設定系コマンドキューに蓄積するステップと、
前記セッション管理情報に示されるセッション状態を参照して、前記キュー部の設定系コマンドキューおよび非設定系コマンドキューに蓄積されたコマンド群の中からセッション確立中のネットワーク装置へのコマンド群を選択するステップと、
前記選択されたコマンド群を、このコマンド群の投入先となるネットワーク装置との間で確立されたセッションを用いて投入し、前記ネットワーク装置のセッション管理情報を更新するステップとを実行し、
前記セッション確立中のネットワーク装置へのコマンド群を選択するステップにおいて、前記コマンド投入装置は、
前記セッション管理情報に示されるセッション状態を参照して、前記セッション確立中のネットワーク装置へのコマンド群の中に、
（１）当該ネットワーク装置に連続投入可能なコマンド群があれば、このコマンド群を優先的に選択し、このコマンド投入装置に設定された各ネットワーク装置とのセッション数の合計値の最大値を超えない範囲で、当該ネットワーク装置との間に新たなセッションを確立し、
（２）当該ネットワーク装置に連続投入可能なコマンド群がなければ、前記コマンド群の中からランダムを選択することを特徴とするコマンド投入方法。
【請求項６】
請求項５に記載のコマンド投入方法を、コンピュータであるコマンド投入装置に実行させるためのコマンド投入プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Internet Protocol）網を構成する装置へのコマンド投入技術に関する。
【背景技術】
【０００２】
通信インフラの拡大に伴って、ネットワークを構成する装置（例えば、ルータ等のネットワーク装置）の数が増加している。加入者に対する新規サービスの設定や解除は、ネットワーク装置にコマンドを投入することによって実施されており、サービスの多様化や加入者の増大はコマンド投入の機会を増やす要因となっている。また、通信インフラの品質維持に関わる装置管理もコマンド投入により実施されており、円滑なネットワーク管理のためにコマンドの投入の効率化の重要性が高まっている。ここで、サービスに関する内容を各ネットワーク装置に設定する技術としてサービスアクティベーションがある。近年、このサービスアクティベーションにおいて、設定内容のうち、サービスに依存する部分をモジュールごとに切り出し、モジュールの入れ替えにより各種サービスに柔軟に対応する技術が提案されている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＮＴＴ技術ジャーナル、「ネットワークサービスを支えるサービスアクティベーション技術」、[online]、[平成20年6月24日検索]、インターネット、<URL:http://www.ntt.co.jp/journal/0508/files/jn200508018.pdf >
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、非特許文献１に記載の技術では、システムが、ネットワーク装置に１コマンドずつTelnetセッションを確立して投入する方式がとられている。この方式では、ネットワーク装置に複数のコマンドを一度に投入することによるコマンドの競合の問題（複数のコマンド同士が干渉する問題）は発生しないが、コマンドの投入効率は必ずしもよくないという問題がある。また、非特許文献１に記載の技術において、システムは、コマンドの投入先のネットワーク装置をランダムに選択するので、ネットワーク装置間で投入されるコマンド数に偏りが生じるおそれもある。さらに、システムがコマンド投入のたびにTelnetセッションを確立していると、システムは、投入対象のコマンドを受け付けてから、実際にそのネットワーク装置にコマンドが投入されるまでの待ち時間の予測ができない。よって、コマンド投入後、ネットワーク装置からの反応が無い場合に、システムは、ネットワーク装置に問題があるのかコマンド投入に時間がかかっているだけなのかを判断しにくいという問題がある。そこで、本発明は、コマンド投入装置が、各ネットワーク装置へ、効率よく平等にコマンドを投入しつつ、コマンドが投入されるまでの最大待ち時間の予測を容易にすることを目的とする。
【課題を解決するための手段】
【０００５】
前記した課題を解決するため、本発明は、通信網に設置される１以上のネットワーク装置（ルータ等）へのコマンドを投入するコマンド投入装置が、外部装置から、ネットワーク装置へ投入する一連のコマンド群をその投入順に受け付ける。そして、このコマンド投入装置のキューイング部は、入力されたコマンド群について、キュー部にそのコマンド群の投入先のネットワーク装置ごとに３段階（３つのフェーズ）のキューを形成する。まず、キューイング部は、コマンドの投入先のネットワーク装置ごとに、（１）第１フェーズのキューにおいて、コマンドの優先度ごとのキューに分けて蓄積する。そして、（２）第２フェーズとして、第３フェーズの各ネットワーク装置に関するキューのコマンドが空になると、この第１フェーズのキューのうち、優先度の高いキューから優先的に所定数（Ｎ個）のコマンドをシフトする。つまり、キューイング部は、優先度の高いコマンド（例えば、緊急コマンド等）から先に、そのコマンドの投入順に所定数分のコマンドをシフトする。これにより、コマンド群がネットワーク装置に投入されるとき、優先度の高いコマンドから先にネットワーク装置に投入されるようになる。なお、キューイング部が、第１フェーズのキューのコマンド群をシフトするとき、この第１フェーズのキューのコマンド群がＮ個未満であるとき、このすべてのコマンド群をシフトする。
【０００６】
次に、コマンド投入装置のキューイング部は、（３）第３フェーズとして、第２フェーズのキューからシフトしたコマンドを設定系コマンドと、非設定系コマンドとに分け、それぞれのキューに蓄積する。このように、コマンド群を設定系コマンドのキューと、非設定系コマンドのキューとに分けることにより、同じネットワーク装置に複数のセッションを確立してコマンド群を投入するとき、コマンドの種類を考慮したセッション制御を行いやすくなる。また、キューイング部は、第２フェーズにおいて、第３フェーズの各ネットワーク装置に関するキューが空になってから、所定数（Ｎ個）のコマンド群をシフトする。また、連続して投入できるコマンド数の最大値が所定数（Ｎ個）になるので、このコマンド群が投入されるまでの最大待ち時間が予測しやすくなる。さらに、コマンド投入装置は、都度セッションを確立することなく最大Ｎ個連続してコマンドを投入することになるので、効率よくコマンド投入を行うことができる。また、コマンド投入装置が１つのセッションを長時間占有しにくくなり、ネットワーク装置間でコマンド投入数に偏りができにくくなる。
【０００７】
なお、ネットワーク装置にコマンド群が投入されるまでのコマンド投入装置の最大待ち時間は、以下のようにして予測できる。このコマンド投入装置において、例えば、１つのネットワーク装置に関する第３フェーズのキューがそれぞれ２つ（設定系コマンドのキューが１つ、非設定系コマンドのキューが１つ）のとき、ネットワーク装置にＮ個目のコマンドが投入され終わるまでの最大時間、つまり、Ｎ＋１個目のコマンドが投入されるまでの最大待ち時間は以下のようにして予測できる。まず、１度にシフトされる最大コマンド数は、Ｎがすべてのネットワーク装置で同じ数のとき、以下の式（１）により計算できる。
シフトコマンド数（Ｃｎ）＝ネットワーク装置数×Ｎ個…式（１）
【０００８】
次に、第３フェーズでは各ネットワーク装置において２つのキューに分かれることから、各ネットワーク装置でＮ個のコマンドを処理するためのセッション接続回数は、最大２回となる。つまり、シフトされたＮ個のコマンドを処理する際のセッション接続回数（Ｓｎ）は、以下の式（２）により計算できる。
セッション接続回数（Ｓｎ）＝ネットワーク装置数×２…式（２）
【０００９】
ここで、コマンド１つあたりの処理時間（Ｃｔ）と、１セッションの接続処理時間（Ｓｔ）が分かっており、かつ、セッションリソース数（最大設セッションリソース数）が、このコマンド投入装置に接続されるネットワーク装置の数よりも少ない場合、Ｎ＋１個目のコマンドが投入されるまでの最大待ち時間は、以下の式（３）により計算できる。
【数１】
2010267165.tif 000003
【００１０】
なお、セッションリソース数（最大セッションリソース数）がネットワーク装置の数よりも多い場合には、以下の式（４）により計算できる。
【数２】
2010267165.tif 000004
【００１１】
この後、コマンド投入装置のセッション制御部は、セッション管理部からの指示に基づきネットワーク装置との間でのセッションの確立および切断を行い、コマンドの投入を行う。つまり、セッション管理部は、セッションが確立中か否かおよび当該セッションによるコマンド処理中か否かを示すセッション状態とを示したセッション管理情報を参照して、設定系コマンドキューまたは非設定系コマンドキューに蓄積されたコマンド群の中から、セッション確立中のネットワーク装置へのコマンド群をコマンド群として選択する。このとき、セッション確立中のネットワーク装置へのコマンド群の中に、（１）当該ネットワーク装置に連続投入可能なコマンド群があれば、このコマンド群を優先的に選択し、このコマンド投入装置に設定された各ネットワーク装置とのセッション数の合計値の最大値を超えない範囲で、当該ネットワーク装置との間に新たなセッションを確立し、この選択したコマンド群をネットワーク装置に投入するようセッション制御部へ指示する。また、（２）当該ネットワークに連続投入可能なコマンド群がなければ、コマンド群の中からランダムにコマンド群を選択し、この選択したコマンド群をネットワーク装置に投入するようセッション制御部へ指示する。これにより、コマンド投入装置は、ネットワーク装置に一連のコマンド群をまとめて投入することができる。また、設定系コマンドと非設定系コマンド等、連続投入が可能なコマンド群について、複数のセッションを用いてネットワーク装置に並列に投入する。よって、効率よくコマンドを投入することができる。
【００１２】
また、本発明のコマンド投入装置は、キュー部の設定系コマンドキューおよび非設定系コマンドキューのいずれのコマンド群の中にも、コマンド群の中に、セッション確立中のネットワーク装置へのコマンド群がなかった場合、セッション制御部へ、確立されたセッションの中から、コマンド処理を終了しているセッションを切断するよう指示する。そして、このコマンド群の中から、ランダムにコマンド群を選択し、この選択したコマンド群の投入先となるネットワーク装置との間に新たなセッションを確立し、選択したコマンド群を、この確立したセッションを用いて投入するよう指示する。これにより、コマンド投入装置は、限られたセッションリソースを有効活用してコマンド群の投入を行うことができる。
【００１３】
また、本発明のコマンド投入装置は、非設定系コマンドのコマンド群を投入するために、コマンド群の投入先のネットワーク装置との間に新たなセッションの確立を指示するとき、このネットワーク装置との間で確立されるセッション数が、自身のコマンド投入装置に設定された各ネットワーク装置とのセッション数の合計値の最大値（最大セッション数）を超えず、かつ、当該ネットワーク装置に関する第３フェーズにおけるキュー数を超えない数とするようにする。このようにすることで、複数のセッションを用いてネットワーク装置に非設定系コマンドを並列に投入するとき、用いるセッション数を、最大セッション数を越えず、かつ、当該ネットワーク装置に関する第３フェーズにおけるキュー数以下とすることができる。
【００１４】
また、本発明のコマンド投入システムは、コマンド投入装置と、このコマンド投入装置からのコマンドの投入を受け付けるネットワーク装置を複数含む。このようにすることで、前記したコマンド投入装置を含むシステムを実現することができる。
【００１５】
また、本発明のコマンド投入プログラムは、請求項５に記載のコマンド投入方法を、コンピュータであるコマンド投入装置に実行させる。よって、一般的なコンピュータに請求項５に記載のコマンド投入方法を実行させることができる。
【発明の効果】
【００１６】
本発明によれば、コマンド投入装置が、各ネットワーク装置へ、効率よく平等にコマンドを投入しつつ、コマンドが投入されるまでの最大待ち時間を容易に予測できる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態のコマンド投入装置の処理概要を概念的に示した図である。
【図２】本実施の形態のコマンド投入装置の構成例を示した図である。
【図３】図２のコマンド投入装置の受け付けるコマンドファイルを例示した図である。
【図４】図２のセッション管理情報を例示した図である。
【図５】図２のコマンド投入装置の処理手順を示したフローチャートである。
【図６】図５のキューイングの詳細を示したフローチャートである。
【図７】図２のコマンド投入装置の処理手順例を示した図である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態（以下、実施の形態とする）について説明する。
まず、本実施の形態のコマンド投入装置が扱うコマンドについて説明する。コマンド投入装置が扱うコマンドは、大きく設定系コマンドと非設定系コマンドとに分けられる。なお、ここでは、コマンドの投入対象のネットワーク装置は、ルータである場合を例に説明するが、それ以外のネットワーク装置であってもよい。
【００１９】
設定系コマンドは、例えば、Cisco（登録商標）ルータのコマンドで、Configurationモードで設定する「password」や「ip address」等、ルータ（ネットワーク装置）の設定そのものに変更を加えるコマンドである。この設定系コマンドは、同じルータに同時（または、ほぼ同時）に複数投入した場合、相互の干渉するおそれがあるため、排他的に実行する必要がある。つまり、ルータにおいて、１つのコマンドの実行が完了してから、次のコマンドを実行する必要がある。また、この設定系コマンドは、他の設定系コマンドと順番が前後してしまうと、想定した実行結果と異なる結果となる場合がある。そのため、コマンド投入装置がルータへ設定系コマンドを投入する際には、投入順序を守る必要がある。
【００２０】
非設定系コマンドは、「show」や「ping」といった参照コマンド等、ルータそのものにに変更を加えないコマンドである。この非設定系コマンドは、他の設定系コマンドと同時に実行しても影響を与えない。
【００２１】
なお、この設定系コマンドおよび非設定系コマンドはそれぞれ、そのコマンドの優先度によっても分類される。ここでは説明を簡単にするため、優先度の概念を単純化し、緊急コマンドと通常コマンドの２種類のコマンドとに分類する。
【００２２】
通常コマンドは、基本的にコマンドファイルに示される順に投入される。しかし、ネットワーク内のルータに障害が起こった場合、これらのコマンドよりも試験用コマンド（例えば、「ping」や「traceroot」等）を優先的に投入し、速やかにルータの障害箇所の特定を行わなくてはならない。このようなコマンドを緊急コマンドと呼び、通常コマンドよりも優先的にルータへ投入する。また、この通常コマンドと緊急コマンドについても、それぞれ設定系コマンドと非設定系コマンドの種別を持ち、緊急コマンドであっても、このコマンドが設定系コマンドであれば、同じルータに複数のコマンドを投入すると問題が生じる。従って、複数の緊急コマンドが同じルータに投入される場合でも、コマンド間の順序性が保持されなければならない。なお、各コマンドが通常コマンドか緊急コマンドかは、ネットワークの管理者等がコマンドファイル等に設定する。
【００２３】
以上の特性をまとめると、コマンド投入装置において遵守すべきコマンドの順序は表１に示すようになる。なお、この表１における「先」とは、入力順が先のコマンドという意味であり、「後」とは、入力順が後のコマンドという意味である。また、ここでの「先」と「後」とは、必ずしも明確な時間差がある場合のみならず、ほぼ同時の場合を含む。
【００２４】
例えば、表１に示すように、先のコマンドが緊急コマンドであるとき、後のコマンドが緊急コマンドであろうと、通常コマンドであろうと、先のコマンドが優先される。また、先のコマンドが通常コマンドであるとき、後のコマンドが通常コマンドであれば、この先のコマンドが優先されるが、後のコマンドが緊急コマンドであるときは、後のコマンドが優先される。例えば、先のコマンドが設定系コマンドで通常コマンドであり、後のコマンドが設定系コマンドで緊急コマンドであれば、後のコマンドの方が優先される。また、先のコマンドが非設定系の通常コマンドであるとき、後のコマンドが非設定系の緊急コマンドであれば、後のコマンドの方が優先される。
【表１】
2010267165.tif 000005
【００２５】
ここで、本実施の形態のコマンド投入装置の処理概要を図１を用いて説明する。なお、コマンド投入装置と、コマンド投入対象であるルータ（ネットワーク装置）２０それぞれとの間で確立するセッション数の最大値（セッションリソース）は予め決められているものとする。
【００２６】
本実施の形態のコマンド投入装置は、キュー部１２２において、ルータ２０へ投入する一連のコマンド群に対し、以下に示す３つのフェーズからなるキューイングを行う。そして、フェーズ３の各キューから選択したコマンド群を、このコマンド群の投入先のルータ２０との間に確立されたセッションまたは新たに確立したセッションを用いて投入する。
【００２７】
＜フェーズ１（第１のフェーズ）＞
コマンド投入装置は、コマンドファイル（コマンド群）を受信すると、このコマンド群を、投入先のルータ２０（例えば、ルータ２０Ａ，２０Ｂ，２０Ｃ）ごとに分ける。そして、この分けたコマンド群を、緊急コマンドと通常コマンドとに分ける。そして、緊急コマンドを緊急コマンドキューとして蓄積し、通常コマンドを通常コマンドキューとして蓄積する。このような処理を、コマンド群の投入先のルータ２０ごとに行う。
【００２８】
＜フェーズ２（第２のフェーズ）＞
次に、コマンド投入装置は、フェーズ３（詳細は後記）のすべてのルータ２０に対するキューのコマンドが無くなったとき、フェーズ２のキュー（バッファキュー）に、フェーズ１のキューのコマンドを所定数（Ｎ個）シフトする。ここで、シフトするコマンドは、緊急コマンドキュー（優先度の高いキュー）から優先的に選ぶ。なお、フェーズ１の緊急コマンドキューのコマンドがＮ個未満の場合、緊急コマンドキューのコマンドをすべてシフトし、不足分については通常コマンドキューからシフトする。このようにしてフェーズ１のコマンド群をシフトすることで、ルータ２０へのコマンドについて、通常コマンドよりも緊急コマンドの方が先に投入されるようなキューイングを実現できる。また、コマンド投入装置は、フェーズ３のすべてのルータ２０に対するコマンドが無くなってから、次のＮ個のコマンドをシフトするので、各ルータ２０間で投入コマンド数に偏りが生じにくくなる。なお、コマンド投入装置がシフトするコマンド数は、コマンドの投入先の各ルータ２０ごとに異なる数であってもよい。
【００２９】
＜フェーズ３（第３のフェーズ）＞
コマンド投入装置は、フェーズ２のＮ個のコマンドのうち、設定系コマンドを設定系コマンドキューに蓄積し、非設定系コマンドを１以上の非設定系コマンドキューに蓄積する。
【００３０】
その後、コマンド投入装置のセッション制御部１２５は、この設定系コマンドキューまたは非設定系コマンドキューに溜まったコマンド群を投入コマンド候補群としてシフトし、このシフトしたコマンド群の中から、各ルータ２０とのセッション状態を見て、１つのコマンド群を選択する。そして、このコマンド群を、ルータ２０へ投入する。このようにすることで、コマンド投入装置は、できるだけ連続でルータ２０へコマンドを投入することができる。また、コマンド投入装置は、最大Ｎ個ずつコマンドをシフトしてルータ２０へ投入することが分かっているので、コマンド投入の最大待ち時間が予測しやすくなる。なお、このフェーズ３の設定系コマンドキューは１つのルータ２０あたり、１つとする。これは、当該ルータ２０との間にセッションを確立する場合において、このフェーズ３の設定系コマンドを複数のセッションを用いて投入すると競合が発生するからである。
【００３１】
なお、このときセッション制御部１２５は、ルータ２０とのセッション状態（セッション確立中、セッション切断中、コマンド処理中、コマンド処理完了）を参照して、連続投入できるコマンド群（つまり、競合しない投入コマンド候補群）があれば、優先的にそのコマンド群を選択する。例えば、ルータ２０とのセッションを確立中であり、かつ、設定系コマンドを処理中であれば、非設定系コマンドを選択する。このようにすることで、同じルータ２０内に連続して複数のコマンドを投入する場合でも、そのルータ２０内でコマンドの競合を起こさないようにできる。
【００３２】
また、このとき、（１）セッション制御部１２５は、ルータ２０との間にセッションリソースがあり、かつ、次の投入コマンドが、この投入コマンドの対象装置（ルータ２０）へ投入中のコマンドと競合しなければ、対象装置（ルータ２０）に新たなセッションを確立し、コマンドを投入する。ここで、セッション制御部１２５は、（２）すべてのセッションリソースが接続中であれば、いずれかのルータ２０へのコマンド投入が終了するまで待ってそのセッションを切断する。そして、その後、（１）の処理を実行する。つまり、セッション制御部１２５は、新たなセッションを確立するためのセッションリソースが無ければ、コマンド投入終了後、セッションの切断を行い、セッションリソースを確保し、新たなセッションを確立できるようにする。このようにすることで、コマンド投入装置は、同じルータ２０に対し、複数のセッションを確立して並列にコマンドを投入することが可能となる。これにより、コマンド投入装置は、効率よくコマンド投入を行うことができる。なお、（１）において、セッション制御部１２５がルータ２０との間に新たなセッションを確立するとき、コマンド投入装置の確立するセッションの合計数が、最大セッション数を超えず、かつ、そのルータ２０に確立可能なセッション数（並列度）を超えないようにする。
【００３３】
＜構成＞
次に、図２を用いて、本実施の形態のコマンド投入システムの構成例を説明する。コマンド投入システムは、ルータ（装置）２０へのコマンド群を示したコマンドファイルを出力する上位システム３０（３０Ａ,３０Ｂ,３０Ｃ）と、この上位システム３０からのコマンドファイルを受信し、ルータ２０へコマンド群を投入するコマンド投入装置１０と、このコマンド群の投入先の装置であるルータ２０（２０Ａ,２０Ｂ,２０Ｃ）とを含んで構成される。なお、この上位システム（外部装置）３０は、例えば、コマンド投入装置１０へコマンドファイルを出力するコンピュータにより実現される。また、ルータ２０は、ＩＰ網等の通信網に設置されるルータである。ここでは、コマンド投入装置１０は、既にセッション制御部１２５により、ルータ２０（２０Ａ〜２０Ｃ）との間にセッションを確立しているものとする。そして、各セッションがどのルータ２０と確立されているか、そのセッションが確立中か切断中か、接続先のルータ２０において、コマンド処理が完了しているか否か等をセッション管理情報１３１に記録しているものとする。
【００３４】
このようなコマンド投入装置１０の構成を詳細に説明する。コマンド投入装置１０は、入力部１１、処理部１２、記憶部１３および出力部１４に分けられる。
【００３５】
入力部１１は、上位システム３０から、１以上のコマンドをファイル形式で受け付ける。処理部１２は、このコマンド投入装置１０全体の制御を司り、主にキュー部１２２におけるキューイング、ルータ２０とのセッション制御を行う。記憶部１３は、このセッションの選択時に参照されるセッション管理情報１３１を記憶する。出力部１４は、ルータ２０へコマンドを出力する。
【００３６】
入力部１１および出力部１４は、外部装置（上位システム３０やルータ２０）との間でデータの入出力を行うための入出力インタフェースや通信インタフェースから構成される。また、処理部１２は、このコマンド投入装置１０が備えるＣＰＵ（Central Processing Unit）によるプログラム実行処理や、専用回路等により実現される。さらに、記憶部１３は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ等の記憶媒体から構成される。なお、コマンド投入装置１０をプログラム実行処理により実現する場合、記憶部１３には、このコマンド投入装置１０の機能を実現するためのコマンド投入プログラムが記憶される。
【００３７】
ここで、コマンド投入装置１０が受け付けるコマンドファイルを説明する。図３は、図３に示すように、コマンドファイルは、コマンドの投入先であるルータ２０のルータＩＤ（例えば、ＩＰ（Internet Protocol）アドレス）と、コマンド種別、１以上のコマンドが含まれる。ここでのコマンド種別は、２つ示され（コマンド種別１，２）、例えば、そのコマンドが、緊急コマンドか、通常コマンドかというコマンド種別１と、設定系コマンドか、非設定系コマンドかというコマンド種別２とが示される。例えば、図３に示すコマンドファイルは、ＩＰアドレス「10.10.10.11」のルータ２０に対し、「aaaaaaaaa」と「bbbbbbbbb」というコマンドを投入し、これらのコマンドのコマンド種別はいずれも「緊急（緊急コマンド）」で「設定系（設定系コマンド）」であることを示す。なお、このコマンドファイルに示されるコマンドは、例えば、ＣＬＩ（Command line interface）コマンド等である。なお、このコマンドファイルに示されるコマンド群は、ルータ２０へのコマンド投入順に並べられているものとする。
【００３８】
図２の入力部１１は、上位システム３０からこのコマンドファイルの入力を受け付けると、処理部１２へ出力する。
【００３９】
処理部１２は、キューイング部１２１と、キュー部１２２と、セッション管理部１２４と、セッション制御部１２５とを含んで構成される。
【００４０】
キューイング部１２１は、入力部１１経由で入力されたコマンドファイルに含まれるコマンド群を、このコマンド群の投入先のルータ２０ごとに分ける。そして、このルータ２０ごとに分けられたコマンド群について、その種別（緊急コマンドか通常コマンドか）を判断し、緊急コマンドについては、キュー部１２２の緊急コマンドキューとして蓄積し、通常コマンドについては、キュー部１２２の通常コマンドキューとして蓄積する（フェーズ１）。次に、キューイング部１２１は、キュー部１２２のすべてのルータ２０に関するフェーズ３のキューが空になったとき、フェーズ１のキューのうち、優先度の高いキュー（緊急コマンドキュー）から優先的に、当該ルータ２０へのコマンドを所定数（Ｎ個）バッファキューにシフトする（フェーズ２）。そして、このバッファキューへシフトしたコマンドのうち設定系コマンドを設定系コマンドキューに蓄積し、非設定系コマンドを非設定系コマンドキューに蓄積する（フェーズ３）。
【００４１】
キュー部１２２は、ルータ２０へのコマンドの緊急コマンドキューおよび通常コマンドキューに分けて蓄積する領域（フェーズ１のキューの領域）、フェーズ１のキューからシフトしたコマンドをＮ個蓄積するバッファキューの領域（フェーズ２のキューの領域）、フェーズ２のキューからシフトしたコマンド群のうち、設定系コマンドを蓄積する設定系コマンドキューの領域および非設定系コマンドを蓄積する非設定系コマンドキューの領域（フェーズ３のキューの領域）とを備える。また、このキュー部１２２は、例えば、このコマンド投入装置１０の備えるＲＡＭ等の半導体メモリ上に形成される。
【００４２】
セッション管理部１２４は、セッション管理情報１３１に示されるセッション状態を参照して、キュー部１２２の設定系コマンドキューまたは非設定系コマンドキューのコマンド群の中から、当該ルータ２０とセッション確立中のコマンド群を、ルータ２０への投入コマンド候補群として選択する。ここで、セッション確立中のルータ２０へのコマンド群の中に、（１）このルータ２０に連続投入可能なコマンド群があれば、このコマンド群を優先的に選択し、このコマンド投入装置１０の最大セッション数を超えない範囲で、当該ルータ２０との間に新たなセッションを確立するようセッション制御部１２５に指示する。なお、ここで、同じルータ２０に確立可能なセッション数は、このコマンド投入装置１０の最大セッション数を超えず、キュー部１２２のフェーズ３のキューの数（並列度）を超えないようにする。また、セッション管理部１２４は、（２）ルータ２０に連続投入可能なコマンド群がなければ、コマンド群の中からランダムに選択し、セッション制御部１２５に、この選択したコマンド群を、このコマンド群の投入先であるルータ２０に投入するよう指示する。さらに、キュー部１２２の設定系コマンドキューおよび非設定系コマンドキューのいずれのコマンド群の中にも、セッション確立中のルータ２０へのコマンド群がなかった場合、セッション管理部１２４は、確立済みのセッションの中から、コマンド処理を終了しているセッションを切断し、キュー部１２２の設定系コマンドキューまたは非設定系コマンドキューのいずれかのコマンド群の中から、ランダムにコマンド群を選択する。そして、選択したこのコマンド群の投入先となるルータ２０との間に新たなセッションを確立し、選択したコマンド群を、この確立したセッションを用いて投入するようセッション制御部１２５へ指示する。
【００４３】
また、セッション管理部１２４は、セッション制御部１２５からルータ２０との間に確立されたセッションの状態を示すセッション状態情報を受信し、セッション管理情報１３１に記録する。そして、このセッション管理情報１３１を参照して、セッション制御部１２５に対し、コマンド投入に用いるセッションの振り分けや、セッションの確立および切断を指示する。なお、このセッション管理部１２４は、各ルータ２０との間で確立中のセッション数の合計値を、予め設定された最大セッション数（セッションリソース数）以下とし、かつ、そのルータ２０の並列度（そのルータ２０に関するフェーズ３のキュー数）以下とするようにする。このセッション管理部１２４が記録するセッション管理情報１３１の詳細は、図４を用いて後記する。
【００４４】
セッション制御部１２５は、セッション管理部１２４からの指示に基づきルータ２０との間でセッションの確立および切断や、確立されたセッションを用いたコマンド投入を行う。また、セッションの確立や切断、コマンド投入を行ったとき、または、そのコマンド投入後、投入先のルータ２０においてコマンド処理が完了したとき、その状態をセッション状態情報としてセッション管理部１２４へ出力する。
【００４５】
記憶部１３は、セッション管理情報１３１を記憶する。このセッション管理情報１３１は、ルータ２０との間に確立されたセッションの状態を示す情報である。図４は、図１のセッション管理情報を例示した図である。図４に示すようにセッション管理情報１３１は、セッションＩＤごとに、そのセッションにより接続されるルータ２０のルータＩＤ、投入コマンドのコマンド種別、セッション状態、セッション接続時間等が記録される。例えば、図４に示すセッション管理情報１３１では、セッションＩＤ「10010011001」のセッションが、ルータＩＤ「10.10.10.11」のルータ２０との間で確立されたセッションであり、このルータ２０には、「設定系（設定系コマンド））」が投入され、このコマンドによる「処理中（コマンド処理中）」であり、セッションの接続時間は「３０（s）」であることを示す。なお、このセッション管理情報１３１は、ルータ２０との間に確立中の合計セッション数、このコマンド投入装置１０が確立する最大セッション数の情報もさらに含む。このセッション管理情報１３１は、セッション管理部１２４がコマンド投入に用いるセッションを選択するときに参照される。
【００４６】
図２の出力部１４は、セッション制御部１２５から出力されたコマンドをルータ２０へ投入する。
【００４７】
＜処理手順＞
次に、図１および図２を参照しつつ、図５を用いてコマンド投入装置１０の処理手順を説明する。ここでは、コマンド投入装置１０が、各ルータ２０との間で既に最大セッション数以下のセッションを確立し、その確立されたセッションの状態をセッション管理情報１３１に記録しているものとする。
【００４８】
まず、図２のコマンド投入装置１０の入力部１１は、上位システム３０からコマンドファイルの入力を受け付ける（Ｓ１１）。そして、入力部１１は、このコマンドファイルを、キューイング部１２１へ出力する。次に、キューイング部１２１は、コマンドファイルに含まれるコマンド群を、このコマンド群の投入先であるルータ２０ごとに分類し（Ｓ１２）、キュー部１２２へ出力する（Ｓ１３）。
【００４９】
そして、キューイング部１２１は、キュー部１２２においてキューイングを行う（Ｓ１４）。このときのキューイングの詳細は、図６を用いて後記する。
【００５０】
ここで、セッション管理部１２４は、セッション管理情報１３１に示される各ルータ２０とのセッション状態を参照して、キュー部１２２のフェーズ３の設定系コマンドキューおよび非設定系コマンドキュー（図１参照）のいずれかのコマンド群の中に、セッション確立中のルータ２０へのコマンド群があるか否かを判断する（Ｓ１５）。
【００５１】
ここで、セッション管理部１２４は、キュー部１２２の設定系コマンドキューおよび非設定系コマンドキューのいずれかのコマンド群の中に、セッション確立中のルータ２０へのコマンド群があると判断したとき（Ｓ１５のＹｅｓ）、Ｓ１６へ進む。そして、セッション管理部１２４は、このセッション確立中のルータ２０へのコマンド群の中に、このルータ２０へ連続投入可能なコマンド群があるか否かを判断する（Ｓ１６）。つまり、セッション管理部１２４は、セッション確立中のルータ２０へのコマンド群のうち、連続してそのルータ２０へ投入すると競合してしまうコマンド群があるか否かを判断する。例えば、ルータ２０において、設定系コマンドの処理中である場合、このルータ２０に設定系コマンドのコマンド群を投入すると競合してしまう。よって、このようなコマンド群は、このルータ２０に連続投入できないコマンド群と判断する（Ｓ１６のＮｏ）。そして、Ｓ１９へ進む。Ｓ１９については後記する。一方、このルータ２０に非設定系コマンドのコマンド群を投入する場合、競合しないので、このルータ２０に連続投入できるコマンド群と判断する（Ｓ１６のＹｅｓ）。
【００５２】
セッション管理部１２４が、このセッション確立中のルータ２０へのコマンド群の中に、このルータ２０へ連続投入可能なコマンド群がある判断したとき（Ｓ１６のＹｅｓ）、このコマンド群を選択する（Ｓ１７）。ここでは、設定系コマンドキューまたは非設定系コマンドキューに蓄積されたコマンド群すべてを選択するものとする。そして、セッション管理部１２４は、この選択した投入コマンドを、このコマンド群の投入先であるルータ２０との間で確立されたセッションまたは新たに確立したセッションを用いて投入するよう、セッション制御部１２５に指示する（Ｓ１８）。これを受けてセッション制御部１２５、このコマンド群を、指示されたセッションを用いて、ルータ２０へ投入する。その後、セッション管理部１２４は、セッション管理情報１３１を更新する（Ｓ２５）。なお、Ｓ１８において、セッション管理部１２４は、このコマンド投入装置１０と各ルータ２０との間に確立されるセッション数の合計が、最大セッション数を超えず、かつ、当該ルータ２０に確立されるセッション数が、このルータ２０に対するキュー部１２２のフェーズ３のキューの数を超えないようにする。例えば、コマンド投入装置１０の最大セッション数が「４」の場合、このルータ２０に対し新たなセッションを確立しても、各ルータ２０との間に確立されたセッション数の合計値が「４」を超えないようにする。また、キュー部１２１のフェーズ３において、当該ルータ２０に対するキューが、設定系コマンドキューと非設定系コマンドキューそれぞれ１つずつである場合、そのルータ２０との間に確立するセッション数は「２」を超えないようにする。
【００５３】
一方、Ｓ１６において、セッション管理部１２４が、セッション確立中のルータ２０へのコマンド群の中に、このルータ２０へ連続投入可能なコマンド群がないと判断したとき（Ｓ１６のＮｏ）、セッション確立中のルータ２０へのコマンド群の中から、ランダムにコマンド群を選択する（Ｓ１９）。そして、セッション管理部１２４は、この選択したコマンド群を、このコマンド群の投入先のルータ２０でのコマンド処理終了後、投入するようセッション制御部１２５に指示する（Ｓ２０）、そして、Ｓ２５へ進む。
【００５４】
また、前記したＳ１５において、セッション管理部１２４は、キュー部１２２の設定系コマンドキューにも、非設定系コマンドキューにも、セッション確立中のルータ２０へのコマンド群がないと判断したとき（Ｓ１５のＮｏ）、以下の処理を行う。すなわち、まず、セッション管理部１２４は、セッション管理情報１３１を参照して、このコマンド投入装置１０に許可されたすべてのセッションリソース（最大セッション数）を利用中か否かを判断する（Ｓ２１）。ここで、すべてのセッションリソースを利用中であれば（Ｓ２１のＹｅｓ）、セッション管理部１２４は、各ルータ２０との間で確立されたセッションの中から、コマンド処理を終了しているルータ２０とのセッションを切断するようセッション制御部１２５に指示する（Ｓ２２）。これを受けて、セッション制御部１２５は、コマンド処理を終了しているルータ２０とのセッションを切断する。そして、Ｓ２３へ進む。
【００５５】
一方、セッション管理部１２４は、セッション管理情報１３１を参照して、セッションリソースに余剰があれば（Ｓ２１のＮｏ）、Ｓ２２をスキップして、Ｓ２３へ進む。つまり、まだ各ルータ２０との間に確立されたセッション数の合計が、最大セッション数を超えていなければ、Ｓ２３へ進む。
【００５６】
Ｓ２３において、セッション管理部１２４は、キュー部１２２のフェーズ３のキュー（設定系コマンドキューおよび非設定系コマンドキュー）からランダムにコマンド群を選択する（Ｓ２３）。そして、この選択したコマンド群の投入先となるルータ２０との間に新たなセッションを確立し、選択した投入コマンド群を、この確立したセッションを用いて投入するようセッション制御部１２５に指示する（Ｓ２４）。これを受けてセッション制御部１２５は、ルータ２０との間に新たなセッションを確立し、選択したコマンド群を、この確立したセッションを用いて投入する。そして、Ｓ２５へ進む。
【００５７】
このようにすることで、コマンド投入装置１０は、各ルータ２０に対しできるだけ連続してコマンドを投入することができる。また、そのルータ２０に対し、連続投入可能な場合において、セッションリソースに余裕があれば、このルータ２０に複数（前記した例では、設定系コマンド用に１本、非設定系コマンド用に１本）のセッションを確立して、並列にコマンド投入を行う。これにより、ルータ２０へのコマンド投入を効率的に行うことができる。
【００５８】
次に、図１，２を参照しつつ、図６を用いて、図５のＳ１４のキューイングを説明する。まず、図２のコマンド投入装置１０のキューイング部１２１は、入力されたコマンド群の投入先のルータ２０ごとに、このコマンド群を緊急コマンドと、通常コマンドとに分け、それぞれのキューに蓄積する（Ｓ６１）。つまり、キューイング部１２１は、フェーズ１（図１参照）として、各ルータ２０ごとに、コマンド群のうち緊急コマンドを緊急コマンドキューに蓄積し、通常コマンドを通常コマンドキューに蓄積する。
【００５９】
そして、キューイング部１２１は、フェーズ３（図１の設定系コマンドキューおよび非設定系コマンドキュー）におけるすべてのルータ２０に対するキューが空になったとき（Ｓ６２のＹｅｓ）、緊急コマンドキューおよび通常コマンドキューから、Ｎ個のコマンドをバッファキューにシフトする。このとき、キューイング部１２１は、緊急コマンドキューにコマンドが蓄積されていれば、この緊急コマンドキューのコマンドから優先的にシフトする（Ｓ６３）。なお、緊急コマンドキューおよび通常コマンドキューに蓄積されいてるコマンド数がＮ個未満のときは、そのすべてのコマンドをシフトする。また、フェーズ３のいずれかのルータ２０に対するキューに、コマンドが蓄積されている段階では（Ｓ６２のＮｏ）、Ｓ６３へ進まない。
【００６０】
次に、キューイング部１２１は、フェーズ２のバッファキュー（図１参照）に溜まっているコマンド群を設定系コマンドと、非設定系コマンドとに分け、それぞれのキューにシフトする（Ｓ６４）。つまり、設定系コマンドについては設定系コマンドキューに蓄積し、非設定系コマンドについては非設定系コマンドキューに蓄積する。
【００６１】
このようにすることで、コマンド投入装置１０は各ルータ２０へ最大Ｎ個ずつ連続でコマンドを投入するので、コマンド投入の最大待ち時間を予測しやすくなる。
【００６２】
＜具体例＞
次に、コマンド投入装置１０によるコマンド投入処理の具体例を説明する。図７は、図１のコマンド投入装置によるコマンド投入処理の例を示した図である。
【００６３】
なお、ここでは、図２のコマンド投入装置１０が３つのルータ２０（２０Ａ〜２０Ｃ）との間に最大４本のセッション数を確立してルータ２０へコマンドを投入する場合を例に説明する。ここでは、コマンド投入装置１０は、ルータ２０ＡへコマンドＡ１，Ａ２，Ａ３，Ａ４を投入し、ルータ２０ＢへコマンドＢ１，Ｂ２，Ｂ３を投入し、ルータ２０ＣへコマンドＣ１，Ｃ２，Ｃ３を投入するものとする。このうち、コマンドＡ１，Ａ３，Ｂ１，Ｂ３，Ｃ１，Ｃ２は設定系コマンドであり、コマンドＡ２，Ａ４，Ｂ２，Ｃ３は非設定系コマンドである。ここで、キューイング部１２１は、フェーズ３における各ルータ２０（ルータ２０Ａ〜２０Ｃ）の時刻ｔ１〜ｔ３におけるコマンド群のキューは、図７に示すような状態であるものとして説明する。
【００６４】
まず、コマンド投入装置１０は、上位システム３０からコマンドファイルの入力を受け付ける。そして、キューイング部１２１はこのコマンドファイルに含まれるコマンド群を分類して、キュー部１２２へ格納する。そして、このコマンドの投入先のルータＩＤをセッション管理部１２４が読み出す。そして、セッション管理部１２４は、セッション管理情報１３１を参照して、この投入先のルータ２０との間に確立されたセッションがないと判断したとき、セッション制御部１２５に、このルータ２０との間にセッションを確立するよう指示する。ここでは、各コマンドの投入先であるルータ２０Ａ〜２０Ｃとの間のセッションは未確立なので、セッション管理部１２４は、セッション制御部１２５に、コマンドＡ１を投入するためのルータ２０ＡとのセッションＡ、コマンドＢ１を投入するためのルータ２０ＢとのセッションＢ、コマンドＣ１を投入するためのルータ２０ＣとのセッションＣ、コマンドＡ２を投入するためのルータ２０ＡとのセッションＤを確立するよう指示する。なお、前記したとおり、最大セッション数は４本なので、５本目のセッションの確立要求は行わない。
【００６５】
コマンド投入装置１０のセッション制御部１２５は、このようなセッション確立要求をルータ２０Ａ,２０Ｂ,２０Ｃに対し行う。そして、セッション制御部１２５は、このルータ２０Ａ,２０Ｂ,２０Ｃからセッション確立の応答を受信すると、セッション制御部１２５は、確立したセッションを用いて、ルータ２０Ａ〜２０Ｃに対し、コマンドＡ１，Ｂ１，Ｃ１，Ａ２の投入を行う。なお、コマンドＡ２は、非設定系コマンドなので、ルータ２０Ａにおいて設定系コマンドを投入中でも競合しない。よって、コマンド投入装置１０はこのコマンドＡ２を連続して投入する。この段階でキュー部１２２のフェーズ３（ｔ１）のキューが空になるので、キューイング部１２１は次のＮ個のコマンド（フェーズ３（ｔ２））をシフトする。この後、ルータ２０Ａ〜２０Ｃは、コマンド投入が完了すると（またはこのコマンドによる設定処理が終了すると）その旨を伝えるメッセージを、コマンド投入装置１０へ通知する。
【００６６】
次に、コマンド投入装置１０はフェーズ３（ｔ２）のコマンドＣ２を、ルータ２０Ｃに投入し、コマンドＢ２を、ルータ２０Ｂに投入する。この段階でフェーズ３（ｔ２）のキューが空になるので、キューイング部１２１は、次のＮ個のコマンドを（フェーズ３（ｔ３））をシフトする。その後、ルータ２０Ｃ，２０Ｂはコマンド投入が完了すると（または、このコマンドによる設定処理が終了すると）その旨を伝えるメッセージを、コマンド投入装置１０へ通知する。続いて、コマンド投入装置１０は、コマンドＡ３，Ａ４をルータ２０Ａに投入する。ルータ２０Ａはコマンド投入が完了すると（または、このコマンドによる設定処理が終了すると）その旨を伝えるメッセージを、コマンド投入装置１０へ通知する。
【００６７】
次に、コマンド投入装置１０はルータ２０Ｂ，２０Ｃからの完了メッセージを受信すると、フェーズ３（ｔ３）の残りのコマンド（コマンドＣ３，Ｂ３）を、ルータ２０Ｃ、ルータ２０Ｂへ投入する。そして、コマンド投入が完了すると、ルータ２０Ｃ，２０Ｂは（または、このコマンドによる設定処理が終了すると）その旨を伝えるメッセージを、コマンド投入装置１０へ通知する。
【００６８】
このように、コマンド投入装置１０は、最大Ｎ個のコマンド群を連続して各ルータ２０へ投入する。また、コマンド投入装置１０は、１つのルータ２０に対し、複数のセッションを確立可能であれば、複数のセッションを確立してコマンドを投入するので効率よくコマンドを投入することができる。さらに、このコマンド投入装置１０が投入するコマンド数の最大値はＮ個なので、コマンド群が投入されるまでの最大待ち時間を容易に予測できる。
【００６９】
なお、前記した実施の形態において、コマンド投入装置１０のキュー部１２２におけるルータ２０ごとのフェーズ３の非設定系コマンドキューの数は、オペレータ等が任意の数を設定可能である。例えば、コマンド投入装置１０は、入力された設定情報をもとに、ルータ２０Ａに関するフェーズ３の非設定系コマンドキューの数を「１」とし、ルータ２０Ｂに関するフェーズ３の非設定系コマンドキューの数を「３」とすると、このコマンド投入装置１０は、ルータ２０Ａに対して最大２本のセッションを用いてコマンド投入を行い、ルータ２０Ｂに対して最大４本のセッションを用いてコマンド投入を行う。このようにすることで、コマンド投入装置１０のオペレータは、例えば、非設定系コマンドの投入数が多いと予測されるルータ２０Ｂには確立可能な最大セッション数（並列度）を多く設定できるので、より効率的なコマンド投入を実現できる。
【符号の説明】
【００７０】
１０    コマンド投入装置
１１    入力部
１２    処理部
１３    記憶部
１４    出力部
２０（２０Ａ，２０Ｂ，２０Ｃ）  ルータ
３０    上位システム
１２１  キューイング部
１２２  キュー部
１２４  セッション管理部
１２５  セッション制御部
１３１  セッション管理情報
【図１】
2010267165.tif 000006
【図２】
2010267165.tif 000007
【図３】
2010267165.tif 000008
【図４】
2010267165.tif 000009
【図５】
2010267165.tif 000010
【図６】
2010267165.tif 000011
【図７】
2010267165.tif 000012