Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5118577B2 - コマンド投入装置、コマンド投入システム、コマンド投入方法およびそのプログラム - Google Patents
[go: Go Back, main page]

JP5118577B2 - コマンド投入装置、コマンド投入システム、コマンド投入方法およびそのプログラム - Google Patents

コマンド投入装置、コマンド投入システム、コマンド投入方法およびそのプログラム Download PDF

Info

Publication number
JP5118577B2
JP5118577B2 JP2008209173A JP2008209173A JP5118577B2 JP 5118577 B2 JP5118577 B2 JP 5118577B2 JP 2008209173 A JP2008209173 A JP 2008209173A JP 2008209173 A JP2008209173 A JP 2008209173A JP 5118577 B2 JP5118577 B2 JP 5118577B2
Authority
JP
Japan
Prior art keywords
command
session
input
contention
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008209173A
Other languages
English (en)
Other versions
JP2010044657A (ja
Inventor
雅史 清水
浩亮 坂田
三郎 瀬戸
辰幸 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008209173A priority Critical patent/JP5118577B2/ja
Publication of JP2010044657A publication Critical patent/JP2010044657A/ja
Application granted granted Critical
Publication of JP5118577B2 publication Critical patent/JP5118577B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、複数の異なるベンダの装置で構成されるIP(Internet Protocol)網におけるコンフィグ設定のためのコマンド投入技術に関する。
従来のシステムでは、単一ベンダの装置で構成される通信網を対象としており、また、サービスメニューやユーザ規模が小さかったため、コンフィグ設定のためのコマンド投入のたびにルータとのセッションの確立を行っていた。
NTT技術ジャーナル、「ネットワークサービスを支えるサービスアクティベーション技術」、[online]、[平成20年6月24日検索]、インターネット、<URL:http://www.ntt.co.jp/journal/0508/files/jn200508018.pdf > 清水他、「次世代ネットワークに向けた転送装置のconfig作成設定試験機能の試作」、社団法人電子情報通信学会 TM研究会、信学技報、Jul.2007
今後のNGN(Next Generation Network)において、ユーザの規模の拡大、サービスメニューの多様化に伴い、通信網を構成するルータ等への遠隔によるコンフィグ設定のためのコマンド投入の頻度が増大する。また、1日あたり数十万オーダのコマンド投入処理にあたり、そのたびにルータとの間でセッションの確立と切断を行っていたのでは処理が間に合わないおそれもあり、また、コマンド投入の効率も悪い。そこで、本発明は、前記した問題を解決し、コンフィグ設定のためのコマンド投入を効率的に行うことを目的とする。
前記した課題を解決するため、請求項1に記載の発明は、通信網に設置される1以上の装置へのコマンドを投入するコマンド投入装置であって、外部装置から、装置へ投入するコマンドの入力を受け付ける入力部と、入力されたコマンドを、同じ装置において並列処理を行うと競合する競合コマンドと、競合コマンド以外のコマンドである非競合コマンドとに分類するキュー出力部と、分類された競合コマンドを投入先の装置ごとにキューとして格納する第1のキュー部、および、分類された非競合コマンドをキューとして格納する第2のキュー部を備えるキュー部と、第1のキュー部に投入先の装置ごとに格納された競合コマンドおよび第2のキューブに格納された非競合コマンドそれぞれを転送部へ出力する転送制御部と、競合コマンドおよび非競合コマンドそれぞれをセッション制御部へ出力する転送部と、装置との間に確立されたセッションの識別情報と、このセッションにより接続される装置の識別情報と、セッションが確立中か否かおよび当該セッションによるコマンド処理中か否かを示すセッション状態とを示したセッション管理情報を記憶する記憶部と、セッション管理情報を参照して、競合コマンドおよび非競合コマンドそれぞれの投入先となる装置との間に確立中のセッションの中から、コマンド処理中ではないセッションを選択し、この選択したセッションを用いて競合コマンドおよび非競合コマンドそれぞれを投入するよう転送制御部へ指示し、セッション制御部により通知されたセッション状態を用いて、セッション管理情報のセッション状態情報を更新するセッション管理部と、装置との間でのセッションの確立および切断を行い、セッション管理部により指示されたセッションを用いて、転送部から出力された競合コマンドおよび非競合コマンドそれぞれを、投入先となる装置へ投入し、セッションのセッション状態をセッション管理部へ通知するセッション制御部とを備え、セッション管理部転送制御部が第1のキュー部から競合コマンドを出力するとき、セッション管理情報を参照して、この競合コマンドの投入先の装置において、コマンド処理中か否かを判断し、当該装置においてコマンド処理中ではないとき、転送制御部に対し、競合コマンドを、転送部へ出力するよう指示し、非競合コマンドの投入に用いるセッションを選択するとき、セッション管理情報を参照して、この非競合コマンドの投入先となる装置との間に確立中のセッションがコマンド処理中であるとき、セッション制御部へ、この非競合コマンドの投入先となる装置との間に新たなセッションを確立するよう指示し、この確立したセッションを用いて、非競合コマンドを投入するよう指示することを特徴とする。
請求項に記載の発明は、通信網に設置される1以上の装置へのコマンドを投入するコマンド投入装置のコマンド投入方法であって、マンド投入装置、各装置との間でセッションを確立するステップと、外部装置から、装置へ投入するコマンドの入力を受け付けるステップと、入力されたコマンドを、同じ装置において並列処理を行うと競合する競合コマンドと、競合コマンド以外のコマンドである非競合コマンドとに分類するステップと、分類された競合コマンドを投入先の装置ごとにキューとして第1のキュー部に格納し、分類された非競合コマンドをキューとして第2のキュー部に格納するステップと、装置との間に確立されたセッションの識別情報と、このセッションにより接続される装置の識別情報と、セッションが確立中か否かおよびこのセッションによるコマンド処理中か否か示すセッション状態情報とを示したセッション管理情報を参照し、競合コマンドの投入先の装置において、コマンド処理中か否かを判断し、当該装置においてコマンド処理中ではないときに、第1のキュー部に格納された競合コマンドを取り出すステップと、第2のキュー部に格納された非競合コマンドを取り出すステップと、セッション管理情報を参照して、競合コマンドおよび非競合コマンドそれぞれの投入先となる装置との間に確立中のセッションの中から、コマンド処理中ではないセッションを選択し、この選択したセッションを用いて、投入先となる装置へ競合コマンドおよび非競合コマンドそれぞれを投入するステップと、セッション管理情報を参照し、非競合コマンドの投入先となる装置との間に確立中のセッションがコマンド処理中であるとき、この非競合コマンドの投入先となる装置との間に新たなセッションを確立し、この確立したセッションを用いて、非競合コマンドを投入するステップと、を実行することを特徴とする。
このようにすることで、コマンド投入装置は、通信網に設置される装置(ルータ等の通信装置)にコマンドを投入するとき、既にこの装置との間に確立されたセッションを用いて投入する。よって、コマンド投入装置は、コマンド投入のたびにセッションの接続切断を行う必要がなくなり、コマンド投入を効率的に行うことができる。
また、このようにすることで、コマンド投入装置は、投入コマンドについて、競合コマンド(configurationモードで投入する設定系コマンド)と、非競合コマンド(show等の参照系コマンドまたはpingやtraceroot等の試験系コマンド)とに分類し、それぞれ別のキュー部に格納する。そして、コマンド投入装置は、競合コマンドのキュー部に格納された競合コマンドについて、この競合コマンドの投入先である装置においてその前の競合コマンドのコマンド処理が完了してから投入する。よって、この装置において競合コマンドを並列処理することがなくなるので、このコマンド投入によりエラーが発生したときの原因解析を行いやすくなる。
請求項は、請求項1に記載のコマンド投入装置において、セッション管理部が、競合コマンドおよび非競合コマンドそれぞれの投入に用いるセッションを選択するとき、セッション管理情報を参照して、競合コマンドおよび非競合コマンドそれぞれの投入先となる装置との間に確立中のセッションがなかったときセッション制御部へ、投入先となる装置との間に新たなセッションを確立するよう指示し、この確立したセッションを用いて、競合コマンドおよび非競合コマンドそれぞれを投入するよう指示すること特徴とする。
このようにすることで、コマンド投入装置は、このコマンドの投入先となる装置との間に確立中のセッションがなかったときでも、その装置へのセッションを確立し、コマンドを投入することができる。
請求項は、請求項に記載のコマンド投入装置において、セッション管理部が、競合コマンドおよび非競合コマンドそれぞれの投入に用いるセッションを選択するとき、セッション管理情報を参照して、競合コマンドおよび非競合コマンドそれぞれの投入先となる装置との間に確立中のセッションがなかった場合、または、非競合コマンドの投入先となる装置コマンド処理中である場合において、既に、自身のコマンド投入装置が確立可能な最大セッション数のセッションを各装置との間で確立済みであるとき、セッション制御部へ、投入先となる装置との間に確立されたセッションの中から、コマンド処理を終了しているセッションを切断し、投入先となる装置との間に確立中のセッションがなかった場合において、競合コマンドおよび非競合コマンドそれぞれの投入先となる装置との間で新たなセッションを確立するよう指示し、非競合コマンドの投入先となる装置がコマンド処理中である場合において、非競合コマンドの投入先となる装置との間で新たなセッションを確立するよう指示し、この確立したセッションを用いて、競合コマンドおよび非競合コマンドそれぞれを投入するよう指示すること特徴とする。
このようにすることで、コマンド投入装置は、限られたセッション数で効率よくコマンドを投入できる。
請求項は、請求項に記載のコマンド投入装置において、キュー部の第1のキュー部および第2のキュー部それぞれについて、入力された競合コマンドおよび非競合コマンドそれぞれ、優先度ごとに分けて格納するキューを有し、転送制御部、キュー部の優先度の高いキューから優先的に競合コマンドおよび非競合コマンドそれぞれを取り出すことを特徴とする。
このようにすることで、コマンド投入装置は、投入対象のコマンドのうち、通常のコマンドよりも優先すべきコマンド(緊急コマンド等)について、優先的にコマンドを投入できる。
請求項は、請求項1ないし請求項のいずれか1項に記載のコマンド投入装置と、このコマンド投入装置からのコマンドの投入を受け付ける装置を複数含むことを特徴とするコマンド投入システムとした。
このようにすることで、請求項1ないし請求項のいずれか1項に記載のコマンド投入装置と、このコマンド投入装置からのコマンドの投入を受け付ける複数の装置とを含むシステムを実現できる。
請求項は、コンピュータであるコマンド投入装置に、請求項に記載のコマンド投入方法を実行させるためのプログラムとした。
このようにすることで、一般的なコンピュータに、請求項に記載のコマンド投入方法を実行させることができる。
本発明によれば、ネットワークを構成する装置へのコンフィグ用のコマンド投入を効率的に行うことができる。
<概要>
以下、本発明を実施するための最良の形態(以下、実施の形態という)について説明する。図1は、本実施の形態のコマンド投入システムの構成例を示した図である。コマンド投入システムは、ルータ(装置)20へコンフィグ用のコマンドファイルを出力する上位システム30(30A,30B,30C)と、この上位システム30からのコマンドファイルを受信し、ルータ20へコマンドを投入するコマンド投入装置10と、このコマンドの投入先の装置であるルータ20(20A,20B,20C)とを含んで構成される。なお、この上位システム(外部装置)30は、例えば、コマンド投入装置10へコンフィグ用のコマンドファイルを出力するコンピュータにより実現される。また、ルータ20は、IP網等の通信網に設置されるルータである。
なお、本実施の形態において、上位システム30から出力されるコマンドファイルに含まれるコマンドは以下の3つに分類される。(1)設定系コマンド:configurationモードで投入するコマンド全般、(2)参照系コマンド:主に特権モードで投入するshow等のコマンド、(3)試験系コマンド:同じく主に特権モードで投入するpingやtraceroot等のコマンド。
ここで、(1)設定系コマンドは、同じルータ20で複数のコマンドを並列処理し、エラーが発生した場合にエラーの原因解析が困難となる。よって、この(1)設定系コマンドを、本実施の形態において競合コマンドとして扱う。また、(2)参照系コマンドおよび(3)試験系コマンドは、同じルータ20に複数のコマンドを並列処理した場合のエラー解析の問題は発生しない。よって、この(2)参照系コマンドおよび(3)試験系コマンドを、非競合コマンドとして扱う。さらに、各コマンドには、緊急コマンドとそれ以外のコマンド(通常コマンド)とがあるので、緊急コマンドは優先度の高いコマンドとして扱い、通常コマンドは優先度の低いコマンドとして扱うこととする。
ここで、コマンド投入システムの動作概要を簡単に説明する。ここでは、既にコマンド投入装置10は、セッション制御部125により、ルータ20(20A〜20C)との間にセッションを確立しているものとする。そして、各セッションがどのルータ20と確立されているか、そのセッションが確立中か切断中か、接続先のルータ20において、コマンドによるコマンド処理が完了しているか否か等をセッション管理情報131に記録しているものとする。
まず、コマンド投入装置10は、上位システム30からコマンドファイルの入力を受け付ける。このコマンド投入装置10のキュー部122は、競合コマンドキュー部(第1のキュー部)1221と、非競合コマンドキュー部(第2のキュー部)1222とを備える。なお、競合コマンドキュー部1221については、コマンドの投入先のルータ20ごとに用意される。つまり、競合コマンドキュー部1221は、ルータ20A,20B,20Cそれぞれについて用意される。
キュー出力部121は、受け付けたコマンドファイルに含まれるコマンドのうち、競合コマンドについては、その競合コマンドの投入先となるルータ20ごとに分類する。そして、分類したコマンドを、そのコマンドの投入先となるそのルータ20についての競合コマンドキュー部1221へ格納する。また、キュー出力部121は、非競合コマンドについては非競合コマンドキュー部1222へ格納する。なお、非競合コマンドキュー部1222に格納するときには、投入先となるルータ20については特に考慮しない。つまり、非競合コマンドキュー部1222には投入先が異なるコマンドが格納されていてよい。
また、競合コマンドキュー部1221および非競合コマンドキュー部1222はそれぞれ、緊急コマンド等の優先度の高いコマンドと、通常コマンド等の優先度の低いコマンドとが分類して格納されるものとする。
この後、転送制御部126は、これらの競合コマンドキュー部1221および非競合コマンドキュー部1222に蓄積されたコマンドを取り出し、転送部123へ出力する。そして、転送部123は、このコマンドを、セッション制御部125へ出力する。このとき、セッション管理部124は、このコマンド投入装置10とルータ20(20A〜20C)とのセッション状態を示したセッション管理情報131を参照して、このセッション制御部125がコマンドの投入に用いるセッションの振り分けを行う。ここでは、セッション管理部124は、転送制御部126が取り出したコマンドについて、そのコマンドの投入先となるルータ20との間に確立済みで、コマンド処理中ではないセッションを選択する。そして、セッション管理部124は、セッション制御部125に対し、選択したセッションを用いてコマンドを投入するよう指示する。つまり、コマンド投入装置10は、コマンド投入のたびにルータ20とのセッションの接続、切断を行うのではなく、いったんルータ20との間にセッションを確立したら、できるだけそのセッションを用いてコマンドの投入を行う。これにより、コマンド投入のためのセッションの接続、切断の回数を削減できるのでコマンド投入を効率的に行うことができる。
なお、競合コマンドキュー部1221については、このコマンド投入装置10に接続される(または接続される可能性のある)ルータ20ごとに用意しておき、転送制御部126は、当該ルータ20におけるコマンド処理が完了したことを確認してから、このルータ20の競合コマンドキュー部1221のコマンド(競合コマンド)を転送部123へ出力するようにする。このようにすることで、コマンド投入装置10が、同じルータ20において競合コマンドが並列処理されるのを避けることができる。
また、競合コマンドキュー部1221および非競合コマンドキュー部1222に格納されるコマンドは、そのコマンドによって分けられ、転送制御部126は、より優先度の高いコマンドから優先的にコマンドを取得することで、コマンド投入装置10はルータ20へ緊急コマンド等を優先的に投入することができる。
<構成>
次に、このようなコマンド投入装置10の構成を詳細に説明する。コマンド投入装置10は、入力部11、処理部12、記憶部13および出力部14に分けられる。
入力部11は、上位システム30から、1以上のコマンドをファイル形式で受け付ける。処理部12は、このコマンド投入装置10全体の制御を司り、主にルータ20とのセッションの確立および切断と、コマンド投入に用いるセッションの選択を行う。記憶部13は、このセッションの選択時に参照されるセッション管理情報131を記憶する。出力部14は、ルータ20へコマンドを出力する。
入力部11および出力部14は、外部装置(上位システム30やルータ20)との間でデータの入出力を行うための入出力インタフェースから構成される。また、処理部12は、このコマンド投入装置10が備えるCPU(Central Processing Unit)によるプログラム実行処理や、専用回路等により実現される。さらに、記憶部13は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶媒体から構成される。なお、コマンド投入装置10をプログラム実行処理により実現する場合、記憶部13には、このコマンド投入装置10の機能を実現するためのプログラムが記憶される。
ここで、コマンド投入装置10が受け付けるコマンドファイルを説明する。図2は、図1のコマンド投入装置の受け付けるコマンドファイルを例示した図である。図2に示すように、コマンドファイルは、コマンドの投入先であるルータ20のルータID(例えば、IP(Internet Protocol)アドレス)と、コマンド種別、1以上のコマンドが含まれる。ここでのコマンド種別は、2つ示され(コマンド種別1,2)、例えば、そのコマンドが、緊急コマンドか、通常コマンドかというコマンド種別1と、設定系コマンドか、参照系コマンドまたは試験系コマンドかというコマンド種別2とが示される。例えば、図2に示すコマンドファイルは、IPアドレス「10.10.10.11」のルータ20に対し、「aaaaaaaaa」と「bbbbbbbbb」というコマンドを投入し、これらのコマンドのコマンド種別はいずれも「緊急(緊急コマンド)」で「設定系(設定系コマンド)」であることを示す。なお、このコマンドファイルに示されるコマンドは、例えば、CLI(Command line interface)コマンド等である。
図1の入力部11は、上位システム30からこのコマンドファイルの入力を受け付けると、処理部12へ出力する。
処理部12は、キュー出力部121と、競合コマンドキュー部1221および非競合コマンドキュー部1222を備えるキュー部122と、転送部123と、セッション管理部124と、セッション制御部125と、転送制御部126とを含んで構成される。
キュー出力部121は、入力部11経由で入力されたコマンドファイルに含まれるコマンドが、競合コマンド(設定系コマンド)か、非競合コマンド(参照系コマンドまたは試験系コマンド)かを判断する。そして、このコマンドが、競合コマンドであれば、その競合コマンドの投入先のルータ20のルータIDを読み取り、このルータ20用の競合コマンドキュー部1221へ格納する。つまり、競合コマンドについては、投入先のルータ20ごとに分類して、そのルータ20用の競合コマンドキュー部1221へ格納する。一方、コマンドが非競合コマンドの場合は、投入先のルータ20に関係なく非競合コマンドキュー部1222へ格納する。なお、このコマンド(競合コマンドまたは非競合コマンド)が緊急コマンドであれば、各キュー部(競合コマンドキュー部1221および非競合コマンドキュー部1222)において優先度の高いコマンド用のブロックに格納するようにする。ここでは、緊急コマンドか、それ以外のコマンド(通常コマンド)かで優先度を分けて格納するが、そのコマンドの種別によって優先度を3つ以上の段階に分けて格納するようにしてもよい。その際には、予めその優先度の段階の数のキュー(ブロック)を用意しておくものとする。
キュー部122は、所定領域に競合コマンド(競合コマンドのキュー)を格納する競合コマンドキュー部1221と、非競合コマンド(非競合コマンドのキュー)を格納する非競合コマンドキュー部1222とを備える。
この競合コマンドキュー部1221は、前記したとおり、コマンドの投入先となるルータ20ごとに用意される。このように、競合コマンドについて、投入先となるルータ20ごとに別個のブロックに分けて格納するのは、このコマンド投入装置10は同じルータ20に複数の競合コマンドを並列処理させるのを避ける必要があるためである。
なお、前記したとおり、競合コマンドキュー部1221および非競合コマンドキュー部1222は、緊急コマンド等、優先度の高いコマンドと、通常コマンド等、緊急コマンドよりも優先度の低いコマンドとをブロックを分けて格納する。このようにすることで、転送部123は、優先度の高い緊急コマンドについて、他のコマンドよりも優先的にルータ20へ転送することができる。また、このキュー部122は、例えば、このコマンド投入装置10の備えるRAM等の半導体メモリ上に形成される。
転送部123は、後記する転送制御部126により取り出されたコマンド(コマンドのキュー)をセッション制御部125へ出力する。
セッション管理部124は、セッション制御部125からルータ20との間に確立されたセッションの状態を示すセッション状態情報をセッション管理情報131に記録する。そして、このセッション管理情報131を参照して、セッション制御部125に対し、コマンド投入に用いるセッションの振り分けや、セッションの確立および切断を指示する。なお、このセッション管理部124は、各ルータ20との間で確立中のセッション数を、予め設定された最大セッション数以下にするものとする。また、このセッション管理部124は、セッション制御部125から受信した、ルータ20へのコマンド(競合コマンド)投入によるコマンド処理の完了メッセージを転送制御部126へ通知する。これにより、転送制御部126は、当該ルータ20への競合コマンドを、転送部123へ出力してよいことを知ることができる。このセッション管理部124が記録するセッション管理情報131の詳細は、図3を用いて後記する。
セッション制御部125は、セッション管理部124からの指示に基づきルータ20との間でセッションの確立および切断や、確立されたセッションを用いたコマンド投入を行う。また、セッションの確立や切断、コマンド投入を行ったとき、または、そのコマンド投入後、投入先のルータ20においてコマンド処理が完了したとき、その状態をセッション状態情報としてセッション管理部124へ出力する。
転送制御部126は、キュー部122から取り出したコマンドを転送部123へ出力する。ここで、転送制御部126は、競合コマンドキュー部1221から競合コマンドを取り出した場合、この取り出したこの競合コマンドの投入先であるルータ20において、競合コマンドによるコマンド処理が完了した後でなければ、この競合コマンドを転送部123へ出力しないようにセッション管理部124により制限される。これにより、コマンド投入装置10は、同じルータ20において前の競合コマンドによる処理が完了していないのに、次の競合コマンドを投入することを避けることができる。なお、この競合コマンドの投入先であるルータ20において、コマンド処理が完了したか否かは、セッション管理部124が、セッション管理情報131を参照して判断する。
記憶部13は、前記したセッション管理情報131を記憶する。このセッション管理情報131は、ルータ20との間に確立されたセッションの状態を示す情報である。図3は、図1のセッション管理情報を例示した図である。図3に示すようにセッション管理情報131は、セッションIDごとに、そのセッションにより接続されるルータ20のルータID、投入コマンドのコマンド種別、セッション状態、セッション接続時間等が記録される。例えば、図3に示すセッション管理情報131は、セッションID「10010011001」のセッションは、ルータID「10.10.10.11」のルータ20との間で確立されたセッションであり、このルータ20には、「競合(競合コマンド)」が投入され、このコマンドによる「処理中(コマンド処理中)」であり、セッションの接続時間は「30(s)」であることを示す。なお、このセッション管理情報131は、ルータ20との間に確立中の合計セッション数、このコマンド投入装置10が確立する最大セッション数の情報もさらに含む。このセッション管理情報131は、セッション管理部124がコマンド投入に用いるセッションを選択するときに参照される。
図1の出力部14は、セッション制御部125から出力されたコマンドをルータ20へ投入する。
<処理手順>
次に、図1を参照しつつ、図4を用いてコマンド投入装置10の処理手順を説明する。図4は、図1のコマンド投入装置の処理手順を示したフローチャートである。ここでは、コマンド投入装置10が、ルータ20との間で既に最大セッション数以下の所定数のセッションを確立し、その確立されたセッションの状態をセッション管理情報131に記録しているものとする。
まず、図1のコマンド投入装置10の入力部11は、上位システム30からコマンドファイルの入力を受け付ける(S101)。そして、入力部11は、このコマンドファイルを、キュー出力部121へ出力する。次に、キュー出力部121は、コマンドファイルに含まれる1以上のコマンドを分類し(S102)、キュー部122へ出力する(S103)。つまり、キュー出力部121は、コマンドファイルに含まれるコマンドが、競合コマンド(設定系コマンド)か、非競合コマンド(参照系コマンドまたは試験系コマンド)かを判断する。このコマンドが、競合コマンドであれば、その競合コマンドの投入先のルータ20のルータIDを読み取り、このルータ20用の競合コマンドキュー部1221へ格納する。一方、コマンドが非競合コマンドの場合は、投入先のルータ20に関係なく非競合コマンドキュー部1222へ格納する。なお、このコマンド(競合コマンドおよび非競合コマンド)が緊急コマンドであれば、各キュー部(競合コマンドキュー部1221および非競合コマンドキュー部1222)において優先度の高いコマンド用のブロックに格納するようにする。
このようにしてキュー部122にコマンドのキューが形成されると、転送制御部126は、このキュー部122(競合コマンドキュー部1221および非競合コマンドキュー部1222)からコマンドを取り出し、この取り出したコマンドを転送部123へ出力する。そして、転送部123は、このコマンドをセッション制御部125へ出力する。
ここで、セッション管理部124は、セッション管理情報131を参照して、転送制御部126が取得したコマンドと競合するコマンド(競合コマンド)を、このコマンドの投入先のルータ20において処理中のセッションがあるか否かを判断する(S104)。ここで、処理中のセッションがあれば(S104のYes)、そのセッションにより接続されるルータ20において競合コマンドの処理が完了しているか否かを判断する(S105)。ここで、競合コマンドの処理が完了していれば(S105のYes)、S107へ進む。一方、競合コマンドの処理が完了していなければ(S105のNo)、所定時間待ってから(S106)、S105へ戻り、再度この競合コマンドの処理が完了しているか否かを判断する。
次に、セッション管理部124は、セッション管理情報131を参照して、このコマンドの投入先のルータ20との間でセッションを確立中、かつ、その確立中のセッションにおいてコマンド処理中ではないセッションがあるか否かを判断する(S107)。ここで、セッション管理情報131を参照して、このコマンドの投入先のルータ20との間でセッションを確立中、かつ、その確立中のセッションにおいてコマンド処理中ではないセッションがあるとき(S107のYes)、セッション管理部124は、転送制御部126へ、キュー部122から取得したコマンドを、転送部123へ出力するよう指示する。そして、転送部123は、このコマンドをセッション制御部125へ出力する。
この後、このセッション制御部125は、このコマンドを、セッション管理部124により選択されたセッションを用いて、ルータ20へ投入する(S111)。そして、セッション管理部124は、当該セッションを用いてコマンドを投入したことをセッション管理情報131に記録し、セッション管理情報131を更新する(S112)。なお、このあと、セッション管理部124は、セッション制御部125経由で、コマンドの投入先であるルータ20から、コマンド処理が完了した旨のメッセージを受信すると、そのメッセージに基づきセッション管理情報131のセッション状態情報を「処理完了」に書き換え、セッション管理情報131を更新する。
なお、S107において、セッション管理部124が、セッション管理情報131を参照して、コマンドの投入先のルータ20との間に確立中のセッションがないと判断したとき、または、確立中のセッションはあるけれども、そのセッションによりコマンド処理中であると判断したとき(S107のNo)、ルータ20との間のアイドリングセッションリソース(どのルータ20ともセッションを確立していないセッションリソース)があるか否かを判断する(S108)。つまり、セッション管理部124は、セッション管理情報131において、切断中のセッションがあるか否かを判断する。ここで、アイドリングセッションリソースがあれば(S108のYes)、セッション管理部124は、セッション制御部125に対し、このコマンドの投入先となるルータ20との間のセッション確立を指示する(S110)。そして、セッションの確立が成功すると、セッション管理部124は、このセッション確立をセッション管理情報131に記録する。この後、セッション制御部125は、この確立したセッションを用いて、ルータ20へコマンドを投入する(S111)。
一方、S108において、アイドリングセッションリソースがなければ(S108のNo)、セッション管理部124は、セッション管理情報131を参照して、確立中のセッションのうち、このセッションの接続先のルータ20においてコマンド処理中ではないセッションを選択し、このセッションの切断を、セッション制御部125へ指示する(S109)。そして、セッション管理部124は、このセッションの切断を確認すると、S110へ進む。つまり、セッション管理部124は、コマンドの投入先のルータ20との間に新たなセッションを確立するよう、セッション制御部125へ指示し、セッション確立を確認すると、このセッションを用いてコマンド投入を行う(S111)。
なお、S109において、切断対象のセッションの選択は、セッション管理情報131において、確立中のセッションとなっているセッションのうち、コマンド処理中ではないセッションが複数あれば、そのうち接続時間が最も長いセッションを選択するのが好ましい。このようにすることで、各セッション間の接続時間をできるだけ平準化できる。
コマンド投入装置10は、以上のようなセッション制御を行うことで、上位システム30から出力されたコマンドを効率よくルータ20へ投入することができる。
<具体例>
次に、コマンド投入装置10によるコマンド投入処理の具体例を説明する。図5は、図1のコマンド投入装置によるコマンド投入処理の例を示した図である。
なお、図1のコマンド投入装置10が3つのルータ20(20A〜20C)との間に最大4本のセッション数を確立してルータ20へコマンドを投入する場合を例に説明する。ここでは、コマンド投入装置10がルータ20Aへ投入するコマンドは、コマンド1,4,6であり、ルータ20Bへ投入するコマンドは、コマンド2であり、ルータ20Cへ投入するコマンドは、コマンド3,5,7であるものとする。このうち、コマンド1,4,7は、非競合コマンドであり、コマンド2,3,5,6は、競合コマンドであるものとする。また、コマンド投入装置10は、コマンド1,2,3,4,5,6,7の順にルータ20へコマンドを投入するものとする。
まず、コマンド投入装置10は、上位システム30からコマンドファイルの入力を受け付ける。そして、キュー出力部121はこのコマンドファイルに含まれるコマンドを分類して、キュー部122へ格納する。そして、転送制御部126が、このキュー部122からコマンドを取り出すと、このコマンドの投入先のルータIDをセッション管理部124が読み出す。そして、セッション管理部124は、セッション管理情報131を参照して、この投入先のルータ20との間に確立されたセッションがないと判断したとき、セッション制御部125に、このルータ20との間にセッションを確立するよう指示する。
ここでは、コマンド1〜4の投入先であるルータ20A〜20Cとの間のセッションは未確立なので、セッション管理部124は、セッション制御部125に、コマンド1を投入するためのルータ20AとのセッションA、コマンド2を投入するためのルータ20BとのセッションB、コマンド3を投入するためのルータ20CとのセッションC、コマンド4を投入するためのルータ20AとのセッションDを確立するよう指示する。なお、前記したとおり、最大セッション数は4本なので、5本目のセッションの確立要求は行わない。
コマンド投入装置10のセッション制御部125は、このようなセッション確立要求をルータ20A,20B,20Cに対し行う。そして、セッション制御部125は、このルータ20A,20B,20Cからセッション確立の応答を受信すると、セッション制御部125は、確立したセッションを用いて、ルータ20A〜20Cに対し、コマンド1〜4の投入を行う。
ルータ20A〜20Cは、コマンド投入が完了すると(またはこのコマンドによる設定処理が終了すると)その旨を伝えるメッセージを、コマンド投入装置10へ通知する。ここで、コマンド投入装置10は、コマンド4の後、コマンド5をルータ20Cへ投入することになっているが、このコマンド5は、競合コマンドなので、このルータ20Cから、コマンド3の処理が完了した旨のメッセージを受信してからでないと投入できない。つまり、符号501に示す時点以降になれば、コマンド投入装置10はコマンド5が投入できる状態になる。
コマンド投入装置10は、このルータ20Cから、コマンド3の処理が完了した旨のメッセージを受信した後、セッション管理部124は、セッション管理情報131を参照して、このルータ20Cとの間で確立されたセッションCを選択し、セッション制御部125は、このセッションCを用いてコマンド5を投入する。また、コマンド5に続くコマンド6についても、セッション管理部124は、セッション管理情報131を参照して、ルータ20Aにおいて競合コマンドの処理中ではないことを確認した上で、ルータ20Aとの間に確立されたセッションAを用いて投入する。
次に、コマンド投入装置10は、コマンド7をルータ20Cへ投入しようとするが、符号502に示す時点では、まだ、セッションCは、このルータ20Cにおいてコマンド5による設定処理中なので、このセッションCを用いてコマンドを投入できない。よって、セッション管理部124は、セッション管理情報131を参照して、アイドリングセッションリソースを探す。ここで、図5に示すようにコマンド投入装置10は、既に4本のセッションを確立中であり、アイドリングセッションリソースはない。よって、セッション管理部124は、セッション管理情報131を参照して、既にルータ20においてコマンド処理を完了しているセッションのうち、最も接続時間の長いセッション(セッションB)を、このコマンド7の投入に用いるセッションとして選択する。そして、セッション管理部124は、セッション制御部125に対し、このセッションBの切断を指示する。これを受けてセッション制御部125は、ルータ20BへセッションBの切断要求を行い、このセッションBの切断を確認すると、今度は、ルータ20Cとの間に新たなセッション(セッションE)の確立要求を行う。そして、ルータ20Cからセッション確立の応答を受信すると、セッション制御部125は、確立したセッションEを用いて、ルータ20Cに対し、コマンド7の投入を行う。
なお、コマンド投入装置10は、このようにしてルータ20A〜20Cとの間でセッションを確立した後、コマンド投入完了から所定時間経過したら、このセッションを切断するタイムアウト処理を行うようにしてもよい。
このようにすることで、コマンド投入装置10は限られたセッション数を有効利用してルータ20へ効率よくコマンドを投入できる。また、非競合コマンドについては並列処理を可能とし、競合コマンドについてルータ20において並列処理を行わないようにするので、ルータ20に競合コマンドの投入によりエラーが発生した場合のエラーの原因解析が容易になる。
なお、前記した実施の形態においてコマンド投入装置10は、主にルータ20へのコマンド投入を行うものとして説明したが、ルータ20以外の装置へのコマンド投入に応用してもよい。
本実施の形態に係るコマンド投入装置10は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体(CD−ROM等)に記憶して提供することも可能である。
本実施の形態のコマンド投入システムの構成例を示した図である。 図1のコマンド投入装置の受け付けるコマンドファイルを例示した図である。 図1のセッション管理情報を例示した図である。 図1のコマンド投入装置の処理手順を示したフローチャートである。 図1のコマンド投入装置によるコマンド投入処理の例を示した図である。
符号の説明
10 コマンド投入装置
11 入力部
12 処理部
13 記憶部
14 出力部
20(20A,20B,20C) ルータ
30 上位システム
121 キュー出力部
122 キュー部
123 転送部
124 セッション管理部
125 セッション制御部
125 転送部
126 転送制御部
131 セッション管理情報
1221 競合コマンドキュー部
1222 非競合コマンドキュー部

Claims (7)

  1. 通信網に設置される1以上の装置へのコマンドを投入するコマンド投入装置であって、
    外部装置から、前記装置へ投入するコマンドの入力を受け付ける入力部と、
    前記入力されたコマンドを、同じ装置において並列処理を行うと競合する競合コマンドと、前記競合コマンド以外のコマンドである非競合コマンドとに分類するキュー出力部と、
    前記分類された競合コマンドを投入先の装置ごとにキューとして格納する第1のキュー部、および、前記分類された非競合コマンドをキューとして格納する第2のキュー部を備えるキュー部と、
    前記第1のキュー部に前記投入先の装置ごとに格納された前記競合コマンドおよび前記第2のキューブに格納された前記非競合コマンドそれぞれを転送部へ出力する転送制御部と、
    前記競合コマンドおよび前記非競合コマンドそれぞれをセッション制御部へ出力する前記転送部と、
    前記装置との間に確立されたセッションの識別情報と、このセッションにより接続される装置の識別情報と、前記セッションが確立中か否かおよび当該セッションによるコマンド処理中か否かを示すセッション状態とを示したセッション管理情報を記憶する記憶部と、
    前記セッション管理情報を参照して、前記競合コマンドおよび前記非競合コマンドそれぞれの投入先となる装置との間に確立中のセッションの中から、コマンド処理中ではないセッションを選択し、この選択したセッションを用いて前記競合コマンドおよび前記非競合コマンドそれぞれを投入するよう前記転送制御部へ指示し、前記セッション制御部により通知されたセッション状態を用いて、前記セッション管理情報のセッション状態情報を更新するセッション管理部と、
    前記装置との間でのセッションの確立および切断を行い、前記セッション管理部により指示されたセッションを用いて、前記転送部から出力された前記競合コマンドおよび前記非競合コマンドそれぞれを、前記投入先となる装置へ投入し、前記セッションのセッション状態を前記セッション管理部へ通知する前記セッション制御部とを備え、
    前記セッション管理部は、
    前記転送制御部が前記第1のキュー部から前記競合コマンドを出力するとき、前記セッション管理情報を参照して、この競合コマンドの投入先の装置において、コマンド処理中か否かを判断し、当該装置においてコマンド処理中ではないとき、前記転送制御部に対し、前記競合コマンドを、前記転送部へ出力するよう指示し、
    前記非競合コマンドの投入に用いるセッションを選択するとき、前記セッション管理情報を参照して、この非競合コマンドの投入先となる装置との間に確立中のセッションがコマンド処理中であるとき、前記セッション制御部へ、この非競合コマンドの投入先となる装置との間に新たなセッションを確立するよう指示し、この確立したセッションを用いて、前記非競合コマンドを投入するよう指示すること
    を特徴とするコマンド投入装置。
  2. 前記セッション管理部は、
    前記競合コマンドおよび前記非競合コマンドそれぞれの投入に用いるセッションを選択するとき、前記セッション管理情報を参照して、前記競合コマンドおよび前記非競合コマンドそれぞれの投入先となる装置との間に確立中のセッションがなかったとき
    前記セッション制御部へ、前記投入先となる装置との間に新たなセッションを確立するよう指示し、この確立したセッションを用いて、前記競合コマンドおよび前記非競合コマンドそれぞれを投入するよう指示すること特徴とする請求項1に記載のコマンド投入装置。
  3. 前記セッション管理部は、
    前記競合コマンドおよび前記非競合コマンドそれぞれの投入に用いるセッションを選択するとき、前記セッション管理情報を参照して、前記競合コマンドおよび前記非競合コマンドそれぞれの投入先となる装置との間に確立中のセッションがなかった場合、または、前記非競合コマンドの投入先となる装置コマンド処理中である場合において、既に、自身のコマンド投入装置が確立可能な最大セッション数のセッションを前記各装置との間で確立済みであるとき、
    前記セッション制御部へ、前記投入先となる装置との間に確立されたセッションの中から、前記コマンド処理を終了しているセッションを切断し、前記投入先となる装置との間に確立中のセッションがなかった場合において、前記競合コマンドおよび前記非競合コマンドそれぞれの投入先となる装置との間で新たなセッションを確立するよう指示し、前記非競合コマンドの投入先となる装置がコマンド処理中である場合において、前記非競合コマンドの投入先となる装置との間で新たなセッションを確立するよう指示し、この確立したセッションを用いて、前記競合コマンドおよび前記非競合コマンドそれぞれを投入するよう指示すること特徴とする請求項に記載のコマンド投入装置。
  4. 前記キュー部の第1のキュー部および第2のキュー部それぞれについて、
    前記入力された前記競合コマンドおよび前記非競合コマンドそれぞれ、優先度ごとに分けて格納するキューを有し、
    前記転送制御部は、
    前記キュー部の優先度の高いキューから優先的に前記競合コマンドおよび前記非競合コマンドそれぞれを取り出すことを特徴とする請求項に記載のコマンド投入装置。
  5. 請求項1ないし請求項のいずれか1項に記載のコマンド投入装置と、このコマンド投入装置からのコマンドの投入を受け付ける前記装置を複数含むことを特徴とするコマンド投入システム。
  6. 通信網に設置される1以上の装置へのコマンドを投入するコマンド投入装置のコマンド投入方法であって、
    記コマンド投入装置
    前記各装置との間でセッションを確立するステップと、
    外部装置から、前記装置へ投入するコマンドの入力を受け付けるステップと、
    前記入力されたコマンドを、同じ装置において並列処理を行うと競合する競合コマンドと、前記競合コマンド以外のコマンドである非競合コマンドとに分類するステップと、
    前記分類された競合コマンドを投入先の装置ごとにキューとして第1のキュー部に格納し、前記分類された非競合コマンドをキューとして第2のキュー部に格納するステップと、
    前記装置との間に確立されたセッションの識別情報と、このセッションにより接続される装置の識別情報と、前記セッションが確立中か否かおよびこのセッションによるコマンド処理中か否か示すセッション状態情報とを示したセッション管理情報を参照し、前記競合コマンドの投入先の装置において、コマンド処理中か否かを判断し、当該装置においてコマンド処理中ではないときに、前記第1のキュー部に格納された前記競合コマンドを取り出すステップと、
    前記第2のキュー部に格納された前記非競合コマンドを取り出すステップと、
    記セッション管理情報を参照して、前記競合コマンドおよび前記非競合コマンドそれぞれの投入先となる装置との間に確立中のセッションの中から、コマンド処理中ではないセッションを選択し、この選択したセッションを用いて、前記投入先となる装置へ前記競合コマンドおよび前記非競合コマンドそれぞれを投入するステップと、
    前記セッション管理情報を参照し、前記非競合コマンドの投入先となる装置との間に確立中のセッションがコマンド処理中であるとき、この非競合コマンドの投入先となる装置との間に新たなセッションを確立し、この確立したセッションを用いて、前記非競合コマンドを投入するステップと、
    を実行することを特徴とするコマンド投入方法。
  7. コンピュータである前記コマンド投入装置に、請求項に記載のコマンド投入方法を実行させるためのプログラム。
JP2008209173A 2008-08-15 2008-08-15 コマンド投入装置、コマンド投入システム、コマンド投入方法およびそのプログラム Active JP5118577B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008209173A JP5118577B2 (ja) 2008-08-15 2008-08-15 コマンド投入装置、コマンド投入システム、コマンド投入方法およびそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008209173A JP5118577B2 (ja) 2008-08-15 2008-08-15 コマンド投入装置、コマンド投入システム、コマンド投入方法およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2010044657A JP2010044657A (ja) 2010-02-25
JP5118577B2 true JP5118577B2 (ja) 2013-01-16

Family

ID=42015979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008209173A Active JP5118577B2 (ja) 2008-08-15 2008-08-15 コマンド投入装置、コマンド投入システム、コマンド投入方法およびそのプログラム

Country Status (1)

Country Link
JP (1) JP5118577B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5144589B2 (ja) * 2009-05-15 2013-02-13 日本電信電話株式会社 コマンド投入装置、コマンド投入システム、コマンド投入方法およびコマンド投入プログラム
JP5149932B2 (ja) * 2010-03-30 2013-02-20 日本電信電話株式会社 オーダ投入装置、オーダ投入方法およびそのプログラム
JP5765123B2 (ja) * 2011-08-01 2015-08-19 富士通株式会社 通信装置、通信方法、通信プログラム及び通信システム
JP2016116178A (ja) * 2014-12-17 2016-06-23 ソニー株式会社 通信装置及び通信方法
CN109213424B (zh) * 2017-06-30 2024-04-12 北京忆恒创源科技股份有限公司 并发io命令的无锁处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63174154A (ja) * 1987-01-14 1988-07-18 Nec Corp トランザクシヨン処理の制御方式
JP2006004237A (ja) * 2004-06-18 2006-01-05 Namco Ltd 通信制御システム、プログラム、情報記憶媒体および通信制御方法

Also Published As

Publication number Publication date
JP2010044657A (ja) 2010-02-25

Similar Documents

Publication Publication Date Title
CN102693209B (zh) 信息处理系统
JP5118577B2 (ja) コマンド投入装置、コマンド投入システム、コマンド投入方法およびそのプログラム
CN102571568B (zh) 任务处理方法及装置
CN114158030A (zh) 会话绑定方法、系统以及存储介质
CN109947081B (zh) 网联车辆控制方法及装置
CN112954716B (zh) 网状网络的入网方法、装置、计算机设备以及存储介质
CN109936609B (zh) 终端链式升级方法、装置及升级管理服务器
CN111565429A (zh) 指示信息的接收方法及装置、存储介质
CN107959702B (zh) 路由方法和装置
CN110661655A (zh) 一种集群部署方法、系统、电子设备及存储介质
CN101155071B (zh) 选择本地域管理器的方法、装置及通信系统
WO2013097234A1 (zh) 处理业务的方法和系统
CN111508550B (zh) 一种Nand Flash测试方法、系统及装置
CN114610465B (zh) 任务处理方法、装置及存储介质
CN116166300B (zh) 知识产权系统的升级管理方法及装置
CN104714783B (zh) 任务处理方法及装置
JP5144589B2 (ja) コマンド投入装置、コマンド投入システム、コマンド投入方法およびコマンド投入プログラム
US11240094B2 (en) Information processing apparatus, information processing method, and computer-readable medium
CN113132233B (zh) 数据处理方法、软件定义网络控制器和数据处理系统
JP5149932B2 (ja) オーダ投入装置、オーダ投入方法およびそのプログラム
JP4127273B2 (ja) 並列バッチ処理方式および方法ならびにサーバ装置およびそのプログラム
CN111190606A (zh) 一种大数据集群的自动化部署方法
CN110493327A (zh) 一种数据传输方法及装置
CN116248585B (zh) 一种通信方法、装置、设备及存储介质
CN104717300A (zh) 任务处理方法及装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120409

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121019

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5118577

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151026

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350