(57)【要約】【課題】ネットワーク上でマルチキャスト経路指定を管理するための改善された方法を提供する。【解決手段】クラスタ・マスタは、近隣のクラスタ・マスタとのマルチキャスト制御プロトコル通信に積極的に参加するが、マスタでないメンバ・ノードは、クラスタの外部のプロトコルの動作に参加しない。しかし、事実上、各クラスタ・メンバは同じプロトコル状態を維持する。クラスタへの新しいメンバは、マスタから最初のプロトコル状態情報を受信することによって同期化される。最初のプロトコル状態の同期化後、クラスタ・メンバは、ネットワークを積極的に監視し、ネットワーク外で得ることができないプロトコル状態情報をクラスタ・メンバ間で交換する。マルチキャスト・データ・パケットのフィルタリングが、各クラスタ・メンバによって行われ、クラスタ・メンバを横切るマルチキャスト・データ・トラフィックの負荷を分散する。【選択図】図１
2006202280.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上でマルチキャスト経路指定を管理するためのシステムであって、
クラスタ内でクラスタ・マスタとして動作し、かつ、
クラスタ・メンバが前記クラスタに加わる場合、最初のプロトコル状態情報をクラスタ・メンバに送信し、
マルチキャスト制御プロトコル・パケットを前記クラスタの外部の少なくとも１つのネットワーク装置に送信し、
マルチキャスト・データ・パケットを受信し、第１のネットワーク装置が前記マルチキャスト・データ・パケットと関連付けられる場合、該マルチキャスト・データ・パケットを宛先に向けて送ること、
を含む動作を実行するように構成された第１のネットワーク装置と、
前記クラスタ内で前記クラスタ・メンバとして動作し、かつ、
第２のネットワーク装置を前記クラスタに加える際に前記第１のネットワーク装置から前記最初のプロトコル状態情報を受信し、
付加的なプロトコル状態情報について前記ネットワークを監視し、付加的なプロトコル状態情報が受信された場合、前記付加的なプロトコル状態情報を用いて第２のネットワーク装置の状態を更新し、
マルチキャスト・データ・パケットを受信し、第２の装置が前記マルチキャスト・データ・パケットと関連付けられる場合、該マルチキャスト・データ・パケットを宛先に向けて送ること、
を含む動作を実行するように構成された第２のネットワーク装置と、
を備えることを特徴とするシステム。
【請求項２】
前記第１のネットワーク装置及び前記第２のネットワーク装置の少なくとも１つは、
前記第１のネットワーク装置及び前記第２のネットワーク装置の少なくとも１つが前記マルチキャスト・データ・パケットと関連付けられた常駐アプリケーションを含む場合、該マルチキャスト・データ・パケットを前記常駐アプリケーションに向けて送ることをさらに含む動作を実行するように構成されたことを特徴とする請求項１に記載のシステム。
【請求項３】
前記第１のネットワーク装置及び前記第２のネットワーク装置の少なくとも１つは、
マルチキャスト・プロトコル状態を監視することによって、前記第１のネットワーク装置及び前記第２のネットワーク装置の１つによって知られている別のマルチキャスト・プロトコル状態が、前記クラスタ内の別のネットワーク装置によって得ることができない場合、他のマルチキャスト・プロトコル状態を前記クラスタ内の他のネットワーク装置に送信することをさらに含む動作を実行するように構成されたことを特徴とする請求項１に記載のシステム。
【請求項４】
前記第１のネットワーク装置及び前記第２のネットワーク装置の少なくとも１つが故障した場合、前記クラスタ内の他のネットワーク装置が、前記送信された他のマルチキャスト・プロトコル状態を少なくとも部分的に用いて、前記故障したネットワーク装置の作業負荷及び役割を担うことを特徴とする請求項３に記載のシステム。
【請求項５】
前記第２のネットワーク装置は、前記クラスタの外部の少なくとも１つのネットワーク装置からマルチキャスト制御プロトコル・パケットを受信し、前記マルチキャスト制御プロトコル・パケットに対応するのではなく、該マルチキャスト制御プロトコル・パケットをドロップすることをさらに含む動作を実行するように構成されたことを特徴とする請求項１に記載のシステム。
【請求項６】
前記付加的なプロトコル状態情報を用いて状態を更新することが、経路指定テーブル及びフィルタ・アプリケーションの少なくとも１つを更新することを含む、請求項１に記載のシステム。
【請求項７】
前記第２のネットワーク装置が前記マルチキャスト・データ・パケットと関連付けられた場合、該マルチキャスト・データ・パケットを管理するために、該第２のネットワーク装置の負荷が分散されているかどうかを判断するステップをさらに含む、請求項１に記載のシステム。
【請求項８】
前記第１のネットワーク装置及び前記第２のネットワーク装置の各々が、往復遅延時間、ラウンド・ロビン、最小接続、パケット完了速度、サービスの質、クラスタ・トポロジー、グローバルな可用性、ホップ、ハッシュ、静態比率、及び動態比率の負荷分散機構の少なくとも１つから選択された負荷分散機構を用いることを特徴とする請求項１に記載のシステム。
【請求項９】
ネットワーク上でマルチキャスト経路指定を管理するための装置であって、
前記ネットワーク上で情報を送受信するためのトランシーバと、
クラスタ内のメンバとして動作するように前記装置を構成し、
プロトコル状態情報について前記ネットワークを監視し、プロトコル状態情報が受信された場合、前記プロトコル状態情報を用いて前記装置の状態を更新し、
マルチキャスト制御プロトコル・メッセージを受信し、
前記装置がクラスタ・マスタである場合、前記マルチキャスト制御プロトコル・メッセージに応答し、
前記装置が前記クラスタ・マスタ以外である場合、前記マルチキャスト制御プロトコル・メッセージに応答するのではなく該マルチキャスト制御プロトコル・メッセージをドロップし、
マルチキャスト・データ・パケットを受信し、前記装置が前記マルチキャスト・データ・パケットと関連付けられる場合、該マルチキャスト・データ・パケットを宛先に向けて送ることを含む動作を実行するように構成されたマルチキャスト・クラスタ・マネージャと、
を備えることを特徴とする装置。
【請求項１０】
前記マルチキャスト・クラスタ・マスタ・マネージャは、
前記装置が前記マルチキャスト・データ・パケットと関連付けられた常駐アプリケーションを含む場合、該マルチキャスト・データ・パケットを前記常駐アプリケーションに送ることをさらに含む動作を実行するように構成されたことを特徴とする請求項９に記載の装置。
【請求項１１】
前記付加的なプロトコル状態情報を用いることが、自己のプロトコル状態情報を前記クラスタ内の別のネットワーク装置に送信することをさらに含む、請求項９に記載の装置。
【請求項１２】
前記装置が前記マルチキャスト・データ・パケットと関連付けられた場合、該マルチキャスト・データ・パケットを管理するために、前記第２のネットワーク装置の負荷が分散されているかどうかを判断することをさらに含む、請求項９に記載の装置。
【請求項１３】
前記マルチキャスト・クラスタ・マネージャは、
前記クラスタに加わる際に最初のプロトコル状態情報を前記クラスタ・マスタから受信することをさらに含む動作を実行するように構成されたことを特徴とする請求項９に記載の装置。
【請求項１４】
動作を実行するように構成された前記マルチキャスト・クラスタ・マネージャは、前記装置が前記マルチキャスト・データ・パケットと関連付けられていない場合、該マルチキャスト・データ・パケットをドロップすることをさらに含む、請求項９に記載の装置。
【請求項１５】
ネットワーク上でマルチキャスト経路指定を管理するための変調されたデータ信号であって、
前記変調されたデータ信号が、
クラスタ・メンバが前記クラスタに加わる場合、最初のプロトコル状態情報をクラスタ・マスタからクラスタ・メンバに送信し、
マルチキャスト制御プロトコル・パケットを前記クラスタ・マスタから前記クラスタの外部にある少なくとも１つのネットワーク装置に送信し、
別のマルチキャスト制御プロトコル・パケットを前記外部のネットワーク装置から受信し、前記マルチキャスト制御プロトコル・パケットが前記クラスタ・メンバによって受信された場合、該マルチキャスト制御プロトコル・パケットをドロップし、
付加的なプロトコル状態情報について前記ネットワークを監視し、付加的なプロトコル状態情報が受信された場合、前記付加的なプロトコル状態情報を用いて前記クラスタ・メンバの状態を更新し、
マルチキャスト・データ・パケットを受信し、前記クラスタ・メンバが前記マルチキャスト・データ・パケットと関連付けられた場合、該マルチキャスト・データ・パケットを宛先に向けて送る、
動作を含むことを特徴とする変調されたデータ信号。
【請求項１６】
前記クラスタ・メンバが前記マルチキャスト・データ・パケットと関連付けられた場合、該マルチキャスト・データ・パケットを管理するために、該クラスタ・メンバの負荷が分散されているかどうかを判断することをさらに含む、請求項１５に記載の変調されたデータ信号。
【請求項１７】
前記クラスタ・メンバは、往復遅延時間、ラウンド・ロビン、最小接続、パケット完了速度、サービスの質、クラスタ・トポロジー、グローバルな可用性、ホップ、ハッシュ、静態比率、及び動態比率の負荷分散機構の少なくとも１つから選択された負荷分散機構を用いることを特徴とする請求項１６に記載の変調されたデータ信号。
【請求項１８】
マルチキャスト・プロトコル状態を監視することによって、前記クラスタ・マスタ及び前記クラスタ・メンバの１つによって知られている別のマルチキャスト・プロトコル状態が、別のクラスタ・メンバによって得ることができない場合、他のマルチキャスト・プロトコル状態を他のクラスタ・メンバに送信することをさらに含む、請求項１５に記載の変調されたデータ信号。
【請求項１９】
前記クラスタ・メンバが前記マルチキャスト・データ・パケットと関連付けられた常駐アプリケーションを含む場合、該マルチキャスト・データ・パケットを前記常駐アプリケーションに向けて送ることをさらに含む、請求項１５に記載の変調されたデータ信号。
【請求項２０】
前記付加的なプロトコル状態情報を用いて前記クラスタ・メンバの状態を更新することが、経路指定テーブル及びフィルタ・アプリケーションの少なくとも１つを更新することをさらに含む、請求項１５に記載の変調されたデータ信号。
【請求項２１】
ネットワーク上でマルチキャスト経路指定を管理する方法であって、
クラスタ・メンバが前記クラスタに加わる場合、最初のプロトコル状態情報をクラスタ・メンバに送信し、
マルチキャスト制御プロトコル・パケットをクラスタ・マスタから前記クラスタの外部にある少なくとも１つのネットワーク装置に送信し、
別のマルチキャスト制御プロトコル・パケットを前記外部のネットワーク装置から受信し、前記マルチキャスト制御プロトコル・パケットが前記クラスタ・メンバによって受信された場合、該マルチキャスト制御プロトコル・パケットをドロップし、
付加的なプロトコル状態情報について前記ネットワークを監視し、付加的なプロトコル状態情報が受信された場合、前記付加的なプロトコル状態情報を用いて前記クラスタ・メンバの状態を更新し、
マルチキャスト・データ・パケットを受信し、前記クラスタ・メンバが前記マルチキャスト・データ・パケットと関連付けられた場合、該マルチキャスト・データ・パケットを宛先に向けて送る、
ステップを含むことを特徴とする方法。
【請求項２２】
マルチキャスト・プロトコル状態を監視することによって、前記クラスタ・マスタ及び前記クラスタ・メンバの一方によって知られている別のマルチキャスト・プロトコル状態が別のクラスタ・メンバによって得ることができない場合、他のマルチキャスト・プロトコル状態を他のクラスタ・メンバに送信し、該クラスタ・マスタ及び該クラスタ・メンバの１つが故障した場合、他のクラスタ・メンバが、該クラスタ・マスタ及び該クラスタ・メンバの故障したものの作業負荷及び役割を担うことができるようになるステップをさらに含む、請求項２１に記載の方法。
【請求項２３】
ネットワーク上でマルチキャスト経路指定を管理するための装置であって、
クラスタ内のクラスタ・メンバとして動作するように前記装置を構成するための手段と、
プロトコル状態情報について前記ネットワークを監視するための手段、及びプロトコル状態情報が受信された場合、前記プロトコル状態情報を用いて前記装置の状態を更新するための手段と、
マルチキャスト制御プロトコル・メッセージを受信するための手段と、
前記装置もクラスタ・マスタである場合、前記マルチキャスト制御プロトコル・メッセージに応答するための手段と、
前記装置が前記クラスタ・マスタ以外である場合、前記マルチキャスト制御プロトコル・メッセージに応答するのではなく該マルチキャスト制御プロトコル・メッセージをドロップするための手段と、
マルチキャスト・データ・パケットを受信するための手段、及び前記装置が前記マルチキャスト・データ・パケットと関連付けられた場合、該マルチキャスト・データ・パケットを宛先に向けて送るための手段と、
を備えることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピューティング管理に関するものであるが、より具体的には、状態の同期化を有した状態でクラスタにおけるマルチキャスト経路指定を管理するための方法及びシステムに限られるものではない。
本出願は、２００４年１２月３０日に出願された米国特許出願番号第１１／０２７，０１８号の優先権を主張するものであり、この特許の全体が引用によりここに組み入れられる。
【背景技術】
【０００２】
マルチキャスティングは、パケット・ベースのネットワーク上でコンテンツを効率的に送達する方法である。ソースで生成された単一のパケットを用いて、パケットのコンテンツをネットワーク上の多数の受信者に提供することができる。ソースから特定の媒体コンテンツを受信することに関心を持っている受信者のグループを、ネットワークの至る所に、かつ、異なるネットワークを横切ってさえも配置することができる。一般に、各々の受信者にコンテンツを送達するのに最も好ましい特定の経路がある。ソースから各々の受信者への経路が照合されるべき場合、経路の重複がある可能性がある。重複の度合いは、種々の受信者の位置に基づいて変わる。ネットワーク・グラフを用いて示されるときのソースから種々の受信者への経路は、一般に、コンテンツ送達ツリーと呼ばれ、ここで、グラフの頂点は、ルータ及びルータ間のネットワーク転送に対するエッジに対応する。受信者及び送信者を含むこうしたグループのノードにおいて、送信者は、パケットの各々の多数のコピーを、関心ある各受信者ついて１つだけ送信することができる。各々の受信者に同じ最終結果のパケットを送達するための別のマルチキャスト経路指定プロトコル手法は、ソースにおいて各パケットの単一のコピーを生成し、ツリーの分岐点で各パケットを複製することによるものである。このツリーは、特定のグループのアドレス向けのマルチキャスト・データが送られる共有経路に対応する。多数の送信者がおり、送信者ごとに多数の関心ある受信者がいるとき、ソースにおいて各パケットの１つのコピーだけを生成し、送達ツリーの各分岐点においてパケットの各々を複製する利点は、コンテンツを転送する時に利用される帯域幅の節約に関して明らかになるであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、マルチキャスト経路指定プロトコルを用いる幾つかの固有の問題がある。例えば、上述のように、大量のトラフィックを受信し、これによりトラフィックの処理能力に可能なボトルネックが形成される、ツリー内の少なくとも１つのノードがある。さらに、マルチキャスト・トラフィックの負荷がツリー内の他のノードの中で不均一に分散され、他の可能な経路を十分に利用しない可能性がある。
さらに、多くの企業は、重要なアプリケーションを管理し、コンテンツ・サーバにアクセスし、組み立て及び製造ラインを自動化し、複雑な制御システムを実施するために、マルチキャスト・プロトコル及び類似したネットワーク・インフラストラクチャを利用することができる。企業によるこうした信頼により、ネットワーク上のリソースに対する高い保護及び可用性への要求が駆り立てられた。不幸なことに、マルチキャスト・ツリー内のインターフェースの故障又はルータの故障は、企業に著しいコストをもたらす可能性がある。したがって、当該産業において、ネットワーク上でマルチキャスト経路指定を管理するための改善された手法に対する必要性がある。
【課題を解決するための手段】
【０００４】
本セクションのこの要約は、本発明の態様を読み手に紹介するように意図されており、本発明の完全な説明ではない。本発明の特定の態様は、以下の他のセクションにおいて指摘されており、本発明は、単独で本発明の範囲の境界を定める添付の特許請求の範囲において述べられる。
本発明は、ネットワーク・クラスタを用いてマルチキャスト経路指定を管理することに向けられる。ネットワーク・クラスタ・アーキテクチャの使用が、負荷分散のサポートを含むマルチキャスト経路指定プロトコル及びマルチキャスト・ルータのフェイル・オーバーを用いて、幾つかの識別された問題に対処することに向けられる。したがって、本発明は、近隣のクラスタとのマルチキャスト制御プロトコル通信に積極的に参加するクラスタ・マスタを含む。単一の近隣マルチキャスト・ルータとしての錯覚を維持するために、マスタでないクラスタ・メンバは、クラスタの外部のプロトコルの動作に参加しない。しかしながら、各クラスタ・メンバは、事実上、同じプロトコル状態を維持するので、クラスタ・マスタが利用できなくなった場合、最小限の遅れで、別のクラスタ・メンバがクラスタ・マスタの役割を担うことができる。さらに、各クラスタ・メンバによって、マルチキャスト・データ・パケットのフィルタリングが行われ、クラスタ・メンバを横切るマルチキャスト・データ・トラフィックの負荷を分散する。
【０００５】
本発明の一態様において、システムは、ネットワーク上でマルチキャスト経路指定を管理することに向けられる。このシステムは、第１のネットワーク装置及び第２のネットワーク装置を含む。第１のネットワーク装置は、クラスタ内のクラスタ・マスタとして動作するように構成される。第２のネットワーク装置は、クラスタ・メンバとして動作するように構成される。さらに、第１のネットワーク装置は、クラスタ・メンバがクラスタに加わる場合、最初のプロトコル状態情報をクラスタ・メンバに送信し、マルチキャスト制御プロトコル・パケットをクラスタの外部にある少なくとも１つのネットワーク装置に送信するように構成される。第１のネットワーク装置がマルチキャスト・データ・パケットと関連付けられる場合、該第１のネットワーク装置はマルチキャスト・データ・パケットを宛先に向けて送る。第２のネットワーク装置は、最初のプロトコル状態情報を受信し、付加的なプロトコル状態情報についてネットワークを監視するように構成される。付加的なプロトコル状態情報が受信された場合、第２のネットワーク装置は、付加的なプロトコル状態情報を用いてその情報を更新する。第２のネットワーク装置はまた、マルチキャスト・データ・パケットを受信することもでき、該第２のネットワーク装置がマルチキャスト・データ・パケットと関連付けられた場合、マルチキャスト・データ・パケットを宛先に向けて送る。
【０００６】
本発明の別の態様において、装置が、ネットワーク上でマルチキャスト経路指定を管理することに向けられる。この装置は、コンポーネントの中でも、動作を実行するように構成されたマルチキャスト・クラスタ・マネージャを含む。この動作は、クラスタ内のメンバとして動作するように装置を構成し、プロトコル状態情報についてネットワークを監視することを含む。プロトコル状態情報が受信された場合、該プロトコル状態情報を用いて装置の状態を更新する。さらに、マルチキャスト・クラスタ・マネージャは、マルチキャスト制御プロトコル・メッセージを受信するように構成され、装置がクラスタ・マスタである場合、該マルチキャスト・クラスタ・マネージャは、マルチキャスト制御プロトコル・メッセージに応答する。装置がクラスタ・マスタ以外である場合、マルチキャスト・クラスタ・マネージャは、該マルチキャスト制御プロトコル・メッセージに応答するのではなく該マルチキャスト制御プロトコル・メッセージをドロップする。装置がマルチキャスト・データ・パケットを受信したとき、該装置が該マルチキャスト・データ・パケットと関連付けられた場合、マルチキャスト・クラスタ・マネージャは、該マルチキャスト・データ・パケットを宛先に向けて送る。
【０００７】
本発明の別の態様において、方法は、ネットワーク上でマルチキャスト経路指定を管理することに向けられる。この方法は、クラスタ・メンバがクラスタに加わる場合、最初のプロトコル状態情報をクラスタ・メンバに送信する。この方法は、マルチキャスト制御プロトコル・パケットをクラスタ・マスタからクラスタの外部にある少なくとも１つのネットワーク装置に送信するステップを含む。さらに、この方法は、別のマルチキャスト制御プロトコル・パケットを外部のネットワーク装置から受信し、該マルチキャスト制御プロトコル・パケットがクラスタ・メンバによって受信された場合、該マルチキャスト制御プロトコル・パケットをドロップするステップを含む。この方法はまた、付加的なプロトコル状態情報についてネットワークを監視し、付加的なプロトコル状態情報が受信された場合、該付加的なプロトコル状態情報を用いてクラスタ・メンバの状態を更新するステップも含む。さらに、この方法は、マルチキャスト・データ・パケットを受信し、クラスタ・メンバが該マルチキャスト・データ・パケットと関連付けられた場合、該マルチキャスト・データ・パケットを宛先に向けて送るステップを含む。
【０００８】
本発明の一実施形態において、クラスタ・マスタ及びクラスタ・メンバの一方によって知られている別のマルチキャスト・プロトコル状態が、マルチキャスト・プロトコル状態を監視することによって別のクラスタ・メンバにより得ることができない場合、この方法が、他のマルチキャスト・プロトコル状態を他のクラスタ・メンバに送信するステップをさらに含むので、クラスタ・マスタ及びクラスタ・メンバの１つが故障した場合、他のクラスタ・メンバは、該クラスタ・マスタ及び該クラスタ・メンバの故障したものの作業負荷及び役割を担うことができるようになる。
本発明の他の特徴及び利点は、添付の図面と併せて本発明の以下の詳細な説明を読むことにより明らかになるであろう。
【発明を実施するための最良の形態】
【０００９】
網羅的でも制限でもない本発明の実施形態が、以下の図面を参照して述べられる。図において、特にことわらない限り、種々の図の全体にわたって同様の番号は同様の部品を指す。
本発明をより良く理解するために、添付図面に関連して読まれるべき以下の本発明の詳細な説明について説明する。
【００１０】
ここで、本発明が、本発明の一部を形成し、例として本発明を実施できる特定の例示的な実施形態を示す添付図面を参照して、以下により完全に説明される。しかしながら、本発明は、多くの異なる形態で具現することができ、ここに述べられる実施形態への制限として考えるべきではなく、どちらかと言えば、この開示が徹底的で完全なものになり、当業者に本発明の範囲を完全に伝えるように、これらの実施形態が提供される。とりわけ、本発明は、方法又は装置として具現することができる。したがって、本発明は、完全にハードウェアの実施形態の形態をとることも、完全にソフトウェアの実施形態の形態をとることも、或いはソフトウェアの態様及びハードウェアの態様を組み合わせる実施形態の形態をとることも可能である。したがって、以下の詳細な説明は、制限の意味でとらえるべきではない。
【００１１】
ネットワークのクラスタ化は、コンピュータ・サーバ又はネットワーク装置のために高可用性及び向上した性能を与える１つの方法である。クラスタとして構成されたサーバ又は装置のグループは、外部のネットワーク・エンティティに対して単一のサーバ又は装置であるという錯覚を維持させる。クラスタは、クラスタＩＰ（インターネット・プロトコル）アドレスによって各ネットワーク上で識別される。クラスタ・メンバは、クラスタ・プロトコル・メッセージを互いに交換し、クラスタ・メンバシップを動的に変更し（すなわち、メンバを付加したり、外したりし）、メンバの故障を検知し、又はメンバの中で仕事を分散することができる。１つのクラスタ・メンバをクラスタ・マスタとして静的又は動的に指名し、クラスタ・メンバ（クラスタ・マスタ自身を含む）間のイベントを調整することができる。
【００１２】
新しいサーバ又はネットワーク装置がクラスタに加わるとき、該新しいサーバ又はネットワーク装置が、他のメンバの負荷の一部を引き受けることができ、これにより該クラスタの能力又は性能が高められる。１つのクラスタ・メンバの重要な機能が部分的又は完全に故障した場合、そのクラスタ・メンバがクラスタを離れ、別のクラスタ・メンバが他のメンバの作業負荷を引き受けることができる。クラスタ・メンバは、周期的に状態情報を交換することができ、いずれのクラスタ・メンバがいずれの他のメンバの作業負荷を引き継ぐことも可能にする。このように、ネットワーク・クラスタ化は、ネットワーク・サービス又は装置の高可用性及び拡張が容易な性能を提供することができる。このように、これらの考慮事項及び他のものに対して本発明がなされた。
【００１３】
簡単に述べると、本発明は、ネットワーク・クラスタ構成を用いて、マルチキャスト・ルータのために高可用性及び向上した性能を与えるシステム、装置、及び方法に向けられる。クラスタ構成において、クラスタ・マスタは、クラスタの近隣のマルチキャスト・ルータとのマルチキャスト制御プロトコル通信に積極的に参加し、これにより単一のマルチキャスト・ルータ装置としての錯覚が維持される。クラスタ・マスタは、クラスタからマルチキャスト制御プロトコル・パケットを生成するためのソースとして、クラスタ・インターネット・プロトコル（ＩＰ）アドレスを用いる。マスタでないノードすなわちクラスタ・メンバ・ノードは、一般に、クラスタの外のマルチキャスト制御プロトコルの動作に参加しない。しかしながら、事実上、クラスタ・メンバの各々は同じプロトコル状態を維持するので、クラスタ・マスタが利用できなくなった場合、最小限の遅れで、クラスタの別のメンバが、クラスタ・マスタの役割を担うことができる。クラスタ・マスタから最初のプロトコル状態情報を受信することによって、クラスタに新しく加わるメンバが同期化される。最初のプロトコル状態を同期化した後、クラスタ・メンバは、新しいプロトコル状態情報を獲得するために、ネットワーク上のマルチキャスト制御プロトコル・トラフィックを積極的に監視する。さらに、クラスタ・メンバは、ネットワーク外で得ることができないプロトコル状態情報をクラスタ・メンバ間で交換する。さらに、マルチキャスト・データ・パケットのフィルタリングが、各クラスタ・メンバによって行われ、クラスタ・メンバを横切るマルチキャスト・データ・トラフィックの負荷を分散する。
【００１４】
例証となるオペレーティング環境
図１は、本発明が動作できる環境の一実施形態を示す。本発明を実施するために全てのコンポーネントを必要とするわけではなく、本発明の精神又は範囲から逸脱することなく、コンポーネントの構成及びタイプの変形をなすことができる。
図示されるように、クラスタ・システム１００は、ローカル・エリア・ネットワーク／広域エリア・ネットワーク（ＬＡＮ／ＷＡＮ）１０６及び１０７、宛先装置１１４、ソース装置１１２、マルチキャスト・ルータ１１０、及びマルチキャスト・クラスタ１０１を含む。マルチキャスト・クラスタ１０１は、クラスタ・メンバ１０２−１０４、及びクラスタ・マスタ１０５を含む。マルチキャスト・クラスタ１０１は、ＬＡＮ／ＷＡＮ１０６及び１０７と通信状態にある。宛先装置１１４はＬＡＮ／ＷＡＮ１０７と通信状態にあり、ソース装置１１２はＬＡＮ／ＷＡＮ１０６と通信状態にある。
【００１５】
クラスタ・メンバ１０２−１０４及びクラスタ・マスタ１０５は、複数のネットワークを通してＬＡＮ／ＷＡＮ１０６及び１０７と通信状態にあってもよい。例えば、示されていないが、クラスタ・メンバ１０２−１０４、クラスタ・マスタ１０５、及びＬＡＮ／ＷＡＮ１０７の間に複数のネットワーク接続が存在することがある。クラスタ・メンバ１０２−１０４、クラスタ・マスタ１０５、及びＬＡＮ／ＷＡＮ１０６の間に複数のネットワーク接続がさらに存在することもある。しかしながら、明確にするために、ネットワーク１０８だけが図１に示されている。ネットワーク１０８は、事実上、これに限られるものではないが、イーサネット（登録商標）８０２．３等を含むいずれのローカル・エリア・ネットワーク（ＬＡＮ）を含むこともできる。一実施形態において、ネットワーク１０８はプロトコル・ネットワークである。プロトコル・ネットワークは、事実上、プロトコル・メッセージの交換のために用いられる相互接続等を含むあらゆるネットワークを含む。
【００１６】
一般に、マルチキャスト・クラスタ１０１は、協働して別の装置にサービス、リソース等へのアクセスを提供できる粗結合ネットワーク装置を含むように構成される。一実施形態において、マルチキャスト・クラスタ１０１は、クラスタ・メンバ１０２−１０４の負荷を適応分散することによって、メッセージの処理能力を最適化するように構成される。マルチキャスト・クラスタ１０１は、事実上、往復遅延時間、ラウンド・ロビン、最小接続、パケット完了速度、サービスの質、クラスタ・トポロジー、グローバルな可用性、ホップ、ハッシュ、静態比率、及び動態比率を含む、何らかの負荷分散機構を利用することができる。一実施形態において、マルチキャスト・データ・パケットは、ユニキャスト・トラフィックのために用いられるものにほぼ類似したハッシュ・ベースのスキーム等を用いて、クラスタ・メンバの作業割り当てにマッピングすることができる。
【００１７】
さらに、マルチキャスト・クラスタ１０１は、これらに限られるものではないが、ドメイン・ネーム・サービス、安全サービス等を含む種々のネットワーク管理サービスを提供するように構成することができる。
クラスタ・メンバ１０２−１０４は、クラスタ・アーキテクチャ内のネットワーク上でパケットを送受信できる任意のネットワーク装置とすることができる。クラスタ・メンバ１０２−１０４のようなクラスタ・メンバの一実施形態が、図３と併せてより詳細に説明される。
【００１８】
一実施形態において、クラスタ・メンバ１０２−１０４は、受信したメッセージ・パケットのためのプロトコル・スタック・プロセッサとして動作するように構成される。こうした装置の組は、典型的には、クラスタ装置として動作するように構成された、パーソナル・コンピュータ、マルチプロセッサ・システム、マイクロプロセッサ・ベースの又はプログラム可能な家庭用電化製品、ネットワークＰＣ等のような有線通信媒体を用いて接続する装置を含むことができる。こうした装置の組はまた、典型的には、これらに限られるものではないが、クラスタ装置として構成された、携帯電話、高度自動機能電話、ポケットベル、携帯用無線電話機、無線（ＲＦ）装置、赤外線（ＩＲ）装置、ラップトップ、ＣＢ、前述の装置の１つ又はそれ以上を組み合わせる統合装置等を含む、移動体装置のような無線通信媒体を用いて接続する装置を含むこともできる。代替的に、クラスタ・メンバ１０２−１０４は、ＰＤＡ、ＰＯＣＫＥＴ  ＰＣ、装着型コンピュータ、クラスタ装置として動作する、有線及び／又は無線通信媒体上で通信するように装備された他のいずれかの装置のような有線及び／又は無線通信媒体を用いて接続できるいずれかの装置とすることができる。
【００１９】
さらに、クラスタ・メンバ１０２−１０４内のクラスタ・メンバの各々は、クライアント・メンバ自身とクラスタ・マスタ１０５との間でパケットを通信するように構成されたアプリケーション等を含むことができる。例えば、アプリケーションは、クラスタ・メンバがクラスタ・メンバに加わるとき、クラスタ・マスタ１０５から同期化プロトコル状態を受信することができる。次に、クラスタ・メンバ１０２−１０４は、付加的なプロトコル状態情報を得るために、アプリケーションを用いてネットワーク１０８を監視することができる。こうしたプロトコル状態情報は、クラスタ・メンバ１０２−１０４が、マルチキャスト経路指定テーブル及びユニキャスト経路指定テーブル並びに関連情報を含むそれぞれの経路指定テーブルを更新することを可能にできる。このように、プロトコル状態情報は、メンバのすぐ近隣、送信者、受信者、距離情報、マルチキャスト・ツリー情報等についての情報を含むことができる。さらに、アプリケーションは、クラスタ・メンバが、それぞれのプロトコル状態情報を別のクラスタ・メンバに提供することを可能にするので、クライアント・メンバが故障した場合に他のクラスタ・メンバがその役割を担うことができる。
【００２０】
マルチキャスト・クラスタ１０１及びクラスタ・メンバ１０２−１０４は、状態の同期化を維持するための上記の機構に制約されるものではない。例えば、クラスタ・メンバ１０２−１０４は、クラスタ・マスタ１０５が、プロトコル状態情報をクラスタ・メンバ１０２−１０４に送信することによって、事実上、プロトコル状態情報を常に同期化する完全同期化機構を用いることができる。この機構において、クラスタ・メンバ１０２−１０４は、プロトコル状態情報を得るために、事実上、クラスタ・マスタ１０５だけに依存する。クラスタ・マスタ１０５がクラスタ・メンバ１０２−１０４に対して全くプロトコル状態情報も同期化しない「監視のみ」の機構を用いて、同期化を達成することもできる。どちらかと言えば、クラスタ・メンバ１０２−１０４は、プロトコル状態情報を得るために、該クラスタ・メンバがネットワーク１０８から監視するトラフィックにのみ依存している。このように、クラスタ・メンバ１０２−１０４は、本発明の精神又は範囲から逸脱することなく、事実上、いずれの同期化機構を用いることもできる。
【００２１】
クラスタ・メンバ１０２−１０４内の各クラスタ・メンバは、マルチキャスト・プロトコル制御及び各クラスタ・メンバが受信するデータ・パケットにフィルタ・アプリケーションを適用し、これらを処理する方法を決定することができる。例えば、負荷分散機構に基づいて、受信したマルチキャスト・データ・パケットをその宛先に向けて送るように、１つのクラスタ・メンバに割り当てることができ、他のクラスタ・メンバは、単にマルチキャスト・データ・パケットをドロップすることができる。
クラスタ・メンバ１０２−１０４はまた、パケットの特定のトラフィック・フローと関連付けられたグループに加わることができる、該クラスタ・メンバ１０２−１０４内に常駐するアプリケーションを含むこともできる。例えば、一実施形態において、クラスタ・メンバ１０２は、特定のトラフィック・フローへのアクセスをシークするアプリケーションを含むことができる。この場合、クラスタ・メンバ１０２は、マルチキャスト・データ・パケットをドロップするのではなく、アプリケーションについてのトラフィック・フローと関連付けられたマルチキャスト・データ・パケットを受信するように構成することができ、該マルチキャスト・データ・パケットを常駐するアプリケーション上に送ることができる。クラスタ・メンバ１０２は、ソース装置１１２、宛先装置１１４等のような、マルチキャスト・クラスタ１０１の外部の宛先に向けてマルチキャスト・データ・パケットを送るかどうかにも関係なく、こうした動作を行うことができる。
【００２２】
クラスタ・マスタ１０５は、事実上、クラスタ管理ネットワーク装置として動作するように構成され、クラスタ構成の管理を変更できる、いずれのネットワーク装置をも含む。こうした装置の組は、これらに限られるものではないが、パーソナル・コンピュータ、マルチプロセッサ・システム、マイクロプロセッサ・ベースの又はプログラム可能な家庭用電化製品、ネットワークＰＣ、これらに限られるものではないが、携帯電話、高度自動機能電話、ポケットベル、携帯用無線電話機、無線（ＲＦ）装置、赤外線（ＩＲ）装置、ＣＢ、前述の装置の１つ又はそれ以上を組み合わせる統合装置、ＰＤＡ、ＰＯＣＫＥＴ  ＰＣ、装着型コンピュータを含む移動体装置、並びにマルチキャスト・クラスタ１０１への構成変更を管理するために、有線及び／又は無線通信媒体上で通信するように装備された他のいずれかの装置を含むことができる。一実施形態において、クラスタ・マスタ１０５が利用できなくなった場合、事実上、クラスタ・マスタ１０５の役割を担うように、いずれかのクラスタ・メンバ１０２−１０４を構成することができる。このように、一般に、クラスタ・メンバ１０２−１０４及びクラスタ・マスタの構成は、実質的に同じである。
【００２３】
一実施形態において、クラスタ・マスタを含む各メンバは、全てのマルチキャスト・プロトコル制御及びデータ・パケットを受信するが、マルチキャスト制御プロトコルの動作に積極的に参加するのはクラスタ・マスタ１０５である。一実施形態において、クラスタ・マスタ１０５は、生成したマルチキャスト・パケットのソースとして、クラスタ・マスタＩＰアドレスを用いる。クラスタ・メンバ１０２−１０４は、一般的に、マルチキャスト制御プロトコルの動作に参加しない。すなわち、クラスタ・マスタ１０５は、単一のマルチキャストの近隣ネットワーク装置としての錯覚を維持するように、マルチキャスト・クラスタ１０１に対して応答するように構成される。
【００２４】
ＬＡＮ／ＷＡＮ１０６及び１０７が、ある電子装置から別の電子装置に情報を伝達するための何らかの形態のコンピュータ可読媒体を利用することも可能にされる。また、ＬＡＮ／ＷＡＮ１０６及び１０７は、ローカル・エリア・ネットワーク（ＬＡＮ）、広域エリア・ネットワーク（ＷＡＮ）、ユニバーサル・シリアル・バル（ＵＳＢ）ポート、他の形態のコンピュータ可読媒体、或いはこれらの何らかの組み合わせによるような直接接続に加えて、インターネットのような無線インターフェース及び／又は有線インターフェースを含むことができる。異なるアーキテクチャ及びプロトコルに基づくものを含むＬＡＮの相互接続された組において、ルータは、ＬＡＮ間のリンクとして働き、メッセージをあるＬＡＮから別のＬＡＮに送ることを可能にする。また、ＬＡＮ内の通信リンクは、一般的に、対より線又は同軸ケーブルを含んでおり、ネットワーク間の通信リンクは、アナログ電話回線、Ｔ１、Ｔ２、Ｔ３及びＴ４を含む完全又は部分専用デジタル回線、統合サービス・ディジタル通信網（ＩＳＤＮ）、デジタル加入者線（ＤＳＬ）、衛星リンク、ＩＥＥＥ８０２．１１ａ、８０２．１１ｇ、８０２．１１ｈを含む種々の規格に基づいた接続を含む無線リンク、又は他の通信リンクを利用することができる。
【００２５】
さらに、ＬＡＮ／ＷＡＮ１０６及び１０７は、これらに限られるものではないが、携帯電話システムのための第二世代（２Ｇ）、第三世代（３Ｇ）の無線アクセス、無線ＬＡＮ、無線ルータ（ＷＲ）メッシュ等を含む複数の無線アクセス技術を用いることができる。２Ｇ、３Ｇ、及び将来のアクセス・ネットワークのようなアクセス技術により、種々の移動度を有する移動体装置についての広域の受信可能範囲が可能になる。例えば、ＬＡＮ／ＷＡＮ１０６及び１０７は、汎ヨーロッパディジタル移動通信システム（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  ＭＯｂｉｌ  ｃｏｍｍｕｎｉｃａｔｉｏｎ、ＧＳＭ）、汎用パケット無線サービス（Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ、ＧＰＲＳ）、拡張データＧＳＭ環境（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ＧＳＭ  Ｅｎｖｉｒｏｎｍｅｎｔ、ＥＤＧＥ）、広帯域符号分割多元接続（Ｗｉｄｅｂａｎｄ  Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ、ＷＣＤＭＡ）、８０２．１６等のような無線ネットワーク・アクセスを通して無線接続を可能にすることができる。
さらに、モデム及び一時的な電話リンクを介して、遠隔コンピュータ及び他の関連する電子装置をＬＡＮ又はＷＡＮのいずれかに遠隔接続することができる。本質的に、ＬＡＮ／ＷＡＮ１０６及び１０７は、あるネットワーク装置と別のネットワーク装置との間で情報を伝えることができる何らかの通信方法を含む。
【００２６】
さらに、ＬＡＮ／ＷＡＮ１０６及び１０７は、一般に、コンピュータ可読命令、データ構造、プログラム・モジュール、或いは、搬送波、データ信号、又は他の搬送機構といった変調された信号内の他のデータを具現し、何らかの情報伝達媒体を含む通信媒体を含むことができる。「変調されたデータ信号」及び「搬送波信号」という用語は、信号内の情報、命令、データ等をエンコードするような形で設定又は変更された特性の１つ又はそれ以上を有する信号を含む。一例として、通信媒体は、これらに限られるものではないが、対より線、同軸ケーブル、光ファイバ、導波管、及び他の有線媒体、並びに、これらに限られるものではないが、音響、ＲＦ、赤外線、及び他の無線媒体のような無線媒体を含む。
上述のような通信リンクで情報を伝送するのに用いられる媒体が、１つのタイプのコンピュータ可読媒体すなわち通信媒体を示す。一般に、コンピュータ可読媒体は、コンピューティング装置によってアクセスできるあらゆる媒体を含む。コンピュータ可読媒体は、コンピュータ格納媒体、通信媒体、又はこれらの何らかの組み合わせを含むことができる。
【００２７】
一般的に、ＬＡＮ／ＷＡＮ１０６は、マルチキャスト・クラスタ１０１が、ＬＡＮ／ＷＡＮ１０７内に常駐する別のネットワーク装置にアクセスするのを可能にするコンテンツ・サーバ、アプリケーション・サーバ等を含むことができる。同様に、ＬＡＮ／ＷＡＮ１０７もまた、マルチキャスト・クラスタ１０１を用いて、ＬＡＮ／ＷＡＮ１０６内に常駐するネットワーク装置へのアクセスを可能にするコンテンツ・サーバ、アプリケーション・サーバ等を含むことができる。図１に示されるように、ソース装置１１２及び宛先装置１１４は、通信を可能にするためにマルチキャスト・クラスタ１０１を用いることができる２つのネットワーク装置の例である。一実施形態において、ソース装置１１２は、宛先装置１１４の方向にも向かうことになっているマルチキャスト・メッセージを提供するように構成することができる。宛先装置と表記されているが、宛先装置１１４は、メッセージの宛先としてソース装置１１２を含むマルチキャスト・メッセージを提供することもできる。
説明のために、図１に、マルチキャスト・クラスタ１０１と接続する可能なルータとして、マルチキャスト・ルータ１１０も示されている。したがって、マルチキャスト・ルータ１１０は、マルチキャスト・メッセージを受信し、これらを近隣ネットワーク装置に向けて送るように構成することができる。マルチキャスト・ルータ１１０もまた、マルチキャスト・メッセージを送受信するように構成された、ブリッジ、スイッチ、ゲートウェイ等で表すことができる。
【００２８】
図２は、クラスタ・メンバ及び／又はクラスタ・マスタとして動作することができる、ネットワーク装置２００の一実施形態の機能ブロック図を示す。ネットワーク装置２００は、示されるものよりずっと多くのコンポーネントを含むことができる。しかしながら、示されるコンポーネントは、本発明を実施するための例示的な実施形態を開示するのに十分なものである。
ネットワーク装置２００は、全てがバス２２２を介して互いに通信状態にある、処理ユニット２１２、ビデオ・ディスプレイ・アダプタ２１４、及び大容量メモリを含む。一般に、大容量メモリは、ＲＡＭ２１６、ＲＯＭ２３２、及びハードディスク・ドライブ２２８、テープ・ドライブ、光ドライブ、及び／又はフロッピィ・ディスク・ドライブのような１つ又はそれ以上の恒久的大容量記憶装置を含む。大容量メモリは、ネットワーク装置２００の動作を制御するためのオペレーティング・システム２２０を格納する。任意の汎用オペレーティング・システムを用いることができる。ネットワーク装置２００の低レベルの動作を制御するために、基本入出力システム（「ＢＩＯＳ」）２１８も設けられる。
【００２９】
図２に示されるように、ネットワーク装置２００は、これらに限られるものではないが、ＴＣＰ／ＩＰプロトコル、ＵＤＰ／ＩＰプロトコル等を含む種々の通信プロトコルと共に使用するように構成されたインターフェース・ユニット２１０を介して、インターネット、又は図１のＬＡＮ／ＷＡＮ１０６及び１０７のような他の何らかの通信ネットワークと通信することもできる。ネットワーク・インターフェース・ユニット２１０は、往々にして、送受信機又は送受信装置として知られている。
ネットワーク装置２００は、ｅメールを伝送するためのＳＭＴＰハンドラ・アプリケーション、ＨＴＴＰ要求を受信し、取り扱うためのＨＴＴＰハンドラ・アプリケーション、及び安全な接続を取り扱うためのＨＴＴＰＳハンドラ・アプリケーションを含むこともできる。ＨＴＴＰＳハンドラ・アプリケーションは、安全な方法で外部のアプリケーションとの通信を開始することができる。しかしながら、ネットワーク装置２００は、これらのハンドラ・アプリケーションに制限されるものではなく、本発明の範囲から逸脱することなく、ネットワーク装置２００によって、他の多くのプロトコル・ハンドラ・アプリケーションを用いることができる。
【００３０】
ネットワーク装置２００は、マウス、キーボード、スキャナ、又は図２に示されていない他の入力装置のような外部装置と通信するための入力／出力インターフェース２２４を含むこともできる。同様に、ネットワーク装置２００は、ＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭドライブ２２６及びハードディスク・ドライブ２２８のような付加的な大容量記憶機能をさらに含むことができる。ハードディスク・ドライブ２２８は、とりわけ、アプリケーション・プログラム、データベース等を格納するために、ネットワーク装置２００によって利用される。
上述のような大容量メモリは、１つのタイプのコンピュータ可読媒体、すなわちコンピュータ記憶媒体を示す。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール又は他のデータのような情報の格納のための何らかの方法又は技術で実装される揮発性、不揮発性、取り外し可能、及び取り外し不能媒体を含むことができる。コンピュータ記憶媒体の例には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ、又は他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多目的ディスク（ＤＶＤ）又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、或いは、所望の情報を格納するのに用いることができ、コンピューティング装置によってアクセスできる他のいずれかの媒体が含まれる。
【００３１】
一実施形態において、大容量メモリは、オペレーティング・システム２２０を実装するためのプログラム・コード及びデータを格納する。大容量メモリは、ネットワーク装置２００の機能を実行するための付加的なプログラム・コード及びデータを格納することもできる。１つ又はそれ以上のアプリケーション２５０等を大容量メモリに読み込み、オペレーティング・システム２２０を実行することができる。図示されるように、マルチキャスト・クラスタ・マネージャ（ＭＣＭ）２４２は、オペレーティング・システム２２２０上で実行することができるアプリケーションの一例である。
ＭＣＭ２４２は、コンピューティング装置が、クラスタをクラスタ・メンバとして加えることを可能にするように構成することができ、クラスタ・マスタ１０５からプロトコル状態情報、構成情報等を受信することができる。ＭＣＭ２４２はまた、データ・パケットをフィルタリングし、プロトコル・パケットを管理し、プロトコル状態情報をマルチキャスト・クラスタ１０１の他のメンバ（及びクラスタ・マスタ１０５）と同期化させることによって、クラスタ・メンバが、クラスタ内のメンバとして動作することを可能にもできる。さらに、ＭＣＭ２４２は、クラスタ・マスタ１０５が故障した場合に、クラスタ・メンバがクラスタに対してマスタの役割を担うことを可能にし、及び／又は、別のクラスタ・メンバが故障した場合等に、データ・トラフィックを管理する責任を担うことを可能にする。ＭＣＭ２４２は、これらの多くの動作を実行するために、図３のプロセス３００及び図４のプロセス４００を利用することができる。
【００３２】
例証となる動作
ここで、本発明の特定の態様の動作が図３及び図４に関して説明される。図３は、一般に、図１に示されるようなマルチキャスト経路指定クラスタ内のメンバ間の状態の同期化を管理するためのプロセスの一実施形態を示す論理フロー図を示す。例えば、プロセス３００は、図１のマルチキャスト・クラスタ１０１のメンバ及び／又はマスタにおいて、及び／又はマルチキャスト経路指定のために構成されたクラスタ内の同様のネットワーク装置において実施することができる。
開始ブロックの後、プロセス３００は、ネットワーク装置がクラスタ・メンバであるかどうかの判断がなされる決定ブロック３０２で開始する。ネットワーク装置がクラスタ・メンバである場合、プロセスはブロック３０６に分岐し、他の場合には、処理は決定ブロック３０４に続く。
【００３３】
決定ブロック３０４において、ネットワーク装置が、新しいクラスタ・メンバとしてちょうどクラスタに加わるのかどうかの判断がなされる。ネットワーク装置が新しく加わるクラスタ・メンバである場合、処理はブロック３１４に流れ、他の場合には、ブロック３０６に続く。
ブロック３１４において、新しく加わるクラスタ・メンバは、加入メッセージへの要求をクラスタ・マスタに送信する。次に、処理は、新しく加わるクラスタ・メンバがクラスタ・マスタから、プロトコル状態情報を受信し、最初に新しいクラスタ・メンバを同期化するブロック３１６に流れるので、新しいメンバのプロトコル状態と残りのクラスタ・メンバのプロトコル状態との間のラグは最小になる。処理は、新しく加わったクラスタ・メンバが受信したプロトコル状態情報を用いて、経路指定テーブル、フィルタ等を含むプロトコル状態を更新するブロック３１８に続く。処理はブロック３０６に続く。
【００３４】
ブロック３０６において、ネットワーク装置は、プロトコル状態を獲得し、維持するために、ネットワークを監視し続ける。処理は、ネットワーク装置が受信したプロトコル状態情報を用いて、それぞれのプロトコル状態情報を同期化及び／又は更新することができる次のブロック３０８に流れる。一実施形態において、獲得されたマルチキャスト制御プロトコル・パケットは、クラスタの外部の近隣ネットワーク装置からのメッセージを含むことができる。別の実施形態において、獲得したマルチキャスト制御プロトコル・パケットは、クラスタからの応答についての要求を含むことができる。
処理は、マルチキャスト制御プロトコル・メッセージが受信されるかどうかの判断がなされる決定ブロック３１０に流れる。こうしたメッセージは、例えば、クラスタ内にないネットワーク装置からのプロトコル情報を提供することができる。マルチキャスト制御プロトコル・メッセージが受信される場合、処理は決定ブロック３２０に分岐し、他の場合には、処理は決定ブロック３１２に流れる。
【００３５】
決定ブロック３２０において、ネットワーク装置がクラスタ・マスタであるか又はクラスタ・メンバであるかについての判断がなされる。ネットワーク装置がクラスタ・マスタである場合、処理は、ブロック３２２に流れ、他の場合には、処理は決定ブロック３１２に進む。ブロック３２２において、クラスタ・マスタは、マルチキャスト制御プロトコル・メッセージに応答することができる。次に、処理は、決定ブロック３１２に進む。
決定ブロック３１２において、ネットワーク装置は、プロトコル状態が変更され、該ネットワーク装置が他のクラスタ・メンバとこうした変更を共有できるかどうかについて判断する。プロトコル状態が変更された場合、処理はブロック３２４に進み、他の場合には、処理は、呼び出しプロセスに戻り、他の動作を実行する。ブロック３２４において、ネットワーク装置は、そのプロトコル状態の変更をクラスタ内の他のメンバに送信するので、故障がある場合、別のクラスタ・メンバがその役割を担うことができる。次に、処理は、呼び出しプロセスに戻り、他の動作を実行する。
【００３６】
図４は、一般に、本発明による、図１のマルチキャスト・クラスタ内のネットワーク装置を通してマルチキャスト・データ・トラフィックを管理するプロセスについての一実施形態を示す論理フロー図を示す。図４のプロセス４００は、例えば、図１のクラスタ・メンバ１０２−１０４のようなクラスタ・メンバ及び／又はクラスタ・マスタ１０５において動作する。
開始ブロックの後、プロセス４００は、ネットワーク装置によってマルチキャスト・データ・パケットが受信されるブロック４０２で始まる。処理は、ネットワーク装置がマルチキャスト・データ・パケットを用い、そのデータ・フィルタを部分的に更新する次のブロック４０４に流れる。
【００３７】
処理は、マルチキャスト・データ・パケットが常駐アプリケーションによって受信されるべきかどうかについての判断がなされる次の決定ブロック４０８に続く。このことは、例えば、常駐アプリケーションが、受信したマルチキャスト・データ・パケットと関連付けられたグループに加わった場合に生じる。常駐アプリケーションがマルチキャスト・データ・パケットを受信することになる場合、処理は、マルチキャスト・データ・パケットが常駐アプリケーションに経路指定されるブロック４１４に続く。いずれにせよ、処理は、次の決定ブロック４１０に流れる。
ブロック４１０において、受信したマルチキャスト・データ・パケットが送られるべきかどうかについての判断がなされる。一実施形態において、データを送るために、受信するネットワーク装置を割り当てることができない。このことは、負荷分散決定を含む種々の決定に基づくものである。いずれにせよ、ネットワーク装置がマルチキャスト・データ・パケットを送ることになる場合、プロセス４００は、ネットワーク装置がマルチキャスト・データ・パケットを宛先に向けて経路指定するブロック４１６に続く。次に、処理は戻り、他の動作を実行する。
【００３８】
代替的に、決定ブロック４１０において、ネットワーク装置が受信したマルチキャスト・データ・パケットを送ることにならない場合、処理は、ネットワーク装置が受信したマルチキャスト・データ・パケットをドロップするブロック４１２に続く。次に、処理は呼び出し処理に戻り、他の動作を実行する。
上述のフローチャートの例の各ブロック及び上記のフローチャートの例のブロックの組み合わせは、コンピュータ・プログラム命令によって実施することができる。これらのプログラム命令をプロセッサに提供し、マシンを製造することができるので、プロセッサ上で実行する命令は、フローチャートのブロックにおいて指定される動作を実施するための手段を形成することが理解されるであろう。プロセッサによってコンピュータ・プログラム命令を実行し、該プロセッサによって一連の動作ステップを実行させるようにし、コンピュータにより実施されるプロセスを提供することができるので、該プロセッサ上で実行する命令が、フローチャートのブロックにおいて指定される動作を実施するためのステップを提供することができる。
【００３９】
したがって、フローチャートの例のブロックは、指定された動作を実行するための手段の組み合わせ、指定された動作を実行するためのステップの組み合わせ、及び指定された動作を実行するためのプログラム命令をサポートする。フローチャートの例の各ブロック、該フローチャートの例のブロックの組み合わせは、指定された動作又はステップ、或いは特殊用途のハードウェア及びコンピュータ命令の組み合わせを実行する、特殊用途のハードウェア・ベースのシステムによって実施することができる。
上記の明細書、例、及びデータは、本発明の製造を完全に説明し、本発明の構成を使用するものである。本発明の精神及び範囲から逸脱することなく本発明の多くの実施形態を行うことができるので、本発明は、前述の特許請求の範囲内に存在する。
【図面の簡単な説明】
【００４０】
【図１】本発明を実施するためのマルチキャスト・クラスタ環境の一実施形態を示す機能ブロック・ダイアグラムである。
【図２】本発明を実施するシステムに用い得るネットワーク装置の一実施形態を示す。
【図３】図１のマルチキャスト・クラスタ・マスタ内のメンバ間の状態の同期化を管理するプロセスの一実施形態を一般的に示す論理フロー図を示す。
【図４】本発明による、図１のマルチキャスト・クラスタ・マスタを通してマルチキャスト・データ・トラフィックを管理するプロセスの一実施形態を一般的に示す論理フロー図を示す。
【符号の説明】
【００４１】
１００  クラスタ・システム
１０１  マルチキャスト・クラスタ
１０２、１０３、１０４  クラスタ・メンバ
１０５  クラスタ・マスタ
１０６、１０７  ＬＡＮ／ＷＡＮ
１０８  ネットワーク
１１０  マルチキャスト・ルータ
１１２  ソース装置
１１４  宛先装置
２００  ネットワーク装置
【図１】
2006202280.tif 000003
【図２】
2006202280.tif 000004
【図３】
2006202280.tif 000005
【図４】
2006202280.tif 000006
【外国語明細書】
2006202280.tif 000007
2006202280.tif 000008
2006202280.tif 000009
2006202280.tif 000010
2006202280.tif 000011
2006202280.tif 000012
2006202280.tif 000013
2006202280.tif 000014
2006202280.tif 000015
2006202280.tif 000016
2006202280.tif 000017
2006202280.tif 000018
2006202280.tif 000019
2006202280.tif 000020
2006202280.tif 000021
2006202280.tif 000022
2006202280.tif 000023
2006202280.tif 000024
2006202280.tif 000025
2006202280.tif 000026
2006202280.tif 000027
2006202280.tif 000028
2006202280.tif 000029
2006202280.tif 000030
2006202280.tif 000031
2006202280.tif 000032
2006202280.tif 000033
2006202280.tif 000034