(57)【特許請求の範囲】
【請求項１】
ネットワークに接続される一つ以上の通信インタフェースと、前記一つ以上の通信インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を有し、
パケットの最終宛先と次の転送先との複数の組を含む経路情報と、前記経路情報の各組を適用する条件と、を保持し、
受信したパケットに含まれる情報に基づいて、前記受信したパケットが前記経路情報の各組を適用する条件を満たすか否かを判定し、
満たされると判定された前記条件に対応し、かつ、前記受信したパケットに含まれる最終宛先情報と一致する前記パケットの最終宛先を含む一つ以上の前記経路情報の組に含まれる一つ以上の前記次の転送先に、前記受信したパケットを転送し、
前記経路情報の各組を適用する条件は、前記経路情報の各組の有効期間であり、
前記受信したパケットに含まれる時刻情報が、前記経路情報の各組の有効期間内の時刻を示す場合、前記受信したパケットが前記経路情報の各組を適用する条件を満たすと判定することを特徴とするパケット中継装置。
【請求項２】
請求項１に記載のパケット中継装置であって、
前記受信したパケットに時刻情報が含まれない場合、新たな時刻情報を、前記受信したパケットに含まれるように追加し、
前記受信したパケットに含まれる時刻情報を変更せずに、前記受信したパケットを前記一つ以上の次の転送先に転送することを特徴とするパケット中継装置。
【請求項３】
パケット中継装置が実行するパケット転送方法であって、
前記パケット中継装置は、
ネットワークに接続される一つ以上の通信インタフェースと、前記一つ以上の通信インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を有し、
パケットの最終宛先と次の転送先との複数の組を含む経路情報と、前記経路情報の各組を適用する条件と、を保持し、
前記転送方法は、
受信したパケットに含まれる情報に基づいて、前記受信したパケットが前記経路情報の各組を適用する条件を満たすか否かを判定する第１手順と、
満たされると判定された前記条件に対応し、かつ、前記受信したパケットに含まれる最終宛先情報と一致する前記パケットの最終宛先を含む一つ以上の前記経路情報の組に含まれる一つ以上の前記次の転送先に、前記受信したパケットを転送する第２手順と、を含み、
前記経路情報の各組を適用する条件は、前記経路情報の各組の有効期間であり、
前記第１手順において、前記パケット中継装置は、前記受信したパケットに含まれる時刻情報が、前記経路情報の各組の有効期間内の時刻を示す場合、前記受信したパケットが前記経路情報の各組を適用する条件を満たすと判定することを特徴とするパケット転送方法。
【請求項４】
請求項３に記載のパケット転送方法であって、
前記受信したパケットに時刻情報が含まれない場合、新たな時刻情報を、前記受信したパケットに含まれるように追加する第３手順をさらに含み、
前記第２手順において、前記パケット中継装置は、前記受信したパケットに含まれる時刻情報を変更せずに、前記受信したパケットを前記一つ以上の次の転送先に転送することを特徴とするパケット転送方法。
【請求項５】
複数のパケット中継装置と、ネットワークを介して各々がいずれかの前記パケット中継装置に接続される複数の通信装置と、を有する通信システムであって、
前記各パケット中継装置は、
パケットの最終宛先と次の転送先との複数の組を含む経路情報と、前記経路情報の各組を適用する条件とを、前記複数のパケット中継装置が保持する同一の前記条件に対応する前記経路情報の組が互いに整合するように保持し、
受信したパケットに含まれる情報に基づいて、前記受信したパケットが前記経路情報の各組を適用する条件を満たすか否かを判定し、
満たされると判定された前記条件に対応し、かつ、前記受信したパケットに含まれる最終宛先情報と一致する前記パケットの最終宛先を含む一つ以上の前記経路情報の組に含まれる一つ以上の前記次の転送先に、前記受信したパケットを転送し、
前記経路情報の各組を適用する条件は、前記経路情報の各組の有効期間であり、
前記各パケット中継装置は、前記受信したパケットに含まれる時刻情報が、前記経路情報の各組の有効期間内の時刻を示す場合、前記受信したパケットが前記経路情報の各組を適用する条件を満たすと判定することを特徴とする通信システム。
【請求項６】
請求項５に記載の通信システムであって、
前記各通信装置は、時刻情報を含むパケットを、前記各通信装置に接続されたパケット中継装置に送信し、
前記各パケット中継装置は、前記通信装置又は他の前記パケット中継装置から受信したパケットに含まれる時刻情報を変更せずに、前記受信したパケットを前記一つ以上の次の転送先に転送することを特徴とする通信システム。
【請求項７】
請求項５に記載の通信システムであって、
前記各通信装置は、時刻情報を含まないパケットを、前記各通信装置に接続されたパケット中継装置に送信し、
前記各通信装置から前記パケットを受信した前記パケット中継装置は、前記受信したパケットに新たな時刻情報を追加し、前記追加した時刻情報を含む前記受信したパケットを前記一つ以上の次の転送先に転送し、
他の前記パケット中継装置から前記追加した時刻情報を含むパケットを受信した前記パケット中継装置は、前記受信したパケットに含まれる時刻情報を変更せずに、前記受信したパケットを前記一つ以上の次の転送先に転送することを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は広域ネットワークシステムにおけるパケットのルーティング技術に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２０００−２０９２７１号公報（特許文献１）及び“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ”、［ｏｎｌｉｎｅ］、２０１１年２月２８日、Ｏｐｅｎ  Ｎｅｔｗｏｒｋｉｎｇ  Ｆｏｕｎｄａｔｉｏｎ、平成２４年１０月１６日検索、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．１．０．ｐｄｆ＞（非特許文献１）がある。【０００３】
特許文献１には、中継装置が経路テーブルを複数保持しておき、障害が発生したタイミングで経路テーブルを切り替える方法が記載されている（段落［００１３］及び［００１５］等参照）。【０００４】
非特許文献１には、中継装置の経路情報が中継装置とは別のコントローラによって管理され、そのコントローラが経路情報の更新用メッセージを中継装置に送信することによって、各中継装置の経路テーブルを更新する方法が記載されている（Ｐ３  Ｆｉｇｕｒｅ  １及びＰ２４  Ａｐｐｅｎｄｉｘ  Ａ等参照）。
【先行技術文献】
【特許文献】
【０００５】
特許文献１：特開２０００−２０９２７１号公報
【非特許文献】
【０００６】
非特許文献１：“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ”、［ｏｎｌｉｎｅ］、２０１１年２月２８日、Ｏｐｅｎ  Ｎｅｔｗｏｒｋｉｎｇ  Ｆｏｕｎｄａｔｉｏｎ、平成２４年１０月１６日検索、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．１．０．ｐｄｆ＞  Ｐ３  Ｆｉｇｕｒｅ  １、及びＰ２４  Ａｐｐｅｎｄｉｘ  Ａ等
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年の情報通信技術の進展によって、フィールドに分散した多数の通信端末から構成される大規模かつ広域な通信システムが増加している。大規模な通信システムでは、通常はＥｎｄ−ｔｏ−Ｅｎｄの通信経路の途中に複数の中継装置が存在するネットワーク構成となっており、各中継装置は、事前に設定された経路テーブルに従って通信パケットを順次転送することによって、通信端末間の通信を実現している。【０００８】
このような通信システムの一般的な課題として、中継装置の経路テーブルの一斉更新がある。例えば、ネットワークまたは中継装置の故障などのネットワーク障害時に、障害箇所を避けるように経路を設定しなおす必要がある。また、通信端末の新規に追加したり、通信端末の交換などでアドレス情報が更新された場合などに、経路テーブルの情報の追加または更新が必要となる。【０００９】
上記の課題に対し、特許文献１および非特許文献１は、経路テーブルの切り替え及び更新を実現する方法を開示している。しかしながら、上記の文献に開示された技術では、各中継装置の経路テーブルが切り替わるタイミングの前後に送信されたパケットを正しく転送できない可能性がある。例えば、送信端末がパケットを送信したときに、そのパケットが最初に到達した中継端末は切り替え前の経路テーブルに従ってパケットを転送したものの、そのパケットが次の中継装置に到達した時点では経路テーブルが切り替わってしまったために、パケットがロストしたり、本来の想定外の装置に転送されることが起こり得る。中継装置間でのパケットの伝達にかかる時間はゼロより大きいため、仮に全ての中継装置が完全に同期して経路テーブルを切り替えたとしてもこの問題は避けられない。【００１０】
本発明は上記の課題に鑑みてなされたものであり、任意のタイミングで送信したパケットに対して、中継装置の経路情報に矛盾が生じることがなく、正しく最終宛先に配送可能な通信システムを実現することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明のパケット中継装置は、ネットワークに接続される一つ以上の通信インタフェースと、前記一つ以上の通信インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を有し、パケットの最終宛先と次の転送先との複数の組を含む経路情報と、前記経路情報の各組を適用する条件と、を保持し、受信したパケットに含まれる情報に基づいて、前記受信したパケットが前記経路情報の各組を適用する条件を満たすか否かを判定し、満たされると判定された前記条件に対応し、かつ、前記受信したパケットに含まれる最終宛先情報と一致する前記パケットの最終宛先を含む一つ以上の前記経路情報の組に含まれる一つ以上の前記次の転送先に、前記受信したパケットを転送し、前記経路情報の各組を適用する条件は、前記経路情報の各組の有効期間であり、前記受信したパケットに含まれる時刻情報が、前記経路情報の各組の有効期間内の時刻を示す場合、前記受信したパケットが前記経路情報の各組を適用する条件を満たすと判定する。
【発明の効果】
【００１２】
本発明の一実施形態によれば、任意のタイミングで送信したパケットに対して、中継装置の経路情報に矛盾が生じることがなく、正しく最終宛先に配送可能な通信システムを実現できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態における中継装置を適用したシステム構成例を示すブロック図である。
【図２】本発明の実施形態の中継装置の機能構成を示すブロック図である。
【図３】本発明の実施形態の中継装置のハードウェア構成を示すブロック図である。
【図４】本発明の実施形態の経路テーブル有効期間管理テーブルの説明図である。
【図５Ａ】本発明の実施形態の第１の経路テーブルの説明図である。
【図５Ｂ】本発明の実施形態の第２の経路テーブルの説明図である。
【図６】本発明の実施形態の通信装置間でやりとりされる業務パケットの説明図である。
【図７】本発明の実施形態の中継装置が受信した業務メッセージを転送する処理を示すシーケンス図である。
【図８】本発明の実施形態の経路テーブル管理サーバが中継装置の経路テーブルを新規に登録する処理を示すシーケンス図である。
【図９】本発明の実施形態の中継装置がパケットを受信した場合に実行する処理の全体を示すフローチャートである。
【図１０】本発明の実施形態の中継装置が実行する転送処理を示すフローチャートである。
【図１１】本発明の実施形態の中継装置が実行する経路テーブル更新処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
次に、本発明を実施するための形態（以降、「本実施形態」と称す。）について、適宜図面を参照しながら詳細に説明する。
【００１５】
（全体システム構成）
本実施形態における中継装置を適用したシステム構成例について、図１を用いて説明する。
【００１６】
図１は、通信装置Ａ１０１、通信装置Ｂ１０２、および通信装置Ｃ１０３が相互に業務メッセージを送受信するシステムの構成例である。通信装置Ａ１０１〜通信装置Ｃ１０３は、通信を行うアプリケーションが動作する通信端末であり、例えばサーバ、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）または制御コントローラなどである。図１に示すように、通信装置Ａ１０１は、業務用ネットワークａ１０８を介して中継装置１＿１０４と接続されている。中継装置１＿１０４は、業務用ネットワークｂ１０９を介して、中継装置２＿１０５および中継装置３＿１０６と接続されている。中継装置２＿１０５は、業務用ネットワークｃ１１０を介して、通信装置Ｂ１０２および中継装置４＿１０７と接続されており、中継装置ｃ１０６は、業務用ネットワークｄ１１１を介して、通信装置Ｃ１０３および中継装置４＿１０７と接続されている。また、中継装置１＿１０４〜中継装置４＿１０７は、管理用のネットワークｅ１１２を介して経路テーブル管理サーバ１１３と接続されている。
【００１７】
中継装置１＿１０４〜中継装置４＿１０７は、各装置内の経路テーブルに記載されている転送ルールに従って、業務メッセージを転送する機能を有している。例えば中継装置１＿１０４は、通信装置Ａ１０１から送信された業務メッセージを中継装置２＿１０５または中継装置３  １０６に転送し、中継装置２＿１０５または中継装置３＿１０６から転送されてきた、通信装置Ｂ１０２または通信装置Ｃ１０３からの業務メッセージを通信装置Ａ１０１に転送する。経路テーブル等、中継装置の機能の詳細については後段にて説明する。
【００１８】
経路テーブル管理サーバ１１３は、中継装置１＿１０４〜中継装置４＿１０７の経路テーブルの操作（追加、更新および削除）を行うサーバであり、管理用ネットワークｅ１１２を介して経路テーブルを操作するための各種管理用メッセージを中継装置に送信する。
【００１９】
業務用ネットワークａ１０８〜業務用ネットワークｄ１１１は、通信装置Ａ１０１〜通信装置Ｃ１０３が業務メッセージをやり取りするためのネットワークである。各ネットワークは、ＶＬＡＮまたはネットワークセグメントなどのように論理的に区切られていてもよいし、光または電波などのように異なる媒体を用いるネットワークに物理的に区切られていてもよい。管理用ネットワークｅ１１２は、経路テーブル管理サーバ１１３および中継装置１＿１０４〜中継装置４＿１０７が経路テーブルを操作するための管理用メッセージをやり取りするためのネットワークである。なお、ここでは業務用ネットワークと管理用ネットワークを別々のネットワークとして扱っているが、これらのネットワークを統合し、業務用メッセージと管理用メッセージを同一の統合したネットワーク上に流してもよい。また、本実施形態では、業務用ネットワークおよび管理用ネットワークをＩＰ網として説明するが、それ以外のいかなる種類のネットワークが用いられてもよい。通信に用いる信号は、例えば、電気、光、電波、音等のいずれかまたはそれらの組み合わせであってもよい。
【００２０】
（中継装置の構成）
次に、中継装置１＿１０４の機能構成について図２を用いて説明する。
【００２１】
中継装置１＿１０４は、ネットワークインタフェース（ＮＩＣ）２０１〜ＮＩＣ２０３、パケット送受信処理部２０４、転送先アドレス解決部２０５、タイムスタンプ生成部２０６、経路テーブル管理部２０７、テーブル管理パケット処理部２０８、経路テーブル有効期間管理テーブル２０９、および複数の経路テーブル２１０を備えている。
【００２２】
ＮＩＣ２０１は、管理用ネットワークｅ１１２と中継装置１＿１０４とのインタフェースであり、管理用ネットワークｅ１１２から受信した通信パケットをテーブル管理パケット処理部２０８に渡したり、テーブル管理パケット処理部２０８から渡された通信パケットを管理用ネットワークｅ１１２に送信する。
【００２３】
ＮＩＣ２０２およびＮＩＣ２０３は、業務用ネットワークａ１０８および業務用ネットワークｂ１０９と中継装置１＿１０４とのインタフェースであり、業務用ネットワークａ１０８または業務用ネットワークｂ１０９から受信した通信パケットをパケット送受信処理部２０４に渡したり、パケット送受信処理部２０４から渡された通信パケットを業務用ネットワークａ１０８または業務用ネットワークｂ１０９に送信する。
【００２４】
パケット送受信処理部２０４は、ＮＩＣ２０２またはＮＩＣ２０３から渡された受信パケットから業務用メッセージを再構築したり、業務用メッセージから送信パケットを作成してＮＩＣ２０２またはＮＩＣ２０３に渡す。また、パケット送受信処理部２０４は、送信パケットを作成する際、タイムスタンプ生成部２０６または転送先アドレス解決部２０５から送信パケット作成に必要なタイムスタンプまたは転送先アドレス情報を取得する。これら転送処理の詳細シーケンスについては後段にて説明する。
【００２５】
転送先アドレス解決部２０５は、パケット送受信処理部２０４から渡されるタイムスタンプおよび受信パケットのアドレス情報に基づいて、経路テーブル管理部２０７から転送先アドレス情報を取得する。
【００２６】
タイムスタンプ生成部２０６は、受信パケットにタイムスタンプが含まれていない場合に、受信時点の中継装置１＿１０４のタイムスタンプを取得してパケット送受信処理部２０４に渡す。
【００２７】
経路テーブル管理部２０７は、中継装置１＿１０４内に格納している経路テーブル有効期間管理テーブル２０９および経路テーブル２１０を管理している。そして経路テーブル管理部２０７は、転送先アドレス解決部２０５の要求に応じて、経路テーブル有効期間管理テーブル２０９を参照してタイムスタンプ情報をキーに有効な経路テーブルを検索したり、経路テーブル２１０を参照して受信パケットのアドレス情報をキーに転送先アドレス情報を検索する。また経路テーブル管理部２０７は、テーブル管理パケット処理部２０８からの要求に応じて、経路テーブル有効期間管理テーブル２０９および経路テーブル２１０の追加、更新、削除を行う。
【００２８】
テーブル管理パケット処理部２０８は、ＮＩＣ２０１から渡された受信パケットから経路テーブルの管理用メッセージを再構築し、管理用メッセージの内容に応じて経路テーブル管理部２０７に経路テーブルの追加、更新、削除要求を行い、その結果を送信パケットに格納してＮＩＣ２０１に渡す。
【００２９】
経路テーブル有効期間管理テーブル２０９は、中継装置１＿１０４内に格納されている経路テーブル２１０の有効期間を管理するためのテーブルである。経路テーブル管理部２０７が本テーブルを参照することによって、ある時刻において有効な経路テーブルが特定される。テーブル構成の詳細は後段にて説明する。
【００３０】
各経路テーブル２１０は、転送先アドレスを管理するテーブルである。各経路テーブル２１０にはそれぞれ有効期間が設定されており、経路テーブル管理部２０７は受信パケットのタイムスタンプを元に有効な経路テーブル２１０を選択し、転送先アドレスを取得する。テーブル構成の詳細は後段にて説明する。
【００３１】
（中継装置のハードウェア構成）
次に、中継装置１＿１０４のハードウェア構成について、図３を用いて説明する（適宜、図２参照）。
【００３２】
中継装置１＿１０４は、各種処理を行うホストＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１、ホストメモリ３０２、周辺Ｉ／Ｆ３０３、記憶装置３０４、通信Ｉ／Ｆ３０５、およびバス３０６から構成される。そして、ホストＣＰＵ３０１、ホストメモリ３０２、周辺Ｉ／Ｆ３１０、記憶装置３０４、および通信Ｉ／Ｆ３０５は、バス３０６を介して通信可能に接続されている。
【００３３】
ホストＣＰＵ３０１は、プログラムを実行する。
【００３４】
ホストメモリ３０２は、ホストＣＰＵ３０１がプログラムを実行する際に、ワーキングメモリおよび入出力データの一時バッファとして用いられる。
【００３５】
周辺Ｉ／Ｆ３０３は、中継装置１＿１０４を、マウス、キーボードおよびモニタ等の入出力装置、並びに、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等の外部ストレージ等の各種周辺機器、と接続するためのインタフェースである。
【００３６】
記憶装置３０４は、磁気ディスク装置、またはフラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等から構成され、ＯＳ、各種ドライバ、各種アプリケーションプログラム、および、プログラムで使用される各種情報（例えば、管理者または保守者によって設定される情報等）を格納している。
【００３７】
本実施形態の中継装置１＿１０４の記憶装置３０４は、経路テーブル有効期間管理テーブル２０９および複数の経路テーブル２１０を格納する。また、パケット送受信処理部２０４、転送先アドレス解決部２０５、タイムスタンプ生成部２０６、経路テーブル管理部２０７およびテーブル管理パケット処理部２０８は、ホストＣＰＵ３０１が記憶装置３０４に格納されたプログラムを実行することによって実現される。以下の説明において上記の各部が実行する処理は、実際にはホストＣＰＵ３０１によって実行される。
【００３８】
また、上記の各部の機能の一部又は全部が、汎用のホストＣＰＵがプログラムを実行することによって実現される代わりに、専用のハードウェアによって実現されてもよい。
【００３９】
通信Ｉ／Ｆ３０５〜通信Ｉ／Ｆ３０７は、中継装置１＿１０４が業務用ネットワークまたは管理用ネットワークを介して通信装置、他の中継装置または経路テーブル管理サーバ等と通信を行う際のインタフェースを提供する。通信Ｉ／Ｆ３０５は、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）であってもよい。なお、図３では通信Ｉ／Ｆ３０５を３つしか記載していないが、中継装置１＿１０４は、通信Ｉ／Ｆ３０５を２つ以下または４つ以上有してもよい。
【００４０】
中継装置２＿１０５、中継装置３＿１０６および中継装置４＿１０７の機能構成およびハードウェア構成は、中継装置１＿１０４と同様であってよいため、それらに関する説明を省略する。
【００４１】
（経路テーブル有効期間管理テーブル）
次に、経路テーブル有効期間管理テーブル２０９に格納される情報について、図４を用いて説明する。
【００４２】
経路テーブル有効期間管理テーブル２０９は、経路テーブル番号４０１、有効期間（開始）４０２および有効期間（終了）４０３を格納している。なお、本テーブルの情報は、中継装置１＿１０４の管理者もしくは保守者等によって出荷時にあらかじめ設定されるか、または経路テーブル管理サーバ１１３から管理用ネットワークｅ１１２経由で配布される。
【００４３】
経路テーブル番号４０１の列は、中継装置１＿１０４内で保持している複数の経路テーブル２１０を一意に識別するためのＩＤを格納している領域である。有効期間（開始）４０２の列は、各経路テーブルの有効期間の開始日時を格納している領域である。有効期間（終了）４０３の列は、各経路テーブルの有効期間の終了日時を格納している領域である。有効期間は、ある特定の日時から日時までの期間を表現するだけでなく、アスタリスク（＊）表記およびカンマ（，）を用いることで複数の期間または周期的な期間を表現することも可能である。
【００４４】
例えば行４０４は、経路テーブル番号「１」の経路テーブル２１０が、２０００年１月１日〜２００４年１２月３１日までの５年間有効であり、行４０５は、経路テーブル番号「２」の経路テーブル２１０が、２００５年１月１日〜２００９年１２月３１日までの５年間有効であることを表している。また、例えば行４０６は、経路テーブル番号「３」の経路テーブル２１０が、２０１０年１月１日の１３時から１４時までの時間帯と、２０１０年１月２日の１３時から１４時までの時間帯に有効であることを表している。また、例えば行４０７は、経路テーブル番号「４」の経路テーブル２１０が、毎日８時〜１０時の時間帯に有効であることを表している。
【００４５】
なお、ここでは理解しやすいように年月日およびミリ秒単位の表記を用いているが、μ秒以下の時間を表記したり、曜日で表記したり、正規表現または数式等で複雑なルールを表現してもよい。
【００４６】
（経路テーブル）
次に、経路テーブル２１０に格納される情報について、図５Ａおよび図５Ｂを用いて説明する。
【００４７】
経路テーブル＃１＿２１０−１（図５Ａ）および経路テーブル＃２＿２１０−２（図５Ｂ）は、中継装置１＿１０４が保持する２つの経路テーブル２１０の例であり、それぞれの経路テーブル番号は「１」および「２」である。これらの経路テーブル番号は、経路テーブル有効期間管理テーブル２０９の経路テーブル番号４０１に対応する。
【００４８】
各経路テーブル２１０は、経路番号５０１、転送元アドレス５０２、送信先最終アドレス５０３および転送先アドレス５０４を格納している。なお、本テーブルの情報は、中継装置１＿１０４の管理者もしくは保守者等によって出荷時にあらかじめ設定されるか、または経路テーブル管理サーバ１１３から管理用ネットワークｅ１１２経由で配布される。
【００４９】
経路番号５０１の列は、経路テーブルの各転送ルール（すなわち受信パケットのアドレス情報と転送先アドレスとの対応付け）を一意に識別するためのＩＤを格納している領域である。この例では、経路番号５０１は、中継装置内で一意になるように割り当てられ、各中継装置は受信パケットのアドレス情報をキーにして転送先アドレスを検索するが、例えば経路番号をシステム全体で一意になるように割り当てて、転送するパケット内に経路番号を埋め込み、各中継装置が経路番号をキーにして転送先アドレスを検索してもよい。
【００５０】
転送元アドレス５０２の列は、受信パケットの転送元装置のアドレス情報を格納している領域である。この転送元装置は、中継装置１＿１０４と直接通信を行う装置であり、図１の例では通信装置Ａ１０１か、中継装置２＿１０５か、中継装置３＿１０６である。ここではアドレス情報としてＩＰアドレスを記載しているが、ポート番号を追加してもよいし、ＩＰアドレスの代わりにＭＡＣアドレスまたは独自に割り当てたノードＩＤなど、転送元を一意に識別する別の情報を用いてもよい。
【００５１】
送信先最終アドレス５０３の列は、受信パケットの最終あて先を示すアドレス情報を格納している領域である。ここではアドレス情報としてＩＰアドレスを記載しているが、ポート番号を追加してもよいし、ＩＰアドレスの代わりにＭＡＣアドレスまたは独自に割り当てたノードＩＤなど、最終あて先を一意に識別する別の情報を用いてもよい。
【００５２】
転送先アドレス５０４の列は、次の転送先を示すアドレス情報を格納している領域である。ここではアドレス情報としてＩＰアドレスを記載しているが、ポート番号を追加してもよいし、ＩＰアドレスの代わりにＭＡＣアドレスまたは独自に割り当てたノードＩＤなど、転送先を一意に識別する別の情報を用いてもよい。
【００５３】
例えば経路テーブル＃１の行５０５は、中継装置１＿１０４が通信装置Ａ１０１から通信装置Ｂ１０２宛のパケットを受信した場合、そのパケットを中継装置２＿１０５に転送することを表しており、行５０６は、転送元にかかわらず、中継装置１＿１０４が通信装置Ｃ１０３宛のパケットを受信した場合、そのパケットを中継装置３＿１０６に転送することを表している。また、経路テーブル＃２の行５０７は、行５０５と同じように中継装置１＿１０４が通信装置Ａ１０１から通信装置Ｂ１０２宛のパケットを受信した場合でも、そのパケットを中継装置３＿１０６に転送することを表している。このように中継装置１＿１０４が異なる経路情報を保持して切り替えることによって、例えば、中継装置２＿１０５が正常に動作している場合は経路テーブル＃１を有効としておき、中継装置２＿１０５に障害が発生した場合に経路テーブル＃２を有効にして正常に通信装置Ｂ１０２にパケットを届けることが可能となる。
【００５４】
なお、本実施形態の中継装置１＿１０４は、少なくとも、送信先最終アドレスと、転送先アドレスと、それらの組み合わせの有効期間と、を対応付ける情報を保持する必要がある。図４、図５Ａおよび図５Ｂに示したテーブルはそのような情報の一例に過ぎず、これらのテーブルは上記の情報を含む別の形態のテーブルまたは任意の形式のデータによって置き換えることもできる。
【００５５】
例えば、中継装置１＿１０４が経路テーブル有効期間管理テーブル２０９を保持せず、一つの経路テーブル２１０のみを保持し、その経路テーブル２１０の各行が有効期間に関する情報をさらに含んでもよい。具体的には、例えば、一つの経路テーブル２１０が行５０５、５０６および５０７を含み、行５０５は、２０００年１月１日から２００４年１２月３１日までの有効期間を示す情報をさらに含み、行５０６は、２０００年１月１日から２００９年１２月３１日までの有効期間を示す情報をさらに含み、行５０７は、２００５年１月１日から２００９年１２月３１日までの有効期間を示す情報をさらに含んでもよい。
【００５６】
中継装置２＿１０５、中継装置３＿１０６および中継装置４＿１０７も、経路テーブル有効期間管理テーブルおよび複数の経路テーブルを保持する。それらのテーブルの構造は図４、図５Ａおよび図５Ｂに示したものと同様であってよいため、それらに関する図示および詳細な説明を省略する。ただし、それぞれの中継装置が保持する、同一の有効期間に対応する経路テーブルの内容は互いに整合している必要がある。
【００５７】
例えば、図４、図５Ａおよび図５Ｂによれば、中継装置１＿１０４は、通信装置Ａ１０１から通信装置Ｂ１０２に宛てたパケットの、２０００年１月１日から２００４年１２月３１日までの有効期間（以下、「第１期間」とも記載する）に対応する転送先を指定する情報として、中継装置２＿１０５のアドレスを保持している（行４０４および５０５参照）。一方、中継装置１＿１０４は、同様のパケットの２００５年１月１日から２００９年１２月３１日までの有効期間（以下、「第２期間」とも記載する）に対応する転送先を指定する情報として、中継装置３＿１０６のアドレスを保持している（行４０５および５０７参照）。
【００５８】
この場合、中継装置１＿１０４は、第１期間内のタイムスタンプを含む通信装置Ａ１０１から通信装置Ｂ１０２に宛てたパケットを、中継装置２＿１０５に転送する（その詳細な手順は後述する）。このため、中継装置２＿１０５は、少なくとも、第１期間に対応する、通信装置Ａ１０１から通信装置Ｂ１０２に宛てたパケットの転送先を指定する情報（例えば通信装置Ｂ１０２のアドレス）を、例えば経路テーブル有効期間管理テーブルおよび経路テーブルに保持している必要がある。一方、中継装置３＿１０６は、第１期間に対応する上記と同様のパケットの転送先を指定する情報は保持していなくてもよい。
【００５９】
これに対して、中継装置１＿１０４は、第２期間内のタイムスタンプを含むパケットを中継装置２＿１０５に転送せずに中継装置３＿１０６に転送する。このため、中継装置２＿１０５は、第２期間に対応する上記と同様のパケットの転送先を指定する情報は保持していなくてもよいが、中継装置３＿１０６は、少なくとも、第２期間に対応する、通信装置Ａ１０１から通信装置Ｂ１０２に宛てたパケットの転送先を指定する情報（例えば中継装置４＿１０７のアドレス）を保持している必要がある。
【００６０】
このように、各中継装置が保持する各有効期間に対応する経路情報は、各有効期間内のタイムスタンプを含むパケットを最終宛先の通信装置に到達させるための情報を含むことによって、互いに整合している必要がある。後述する経路テーブルの新規登録および更新（図８および図１１参照）は、各中継装置が保持する経路テーブルの内容が互いに整合するように実行される。
【００６１】
（パケット構成）
次に図６を用いて、通信装置間でやりとりされる業務パケットの構成について説明する。
【００６２】
業務パケットは大きく分けるとパケットヘッダ６０１およびパケットペイロードから構成され、パケットペイロードは、独自ヘッダ６０２および業務データ６０３から構成される。パケットヘッダ６０１は、ＴＣＰ／ＩＰまたはＵＤＰ／ＩＰ、Ｅｔｈｅｒｎｅｔなど汎用の通信プロトコルで必要となるヘッダ情報が格納されている。独自ヘッダ６０２は、タイムスタンプ、経路番号、および最終あて先アドレスなどの、転送先アドレスを解決するために必要な情報が格納されている。業務データ６０３には業務メッセージの一部または全部が格納されている。独自ヘッダ６０２に格納する情報は、汎用のパケットヘッダ６０１の標準項目で代用するか、または拡張エリアに格納してもよく、その場合は独自ヘッダ６０２の領域は不要であってもよい。
【００６３】
（業務メッセージ転送時のシーケンス）
次に、図７を用いて、中継装置１＿１０４が通信装置Ａ１０１から受信した業務メッセージを中継装置２＿１０５に転送する場合の一連の処理シーケンスについて説明する。
【００６４】
まず、通信装置Ａ１０１が中継装置１＿１０４に対してパケットを送信する（ステップＳ７０１）。
【００６５】
中継装置１＿１０４のパケット送受信処理部２０４は、ＮＩＣ２０２経由で受信したパケットの受信処理を行い、パケット化されていた業務メッセージの再構築を行う（ステップＳ７０２）。ここで、受信したパケットにタイムスタンプが格納されている場合は、処理はステップＳ７０５へ進む。受信したパケットにタイムスタンプが格納されていない場合は、パケット送受信処理部２０４は、受信時の時刻を取得するためにタイムスタンプ生成部２０６に対してタイムスタンプ取得要求を行い（ステップＳ７０３）、タイムスタンプを取得する（ステップＳ７０４）。
【００６６】
次に、パケット送受信処理部２０４は、受信パケットから転送元アドレス情報および送信先最終アドレス情報を取得する（ステップＳ７０５）。これらのアドレス情報はＩＰヘッダまたは独自ヘッダに格納されている。そして、パケット送受信処理部２０４は、タイムスタンプおよび上記アドレス情報を転送先アドレス解決部２０５に渡す（ステップＳ７０６）。
【００６７】
転送先アドレス解決部２０５は、経路テーブル管理部２０７にタイムスタンプを渡す（ステップＳ７０７）。経路テーブル管理部２０７は経路テーブル有効期間管理テーブル２０９を参照し、渡されたタイムスタンプを元に有効な経路テーブル番号を検索し（ステップＳ７０８）、ヒットした経路テーブル番号一覧を転送先アドレス解決部２０５に渡す（ステップＳ７０９）。
【００６８】
次に、転送先アドレス解決部２０５は、ステップＳ７０６にて渡されたアドレス情報と有効な経路テーブル番号とを経路テーブル管理部２０７に渡す（ステップＳ７１０）。経路テーブル管理部２０７は、ステップＳ７１０にて渡された有効な経路テーブル番号によって特定される経路テーブル２１０から、ステップＳ７０６にて渡されたアドレス情報に対応する転送先アドレス（すなわち、受信したパケットに含まれる送信先最終アドレス情報と同一の送信先最終アドレス５０３に対応する転送先アドレス５０４の値）を取得して（ステップＳ７１１）、転送先アドレス解決部２０５に渡す（ステップＳ７１２）。ステップＳ７１０〜ステップＳ７１２は、有効な経路テーブルの数だけ繰り返し実行される。そして、転送先アドレス解決部２０５は転送先アドレス一覧をパケット送受信処理部２０４に渡す（ステップＳ７１３）。
【００６９】
パケット送受信処理部２０４は、渡されたそれぞれの転送先アドレスに対して、送信パケットを作成し（ステップＳ７１４）、ＮＩＣ２０２又は２０３を介して各転送先にパケットを送信する（ステップＳ７１５）。
【００７０】
（経路テーブル更新時のシーケンス）
次に、図８を用いて、経路テーブル管理サーバ１１３が中継装置１＿１０４の経路テーブルを新規に登録する場合の一連の処理シーケンスについて説明する。
【００７１】
まず、経路テーブル管理サーバ１１３が中継装置１＿１０４に対して登録要求のパケットを送信する（ステップＳ８０１）。このパケットには、登録対象の経路テーブル情報および有効期間が含まれている。
【００７２】
次に、中継装置１＿１０４のテーブル管理パケット処理部２０８は、ＮＩＣ２０１経由で受信したパケットの受信処理を行い、パケット化されていた経路テーブルの登録メッセージの再構築を行う（ステップＳ８０２）。そして、テーブル管理パケット処理部２０８は、登録する経路テーブルおよび有効期間を経路テーブル管理部２０７に渡す（ステップＳ８０３）。
【００７３】
次に、経路テーブル管理部２０７は、経路テーブルを新規に登録し（ステップＳ８０４）、登録した経路テーブルの有効期間を経路テーブル有効期間管理テーブルに新規登録し（ステップＳ８０５）、登録結果をテーブル管理パケット処理部２０８に渡す（ステップＳ８０６）。
【００７４】
そして、テーブル管理パケット処理部２０８は、登録結果を経路テーブル管理サーバ１１３に返信する（ステップＳ８０７）。
【００７５】
（全体フローチャート）
次に、図９〜図１１を用いて中継装置１＿１０４がパケットを受信した場合の処理フローについて説明する。これらは、図７および図８に示した中継装置１＿１０４の処理を詳細に説明するものである。
【００７６】
図９は、中継装置１＿１０４の全体フローチャートである。
【００７７】
ステップＳ９０１では、パケット送受信処理部２０４またはテーブル管理パケット処理部２０８が受信処理を行う。
【００７８】
ステップＳ９０２では、中継装置１＿１０４は、受信したパケットが業務パケットであるか、経路テーブルの管理用パケットであるかを判断する。業務パケットの場合は転送処理フローに（図９）、管理用パケットであれば経路テーブル更新フローに進む（図１０）。
【００７９】
（転送処理フロー）
図１０は、中継装置１＿１０４の転送処理フローである。
【００８０】
ステップＳ１００１では、パケット送受信処理部２０４が受信パケットのタイムスタンプをチェックする。
【００８１】
ステップＳ１００２では、パケット送受信処理部２０４がタイムスタンプの有無を判断する。もしタイムスタンプが格納されていればステップＳ１００４に、タイムスタンプが格納されていない場合はステップＳ１００３に進む。
【００８２】
ステップＳ１００３では、パケット送受信処理部２０４がタイムスタンプ生成部２０６に対し、現在の装置内のタイムスタンプを要求し、取得する。以降、本ステップにて取得したタイムスタンプは、本業務メッセージのタイムスタンプとしてパケットに付与され、最終あて先まで転送される。
【００８３】
ステップＳ１００４では、パケット送受信処理部２０４が受信パケットのパケットヘッダまたは独自ヘッダから、転送元アドレス情報および最終送信先アドレス情報を取得する。本ステップで取得するアドレス情報は、経路テーブル２１０から転送先アドレス情報を検索するためのキーとなる。
【００８４】
ステップＳ１００５では、パケット送受信処理部２０４が転送先アドレスを取得するため、転送先アドレス解決部２０５に対し、タイムスタンプと受信パケットから取得したアドレス情報を渡す。そして、転送先アドレス解決部２０５は、まずタイムスタンプを経路テーブル管理部２０７に渡し、有効な経路テーブル一覧を検索する。
【００８５】
ステップＳ１００６では、転送先アドレス解決部２０５が有効な経路テーブル２１０（すなわちパケット送受信処理部２０４から渡されたタイムスタンプの時刻を含む有効期間に対応する経路テーブル２１０）の有無を確認する。もし有効な経路テーブル２１０が存在しない場合はステップＳ１１０１へ進む。１つ以上の有効な経路テーブル２１０が存在する場合はステップＳ１００７へ進む。
【００８６】
ステップＳ１００７では、転送先アドレス解決部２０５が、経路テーブル番号と受信パケットから取得したアドレス情報とを経路テーブル管理部２０７に渡し、各経路テーブルに対応した転送先アドレスを検索する。具体的には、有効な経路テーブル２１０から、受信したパケットに含まれる送信先最終アドレス情報と同一の送信先最終アドレス５０３に対応する転送先アドレス５０４が検索される。
【００８７】
ステップＳ１００８では、転送先アドレス解決部２０５が、ステップＳ１００７の検索によって得られた転送先アドレスの有無を確認する。もしどの有効な経路テーブル２１０でも転送先アドレスがヒットしない場合は、ステップＳ１１０１へ進む。１つ以上の経路テーブル２１０で転送先アドレスがヒットした場合は、転送先アドレス解決部２０５は、パケット送受信処理部２０４にヒットした転送先アドレス一覧を渡し、ステップＳ１００９へ進む。
【００８８】
ステップＳ１００９では、パケット送受信処理部２０４が各転送先アドレスに対して送信パケットを作成する。このとき、パケット送受信処理部２０４は、タイムスタンプなど、送信先の通信装置に至るまでにパケットが経由する中継装置にて転送処理に必要な情報を、パケットヘッダまたは独自ヘッダに格納しておく。
【００８９】
ステップＳ１０１０では、パケット送受信処理部２０４が各転送先に対してパケットを送信する。
【００９０】
ステップＳ１０１１では、転送先アドレスが解決できないため、パケット送受信処理部２０４が受信した業務メッセージを破棄する。
【００９１】
（経路テーブル更新処理フロー）
図１１は、中継装置１＿１０４の経路テーブル更新処理フローである。
【００９２】
ステップＳ１１０１では、テーブル管理パケット処理部２０８が経路テーブル管理サーバ１１３から受信した管理メッセージのメッセージタイプ（新規登録、更新または削除）を確認する。
【００９３】
ステップＳ１１０２では、テーブル管理パケット処理部２０８が、メッセージタイプが新規登録かどうかを確認する。メッセージタイプが新規登録であった場合はステップＳ１１０３へ進み、新規登録以外であればステップＳ１１０７に進む。
【００９４】
ステップＳ１１０３では、テーブル管理パケット処理部２０８が新規登録する経路テーブルの情報と有効期間を取得し、それらを経路テーブル管理部２０７に渡す。
【００９５】
ステップＳ１１０４では、経路テーブル管理部２０７が経路テーブルを新規作成し、経路情報を登録する。
【００９６】
ステップＳ１１０５では、経路テーブル管理部２０７が経路テーブル有効期間管理テーブルに、追加した経路テーブルの有効期間情報を新規登録する。そして経路テーブル管理部２０７が登録結果をテーブル管理パケット処理部２０８に渡す。
【００９７】
ステップＳ１１０６では、テーブル管理パケット処理部２０８がテーブル更新結果を経路テーブル管理サーバ１１３に返信する。
【００９８】
ステップＳ１１０７では、テーブル管理パケット処理部２０８が、メッセージタイプが更新かどうかを確認する。メッセージタイプが更新であった場合はステップＳ１１０８へ進み、新規登録以外であればステップＳ１１１２に進む。
【００９９】
ステップＳ１１０８では、テーブル管理パケット処理部２０８が更新する経路テーブルの情報と有効期間を取得し、それらを経路テーブル管理部２０７に渡す。
【０１００】
ステップＳ１１０９では、経路テーブル管理部２０７が更新対象の経路テーブルを検索する。
【０１０１】
ステップＳ１１１０では、経路テーブル管理部２０７が更新対象の経路テーブルに対し、経路情報の更新を行う。
【０１０２】
ステップＳ１１１１では、経路テーブル管理部２０７が経路テーブル有効期間管理テーブルに対し、更新対象の経路テーブルの有効期間情報の更新を行う。
【０１０３】
ステップＳ１１１２では、経路テーブル管理部２０７が削除対象の経路テーブルを検索する。
【０１０４】
ステップＳ１１１３では、経路テーブル管理部２０７が削除対象の経路テーブルを削除する。
【０１０５】
ステップＳ１１１４では、経路テーブル管理部２０７が経路テーブル有効期間管理テーブルに対し、削除対象の経路テーブルの有効期間情報の削除を行う。
【０１０６】
（本実施形態の効果）
図１に示す通信システムにおいて本発明の代わりに従来の技術が適用される場合、各中継装置の経路テーブルは、例えば、障害が発生したとき、または、外部のコントローラからの指示を受けたとき等に切り替えられる。ここで、中継装置１＿１０４の経路テーブル＃１＿２１０−１が、２００５年１月１日午前０時に経路テーブル＃２＿２１０−２へと切り替えられると仮定する。この場合、中継装置２＿１０５〜中継装置４＿１０７のそれぞれが保持する経路テーブルも、２００５年１月１日午前０時に、経路テーブル＃１＿２１０−１に整合するものから経路テーブル＃２＿２１０−２に整合するものへと切り替えられる。
【０１０７】
この例において、中継装置１＿１０４は、通信装置Ａ１０１から通信装置Ｂ１０２に宛てたパケットを２００５年１月１日午前０時より前に受信した場合、経路テーブル＃１＿２１０−１に基づいて当該パケットの転送先を中継装置２＿１０５と決定し、送信する。しかし、当該パケットを中継装置２＿１０５が受信した時刻が２００５年１月１日午前０時より後であれば、中継装置２＿１０５は、当該パケットの転送先を決定するために、経路テーブル＃２＿２１０−２に整合する経路テーブルを参照する。これは、経路テーブル＃１＿２１０−１に整合するものではないため、通信装置Ａ１０１から通信装置Ｂ１０２に宛てたパケットの転送先を指定する情報を含まない可能性がある。
【０１０８】
したがって、中継装置２＿１０５は、受信したパケットの転送先を決定することができず、そのパケットを廃棄する可能性がある。経路テーブルの切り替えが外部のコントローラからの指示に従って行われる場合には、その指示が各中継装置に到達する時刻の相違に起因して上記と同様の問題が発生し得る。
【０１０９】
一方、本実施形態によれば、中継装置１＿１０４が通信装置Ａ１０１から通信装置Ｂ１０２に宛てたパケットを２００５年１月１日午前０時より前に受信した場合、当該パケットには２００５年１月１日午前０時より前の時刻のタイムスタンプが含まれる。受信したパケットがタイムスタンプを含まない場合には、中継装置１＿１０４は、２００５年１月１日午前０時より前の時刻のタイムスタンプを付与する。そして、中継装置１＿１０４は、このタイムスタンプに対応する経路テーブル＃１＿２１０−１に基づいて当該パケットの転送先を中継装置２＿１０５と決定し、送信する。
【０１１０】
当該パケットに含まれるタイムスタンプは、当該パケットが最終的な送信先である通信装置Ｂ１０２に到達するまでに経由する全ての中継装置で変更されることなく参照される。このため、中継装置２＿１０５は、当該パケットを受信した時刻が２００５年１月１日午前０時より後であっても、当該パケットの転送先を決定するために、経路テーブル＃１＿２１０−１に整合する経路テーブルを参照する。これによって当該パケットの転送先を確実に決定することができる。
【０１１１】
このように、本実施形態によれば、任意のタイミングで送信したパケットに対して、中継装置の経路情報に矛盾が生じることがなく、正しく最終宛先に配送可能な通信システムを実現できる。
【０１１２】
また、本実施形態では、複数の経路テーブル２１０の有効期間の少なくとも一部が重複するように経路テーブル有効期間管理テーブル２０９が作成されてもよい。これによって、１つの送信パケットを複数の経路に対して同時に転送することも容易に実現可能となる。
【０１１３】
また、本実施形態において、パケットの送信元である通信装置Ａ１０１は、通常、送信時刻を示すタイムスタンプを含むパケットを送信するが、それ以外の時刻を示すタイムスタンプをパケットに付与することもできる。例えば、あるパケットをある時間帯に送信することが予定されており、その時間帯に有効となる経路テーブル２１０が各中継装置に保持されている場合において、通信装置Ａ１０１は、予定されていた時間帯より通信費が安い時間帯または通信負荷が低い時間帯に、当該パケットに予定されていた時間帯のタイムスタンプを付与して送信することができる。予定されていた時間帯にネットワーク障害のためにパケットの送信が失敗し、それ以外の時間帯に再送信を行う場合も同様である。このように、本実施形態によれば、柔軟な送信スケジュールを容易に実現できる。
【０１１４】
（本実施形態の変形例）
本実施形態では、各経路テーブル２１０の有効期間を示す情報が経路テーブル有効期間管理テーブル２０９によって保持される。この有効期間は、各経路テーブル２１０に含まれる経路情報（具体的には少なくとも送信先最終アドレス５０３と転送先アドレス５０４との組）が適用される条件の一例に過ぎず、本実施形態には有効期間以外の条件が定義される変形例があり得る。以下、代表的な変形例を説明する。
【０１１５】
例えば、各経路テーブル２１０が、上記の条件として、経路情報のバージョンを示す情報を保持してもよい。具体的には、例えば、経路テーブル＃１＿２１０−１がバージョン情報「１」を保持し、経路テーブル＃２＿２１０−２がバージョン情報「２」を保持してもよい。この場合、通信装置Ａ１０１はバージョン情報を含むパケットを送信する。中継装置１＿１０４は、受信したパケットに含まれるバージョン情報が「１」であれば経路テーブル＃１＿２１０−１に基づいて、「２」であれば経路テーブル＃２＿２１０−２に基づいて、当該パケットの転送先を決定する。
【０１１６】
あるいは、各経路テーブル２１０が、上記の条件として、それぞれの経路テーブル２１０が適用される位置範囲を示す情報を含んでもよい。ここでは、経路テーブル＃１＿２１０−１が適用される位置範囲を第１位置範囲、経路テーブル＃２＿２１０−２が適用される位置範囲を第２位置範囲と記載する。この変形例において、通信装置Ａ１０１は移動体通信装置であり、現在の通信装置Ａ１０１の位置情報を含むパケットを送信する。中継装置１＿１０４は、受信したパケットに含まれる位置情報が第１位置範囲内の位置を示す場合、経路テーブル＃１＿２１０−１に基づいて当該パケットの転送先を決定し、第２位置範囲内の位置を示す場合、経路テーブル＃２＿２１０−２に基づいて当該パケットの転送先を決定する。
【０１１７】
上記の位置範囲は、経路テーブル有効期間管理テーブル２０９のような、経路テーブル２１０とは別のテーブルによって管理されてもよい。
【０１１８】
上記の実施形態の各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【０１１９】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【図１】
0005941556.tif 000002
【図２】
0005941556.tif 000003
【図３】
0005941556.tif 000004
【図４】
0005941556.tif 000005
【図５Ａ】
0005941556.tif 000006
【図５Ｂ】
0005941556.tif 000007
【図６】
0005941556.tif 000008
【図７】
0005941556.tif 000009
【図８】
0005941556.tif 000010
【図９】
0005941556.tif 000011
【図１０】
0005941556.tif 000012
【図１１】
0005941556.tif 000013