(57)【要約】【課題】  ファームウェアが更新されていないＩＰルータ等のパケット通信装置において、パケット送受信動作が原因となって、リブートが繰り返し発生する。【解決手段】          ハードウェアの初期化を行うＢＯＯＴ処理が実行され、次にメモリ上のファームウェアを読み込みＩＰルータとして動作を開始するシステム起動処理が実行されるＩＰルータ等のパケット通信装置において、上記ＢＯＯＴ処理とシステム起動処理の間に、リブートの発生頻度が所定値以上であれば、外部からファームウェアを受信し、セットアップを完了するよう動作させる。【選択図】  図１
2006172098.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアの初期化と不揮発性メモリに格納したソフトウェアの読み出しを行うリブート機能を備えるとともに、所定のサーバから前記不揮発性メモリに格納されるべきソフトウェアの転送を受けることが可能なパケット通信装置において、
所定の時間内のリブートの発生回数に基づいて、前記不揮発性メモリに格納されたソフトウェアの更新要否を判定し、更新指令を送出するリブート検出部と、
前記更新指令に基づいて、前記所定のサーバにアクセスし、前記不揮発性メモリに格納されたソフトウェアの更新処理を行うバージョンアップ処理部と、を備え、
リブート時に、ハードウェアの初期化後、前記ソフトウェアの更新を経てからソフトウェアの読み出し処理を行うこと、
を特徴とするパケット通信装置。
【請求項２】
所定のサーバから前記不揮発性メモリに格納されるべきソフトウェアの転送を受けることが可能なパケット通信装置におけるリブート方法であって、
ハードウェアの初期化を行うステップと、
少なくともリブートの発生時間を記録するステップと、
所定の時間内のリブートの発生回数が所定値を超えた場合に、前記所定のサーバにアクセスし、ソフトウェアの更新を行うステップと、
前記ソフトウェアの更新を行った場合は、そのセットアップが完了してから、前記ソフトウェアを用いてシステムを起動するステップと、を含むこと、
を特徴とするリブート方法。
【請求項３】
所定のサーバから前記不揮発性メモリに格納されるべきソフトウェアの転送を受けることが可能なパケット通信装置を構成するコンピュータに実行させるプログラムであって、
予め定めたリブート開始条件が成立した場合に、
ハードウェアの初期化を行う処理と、
少なくともリブートの発生時間を記録する処理と、
所定の時間内のリブートの発生回数が所定値を超えた場合に、前記所定のサーバにアクセスし、ソフトウェアの更新を行う処理と、
前記ソフトウェアの更新を行った場合は、そのセットアップが完了してから、前記ソフトウェアを用いてシステムを起動する処理と、の前記各処理を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの自動更新機能を備えたパケット通信装置、パケット通信装置におけるリブート（再起動；以下、リブートという）方法、及び、そのプログラムに関する。
【背景技術】
【０００２】
特許文献１に、重大な障害が発生した場合に、装置を自動でリブートを行うネットワーク間接続装置が紹介されている。このほかにも、ルータ等のパケット通信装置において、特定のパケット送受信処理を行うと、自動でリブートが行われるものがある。しかしながら、リブート原因が当該パケット送受信がソフトウェアによって行われるものである場合、リブートが繰り返される可能性があり、ソフトウェアの更新が必要である。また、特許文献２には、通信回線接続装置単体でファームウェアをバージョンアップできるようにした技術が記載されている。
【０００３】
【特許文献１】特開平１１−３５５２７４号公報
【特許文献２】特開２００１−２２５８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図４は、この種のパケット通信装置の不揮発性メモリの内部状態を表した図である。図５は、不揮発性メモリに書き込まれたソフトウェアで動作するパケット通信装置の電源ＯＮからシステム起動までの処理の流れを示したフローチャートである。図４に示されたとおり、不揮発性メモリには、ＢＯＯＴプログラム２１とソフトウェア２２が格納されている。
【０００５】
そして、図５に示された通り、電源がＯＮされると、不揮発性メモリ内のＢＯＯＴプログラム２１に制御が移され、ＢＯＯＴ処理が行われ、パケット通信装置内部のハードウェアが初期化される（ｓｔｅｐ１）。次いで、システム起動処理が行われ、不揮発性メモリの格納されたソフトウェア２２を読み出し、揮発性メモリにコピーし、制御が移される（ｓｔｅｐ２）。このプロセスを経て、当該パケット通信装置がそのソフトウェアに従ってルータ等として動作することになる。
【０００６】
上述したように、リブートがソフトウェア２２によるものである場合、ＢＯＯＴ処理後、再びソフトウェア２２に制御が移されることになり、リブート原因となったパケット送受信動作が行われて再びリブートする。リブートが繰り返し発生する状態に陥ると、パケット通信装置は正常動作をすることが不可能となる。このような状態から脱するには、不揮発性メモリ内のソフトウェア２２を、修正したソフトウェアにバージョンアップする必要がある。このバージョンアップは、まずＬＡＮケーブルを抜く等してリブート原因となったパケット送受信動作を停止させ、正常動作させ、パケット通信装置のコンソール等利用して、修正したソフトウェアを用意したパーソナルコンピュータを直接接続し、パーソナルコンピュータから、ソフトウェア２２を書き換えるという煩雑な作業を行う必要があった。
【０００７】
このようなパケット送受信をリブート原因とする場合、特許文献２に記載の技術を用いてソフトウェアのバージョンアップを行うとしても、上述の理由によりバージョンアップ制御部が正しく動作するかどうか保証されないうえ、バージョンアップ動作に入るために特定の操作を行わなければならないため、上記ソフトウェアに由来するリブートが繰り返し発生している状態に陥ったことを検知し、タイミングよくバージョンアップすることは至難であると考えられる。
【０００８】
また、リブート後その都度バージョンアップ動作を自動的に行うよう構成することも考えられるが、バージョンアップが必要なケースはむしろ少ないため、システムやトラヒックに余計な負荷をかけてしまうおそれがある。
【０００９】
また、異なるバージョンのソフトウェアをバックアップとしてメモリに保持しておき、リブートが発生した場合は、システム起動時、バックアップのソフトウェアに制御を移すことで、正常動作へ復旧させる方法もあるが、その分余分にメモリが必要となってしまう。
【００１０】
本発明は、上記した事情に鑑みてなされたものであって、上記ソフトウェアに由来するリブート処理が繰り返し行われることを抑止するための自動更新機能を備えたパケット通信装置、パケット通信装置におけるリブート方法、及び、そのようなリブート処理を実施せるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の視点によれば、ハードウェアの初期化と不揮発性メモリに格納したソフトウェアの読み出しを行うリブート機能を備えるとともに、所定のサーバから前記不揮発性メモリに格納されるべきソフトウェアの転送を受けることが可能なパケット通信装置において、上記したリブートの反復状態を検出し、ソフトウェアの自動更新機能を起動することのできるパケット通信装置が提供される。即ち、前記パケット通信装置は、所定の時間内のリブートの発生回数に基づいて、前記不揮発性メモリに格納されたソフトウェアの更新要否を判定し、更新指令を送出するリブート検出部と、前記更新指令に基づいて、前記所定のサーバにアクセスし、前記不揮発性メモリに格納されたソフトウェアの更新処理を行うバージョンアップ処理部と、を備え、リブート時に、ハードウェアの初期化後、前記ソフトウェアの更新を経てからソフトウェアの読み出し処理を行うよう構成される。
【００１２】
また、本発明の第２の視点によれば、所定のサーバから前記不揮発性メモリに格納されるべきソフトウェアの転送を受けることが可能なパケット通信装置におけるリブート方法であって、上記したリブートの反復状態に応じてソフトウェアの更新要否を判断し、ソフトウェアのバージョンアップを行うこととしたリブート方法が提供される。この方法は、まず、リブート動作時に、パケット通信装置は、ハードウェアの初期化を行い、少なくともリブートの発生時間を記録する。ここで、所定の時間内のリブートの発生回数が所定値を超えた場合に、パケット通信装置は、前記所定のサーバにアクセスし、ソフトウェアの更新を行う。そして、前記ソフトウェアの更新を行った場合は、パケット通信装置は、そのセットアップが完了してから、前記ソフトウェアを用いてシステムを起動する。
【００１３】
また、本発明の第３の視点によれば、コンピュータに読み込ませることによって、上記したリブート方法を実行するパケット通信装置を構成することのできるプログラムが提供される。
【発明の効果】
【００１４】
本発明によれば、上述したパケット送受信動作とソフトウェアに由来するリブート処理が行われることのあるパケット通信装置において、原因となったパケットを排除することなく、リブート処理が反復して行われ正常動作できなくなる状態の発生を抑止することが可能となる。
【発明を実施するための最良の形態】
【００１５】
続いて、本発明を実施するための最良の形態として、本発明をＩＰルータ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｒｏｕｔｅｒ）に適用した例を挙げて説明する。図１は、本発明の一実施の形態に係るＩＰルータ装置１の構成を表した図である。図１を参照すると、ＩＰルータ１は、ＩＰネットワークを介して、ＰＣ（パーソナルコンピュータ）９と接続されている。
【００１６】
ＩＰルータ１は、ＩＰルータ１内部のハードウェアの初期化を行うＢＯＯＴ処理部２と、リブート検出部３と、バージョンアップ処理部４と、ＩＰパケット処理部５と、インターフェース部６と、システム部７と、不揮発性メモリ８とを備えている。
【００１７】
リブート検出部３は、後述する方法により、不揮発性メモリ８に格納されているリブート時刻とリブート回数を確認し、バージョンアップが必要かどうか判断する。
【００１８】
バージョンアップ処理部４は、ＩＰレイヤ上で動作するファイル転送用プロトコルを使用して、ソフトウェアファイルを取得し、不揮発性メモリ８に書き込む。
【００１９】
ＩＰパケット処理部５は、バージョンアップ処理部４やシステム部７からの要求に従って、ＩＰパケットを、インターフェース部６を通じてＩＰネットワークと送受信する。また、ＩＰパケット処理部５は、ＩＰパケットを受信した場合、データの種類を判断し、所定のソフトウェアデータであればバージョンアップ処理部４にデータを渡し、それ以外であればデータを廃棄する。
【００２０】
インターフェース部６は、ＩＰパケット処理部５を、ＩＰネットワークに接続する。システム部７は、不揮発性メモリ８からソフトウェアを読み込み、ＩＰルータとしての動作を行う。また、リブートが発生した場合は、システム部７は、発生時刻と発生回数を不揮発性メモリ８に格納する。
【００２１】
不揮発性メモリ８は、ＢＯＯＴプログラム、ソフトウェア、リブート時間とリブート回数を格納する不揮発性メモリである。
【００２２】
ＰＣ９は、ＩＰルータ１のソフトウェアを保持しており、ファイル転送サーバとして動作し、ファイル転送用プロトコルを使用して、ＩＰルータ１宛に送信可能となっている。
【００２３】
続いて、ＩＰルータ１の、リブート時のＢＯＯＴ処理からシステム起動まので動作を、図１ないし図３を用いて説明する。
【００２４】
図２は、ＩＰルータ１の電源ＯＮからシステム起動までの処理の流れを示したフローチャートである。まず、ＢＯＯＴ処理部２は、従来のＩＰルータと同様なＢＯＯＴ処理（所定のハードウェアの初期化）を行う（ｓｔｅｐ１）。
【００２５】
続いて、リブート検出部３は、不揮発性メモリ８に格納されているリブート時刻及びリブート回数を確認し、予め設定された時間内に、予め設定された回数のリブートが発生しているかを確認する（ｓｔｅｐ２）。
【００２６】
図３は、リブート検出部３が参照するリブート時刻とリブート回数の例を示している。図３を参照すると、一回目のリブートは時刻Ｔ１、二回目のリブートは時刻Ｔ２に発生したことがわかる。ここで、あらかじめ設定された時間Ｔ内に、予め設定されたＮ回数リブートが発生した場合、リブート検出部３は、ソフトウェアの更新が必要であると判断する。なお、図３に示すリブート時間とリブート回数の格納は、パケットの送受信動作等のリブート要因が発生した時に、システム部７（ソフトウェア）が記録するものとする。
【００２７】
リブート検出部３は、時間Ｔ内にＮ回数のリブートが発生したことを検出し、ソフトウェアの更新が必要であると判断したら、バージョンアップ処理部４に対して、ソフトウェアの更新が必要であることを通知する（ｓｔｅｐ２の要）。
【００２８】
リブート検出部３からソフトウェア更新を通知されたバージョンアップ処理部４は、ＰＣ９のＩＰアドレスとソフトウェアのファイル名を指定し、使用するファイル転送用プロトコルに従ったソフトウェアの取得要求を、ＩＰパケット処理部５に対して送信する。なお、ＰＣ９のＩＰアドレスとソフトウェアファイル名は、予め設定されているものとする（ｓｔｅｐ３）。
【００２９】
ＩＰパケット処理部５は、ソフトウェアの取得要求を受けると、インターフェース部６、ＩＰネットワークを経由してソフトウェア取得要求をＰＣ９へ送信する。
【００３０】
ＰＣ９は、所定のファイル転送プロトコルに従ったソフトウェアの取得要求を受けると、取得要求で指定されたソフトウェアを前記所定のファイル転送プロトコルを使用して、要求元のＩＰルータ１に対して送信する。送信されたソフトウェアは、ＩＰネットワーク、インターフェース部６、ＩＰパケット処理部５を経由してバージョンアップ処理部４で受信される。
【００３１】
バージョンアップ処理部４は、ソフトウェアの受信が完了すると、不揮発性メモリ８内のソフトウェアを更新する。
【００３２】
システム部７では、不揮発性メモリ８内のソフトウェアを読み込み、ＩＰルータとしての動作を開始する（ｓｔｅｐ４）。
【００３３】
以上の様に、ＩＰルータ１が送受信動作を行ってリブートする原因となったＩＰパケットをＩＰネットワーク上から排除すること無く、バグを修正したソフトウェアにバージョンアップすることができる。これは、バグが存在するソフトウェアを読み込んでシステムが起動する前の段階で、ネットワーク上のＰＣ９からバグを修正したソフトウェアを取得し、自動的なバージョンアップを可能としたからである。
【００３４】
また、上述の説明からも明らかなように、システム起動時に読み込まれるソフトウェアのバックアップとして異なるバージョンのものを複数不揮発性メモリ上に用意する必要はなくなり、用意するメモリ容量も小さく出来る。本発明によれば、バージョンアップに必要な最低限の機能のみを実行可能なプログラムをそのメモリに格納すれば足り、バージョンの異なるソフトウェアよりも小さな容量に抑えることができるからである。
【００３５】
なお、ファイル転送プロトコルとしては、ＴＦＴＰ（Ｔｒｉｖｉａｌ  Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を好ましく使用することができるが、他のプロトコルを使用することも可能である。
【００３６】
また、上記した実施の形態では、本発明をＩＰルータに適用した例を挙げて説明したが、その他のルータ、ゲートウェイ装置などのパケット通信装置にも適用可能である。
【００３７】
また、本発明のパケット通信装置の各機能は、パケット通信装置を構成するコンピュータのハードウェア資源、及び、これを利用するプログラムとして構成することが可能である。
【００３８】
以上、本発明の実施の形態を説明したが、本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、ＢＯＯＴ処理とシステム起動処理の間に、ソフトウェアの更新要否を自動判定し、ソフトウェアのセットアップを完了するという本発明の要旨を逸脱しない範囲で、各種の変形・置換をなしうることが可能であることはいうまでもない。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施の形態の構成を表した図である。
【図２】本発明の一実施の形態に動作を表したフローチャートである。
【図３】不揮発性メモリに格納されるリブート時刻及びリブート回数の一例を表した図である。
【図４】従来のパケット通信装置の不揮発性メモリの内部状態を表した図である。
【図５】不揮発性メモリに書き込まれたソフトウェアで動作するパケット通信装置の電源ＯＮからシステム起動までの処理の流れを示したフローチャートである。
【符号の説明】
【００４０】
１  ＩＰルータ
２  ＢＯＯＴ処理部
３  リブート検出部
４  バージョンアップ処理部
５  ＩＰパケット処理部
６  インターフェース部
７  システム部
８  不揮発性メモリ
９  ＰＣ（パーソナルコンピュータ）
【図１】
2006172098.tif 000003
【図２】
2006172098.tif 000004
【図３】
2006172098.tif 000005
【図４】
2006172098.tif 000006
【図５】
2006172098.tif 000007