(57)【要約】【課題】ルータに負担をかけることなくマルチキャストデータの転送処理の負荷分散を実現することができ、高速な転送開始動作をおこなうことが可能な負荷分散装置および負荷分散方法を提供すること。【解決手段】生存確認メッセージ遮断機能により、ルータが送出する生存確認メッセージを遮断し、他のルータに受信させないようにする。これにより、全てのルータがマルチキャストデータの転送を担当することとなる。そして、参加／離脱メッセージ振り分け機能により、端末が送信する参加メッセージおよび離脱メッセージをルータに振り分ける。これにより、マルチキャストデータの転送処理の負荷分散が実現されることとなる。【選択図】        図１
2006261805.tif 000002
【特許請求の範囲】
【請求項１】
マルチキャストデータの転送処理をおこなう複数のルータに接続された負荷分散装置であって、
受信したパケットの種別を識別するパケット識別手段と、
前記パケット識別手段が参加メッセージもしくは離脱メッセージと識別したパケットを記憶手段に記憶された振り分けルールに基づいてルータに排他的に振り分けるメッセージ振り分け手段と
を備えたことを特徴とする負荷分散装置。
【請求項２】
前記パケット識別手段が生存確認メッセージと識別したパケットを破棄する生存確認メッセージ破棄手段をさらに備えたことを特徴とする請求項１に記載の負荷分散装置。
【請求項３】
前記メッセージ振り分け手段は、ルータの負荷が均等になるように考慮して前記振り分けルールを動的に追加することを特徴とする請求項１または２に記載の負荷分散装置。
【請求項４】
ルータの障害を検出する障害検出手段をさらに備え、
前記メッセージ振り分け手段は、前記障害検出手段がルータの障害を検出した場合に、該ルータを振り分け先としている振り分けルールを更新し、振り分け先を他のルータに置き換えることを特徴とする請求項１または２に記載の負荷分散装置。
【請求項５】
マルチキャストデータの転送処理をおこなう複数のルータを制御する負荷分散方法であって、
受信したパケットの種別を識別するパケット識別工程と、
前記パケット識別工程が参加メッセージもしくは離脱メッセージと識別したパケットを記憶手段に記憶された振り分けルールに基づいてルータに排他的に振り分けるメッセージ振り分け工程と
を含んだことを特徴とする負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マルチキャストデータの転送処理の負荷分散をおこなう負荷分散装置および負荷分散方法に関し、特に、ルータに負担をかけることなくマルチキャストデータの転送処理の負荷分散を実現することができ、高速な転送開始動作をおこなうことが可能な負荷分散装置および負荷分散方法に関するものである。
【背景技術】
【０００２】
ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）をもちいたネットワークにおいて、多数の端末へ同じ情報を一斉に送信する必要がある場合、マルチキャストが利用されることが多い。具体的には、マルチキャストは、インターネットにおける映像配信などに利用されている。
【０００３】
ユニキャストによる通信では、同じデータを複数の端末へ送信する場合、同じ内容をもつパケットを端末の数だけ生成し、それぞれの端末のＩＰアドレスを指定して送信する必要がある。マルチキャストをもちいた通信では、マルチキャストアドレスとして割り当てられているアドレスを指定することにより、ひとつのパケットを複数の端末に送信することができる。このため、マルチキャストをもちいた通信では、ネットワークにかかる負荷を小さくすることができる。
【０００４】
複数のネットワークをまたがってマルチキャストによる通信をおこなう場合、マルチキャストルーティングプロトコルと呼ばれるプロトコルをもちいて経路制御をおこなう必要がある。代表的なマルチキャストルーティングプロトコルであるＰＩＭ−ＳＭ（Protocol Independent Multicast-Sparse Mode）は、Ｊｏｉｎ／Ｐｒｕｎｅメッセージを使用して、マルチキャストツリーと呼ばれる通信経路を効率的に構築することができる。
【０００５】
ＰＩＭ−ＳＭを利用するルータ（中継装置）は、定期的に生存確認メッセージを送信して、近接するネットワークのルータに自身の存在を通知する。この生存確認メッセージには、マルチキャストデータの重複転送を防止する役割もある。ＬＡＮ（Local Area Network）に複数のルータが接続されている場合、それぞれのルータがマルチキャストデータの中継をおこなうと、ＬＡＮ上に同一のパケットが複数送出される恐れがある。これを防止するため、生存確認メッセージを受信し、同一ＬＡＮ上に別のルータの存在を確認した場合、最も大きいＩＰアドレスをもつルータのみがＤＲ（Designated Router）となり、マルチキャストデータの中継を担当する仕組みとなっている。
【０００６】
このように、ＤＲのみがマルチキャストデータの中継をおこなうことにより、マルチキャストデータの重複転送を防止することができるが、大量のマルチキャストデータの処理が必要になった場合、ＤＲの負荷が非常に高くなってしまう。この問題を解決するため、特許文献１では、ＶＲＲＰ（Virtual Router Redundancy Protocol）をもちいて複数のルータを仮想的に１台のルータとして動作させ、転送処理するマルチキャストアドレスを排他的に設定するためのメッセージを交換するように拡張する技術が開示されている。この技術をもちいれば、それぞれのルータが、自身に割り当てられたマルチキャストアドレスのデータの転送処理をおこなうようになり、負荷分散が実現される。
【０００７】
【特許文献１】特開２００３−２３４４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１の技術をもちいる場合、ルータは、ＰＩＭ−ＳＭ等のマルチキャストのための通常のプロトコル以外に、ＶＲＲＰを動作させなければならず、その分だけ負荷が高くなる。また、ルータ間でメッセージの交換をして転送するマルチキャストアドレスの割当てを決定するため、メッセージ交換がオーバヘッドとなって高速な転送開始動作をおこなうことができない。
【０００９】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ルータに負担をかけることなくマルチキャストデータの転送処理の負荷分散を実現することができ、高速な転送開始動作をおこなうことが可能な負荷分散装置および負荷分散方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、本発明は、マルチキャストデータの転送処理をおこなう複数のルータに接続された負荷分散装置であって、受信したパケットの種別を識別するパケット識別手段と、前記パケット識別手段が参加メッセージもしくは離脱メッセージと識別したパケットを記憶手段に記憶された振り分けルールに基づいてルータに排他的に振り分けるメッセージ振り分け手段とを備えたことを特徴とする。
【００１１】
また、本発明は、マルチキャストデータの転送処理をおこなう複数のルータを制御する負荷分散方法であって、受信したパケットの種別を識別するパケット識別工程と、前記パケット識別工程が参加メッセージもしくは離脱メッセージと識別したパケットを記憶手段に記憶された振り分けルールに基づいてルータに排他的に振り分けるメッセージ振り分け工程とを含んだことを特徴とする。
【００１２】
この発明によれば、方路振り分けルールに基づいて端末からの参加メッセージおよび離脱メッセージをルータに振り分けるように構成したので、各ルータに負担をかけることなく転送処理の負荷分散を実現することができる。また、負荷分散のためにルータ間でメッセージの交換をおこなう必要がないので、高速な転送開始動作が可能となる。
【００１３】
また、本発明は、上記の発明において、前記パケット識別手段が生存確認メッセージと識別したパケットを破棄する生存確認メッセージ破棄手段をさらに備えたことを特徴とする。
【００１４】
この発明によれば、ルータから送信される生存確認メッセージを他のルータが受信する前に破棄するように構成したので、ＬＡＮに複数のルータが接続されている場合に、すべてのルータがマルチキャストデータの転送をおこなう状態にすることができる。
【００１５】
また、本発明は、上記の発明において、前記メッセージ振り分け手段は、ルータの負荷が均等になるように考慮して前記振り分けルールを動的に追加することを特徴とする。
【００１６】
この発明によれば、負荷状況を判断して動的に方路振り分けルールを登録するように構成したので、各ルータの負荷を均等化することができる。
【００１７】
また、本発明は、上記の発明において、ルータの障害を検出する障害検出手段をさらに備え、前記メッセージ振り分け手段は、前記障害検出手段がルータの障害を検出した場合に、該ルータを振り分け先としている振り分けルールを更新し、振り分け先を他のルータに置き換えることを特徴とする。
【００１８】
この発明によれば、ルータの異常が検出された場合は、当該のルータが振り分け先となっている振り分けルールを他のルータを振り分け先として更新するように構成したので、ルータに障害が発生した場合に、転送処理をルータに肩代わりさせることができる。
【発明の効果】
【００１９】
本発明によれば、方路振り分けルールに基づいて端末からの参加メッセージおよび離脱メッセージをルータに振り分けるように構成したので、各ルータに負担をかけることなく転送処理の負荷分散を実現することができるという効果を奏する。また、負荷分散のためにルータ間でメッセージの交換をおこなう必要がないので、高速な転送開始動作が可能となるという効果を奏する。
【００２０】
また、本発明によれば、ルータから送信される生存確認メッセージを他のルータが受信する前に破棄するように構成したので、ＬＡＮに複数のルータが接続されている場合に、すべてのルータがマルチキャストデータの転送をおこなう状態にすることができるという効果を奏する。
【００２１】
また、本発明によれば、負荷状況を判断して動的に方路振り分けルールを登録するように構成したので、各ルータの負荷を均等化することができるという効果を奏する。
【００２２】
また、本発明によれば、ルータの異常が検出された場合は、当該のルータが振り分け先となっている振り分けルールを他のルータを振り分け先として更新するように構成したので、ルータに障害が発生した場合に、転送処理をルータに肩代わりさせることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明に係る負荷分散装置および負荷分散方法の好適な実施の形態を詳細に説明する。以下、まず、マルチキャストの仕組みについて簡単に説明し、その後、この発明に係る負荷分散装置および負荷分散方法の説明をおこなうこととする。
（マルチキャストの仕組み）
【００２４】
まず、マルチキャストの仕組みについて簡単に説明する。図２５は、マルチキャストをおこなう場合のネットワーク構成の一例を示すサンプル図である。データを送信するサーバ１０００は、ルータ２００１を介してインターネット１００に接続されている。データを受信する端末３００１〜３００３は、ＬＡＮ２００に接続されている。そして、ＬＡＮ２００は、ルータ２００２を介してインターネット１００に接続されている。
【００２５】
サーバ１０００から端末３００１〜３００３に対してマルチキャストでデータを送信するためには、ルータ２００１とルータ２００２の間、および、ルータ２００２と端末３００１〜３００３の間で、所定の手続きをおこなう必要がある。ここで、ルータ２００２と端末３００１の間の手続きについて説明する。図２６は、マルチキャストをおこなう場合の通信手順を示すシーケンス図である。
【００２６】
ルータ２００２は、マルチキャストを受信する端末がいるか否かを問い合わせる参加問い合わせメッセージをＬＡＮ２００上にマルチキャストする。同一のマルチキャストアドレスのデータを受信する端末をマルチキャストグループと呼ぶが、この参加問い合わせメッセージは、マルチキャストグループを特定せず、一定時間間隔で送信される。参加問い合わせメッセージを受信した端末３００１は、受信するマルチキャストアドレスを宛先とした参加メッセージをマルチキャストする。そして、参加メッセージを受信したルータ２００２は、指定されたマルチキャストアドレスのデータの転送を開始する。
【００２７】
マルチキャストの受信を終了する場合、端末３００１は、離脱メッセージをマルチキャストする。離脱メッセージを受信したルータ２００２は、離脱メッセージで指定されたマルチキャストアドレスのデータを受信するマルチキャストグループがＬＡＮ２００上に残っているかどうかを確認するために、当該のマルチキャストグループを指定した参加問い合わせメッセージをマルチキャストする。そして、一定期間参加メッセージが応答されなければ、当該のマルチキャストアドレスのデータの送信を停止する。
【００２８】
ここで、ＬＡＮ２００に複数のルータに接続されている場合を考える。複数のルータが、それぞれマルチキャストの中継をおこなうと、同一のデータがＬＡＮ２００上に重複して送信される可能性がある。これを防止するため、ＬＡＮに複数のルータが接続されている場合、一つのルータのみがマルチキャストの中継をおこなう仕組みがとられている。図２７は、ルータが複数存在する場合の動作を説明するための説明図である。
【００２９】
同図は、ルータ２００２および２００３という２台のルータがＬＡＮ２００に接続されている例を示している。ルータ２００２および２００３は、それぞれ、一定時間間隔で生存確認メッセージをマルチキャストする。そして、最も大きいＩＰアドレスを有するルータ（図２７の例ではルータ２００２の方が大きいアドレスを有するものとする）のみがＤＲとなってマルチキャストの中継をおこなう。
【００３０】
このように、ひとつのルータのみがＤＲとなってマルチキャストデータの中継を担当することにより、同一のデータがＬＡＮ２００上に重複して送信されることはなくなる。しかし、大量のマルチキャストデータの中継が必要になった場合、ＤＲとなったルータ２００２に負荷が集中し、ルータ２００３の処理能力は有効に活用されない。
【実施例１】
【００３１】
まず、本実施例に係る負荷分散方式の原理について説明する。図１は、本実施例に係る負荷分散方式の原理について説明するための説明図である。同図に示すように、本実施例に係る負荷分散方式では、ルータ２００２とルータ２００３の間に負荷分散装置４０００を設け、負荷分散装置４０００とＬＡＮ２００とを接続した構成をとる。
【００３２】
負荷分散装置４０００は、生存確認メッセージ遮断機能と、参加／離脱メッセージ振り分け機能とを備える。生存確認メッセージ遮断機能は、ルータ２００２およびルータ２００３が送出する生存確認メッセージを遮断し、他のルータに受信させないようにする機能である。生存確認メッセージを遮断することにより、一つのルータのみがＤＲとなることがなくなり、ルータ２００２とルータ２００３の双方がマルチキャストデータの転送処理をおこなうことになる。
【００３３】
参加／離脱メッセージ振り分け機能は、端末３００１〜３００３が送信する参加メッセージおよび離脱メッセージを所定のルールに基づいてルータ２００２もしくはルータ２００３のいずれかに振り分ける機能である。参加メッセージおよび離脱メッセージを振り分けることにより、転送するマルチキャストアドレスの分担が定まり、転送処理の負荷分散が実現する。負荷分散を実現するに際して、ルータは、特別な処理を何もおこなう必要がないため、ルータに負担がかかることもない。
【００３４】
また、負荷分散のためにルータ間でメッセージの交換をおこなう必要がないので、高速な動作が可能となる。また、負荷分散装置４０００が参加メッセージおよび離脱メッセージを振り分けることにより、ルータ２００２およびルータ２００３は、自身とは関係のない参加メッセージおよび離脱メッセージを受信することがなくなるため、負荷が軽減される効果もある。
【００３５】
たとえば、端末３００１がマルチキャストアドレスＡのデータを受信するための参加メッセージを送信し、参加／離脱メッセージ振り分け機能がこのメッセージをルータ２００２に振り分けた場合、ルータ２００２がこのマルチキャストアドレスのデータの転送を担当する。この場合、端末３００２や端末３００３がマルチキャストアドレスＡのデータを受信するための参加メッセージを送信したとしても、同じルールにより振り分けがなされ、メッセージはルータ２００２へ振り分けられるため、ルータ２００３が同じマルチキャストデータをＬＡＮ２００に転送することはない。
【００３６】
また、端末３００１〜３００３のいずれかが、マルチキャストアドレスＡの受信を中止する離脱メッセージを送信した場合も、同じルールにより振り分けがなされ、メッセージはルータ２００２へ振り分けられるため、離脱メッセージも適切に処理される。このように、参加メッセージおよび離脱メッセージの振り分けは、負荷分散装置４０００において排他的におこなわれ、各ルータ装置に特別な拡張を施す必要はない。
【００３７】
次に、本実施例に係る負荷分散装置の構成について説明する。図２は、本実施例に係る負荷分散装置の構成を示す機能ブロック図である。同図に示すように、負荷分散装置４０００ａは、ネットワークインターフェース部４１００ａと、パケット識別部４２００ａと、生存確認メッセージ破棄部４３００ａと、参加／離脱メッセージ振り分け部４４００ａと、パケット転送部４５００ａとを有する。
【００３８】
ネットワークインターフェース部４１００ａは、ネットワークを通じてパケットのやり取りをおこなうためのインターフェース部である。ネットワークインターフェース部４１００ａは、ルータに接続するための複数のポートとＬＡＮに接続するためのポートとを有する。なお、ルータに接続するためのポートは、必ずしも物理的に複数存在する必要は無く、ＶＬＡＮ（Virtual LAN）などにより仮想的に複数のポートに分割されていても構わない。
【００３９】
パケット識別部４２００ａは、ネットワークインターフェース部４１００ａが受信したパケットの種別を識別し、種別に応じた処理部へ引き渡す処理部である。具体的には、受信したパケットが生存確認メッセージであれば生存確認メッセージ破棄部４３００ａに引き渡し、参加メッセージもしくは離脱メッセージであれば参加／離脱メッセージ振り分け部４４００ａに引き渡し、その他のパケットであればパケット転送部４５００ａに引き渡す。
【００４０】
図３は、パケット識別部４２００ａの構成を示す機能ブロック図である。同図に示すように、パケット識別部４２００ａは、ヘッダ抽出部４２１０ａと、識別ルール検索部４２２０ａと、識別ルール記憶部４２３０ａとを有する。ヘッダ抽出部４２１０ａは、パケットのヘッダ部から、種別の識別に必要な情報を抽出する処理部である。識別ルール検索部４２２０ａは、ヘッダ抽出部４２１０ａが抽出した情報をキーとして、識別ルール記憶部４２３０ａに記憶された識別ルールを検索し、振り分け先を決定する処理部である。
【００４１】
識別ルール記憶部４２３０ａは、パケットの識別と振り分けのための識別ルールを記憶する記憶部である。図４は、識別ルールの一例を示すサンプル図である。同図に示すように、パケットの種別の識別は、宛先ＭＡＣ（Media Access Control）アドレスと、宛先ＩＰアドレスと、ペイロード部のＴＹＰＥフィールドの値に基づいておこなわれる。たとえば、宛先ＭＡＣアドレスが０１−００−５Ｅ−００−００−０２であり、宛先ＩＰアドレスが２２４．０．０．２であり、ペイロード部のＴＹＰＥフィールドの値が０ｘ１７であるパケットは離脱メッセージの一種であると識別され、参加／離脱メッセージ振り分け部４４００ａに振り分けられる。
【００４２】
生存確認メッセージ破棄部４３００ａは、生存確認メッセージを転送させずに破棄する処置部である。生存確認メッセージ破棄部４３００ａが生存確認メッセージを破棄することにより、生存確認メッセージがルータに受信されなくなるため、一つのルータのみがＤＲとなることがなくなり、すべてのルータがマルチキャストデータの転送をおこなうことができる状態となる。
【００４３】
参加／離脱メッセージ振り分け部４４００ａは、参加メッセージおよび離脱メッセージをどのルータ装置に振り分けるかを所定のルールに基づいて判定する処理部である。参加メッセージおよび離脱メッセージを振り分ける方式は、いくつか考えられるが、本実施例では、マルチキャストアドレスごとに振り分け先を定義した静的なテーブルに基づいて振り分けをおこなうものとする。
【００４４】
図５は、参加／離脱メッセージ振り分け部４４００ａの構成を示す機能ブロック図である。同図に示すように、参加／離脱メッセージ振り分け部４４００ａは、ヘッダ抽出部４４１０ａと、方路振り分けルール検索部４４２０ａと、方路振り分けルール記憶部４４３０ａとを有する。ヘッダ抽出部４４１０ａは、パケットのヘッダ部から、振り分け先の判定に必要な情報を抽出する処理部である。方路振り分けルール検索部４４２０ａは、ヘッダ抽出部４４１０ａが抽出した情報をキーとして、方路振り分けルール記憶部４４３０ａに記憶された方路振り分けルールを検索し、振り分け先を判定する処理部である。
【００４５】
方路振り分けルール記憶部４４３０ａは、パケットの振り分けのための方路振り分けルールを記憶する記憶部である。図６は、方路振り分けルールの一例を示すサンプル図である。同図に示すように、本実施例における方路振り分けルールは、マルチキャストアドレスと、当該のマルチキャストアドレスを有するパケットの出力方路とを対にして保持する。たとえば、マルチキャストアドレスＡを有するパケットは、ネットワークインターフェース部４１００ａのポート１から出力される。
【００４６】
この方路振り分けルールは、予め、管理者等が設定しておく静的なものである。なお、マルチキャストアドレスは、ＩＰアドレスであってもＭＡＣアドレスであってもよい。また、出力方路は、物理的なポートであってもよいし、ＶＬＡＮ等の論理的なポートであってもよい。
【００４７】
パケット転送部４５００ａは、パケット識別部４２００ａおよび参加／離脱メッセージ振り分け部４４００ａから引き渡されたパケットをネットワークインターフェース部４１００ａを介して転送する処理部である。参加／離脱メッセージ振り分け部４４００ａから引き渡されたパケットについては、参加／離脱メッセージ振り分け部４４００ａから指示されたポートにのみ転送をおこなう。
【００４８】
次に、負荷分散装置４０００ａの処理手順について説明する。図７は、負荷分散装置４０００ａの処理手順を示すフローチャートである。同図に示すように、負荷分散装置４０００ａは、パケットを受信したならば（ステップＳ１００１）、パケット識別部４２００ａにおいてパケットの種別を識別する（ステップＳ１００２）。そして、パケットが生存確認メッセージであれば（ステップＳ１００３肯定）、生存確認メッセージ破棄部４３００ａにてパケットを破棄する（ステップＳ１００４）。
【００４９】
パケットが生存確認メッセージではなく（ステップＳ１００３否定）、参加メッセージもしくは離脱メッセージであれば（ステップＳ１００５肯定）、参加／離脱メッセージ振り分け部４４００ａにおいて後述する転送先判定処理をおこなってどのルータに転送するかを判定し（ステップＳ１００６）、パケット転送部４５００ａから転送をおこなう（ステップＳ１００７）。パケットが参加メッセージでも離脱メッセージでもない場合は（ステップＳ１００５否定）、そのままパケット転送部４５００ａから転送をおこなう（ステップＳ１００７）。
【００５０】
次に、転送先判定処理の処理手順について説明する。図８は、転送先判定処理の処理手順を示すフローチャートである。同図に示すように、参加／離脱メッセージ振り分け部４４００ａは、パケットからマルチキャストアドレスを取得したならば（ステップＳ１１０１）、方路振り分けルール記憶部４４３０ａに記憶されている方路振り分けルールを検索し、転送先の情報を取得し、これを転送先としてパケット転送部４５００ａに指定する（ステップＳ１１０２）。
【００５１】
上述してきたように、本実施例１では、ルータの間に負荷分散装置４０００ａを設け、生存確認メッセージ破棄部において生存確認メッセージを破棄するように構成したので、ＬＡＮに複数のルータが接続されている場合に、すべてのルータがマルチキャストデータの転送をおこなう状態にすることができる。
【００５２】
また、本実施例１では、マルチキャストアドレスごとに転送先を定義した方路振り分けルールに基づいて端末からの参加メッセージおよび離脱メッセージをルータに振り分けるように構成したので、各ルータに負担をかけることなく転送処理の負荷分散を実現し、高速な転送開始動作を得ることができる。
【００５３】
本実施例では、生存確認メッセージの遮断を生存確認メッセージ破棄部４３００ａにておこなうこととしたが、レイヤ２スイッチのフィルタリングを利用して実現することもできる。この場合、負荷分散装置４０００ａは、生存確認メッセージ破棄部４３００ａを備える必要はない。
【実施例２】
【００５４】
実施例１では、方路振り分けルールをマルチキャストアドレスに基づいて設定する場合について説明した。しかし、この場合、処理する可能性のある全てのマルチキャストアドレスのルールを設定しなければならないため、方路振り分けルールを設定する管理者に負担がかかる。また、ルールに設定されていないマルチキャストアドレスの参加メッセージおよび離脱メッセージについては、処理をおこなうことができない。そこで、本実施例２では、マルチキャストアドレスを演算処理し、この演算結果に基づいて振り分けをおこなう場合について説明する。
【００５５】
まず、本実施例に係る負荷分散装置の構成について説明する。本実施例に係る負荷分散装置の構成は、実施例１で説明した負荷分散装置４０００ａの参加／離脱メッセージ振り分け部４４００ａを、参加／離脱メッセージ振り分け部４４００ｂに置き換えたものとなる。図９は、参加／離脱メッセージ振り分け部４４００ｂの構成を示す機能ブロック図である。
【００５６】
同図に示すように、参加／離脱メッセージ振り分け部４４００ｂは、ヘッダ抽出部４４１０ｂと、方路振り分けルール検索部４４２０ｂと、方路振り分けルール記憶部４４３０ｂと、ヘッダ情報演算部４４４０ｂとを有する。ヘッダ抽出部４４１０ｂは、パケットのヘッダ部から、マルチキャストアドレス等のアドレス情報を抽出する処理部である。ヘッダ情報演算部４４４０ｂは、ヘッダ抽出部４４１０ｂが抽出した情報をハッシュ計算等により数値化する処理部である。
【００５７】
方路振り分けルール検索部４４２０ｂは、ヘッダ情報演算部４４４０ｂが数値化した値を基にして、方路振り分けルール記憶部４４３０ｂに記憶された方路振り分けルールを検索し、振り分け先を判定する処理部である。
【００５８】
方路振り分けルール記憶部４４３０ｂは、パケットの振り分けのための方路振り分けルールを記憶する記憶部である。図１０は、方路振り分けルールの一例を示すサンプル図である。同図に示すように、本実施例における方路振り分けルールは、ヘッダ情報演算部４４４０ｂの計算値と、当該の計算値が算出されたパケットの出力方路とを対にして保持する。たとえば、計算値が０となったパケットは、ポート１から出力される。
【００５９】
本実施例に係る方路振り分けルールは、マルチキャストアドレスを直接もちいずに数値化してもちいるため、適切に数値化をおこなうことにより、全てのマルチキャストアドレスごとにルールを設定する必要がない。
【００６０】
次に、本実施例に係る負荷分散装置の処理手順について説明する。処理手順は、転送先判定処理の処理手順が異なる以外は、実施例１と同一である。ここでは、転送先判定処理の処理手順について説明する。図１１は、転送先判定処理の処理手順を示すフローチャートである。同図に示すように、参加／離脱メッセージ振り分け部４４００ｂは、パケットからマルチキャストアドレスを取得したならば（ステップＳ２００１）、これを演算処理する（ステップＳ２００２）。そして、この演算処理で得た計算値をキーにして方路振り分けルール記憶部４４３０ｂに記憶されている方路振り分けルールを検索し、転送先の情報を取得し、これを転送先として指定する（ステップＳ２００３）。
【００６１】
上述してきたように、本実施例２では、端末からの参加メッセージおよび離脱メッセージに含まれるマルチキャストアドレスを数値化し、この数値化された値に基づいて振り分け先を判定するように構成したので、全てのマルチキャストアドレスをルールに設定することなく振り分け処理を実現することができる。
【実施例３】
【００６２】
実施例１では、予め定義された方路振り分けルールに基づいて参加メッセージおよび離脱メッセージの振り分けをおこなう場合について説明した。しかし、このように予め定義されたルールに基づいて振り分けをおこなうと、振り分け先が一方のルータに偏り、負荷分散が適切におこなわれない可能性がある。そこで、本実施例３では、方路振り分けルールを動的に設定し、負荷分散が均等におこなわれる例について説明することとする。
【００６３】
まず、本実施例に係る負荷分散装置の構成について説明する。本実施例に係る負荷分散装置の構成は、実施例１で説明した負荷分散装置４０００ａの参加／離脱メッセージ振り分け部４４００ａを、参加／離脱メッセージ振り分け部４４００ｃに置き換えたものとなる。図１２は、参加／離脱メッセージ振り分け部４４００ｃの構成を示す機能ブロック図である。
【００６４】
同図に示すように、参加／離脱メッセージ振り分け部４４００ｃは、ヘッダ抽出部４４１０ｃと、参加メッセージ処理部４４２１ｃと、離脱メッセージ処理部４４２２ｃと、タイマ４４２３ｃと、方路振り分けルール記憶部４４３０ｃと、方路別エントリ数記憶部４４３１ｃと、種別判定部４４５０ｃとを有する。ヘッダ抽出部４４１０ｃは、パケットのヘッダ部から、パケットの種別を判定するための情報を抽出する処理部である。
【００６５】
種別判定部４４５０ｃは、ヘッダ抽出部４４１０ｃが抽出した情報を基にして、パケットが参加メッセージであるのか、離脱メッセージであるのかを判断し、前者であればパケットを参加メッセージ処理部４４２１ｃへ引き渡し、後者であれば離脱メッセージ処理部４４２２ｃへ引き渡す処理部である。パケットの種別の判断は、図４に示した識別ルールと同様のルールに基づいておこなうことができる。
【００６６】
参加メッセージ処理部４４２１ｃは、種別判定部４４５０ｃから引き渡されたパケットの振り分け先を方路振り分けルール記憶部４４３０ｃに記憶された方路振り分けルールを参照して判定する処理部である。参加メッセージ処理部４４２１ｃは、当該のパケットを振り分けるためのルールが方路振り分けルール記憶部４４３０ｃに記憶されていない場合は、方路別エントリ数記憶部４４３１ｃに記憶されている方路別エントリ数情報を参照して、どの方路が最も空いているかを判断し、最も空いている方路に当該のパケットを振り分けるためのルールを方路振り分けルール記憶部４４３０ｃに追加し、方路別エントリ数記憶部４４３１ｃに記憶の方路別エントリ数情報を更新する。
【００６７】
このように、参加メッセージ処理部４４２１ｃが負荷状況を判断して動的に方路振り分けルールを登録することにより、各ルータの負荷分散が均等におこなわれることとなる。また、方路振り分けルールの登録が人手を介さずにおこなわれるため、管理者の負荷も軽減される。
【００６８】
離脱メッセージ処理部４４２２ｃは、種別判定部４４５０ｃから引き渡されたパケットの振り分け先を方路振り分けルール記憶部４４３０ｃに記憶された方路振り分けルールを参照して判定する処理部である。また、離脱メッセージ処理部４４２２ｃは、振り分けにもちいたルールに離脱メッセージを受信した旨を示すフラグを設定する。このフラグは、参加メッセージ処理部４４２１ｃが当該のルールを使用して参加メッセージの振り分けをおこなった際にクリアされる。一定の時間が経過してもフラグがクリアされない場合、離脱メッセージ処理部４４２２ｃは、当該のルールが既に使用されていないものとみなしてこれを削除し、方路別エントリ数記憶部４４３１ｃに記憶の方路別エントリ数情報を更新する。
【００６９】
このように、離脱メッセージ処理部４４２２ｃが使用されていないルールを削除し、方路別エントリ数情報に有効な負荷状況が保持されるようにすることにより、各ルータの負荷分散が均等に保たれることとなる。
【００７０】
タイマ４４２３ｃは、離脱メッセージ処理部４４２２ｃが方路振り分けルールに設定したフラグが一定時間クリアされないことを検出するためのタイマである。方路振り分けルール記憶部４４３０ｃは、パケットの振り分けのための方路振り分けルールを記憶する記憶部である。図１３は、方路振り分けルールの一例を示すサンプル図である。同図に示すように、本実施例における方路振り分けルールは、マルチキャストアドレスと、当該のマルチキャストアドレスを有するパケットの出力方路とを対にして保持し、さらに離脱メッセージを受信した旨を示すフラグを保持できるようになっている。
【００７１】
方路別エントリ数記憶部４４３１ｃは、各ルータの負荷状態を示す方路別エントリ数情報を記憶する記憶部である。図１４は、方路別エントリ数情報の一例を示すサンプル図である。同図に示すように、方路別エントリ数情報は、方路振り分けルールのエントリ数を出力ポートごとに集計した値を保持する。たとえば、１行目のデータは、ポート１に振り分けるルールが２エントリあることを示しているが、これは、ポート１に対応するルータに振り分けられているマルチキャストアドレスが２つあることを意味する。
【００７２】
次に、本実施例に係る負荷分散装置の処理手順について説明する。処理手順は、転送先判定処理の処理手順が異なる以外は、実施例１と同一である。ここでは、転送先判定処理の処理手順について説明する。図１５〜１６は、転送先判定処理の処理手順を示すフローチャートである。同図に示すように、参加／離脱メッセージ振り分け部４４００ｃは、まず、種別判定部４４５０ｃにおいてパケットの種別を判定する（ステップＳ３００１）。
【００７３】
そして、パケットが参加メッセージであれば（ステップＳ３００２肯定）、参加メッセージ処理部４４２１ｃにおいて方路振り分けルールを検索し、転送先の情報を取得する（ステップＳ３００３）。ここで、パケットに適合するルールを取得できた場合は（ステップＳ３００４肯定）、取得したルールに定義された転送先を採用し、当該のルールのフラグを０に設定する。
【００７４】
パケットに適合するルールを取得できなかった場合は（ステップＳ３００４否定）、方路別エントリ数情報を検索し、最もエントリの少ない方路を取得し（ステップＳ３００６）、取得した方路を転送先として採用する（ステップＳ３００７）。そして、方路振り分けルールにこの方路に振り分けをおこなうためのルールを追加し（ステップＳ３００８）、方路別エントリ数情報のこの方路のエントリ数を１だけ加算する（ステップＳ３００９）。
【００７５】
ステップＳ３００１の結果、パケットが参加メッセージでなく、離脱メッセージだった場合は（ステップＳ３００２否定）、離脱メッセージ処理部４４２２ｃにおいて方路振り分けルールを検索し、取得したルールに定義された転送先を採用する（ステップＳ３１０１）。そして、当該のルールのフラグを１に設定し（ステップＳ３１０２）、タイマをリセットして計時を開始する（ステップＳ３１０３）。
【００７６】
そして、タイマがタイムアウトし、フラグが１のままであれば（ステップＳ３２０１肯定）、当該のルールを方路振り分けルールから削除し（ステップＳ３２０２）、方路別エントリ数情報において、このルールの出力方路のエントリ数を１だけ減算する（ステップＳ３２０３）。タイムアウトしたときに、フラグが０にリセットされていれば（ステップＳ３２０１否定）、特に処理はおこなわない。
【００７７】
上述してきたように、本実施例３では、振り分け量の寡多を考慮しつつ方路振り分けルールを動的に設定するように構成したので、ルータの負荷分散を均等化することができる。
【実施例４】
【００７８】
実施例３では、振り分けルールのエントリ数、すなわち、振り分けを担当させるマルチキャストアドレスの数を揃えることにより負荷分散を均等化させる例について説明したが、ネットワーク全体の負荷を考えた場合、この方法は不適切な場合がある。マルチキャストデータを送信するサーバからの経路が複数存在する場合、最短経路となる経路に接続されたルータ、もしくは、最も帯域の広い経路に接続されたルータに転送を任せるのが適切である。
【００７９】
最短経路となる経路や最も帯域の広い経路は、たとえば、ユニキャストのルーティング情報を参照することで取得することができる。ユニキャストのルーティング情報は、サーバのＩＰアドレスを基準として参照する必要があるため、方路振り分けルールもサーバのＩＰアドレスを基準としたものとすると都合がよい。本実施例４では、方路振り分けルールをサーバのＩＰアドレスを基準とした場合の例について説明する。
【００８０】
まず、本実施例に係る負荷分散装置の構成について説明する。本実施例に係る負荷分散装置の構成は、実施例１で説明した負荷分散装置４０００ａの参加／離脱メッセージ振り分け部４４００ａを、参加／離脱メッセージ振り分け部４４００ｄに置き換えたものとなる。図１７は、参加／離脱メッセージ振り分け部４４００ｄの構成を示す機能ブロック図である。
【００８１】
同図に示すように、参加／離脱メッセージ振り分け部４４００ｄは、送信元アドレス抽出部４４１０ｄと、方路振り分けルール検索部４４２０ｄと、方路振り分けルール記憶部４４３０ｄとを有する。送信元アドレス抽出部４４１０ｄは、パケットのヘッダ部から、マルチキャストデータの送信元のサーバのＩＰアドレスを抽出する処理部である。
【００８２】
方路振り分けルール検索部４４２０ｄは、送信元アドレス抽出部４４１０ｄが取得したＩＰアドレスをキーとして、方路振り分けルール記憶部４４３０ｄに記憶された方路振り分けルールを検索し、振り分け先を判定する処理部である。
【００８３】
方路振り分けルール記憶部４４３０ｄは、パケットの振り分けのための方路振り分けルールを記憶する記憶部である。図１８は、方路振り分けルールの一例を示すサンプル図である。同図に示すように、本実施例における方路振り分けルールは、送信元のサーバのＩＰアドレスと、出力方路とを対にして保持する。なお、この情報は、ルーティング情報から自動生成してもよいし、管理者が手作業で設定してもよい。また、送信元のサーバのＩＰアドレスの代わりに、送信元のサーバが属しているネットワークのアドレスとサブネットマスクを保持するようにしてもよい。
【００８４】
次に、本実施例に係る負荷分散装置の処理手順について説明する。処理手順は、転送先判定処理の処理手順が異なる以外は、実施例１と同一である。ここでは、転送先判定処理の処理手順について説明する。図１９は、転送先判定処理の処理手順を示すフローチャートである。同図に示すように、参加／離脱メッセージ振り分け部４４００ｄは、パケットからデータの送信元のサーバのＩＰアドレスを取得したならば（ステップＳ４００１）、これをキーにして方路振り分けルール記憶部４４３０ｄに記憶されている方路振り分けルールを検索し、転送先の情報を取得し、これを転送先として指定する（ステップＳ４００２）。
【００８５】
上述してきたように、本実施例４では、データの送信元のＩＰアドレスを基準として方路振り分けルールを設定するように構成したので、ユニキャストのルーティング情報と方路振り分けルールとを連動させて、最適な経路でマルチキャストデータを転送させることができる。
【実施例５】
【００８６】
ＬＡＮに複数のルータが接続されている場合、これらのルータに負荷分散をおこなうだけでなく、一部のルータもしくは経路に障害が発生しても、他のルータがマルチキャストデータの転送を肩代わりするように冗長性をもたせることもできる。本実施例５では、障害に対する冗長性を実現する例について説明する。なお、負荷分散を実現する手法は、実施例１〜４のいずれをもちいてもよい。
【００８７】
まず、本実施例に係る負荷分散装置の構成について説明する。図２０は、本実施例に係る負荷分散装置の構成を示す機能ブロック図である。同図に示すように、負荷分散装置４０００ｅは、ネットワークインターフェース部４１００ｅと、パケット識別部４２００ｅと、生存確認メッセージ破棄部４３００ｅと、参加／離脱メッセージ振り分け部４４００ｅと、パケット転送部４５００ｅと、障害検出部４６００ｅと、参加メッセージ生成部４７００ｅとを有する。
【００８８】
ネットワークインターフェース部４１００ｅは、ネットワークを通じてパケットのやり取りをおこなうためのインターフェース部である。ネットワークインターフェース部４１００ｅは、ルータに接続するための複数のポートとＬＡＮに接続するためのポートとを有する。なお、ルータに接続するためのポートは、必ずしも物理的に複数存在する必要は無く、ＶＬＡＮなどにより仮想的に複数のポートに分割されていても構わない。
【００８９】
パケット識別部４２００ｅは、ネットワークインターフェース部４１００ｅが受信したパケットの種別を識別し、種別に応じた処理部へ引き渡す処理部である。具体的には、受信したパケットが生存確認メッセージであれば生存確認メッセージ破棄部４３００ｅに引き渡し、参加メッセージもしくは離脱メッセージであれば参加／離脱メッセージ振り分け部４４００ｅに引き渡し、その他のパケットであればパケット転送部４５００ｅに引き渡す。また、受信したパケットが生存確認メッセージであった場合は、障害検出部４６００ｅにもパケットを引き渡す。
【００９０】
生存確認メッセージ破棄部４３００ｅは、生存確認メッセージを転送させずに破棄する処置部である。参加／離脱メッセージ振り分け部４４００ｅは、参加メッセージおよび離脱メッセージをどのルータ装置に振り分けるかを方路振り分けルールに基づいて判定する処理部である。また、参加／離脱メッセージ振り分け部４４００ｅは、障害検出部４６００ｅがいずれかのルータの障害を検出した場合は、当該のルータへ振り分けをおこなうように定義されている方路振り分けルールを更新し、他のルータに振り分けるように設定し直し、さらに、参加メッセージ生成部４７００ｅに指示して新たに振り分け先となったルータに対して参加メッセージを送信させる。
【００９１】
このように、障害検出時に、方路振り分けルールを更新し、障害を検出したルータへ振り分けられていた参加メッセージを他のルータに振り分けることにより、障害に対する冗長性が実現される。また、参加メッセージ生成部４７００ｅが新たに振り分け先となったルータに参加メッセージを送信することにより、マルチキャストデータの転送が早期に再開される。
【００９２】
障害検出部４６００ｅは、ルータから送信される生存確認メッセージを監視し、一定時間生存確認メッセージが送信されないルータがあればそのルータに障害が発生したと判断し、参加／離脱メッセージ振り分け部４４００ｅにその旨を通知する処理部である。図２１は、障害検出部４６００ｅの構成を示す機能ブロック図である。同図に示すように、障害検出部４６００ｅは、メッセージ断検出部４６１０ｅと、タイマ４６２０ｅとを有する。
【００９３】
メッセージ断検出部４６１０ｅは、生存確認メッセージを受信したならば、そのメッセージを受信したポートに対応するタイマを起動する。そして、一定時間同じポートにおいて生存確認メッセージが受信されず、タイマがタイムアウトしたならば、そのポートに接続されているルータに障害が発生したものとみなして、判断し、参加／離脱メッセージ振り分け部４４００ｅへの通知をおこなう。
【００９４】
参加メッセージ生成部４７００ｅは、参加／離脱メッセージ振り分け部４４００ｅから指示されたルータへの参加メッセージを生成し、パケット転送部４５００ｅに転送を依頼する処理部である。パケット転送部４５００ｅは、パケット識別部４２００ｅ、参加／離脱メッセージ振り分け部４４００ｅおよび参加メッセージ生成部４７００ｅから引き渡されたパケットをネットワークインターフェース部４１００ｅを介して転送する処理部である。
【００９５】
次に、負荷分散装置４０００ｅの処理手順について説明する。通常時の処理は実施例１〜４に準じるため、ここでは、異常時の処理手順について説明する。図２２は、メッセージ断を検出した場合の処理手順を示すフローチャートである。
【００９６】
障害検出部４６００ｅは、生存確認メッセージを受信したならば（ステップＳ５００１）、そのメッセージを受信したポートを取得し（ステップＳ５００２）、そのポートに対応するタイマを起動する（ステップＳ５００３）。そして、一定時間同じポートで生存確認メッセージが受信されずにタイムアウトが発生したならば（ステップＳ５００４肯定）、参加／離脱メッセージ振り分け部４４００ｅにメッセージ断が発生した旨を通知する（ステップＳ５００５）。
【００９７】
通知を受けた参加／離脱メッセージ振り分け部４４００ｅは、方路振り分けルールを更新し、メッセージ断が検出されたポートを他のポートに置き換える（ステップＳ５１０１）。そして、新たに振り分け先として設定したポートに接続されているルータに参加メッセージを送信するように参加メッセージ生成部４７００ｅに指示する（ステップＳ５１０２）。
【００９８】
指示を受けた参加メッセージ生成部４７００ｅは、指示されたルータ向けの参加メッセージを生成し（ステップＳ５２０１）、これを新たに設定されたポート経由でルータに送信するようにパケット転送部４５００ｅに依頼する（ステップＳ５２０２）。
【００９９】
上述してきたように、本実施例５では、ルータの異常を検出する処理部を追加し、ルータの異常が検出された場合は、当該のルータが振り分け先となっている振り分けルールを他のルータを振り分け先として更新するように構成したので、ルータに障害が発生した場合に、転送処理を他のルータに肩代わりさせることができ、冗長性が実現される。
【０１００】
なお、本実施例では、生存確認メッセージを監視することでルータの障害を検出する方式をとったが、マルチキャストデータを監視することでルータの障害を検出することとしてもよい。また、定期的に各ルータにＰＩＮＧ等のエコー要求メッセージを送信し、一定時間内に応答が得られなければ障害が発生したとみなすようにしてもよい。
【実施例６】
【０１０１】
上記の実施例では全てのマルチキャストデータを平等に扱うことを前提としているが、帯域に制限がある場合などは、特定のマルチキャストデータを優先して扱うことが必要になる場合がある。そこで、本実施例６では、マルチキャストデータに優先順位を与える例について説明することとする。
【０１０２】
まず、本実施例に係る負荷分散装置の構成について説明する。図２３は、本実施例に係る負荷分散装置の構成を示す機能ブロック図である。同図に示すように、負荷分散装置４０００ｆは、ネットワークインターフェース部４１００ｆと、パケット識別部４２００ｆと、生存確認メッセージ破棄部４３００ｆと、参加／離脱メッセージ振り分け部４４００ｆと、パケット転送部４５００ｆと、離脱メッセージ生成部４８００ｆとを有する。
【０１０３】
ネットワークインターフェース部４１００ｆは、ネットワークを通じてパケットのやり取りをおこなうためのインターフェース部である。ネットワークインターフェース部４１００ｆは、ルータに接続するための複数のポートとＬＡＮに接続するためのポートとを有する。なお、ルータに接続するためのポートは、必ずしも物理的に複数存在する必要は無く、ＶＬＡＮなどにより仮想的に複数のポートに分割されていても構わない。
【０１０４】
パケット識別部４２００ｆは、ネットワークインターフェース部４１００ｆが受信したパケットの種別を識別し、種別に応じた処理部へ引き渡す処理部である。具体的には、受信したパケットが生存確認メッセージであれば生存確認メッセージ破棄部４３００ｆに引き渡し、参加メッセージもしくは離脱メッセージであれば参加／離脱メッセージ振り分け部４４００ｆに引き渡し、その他のパケットであればパケット転送部４５００ｆに引き渡す。
【０１０５】
生存確認メッセージ破棄部４３００ｆは、生存確認メッセージを転送させずに破棄する処置部である。参加／離脱メッセージ振り分け部４４００ｆは、参加メッセージおよび離脱メッセージをどのルータ装置に振り分けるかを方路振り分けルールに基づいて判定する処理部である。
【０１０６】
また、参加／離脱メッセージ振り分け部４４００ｆは、新たなマルチキャストアドレスの参加メッセージを受信した場合に、既に転送処理をおこなっているマルチキャストアドレスの数が一定の数を超えており、新規のマルチキャストアドレスの優先順位が既存のものよりも高い場合は、同一方路で転送処理されるマルチキャストアドレスのうち最も優先順位の低いものを選択し、離脱メッセージ生成部４８００ｆに指示して当該のマルチキャストアドレスを設定した離脱メッセージを送信させる。このように、負荷が一定の基準を超えている場合に優先順位の低いマルチキャストデータの転送を中止させることにより、優先順位の高いマルチキャストデータの帯域を確保することができる。
【０１０７】
図２４は、方路振り分けルールの一例を示すサンプル図である。同図に示すように、本実施例における方路振り分けルールは、マルチキャストアドレスと、当該のマルチキャストアドレスを有するパケットの出力方路とを対にして保持し、さらに優先度を保持できるようになっている。
【０１０８】
離脱メッセージ生成部４８００ｆは、参加／離脱メッセージ振り分け部４４００ｆから指示されたルータへの離脱メッセージを生成し、パケット転送部４５００ｆに転送を依頼する処理部である。パケット転送部４５００ｆは、パケット識別部４２００ｆ、参加／離脱メッセージ振り分け部４４００ｆおよび離脱メッセージ生成部４８００ｆから引き渡されたパケットをネットワークインターフェース部４１００ｆを介して転送する処理部である。
【０１０９】
上述してきたように、本実施例６では、負荷が一定の基準を超えている場合に優先順位の低いマルチキャストデータの転送を中止させるように構成したので、優先順位の高いマルチキャストデータの帯域を確保することができる。
【０１１０】
（付記１）マルチキャストデータの転送処理をおこなう複数のルータに接続された負荷分散装置であって、
受信したパケットの種別を識別するパケット識別手段と、
前記パケット識別手段が参加メッセージもしくは離脱メッセージと識別したパケットを記憶手段に記憶された振り分けルールに基づいてルータに排他的に振り分けるメッセージ振り分け手段と
を備えたことを特徴とする負荷分散装置。
【０１１１】
（付記２）前記パケット識別手段が生存確認メッセージと識別したパケットを破棄する生存確認メッセージ破棄手段をさらに備えたことを特徴とする付記１に記載の負荷分散装置。
【０１１２】
（付記３）前記メッセージ振り分け手段は、ルータの負荷が均等になるように考慮して前記振り分けルールを動的に追加することを特徴とする付記１または２に記載の負荷分散装置。
【０１１３】
（付記４）前記メッセージ振り分け手段は、参加メッセージもしくは離脱メッセージに含まれるマルチキャストアドレスを演算処理し、所定の範囲の数値に変換した値を手がかりとして、前記振り分けルールから振り分け先の情報を取得することを特徴とする付記１または２に記載の負荷分散装置。
【０１１４】
（付記５）前記メッセージ振り分け手段は、参加メッセージもしくは離脱メッセージに含まれるマルチキャストデータの送信元のＩＰアドレスを手がかりとして、前記振り分けルールから振り分け先の情報を取得することを特徴とする付記１または２に記載の負荷分散装置。
【０１１５】
（付記６）ルータの障害を検出する障害検出手段をさらに備え、
前記メッセージ振り分け手段は、前記障害検出手段がルータの障害を検出した場合に、該ルータを振り分け先としている振り分けルールを更新し、振り分け先を他のルータに置き換えることを特徴とする付記１または２に記載の負荷分散装置。
【０１１６】
（付記７）前記障害検出手段がルータの障害を検出し、前記メッセージ振り分け手段が振り分け先の置換えをおこなった場合に、新たに振り分け先となったルータに向けた参加メッセージを生成する参加メッセージ生成手段をさらに備えたことを特徴とする付記６に記載の負荷分散装置。
【０１１７】
（付記８）前記障害検出手段は、ルータから送信される生存確認メッセージを監視することでルータの障害を検出することを特徴とする付記６または７に記載の負荷分散装置。
【０１１８】
（付記９）前記障害検出手段は、ルータから送信されるマルチキャストデータを監視することでルータの障害を検出することを特徴とする付記６または７に記載の負荷分散装置。
【０１１９】
（付記１０）前記障害検出手段は、ルータに応答を求めるメッセージを定期的に送信し、所定の期間応答がない場合に当該のルータに障害が発生したとみなすことを特徴とする付記６または７に記載の負荷分散装置。
【０１２０】
（付記１１）前記メッセージ振り分け手段は、ルータの負荷が所定の閾値を超えた場合に、記憶手段に記憶された各マルチキャストアドレスの優先順位を参照し、最も優先順位が低いマルチキャストアドレスのデータの転送を中止するように当該のルータに指示することを特徴とする付記１または２に記載の負荷分散装置。
【０１２１】
（付記１２）マルチキャストデータの転送処理をおこなう複数のルータを制御する負荷分散方法であって、
受信したパケットの種別を識別するパケット識別工程と、
前記パケット識別工程が参加メッセージもしくは離脱メッセージと識別したパケットを記憶手段に記憶された振り分けルールに基づいてルータに排他的に振り分けるメッセージ振り分け工程と
を含んだことを特徴とする負荷分散方法。
【産業上の利用可能性】
【０１２２】
以上のように、本発明にかかる負荷分散装置および負荷分散方法は、マルチキャストデータの転送処理の負荷分散に有用であり、特に、ルータに負担をかけることなくマルチキャストデータの転送処理の負荷分散を実現し、高速な転送開始動作をおこなうことが必要な場合に適している。
【図面の簡単な説明】
【０１２３】
【図１】本実施例に係る負荷分散方式の原理について説明するための説明図である。
【図２】本実施例に係る負荷分散装置の構成を示す機能ブロック図である。
【図３】パケット識別部の構成を示す機能ブロック図である。
【図４】識別ルールの一例を示すサンプル図である。
【図５】参加／離脱メッセージ振り分け部の構成を示す機能ブロック図である。
【図６】方路振り分けルールの一例を示すサンプル図である。
【図７】図２に示した負荷分散装置の処理手順を示すフローチャートである。
【図８】転送先判定処理の処理手順を示すフローチャートである。
【図９】参加／離脱メッセージ振り分け部の構成を示す機能ブロック図である。
【図１０】方路振り分けルールの一例を示すサンプル図である。
【図１１】転送先判定処理の処理手順を示すフローチャートである。
【図１２】参加／離脱メッセージ振り分け部の構成を示す機能ブロック図である。
【図１３】方路振り分けルールの一例を示すサンプル図である。
【図１４】方路別エントリ数情報の一例を示すサンプル図である。
【図１５】転送先判定処理の処理手順を示すフローチャートである。
【図１６】転送先判定処理の処理手順を示すフローチャートである。
【図１７】参加／離脱メッセージ振り分け部の構成を示す機能ブロック図である。
【図１８】方路振り分けルールの一例を示すサンプル図である。
【図１９】転送先判定処理の処理手順を示すフローチャートである。
【図２０】本実施例に係る負荷分散装置の構成を示す機能ブロック図である。
【図２１】障害検出部の構成を示す機能ブロック図である。
【図２２】メッセージ断を検出した場合の処理手順を示すフローチャートである。
【図２３】本実施例に係る負荷分散装置の構成を示す機能ブロック図である。
【図２４】方路振り分けルールの一例を示すサンプル図である。
【図２５】マルチキャストをおこなう場合のネットワーク構成の一例を示すサンプル図である。
【図２６】マルチキャストをおこなう場合の通信手順を示すシーケンス図である。
【図２７】ルータが複数存在する場合の動作を説明するための説明図である。
【符号の説明】
【０１２４】
１００    インターネット
２００    ＬＡＮ
１０００    サーバ
２００１、２００２、２００３    ルータ
３００１、３００２、３００３    端末
４０００、４０００ａ、４０００ｅ  負荷分散装置
４１００ａ、４１００ｅ、４１００ｆ  ネットワークインターフェース部
４２００ａ、４２００ｅ、４２００ｆ  パケット識別部
４２１０ａ  ヘッダ抽出部
４２２０ａ  識別ルール検索部
４２３０ａ  識別ルール記憶部
４３００ａ、４３００ｅ、４３００ｆ  生存確認メッセージ破棄部
４４００ａ、４４００ｂ、４４００ｃ、４４００ｅ、４４００ｆ  参加／離脱メッセージ振り分け部
４４１０ａ、４４１０ｂ、４４１０ｃ  ヘッダ抽出部
４４１０ｄ  送信元アドレス抽出部
４４２０ａ、４４２０ｂ、４４２０ｄ  方路振り分けルール検索部
４４２１ｃ  参加メッセージ処理部
４４２２ｃ  離脱メッセージ処理部
４４２３ｃ  タイマ
４４３０ａ、４４３０ｂ、４４３０ｃ、４４３０ｄ  方路振り分けルール記憶部
４４３１ｃ  方路別エントリ数記憶部
４４４０ｂ  ヘッダ情報演算部
４４５０ｃ  種別判定部
４５００ａ、４５００ｅ、４５００ｆ  パケット転送部
４６００ｅ  障害検出部
４６１０ｅ  メッセージ断検出部
４６２０ｅ  タイマ
４７００ｅ  参加メッセージ生成部
４８００ｆ  離脱メッセージ生成部
【図１】
2006261805.tif 000003
【図２】
2006261805.tif 000004
【図３】
2006261805.tif 000005
【図４】
2006261805.tif 000006
【図５】
2006261805.tif 000007
【図６】
2006261805.tif 000008
【図７】
2006261805.tif 000009
【図８】
2006261805.tif 000010
【図９】
2006261805.tif 000011
【図１０】
2006261805.tif 000012
【図１１】
2006261805.tif 000013
【図１２】
2006261805.tif 000014
【図１３】
2006261805.tif 000015
【図１４】
2006261805.tif 000016
【図１５】
2006261805.tif 000017
【図１６】
2006261805.tif 000018
【図１７】
2006261805.tif 000019
【図１８】
2006261805.tif 000020
【図１９】
2006261805.tif 000021
【図２０】
2006261805.tif 000022
【図２１】
2006261805.tif 000023
【図２２】
2006261805.tif 000024
【図２３】
2006261805.tif 000025
【図２４】
2006261805.tif 000026
【図２５】
2006261805.tif 000027
【図２６】
2006261805.tif 000028
【図２７】
2006261805.tif 000029