説明

通信装置及び異常復旧方法

【課題】プログラムに異常が発生した場合に、人手を介することなく、低コストでプログラムの異常に対し効果的に対処し得る通信装置を提供する。
【解決手段】端末T11において、発着信時に得られる制御信号を利用して機器情報を取得してEPROM114のテーブル1141に記録し、プログラムの異常により起動できない場合に、EPROM114のテーブル1141に基づいて他の端末からプログラムを取得して起動するようにしている。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えばIP(Internet Protocol)電話システムで用いられる通信装置、及びこの通信装置で発生する動作異常に対する異常復旧実行方法に関する。
【背景技術】
【0002】
近年、IP電話システムが普及し始めている。このIP電話システムでは、例えばLAN(Local Area Network)やインターネットを含むIP網にIP電話端末を接続すると共に、IP網上の交換サーバにおいてプロトコル変換及びデータのフォーマット変換等を行うことにより、IP電話端末間及びIP電話端末と一般電話網との間で音声通信を可能にしている。
【0003】
ところで、上記交換サーバやIP電話端末にあっては、プログラム中の異常が発生することが十分に予想される。このような場合、保守員が異常なプログラムを正常なプログラムに書き替える等の復旧作業を行うが、プログラム変更以外に、コストアップの要因にもなる。
【0004】
なお、従来では、電源投入時に記憶部のクライアントモジュールの状態を診断し、異常を認識したときはサーバにクライアントモジュールのダウンロードを要求する技術が提案されている(例えば、特許文献1)。
【特許文献1】2004−78849公報。
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記IP電話システムにあっても、上記交換サーバやIP電話端末におけるプログラム中の異常発生に伴って保守員の手作業を介することなく自動的にプログラムを修復する手法が強く望まれている。しかしながら、この手法については、まだ検討段階であって実現されていないのが現状である。
【0006】
そこで、この発明の目的は、プログラムに異常が発生した場合に、人手を介することなく、低コストでプログラムの異常に対し効果的に対処し得る通信装置及び異常復旧方法を提供することにある。
【課題を解決するための手段】
【0007】
この発明に係る通信装置は、第1の記録媒体に記憶されたプログラムに基づいて起動し、通信処理を実行する通信装置において、第1の記録媒体に記憶されたプログラムと同一のプログラムを有する通信機器を示す機器情報を選択的に取得して第1の記録媒体とは異なる第2の記録媒体に記録する取得手段と、第1の記録媒体に記憶されたプログラムにより起動できない場合に、第2の記録媒体に記録された機器情報に基づいて、該当する通信機器からプログラムを取得して当該プログラムに基づいて起動する障害復旧手段とを備えるようにしたものである。なお、取得手段は、機器情報を通信時に取得する。
【0008】
この構成によれば、通信時に得られる制御信号を利用して機器情報が選択的に取得されて第2の記録媒体に記録され、プログラムの異常により起動できない場合に、第2の記録媒体中の機器情報に基づいて他の通信機器からプログラムが取得されて正常に起動される。
【0009】
従って、プログラムのバックアップ領域を持つ必要がないため、機器のコストを抑えることができ、これによりプログラムに異常が発生した場合に、保守員の手操作を介することなく、低コストでプログラムの異常に対し効果的に対処することができる。また、予めネットワーク上にプログラムを格納するサーバを設置する必要がないため、管理コストが軽減される。
【0010】
また、上記取得手段は、通信中に通信相手から取得する機器情報に基づいて通信相手のプログラムバージョンが第1の記録媒体に記録されるプログラムと同一であるか否かを判断し、同一である場合に、通信相手の機器情報をプログラム取得先候補として自動的に第2の記録媒体に記録することを特徴とする。
【0011】
この構成によれば、通信中に通信相手から取得する機器情報に基づいて通信相手のプログラムバージョンが第1の記録媒体に記録されるプログラムと同一であるか否かが判断され、同一である場合のみ、通信相手の機器情報がプログラム取得先候補として自動的に第2の記録媒体に記録されるので、通信相手ごとに適切なプログラムの取得が可能となる。
【0012】
また、上記取得手段は、プログラムバージョンが第1の記録媒体に記録されるプログラムと同一である複数候補の機器情報を第2の記録媒体に記録することを特徴とする。
【0013】
この構成によれば、プログラムバージョンが第1の記録媒体に記録されるプログラムと同一のプログラム取得先を多く選択することができるので、プログラム取得先への接続上の信頼性をさらに高めることができる。
【0014】
さらに、予め決められた条件に従って、第2の記録媒体上の複数候補の機器情報の選定順番を置き換える候補選定手段を備える。なお、この条件の判断に、通信時に経由するルータ数、通信相手までの往復遅延の少なくとも1つを用い、ルータ数が少ない順または通信相手までの往復遅延が短い順に第2の記録媒体上の複数候補の機器情報を置き換える。
【0015】
この構成によれば、自装置から近い順にプログラム取得先が選択されることになり、これにより、例えば広域ネットワークをプログラム取得のために占有しなくて済む。
【発明の効果】
【0016】
以上詳述したようにこの発明によれば、プログラムに異常が発生した場合に、人手を介することなく、低コストでプログラムの異常に対し効果的に対処し得る通信装置及び異常復旧方法を提供することができる。
【発明を実施するための最良の形態】
【0017】
以下、この発明の実施形態について図面を参照して詳細に説明する。
(第1の実施形態)
図1は、この発明の第1の実施形態に係わるIPマルチメディア交換システムを示す概略構成図である。
このシステムは、映像信号やコンピュータデータ等を伝送するための広域ネットワーク1を有する。広域ネットワーク1には、ルータR1〜R3が接続されている。
【0018】
また、このシステムでは、4つの拠点のローカルエリアネットワーク(LAN)L1〜L4が、ルータR1〜R3を介して相互に接続され、それぞれの拠点に交換サーバS1〜S4と端末T11〜T13、T21〜T23、T31〜T33、T41〜T42が配置されているものとする。ここで、交換サーバS1〜S4は、例えばIP−PBXなどが使用される。また、端末T11〜T13、T21〜T23、T31〜T33、T41〜T42には、音声や映像といったマルチメディアを扱うIP電話機やテレビ電話機などが使用される。
【0019】
交換サーバS1は、ローカルエリアネットワークL1上の端末T11〜T13相互間もしくは端末T11〜T13と広域ネットワーク1との間の交換制御機能を有している。交換サーバS2〜S4も、交換サーバS1と同様に、端末T21〜T23、T31〜T33、T41〜T42に対する交換制御機能を有している。
【0020】
図2は、交換サーバS1〜S4や端末T11〜T13、T21〜T23、T31〜T33、T41〜T42の概略ブロック図である。ここでは、端末T11を代表して説明する。
【0021】
端末T11は、CPU111と、主記憶部112と、フラッシュメモリ113と、EPROM114とを備えている。ここで、EPROM114はフラッシュメモリの領域の一部を使って代用してもよい。フラッシュメモリ113は、主にプログラム(ファームウェア)を格納するために用いられ、また、プログラムを起動するためのブートローダーが別に格納されている。
【0022】
図3に、一般的なフラッシュメモリ113のメモリ構造を示す。ここで、ブートローダー(M1)は、工場出荷時に一度だけ書き込まれ、運用中に書き換えられることはない。一方、プログラム(ファームウェア)部(M2)は、機能の追加や不具合の修正等の理由により、運用中に書き換えられることがある。
【0023】
EPROM114には、図4に示すように、緊急時のプログラム取得先格納テーブル1141が格納される。本テーブル1141には、プログラムの起動に失敗した場合に、プログラムの取得先となる機器のIPアドレスが優先度順に格納されている。本実施形態では、第一優先度から第三優先度までとしたが、この数は任意である。このように複数の候補を持つことで、プログラムの起動失敗時に救済の可能性が高まることとなる。また、テーブルには優先度を決定するためのメトリクス情報が格納される。本実施形態では、メトリクスとして自らと、プログラム取得先候補となる機器との間のルータ段数を採用している。ここで、値0は、両者が同じLAN(IPサブネット)に属しており間にルータR1〜R3が存在しないことを表す。
【0024】
CPU111は、通常動作モードの時に、フラッシュメモリ113に格納されたプログラムに基づいて当該端末T11の各部を総括制御することで端末T11としての動作を実現する。また、CPU111は、プログラム書き換えモード時に、フラッシュメモリ113に格納されたブートローダに基づいてプログラムの書き換えを行う。
【0025】
また、CPU111は、本発明に係る機能として、機器情報取得部1111と、障害対応部1112と、候補選定部1113とを備えている。機器情報取得部1111は、発着信時に、通話相手となる端末T21からの制御情報に含まれる機器情報を取得し、この機器情報から同一のプログラムバージョンであるか否かを判定し、同一のプログラムバージョンである場合に、機器情報をEPROM114上のプログラム取得先格納テーブル1141に記録する。
【0026】
障害対応部1112は、フラッシュメモリ113に格納されたプログラムにより起動できない場合に、EPROM114に記録されたプログラム取得先格納テーブル1141に基づいて、該当する端末T21からプログラムを取得して当該プログラムに基づいて起動する。
【0027】
候補選定部1113は、通信時に経由するルータR1〜R3の数に基づいて、EPROM114上のプログラム取得先格納テーブル1141のプログラム取得先候補の選定順番の入れ替えを行う。
【0028】
次に、上記構成における動作について説明する。
図5は、端末T11の起動処理手順を示すフローチャートである。端末T11に対して電源が投入される、あるいは、リセットが実施されると(ステップST5a)、CPU111はブートローダーが起動しフラッシュメモリ113のプログラム格納領域からアプリケーションプログラムを読み出し、処理をブートローダーからアプリケーションプログラムへ移す作業を行う(ステップST5b)。
【0029】
ここで、異常が発生した場合、CPU111はステップST5cからステップST5dに移行してここでブートローダーがEPROM114のテーブル1141にアクセスし、最も優先度の高いプログラム取得先候補のアドレスを読み出す。
【0030】
データが取得できた場合は、CPU111はステップST5eからステップST5fに移行してここで該アドレスに対して自らのバージョンのプログラム取得要求を行う。取得方法としては、TFTPを用いるのが一般的である。そして、プログラム取得に成功した場合は、CPU111はステップST5gからステップST5hに移行してここでそれをプログラム領域に書き込んだ上で起動処理を継続する(ステップST5i)。
【0031】
一方、上記ステップST5gにおいてプログラム取得に失敗した場合は、CPU111はテーブル1141から次の優先度の取得先候補を読み出し(ステップST5j)、該候補に対して取得要求を行う。本処理は、プログラムの取得に成功するか、あるいは、テーブル1141に登録された全ての候補に対する要求が失敗するまで繰り返される。
【0032】
なお、上記ステップST5cにおいて、異常が発生しない場合には、CPU111はステップST5iにそのまま移行し、さらに、上記ステップST5eにおいてテーブル1141中にデータが無い場合には、起動失敗として処理をそのまま終了する(ステップST5k)。
【0033】
図6及び図7は、端末T11及び端末T31がテーブル1141を更新する際のフローチャートである。
【0034】
発側となる端末T11は、発信操作時に制御信号に対して自端末のプログラムバージョンを設定し、交換サーバS1に対して制御パケット送信する(ステップST6a〜ステップST6c)。
【0035】
一方、応答側となる端末T31は、同様に、応答操作時に応答信号に対して自端末のプログラムバージョンを設定し、交換サーバに対して制御パケットを送信する(ステップST7a〜ステップST7c)。実現例の一つとして、SIP(Session Initiation Protocol)によるIP電話相互通話を考える。発側の端末T11は、SIP Inviteメッセージを送信するが、Inviteメッセージに含まれるSDP(Session Description Protocol)のテキストフィールドにプログラムバージョンを含めるようにする。同様に、応答端末T31は、SIP 200 OKメッセージに含まれるSDPのテキストフィールドにプログラムバージョンを含めるようにすればよい。
【0036】
図8は、端末T11と端末T33との間の通信中にテーブル1141にプログラム取得先候補を登録する動作を示すシーケンス図である。
【0037】
いま、端末T11から端末T33に発信し、相互に通話を行うとする。ここで、端末T11から端末T33までのルータ段数は2であるため、端末T11は端末T33に対するメトリクスとして2を得る。テーブル1141の登録状態から、優先度3の候補に対するメトリクスが3であるため、端末T11は、優先度3の候補として端末T33のIPアドレスを前記メトリクスと共にテーブル1141に登録する(書き換える)。
【0038】
以上のように上記第1の実施形態では、端末T11において、発着信時に得られる制御信号を利用して機器情報を取得してEPROM114のテーブル1141に記録し、プログラムの異常により起動できない場合に、EPROM114のテーブル1141に基づいて他の端末T22からプログラムを取得して起動するようにしている。
【0039】
従って、プログラムのバックアップ領域を持つ必要がないため、機器のコストを抑えることができ、これによりプログラムに異常が発生した場合に、保守員の手操作を介することなく、低コストでプログラムの異常に対し効果的に対処することができる。また、予めネットワーク上にプログラムを格納するサーバを設置する必要がないため、管理コストが軽減される。
【0040】
また、上記第1の実施形態では、テーブル1141中に多くのプログラム取得先候補を登録することができるので、プログラム異常発生時に、プログラム取得先を多く選択することができ、これによりプログラム取得先への接続上の信頼性をさらに高めることができる。
【0041】
(第2の実施形態)
図9は、この発明の第2の実施形態として、端末T11と端末T31との間で通話中になった際のテーブル1141を更新する際のフローチャートである。
【0042】
通話に至った後、発側と応答側の何れの端末T11,T31も、相手から受け取った制御パケットから相手端末のバージョン情報を取り出し(ステップST9a)、自端末のバージョンと一致するか比較する(ステップST9b)。
【0043】
ここで両者のバージョンが一致する場合、通話相手端末が起動失敗時のプログラム取得先候補となりうる。本発明では、ここからさらに相手端末との間のネットワーク的な近さを類推して、より近い端末を候補端末とするようルータホップ数の計測を行う(ステップST9c)。これにより、より安定的にプログラムの取得が可能となる。ホップ数の計測には、ICMPを使う。良く知られているTracerouteコマンドのように、ホップ上限数を1から一つずつ増やしながら、最終的に相手端末に到達するまで繰り返すことにより、両端末間のルータ段数を計測する。ここで得られたメトリクス(ルータ段数)が、既にテーブルに登録されたものより小さければ、ステップST9dからステップST9eに移行してここで段数に応じた優先度でもってテーブル1141を書き換える。
【0044】
一方、得られたメトリクスが既に登録済みの候補と同じか、または、大きい場合はテーブル1141の更新を行わない(ステップST9f)。
【0045】
また、上記ステップST9bにおいて、自端末のバージョンと一致しない場合、端末T11,T31は、処理を行わない(ステップST9g)。
【0046】
以上のように上記第2の実施形態では、端末T11において、通信時に経由するルータR1〜R3の数が小さい順にEPROM114上のテーブル1141のプログラム取得先候補の選定順番を書き替えるようにしているので、自端末T11から近い順にプログラム取得先が選択されることになり、これにより、例えば広域ネットワーク1をプログラム取得のために占有しなくて済むとともに、プログラムが第三者に漏れたり改竄されたりすることなく安全に取得することができる。
【0047】
また、上記第2の実施形態では、端末T11,T31において、通信中に通信相手のプログラムバージョンがフラッシュメモリ113に記録されるプログラムと同一であるか否かを判定し、同一である場合のみ、通信相手をプログラム取得先候補として自動的にEPROM114のテーブル1141に登録するようにしているので、通信相手ごとに適切なプログラムの取得が可能となる。
【0048】
(その他の実施形態)
この発明は、上記各実施形態に限定されるものではない。例えば上記第1及び第2の実施形態では、通信中に経由するルータの数によりプログラム取得先候補の選定順番を書き換えるようにした。しかしこれに限ることなく、例えば通信相手までの往復遅延等、ネットワークの近さを表す情報を用いるようにしてもよい。
【0049】
また、上記第1の実施形態では、発着信時に通信相手からバージョン情報等を取得する例について説明したが、通常運用時の例えば稼働が少ない時間に通信相手からバージョン情報を取得するようにしてもよい。また、通信時以外に、例えば汎用コンピュータまたは可搬メディアを接続した際に、この汎用コンピュータまたは可搬メディア上に登録されている各端末のバージョン情報を取得するようにしてもよい。
【0050】
その他、IP電話システムの構成及び種類、交換サーバ及びマルチメディア端末の機能構成や種類、プログラムバージョン情報の取得手順等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【図面の簡単な説明】
【0051】
【図1】この発明の第1の実施形態に係わるIPマルチメディア交換システムを示す概略構成図。
【図2】上記図1に示した交換サーバ及び端末の概略ブロック図。
【図3】上記図2に示したフラッシュメモリのメモリ構造を示す図。
【図4】上記図2に示したEPROMに格納されるプログラム取得先格納テーブルの記憶内容の一例を示す図。
【図5】同第1の実施形態において、端末の起動処理手順を示すフローチャート。
【図6】同第1の実施形態において、発側の端末のプログラム取得先格納テーブルの更新手順を示すフローチャート。
【図7】同第1の実施形態において、着側の端末のプログラム取得先格納テーブルの更新手順を示すフローチャート。
【図8】同第1の実施形態において、端末間の通信中にプログラム取得先格納テーブルにプログラム取得先候補を登録する動作を示すシーケンス図。
【図9】この発明の第2の実施形態として、端末間で通話中になった際のプログラム取得先格納テーブルを更新する手順を示すフローチャート。
【符号の説明】
【0052】
1…広域ネットワーク、111…CPU、112…主記憶部、113…フラッシュメモリ、114…EPROM、1111…機器情報取得部、1112…障害対応部、1113…候補選定部、1141…プログラム取得先格納テーブル、L1〜L4…ローカルエリアネットワーク、S1〜S4…交換サーバ、T11〜T13,T21〜T23,T31〜T33…マルチメディア端末、R1〜R3…ルータ。

【特許請求の範囲】
【請求項1】
第1の記録媒体に記憶されたプログラムに基づいて起動し、通信処理を実行する通信装置において、
前記第1の記録媒体に記憶されたプログラムと同一のプログラムを有する通信機器を示す機器情報を選択的に取得して前記第1の記録媒体とは異なる第2の記録媒体に記録する取得手段と、
前記第1の記録媒体に記憶されたプログラムにより起動できない場合に、前記第2の記録媒体に記録された機器情報に基づいて、該当する通信機器からプログラムを取得して当該プログラムに基づいて起動する障害復旧手段とを具備したことを特徴とする通信装置。
【請求項2】
前記取得手段は、前記機器情報を通信時に取得することを特徴とする請求項1記載の通信装置。
【請求項3】
前記取得手段は、前記機器情報を発着信時に取得することを特徴とする請求項1記載の通信装置。
【請求項4】
前記取得手段は、IP(Internet Protocol)システム内で用いられる場合に、通常運用中に前記機器情報を取得することを特徴とする請求項1記載の通信装置。
【請求項5】
前記取得手段は、通信中に通信相手から取得する機器情報に基づいて通信相手のプログラムバージョンが前記第1の記録媒体に記録されるプログラムと同一であるか否かを判断し、同一である場合に、通信相手の機器情報をプログラム取得先候補として自動的に前記第2の記録媒体に記録することを特徴とする請求項4記載の通信装置。
【請求項6】
前記取得手段は、プログラムバージョンが前記第1の記録媒体に記録されるプログラムと同一である複数候補の機器情報を前記第2の記録媒体に記録することを特徴とする請求項5記載の通信装置。
【請求項7】
さらに、予め決められた条件に従って、前記第2の記録媒体上の複数候補の機器情報の選定順番を置き換える候補選定手段を備えることを特徴とする請求項6記載の通信装置。
【請求項8】
前記候補選定手段は、前記条件の判断に、通信時に経由するルータ数、通信相手までの往復遅延の少なくとも1つを用い、前記ルータ数が少ない順または通信相手までの往復遅延が短い順に前記第2の記録媒体上の複数候補の機器情報を置き換えることを特徴とする請求項7記載の通信装置。
【請求項9】
第1の記録媒体に記憶されたプログラムに基づいて起動し、通信処理を実行する通信装置で使用される異常復旧方法において、
前記第1の記録媒体に記憶されたプログラムと同一のプログラムを有する通信機器を示す機器情報を選択的に取得して前記第1の記録媒体とは異なる第2の記録媒体に記録し、
前記第1の記録媒体に記憶されたプログラムにより起動できない場合に、前記第2の記録媒体に記録された機器情報に基づいて、該当する通信機器からプログラムを取得して、当該プログラムに基づいて起動することを特徴とする異常復旧方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−278260(P2009−278260A)
【公開日】平成21年11月26日(2009.11.26)
【国際特許分類】
【出願番号】特願2008−126079(P2008−126079)
【出願日】平成20年5月13日(2008.5.13)
【特許番号】特許第4364285号(P4364285)
【特許公報発行日】平成21年11月11日(2009.11.11)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】