本発明は、通信制御装置に関する。特に、通信制御装置が持つ通信インタフェースと端末装置の通信インタフェースとを接続することにより、通信制御装置と端末装置とがそれぞれの装置内に格納されている各種情報を自発的に送受信することが可能な通信制御装置に関する。
ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)等のネットワークにおいてはルータやスイッチ等の通信制御装置が用いられる。ネットワークに接続されたサーバやパーソナルコンピュータ等の端末装置は、宛先の端末装置を指定し、送りたいデータをパケットやフレームの形式にしてネットワークに送信する。通信制御装置は、ネットワークからこのようなパケットを受信し、パケットに含まれる宛先アドレスに従ってパケットを宛先の端末装置や他の通信制御装置に中継する。
通信制御装置は、例えば、通信制御用のプログラムや各種制御用のデータを内部の記憶装置(例えばROM、RAM、HDD等)に保持し、これらのプログラムやデータを実行することにより上述したパケットの中継を行う。このような通信制御用のプログラムやデータに対して、新たな機能を追加し或いは不具合を修正する等の目的で更新用(バージョンアップ用)のプログラムやデータが作成された場合には、これらの更新用プログラムやデータが通信制御装置にインストールされ、通信制御用のプログラムやデータが更新(バージョンアップ)される。
通信制御用のプログラムやデータの更新(バージョンアップ)については、例えば、装置管理者や保守員等が通信制御装置に接続された装置管理用(或いは保守用)の端末装置を用いて行うのが一般的である。即ち、装置管理者や保守員等は、予め更新用のプログラム等が格納された持ち運び可能な記録媒体(CD−ROM等)を端末装置にセットし、端末装置を介して通信制御装置に更新用の指示(コマンド)を入力する。そして、通信制御装置に記録媒体から更新用プログラムを内部の記憶装置に読み込ませることにより更新(バージョンアップ)を行う。
また、通信制御装置自体やネットワークにおいて障害が発生した場合、通信制御装置は、障害が発生したことを検出し、障害原因に関する情報を収集する機能を備える。また、通信制御装置は必要に応じて通信制御装置の内部情報、例えばメモリやレジスタに格納されている制御情報等を採取する。このようにして採取された情報は、その後、通信制御装置から出力され、装置管理者や保守員等により障害原因の解析が行われる。このような技術に関連するものとして特開平6−62089号公報に開示された技術がある。
更に、通信制御装置は、送受信したパケット数やバイト数、或いは廃棄したパケット数やバイト数等の統計情報を収集する機能を備える場合もある。この場合、収集された統計情報は、装置管理者等によって、ネットワークの利用率や輻輳状態の監視に利用される。このような技術に関連するものとして特開2001−230805号公報に開示された技術がある。
上述した通り、通信制御装置に対する管理や保守のための操作では、専門的な知識が必要とされる場合や誤操作の可能性があり、操作を熟知した者でなければ難しい場合がある。
即ち、通信制御用プログラムやデータ等を更新(バージョンアップ)するためには、通信制御装置に更新用の指示(コマンド)を入力する等の操作が必要である。そのため、通信制御用プログラムやデータが複数存在する場合は、操作者が入力すべきコマンドやプログラムの指定を誤る等の誤操作が発生する可能性がある。
また、通信制御装置によって採取された障害情報を解析するためには、通信制御装置に対して、メモリ等に格納されている障害情報を読み出させて出力させるための操作(コマンドの入力や障害情報の指定等)を行う必要がある。これらの操作は、通信制御装置に固有のコマンドや複雑な設定が必要であったり、装置や障害の種類によって異なる場合もあるため、そのような操作を熟知した装置管理者等でなければ実行が難しい。
更に、通信制御装置によって統計情報を収集させる場合や収集された統計情報を利用する場合も、通信制御装置に対して、統計情報を収集するための条件等を設定したり、メモリ等に格納されている統計情報を読み出させて出力させるための操作(コマンドの入力や障害情報の指定等)を行う必要がある。これらの操作も、通信制御装置に固有のコマンドや複雑な設定が必要である場合が多く、そのような操作を熟知した装置管理者等でなければ実行が難しい。
そのため、通信制御装置を利用するユーザは、管理や保守等のために専門的な知識を持つ保守員等を確保する必要があり、効率的ではない場合もある。
そこで、本発明は、通信制御装置のプログラムやデータの更新(バージョンアップ)や、障害情報或いは統計情報の取得を特別な操作等を必要とせず簡易に行うことが可能な通信制御装置を提供する。
本発明では、複数の回線と接続され、各回線に対してパケットを中継する通信制御装置が、制御プログラムまたは管理情報を格納する記憶部と、任意の装置が接続されるコネクタ部と、コネクタ部に接続される任意の装置と通信する処理部とからなる管理部を有する。
処理部は、更に、コネクタ部に任意の装置が接続されたことを検出して接続処理を行う手段と、任意の装置に記憶されている1以上のコマンドまたは更新用制御プログラムを読出し、前記1以上のコマンドの実行または更新用制御プログラムによる記憶部に格納された制御プログラムの更新を行う手段と、記憶部に格納されている管理情報を任意の装置に転送して記憶させる手段とを備える。
また、通信制御装置は上記コネクタ部としてUSBコネクタを備える。
また、本発明では、パケットを回線間で中継する通信制御装置の管理用コネクタに管理用端末装置が接続される。端末装置は、1以上のコマンドまたは更新用制御プログラムを記憶し、または通信制御装置から送信される管理情報を格納する記憶部と、管理用コネクタに接続媒体を介して接続されるコネクタ部と、コネクタ部を介して通信制御装置と通信する処理部を備える。処理部は、コネクタ部に通信制御装置が接続されると接続処理を行う手段と、記憶部が記憶している1以上のコマンドまたは更新用制御プログラムを通信制御装置に送信し、1以上のコマンドの実行または更新用制御プログラムによる制御プログラムの更新を指示する手段と、通信制御装置に格納されている管理情報の送信を指示し、受信した管理情報を記憶部に格納する手段とを備える。
また、端末装置と通信制御装置とはコネクタとしてLANコネクタを備える。
本発明によれば、複雑な操作や専門的な知識を持つ保守員等を必要とせずに、通信制御装置が記憶している情報を外部に出力させ、または外部からプログラムやデータを通信制御装置に読み込ませることが可能になる。
以下に本発明の実施の形態を説明する。
図1(a)及び(b)は一実施例における通信制御装置の構成を示す。通信制御装置は、例えばルータや各種スイッチ等の中継装置である。
図1(a)及び(b)において、通信制御装置101は、ネットワークを構成する1つ以上の回線に対してパケットを送受信する回線制御部104と、受信パケットに含まれる宛先アドレス等に従って受信パケットを宛先の端末装置や他の通信制御装置に中継する中継部103、通信制御装置全体の制御や管理を行う管理部102から構成される。回線制御部104は、ネットワークにおける様々な種類の回線が接続される1つ以上のコネクタ141〜14nを備える。管理部102は、各種プログラムを実行し、中継部103や回線制御部104を制御する処理部121と、各種プログラムや制御用または管理用の情報(データ)等を保持するメモリ123と、制御用または管理用の情報やプログラム等を入出力するためのコネクタ部(インタフェース部)124と、コネクタ部124の動作状態を表示するための表示部125を備える。処理部121は、通信制御装置101が動作するための基本的なプログラムである通信制御用プログラムを格納する実行メモリ122を備える。メモリ123は、例えば通信制御用プログラム、コネクタ部124の制御プログラム(以下、コネクタ制御プログラムと呼ぶ)、障害情報の採取や統計情報の収集を行うためのプログラムや、各種制御用のデータ及び各種管理情報を格納する。各種管理情報としては採取された障害情報や、収集された統計情報等がある。実行メモリ122はメモリ123に格納されている通信制御用プログラムと同一のプログラム(コピー)を保持する。また、処理部121は実行メモリ122に保持された通信制御用プログラムを実行する。これは、処理部121が通信制御用プログラムを実行中、即ち通信制御装置101が稼動中でも、メモリ123を用いて通信制御用プログラムの更新(バージョンアップ)を可能とするためである。
図1(a)及び(b)において、コネクタ部124は、USB(Universal Serial Bus)コネクタ(USBインタフェース)である。即ち、管理部102はコネクタ部124としてUSBコネクタ(以下USBコネクタ124と記す)を備える。また、表示部125は、例えば1つまたは複数の発光ダイオード(LED)で構成される。
図1(a)では、USBコネクタ124に外部記憶装置201が接続されている。外部記憶装置201は記憶媒体202を備える。また、図1(b)では、USBコネクタ124に端末装置301が接続ケーブル303を介して接続されている。端末装置301は記憶部302を備える。
処理部121は、USBコネクタ用のコネクタ制御プログラムを実行することにより、USBコネクタ124に接続される外部記憶装置201や端末装置301と通信を行い、各種情報やプログラムをUSBコネクタ124から入出力する。コネクタ制御プログラムによる具体的な処理については後述する。
図2及び図3は共に通信制御装置101の外観図を示す。図2及び図3において通信制御装置101はUSBコネクタ124と表示部125を備えている。
図2(a)は、外部記憶装置201が通信制御装置101のUSBコネクタ124に接続される前またはUSBコネクタ124から取り外された(切断された)状態を示し、図2(b)は、外部記憶装置201が通信制御装置101のUSBコネクタ124に接続された状態を示す。なお、図2における外部記憶装置201は、例えばUSBメモリ等である。
また、図3(a)は、端末装置301が通信制御装置101のUSBコネクタ124に接続される前またはUSBコネクタ124から取り外された(切断された)状態を示し、図3(b)は、端末装置301が通信制御装置101のUSBコネクタ124に接続ケーブルを介して接続された状態を示す。なお、図3における端末装置301は、例えばUSBコネクタを備えたパーソナルコンピュータ(PC)や携帯情報端末(PDA(Personal Digital Assistants)等である。
図4は、通信制御装置101の管理部102及び外部記憶装置201がそれぞれ格納している各種情報及びプログラムを具体的に示す。図4において、実行メモリ122は通信制御用プログラム411を格納している。メモリ123は複数の格納エリアを含み、そのうちの1つの格納エリア(通信制御用プログラム格納エリア412)には通信制御用プログラム411を格納している。また、1つ以上の他の格納エリア(管理情報格納エリア413)には障害発生時に採取された障害情報(ログファイル)や収集された統計情報等の管理情報414が格納されている。更に、メモリ123は、その他の格納エリアに上述したコネクタ制御プログラム等を格納している。一方、図4において、外部記憶装置201の記憶媒体202は、例えば、通信制御用プログラム411に対して装置構成等に関するデータを設定する(または通信制御用プログラム411の実行に際して使用する装置構成等に関するデータを設定する)コマンドデータ404を1つ以上含むコマンドデータファイル401を格納している。また、記憶媒体202は、通信制御用プログラム411の更新用プログラム402を格納している。記憶媒体202は、1つ以上のコマンドデータファイル401と更新用プログラム402の一方または両方を格納している場合もあり、両方とも格納していない場合もある。更に、記憶媒体202は、管理部102のUSBコネクタ124より出力される管理情報414を格納するための空き領域403を備える場合もある。管理部102と外部記憶装置201は、メモリ123に格納されている情報や記憶媒体202に格納されているコマンドデータファイル401または更新用プログラム402をUSBコネクタ124を介して互いに入出力する。また、表示部125は、処理部121からの指示を受けて、外部記憶装置の接続状態や通信状態を表示する。例えば、表示部125は、外部記憶装置201が接続されると点灯し、外部記憶装置201と管理部102とが通信している間は点滅し、外部記憶装置201が取り外されれば(切断されれば)消灯する。
なお、図4には外部記憶装置201のみが示されているが、図1(b)に示した端末装置301の記憶部302も、記憶媒体202と同様に、コマンドデータファイル401や更新用プログラム402を格納し、更に、空き領域403を備える。そして、端末装置301と管理部102も、互いに格納しているデータやプログラムをUSBコネクタ124を介して入出力する。
図5、図6及び図7は、コネクタ制御プログラムを実行する処理部121の処理の流れを示すフローチャートである。
以下、図2、図4、図5〜図7を用いてUSBコネクタ124に外部装置として外部記憶装置201が接続される場合に、処理部121がコネクタ制御プログラムに従って行う処理について説明する。なお、図3に示すようにUSBコネクタ124に端末装置301が接続される場合も同様の処理が行われる。
図5に示されるように、通信制御部101の管理部102において、処理部121がコネクタ制御プログラムの実行を開始すると、先ず、USBコネクタ124に外部装置が接続されたかどうかを判定する(ステップ501)。この判定は、例えば、外部装置がUSBコネクタ124に接続された際に発信する割り込み信号を処理部121が検出したか否かに従って行われる。外部装置が接続されていなければ、処理部121はステップ501を繰り返す。図2(b)に示されるように外部装置がUSBコネクタ124に接続されたと判定した場合、処理部121は、外部装置と通信を開始するための準備として接続処理を実行する(ステップ503)。接続処理は、例えば接続された外部装置の特定、適切なドライバの設定(インストール)等を含む。この接続処理によって処理部121は外部装置と通信できる状態となる。接続処理が完了すると、処理部121は表示部125に対して外部装置が接続されたことを表示させる(ステップ505)。表示部125は、例えば1つ以上のLEDを点灯させる。
接続処理(ステップ503)において、接続された外部装置が外部記憶装置201や端末装置301等の記憶媒体を備えた記憶装置以外の装置として特定された場合には(ステップ507)、図7のフローチャートに示されたステップ707の処理に移る。なお、接続処理における特定結果に応じて、処理部121はコネクタ制御プログラム以外の制御プログラムを実行して接続された外部装置を制御するようにしても良い。
接続処理(ステップ503)において、接続された外部装置が外部記憶装置201であると特定された場合(ステップ507)は、処理部121は、図4に示されるように外部記憶装置201の記憶媒体202にコマンドデータファイル401が格納されているか判定する(ステップ509)。コマンドデータファイル401が格納されている場合、処理部121は、表示部125にコマンドデータファイル401を処理中であることを表示させる(ステップ511)。この場合、表示部125は、1つ以上のLEDを点滅或いは点灯中のLEDの色を変化させる。次に、処理部121は、記憶媒体202からコマンドデータファイル401を読出し、コマンドデータファイル401に含まれる1つ以上のコマンドデータ404を順次実行する(ステップ513)。コマンドデータファイル401が2つ以上記憶媒体202に格納されている場合は(ステップ515)、処理部121はそれらのコマンドデータファイル401を順次読み出して、それらに含まれているコマンドデータ404を実行する(ステップ517)。記憶媒体202に格納されていた1つまたは複数のコマンドデータファイル401の処理が完了すると、処理部121は、表示部125にコマンドデータファイル401の処理完了を表示させる(ステップ519)。この場合、表示部125は、コマンドデータファイルの処理中の表示を終了し、元の表示状態に戻す。
続いて、処理部121は、図6のフローチャートに示された処理に移る。なお、上述したステップ509において、コマンドデータファイル401が格納されていなかった場合も、ステップ511〜ステップ519を実行せず、図6のフローチャートに示された処理に移る。図6に示されるように、処理部121は、コマンドデータファイル401の処理が完了するか、またはコマンドデータファイル401が記憶媒体202に格納されていないと判定すると、記憶媒体202に通信制御用プログラム411の更新用プログラム402が格納されているか判定する(ステップ601)。更新用プログラム402が格納されている場合、処理部121は、表示部125に通信制御用プログラム411を更新中であることを表示させる(ステップ603)。この場合、表示部125は、1つ以上のLEDを点滅或いは点灯中のLEDの色を変化させる。次に、処理部121は、記憶媒体202から更新用プログラム402を読み出し、メモリ123の通信制御用プログラム格納エリア412に更新用プログラム402を格納する(ステップ605)。これによって、通信制御用プログラム格納エリア412に格納されていた通信制御用プログラム411は更新用プログラム402によって更新される。通信制御用プログラム411の更新処理が完了すると、処理部121は、表示部125に通信制御用プログラム411の更新完了を表示させる(ステップ607)。この場合、表示部125は、通信制御用プログラム411の更新中の表示を終了し、元の表示状態に戻す。
通信制御用プログラム411の更新処理が完了するか、または記憶媒体202に更新用プログラム402が格納されていないと判定すると、処理部121は、メモリ123の管理情報格納エリア413に管理情報414が格納されているか判定する(ステップ609)。管理情報格納エリア413に管理情報414が格納されている場合、処理部121は、記憶媒体202に管理情報414を格納できる容量を持つ空き領域403があるか判定する(ステップ611)。空き領域403がある場合は、処理部121は、表示部125に管理情報414を転送中であることを表示させる(ステップ613)。この場合、表示部125は、1つ以上のLEDを点滅或いは点灯中のLEDの色を変化させる。次に、処理部121は、記憶媒体202に他の管理情報が既に格納されているか判定する(ステップ615)。処理部121は、メモリ123から読み出した管理情報に所定の規則に従って名前(保存名)を付して記憶媒体202に格納する。しかし、記憶媒体202に既に格納されている管理情報と同一の保存名を付して別の管理情報を格納してしまうと、当然ながら既に格納されていた管理情報は別の管理情報によって置き換えられてしまう。このような事態を回避するため、記憶媒体202に他の管理情報が既に格納されている場合は、その管理情報の保存名とは異なる保存名を所定の規則に従って決定する(ステップ617)。保存名を決定するか、または記憶媒体202に他の管理情報が格納されていなければ、処理部121は、更に、外部記憶装置201において記憶媒体202への書込み禁止が設定されているか否か判定する(ステップ619)。外部記憶装置によっては予め記憶媒体202への書込み禁止の設定がされている場合もあるため、処理部121はそのような設定を検出する。もし、記憶媒体202への書込みが禁止されていなければ、処理部121は、引き続き図7のフローチャートに示されたステップ701の処理に移る。
また、上述したステップ611において、空き領域403がないと判定した場合は、処理部121は、表示部125に管理情報414を転送できないことを表示させる(ステップ621)。ステップ619において、記憶媒体202への書込みが禁止されていると判定した場合も、同様に、処理部121は、表示部125に管理情報414を転送できないことを表示させる(ステップ623)。この場合、表示部125は上述した転送中の表示を不可表示に変化させる。例えば、表示部125は、1つ以上のLEDを点滅或いは点灯中のLEDの色を更に変化させる。そして、何れの場合も、処理部121は、図7のフローチャートに示されたステップ707の処理に移る。
図7に示されるように、記憶媒体202への書込みが可能であれば、処理部121は、メモリ123の管理情報格納エリア413から管理情報414を読出し、これをUSBコネクタ124を介して外部記憶装置201へ転送する(ステップ701)。この転送処理において、処理部121は、管理情報414にステップ617により決定した保存名を付し、記憶媒体202へ書込む。この際、処理部121は、管理情報414の読出し時、USBコネクタ124からの出力時、または記憶媒体202への書込み時等に失敗(エラー)が発生しないか監視する。エラーの発生を検出せずに管理情報414の転送が完了(成功)した場合は(ステップ703)、処理部121は、表示部125に転送完了を表示させる(ステップ705)。この場合、表示部125は、管理情報414の転送中の表示を終了し、元の表示状態に戻す。
一方、管理情報414の転送中に何らかのエラーの発生を検出した場合は(ステップ703)、転送試行回数を加算(+1)する(ステップ715)。
転送試行回数は、例えばメモリ123や他の記憶素子に格納されており、初期値は“0”である。或いは、転送試行回数をカウントする転送試行回数カウンタが管理部102内に設けられていても構わない。転送試行回数は、例えば通信制御装置101の起動時(管理部102の初期設定時)、コネクタ制御プログラムの開始または終了時、または管理情報414の転送完了時(成功時)等に初期値に設定される。従って、ステップ703において転送が完了した場合は、処理部121の指示によって転送試行回数が初期値に設定される。
処理部121は、加算した転送試行回数と予め決められている回数(規定回数)とを比較し、転送試行回数が規定回数を超えていないか判定する(ステップ717)。転送試行回数が規定回数を超えていなければステップ701に戻り、管理情報414の転送処理を再度実行する。ステップ717において転送試行回数が規定回数を超えている場合は、処理部121は転送処理を中止し、表示部125に管理情報414を転送できないことを表示させる(ステップ719)。表示部125は上述した転送中の表示を不可表示に変化させる。なお、処理部121は、転送試行回数が規定回数に達したら転送中止と判断しても良い。
ステップ705またはステップ719の実行後、処理部121は、外部記憶装置201の切断処理を実行する(ステップ707)。上述した通り、ステップ621またはステップ623の実行後も、処理部121は切断処理を実行する(ステップ707)。切断処理は、処理部121と外部記憶装置201との間の通信を完全に終了し、外部記憶装置201をUSBコネクタ124から正常に取り外せる状態にするための処理である。切断処理が完了すると、処理部121は、表示部125に対して外部記憶装置201が切断されたことを表示させる(ステップ709)。この場合、表示部125は、例えば外部記憶装置201の接続に応じて点灯させていた1つ以上のLEDを消灯させる。これにより、外部記憶装置201はいつでもUSBコネクタ124から取り外せる状態となり、図2(a)に示されるように任意のタイミングで外部記憶装置201はUSBコネクタ124から取り外される。
更に、ステップ709の実行後、処理部121は、通信制御用プログラム711の更新処理(ステップ605)を実行したか否か判定する(ステップ711)。更新処理(ステップ605)を実行していなかった場合(記憶媒体202に更新用プログラム402が格納されていかった場合)は、図5のフローチャートの処理に戻り、ステップ501を実行する。通信制御用プログラム411の更新処理(ステップ605)を実行していた場合は、処理部121は、通信制御装置101の再起動処理を実行する(ステップ713)。この再起動処理では、処理部121は、実行メモリ122に格納されている通信制御用プログラム411(このプログラムは未だ更新用プログラム402によって更新されていない)の実行を終了する。次に、処理部121は、メモリ123の通信制御用プログラム格納エリア712に格納されている更新用プログラム402を実行メモリ122にも転送して格納する。即ち、処理部121は、更新用プログラム402を実行メモリ122にコピーする。これにより、実行メモリ122に格納されていた通信制御用プログラム411は更新用プログラム402によって更新される。そして、処理部121は通信制御装置101全体を一旦停止し、再起動する。再起動後、処理部121は実行メモリ122に格納されている更新用プログラム402を通信制御用プログラム411として実行する。また、処理部121はコネクタ制御プログラムの実行を開始し、図5に示されたステップ501の処理を実行する。
なお、処理部121は、コネクタ制御プログラムを常に実行して図5〜図7のフローチャートの処理を繰り返しても良い。また、処理部121は、USBコネクタ124に外部記憶装置201または端末装置301が接続されたことを契機にコネクタ制御プログラムの実行を開始し、ステップ711またはステップ713の実行によりコネクタ制御プログラムの実行を終了しても良い。更に、処理部121は、定期的にコネクタ制御プログラムを実行しても良い。
また、USBコネクタ124に端末装置301が接続される場合には、端末装置301が、図5〜図7に示された処理、即ち、接続処理、記憶部302に格納されているコマンドデータファイル401の転送処理、更新用プログラム402の転送(更新)処理や、メモリ123に格納されている管理情報414の転送処理、切断処理を実行しても良い。この場合、通信制御装置101の処理部121は、端末装置301によってメモリ123に格納されたコマンドデータファイル401の処理や、更新用プログラム402がメモリ123に格納された場合の再起動処理だけを実行する。
以上説明した通り、通信制御装置101はUSBコネクタ124に接続された外部記憶装置201や端末装置301との間で自発的に更新用プログラムや管理情報の入出力を実行する。そのため、通信制御用プログラムの更新や、管理情報の収集のために専門的な知識を持つ装置管理者や保守員等は必要とされない。
図8は他の実施例における通信制御装置の構成を示す。上述した実施例と同様、通信制御装置はルータや各種スイッチ等の中継装置である。
図8において、通信制御装置801は、ネットワークを構成する1つ以上の回線に対してパケットを送受信する回線制御部804と、受信パケットに含まれる宛先アドレス等に従って受信パケットを宛先の端末装置や他の通信制御装置に中継する中継部803、通信制御装置全体の制御や管理を行う管理部802から構成される。回線制御部804は、ネットワークにおける様々な種類の回線が接続される1つ以上のコネクタ841〜84nを備える。管理部802は、各種プログラムを実行し、管理部自身と、中継部803及び回線制御部804を制御する制御部821と、各種プログラムや制御用または管理用の情報(データ)等を保持するメモリ823と、制御用または管理用の情報やプログラム等を入出力するためのコネクタ部824と、コネクタ部824の動作状態を表示するための表示部825を備える。制御部821は、通信制御装置801が動作するための基本的なプログラムである通信制御用プログラムを格納する実行メモリ822を備える。メモリ823は、例えば上述した通信制御用プログラム、コネクタ部824の制御プログラム(以下、コネクタ制御プログラムと呼ぶ)、障害情報の採取や統計情報の収集を行うためのプログラムや、各種制御用のデータ及び各種管理情報を格納する。各種管理情報としては採取された障害情報や、収集された統計情報等がある。実行メモリ822はメモリ823に格納されている通信制御用プログラムと同一のプログラム(コピー)を保持する。また、制御部821は実行メモリ822に保持された通信制御用プログラムを実行する。これは、制御部821が通信制御用プログラムを実行中、即ち通信制御装置801が稼動中でも、メモリ823を用いて通信制御用プログラムの更新(バージョンアップ)を可能とするためである。更に、制御部821は上述したコネクタ制御プログラムを実行し、コネクタ部824に接続された装置と通信を行う。
図8において、コネクタ部824は、LAN(Local Area Network)コネクタである。即ち、管理部802はコネクタ部824としてLANコネクタ(以下LANコネクタ824と記す)を備える。また、表示部825は、例えば1つまたは複数の発光ダイオード(LED)で構成される。
図8では、LANコネクタ824にLANケーブル916を介して端末装置901が接続されている。端末装置901は処理部911と、記憶部913と、LANコネクタ914を備える。また、端末装置901にはディスプレイ915が接続されている。処理部911はOS(Operating System)の他、LANコネクタ914に接続された装置と通信するためのLAN通信プログラム912等を実行する。LAN通信プログラム912は、例えば端末装置901における常駐プログラムとして常に起動されている。
処理部911は、LAN通信プログラム912を実行することにより、LANコネクタ914に接続される通信制御装置801と通信を行い、各種情報やプログラムをLANコネクタ914から送受信する。LAN通信プログラム912による具体的な処理については後述する。
図9は通信制御装置801の外観図を示す。図9において通信制御装置801はLANコネクタ824を備えている。
図9(a)は、端末装置901がLANケーブルを介して通信制御装置801のLANコネクタ824に接続される前またはLANコネクタ824から取り外された(切断された)状態を示し、図9(b)は、端末装置901が通信制御装置801のLANコネクタ824にLANケーブルを介して接続された状態を示す。なお、図9における端末装置901は、例えばLANコネクタを備えたパーソナルコンピュータ(PC)や携帯情報端末(PDA(Personal Digital Assistants)等である。
図10は、通信制御装置801の管理部802及び端末装置901がそれぞれ格納している各種情報及びプログラムを具体的に示す。図10において、実行メモリ822は通信制御用プログラム1011を格納している。メモリ823は複数の格納エリアを含み、そのうちの1つの格納エリア(通信制御用プログラム格納エリア1012)には通信制御用プログラム1011を格納している。また、1つ以上の他の格納エリア(管理情報格納エリア1013)には障害発生時に採取された障害情報(ログファイル)や収集された統計情報等の管理情報1014が格納されている。一方、図10において、端末装置901の記憶部913も複数の格納エリアを含み、そのうちの1つまたは複数の格納エリア(コマンドデータファイル格納エリア1005)に、例えば通信制御用プログラム1011に対して装置構成等に関するデータを設定するための(または通信制御用プログラム1011の実行に際して使用する装置構成等に関するデータを設定するための)コマンドデータ1004を1つ以上含むコマンドデータファイル(またはスクリプトファイルとも呼ぶ)1001を格納している。また、他の1つまたは複数の格納エリア(更新用プログラム格納エリア1006)に、通信制御用プログラム1011の更新用プログラム1002を格納している。記憶部913は、1つ以上のコマンドデータファイル1001と更新用プログラム1002の一方または両方を格納している場合もあり、両方とも格納していない場合もある。更に、記憶部913は、通信制御装置801から出力される管理情報1014を格納するための格納エリア(空き領域)1003を備える場合もある。通信制御装置801の管理部802と端末装置901は、メモリ823に格納されている管理情報1014や記憶部913に格納されているコマンドデータファイル1001または更新用プログラム1002をLANコネクタ824及びLANコネクタ914を介して互いに送受信する。また、ディスプレイ915は、処理部911からの指示を受けて、通信制御装置801の接続状態や通信状態を表示する。
図11、図12及び図13はLAN通信プログラム912を実行する端末装置901の処理部911の処理の流れを示すフローチャートである。
以下、図9〜図13を用いて端末装置901がLANケーブル916を介して通信制御装置801のLANコネクタ824に接続される場合に、処理部911がLAN通信プログラム912に従って行う処理について説明する。
上述した通り、端末装置901においてLAN通信プログラム912は常駐プログラムとして常に起動されている。このLAN通信プログラム912によって、図11に示すように、LANコネクタ914に他の装置が接続されたか否かが監視される(ステップ1101)。この監視は、例えば、他の装置がLANケーブル916を介して接続された際に発信する割り込み信号(Link Up信号)を処理部911が検出するか否かによって行われる。割り込み信号(Link Up信号)が検出されなければ監視が継続される。図9(b)に示すように、端末装置901のLANコネクタ914と通信制御装置801のLANコネクタ824とがLANケーブル916を介して接続されると、通信制御装置801の管理部802から割り込み信号(Link Up信号)が発信され、この信号が処理部911によって検出される。処理部911は、割り込み信号(Link Up信号)を検出すると(ステップ1101)、通信制御装置801と通信を開始するための準備としてネゴシエーション処理を実行する(ステップ1103)。ネゴシエーション処理は、例えば処理部911と管理部802とが通信の際に使用するアドレス(例えばIPアドレス)を互いに決定して通知しあう処理等を含む。このネゴシエーション処理によって処理部911は管理部802とLANを介して通信できる状態となる。ネゴシエーション処理が完了すると、処理部911はディスプレイ915に対して通信制御装置801が接続されたことを表示させる(ステップ1105)。ディスプレイ915は通信制御装置801が接続されたことを所定の形式で表示する。以下の説明においても、同様に、ディスプレイ915は処理部911から指示された内容を所定の形式で表示する。
次に、処理部911は、図10に示されるように記憶部913のコマンドデータファイル格納エリア1005にコマンドデータファイル1001が格納されているか判定する(ステップ1107)。コマンドデータファイル1001が格納されている場合、処理部911は、ディスプレイ915にコマンドデータファイル1001を処理中であることを表示させる(ステップ1109)。次に、処理部911は、記憶部913からコマンドデータファイル1001を読出し、これをLANコネクタ914から管理部802に送信すると共に、管理部802に対してコマンドデータファイル1001の実行を指示する(ステップ1111)。管理部802の制御部821はLANコネクタ824を介してコマンドデータファイル1001を受信し、処理部911の指示に従ってコマンドデータファイル1001に含まれる1つ以上のコマンドデータ1004を順次実行する。コマンドデータファイル1001が2つ以上格納されている場合は(ステップ1113)、処理部911はそれらのコマンドデータファイル1001を順次読み出して管理部802に転送する(ステップ1115)。管理部802の制御部821はそれらのコマンドデータファイル1001を順次受信し、それらに含まれているコマンドデータ1004を実行する。記憶部913に格納されていた1つまたは複数のコマンドデータファイル1001の処理が完了すると、処理部911は、ディスプレイ915にコマンドデータファイル1001の処理完了を表示させる(ステップ1117)。なお、管理部802では、制御部821が処理部911の指示に従ってコマンドデータファイル1001を実行している間、表示部825はコマンドデータファイル1001を処理中であることを表示(例えばLEDを点滅または点灯)する。
続いて、処理部911は、図12のフローチャートに示された処理に移る。なお、ステップ1107においてコマンドデータファイル1001が格納されていなかった場合もステップ1109〜1117を実行せずに図12のフローチャートに示された処理に移る。
図12に示すように、処理部911は、コマンドデータファイル1001の処理が完了するか、またはコマンドデータファイル1001が格納されていないと判定すると、記憶部913の更新用プログラム格納エリア1006に更新用プログラム1002が格納されているか判定する(ステップ1201)。更新用プログラム1002が格納されている場合、処理部911は、ディスプレイ915に通信制御用プログラム1011を更新中であることを表示させる(ステップ1203)。次に、処理部911は、記憶部913から更新用プログラム1002を読み出し、LANコネクタ914から管理部802に転送すると共に、管理部802に対してメモリ823の通信制御用プログラム格納エリア1012への格納を指示する(ステップ1205)。管理部802の制御部821はLANコネクタ824を介して更新用プログラム1002を受信し、処理部911の指示に従ってメモリ823の通信制御用プログラム格納エリア1012へ格納する。この間、表示部825は通信制御用プログラム1011を更新中であることを表示(例えばLEDを点滅または点灯)する。これによって、通信制御用プログラム格納エリア1012に格納されていた通信制御用プログラム1011は更新用プログラム1002によって更新される。通信制御用プログラム1011の更新処理が完了すると、処理部911は、ディスプレイ915に通信制御用プログラム1011の更新完了を表示させる(ステップ1207)。
通信制御用プログラム1011の更新処理が完了するか、または記憶部913に更新用プログラム1002が格納されていないと判定すると、処理部911は、メモリ823の管理情報格納エリア1013に管理情報1014が格納されているか判定する(ステップ1209)。この判定は、例えば管理部802に管理情報1014の有無を通知させるか、または処理部911がメモリ823のディレクトリを検索すること等により行う。管理情報格納エリア1013に管理情報1014が格納されている場合、処理部911は、記憶部913に管理情報1014を格納できる容量を持つ空き領域1003があるか判定する(ステップ1211)。空き領域1003がある場合、処理部911は、ディスプレイ915に管理情報1014を転送中であることを表示させる(ステップ1213)。次に、処理部911は、記憶部913に他の管理情報が既に格納されているか判定する(ステップ1215)。処理部911は、メモリ823から読み出した管理情報に所定の規則に従って保存名を付して記憶部913に格納するが、この際、記憶部913に既に格納されている管理情報と同一の保存名で別の管理情報を格納してしまう事態を回避するため、記憶部913に他の管理情報が既に格納されている場合は、その管理情報とは異なる保存名を所定の規則に従って決定する(ステップ1217)。保存名を決定するか、または記憶部913に他の管理情報が格納されていなければ、処理部911は、更に、記憶部913への書込み禁止が設定されているか否か判定する(ステップ1219)。端末装置901に対して予め記憶部913への書込み禁止の設定がされている場合もあるため、処理部911はそのような設定を検出する。もし、記憶部913への書込みが禁止されていなければ、処理部911は、引き続き図13のフローチャートに示されたステップ1301の処理に移る。
また、上述したステップ1211において、受信領域1003がないと判定した場合は、処理部911は、ディスプレイ915に管理情報1014を転送できないことを表示させる(ステップ1221)。ステップ1219において、記憶部913への書込みが禁止されていると判定した場合も、同様に、処理部911は、ディスプレイ915に管理情報1014を転送できないことを表示させる(ステップ1223)。そして、何れの場合も、処理部911は、図13のフローチャートに示されたステップ1307の処理に移る。
図13に示されるように、記憶部913への書込みが可能であれば、処理部911は、管理部802に対して管理情報1014の転送を指示する。管理部802の制御部812は、メモリ823の管理情報格納エリア1013から管理情報1014を読出し、これをLANコネクタ824を介して端末装置901へ転送する。この間、表示部825は管理情報1014を転送中であることを表示(例えばLEDを点滅または点灯)する。処理部911は、LANコネクタ914を介して管理情報1014を受信し、ステップ1217により決定した保存名でこれを記憶部913へ書込む(ステップ1301)。この処理において、処理部911は、管理情報1014の読出し時、管理部802から端末装置901への転送時、または記憶部913への書込み時等に失敗(エラー)が発生しないか監視する。エラーの発生を検出せずに管理情報1014の転送及び書込みが完了(成功)した場合は(ステップ1303)、処理部911は、ディスプレイ915に転送完了を表示させる(ステップ1305)。
一方、何らかのエラーの発生を検出した場合は(ステップ1303)、処理部911は転送試行回数を加算(+1)する(ステップ1315)。
転送試行回数は、例えば記憶部913や他の記憶素子に格納されており、初期値は“0”である。或いは、転送試行回数をカウントする転送試行回数カウンタが端末装置901内に設けられていても構わない。転送試行回数は、例えば端末装置901の起動時や管理情報1014の転送完了時(成功時)等に初期値に設定される。従って、ステップ1303において転送が完了した場合は、処理部911の指示によって転送試行回数が初期値に設定される。
処理部911は、加算した転送試行回数と予め決められている回数(規定回数)とを比較し、転送試行回数が規定回数を超えたか判定する(ステップ1317)。転送試行回数が規定回数を超えていなければステップ1301に戻り、管理情報1014の転送及び書込み処理を再度実行する。ステップ1317において転送試行回数が規定回数を超えている場合は、処理部911は転送処理を中止し、ディスプレイ915に管理情報1014を転送できないことを表示させる(ステップ1319)。なお、処理部911は、転送試行回数が規定回数に達したら転送を中止しても良い。
ステップ1305またはステップ1319の実行後、処理部911は、通信制御用プログラム1011の更新処理(ステップ1205)を実行したか否か判定する(ステップ1307)。上述した通り、ステップ1221またはステップ1223の実行後も、処理部911はステップ1307を実行する。通信制御用プログラム1011の更新処理(ステップ1205)を実行していた場合は、処理部911は、管理部802に対して通信制御装置801の再起動を指示する(ステップ1309)。
再起動を指示した後、または更新処理(ステップ1205)を実行していなかった場合(記憶部913に更新用プログラム1002が格納されていかった場合)は、処理部911は、端末装置901と通信制御装置801間の切断処理を実行する(ステップ1311)。切断処理は、端末装置901と通信制御装置801との間の通信を完全に終了し、端末装置901を通信制御装置801から正常に切り離せる状態にするための処理である。切断処理が完了すると、処理部911は、ディスプレイ915に通信制御装置801から切断されたことを表示させる(ステップ1313)。これにより、端末装置901と通信制御装置801とを接続するLANケーブル916をいつでもLANコネクタ824(またはLANコネクタ914)から取り外せる状態となり、図9(a)に示すように任意のタイミングでLANケーブル916はLANコネクタ824(またはLANコネクタ914)から取り外される。
その後、処理部911は、図11のフローチャートの処理に戻り、他の装置が接続されたか監視する(ステップ1101)。
一方、処理部911から再起動の指示を受けた管理部802の制御部821は、実行メモリ822に格納されている通信制御用プログラム1011(このプログラムは未だ更新用プログラム1002によって更新されていない)の実行を終了する。次に、制御部821は、メモリ823の通信制御用プログラム格納エリア1012に格納されている更新用プログラム1002を実行メモリ822にコピーする。これにより、実行メモリ822に格納されていた通信制御用プログラム1011は更新用プログラム1002によって更新される。そして、制御部821は通信制御装置801全体を一旦停止し、再起動する。再起動後、制御部821は実行メモリ822に格納されている更新用プログラム1002を通信制御用プログラム1011として実行する。
なお、以上の説明において、管理部802の制御部821は、コネクタ制御プログラムに従って端末装置901の処理部911から指示される処理を実行する。
また、LAN通信プログラムは常駐プログラムであるとして説明したが、LANコネクタ914に通信制御装置801が接続されたことを契機に処理部911がLAN通信プログラムの実行を開始し、ステップ1313の実行によりLAN通信プログラムの実行を終了しても良い。更に、処理部911は、定期的にLAN通信プログラムを実行しても良い。
以上説明した通り、端末装置901はLANコネクタ914に接続された通信制御装置801との間で自発的に更新用プログラムや管理情報の送受信を実行する。そのため、通信制御用プログラムの更新や、管理情報の収集のために専門的な知識を持つ装置管理者や保守員等は必要とされない。
次に、上述した各実施例における通信制御装置101、801や外部記憶装置201または端末装置301、901が実際に適用される例について説明する。
例えば、通信制御装置メーカであるメーカAが図1に示した通信制御装置(通信制御装置101)の製造、販売を行っているとする。また、企業または個人の顧客BはメーカAから通信制御装置を1台以上購入し、オフィス等(社屋または宅内)に設置し、ネットワークを構築しているとする。
メーカAは、新たな機能の追加や不具合点の修正等のために、通信制御装置で使用される通信制御用プログラムの更新用プログラム(バージョンアップ版)を随時開発する。顧客Bは必要に応じて開発された更新用プログラムの導入をメーカAに希望する。また、顧客Bは購入した通信制御装置の仕様の変更等をメーカAに依頼する場合もある。この場合、変更の内容によっては通信制御装置内の装置構成等に関するデータ(構成データ)も再設定する必要が生じる。或いは、顧客Bが通信制御装置を使用中に何らかの障害が発生して通信制御装置が停止してしまう場合もある。この場合も、顧客Bは必要に応じてメーカAに障害原因の解析や障害の復旧を依頼する。
これらの場合のうち、例えば顧客Bが通信制御装置の機能の拡張と更新用プログラムの導入をメーカAに希望したとする。また、機能の拡張のためには通信制御装置の構成データの再設定が必要であるとする。この場合、メーカAは顧客Bからの希望に従って機能拡張に必要な構成データを設定するためのコマンドデータファイルを用意し、このコマンドデータファイルと更新用プログラムをUSBメモリに格納する。USBメモリについては、特殊なものである必要はなく、市販されているものを適宜利用する。そして、メーカAはそのUSBメモリを顧客Bに対して任意の輸送手段(例えば郵便や宅配便等)を用いて送付する。
顧客BはメーカAからUSBメモリを受け取ると、そのUSBメモリを通信制御装置に備えられているUSBコネクタに接続する。これによって、上述した図5〜図7のフローチャートに従って、通信制御装置内の処理部(図1における処理部121)がUSBメモリに格納されているコマンドデータファイルを実行して構成データを設定すると共に、同じくUSBメモリに格納されている更新用プログラムによって通信制御用プログラムを更新する。顧客Bは通信制御装置に備えられた表示部の表示を参照することにより処理の進行を確認することができ、通信制御装置による処理が完了したことを確認すると、顧客BはUSBメモリをUSBコネクタから取り外す。
また、顧客Bの通信制御装置に発生した障害を解析する場合等も、同様に、顧客Bから連絡を受けたメーカAは、通信制御装置内で採取された障害情報を格納できる容量を持つUSBメモリを用意して顧客Bに渡す。顧客Bは受け取ったUSBメモリをUSBコネクタに接続し、USBメモリに障害情報が出力されるのを待ってUSBメモリを取り外し、メーカAに返送する。これによって、メーカAは採取された情報を解析して、復旧に役立てることができる。
このように、顧客Bは希望した処理を実行するために何も特別な操作をする必要がなく、専門的な知識を持つ担当者等を確保しておく必要がない。また、メーカAも専門の保守員等を派遣する必要はなく、単にUSBメモリを送付するだけで顧客Bの希望に応じることができる。
次に、メーカAが図8に示した通信制御装置(通信制御装置801)を製造、販売し、顧客Bがそれを購入した場合について説明する。
上述した例と同様、顧客Bが通信制御装置の機能の拡張と更新用プログラムの導入をメーカAに希望したとする。この場合、メーカAは顧客Bからの希望に従って機能拡張に必要な構成データを設定するためのコマンドデータファイルを用意し、このコマンドデータファイルと更新用プログラムをCD−R等の任意の記憶媒体に格納する。この他に記憶媒体には上述したLAN通信プログラムも格納しておく。もちろん記憶媒体については市販されているものを利用して構わない。メーカAはそのような記憶媒体を顧客Bに対して任意の輸送手段(例えば郵便や宅配便等)を用いて送付する。
顧客BはLANコネクタを備える任意の端末装置を用意し、メーカAから受け取った記憶媒体を端末装置にセットする。そして、顧客Bは、一般的なソフトウェアのインストールと同様にして記憶媒体に格納されたLAN通信プログラムを端末装置にインストールし、端末装置を通信制御装置に備えられているLANコネクタに接続する。すると、上述した図11〜図13のフローチャートに従って、端末装置の処理部(図8における処理部911)が記憶媒体に格納されているコマンドデータファイルや更新用プログラムを通信制御装置に転送して通信制御装置に処理させることによって構成データの設定や通信制御用プログラムの更新が完了する。顧客Bは端末装置のディスプレイの表示により処理の完了を確認し、端末装置を通信制御装置から切り離す。
顧客Bの通信制御装置に発生した障害を解析する場合も同様である。障害情報は端末装置にセットした記憶媒体に書込まれるため、これを顧客BがユーザAに返送することにより、メーカAによる障害原因の解析が可能となる。
以上の通り、この場合も顧客Bは希望した処理を実行するために何も特別な操作をする必要がなく、専門的な知識を持つ担当者等を確保しておく必要がない。また、メーカAも専門の保守員等を派遣する必要はなく、単に記憶媒体を送付するだけで顧客Bの希望に応じることができる。
なお、メーカAは記憶媒体ではなく、モバイルPC等の端末装置を顧客Bに渡してもよい。この場合、顧客Bは単に端末装置をLANコネクタを介して通信制御装置に接続するだけで良いため、顧客Bにとっての利便性を更に向上できる。
一実施例における通信制御装置の構成図。
一実施例における通信制御装置の外観図。
一実施例における通信制御装置の外観図。
通信制御装置と外部記憶装置がそれぞれ格納している各種情報及びプログラムの概念図。
コネクタ制御プログラムを実行する処理部121のフローチャート。
コネクタ制御プログラムを実行する処理部121のフローチャート。
コネクタ制御プログラムを実行する処理部121のフローチャート。
他の実施例における通信制御装置の構成図。
他の実施例における通信制御装置の外観図。
通信制御装置と端末装置がそれぞれ格納している各種情報及びプログラムの概念図。
LAN通信プログラムを実行する処理部911のフローチャート。
LAN通信プログラムを実行する処理部911のフローチャート。
LAN通信プログラムを実行する処理部911のフローチャート。
符号の説明
101,801・・・・通信制御装置
102,802・・・・管理部
103,803・・・・中継部
104,804・・・・回線制御部
121・・・・処理部
122,822・・・・実行メモリ
123,823・・・・メモリ
124・・・・USBコネクタ
125,825・・・・表示部
141〜14n,841〜84n・・・・コネクタ
201・・・・外部記憶装置
202・・・・記憶媒体
301,901・・・・端末装置
302,913・・・・記憶部
303・・・・接続ケーブル
814,914・・・・LANコネクタ
821・・・・制御部
911・・・・処理部
912・・・・LAN通信プログラム
915・・・・ディスプレイ
916・・・・LANケーブル