(57)【要約】 【課題】  複数のセグメントに対して一斉にブロードキャストする【解決手段】  それぞれが少なくとも１つのエージェントを有する、少なくとも１つのセグメントと、前記セグメントに対してユニキャストでデータ送信可能なブローカと、ブロードキャスト要求元とを含むシステムであって、ブローカは、各セグメントについて１台の現用エージェントを選出し、該現用エージェントの正常動作を確認し、該現用エージェントに異常があれば同セグメント内の別のエージェントを現用エージェントに選出し、ブロードキャスト要求元からのブロードキャスト要求に応じて前記各セグメントの現用エージェントにブロードキャスト要求をユニキャストで中継し、現用エージェントは、ブローカからのブロードキャスト要求を受け、該現用エージェントを含むセグメント内の他のコンピュータに対してブロードキャストを行うブロードキャストシステムおよび同方法。【選択図】  図１
2010103757.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが少なくとも１つのエージェントを有する、少なくとも１つのセグメントと、
前記セグメントに対してユニキャストでデータ送信可能なブローカと、
ブロードキャスト要求元とを含むネットワークにおけるブロードキャスト方法であって、
前記ブローカは、前記各セグメントについて１台の現用エージェントを選出し、該現用エージェントの正常動作を確認し、該現用エージェントに異常があれば同セグメント内の別のエージェントを現用エージェントに選出し、前記ブロードキャスト要求元からのブロードキャスト要求に応じて前記各セグメントの現用エージェントにブロードキャスト要求を中継し、
前記現用エージェントは、前記ブローカからのブロードキャスト要求を受け、該現用エージェントを含むセグメント内の他のコンピュータに対してブロードキャストを行うブロードキャスト方法。
【請求項２】
前記ブローカは、ブロードキャスト要求元からのブロードキャスト要求を現用エージェントに中継する際に、現用エージェントの異常を検出した際は、当該現用エージェントを含むセグメント内の別のエージェントを現用エージェントに選出して、選出された現用エージェントに対してブロードキャスト要求を中継する請求項１に記載のブロードキャスト方法。
【請求項３】
前記現用エージェントからの応答が所定時間以内に受け取れない場合に、前記ブローカは当該現用エージェントの異常が検出されたと判断する請求項２に記載のブロードキャスト方法。
【請求項４】
前記ブローカは、現用エージェントとは異なるエージェントから、現用エージェントが応答していない旨の通知を受けた際は、現用エージェントに変えて当該セグメント内の別のエージェントを現用エージェントに選出する請求項１ないし３の何れかに記載のブロードキャスト方法。
【請求項５】
前記現用エージェントはブローカからのヘルスチェックを受けて応答をブローカに返すと共に、セグメント内の他のエージェントに対して生存通知を送信し、セグメント内の現用エージェント以外のエージェントが現用エージェントは機能していないと認識した場合はブローカにその旨を通知する請求項１ないし４の何れかに記載のブロードキャスト方法。
【請求項６】
前記ブロードキャスト要求元から前記ブローカへのブロードキャスト要求および前記ブローカから前記現用エージェントへのブロードキャスト要求中継はＴＣＰユニキャストによって行い、該現用エージェントからセグメント内の他のエージェントへのブロードキャストはＵＤＰブロードキャストによって行う請求項１ないし５の何れかに記載のブロードキャスト方法。
【請求項７】
それぞれが少なくとも１つのエージェントを有する、少なくとも１つのセグメントと、
前記セグメントに対してユニキャストでデータ送信可能なブローカと、
ブロードキャスト要求元とを含み、
前記ブローカは、前記各セグメントについて１台の現用エージェントを選出し、該現用エージェントの正常動作を確認し、該現用エージェントに異常があれば同セグメント内の別のエージェントを現用エージェントに選出し、前記ブロードキャスト要求元からのブロードキャスト要求に応じて前記各セグメントの現用エージェントにブロードキャスト要求を中継し、
前記現用エージェントは、前記ブローカからのブロードキャスト要求を受け、該現用エージェントを含むセグメント内の他のコンピュータに対してブロードキャストを行うよう構成されたブロードキャストシステム。
【請求項８】
それぞれが少なくとも１つのエージェントを有する、少なくとも１つのセグメントと、
前記セグメントに対してＴＣＰユニキャストでデータ送信可能なブローカと、
ブロードキャスト要求元とを含むネットワークに対して、
請求項１ないし６の何れかに記載された方法を実行させるコンピュータソフトウェア。
【請求項９】
前記請求項８に記載のコンピュータソフトウェアを格納したコンピュータによって読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータに対してデータを一斉に送信することができるブロードキャストシステム、ブロードキャスト方法、コンピュータシステムに同ブロードキャスト方法を実行させるコンピュータプログラム、同コンピュータプログラムを格納したコンピュータによって読み取り可能な記憶媒体に関し、特に、本発明に係るブロードキャスト方法等は、エージェントプログラムを介することによって、ブローカから複数のセグメントに対してＵＤＰブロードキャストを実行可能にするものである。
【０００２】
ＵＤＰブロードキャストは、ネットワークインフラに与える負担を最小限に抑えながら複数のコンピュータに対してデータを一斉送信することができるものであるが、通常、ＵＤＰブロードキャストはセグメント同士を接続するルータによって遮断されているために、送信元コンピュータと受信先コンピュータは同一のセグメント上に存在する必要があるという制約を受ける。
【０００３】
特開２００４−２８２１９９号公報（特許文献１)は、このような制約に対する解決手段の1つを開示するものである。同公報によれば、ルータによって相互に遮断されている複数のセグメント（サブネットワーク）が存在する状況において、1つのセグメント内におけるブロードキャストを他のセグメントにおいてもブロードキャストするために、ブロードキャストリレーを用いる。すなわち、ブロードキャスト・リレーＡは、サブネットワークＡ内のネットワーク全体ブロードキャストに対して、そのパケットの送信先アドレスを、サブネットワークＢに属するブロードキャスト・リレーＢのアドレスに変更したパケットを生成し、それをサブネットワークＡに出力する。ブロードキャスト・リレーＢは、自分宛てのパケットに対し、ローカル・ブロードキャストとしてのサブネットワークＢ専用のブロードキャストを生成し、サブネットワークＢに出力する。
【０００４】
特開２００４-３２８７１９号公報（特許文献２)も特許文献１同様に、セグメントの境界を越えてブロードキャストを中継するシステムに関する発明を開示しており、同システムは、サブネット境界を越えてサブネットブロードキャストをブリッジするためのシステムであって、第１のサブネットを発信元とする第１のブロードキャストメッセージを受信するように適合されたレシーバと、第１のブロードキャストメッセージを第２のサブネットに送信するように適合されたリピータと、第１のサブネット以外のサブネットを発信元とする第２のブロードキャストメッセージを第１のサブネット上でブロードキャストするように適合されたレプリケータとを備える。
【特許文献１】特開２００４−２８２１９９号公報
【特許文献２】特開２００４−３２８７１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載されたシステムの場合、ブロードキャストリレーを用いることによって１つのセグメント内でブロードキャストされた情報を他のセグメント内でブロードキャストすることが可能になるが、いわばセグメントの境界を越えてブロードキャストを順次伝達する方法なので、１つのブロードキャスト要求元から複数のセグメントに対して一斉にブロードキャストを送る要請には適合していない。すなわち、ブロードキャストリレーが不調の場合には、それ以降のセグメントへのブロードキャスト伝達は行われないことになる。また、セグメント内でのブロードキャストはセグメントごとに設けられたブロードキャストリレーによるので、ブロードキャストリレーが不調であれば当該セグメントへのブロードキャストは行われないことになるという問題がある。
【０００６】
特許文献２に記載されたシステムの場合、第１のブロードキャストメッセージが、第２のサブネットから第１のサブネットに送り返されず、かつ／または第１のブロードキャストメッセージが、第１のサブネット上で再ブロードキャストされない点において上記特許文献１に記載されたシステムと異なるが、特許文献１に記載のシステムについて上述した課題を有する点に関しては、特許文献１に記載のシステムと同様である。
【０００７】
本発明は、上記の課題を解決し、ブロードキャスト要求元から複数のセグメントに対していっせいにブロードキャストすることを可能にし、さらに、当該ブロードキャストが各セグメントに対して確実に行われることを担保することを目的とする。本発明が解決する、さらに別の課題と本発明によって得られる効果は、明細書の記載全体を通じて明らかにする。
【課題を解決するための手段】
【０００８】
本発明は、それぞれが少なくとも１つのエージェントを有する、少なくとも１つのセグメントと、
前記セグメントに対してユニキャストでデータ送信可能なブローカと、
ブロードキャスト要求元とを含むネットワークにおけるブロードキャスト方法であって、
前記ブローカは、前記各セグメントについて１台の現用エージェントを選出し、該現用エージェントの正常動作を確認し、該現用エージェントに異常があれば同セグメント内の別のエージェントを現用エージェントに選出し、前記ブロードキャスト要求元からのブロードキャスト要求に応じて前記各セグメントの現用エージェントにブロードキャスト要求を中継し、
前記現用エージェントは、前記ブローカからのブロードキャスト要求を受け、該現用エージェントを含むセグメント内の他のコンピュータに対してブロードキャストを行うブロードキャスト方法を提示する。
【０００９】
本明細書に於いてエージェントとは、データの送受信を行って必要な処理を実行する装置一般を意味しており、クライアントコンピュータ、サーバコンピュータ、送受信装置、記憶装置、読取装置、測定装置、観測装置等その名称を問わない。本明細書に於いてセグメントとは、ルータを介さずに相互に接続されている一群のエージェントまたはルータを介して外部と接続されたネットワーク領域の意味で用いる。サブネットワークと称する場合もある。セグメントからセグメント外へのデータ送受信はルータを介することが必要である。ユニキャストとは、単一の送信相手に対するデータ送信の意味である。これに対してブロードキャストは、ネットワーク上の全てのノードに対して同時に同じデータを送信すること意味で用いる。ただし、本明細書では、記載の煩雑さを避けるために、特定の複数の相手に対してデータを送信するマルチキャストもブロードキャストに含めて記載する。さらに、ユニキャストと称した場合、複数の相手に対してユニキャスト送信する意味におけるマルチキャストも含むものとする。ブロードキャスト要求元は、他のネットワークに対してブロードキャストをブローカに要求するプログラム、サービス等である。
【００１０】
ブローカは、ブロードキャスト要求元のブロードキャスト要求を現用エージェントに中継する機能を有する装置一般を指し、クライアントコンピュータ、サーバコンピュータ、送受信装置等の名称を問わない。また、ブローカはブロードキャスト要求元と別体である必要はなく、ハードウェア又はソフトウェアとしてブロードキャスト要求元と一体化しているものであっても良い。
【００１１】
現用エージェントとは、前記エージェントのうちセグメント内で基本的に１つ選出されたものであって、ブローカからのブロードキャスト要求を受け、セグメント内でのブロードキャストを実行する。現用エージェントと他のエージェントは、エージェントとして選出されているか否かの相違以外には相違している必要はない。ブローカによる現用エージェントの正常動作確認は、ブロードキャスト中継時に行われてもよいし、それ以外の時点で例えば定期的に行われるものであっても良い。
【００１２】
上記構成からなるブロードキャスト方法によった場合、ブロードキャスト要求を複数のセグメントに属する複数のエージェントに対して速やかに、かつ確実に実行することができる。
【００１３】
前記ブローカは、ブロードキャスト要求元からのブロードキャスト要求を現用エージェントに中継する際に、現用エージェントの異常を検出した際は、当該現用エージェントを含むセグメント内の別のエージェントを現用エージェントに選出して、選出された現用エージェントに対してブロードキャスト要求を中継するものであってもよい。
当該方法によって、現用エージェントの異常に起因してブロードキャストがセグメント内で実行されない事象の発生を防止することができる。
【００１４】
前記ブローカによる現用エージェントの異常検出は、現用エージェントからの応答が所定時間以内に受け取れない場合に異常と判断するものであっても良い。当該所定時間を短く設定することによって（例えば、３秒）、現用エージェントの異常時に速やかに同セグメント内の別のエージェントを現用エージェントに選出する対処が可能になる。
【００１５】
前記ブローカは、現用エージェントとは異なるエージェントから、現用エージェントが応答していない旨の通知を受けた際は、現用エージェントに変えて当該セグメント内の別のエージェントを現用エージェントに選出するものであってもよい。
現用エージェントとは異なるエージェントによる現用エージェントの応答チェックを定期的あるいは所定の事象ごとに行うことにすれば、ブロードキャスト中継の発生前に異常のある現用エージェントを正常な現用エージェントによって置き換えることが可能になる。
【００１６】
さらに、前記現用エージェントはブローカからのヘルスチェックを受けて応答をブローカに返すと共に、セグメント内の他のエージェントに対して生存通知を送信し、セグメント内の現用エージェント以外のエージェントが現用エージェントは機能していないと認識した場合は、ブローカにその旨を通知するものであってもよい。
この場合にも、ブローカからの現用エージェントのヘルスチェックを定期的あるいは所定の事象ごとに行えば、ブロードキャスト中継の発生前に以上のある現用エージェントを正常な現用エージェントによって置き換えることが可能になる。
【００１７】
前記ブロードキャスト要求元から前記ブローカへのブロードキャスト要求および前記ブローカから前記現用エージェントへのブロードキャスト要求中継はＴＣＰユニキャストによって行い、該現用エージェントからセグメント内の他のエージェントへのブロードキャストはＵＤＰブロードキャストによって行うのが好ましい。
ここでＴＣＰはトランスミッションコントロールプロトコル(Transmission Control Protocol)の略、ＵＤＰはユーザデータプロトコル(User Data Protocol)の略である。ＴＣＰはパケットシーケンスチェックによる欠損パケット再送などのエラー訂正機能を有しデータ転送の信頼性が高いのに対して、ＵＤＰは送達確認などを行わないためにデータ送信の信頼性はＴＣＰに劣るが高速でのデータ送信により好適である。これらのデータ送信方式を上記のように組み合わせることによって、データ送信の信頼性と高速性を両立させることが可能になる。
【００１８】
本発明は、また、それぞれが少なくとも１つのエージェントを有する、少なくとも１つのセグメントと、
前記セグメントに対してユニキャストでデータ送信可能なブローカと、
ブロードキャスト要求元とを含み、
前記ブローカは、前記各セグメントについて１台の現用エージェントを選出し、該現用エージェントの正常動作を確認し、該現用エージェントに異常があれば同セグメント内の別のエージェントを現用エージェントに選出し、前記ブロードキャスト要求元からのブロードキャスト要求に応じて前記各セグメントの現用エージェントにブロードキャスト要求を中継し、
前記現用エージェントは、前記ブローカからのブロードキャスト要求を受け、該現用エージェントを含むセグメント内の他のコンピュータに対してブロードキャストを行うよう構成されたブロードキャストシステムに関するものである。
【００１９】
本発明は、さらに、それぞれが少なくとも１つのエージェントを有する、少なくとも１つのセグメントと、
前記セグメントに対してＴＣＰユニキャストでデータ送信可能なブローカと、
ブロードキャスト要求元とを含むネットワークに対して、
前述した方法を実行させるコンピュータソフトウェアおよび当該コンピュータソフトウェアを格納したコンピュータによって読み取り可能な記憶媒体に関するものである。
【発明を実施するための形態】
【００２０】
以下に、実施例に基づき本発明を実施するための形態について記載する。添付の図面および実施例に関する記載は、本発明の理解を助けるために例示するものであって、本発明はこれらの図面および実施例の記載によって限定されるものではないことは言うまでもない。
【実施例】
【００２１】
図１は、本発明に基づくブロードキャストシステムの構成を示す概念図である。ブロードキャスト要求元１からブローカ１００に対してブロードキャスト要求１０がＴＣＰユニキャストで送付されると、ブローカ１００は、要求されたブロードキャストを、対象セグメント２００、３００毎の現用エージェント２１０、３１０にＴＣＰユニキャストで送付する２０、３０。各セグメントでは、ブローカ１００からのブロードキャスト要求を受けた現用エージェント２１０、３１０がそれぞれのセグメント内の他のエージェント２２０、２３０、３２０、３３０に対してＵＤＰブロードキャストによって送付する。ブロードキャスト要求元１はブローカ１００に対して、全てのセグメントにブロードキャストを送付するように要求することもできるし、特定のセグメントにブロードキャストするように要求することもでき、ブローカ１００はブロードキャスト要求元１の要求に従う。
【００２２】
図２は、エージェントが起動した際にブローカ１００によって現用エージェントとして登録される動作について説明した図である。まず、セグメントＢ３００において起動したエージェント３１０は、（１）自らのＩＰアドレス（192.168.2.14）およびネットワークアドレス（192.168.2.0）をブローカ１００にＴＣＰユニキャストで通知する。次に、（２）ブローカ１００は通知されたセグメントＢのネットワークアドレスのエントリが管理情報１１０に存在するか確認し、存在しなければエントリを追加する。次に、（３）ブローカ１００は、ＩＰアドレスのエージェントエントリを追加し、セグメントＢのネットワークエントリからリンクする。（４）さらに、ブローカ１００は追加応答をエージェント３１０に対して通知する。（５）その後は、ブローカ１００は新たに追加した現用エージェント３１０に対してのみヘルスチェックを実施する。
【００２３】
図２の左上にはセグメントＡ２００に３つのエージェント２１０（192.168.1.20）、２２０（192.168.1.13）、２３０（192.168.1.15）が含まれることを示している。同図の右枠内上方には、セグメントＡのネットワークエントリに関しては、エージェント２３０（192.168.1.15）が現用エージェントとして登録されており、他のエージェントは数珠繋ぎにリンクして待機状態であることが示されている。
【００２４】
図３は、セグメント内で２台目以降のエージェントが起動した際の動作を示す図である。（１）起動したエージェント３２０は、自分のＩＰアドレス及びネットワークアドレスをブローカ１００にＴＣＰユニキャストで通知してエージェント追加要求を行う。（２）ブローカ１００は、当該アドレスがエントリ管理情報１１０に存在するか否かを確認し、存在すればエントリの追加は行わないが、（３）存在しなければエージェント追加要求にしたがってエージェントのエントリを追加し、既存のネットワークエントリのリンクをたどって最後尾とリンクを設定する。（４）ブローカ１００は追加応答をエージェント３２０にＴＣＰユニキャストで通知する。
【００２５】
図４は、現用エージェントでないエージェント２３０（192.168.1.13）がエージェントとしての機能を終了する際の動作について説明した図である。まず、（１）終了するエージェント２３０は、自己のＩＰアドレス（192.168.1.13）及びネットワークアドレス（192.168.1.0）とをブローカ１００にＴＣＰユニキャストで通知してエージェント削除要求を行う。これに対して、（２）ブローカ１００は、格納されているネットワークアドレスを基にネットワークエントリをたどって格納されたＩＰアドレス（192.168.1.13）をエージェントエントリから削除し、現用エージェント２２０（192.168.1.15）から直接エージェント２１０（192.168.1.20）がリンクされるようにリンクの設定を修正する。次に、（３）ブローカ１００は削除応答をエージェント２３０にＴＣＰユニキャストで通知する。（４）削除応答を受けたエージェント２３０は動作を終了する。ブローカ１００からの削除応答がタイムアウトした場合、エージェント２３０は強制終了するように設定してもよい。
【００２６】
これに対して、図５は、現用エージェント２３０が終了する場合の動作を説明した図である。（１）終了するエージェント２３０は、自己のＩＰアドレス（192.168.1.15）及びネットワークアドレス（192.168.1.0）とをブローカ１００にＴＣＰユニキャストで通知してエージェント削除要求を行う。これに対して、（２）ブローカ１００は、格納されているネットワークアドレスを基にネットワークエントリをたどって格納されたＩＰアドレス（192.168.1.15）をエージェントエントリから削除し、ネットワークアドレスにリンクするエージェントエントリの次のエージェント２２０（192.168.1.13）を自動的に現用エージェントに選出する。次に、（３）ブローカ１００はエージェント２３０にＴＣＰユニキャストで削除応答を通知する。（４）削除応答を受けたエージェント２３０は動作を終了する。ブローカ１００からの削除応答がタイムアウトした場合、エージェントは強制終了するように設定してもよい。その後は、（５）ブローカ１００は新しく現用エージェントとなったエージェント２２０に対してのみヘルスチェックを実施する。
【００２７】
図６は、例えば所定の時間間隔（例えば６０秒）毎に行われる、現用エージェントに対するヘルスチェック動作を説明した図である。まず、（１）ブローカ１００はセグメント（ネットワーク）２００、３００毎の現用エージェントを検索する。次に、（２）ブローカ１００は検索したエージェント２３０に対してエージェント生存確認要求をＴＣＰユニキャストで通知する。（３）生存確認を受けたエージェント２３０は、同エージェントが属するセグメントの他のエージェント２１０，２２０に対して生存通知をＵＤＰブロードキャストで通知する。また、（４）生存確認を受けたエージェント２３０は、ブローカ１００に対して生存確認応答をＴＣＰユニキャストで通知する。さらに、（５）生存告知を受けた他のエージェント２１０、２２０は、それぞれ保持している現用エージェント生存告知タイムスタンプを更新する。
【００２８】
現用エージェント２３０からの生存確認応答が受信できない等の異常が発生した場合は、上述の現用エージェントが終了する場合の動作と同様の動作によって障害のある現用エージェント２３０をエージェントエントリから削除し、エージェントエントリ上の次のエージェントを現用エージェントとして再度ヘルスチェックを実施する。前述のタイムアウト時間を短く設定することで異常の検出を遅滞なく行うことができる。
さらに、セグメントＢの現用エージェント３２０に対して上記同様のヘルスチェック動作を実行する。
【００２９】
図７は、ブローカ１００が保持する情報をリフレッシュする動作を説明したものである。リフレッシュ動作は所定の時間間隔（例えば１時間）で実行されるのが好ましい。まず、（１）各エージェントは、それぞれ自己のＩＰアドレス及びネットワークアドレスをブローカ１００にＴＣＰユニキャストで通知してエージェント生存通知を行う。（２）ブローカ１００は、生存通知タイムスタンプをエージェント毎に保持しており、エージェント生存通知を契機にこのタイムスタンプを更新する。該当するネットワークエントリやエージェントエントリが存在しない場合は「エージェント起動時の動作(当該セグメントで最初のエージェント起動)」または「エージェント起動時の動作(当該セグメントで２台目以降のエージェント起動)」と同様の処理を行ない、エントリを更新する。（３）ブローカ１００は定期的にタイムスタンプをチェックし、所定時間(例えば２時間)以上タイムスタンプが更新されないエージェントは異常が発生したものとして、当該エージェントをエージェントエントリから削除し、リンクを再設定する。
【００３０】
図７では、本来実行されるはずのエージェント生存通知がエージェント２２０からブローカ１００に届かない場合を例示した。その結果、ブローカ１００が有するエージェント生存通知のタイムスタンプが所定時間以上更新されないことになり、ブローカ１００は、エージェントエントリからエージェント２２０のアドレス（192.168.1.13）を削除して、エージェント２１０から直接エージェント２３０にリンクするよう設定を変更する。
【００３１】
図８は、ブロードキャスト要求元１がブロードキャスト先のネットワーク２００、４００を指定してブロードキャストを要求する場合の動作を示す図である。（１）ブロードキャスト要求元１は、ブローカ１００にブロードキャスト先ネットワークアドレス（複数可）と配信内容をＴＣＰユニキャストで通知する。これに対して、（２）ブローカ１００は、管理情報１１０に格納されたブロードキャスト先ネットワークアドレスの現用エージェントを検索し、（３）検索したエージェント２３０、４２０に配信内容をＴＣＰユニキャストで通知する。現用エージェントの異常を早期検出するためにはＴＣＰ接続タイムアウトは短く設定する（例えば、３秒以内）。その理由は、例えば緊急地震速報の運用には迅速性が要求されるのに対して、ＴＣＰ接続タイムアウトは一般には１分程度もかかることがありえるからである。（４）ブロードキャスト要求を受けた現用エージェント２３０、４２０はそれぞれセグメントＡとセグメントＣのエージェントに対して配信内容をブロードキャストする。（５）エージェント２３０、４２０はブロードキャスト応答をブローカ１００にＴＣＰユニキャストで通知する。（６）ブローカ１００は、ブロードキャスト要求を中継した全てのエージェント２３０、４２０からの応答を待ち合わせ（当然のことながら、応答のタイムアウトも考慮する）、ブロードキャスト要求元１にブロードキャスト応答をＴＣＰユニキャストで通知する。
【００３２】
図９は、ネットワークアドレスを指定して緊急地震速報の一斉通知（ブロードキャスト）要求が出された場合を例に動作を説明した図である。緊急地震速報処理システム（ブロードキャスト要求元）１は、関連拠点のネットワークアドレス、設備機器、耐震性に関する情報をあらかじめ保持しており、緊急地震速報を受信すると、そのデータを解析して各拠点の予測震度を取得する。緊急地震速報処理システムは、さらに、（１）あらかじめ保持している社内インフラ情報から、大きな震度が予想される拠点（福岡支社）のネットワークアドレス（192..168.3.0）を取得して、ブローカ１００に対してネットワークアドレスを指定して当該支社に対するブロードキャスト要求（例えば「震度５弱の地震に注意！」）を発行する。（３）ブローカ１００はブロードキャスト要求に従い、大きな震度が予想される拠点（福岡支社）の現用エージェント４２０に対してブロードキャスト要求を中継する。（４）拠点（福岡支社）の現用エージェント４２０はこのブロードキャスト要求を受けて、福岡支社セグメント４００内でブロードキャストする。また、同時に各コンピュータがブロードキャスト内容（例えば「震度５弱の地震に注意！」）をポップアップ表示してもよい。
【００３３】
図１０は、上記同様のブロードキャスト要求がネットワークアドレスの指定無しで行われた場合の動作を示す図である。（１）ブロードキャスト要求元１はブローカ１００に配信内容をＴＣＰユニキャストで通知するが、同通知にはブロードキャストすべき対象のアドレスは含まれていない。（２）ブローカ１００は全てのセグメントの現用エージェントについてネットワークアドレスを検索し、（３）検索された現用エージェントに対してＴＣＰユニキャストでブロードキャスト内容を通知する。それ以降の手順は、上記ネットワークアドレスを指定した場合と同様である。
【００３４】
図１１は、全ての対象エージェントによるメッセージのポップアップ表示を行わせることを目的として全社一斉通知システムが作動した場合の動作を示す図である。まず、（１）全社一斉通知システム（ブロードキャスト要求元）１が、ブローカ１００に対してネットワークアドレスを指定せずに全セグメントに対するブロードキャスト要求を発行する。（２）ブローカ１００は、ネットワークエントリ１１０から全ての現用エージェントのアドレスを取得して、（３）全てのネットワークアドレスの現用エージェント２２０、３２０、４２０に対してブロードキャスト要求を中継する。（４）各ネットワークの現用エージェントはこのブロードキャスト要求を受け、それぞれが所属するネットワーク２００、３００、４００にブロードキャストする。ブロードキャストを受けたＰＣ等の機器は、配信内容を画面にポップアップ表示することで全社一斉通知を行う。ポップアップの内容は、緊急を要するものであってもよいし、例えば「今日は定時退社日です」というような、一般的なものであってもよい。通知は、ポップアップでなく、音声告知、ブザー、警告等の点灯などの方法であってもよい。
【００３５】
図１２は、ブロードキャスト中継時に現用エージェントの異常が発見された場合の動作を示す図である。（１）ブロードキャスト要求元１のブロードキャスト要求に基づき、（２）ブローカ１００はエージェントエントリ１１０からブロードキャスト対象ネットワーク２００の現用エージェント２３０のアドレスを取得し、（３）当該現用エージェント２３０に対してＴＣＰユニキャストでブロードキャスト要求を送付する。現用エージェント２３０の異常によってＴＣＰ接続タイムアウトになった場合、（４）ブローカ１００は、異常を検出した現用エージェント２３０のエントリ（192.168.1.15）を削除し、リンクの再設定を行ない、（５）新たな現用エージェント２２０に対してブロードキャストの内容をＴＣＰユニキャストで通知する。新たな現用エージェント２２０にも異常があれば、さらに次のエージェントを現用エージェントとする。（６）ブロードキャストを受けた新たな現用エージェントは、自セグメントに配信内容をブロードキャストする。以降の手順は記述の通りである。
【００３６】
図１３は、現用エージェントの異常を他のエージェントからブローカ１００に通知された場合の動作を示す図である。（１）エージェント２２０は同エージェントが属するセグメント２００の現用エージェント２３０からの生存告知を受けることで現用エージェントの生存を認識しているが（「現用エージェントヘルスチェック」参照） 生存告知が一定時間（例えば150秒）以上通知されない場合、現用エージェント２３０に問題が発生したと認識し、自分のＩＰアドレス（192.168.1.20）およびネットワークアドレス（192.168.1.0）をブローカ１００にＴＣＰユニキャストで通知する（現用エージェント異常通知）。ただし、他のエージェントからの異常通知との衝突によるネットワーク負荷を避けるため、各エージェントが現用エージェントの異常を通知するまでの待機時間はランダムに設定する。ランダム値を発生させるためのシードはエージェントのＩＰアドレスやＭＡＣアドレスなどユニーク値を用いることで、衝突の確率を少なくすることができる。（２）上記の現用エージェント異常通知を受けたブローカ１００は、当該現用エージェント２３０をエージェントエントリから削除し、次にリンクされたエージェント２２０のＩＰアドレスを現用エージェントして設定する。以後、（３）ブローカ１００は新たに現用エージェントとして設定されたエージェント２２０に対してのみヘルスチェックを実施する。
【００３７】
以上、具体的な事例をあげて本発明に係るシステムの動作を説明したが、上記の実施例は説明の簡潔さのために具体例を挙げて記載したものであって、本発明の技術思想が上記の実施例に限定されるものでないことは冒頭に記載したとおりである。
【図面の簡単な説明】
【００３８】
【図１】本発明に基づくブロードキャストシステムの構成を示す概念図
【図２】エージェントが起動した際にブローカによって現用エージェントとして登録される動作について説明した図
【図３】セグメント内で２台目以降のエージェントが起動した際の動作を示す図
【図４】現用エージェントでないエージェントがエージェントとしての機能を終了する際の動作について説明した図
【図５】現用エージェント（192.168.1.15）が終了する場合の動作を説明した図
【図６】現用エージェントに対するヘルスチェック動作を説明した図
【図７】ブローカが保持する情報のリフレッシュ動作を説明した図
【図８】ブロードキャスト要求元がブロードキャスト先のネットワークを指定してブロードキャストを要求する場合の動作を示す図
【図９】ネットワークアドレスを指定して緊急地震速報の一斉通知要求が出された場合の動作を説明した図
【図１０】ブロードキャスト要求がネットワークアドレスの指定無しで行われた場合の動作を示す図
【図１１】全社一斉通知システムが作動した場合の動作を示す図
【図１２】ブロードキャスト中継時に現用エージェントに異常が発見された場合の動作を示す図
【図１３】現用エージェントの異常を他のエージェントからブローカに通知された場合の動作を示す図
【図１】
2010103757.tif 000003
【図２】
2010103757.tif 000004
【図３】
2010103757.tif 000005
【図４】
2010103757.tif 000006
【図５】
2010103757.tif 000007
【図６】
2010103757.tif 000008
【図７】
2010103757.tif 000009
【図８】
2010103757.tif 000010
【図９】
2010103757.tif 000011
【図１０】
2010103757.tif 000012
【図１１】
2010103757.tif 000013
【図１２】
2010103757.tif 000014
【図１３】
2010103757.tif 000015