(57)【要約】【課題】メッセージの伝達遅延を低減すること。【解決手段】通信部１ｆは、ノード３，３ａ，３ｂのうち通信ができなくなったノードのアドレスを含むメッセージを受信すると、該アドレスを第１の記憶部１ｄに格納して、通信ポート１ａ，１ｂ，１ｃのうち該メッセージを受信した通信ポート以外の通信ポートから該メッセージを送信する。制御部１ｇは、通信部１ｆがメッセージを送信した後に、第２の記憶部１ｅに記憶されたアドレス情報から第１の記憶部１ｄに記憶されたアドレスの設定を削除する。【選択図】図１
2013034139.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードのうち通信ができなくなったノードのアドレスを含むメッセージを受信すると、該アドレスを第１の記憶部に格納して、自装置が備える複数の通信ポートのうち前記メッセージを受信した通信ポート以外の通信ポートから前記メッセージを送信する通信部と、
前記通信部が前記メッセージを送信した後に、前記複数のノードのアドレスと前記複数の通信ポートとの対応関係が設定されたアドレス情報を記憶する第２の記憶部に記憶された前記アドレス情報から前記第１の記憶部に記憶されたアドレスの設定を削除する制御部と、
を有する通信装置。
【請求項２】
前記通信部は、前記メッセージに含まれるアドレスを、前記メッセージを受信した通信ポートを示す情報に対応付けて前記第１の記憶部に格納し、
前記制御部は、前記第１の記憶部に格納されたアドレスと通信ポートとの対応と、前記アドレス情報に設定されたアドレスと通信ポートとの対応と、が一致する場合に、前記アドレス情報から該アドレスの設定を削除する、
請求項１記載の通信装置。
【請求項３】
前記制御部は、前記通信ができなくなったノードのアドレスを宛先としたデータを受信した際に、前記アドレス情報から該アドレスの設定を削除する、請求項１または２記載の通信装置。
【請求項４】
前記制御部は、前記第１の記憶部に記憶されたアドレスを、前記第１の記憶部に該アドレスを格納してから所定時間経過後に削除する、請求項１乃至３の何れか一項に記載の通信装置。
【請求項５】
前記所定時間は、前記アドレス情報の設定内容の登録期限と同じ時間である、請求項４記載の通信装置。
【請求項６】
前記メッセージは、前記アドレス情報からアドレスの設定を削除する手順を指定するための処理方式の情報を含み、
前記制御部は、前記メッセージに含まれる前記処理方式の情報に基づいて、前記アドレス情報からアドレスの設定を削除する、
請求項１乃至５の何れか一項に記載の通信装置。
【請求項７】
複数のノードのうち通信ができなくなったノードのアドレスを含むメッセージを受信すると、該アドレスを第１の記憶部に格納して、自装置が備える複数の通信ポートのうち前記メッセージを受信した通信ポート以外の通信ポートから前記メッセージを送信し、
前記メッセージを送信した後に、前記複数のノードのアドレスと前記複数の通信ポートとの対応関係が設定されたアドレス情報を記憶する第２の記憶部に記憶された前記アドレス情報から前記第１の記憶部に記憶されたアドレスの設定を削除する、
処理をコンピュータに実行させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は通信を中継する通信装置および通信プログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク上のノード間の通信を中継する通信装置が利用されている。例えば、通信装置には、ＯＳＩ（Open Systems Interconnection）参照モデルのデータリンク層（第２層）で通信を中継するＬ２（Layer 2）スイッチ装置がある。また、例えば、通信装置には、同モデルのネットワーク層（第３層）で通信を中継するＬ３（Layer 3）スイッチ装置がある。
【０００３】
通信装置は、宛先ノードにデータを届けるために、ネットワーク上の何れの経路にデータを送出すればよいかを学習する学習機能を備える。例えば、Ｌ２スイッチ装置は、ケーブルを接続するための複数の通信ポートを有する。Ｌ２スイッチ装置は、データの転送を行う際に、該データの送信元のノードの物理アドレスを取得し、該データを受信した通信ポートと物理アドレスとの対応をアドレステーブルに保持しておく。以降、Ｌ２スイッチ装置は、該ノードの物理アドレスを宛先とするデータを受信すると、アドレステーブルを参照して、該物理アドレスに対応するポートからデータを送出する。Ｌ３スイッチも同様の学習機能を備える。
【０００４】
ここで、アドレステーブルからエントリを削除することがある。例えば、何れかの通信装置で障害が発生した場合である。この場合、障害箇所を通る経路は利用不可となる。このとき、通信装置が利用不可の経路にデータを送出するのは無駄な処理である。そこで、通信装置が、該障害箇所の情報の消去を促す制御パケットをフラッディングし、他の通信装置にアドレステーブルから該障害箇所の情報を消去させる提案がある。
【０００５】
また、アドレステーブルの全情報を消去することもある。例えば、Ｅｔｈｅｒｎｅｔ（登録商標）ネットワークにおいて、スパニングツリーが再構成されたときが考えられる。このとき、アドレステーブルのエントリ数が多いと、消去に時間がかかることがある。そこで、宛先情報（物理アドレス）と宛先情報の総数以下の種類に分類された仮想的転送先情報とを対応させたテーブル、および該仮想的転送先情報と転送先（ポート）とを対応させたテーブルを管理することで、学習した情報の消去を短時間で行う提案がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−５４５８号公報
【特許文献２】国際公開第２００７／８６５３９号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
アドレステーブルの更新（エントリの削除）を促す情報（メッセージ）の、各通信装置への伝達が遅延することがある。例えば、通信装置が、アドレステーブルを更新した後に、該メッセージをフラッディングする場合である。この場合、テーブル更新の処理に時間がかかると、該通信装置によるフラッディングがその分遅れてしまう。通信装置が複数存在すればフラッディングの遅れは積算される。特に大規模なネットワークでは、末端の通信装置における伝達遅延が顕著となる。
【０００８】
このような遅延は、通信の効率を悪化させる要因になり得る。例えば、障害箇所の消去を指示するメッセージの伝達が遅れると、通信装置が利用不可の経路にデータを送出してしまう可能性が高まるためである。
【０００９】
１つの側面では、本発明は、メッセージの伝達遅延を低減する通信装置および通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
通信部と制御部とを有する通信装置が提供される。通信部は、複数のノードのうち通信ができなくなったノードのアドレスを含むメッセージを受信すると、該アドレスを第１の記憶部に格納して、自装置が備える複数の通信ポートのうちメッセージを受信した通信ポート以外の通信ポートからメッセージを送信する。制御部は、通信部がメッセージを送信した後に、複数のノードのアドレスと複数の通信ポートとの対応関係が設定されたアドレス情報を記憶する第２の記憶部に記憶されたアドレス情報から第１の記憶部に記憶されたアドレスの設定を削除する。
【００１１】
また、複数のノードのうち通信ができなくなったノードのアドレスを含むメッセージを受信すると、該アドレスを第１の記憶部に格納して、自装置が備える複数の通信ポートのうちメッセージを受信した通信ポート以外の通信ポートからメッセージを送信し、メッセージを送信した後に、複数のノードのアドレスと複数の通信ポートとの対応関係が設定されたアドレス情報を記憶する第２の記憶部に記憶されたアドレス情報から第１の記憶部に記憶されたアドレスの設定を削除する、処理をコンピュータに実行させる通信プログラム。
【発明の効果】
【００１２】
一態様によれば、メッセージの伝達遅延を低減できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の情報処理システムを示す図である。
【図２】第２の実施の形態の情報処理システムを示す図である。
【図３】第２の実施の形態のスイッチ装置のハードウェア例を示す図である。
【図４】第２の実施の形態のスイッチ装置の機能を示すブロック図である。
【図５】第２の実施の形態のフラッシュメッセージの例を示す図である。
【図６】第２の実施の形態の学習テーブルの例を示す図である。
【図７】第２の実施の形態の障害ＭＡＣアドレステーブルの例を示す図である。
【図８】第２の実施の形態の障害検知時の処理を示すフローチャートである。
【図９】第２の実施の形態のメッセージ受信時の処理を示すフローチャートである。
【図１０】第２の実施の形態の学習テーブル更新処理を示すフローチャートである。
【図１１】第２の実施の形態の学習テーブル更新処理の例を示す図である。
【図１２】第２の実施の形態のメッセージ伝達の例を示すシーケンス図である。
【図１３】メッセージ伝達の他の例を示すシーケンス図である。
【図１４】第３の実施の形態の学習テーブル更新処理を示すフローチャートである。
【図１５】第３の実施の形態のメッセージ伝達の例を示すシーケンス図である。
【図１６】第３の実施の形態のエージング管理処理を示すフローチャートである。
【図１７】第４の実施の形態のフラッシュメッセージの例を示す図である。
【図１８】第４の実施の形態の障害ＭＡＣアドレステーブルの例を示す図である。
【図１９】第４の実施の形態の処理方式決定処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理システムを示す図である。この情報処理システムは、通信装置１，２，２ａ，２ｂおよびノード３，３ａ，３ｂを含む。ノードとは通信装置や情報処理装置である。より具体的には、ノードとはネットワークのルーティングを行うルータ装置、Ｌ３スイッチ装置およびサーバ装置などである。
【００１５】
通信装置１，２，２ａ，２ｂは、ノード３，３ａ，３ｂ間の通信を中継する。通信装置１，２，２ａ，２ｂは、例えば、Ｌ２スイッチ装置、ルータ装置およびＬ３スイッチ装置などである。通信装置１は、通信装置２，２ａ，２ｂと接続されている。通信装置２は、ノード３への伝送路に接続されている。通信装置２ａは、ノード３ａへの伝送路に接続されている。通信装置２ｂは、ノード３ｂへの伝送路に接続されている。
【００１６】
通信装置１は、通信ポート１ａ，１ｂ，１ｃ、第１の記憶部１ｄ、第２の記憶部１ｅ、通信部１ｆおよび制御部１ｇを有する。
通信ポート１ａ，１ｂ，１ｃは、通信装置２，２ａ，２ｂと接続するためのインタフェースである。通信ポート１ａは、通信装置２と所定のケーブルを介して接続されている。通信ポート１ｂは、通信装置２ａと所定のケーブルを介して接続されている。通信ポート１ｃは、通信装置２ｂと所定のケーブルを介して接続されている。
【００１７】
第１の記憶部１ｄは、通信部１ｆが受信した所定のメッセージに含まれるアドレスを記憶する。
第２の記憶部１ｅは、ノード３，３ａ，３ｂのアドレスと通信ポート１ａ，１ｂ，１ｃの対応関係が設定されたアドレス情報を記憶する。ノード３，３ａ，３ｂのアドレスとは、例えば各ノードの物理アドレスである。より具体的には、例えばＭＡＣ（Media Access Control）アドレスである。例えば、アドレス情報には、ノード３のアドレスと通信ポート１ａとが対応付けられている。また、アドレス情報には、ノード３ａのアドレスと通信ポート１ｂとが対応付けられている。更に、アドレス情報には、ノード３ｂのアドレスと通信ポート１ｃとが対応付けられている。
【００１８】
通信部１ｆは、ノード３，３ａ，３ｂのうち通信ができなくなったノードのアドレスを含むメッセージを通信装置２，２ａ，２ｂの何れかから受信する。通信部１ｆは、該メッセージ内のアドレスを第１の記憶部１ｄに記録する。例えば、通信部１ｆは、ノード３のアドレスを含むメッセージを通信装置２から受信する。すると、通信部１ｆは、ノード３のアドレスを第１の記憶部に格納する。通信部１ｆは、該メッセージを受信した通信ポート以外の通信ポートから、該メッセージを送信する。例えば、通信部１ｆは、通信ポート１ａからメッセージを受信した場合、通信ポート１ｂ，１ｃから該メッセージを送信する。このようにして、他の通信装置２ａ，２ｂへのメッセージの通知を行い、通信装置２ａ，２ｂも同様にメッセージの送信を行う。このようにして、ネットワーク上の各通信装置に連鎖的にメッセージが伝達される。
【００１９】
なお、メッセージの生成は、例えば、何れかの通信装置で通信ができなくなったノードが検知されたときに、該通信装置により行われる。例えば、通信装置２はノード３への経路で障害が発生し、該経路が使用不可となったことを検知すると、ノード３のアドレスに関するエントリの消去を促すメッセージを生成して、通信装置１（あるいは、通信装置１を含む他の通信装置）に送信する。
【００２０】
制御部１ｇは、通信部１ｆがメッセージを送信した後に、第２の記憶部１ｅに記憶されたアドレス情報から第１の記憶部１ｄに記憶されたアドレスの設定を削除する。例えば、第１の記憶部１ｄに記憶されたアドレスがノード３のアドレスであるとする。その場合、制御部１ｇは、通信部１ｆがメッセージを送信した後に、ノード３のアドレスと通信ポート１ａとを対応付けたエントリを第２の記憶部１ｅに記憶されたアドレス情報から削除する。
【００２１】
通信装置１によれば、通信部１ｆにより、ノード３，３ａ，３ｂのうち通信ができなくなったノードのアドレスを含むメッセージが受信される。通信部１ｆにより、該アドレスが第１の記憶部１ｄに格納され、該メッセージを受信した通信ポート以外の通信ポートから該メッセージが送信される。通信部１ｆが該メッセージを送信した後に、制御部１ｇにより、第２の記憶部１ｅに記憶されたアドレス情報から第１の記憶部１ｄに記憶されたアドレスの設定が削除される。
【００２２】
これにより、メッセージの伝達遅延を低減できる。具体的には、通信装置１は、通信装置２から受信したメッセージを他の通信装置に送信した後に、自身が保持するアドレス情報の更新を行う。このため、アドレス情報の更新を行ってから、メッセージを送信する場合に比べて、迅速にメッセージを伝達できる。
【００２３】
特に、アドレス情報のエントリが多い場合、削除処理に時間がかかることがある。その場合、メッセージの伝達遅延が大きかった。これに対し、通信装置１のようにすれば、削除処理を待たずにメッセージを伝達でき、伝達遅延を軽減できる。
【００２４】
また、大規模なネットワークでは、多数の通信装置が接続され得る。その場合、ある通信装置が送出したメッセージが末端の通信装置に到達するまでに時間がかかる。例えば、各通信装置がアドレス情報の更新を行ってからメッセージを送信すると、各通信装置でのメッセージ送信の遅れが積算され、特に末端の通信装置に該メッセージが到達するまでの遅延が顕著となっていた。これに対し、ネットワーク上の各通信装置が通信装置１のようにメッセージの送信後に自身が保持するアドレス情報を更新すれば、各通信装置へのメッセージの伝達遅延を効率的に低減できる。
【００２５】
なお、通信装置１がアドレス情報を更新する処理方式は、複数考え得る。例えば、メッセージを送信した直後のタイミングでアドレス情報の更新を行う処理方式が考えられる。また、例えば、メッセージの送信後、該メッセージに含まれるアドレス宛てのデータを中継するタイミングでアドレス情報の更新を行う処理方式が考えられる。
【００２６】
更に、通信装置１は、何れの処理方式でアドレス情報の更新を行うかを、受信したメッセージにより判断してもよい。例えば、該メッセージにアドレス情報の更新を行うタイミングを示す情報を含めれば、通信装置１は、該情報に基づいて、アドレス情報の更新を何れの処理方式で行うかを判断できる。
【００２７】
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムを示す図である。この情報処理システムは、Ｅｔｈｅｒｎｅｔによるネットワークで構築されている。この情報処理システムは、ネットワーク１０，２０、スイッチ装置１００，１００ａ，１００ｂ，１００ｃ，１００ｄ、サーバ装置２００，２００ａ，２００ｂ，３００，３００ａを含む。また、この情報処理システムは、ネットワーク１０，２０、スイッチ装置１００，１００ａ，１００ｂ，１００ｃ，１００ｄの間を結ぶ経路Ｌ１１，Ｌ１２，Ｌ１３，Ｌ１４，Ｌ２１，Ｌ２２，Ｌ２３，Ｌ３１，Ｌ３２，Ｌ３３，Ｌ４１，Ｌ４２を含む。経路Ｌ２１，Ｌ２２，Ｌ２３，Ｌ３３は、一方の端に接続する装置の図示を省略している。
【００２８】
経路Ｌ１１，Ｌ１２，Ｌ１３，Ｌ１４は、ＬＡＮ（Local Area Network）ケーブルで形成された信号の伝送路である。経路Ｌ１１，Ｌ１２，Ｌ１３，Ｌ１４は、ＬＡＮケーブルおよび他の通信装置（Ｌ２スイッチ装置やＬ３スイッチ装置など）の両方で形成されるものでもよい。
【００２９】
経路Ｌ２１，Ｌ２２，Ｌ２３，Ｌ３１，Ｌ３２，Ｌ３３，Ｌ４１，Ｌ４２は、ＬＡＮケーブルおよび他の通信装置の両方で形成された信号の伝送路である。経路Ｌ２１，Ｌ２２，Ｌ２３，Ｌ３１，Ｌ３２，Ｌ３３，Ｌ４１，Ｌ４２は、ＬＡＮケーブルにより形成されるものでもよい。
【００３０】
スイッチ装置１００，１００ａ，１００ｂ，１００ｃ，１００ｄは、ＯＳＩ参照モデルのレイヤ２でＥｔｈｅｒｎｅｔフレーム（以下、単にフレームという）を中継するＬ２スイッチ装置である。Ｌ２スイッチ装置は、スイッチングハブと呼ばれることもある。
【００３１】
スイッチ装置１００は、経路Ｌ１２を介してスイッチ装置１００ａに接続されている。スイッチ装置１００は、経路Ｌ１３を介してスイッチ装置１００ｂに接続されている。スイッチ装置１００は、経路Ｌ２２に接続されている。スイッチ装置１００は、経路Ｌ３２を介してスイッチ装置１００ｃに接続されている。
【００３２】
スイッチ装置１００ａは、経路Ｌ１１を介してネットワーク１０に接続されている。スイッチ装置１００ａは、経路Ｌ１２を介してスイッチ装置１００に接続されている。スイッチ装置１００ａは、経路Ｌ２１に接続されている。スイッチ装置１００ａは、経路Ｌ３１を介してスイッチ装置１００ｄに接続されている。
【００３３】
スイッチ装置１００ｂは、経路Ｌ１３を介してスイッチ装置１００に接続されている。スイッチ装置１００ｂは、経路Ｌ１４を介してネットワーク２０に接続されている。スイッチ装置１００ｂは、経路Ｌ２３，Ｌ３３に接続されている。
【００３４】
スイッチ装置１００ｃは、経路Ｌ３２を介してスイッチ装置１００に接続されている。スイッチ装置１００ｃは、経路Ｌ４２を介してスイッチ装置１００ｄに接続されている。
スイッチ装置１００ｄは、経路Ｌ３１を介してスイッチ装置１００ａに接続されている。スイッチ装置１００ｄは、経路Ｌ４１を介してネットワーク１０に接続されている。スイッチ装置１００ｄは、経路Ｌ４２を介してスイッチ装置１００ｃに接続されている。
【００３５】
スイッチ装置１００，１００ａ，１００ｂ，１００ｃ，１００ｄは、各装置が備える通信ポートにＬＡＮケーブルのプラグが結合されて、各経路に接続する。ここで、以下の説明では、通信ポートを単にポートと称する。
【００３６】
サーバ装置２００，２００ａ，２００ｂ，３００，３００ａは、所定の情報処理を行う情報処理装置である。サーバ装置２００，２００ａ，２００ｂは、ネットワーク１０に接続されている。サーバ装置３００，３００ａは、ネットワーク２０に接続されている。この情報処理システムでは、サーバ装置２００，２００ａ，２００ｂ，３００，３００ａの間でのフレームの送受信が可能である。
【００３７】
図３は、第２の実施の形態のスイッチ装置のハードウェア例を示す図である。スイッチ装置１００は、ポート１０１，１０１ａ，１０１ｂ，１０１ｃ、ＰＨＹ１０２，１０２ａ，１０２ｂ，１０２ｃ、ＭＡＣ部１０３、スイッチ処理部１０４および制御回路１０５を有する。
【００３８】
ポート１０１，１０１ａ，１０１ｂ，１０１ｃは、ＬＡＮケーブルの端部に設けられたプラグを結合するためのコネクタ（ＲＪ−４５：Registered Jack - 45）や信号を終端するためのパルストランスを備えたアダプタである。ポート１０１には、経路Ｌ１２上のＬＡＮケーブルが接続されている。ポート１０１ａには、経路Ｌ２２上のＬＡＮケーブルが接続されている。ポート１０１ｂには、経路Ｌ１３上のＬＡＮケーブルが接続されている。ポート１０１ｃには、経路Ｌ３２上のＬＡＮケーブルが接続されている。ポート１０１，１０１ａ，１０１ｂ，１０１ｃは、受信した信号をＰＨＹ１０２，１０２ａ，１０２ｂ，１０２ｃへ出力する。また、ポート１０１，１０１ａ，１０１ｂ，１０１ｃは、ＰＨＹ１０２，１０２ａ，１０２ｂ，１０２ｃから出力された信号を、経路Ｌ１２，Ｌ１３，Ｌ２２，Ｌ３２それぞれのＬＡＮケーブルに送出する。
【００３９】
ＰＨＹ１０２，１０２ａ，１０２ｂ，１０２ｃは、フレームの符号化および信号の復号を行う。ＰＨＹ１０２は、ポート１０１およびＭＡＣ部１０３に接続されている。ＰＨＹ１０２ａは、ポート１０１ａおよびＭＡＣ部１０３に接続されている。ＰＨＹ１０２ｂは、ポート１０１ｂおよびＭＡＣ部１０３に接続されている。ＰＨＹ１０２ｃは、ポート１０１ｃおよびＭＡＣ部１０３に接続されている。
【００４０】
ＰＨＹ１０２は、ＭＡＣ部１０３が出力したフレームを符号化してポート１０１，１０１ａ，１０１ｂ，１０１ｃに出力する。ＰＨＹ１０２は、ポート１０１が出力した信号を復号して得たデータをＭＡＣ部１０３に出力する。ＰＨＹ１０２の符号化方式としては、例えば、ＮＲＺ（Non Return to Zero）符号化方式、ＭＬＴ−３（Multi Level Transmission - 3 level）符号化方式およびマンチェスタ符号化方式などが考えられる。ＰＨＹ１０２ａ，１０２ｂ，１０２ｃの動作もＰＨＹ１０２と同様である。
【００４１】
ＭＡＣ部１０３は、メディアアクセス制御を行う。ＭＡＣ部１０３は、ＰＨＹ１０２，１０２ａ，１０２ｂ，１０２ｃ、スイッチ処理部１０４および制御回路１０５と接続されている。ＭＡＣ部１０３は、例えば、ＣＳＭＡ／ＣＤ（Carrier Sense Multiple Access / Collision Detection）の手順により、スイッチ処理部１０４が出力したフレームの、ネットワークへの送出を制御する。ＭＡＣ部１０３は、ＭＰＵ（Micro Processing Unit）１０３ａおよびメモリ１０３ｂを有する。
【００４２】
ＭＰＵ１０３ａは、ＭＡＣ部１０３全体を制御する演算装置である。メモリ１０３ｂは、ＭＰＵ１０３ａの処理に用いるプログラムやデータを記憶する記憶装置である。
スイッチ処理部１０４は、ＭＡＣ部１０３が受信したフレームを、宛先のノードに送信するために、何れのポートから送出すればよいかを判断する（スイッチング）。スイッチ処理部１０４は、ＭＰＵ１０４ａおよびメモリ１０４ｂを有する。
【００４３】
ＭＰＵ１０４ａは、スイッチ処理部１０４全体を制御する演算装置である。メモリ１０４ｂは、ＭＰＵ１０４ａの処理に用いるプログラムやデータを記憶する記憶装置である。
制御回路１０５は、ＭＡＣ部１０３およびスイッチ処理部１０４に接続されている。制御回路１０５は、制御用のメッセージを生成してＭＡＣ部１０３に出力する。制御回路１０５は、ＭＡＣ部１０３から受け取った制御用のメッセージを処理する。制御回路１０５は、受信したメッセージに応じた処理を実行する。制御回路１０５は、ＭＰＵ１０５ａおよびメモリ１０５ｂを有する。
【００４４】
ＭＰＵ１０５ａは、制御回路１０５全体を制御する演算装置である。メモリ１０５ｂは、ＭＰＵ１０５ａの処理に用いるプログラムやデータを記憶する記憶装置である。
なお、スイッチ装置１００ａ，１００ｂ，１００ｃ，１００ｄもスイッチ装置１００と同様のハードウェアにより実現できる。
【００４５】
図４は、第２の実施の形態のスイッチ装置の機能を示すブロック図である。スイッチ装置１００は、記憶部１１０，１４０、通信制御部１２０、学習処理部１３０、メッセージ処理部１５０およびテーブル管理部１６０を有する。通信制御部１２０および学習処理部１３０の各要素の機能は、ＭＰＵ１０３ａが所定のプログラムを実行することで実現される。メッセージ処理部１５０およびテーブル管理部１６０の各要素の機能は、ＭＰＵ１０５ａが所定のプログラムを実行することで実現される。ただし、通信制御部１２０、学習処理部１３０、メッセージ処理部１５０およびテーブル管理部１６０の各要素の機能を専用のハードウェアで実装してもよい。
【００４６】
記憶部１１０は、学習テーブルを記憶する。学習テーブルは、フレームに含まれる送信元ＭＡＣアドレスと該フレームを受信したポートとを対応付けたものである。学習テーブルは学習処理部１３０により生成される。学習テーブルは、フレームの送信時に、スイッチ処理部１０４により参照される。スイッチ処理部１０４は、記憶部１１０に記憶された学習テーブルに基づき、該フレームを何れのポートから送出したらよいか判断する。
【００４７】
通信制御部１２０は、メディアアクセス制御を行う。通信制御部１２０は、例えば、ＣＳＭＡ／ＣＤによるフレームのネットワークへの送出を制御する。何れのポートに送出するかは、スイッチ処理部１０４により指示される。なお、スイッチ処理部１０４は、該フレームの宛先ＭＡＣアドレスのエントリが学習テーブルに存在しない場合には、該フレームのフラッディングを通信制御部１２０に指示する。
【００４８】
通信制御部１２０は、受信したフレームや制御用のメッセージを制御回路１０５に出力する。また、通信制御部１２０は、受信した制御用のメッセージを、該メッセージを受信した受信ポート以外のポートへフラッディングする。また、通信制御部１２０は、制御回路１０５が生成した制御用のメッセージを、全ポートへフラッディングする。
【００４９】
学習処理部１３０は、フレームを受信すると、該フレームのヘッダに含まれる送信元ＭＡＣアドレスを抽出する。学習処理部１３０は、抽出した送信元ＭＡＣアドレスと、該フレームを受信した受信ポートの識別情報とを対応付けて学習テーブルに設定する。送信元ＭＡＣアドレスのエントリが学習テーブルに既に存在する場合、学習処理部１３０は、既に設定されているエントリを残し、新たなエントリを登録しない。すなわち、先着の設定を優先する。
【００５０】
記憶部１４０は、障害ＭＡＣアドレステーブルを記憶する。障害ＭＡＣアドレステーブルは、学習テーブルのうち、削除対象とするＭＡＣアドレスを保持するためのデータである。なお、以下の説明において、障害ＭＡＣアドレステーブルを障害アドレステーブルと表記することもある。
【００５１】
メッセージ処理部１５０は、制御用のメッセージを生成して、ＭＡＣ部１０３に出力する。メッセージ処理部１５０は、ＭＡＣ部１０３から取得した制御用のメッセージに含まれる情報を抽出して記憶部１４０に格納する。ここで、制御用のメッセージには、学習テーブルのエントリの削除を指示するフラッシュメッセージが含まれる。フラッシュメッセージは、所定のＭＡＣアドレスのエントリの削除を促す制御用のメッセージである。フラッシュメッセージには、削除対象のＭＡＣアドレスが含まれる。
【００５２】
例えば、メッセージ処理部１５０は、他のスイッチ装置から受信したフラッシュメッセージに含まれるＭＡＣアドレスを抽出して、記憶部１４０に格納する。このとき、メッセージ処理部１５０は、該フラッシュメッセージを受信した受信ポートの識別情報に対応付けて、該ＭＡＣアドレスを記憶部１４０に格納する。
【００５３】
また、例えば、メッセージ処理部１５０は、経路Ｌ１２，Ｌ１３，Ｌ２２，Ｌ３２の何れかが障害で使用不能となったとき、該経路上のポートに対応するＭＡＣアドレスを含むフラッシュメッセージを生成してＭＡＣ部１０３に出力する。メッセージ処理部１５０は、障害のあった経路上のポートに対応するＭＡＣアドレスを、記憶部１１０に格納された学習テーブルに基づいて判断する。なお、メッセージ処理部１５０は、例えば、ポートのリンクダウンを検知することで、該経路の障害を検知できる。
【００５４】
ここで、以下の説明において、フラッシュメッセージを単にメッセージと表記することがある。
テーブル管理部１６０は、記憶部１４０に記憶された障害ＭＡＣアドレステーブルに基づいて、記憶部１１０に記憶された学習テーブルのエントリを削除する。
【００５５】
なお、スイッチ装置１００ａ，１００ｂ，１００ｃ，１００ｄもスイッチ装置１００と同様の機能を備える。
図５は、第２の実施の形態のフラッシュメッセージの例を示す図である。フラッシュメッセージ４００には、ヘッダ４１０および障害ＭＡＣアドレスリスト４２０の各フィールドが設けられている。
【００５６】
ヘッダ４１０は、送信制御に用いる情報を格納するためのフィールドである。例えば、ヘッダ４１０には、フラッシュメッセージ４００が、学習テーブルのエントリを消去するためのメッセージである旨を示す情報が含まれる。例えば、ヘッダ４１０には、宛先ＭＡＣアドレスや送信元ＭＡＣアドレスが含まれる。フラッシュメッセージ４００はブロードキャストされるため、宛先ＭＡＣアドレスには“ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ”が設定される。
【００５７】
障害ＭＡＣアドレスリスト４２０は、削除対象のＭＡＣアドレスを含む。例えば、スイッチ装置１００ａが経路Ｌ１１での障害を検知したとする。すると、スイッチ装置１００ａは、フラッシュメッセージ４００を生成して、経路Ｌ１２，Ｌ２１，Ｌ３１へフラッディングする。このとき、スイッチ装置１００ａは、経路Ｌ１１の先に接続されているサーバ装置２００，２００ａ，２００ｂのＭＡＣアドレスを、障害ＭＡＣアドレスリスト４２０に含める。
【００５８】
ここで、以下の説明では、サーバ装置２００上のＮＩＣ（Network Interface Card）のＭＡＣアドレスを“Ａ”と略記する。サーバ装置２００ａ上のＮＩＣのＭＡＣアドレスを“Ｃ”と略記する。サーバ装置２００ｂ上のＮＩＣのＭＡＣアドレスを“Ｅ”と略記する。サーバ装置３００上のＮＩＣのＭＡＣアドレスを“Ｂ”と略記する。サーバ装置３００ａ上のＮＩＣのＭＡＣアドレスを“Ｄ”と略記する。
【００５９】
図６は、第２の実施の形態の学習テーブルの例を示す図である。学習テーブル１１１は、記憶部１１０に格納される。学習テーブル１１１には、ＭＡＣアドレスおよびポートの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの経路情報を示す。
【００６０】
ＭＡＣアドレスの項目には、ＭＡＣアドレスが設定される。ポートの項目には、ポートの識別情報が設定される。
例えば、学習テーブル１１１には、ＭＡＣアドレスが“Ａ”、ポートが“Ｐ１”という情報が設定される。これは、ＭＡＣアドレス“Ａ”に対応するサーバ装置２００へフレームを送出する際に、ポート“Ｐ１”から送出すればよいことを示す。
【００６１】
ここで、ポート“Ｐ１”はポート１０１の識別情報である。また、ポート“Ｐ２”はポート１０１ａの識別情報である。また、ポート“Ｐ３”はポート１０１ｂの識別情報である。また、ポート“Ｐ４”はポート１０１ｃの識別情報である。
【００６２】
図７は、第２の実施の形態の障害ＭＡＣアドレステーブルの例を示す図である。障害ＭＡＣアドレステーブル１４１は、記憶部１４０に格納される。障害ＭＡＣアドレステーブル１４１には、障害ＭＡＣアドレスおよび受信ポートの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのノードの情報を示す。
【００６３】
障害ＭＡＣアドレスの項目には、削除対象のＭＡＣアドレスが設定される。以下、障害ＭＡＣアドレステーブル１４１および障害ＭＡＣアドレスリスト４２０に設定されるＭＡＣアドレスを障害ＭＡＣアドレスと呼ぶことがある。受信ポートの項目には、該ＭＡＣアドレスを含むフラッシュメッセージを受信したポートの識別情報が設定される。
【００６４】
障害ＭＡＣアドレステーブル１４１は、スイッチ装置１００がスイッチ装置１００ａから経路Ｌ１２を介してフラッシュメッセージ４００を受信した場合を例示している。フラッシュメッセージ４００には、障害ＭＡＣアドレスリスト４２０にＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”が設定されている。この場合、例えば、障害ＭＡＣアドレステーブル１４１には、障害ＭＡＣアドレスが“Ａ”、受信ポートが“Ｐ１”という情報が設定される。また、障害ＭＡＣアドレスが“Ｃ”、受信ポートが“Ｐ１”という情報が設定される。更に、障害ＭＡＣアドレスが“Ｅ”、受信ポートが“Ｐ１”という情報が設定される。
【００６５】
次に、以上の構成の情報処理システムの処理手順を説明する。まず、障害検知時の処理を説明する。ここで、経路Ｌ１１上で障害が発生し、スイッチ装置１００ａが該障害を検知するものとする。
【００６６】
図８は、第２の実施の形態の障害検知時の処理を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］スイッチ装置１００ａは、経路Ｌ１１に接続するポートのリンクダウンを検知する。
【００６７】
［ステップＳ１２］スイッチ装置１００ａは、フラッシュメッセージ４００を生成する。このとき、スイッチ装置１００ａは、自身が保持する学習テーブルから経路Ｌ１１上のポートを検索し、該ポートに対応するＭＡＣアドレスを抽出する。スイッチ装置１００ａは、抽出したＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”を障害ＭＡＣアドレスリスト４２０に設定する。
【００６８】
［ステップＳ１３］スイッチ装置１００ａは、フラッシュメッセージ４００を経路Ｌ１２，Ｌ２１，Ｌ３１上のポートへフラッディングする。
［ステップＳ１４］スイッチ装置１００ａは、自身が保持する学習テーブルから、ステップＳ１２で抽出したＭＡＣアドレスのエントリを削除する。
【００６９】
このようにして、スイッチ装置１００ａはリンクダウンを検知すると、ダウンしたポートに対応するＭＡＣアドレスを取得して、フラッシュメッセージ４００を生成し、フラッディングする。これにより、他の通信装置の、該ＭＡＣアドレスに関するエントリの削除を促す。ここで、スイッチ装置１００ａは、フラッディングを行った後に、学習テーブルのエントリ削除を行うので、フラッシュメッセージ４００を迅速に伝達開始できる。
【００７０】
次に、フラッシュメッセージ４００を受信したスイッチ装置１００の処理手順を説明する。
図９は、第２の実施の形態のメッセージ受信時の処理を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
【００７１】
［ステップＳ２１］通信制御部１２０は、スイッチ装置１００ａから経路Ｌ１２を介してフラッシュメッセージ４００を受信し、メッセージ処理部１５０に出力する。このとき、フラッシュメッセージ４００の受信ポートは、ポート１０１（識別情報“Ｐ１”）である。
【００７２】
［ステップＳ２２］メッセージ処理部１５０は、フラッシュメッセージ４００が初回の受信であるか否かを判定する。初回の受信であるか否かは、例えば、記憶部１４０に記憶された障害ＭＡＣアドレステーブル１４１を参照して、該フラッシュメッセージ４００に含まれる障害ＭＡＣアドレスリスト４２０中のＭＡＣアドレスが登録済であるか否かにより判断できる。該ＭＡＣアドレスが未登録であれば、初回の受信であると判断する。該ＭＡＣアドレスが登録済であれば、２度目以降の受信であると判断する。初回の受信である場合、処理をステップＳ２３に進める。２度目以降の受信である場合、処理をステップＳ２５に進める。
【００７３】
［ステップＳ２３］通信制御部１２０は、受信したフラッシュメッセージ４００を、ポート１０１ａ，１０１ｂ，１０１ｃへフラッディングする。
［ステップＳ２４］メッセージ処理部１５０は、フラッシュメッセージ４００の障害ＭＡＣアドレスリスト４２０に含まれるＭＡＣアドレスを、受信ポートであるポート１０１の識別情報“Ｐ１”に対応付けて、障害ＭＡＣアドレステーブル１４１に設定する。そして、処理を終了する。
【００７４】
［ステップＳ２５］メッセージ処理部１５０は、受信したフラッシュメッセージ４００を破棄する。この場合、通信制御部１２０は、フラッシュメッセージ４００のフラッディングを行わない。そして、処理を終了する。
【００７５】
このように、スイッチ装置１００は、フラッシュメッセージ４００を受信すると、フラッディングを行う。また、スイッチ装置１００は、フラッシュメッセージ４００に設定されたＭＡＣアドレスを受信ポートに対応付けて障害ＭＡＣアドレステーブル１４１に登録する。
【００７６】
次に、スイッチ装置１００は、記憶部１１０に記憶された学習テーブル１１１の更新（エントリの削除）を実行する。
図１０は、第２の実施の形態の学習テーブル更新処理を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
【００７７】
［ステップＳ３１］テーブル管理部１６０は、記憶部１４０に記憶された障害ＭＡＣアドレステーブル１４１を参照して、ＭＡＣアドレスと対応する受信ポートの識別情報とを１つ抽出する。例えば、テーブル管理部１６０は、障害ＭＡＣアドレス“Ａ”と受信ポート“Ｐ１”の組を抽出したとする。
【００７８】
［ステップＳ３２］テーブル管理部１６０は、ステップＳ３１で抽出した障害ＭＡＣアドレスと同一のＭＡＣアドレスが記憶部１１０に記憶された学習テーブル１１１内に存在するか否かを判定する。存在する場合、処理をステップＳ３３に進める。存在しない場合、処理をステップＳ３５に進める。例えば、テーブル管理部１６０は、障害ＭＡＣアドレス“Ａ”と同一のＭＡＣアドレスのエントリが学習テーブル１１１に存在すると判断する。
【００７９】
［ステップＳ３３］テーブル管理部１６０は、学習テーブル１１１内の該ＭＡＣアドレスのエントリに設定されたポートの識別情報が、ステップＳ３１で抽出した受信ポートの識別情報と一致するか否かを判定する。一致する場合、処理をステップＳ３４に進める。一致しない場合、処理をステップＳ３５に進める。例えば、学習テーブル１１１では、ＭＡＣアドレス“Ａ”に対するポートが“Ｐ１”である。一方、ステップＳ３１では、受信ポート“Ｐ１”を抽出している。この場合、テーブル管理部１６０はポートが一致すると判断する。
【００８０】
［ステップＳ３４］テーブル管理部１６０は、学習テーブル１１１上の該ＭＡＣアドレスのエントリを削除する。例えば、テーブル管理部１６０は、学習テーブル１１１のＭＡＣアドレス“Ａ”のエントリを削除する。
【００８１】
［ステップＳ３５］テーブル管理部１６０は、障害ＭＡＣアドレステーブル１４１から、ステップＳ３１で抽出したエントリを削除する。例えば、テーブル管理部１６０は、障害ＭＡＣアドレス“Ａ”のエントリを削除する。
【００８２】
［ステップＳ３６］テーブル管理部１６０は、障害ＭＡＣアドレステーブル１４１内のエントリがなくなったか否かを判定する。エントリがなくなった場合、処理を終了する。エントリが残っている場合、処理をステップＳ３１に進める。
【００８３】
このようにして、スイッチ装置１００は、障害ＭＡＣアドレステーブル１４１に保持されたＭＡＣアドレスに関するエントリの、学習テーブル１１１からの削除を試みる。このとき、スイッチ装置１００は、障害ＭＡＣアドレスおよびフラッシュメッセージ４００の受信ポートの組と、学習テーブル１１１上のＭＡＣアドレスおよびポートの組と、が一致する場合に、学習テーブル１１１上の該エントリを削除する。
【００８４】
図１１は、第２の実施の形態の学習テーブル更新処理の例を示す図である。図１１では、スイッチ装置１００，１００ａ，１００ｂの各ポートを例示している。図１１では、各ポートを示す場合、ポートの識別情報を用いる。例えば、ポート１０１を示す場合、「ポート“Ｐ１”」のように表記する。
【００８５】
スイッチ装置１００の各ポートおよび学習テーブル１１１は、上述した通りである。
スイッチ装置１００ａは、ポート“Ｐ１ａ”、“Ｐ２ａ”、“Ｐ３ａ”、“Ｐ４ａ”を有する。ポート“Ｐ１ａ”は経路Ｌ１１に接続されている。ポート“Ｐ２ａ”は経路Ｌ２１に接続されている。ポート“Ｐ３ａ”は経路Ｌ１２に接続されている。ポート“Ｐ４ａ”は経路Ｌ３１に接続されている。また、スイッチ装置１００ａは学習テーブル１１１ａを保持している。
【００８６】
スイッチ装置１００ｂは、ポート“Ｐ１ｂ”、“Ｐ２ｂ”、“Ｐ３ｂ”、“Ｐ４ｂ”を有する。ポート“Ｐ１ｂ”は経路Ｌ１３に接続されている。ポート“Ｐ２ｂ”は経路Ｌ２３に接続されている。ポート“Ｐ３ｂ”は経路Ｌ１４に接続されている。ポート“Ｐ３ｃ”は経路Ｌ３３に接続されている。また、スイッチ装置１００ｂは学習テーブル１１１ｂを保持している。
【００８７】
例えば、経路Ｌ１１上の障害で、スイッチ装置１００ａがポート“Ｐ１ａ”のリンクダウンを検知する。すると、スイッチ装置１００ａは、フラッシュメッセージ４００を生成する。このとき、スイッチ装置１００ａは、学習テーブル１１１ａ上から、ポート“Ｐ１ａ”に対応するＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”をフラッシュメッセージ４００に含める。スイッチ装置１００ａは、フラッシュメッセージ４００をフラッディングする。その後、スイッチ装置１００ａは、学習テーブル１１１ａからＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”のエントリを削除する。
【００８８】
スイッチ装置１００は、スイッチ装置１００ａからフラッシュメッセージ４００を受信する。受信ポートはポート“Ｐ１”である。すると、スイッチ装置１００はフラッシュメッセージ４００に含まれる障害ＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”を抽出し、障害ＭＡＣアドレステーブル１４１に受信ポートとともに保持する。そして、スイッチ装置１００は、フラッシュメッセージ４００をフラッディングする。その後、スイッチ装置１００は、障害ＭＡＣアドレステーブル１４１を参照して、学習テーブル１１１からＭＡＣアドレス“Ａ”、“Ｃ”のエントリを削除する。ＭＡＣアドレス“Ｅ”のエントリを削除しないのは、フラッシュメッセージ４００の受信ポート“Ｐ１”と、学習テーブル１１１上の該エントリのポート“Ｐ４”とが一致しないからである。
【００８９】
スイッチ装置１００ｂは、スイッチ装置１００からフラッシュメッセージ４００を受信する。受信ポートはポート“Ｐ１ｂ”である。すると、スイッチ装置１００ｂはフラッシュメッセージ４００に含まれる障害ＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”を抽出し、スイッチ装置１００と同様に障害ＭＡＣアドレステーブルに保持する。そして、スイッチ装置１００ｂは、フラッシュメッセージ４００をフラッディングする。その後、スイッチ装置１００ｂは、障害ＭＡＣアドレステーブルを参照して、学習テーブル１１１ｂからＭＡＣアドレス“Ａ”のエントリを削除する。ＭＡＣアドレス“Ｃ”、“Ｅ”のエントリを削除しないのは、フラッシュメッセージ４００の受信ポート“Ｐ１ｂ”と、学習テーブル１１１ｂ上の該エントリの各ポート“Ｐ２ｂ”、“Ｐ４ｂ”とが一致しないからである。
【００９０】
次に、上記例における、フラッシュメッセージ４００の送信タイミングを説明する。なお、スイッチ装置１００，１００ａ，１００ｂのみを示して説明し、それ以外の装置の図示を省略する。
【００９１】
図１２は、第２の実施の形態のメッセージ伝達の例を示すシーケンス図である。以下、図１２に示す処理をステップ番号に沿って説明する。
［ステップＳＴ１０１］スイッチ装置１００ａは、ポート“Ｐ１ａ”のリンクダウンを検知する。
【００９２】
［ステップＳＴ１０２］スイッチ装置１００ａは、フラッシュメッセージ４００を生成して、フラッディングする。スイッチ装置１００は、スイッチ装置１００ａからフラッシュメッセージ４００を受信する。
【００９３】
［ステップＳＴ１０３］スイッチ装置１００ａは、学習テーブル１１１ａからポート“Ｐ１ａ”に対応するＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”のエントリを削除する。
［ステップＳＴ１０４］スイッチ装置１００は、フラッシュメッセージ４００に設定された障害ＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”を受信ポート“Ｐ１”に対応付けて記憶部１４０に記憶された障害ＭＡＣアドレステーブル１４１に設定する。スイッチ装置１００は、フラッシュメッセージ４００をフラッディングする。スイッチ装置１００ｂは、スイッチ装置１００からフラッシュメッセージ４００を受信する。
【００９４】
［ステップＳＴ１０５］スイッチ装置１００は、障害ＭＡＣアドレステーブル１４１を参照し、学習テーブル１１１からＭＡＣアドレス“Ａ”、“Ｃ”のエントリを削除する。
［ステップＳＴ１０６］スイッチ装置１００ｂは、フラッシュメッセージ４００に設定された障害ＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”を受信ポート“Ｐ１ｂ”に対応付けて障害ＭＡＣアドレステーブルに設定する。スイッチ装置１００ｂは、フラッシュメッセージ４００をフラッディングする。
【００９５】
［ステップＳＴ１０７］スイッチ装置１００ｂは、障害ＭＡＣアドレステーブルを参照し、学習テーブル１１１ｂからＭＡＣアドレス“Ａ”のエントリを削除する。
このようにして、スイッチ装置１００，１００ａ，１００ｂは、フラッシュメッセージ４００のフラッディング後に、それぞれ学習テーブル１１１，１１１ａ，１１１ｂを更新する。
【００９６】
なお、ステップＳＴ１０３は、ステップＳＴ１０４と同時あるいはステップＳＴ１０４より後でもよい。同様に、ステップＳＴ１０５は、ステップＳＴ１０６と同時あるいはステップＳＴ１０６より後でもよい。
【００９７】
次に、フラッシュメッセージ４００の送信タイミングの他の例を説明する。以下に示す例では、図１２と比較するため、スイッチ装置１００，１００ａ，１００ｂが学習テーブル１１１，１１１ａ，１１１ｂを更新した後に、フラッシュメッセージ４００をフラッディングするケースを示している。
【００９８】
図１３は、メッセージ伝達の他の例を示すシーケンス図である。以下、図１３に示す処理をステップ番号に沿って説明する。
［ステップＳＴ１１１］スイッチ装置１００ａは、ポート“Ｐ１ａ”のリンクダウンを検知する。
【００９９】
［ステップＳＴ１１２］スイッチ装置１００ａは、学習テーブル１１１ａからポート“Ｐ１ａ”に対応するＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”のエントリを削除する。
［ステップＳＴ１１３］スイッチ装置１００ａは、フラッシュメッセージ４００を生成して、フラッディングする。スイッチ装置１００は、スイッチ装置１００ａからフラッシュメッセージ４００を受信する。
【０１００】
［ステップＳＴ１１４］スイッチ装置１００は、フラッシュメッセージ４００に含まれる障害ＭＡＣアドレスに基づいて、学習テーブル１１１から所定のエントリを削除する。
［ステップＳＴ１１５］スイッチ装置１００は、フラッシュメッセージ４００をフラッディングする。スイッチ装置１００ｂは、スイッチ装置１００からフラッシュメッセージ４００を受信する。
【０１０１】
［ステップＳＴ１１６］スイッチ装置１００ｂは、フラッシュメッセージ４００に含まれる障害ＭＡＣアドレスに基づいて、学習テーブル１１１ｂから所定のエントリを削除する。
【０１０２】
［ステップＳＴ１１７］スイッチ装置１００ｂは、フラッシュメッセージ４００をフラッディングする。
このように、スイッチ装置１００，１００ａ，１００ｂが、それぞれ学習テーブル１１１，１１１ａ，１１１ｂを更新した後に、フラッシュメッセージ４００をフラッディングすると、該更新処理によって、フラッディングのタイミングが遅延する。特に、図１２と図１３とを比較すると、図１３では、フラッシュメッセージ４００の生成元であるスイッチ装置１００ａから離れるほど、フラッディングのタイミングの遅延が顕著となることが分かる。
【０１０３】
そこで、スイッチ装置１００，１００ａ，１００ｂは、図１２に示したように、まず、障害ＭＡＣアドレスを記録する。次に、フラッシュメッセージ４００をフラッディングする。その後、記録した障害ＭＡＣアドレスに基づく学習テーブル１１１，１１１ａ，１１１ｂの更新を行う。このようにして、フラッディングのタイミングの遅延を容易に低減できる。
【０１０４】
このとき、スイッチ装置１００，１００ａ，１００ｂは、フラッシュメッセージ４００の受信ポートも記録しておく。そして、障害ＭＡＣアドレスと受信ポートとの組が、学習テーブル１１１，１１１ａ，１１１ｂに設定された組と一致する場合に、学習テーブル１１１，１１１ａ，１１１ｂから該エントリを削除する。このようにすれば、該障害ＭＡＣアドレスのノードに対して、使用不能な経路以外の経路を学習している場合に、該経路の情報が削除されてしまうことを防止できる。
【０１０５】
なお、第２の実施の形態では、フラッディングの直後に学習テーブル１１１，１１１ａ，１１１ｂの更新処理を実行する場合を例示したが、例えば、フラッディング後から所定時間経過した後に、更新処理を実行してもよい。
【０１０６】
［第３の実施の形態］
以下、第３の実施の形態を説明する。前述の第２の実施の形態との相違点を主に説明し、同様の事項は説明を省略する。
【０１０７】
第２の実施の形態では、スイッチ装置１００がフラッシュメッセージ４００をフラッディングした直後に、記憶部１１０に記憶された学習テーブル１１１を更新する例を示した。一方、スイッチ装置１００は、他の方法で学習テーブル１１１を更新してもよい。第３の実施の形態では、第２の実施の形態とは異なる処理方式で学習テーブル１１１を更新する機能を提供する。
【０１０８】
ここで、第３の実施の形態の情報処理システムの構成は、図２で説明した第２の実施の形態の情報処理システムの構成と同様である。また、第３の実施の形態のスイッチ装置のハードウェアおよび機能は、図３，４で説明した第２の実施の形態のスイッチ装置１００のハードウェアおよび機能と同様である。第３の実施の形態では、第２の実施の形態で用いた符号・名称と同一の符号・名称により、各構成を指し示すものとする。
【０１０９】
以下、第３の実施の形態の情報処理システムの処理手順を説明する。ここで、第３の実施の形態の障害検知時の処理は、図８で説明した第２の実施の形態の障害検知時の処理と同様である。また、第３の実施の形態のメッセージ受信時の処理は、図９で説明した第２の実施の形態のメッセージ受信時の処理と同様である。
【０１１０】
一方、第３の実施の形態では、学習テーブル更新処理が第２の実施の形態とは異なる。以下、学習テーブル更新処理の手順を説明する。なお、記憶部１１０には、図６で示した学習テーブル１１１が格納されているとする。記憶部１４０には、図７で示した障害ＭＡＣアドレステーブル１４１が格納されているとする。
【０１１１】
図１４は、第３の実施の形態の学習テーブル更新処理を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。
［ステップＳ４１］通信制御部１２０は、中継対象のフレームを受信し、スイッチ処理部１０４に出力する。該フレームは、サーバ装置３００からサーバ装置２００へ向けて送信されたものであるとする。この場合、該フレームのヘッダの宛先ＭＡＣアドレスは“Ａ”、送信元ＭＡＣアドレスは“Ｂ”である。
【０１１２】
［ステップＳ４２］スイッチ処理部１０４は、記憶部１１０に記憶された学習テーブル１１１に基づいて、宛先ＭＡＣアドレスを学習済であるか否かを判定する。学習済である場合、スイッチ処理部１０４はテーブル管理部１６０に処理を委譲して、処理をステップＳ４３に進める。未学習である場合、処理をステップＳ４７に進める。例えば、宛先ＭＡＣアドレス“Ａ”のエントリが学習テーブル１１１に登録されている。この場合、スイッチ処理部１０４は、該宛先ＭＡＣアドレス“Ａ”を学習済である。
【０１１３】
［ステップＳ４３］テーブル管理部１６０は、宛先ＭＡＣアドレスが記憶部１４０に記憶された障害ＭＡＣアドレステーブル１４１内の障害ＭＡＣアドレスに一致するか否かを判定する。一致する場合、処理をステップＳ４４に進める。一致しない場合、処理をステップＳ４８に進める。例えば、宛先ＭＡＣアドレス“Ａ”のエントリが障害ＭＡＣアドレステーブル１４１に登録されている。この場合、テーブル管理部１６０は、宛先ＭＡＣアドレスが障害ＭＡＣアドレスに一致すると判定する。
【０１１４】
［ステップＳ４４］テーブル管理部１６０は、ステップＳ４３で判断した学習テーブル１１１および障害ＭＡＣアドレステーブル１４１の同一ＭＡＣアドレスのエントリにつき、ポートが一致するか否かを判定する。一致する場合、処理をステップＳ４５に進める。一致しない場合、処理をステップＳ４８に進める。例えば、学習テーブル１１１中ではＭＡＣアドレス“Ａ”に対するポートが“Ｐ１”である。また、障害ＭＡＣアドレステーブル１４１の障害ＭＡＣアドレス“Ａ”に対する受信ポートが“Ｐ１”である。この場合、テーブル管理部１６０は、両エントリにつきポートが一致すると判定する。
【０１１５】
［ステップＳ４５］テーブル管理部１６０は、学習テーブル１１１から該宛先ＭＡＣアドレスのエントリを削除する。例えば、テーブル管理部１６０は、学習テーブル１１１からＭＡＣアドレス“Ａ”のエントリを削除する。
【０１１６】
［ステップＳ４６］テーブル管理部１６０は、障害ＭＡＣアドレステーブル１４１から該障害ＭＡＣアドレスのエントリを削除する。例えば、テーブル管理部１６０は、障害ＭＡＣアドレステーブル１４１から障害ＭＡＣアドレス“Ａ”のエントリを削除する。
【０１１７】
［ステップＳ４７］通信制御部１２０は、ステップＳ４１で受信したフレームを、受信ポート以外のポートにフラッディングする。そして、処理を終了する。
［ステップＳ４８］スイッチ処理部１０４は、学習テーブル１１１を参照して、宛先ＭＡＣアドレスに対して学習済の学習ポートを通信制御部１２０に通知する。通信制御部１２０は、ステップＳ４１で受信したフレームを、該学習ポートから送出する。そして、処理を終了する。
【０１１８】
このように、第３の実施の形態のスイッチ装置１００は、中継対象のフレームを受信したタイミングで、学習テーブル１１１の更新処理を実行する。
なお、ステップＳ４４でポートが一致しないと判断した場合、障害ＭＡＣアドレステーブル１４１から、宛先ＭＡＣアドレスに対応するエントリを削除してもよい。
【０１１９】
次に、上記例における、フラッシュメッセージ４００の送信タイミングを説明する。なお、スイッチ装置１００，１００ａ，１００ｂのみを示して説明し、それ以外の装置の図示を省略する。なお、スイッチ装置１００，１００ａ，１００ｂの各ポートと各経路との接続関係は、図１１で示した接続関係と同様であるとする。また、スイッチ装置１００，１００ａ，１００ｂは、それぞれ学習テーブル１１１，１１１ａ，１１１ｂを保持しているとする。
【０１２０】
図１５は、第３の実施の形態のメッセージ伝達の例を示すシーケンス図である。以下、図１５に示す処理をステップ番号に沿って説明する。
［ステップＳＴ１２１］スイッチ装置１００ａは、ポート“Ｐ１ａ”のリンクダウンを検知する。
【０１２１】
［ステップＳＴ１２２］スイッチ装置１００ａは、フラッシュメッセージ４００を生成して、フラッディングする。スイッチ装置１００は、スイッチ装置１００ａからフラッシュメッセージ４００を受信する。また、スイッチ装置１００ａは、学習テーブル１１１ａからポート“Ｐ１ａ”に対応するＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”のエントリを削除する。
【０１２２】
［ステップＳＴ１２３］スイッチ装置１００は、フラッシュメッセージ４００に設定された障害ＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”を受信ポート“Ｐ１”に対応付けて記憶部１４０に記憶された障害ＭＡＣアドレステーブル１４１に設定する。スイッチ装置１００は、フラッシュメッセージ４００をフラッディングする。スイッチ装置１００ｂは、スイッチ装置１００からフラッシュメッセージ４００を受信する。
【０１２３】
［ステップＳＴ１２４］スイッチ装置１００ｂは、フラッシュメッセージ４００に設定された障害ＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”を受信ポート“Ｐ１ｂ”に対応付けて障害ＭＡＣアドレステーブルに設定する。スイッチ装置１００ｂは、フラッシュメッセージ４００をフラッディングする。
【０１２４】
［ステップＳＴ１２５］スイッチ装置１００ｂは、経路Ｌ１４を介して、サーバ装置３００を送信元（ＭＡＣアドレス“Ｂ”）とし、サーバ装置２００を宛先（ＭＡＣアドレス“Ｂ”）としたフレームを受信する。
【０１２５】
［ステップＳＴ１２６］スイッチ装置１００ｂは、該フレームに含まれる宛先ＭＡＣアドレス“Ａ”を抽出し、該ＭＡＣアドレスが障害ＭＡＣアドレステーブル内の障害ＭＡＣアドレスに一致すると判断する。更に、スイッチ装置１００ｂは、障害ＭＡＣアドレステーブル内の該障害ＭＡＣアドレス“Ａ”および受信ポート“Ｐ１ｂ”の組と、学習テーブル１１１ｂ内のＭＡＣアドレス“Ａ”およびポート“Ｐ１ｂ”の組と、が一致すると判断する。すると、スイッチ装置１００ｂは、学習テーブル１１１ｂからＭＡＣアドレス“Ａ”のエントリを削除する。更に、スイッチ装置１００ｂは、障害ＭＡＣアドレステーブルから障害ＭＡＣアドレス“Ａ”のエントリを削除する。
【０１２６】
［ステップＳＴ１２７］スイッチ装置１００ｂは、ステップＳＴ１２５で受信したフレームをフラッディングする。スイッチ装置１００は、該フレームを受信する。
［ステップＳＴ１２８］スイッチ装置１００は、該フレームに含まれる宛先ＭＡＣアドレス“Ａ”を抽出し、該ＭＡＣアドレスが障害ＭＡＣアドレステーブル１４１内の障害ＭＡＣアドレスに一致すると判断する。更に、スイッチ装置１００は、障害ＭＡＣアドレステーブル１４１内の該障害ＭＡＣアドレス“Ａ”および受信ポート“Ｐ１”の組と、学習テーブル１１１内のＭＡＣアドレス“Ａ”およびポート“Ｐ１”の組と、が一致すると判断する。すると、スイッチ装置１００は、学習テーブル１１１からＭＡＣアドレス“Ａ”のエントリを削除する。更に、スイッチ装置１００は、障害ＭＡＣアドレステーブル１４１から障害ＭＡＣアドレス“Ａ”のエントリを削除する。
【０１２７】
［ステップＳＴ１２９］スイッチ装置１００は、ステップＳＴ１２７で受信したフレームをフラッディングする。スイッチ装置１００ａは、該フレームを受信する。
［ステップＳＴ１３０］スイッチ装置１００ａは、該フレームに含まれる宛先ＭＡＣアドレス“Ａ”を抽出する。スイッチ装置１００ａは、学習テーブル１１１ａに該宛先ＭＡＣアドレス“Ａ”のエントリが存在しないことを検知する（ステップＳＴ１２２で削除済のため）。スイッチ装置１００ａは、該フレームをフラッディングする。
【０１２８】
このように、スイッチ装置１００，１００ｂは、フラッシュメッセージ４００を送受信した後、削除対象のＭＡＣアドレスを宛先としたフレームを中継する際に、該ＭＡＣアドレスのエントリを学習テーブル１１１，１１１ｂから削除する。これにより、第２の実施の形態と同様の効果を得られる。
【０１２９】
なお、スイッチ装置１００ａは、ステップＳＴ１２２で学習テーブル１１１ａの更新を行うものとした。一方、スイッチ装置１００ａは、ステップＳＴ１２９で中継対象のフレームを受信したときに、スイッチ装置１００，１００ｂと同様にして学習テーブル１１１ａを更新してもよい。
【０１３０】
第３の実施の形態では、削除対象のＭＡＣアドレスを宛先としたフレームを受信しないと障害ＭＡＣアドレステーブル１４１から該ＭＡＣアドレスのエントリの削除が行われない。すると、障害ＭＡＣアドレステーブル１４１に余分なエントリが残留する可能性がある。そこで、テーブル管理部１６０は、障害ＭＡＣアドレステーブル１４１から余分なエントリを定期的に削除する。例えば、学習テーブル１１１のエージングタイマを利用することが考えられる。エージングタイマとは、学習テーブル１１１における各エントリの登録期限である。
【０１３１】
図１６は、第３の実施の形態のエージング管理処理を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。
［ステップＳ５１］テーブル管理部１６０は、記憶部１４０に記憶された障害ＭＡＣアドレステーブル１４１のエントリごとにタイマ監視する。タイマのカウント開始のタイミングは、例えば該エントリが障害ＭＡＣアドレステーブル１４１に設定されたタイミングである。
【０１３２】
［ステップＳ５２］テーブル管理部１６０は、エージングタイマを超過したエントリが存在するか否かを判定する。存在する場合、処理をステップＳ５３に進める。存在しない場合、処理をステップＳ５１に進める。
【０１３３】
［ステップＳ５３］テーブル管理部１６０は、エージングタイマを超過したエントリを障害ＭＡＣアドレステーブル１４１から削除する。そして、処理をステップＳ５１に進める。
【０１３４】
このように、スイッチ装置１００は、障害ＭＡＣアドレステーブル１４１のエントリを、エージングタイマによるカウントが満了したタイミングで削除する。学習テーブル１１１のエージングタイマを用いる理由は次の通りである。すなわち、該エージングタイマを超えてまで障害ＭＡＣアドレステーブル１４１にエントリを保持したとしても、該エントリに対応する宛先ＭＡＣアドレスにフレームを受信する可能性は低いと考えられる。このため、エージングタイマを超えた障害ＭＡＣアドレスのエントリを用いた、学習テーブル１１１の更新が行われる可能性は低いと考えられるからである。
【０１３５】
これにより、障害ＭＡＣアドレステーブル１４１に余分なエントリが残留する可能性を低減でき、メモリ１０５ｂを効率的に利用できる。
［第４の実施の形態］
以下、第４の実施の形態を説明する。前述の第２，第３の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
【０１３６】
第２，第３の実施の形態では、スイッチ装置１００が学習テーブル１１１を更新するための異なる処理方式を例示した。ここで、何れの処理方式で更新するかを指定可能としてもよい。第４の実施の形態では、その機能を提供する。
【０１３７】
ここで、第４の実施の形態の情報処理システムの構成は、図２で説明した第２の実施の形態の情報処理システムの構成と同様である。また、第４の実施の形態のスイッチ装置のハードウェアおよび機能は、図３，４で説明した第２の実施の形態のスイッチ装置１００のハードウェアおよび機能と同様である。第４の実施の形態では、第２の実施の形態で用いた符号・名称と同一の符号・名称により、各構成を指し示すものとする。
【０１３８】
図１７は、第４の実施の形態のフラッシュメッセージの例を示す図である。フラッシュメッセージ４００ａには、ヘッダ４１０、障害ＭＡＣアドレスリスト４２０および処理方式４３０の各フィールドが設けられている。
【０１３９】
ヘッダ４１０および障害ＭＡＣアドレスリスト４２０は、図５で説明した通りである。
処理方式４３０は、学習テーブルの更新処理の処理方式を指定するためのフィールドである。ここで、処理方式は、次のようにして指定される。
【０１４０】
（１）処理方式“Ｍ１”は、第２の実施の形態で説明した手順で学習テーブルを更新する処理方式である。具体的には、フラッシュメッセージのフラッディングの直後に学習テーブルを更新する処理方式である。
【０１４１】
（２）処理方式“Ｍ２”は、第３の実施の形態で説明した手順で学習テーブルを更新する処理方式である。具体的には、フラッシュメッセージのフラッディング後、中継対象のフレームを受信した時に、学習テーブルを更新する処理方式である。
【０１４２】
なお、処理方式に設定がない（“ＮＵＬＬ”）の場合、各スイッチ装置に設定されたデフォルトの処理方式を用いるものとする。
例えば、スイッチ装置１００ａが経路Ｌ１１での障害を検知したとする。すると、スイッチ装置１００ａは、フラッシュメッセージ４００ａを生成して、経路Ｌ１２，Ｌ２１，Ｌ３１へフラッディングする。このとき、スイッチ装置１００ａは、経路Ｌ１１の先に接続されているサーバ装置２００，２００ａ，２００ｂのＭＡＣアドレスを、障害ＭＡＣアドレスリスト４２０に含める。また、スイッチ装置１００ａは、フラッシュメッセージ４００ａに学習テーブルの処理方式４３０を設定する。処理方式“Ｍ１”、“Ｍ２”、あるいは“ＮＵＬＬ”の何れを設定するかは、情報処理システムの管理者により、スイッチ装置１００ａに予め設定される。
【０１４３】
図１８は、第４の実施の形態の障害ＭＡＣアドレステーブルの例を示す図である。障害ＭＡＣアドレステーブル１４１ａは、記憶部１４０に格納される。障害ＭＡＣアドレステーブル１４１ａには、障害ＭＡＣアドレス、受信ポートおよび処理方式の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのノードの情報を示す。
【０１４４】
障害ＭＡＣアドレスおよび受信ポートの項目の設定内容は、図７で説明した通りである。処理方式の項目には、該エントリを何れの処理方式で処理するかが設定される。
障害ＭＡＣアドレステーブル１４１ａは、スイッチ装置１００がスイッチ装置１００ａから経路Ｌ１２を介してフラッシュメッセージ４００ａを受信した場合を例示している。フラッシュメッセージ４００ａには、障害ＭＡＣアドレスリスト４２０にＭＡＣアドレス“Ａ”、“Ｃ”、“Ｅ”が設定されている。また、処理方式に“Ｍ１”が設定されている。この場合、例えば、障害ＭＡＣアドレステーブル１４１ａには、障害ＭＡＣアドレスが“Ａ”、受信ポートが“Ｐ１”、処理方式が“Ｍ１”という情報が設定される。また、障害ＭＡＣアドレスが“Ｃ”、受信ポートが“Ｐ１”、処理方式が“Ｍ１”という情報が設定される。更に、障害ＭＡＣアドレスが“Ｅ”、受信ポートが“Ｐ１”、処理方式が“Ｍ１”という情報が設定される。
【０１４５】
次に、以上の構成の情報処理システムの処理手順を説明する。ここで、第４の実施の形態の障害検知時の処理は、図８で説明した第２の実施の形態の障害検知時の処理と同様である。ただし、スイッチ装置１００ａは、フラッシュメッセージ４００に代えてフラッシュメッセージ４００ａを生成し、送信する。また、第４の実施の形態のメッセージ受信時の処理は、図９で説明した第２の実施の形態のメッセージ受信時の処理と同様である。ただし、スイッチ装置１００は、フラッシュメッセージ４００ａに含まれる処理方式４３０の設定内容を障害ＭＡＣアドレステーブル１４１ａに保持する。
【０１４６】
また、第４の実施の形態では、スイッチ装置１００は、フラッシュメッセージ４００ａを受信した後、何れの処理方式で学習テーブル１１１の更新を行うかを判断する。次に、処理方式の判断処理の手順を説明する。
【０１４７】
図１９は、第４の実施の形態の処理方式決定処理を示すフローチャートである。以下、図１９に示す処理をステップ番号に沿って説明する。
［ステップＳ６１］テーブル管理部１６０は、記憶部１４０に記憶された障害ＭＡＣアドレステーブル１４１ａを参照して、各エントリの処理方式を判定する。処理方式が“Ｍ１”の場合、処理をステップＳ６２に進める。処理方式が“Ｍ２”の場合、処理をステップＳ６３に進める。処理方式が“ＮＵＬＬ”の場合、処理をステップＳ６４に進める。
【０１４８】
［ステップＳ６２］テーブル管理部１６０は、各エントリを処理方式“Ｍ１”で処理する。具体的には、通信制御部１２０がフラッシュメッセージ４００ａをフラッディングした後に、テーブル管理部１６０は学習テーブル１１１の更新処理を行う。その手順は、図１０で説明した通りである。そして、処理を終了する。
【０１４９】
［ステップＳ６３］テーブル管理部１６０は、各エントリを処理方式“Ｍ２”で処理する。具体的には、フレームの中継が発生したタイミングで、テーブル管理部１６０は学習テーブル１１１の更新処理を行う。その手順は、図１４で説明した通りである。そして、処理を終了する。
【０１５０】
［ステップＳ６４］テーブル管理部１６０は、スイッチ装置１００に予め設定されたデフォルトの処理方式で各エントリを処理する。例えば、情報処理システムの管理者により、処理方式“Ｍ１”、“Ｍ２”の何れを用いるかが、スイッチ装置１００に予め設定される。そして、処理を終了する。
【０１５１】
このようにして、スイッチ装置１００はフラッシュメッセージ４００ａに基づいて、複数の処理方式のうちの何れかにより、学習テーブル１１１の更新処理を行うこともできる。また、スイッチ装置が複数存在する場合、各スイッチ装置でデフォルトの処理方式が異なることもある。そのような場合にも、フラッシュメッセージ４００ａにより処理方式を指定することで、各スイッチ装置の処理方式を容易に統一することができる。
【０１５２】
なお、処理方式として“Ｍ１”、“Ｍ２”を例示したが、他の処理方式を選択可能としてもよい。例えば、フラッシュメッセージ４００ａをフラッディングした後、所定時間が経過してから、学習テーブル１１１を更新する処理方式が考えられる。
【０１５３】
また、第２〜第４の実施の形態では、スイッチ装置１００，１００ａ，１００ｂ，１００ｃ，１００ｄとしてＬ２スイッチ装置を例示したが、これに限らない。例えば、レイヤ２のスイッチング機能を備えたＬ３スイッチ装置やルータ装置などにも、第２〜第４の実施の形態で示した機能を適用できる。
【０１５４】
以上、本件の通信装置および通信プログラムを図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されてもよい。また、本発明は前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１５５】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１５６】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＣＤ（Compact Disc）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−Ｒ／ＲＷ／ＲＡＭ（Random Access Memory）などがある。光磁気記録媒体には、ＭＯ（Magneto - Optical disk）などがある。半導体メモリには、ＵＳＢ（Universal Serial Bus）メモリなどのフラッシュメモリがある。
【０１５７】
上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ（Read Only Memory）などの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータに格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１５８】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【符号の説明】
【０１５９】
１，２，２ａ，２ｂ  通信装置
１ａ，１ｂ，１ｃ  通信ポート
１ｄ  第１の記憶部
１ｅ  第２の記憶部
１ｆ  通信部
１ｇ  制御部
３，３ａ，３ｂ  ノード
【図１】
2013034139.tif 000003
【図２】
2013034139.tif 000004
【図３】
2013034139.tif 000005
【図４】
2013034139.tif 000006
【図５】
2013034139.tif 000007
【図６】
2013034139.tif 000008
【図７】
2013034139.tif 000009
【図８】
2013034139.tif 000010
【図９】
2013034139.tif 000011
【図１０】
2013034139.tif 000012
【図１１】
2013034139.tif 000013
【図１２】
2013034139.tif 000014
【図１３】
2013034139.tif 000015
【図１４】
2013034139.tif 000016
【図１５】
2013034139.tif 000017
【図１６】
2013034139.tif 000018
【図１７】
2013034139.tif 000019
【図１８】
2013034139.tif 000020
【図１９】
2013034139.tif 000021