(57)【特許請求の範囲】
【請求項１】
交換ノードを有する通信ネットワークによって相互接続されたマルチキャストグループを構成する複数の通信デバイスのうちの選択された通信デバイス間のデータ通信を確立し保守する方法において、
（ａ）  前記マルチキャストグループの状態が変化した時点を判断するステップと、
（ｂ）  前記交換ノードで受信されたデータに応答して、予約メッセージおよびパスメッセージの伝送により開始された、該マルチキャストパスに沿って配置された受信通信デバイスのリソース予約を、前記マルチキャストグループの状態の変化があるまで、保守するステップと、
（ｃ）  前記マルチキャストグループの状態が変化したという判断に応答して、データが受信されていても、前記マルチキャストパスに沿って配置された各受信通信デバイスのリソース予約を新しいリソース予約に変更するステップと
を有することを特徴とするデータ通信方法。
【請求項２】
前記ステップ（ａ）は、
（ａ１）  交換ノードが前記マルチキャストグループに追加された時点を判断するステップ
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ステップ（ａ１）は、
（ａ１．１）  前記追加された交換ノードに接続された別の受信通信デバイスが前記マルチキャストグループに加入したことを識別するステップ
を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記ステップ（ａ１）は、
（ａ１．２）  前記別の受信通信デバイスから前記追加された交換ノードへ前記マルチキャストグループへの加入を示すレポートを送るステップ
を含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記ステップ（ａ）は、
（ａ２）  交換ノードが前記マルチキャストグループから削除された時点を判断するステップ
を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記ステップ（ａ２）は、
（ａ２．１）  リンク障害が起きたかどうかを判断するステップ
を含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記ステップ（ａ２）は、
（ａ２．２）  受信通信デバイスが前記マルチキャストグループから離脱したかどうかを判断するステップ
を含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記ステップ（ａ）は、
（ａ３）  前記マルチキャストパスに沿って配置された受信通信デバイスにおいて、サービス品質の劣化があった時点を検出するステップ
を含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ステップ（ａ）は、
（ａ４）  交換ノードのルーティングテーブルの変化があったかどうかを判断するステップ
を含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記ステップ（ｂ）は、
（ｂ１）  送信通信デバイスから受信通信デバイスへ前記マルチキャストパスを通じて、前記パスメッセージを送るステップ
を含むことを特徴とする請求項１に記載の方法。
【請求項１１】
（ｂ２）  追加のパスメッセージを送らないようにタイマを無効にするステップをさらに有することを特徴とする請求項１０に記載の方法。
【請求項１２】
（ｂ３）  前記パスメッセージにタイムアウト値が指定されないようにするステップをさらに有することを特徴とする請求項１０に記載の方法。
【請求項１３】
（ｂ４）  リソース予約をリフレッシュするためのタイマの無効化をシミュレートするように、前記パスメッセージ内のタイムアウト値を指定するステップをさらに有することを特徴とする請求項１０に記載の方法。
【請求項１４】
前記ステップ（ｂ）は、
（ｂ５）  前記パスメッセージの入リンクおよび出リンクを識別するように交換ノードにおいて保守ソフト状態を設定するステップ
を含むことを特徴とする請求項１０に記載の方法。
【請求項１５】
前記ステップ（ｂ）は、
（ｂ６）  前記マルチキャストパスに沿って配置された前記各受信通信デバイスで前記パスメッセージを受信するステップと、
（ｂ７）  前記マルチキャストパスに沿って配置された前記各受信通信デバイスから前記送信通信デバイスへ交換ノードを通じて予約メッセージを送信するステップと
を含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
（ｂ８）  各交換ノードにおいてプロトコルシステムプロセスを実行するステップをさらに有し、
前記ステップ（ｂ）は、
（ｂ９）  交換ノードのプロトコルシステムプロセスにおいて、予約メッセージを受信するステップと、
（ｂ１０）  前記プロトコルシステムプロセスから各交換ノードのパケットスケジューラおよびクラシファイアへリソース予約指定情報を送るステップと
を含むことを特徴とする請求項１４に記載の方法。
【請求項１７】
前記ステップ（ｃ）は、
（ｃ１）  前記マルチキャストグループの状態が変化したという判断に応答して、リソース予約の保守を指示するようにリソース保守メッセージを送信するステップ
を含むことを特徴とする請求項１に記載の方法。
【請求項１８】
（ｃ２）  交換ノードに記憶されているルーティングテーブルによって定義されるルーティングパスに沿って前記リソース保守メッセージをルーティングするステップをさらに有することを特徴とする請求項１７に記載の方法。
【請求項１９】
（ｃ３）  前記リソース保守メッセージを受信した交換ノードにおいて前記リソース保守メッセージを検査するステップと、
（ｃ４）  前記マルチキャストグループの状態の変化により前記ルーティングパスに沿っての保守が必要であるかどうかを判断するステップと
をさらに有することを特徴とする請求項１８に記載の方法。
【請求項２０】
（ｃ５）  保守が必要であるという判断に応答して、前記ルーティングパスに沿った交換ノードにおいて保守ソフト状態を作成するステップをさらに有することを特徴とする請求項１９に記載の方法。
【請求項２１】
（ｃ６）  前記リソース保守メッセージを送信通信デバイスへ送るステップをさらに有することを特徴とする請求項２０に記載の方法。
【請求項２２】
（ｃ７）  前記送信通信デバイスにおいて前記リソース保守メッセージを処理するステップと、
（ｃ８）  前記送信通信デバイスにおいて前記リソース保守メッセージを受信した後、前記送信通信デバイスからパスメッセージを送信するステップとをさらに有することを特徴とする請求項２１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークにおけるデバイス間の通信方法に関し、特に、ネットワークのマルチキャスト通信プロトコルに関する。
【０００２】
【従来の技術】
通信プロトコルは、一般にコンピュータネットワークにおけるデバイス間のデータ伝送のフォーマットおよびタイミングに関する規則または手続きのセットを提供する。コンピュータネットワークはホストデバイスから形成される。ホストデバイスは、互いに情報を送信し合い、交換要素すなわち交換ノードの通信ネットワークによって接続される。マルチキャストは、メッセージがネットワーク内のホストのサブセットによって受信されるような通信の形式である。ポイント・ツー・マルチポイントのマルチキャスト環境では、ソースホストデバイスすなわちソースノードがメッセージを生成して複数のデスティネーションすなわち受信ホストとそのメッセージを通信する。マルチキャストは、マルチポイント・ツー・マルチポイントの場合もある。この場合、ネットワーク内の送信ノードのサブセットが複数の受信ノードへ情報を送信する。
【０００３】
マルチキャスト環境における通信フレームワークを提供するためにマルチキャストプロトコルが開発されてきた。リソース予約プロトコル（通常「ＲＳＶＰ」という。）は、マルチキャストコネクションにおけるリソース予約を行うために用いられる。ＲＳＶＰは、マルチキャストプロトコルを支援するように設計されている。しかし、ＲＳＶＰは、特に、受信ホストデバイスの数が非常の多いときには非効率的であり問題があることが分かっている。ＲＳＶＰの基本動作は、ソースからデスティネーションへＰＡＴＨ（パス）メッセージを送った後、デスティネーションがＲＥＳＥＲＶＡＴＩＯＮ（予約）メッセージで応答するというものである。複数の受信器へのコネクションを確立するために、ＰＡＴＨメッセージは、中間交換ノードのルーティングテーブルに従ってルーティングされる。受信デバイスの能力が異なることにより、受信器は、コネクションを受容するために必要なリソースを指定する。しかし、ソースからデスティネーションまでのＰＡＴＨメッセージのルーティングパスは、逆向きのＲＥＳＥＲＶＡＴＩＯＮメッセージとは同じではない可能性がある。このため、ＲＳＶＰ復路において、逆のルーティングテーブルを提供するために、各中間交換ノードにテーブルを保守しておく必要がある。
【０００４】
ソースホストがリソースを予約するためにＰＡＴＨメッセージを送信すると、受信器は、マルチキャストセッションのためにリソースを予約したことをＲＥＳＥＲＶＡＴＩＯＮメッセージで応答する。ＲＳＶＰプロトコルにおける方式の１つは、マルチキャストセッションに対する個々のソースの情報を交換ノード（１個または複数）が保守することを要求する。さらに、ＲＳＶＰでは、送信器によって用いられるリフレッシュ期間を指定することが要求される。交換ノードは、指定されたリフレッシュ期間を、その交換ノードにおいてリソース予約を保守しようと試みる際のガイドラインとして使用する。さらに、各中間交換ノードにおけるリソースの予約を保つために、ＰＡＴＨおよびＲＥＳＥＲＶＡＴＩＯＮメッセージは、一定して（例えば、１００ｍｓごとに）交換されなければならない。しかし、残念ながら、受信ノードは、適当にリソースを予約するために連続して定期的にＲＥＳＥＲＶＡＴＩＯＮメッセージで応答することが要求される。
【０００５】
【発明が解決しようとする課題】
リソース予約のこの一定リフレッシュ方式は、パケットデータネットワークにおける動的ルーティングテーブル変化のような、マルチキャストグループにおける状態変化を考慮に入れるために用いられている。リソース予約の連続的リフレッシュによって、ルーティングテーブル変化により交換ノードに残された予約は、所定時間内にリフレッシュされないときにはフラッシュ（消去）される。残念ながら、一定リフレッシュ方式は、特にネットワークの端で非常に大量のメッセージを要求し、端の交換機にとって実時間処理の浪費であることが示されている。大量のメッセージ交換および実時間集約的な処理は、大規模なマルチキャストグループにとって非常に問題であり非効率的である。従って、従来技術には、ネットワークルーティングが交換ノードで変更されるとき、および、ネットワークにおける他の状態変化が起こるときにも、マルチキャストパスに沿って正しいリソース予約を効率的に保守することが必要とされている。
【０００６】
【課題を解決するための手段】
上記の問題点は、本発明によれば、送信ノードから受信通信デバイスまで、マルチキャストグループにおけるデータ通信を確立し保守する方法によって解決される。本発明の方法は、送信ノードから受信ノードへマルチキャストパスに沿って情報を送信し、送信器と受信通信デバイスの間でパスおよび予約のメッセージの一定の定期的交換を必要とすることなく、通信を保守するのに必要なリソースを予約する。さらに、本発明によれば、マルチキャストグループの状態の変化が観測されたときにも、マルチキャストパスに沿って正しいリソース予約が保守される。
【０００７】
特に、本発明の方法は、交換ノードの通信ネットワークによって相互接続されたマルチキャストグループを定義する複数の通信デバイスのうちから選択された通信デバイス間のデータ通信を確立し保守する方法であって、
マルチキャストグループの状態の変化がいつあったかを判定し、
通常は、マルチキャストグループの状態の変化がない場合に、交換ノードで実質的に連続して受信されるデータに応答して、受信通信デバイスのリソース予約を保守し、
マルチキャストグループの状態の変化があったという判定に応答して、データが実質的に連続して受信されている間であっても、受信通信デバイスのリソース予約を新しいリソース予約に変更する。
【０００８】
【発明の実施の形態】
図１に、複数の通信デバイス間のデータ通信を確立し保守する本発明の方法が実施されるコンピュータネットワークを示す。図示されている通信デバイスには、送信通信デバイス（送信ノード）３２が含まれる。送信ノード３２は、複数の受信通信デバイス（受信ノード）３６Ａ〜３６Ｄのうちから選択された受信ノードとの間で情報を交換する。送信ノード３２（「ソースノード」ともいう。）および受信ノード３６Ａ〜３６Ｄはマルチキャストグループ３０を定義する。マルチキャストグループ３０において、送信ノードは、交換ノード３４Ａ〜３４Ｄの通信ネットワーク３１によって複数の受信ノードと相互接続される。通信デバイス（３２，３６Ａ〜３６Ｄ）は、好ましくは、コンピュータに基づくデバイス（ホスト）であり、アプリケーションプログラムを実行して、他のデバイスとの間で、マルチメディア会議、電子メール、ファイル転送、ワールドワイドウェブ、インターネット電話およびリアルタイムインターネットファックスサービスのようなさまざまなタスクを実行する。
【０００９】
情報は、ホスト通信デバイス（送信ノード、受信ノード）間で、交換ノード３４Ａ〜３４Ｄのネットワーク３１と、交換ノードに通信デバイスを接続する複数の通信リンクを介して転送される。各通信デバイス（送信ノード、受信ノード）は、１個あるいは数個の交換ノード３４と接続される。好ましくは、ホスト通信デバイス３２，３６Ａ〜３６Ｄと交換ノード３４Ａ〜３４Ｄの間の通信は、非同期転送モード（ＡＴＭ）、フレームリレー、ファイバ分散データインタフェース（ＦＤＤＩ）などのような相互接続リンクを通じて行われるが、このようなデータ通信は、無線データ伝送を通じても適当に実行される。交換ノードの例には、ルータ、レイヤ３スイッチなどがあり、ネットワーク間のインタフェースを提供する。交換ノード３４Ａ〜３４Ｄは、パケットのデスティネーションアドレスに基づいてそのパケットの次のホップを決定する。ルータ／ブリッジのような交換ノードは、異なる媒体タイプ間の変換（例えば、イーサネットからフレームリレーへ）をサポートする。
【００１０】
情報は、通信が実行される方式を指定するあらかじめ選択された正しく定義されたルールあるいはプロトコルのセットに従ってマルチキャストグループ３０内で通信される。本発明は、ソース通信デバイス３２と１個以上の受信通信デバイス３６Ａ〜３６Ｄとの間の通信方法を改善する。特に、ネットワーク内のマルチキャスト通信に対して、受信デバイスの数が非常に多い場合に、本発明は、通信のパフォーマンスおよびスケーラビリティを向上させる。図１は、単一の送信ノード３２からマルチキャストグループ３０のマルチキャストデスティネーション（受信ノード）へのルーティングパスを示している。図１の交換ノード３４Ａは、マルチキャストツリーのための入リンク２０ならびに出リンク２１および２２を有する。交換ノード３４Ｂは、入リンク２２と、受信デバイス３６Ｂ1および３６Ｂ2を接続する出リンク２３および２４と、交換ノード３４Ｃに接続された出リンク２５とを有する。図１のソースノード３２からのマルチキャスト通信の場合、交換ノード３４Ｃは、入リンク２５と、受信ノード３６Ｃ1、３６Ｃ2および３６Ｃ3にそれぞれ接続された出リンク２６，２７，２８を有する。交換ノード３４Ｄは、リンク３３および２９を介して、それぞれ交換ノード３４Ｂおよび交換ノード３４Ｃに接続される。受信ノード３６Ｄは、関連する交換ノード３４Ｄに、リンク３５によって接続される。リンク２９、３３および３５は、図１では破線で表され、マルチキャスト通信における代替ルーティングパス、および、交換ノード３４Ｄや受信ノード３６Ｄがマルチキャストグループ３０に加入した状況またはマルチキャストグループ３０から離脱した状況を示している。
【００１１】
パケットデータネットワークのルーティング機能を提供するため、各交換ノードはルーティングテーブルを保守する。ルーティングテーブル８０の例を図３に示す。例示的なルーティングテーブル８０（図３）は、図１の交換ノード３４Ｂのルーティングテーブルの例である。リンクから情報のデータパケットを受信すると、交換ノード３４Ｂは、メモリに記憶されているルーティングテーブル（図３）を見て、デスティネーションに到達するためのパケットの次のホップを決定する。図１の交換ノード３４Ｂにおいて、例えば、デスティネーションが受信ノード３６Ａであるパケットがリンク２５から受信された場合、交換ノード３４Ｂは、ルーティングテーブル８０（図３）を調べ、デスティネーションノード３６ＡがネットワークＡ（８１）にあると判定する。この例では、デスティネーションノード３６Ａへのルーティングは、図３のルーティングテーブル８０のアドレスロケーション８２に示されているように、交換ノード３４Ａを介して実現される。データパケットは、交換ノード３４Ａ（図１）へ送られることになる。
【００１２】
同じ手順が、交換ノード３４Ｂに関連するネットワークＢのホスト３６Ｂ1、および３６Ｂ2、交換ノード３４Ｃに関連するネットワークＣのホスト３６Ｃ1、３６Ｃ2および３６Ｃ3、ならびに、交換ノード３４Ｄに関連するネットワークＤのホスト３６Ｄにも適用される。交換ノード３４Ｂのルーティングテーブル８０（図３）は、アドレスロケーション８３に、送信ホストデバイス３２に到達するためには、交換ノード３４Ｂはデータをロケーション８４に示されるように交換ノード３４Ａへルーティングすることを指定している。アドレスロケーション８６は、ロケーション８５に指定されたネットワークＢ上では情報が直送によりホスト通信デバイス３６Ｂ1および３６Ｂ2へ送られることを示す。アドレスロケーション８７に示されるネットワークＣ上のホストデバイス（すなわち、通信デバイス３６Ｃ1，３６Ｃ2，３６Ｃ3）への情報のルーティングは、ロケーション８８に示されるように、データを交換ノード３４Ｃへ送ることによって実行される。図３の例示的なルーティングテーブル８０は、ロケーション８９に、ネットワークＤ上のホスト通信デバイス３６Ｄに到達するためには、交換ノード３４Ｂはデータをロケーション９０に示されるように交換ノード３４Ｃにルーティングすることを指定している。続いてデータはリンク２９を通じて交換ノード３４Ｄ（図１）へルーティングされることになる。あるいは、交換ノード３４Ｂからのデータが受信ノード３６Ｄに到達するためには、リンク３３を通じて直接交換ノード３４Ｄへルーティングされることも可能である。
【００１３】
送信ノード３２が複数の受信器とのコネクションを確立し、これらのコネクションを有効に保守するためにリソースを予約すると、パスメッセージが、中間ノード３４Ａ，３４Ｂ，３４Ｃのルーティングテーブル８０に従ってルーティングされる。送信ノード３２（図１）から受信ノード３６Ａへのマルチキャストパスは、リンク２０および２１ならびに交換ノード３４Ａを通る。受信ノード３６Ｂ1へのマルチキャストルーティングパスは、リンク２０、２２および２３を通り、受信ノード３６Ｂ2へのパスは、リンク２０、２２および２４を通り、中間交換ノード３４Ａおよび３４Ｂが情報をルーティングする。同様に、ソース３２と受信ノード３６Ｃ1、３６Ｃ2および３６Ｃ3（図１）の間のマルチキャストルーティングパスは、交換ノード３４Ａ、リンク２２、交換ノード３４Ｂ、リンク２５、交換ノード３４Ｃを通り、交換ノード３４Ｃから、受信ノード３６Ｃ1、３６Ｃ2および３６Ｃ3へ、それぞれリンク２６、２７および２８を通じて到達する。相異なる受信ノードは異なる能力を有することが可能であるため、受信ノード３６Ａ〜３６Ｃ3は、コネクションを受容するために必要なリソースを指定する。サービス品質のためのリソース（例えば、ピークデータレート、最小管理単位、最大パケットサイズ）の予約は、好ましくは、受信ノード３６Ａ〜３６Ｃ3が、パス通信に必要なリソースを割り当てるためにその受信ノードへのマルチキャストパスを通り受信したパスメッセージと逆向きに予約メッセージを送るとによって行われる。
【００１４】
マルチキャストセッションのためのリソース予約を開始するためにパスおよび予約のメッセージが送信された後、通常は、交換ノード３４Ａ，３４Ｂ，３４Ｃでほぼ連続して受信されるデータに応答して、受信通信デバイス３６Ａ〜３６Ｃ3に対するリソース予約は保守される。一実施例では、マルチキャストグループに対する予約は、データが交換ノードを通って流れ続ける間、リフレッシュされる。非同期転送モード通信の場合、所望のサービス品質を達成するために、リソースは、仮想回線コネクションを通じて予約される。このリソースの予約を保証するために、通常のデータトラフィック中には、他のパスおよび予約のメッセージは不要である。データの送信が継続しておりさまざまなロケーションへルーティングされている間にも、マルチキャストグループの状態にある変化が起きたという判定に応答して、受信ノードに対するリソース予約は変更される。好ましくは、リソース予約変更が必要であるかどうかを判定するプロセスは、交換ノードのルーティングテーブルの変化、受信ノードのサービス品質が劣化したことの観測、または、新たな受信ノード３６Ｄ（図１）がマルチキャストグループ３０に加入したかあるいはマルチキャストグループ３０から離脱したことに応答してなされる。マルチキャストグループの状態のある変化（例えば、交換ノードルーティングテーブルの変化）に応じてリソース予約を修正することとともに、パスおよび予約のメッセージの連続的な定期的交換を大幅に少なくすることによって、本発明の改良された通信プロトコルは、ネットワーク動作のパフォーマンスおよび効率を大幅に改善する。
【００１５】
図２は、送信通信デバイス３２、交換ノード３４および受信通信デバイス３６に対するさまざまな定義された要素を含むブロック図である。本発明におけるデータ通信を確立し保守する方法において、送信ノード３２からマルチキャストパスを通り受信ノード３６へパスメッセージを送るステップは、マルチキャストセッションのためのリソース予約を開始したときに実行される。好ましくは、図１に示されるように、パスメッセージは、マルチキャスト方式の実行後に、このメッセージをルーティングするさまざまな中間交換ノード３４Ａ〜３４Ｄを通じて、複数の受信ノード３６Ａ〜３６Ｄへ送信される。
【００１６】
送信されたパスメッセージは、その後、受信通信デバイス３６（図２）で受信される。次に、受信通信デバイス３６は、交換ノード３４を通じて、送信通信デバイス３２へ予約メッセージを返送するステップを実行する。この予約メッセージは、受信されたパスメッセージとは逆の向きで同じ経路（リバースルート）を通じて送信されることが多い。図６に、パスメッセージ３１０および予約メッセージ３２０の例示的なデータパケットを示す。パスメッセージに含まれる情報は、好ましくは、（１）発信ノードを認証し（パス）メッセージの内容を照合するための暗号データ、（２）デスティネーションのトランスポートアドレスを記述するセッション識別情報、（３）受信された（パス）メッセージを転送したリソース予約の情報を有する最後のホップ、（４）作成者がメッセージをリフレッシュした時刻、および（５）保証されたサービスおよび制御された負荷のサービスの情報、である。予約メッセージは、好ましくは、パスメッセージに対する上記の１〜４の項目と同様の情報を含む。予約メッセージは、リソースを予約するスタイル（例えば、予約は異なる送信器のデータストリームを区別する必要があるか）に関する情報、リソースを予約する方法（例えば、ピークデータレート、最大パケットサイズなど）に関する情報、および、データストリーム（フロー）の識別も含むことが多い。予約メッセージは、マルチキャストセッション中に受信ノード３６があるタスクを実行するため、あるいは、正しい通信を保証するために、予約される必要があるシステムリソースを指示する。
【００１７】
送信ノード３２は、図２に示されるように、アプリケーション３８、ポリシー制御４０、受付制御４２、パケットスケジューラ４４、クラシファイア４６およびプロトコルシステムプロセス４８を含むさまざまな定義された要素を有する。プロトコルシステムプロセスは、本発明の改善されたプロトコルの実行を可能にするために、ホスト通信デバイス（送信ノード３２、受信ノード３６）と、交換ノードルータデバイス３４に常駐する要素である。図２に示されるように、受信通信デバイス３６は、プロトコルシステムプロセス要素５０を有し、交換ノード３４もまた、交換ノードのメモリに記憶されたプロトコルシステムプロセス５２を含む。送信ノード３２、受信ノード３６および交換ノード３４のそれぞれのプロセスシステムプロセスは、関連するポリシー制御、受付制御、パケットスケジューラおよびクラシファイアに情報を提供する。
【００１８】
プロトコルシステムプロセス要素は、リソース予約関連メッセージを処理しリソース予約動作のソフト状態を保守するソフトウェアエンティティである。各ノードにおいて、プロトコルシステムプロセス要素は、２つのローカル判断モジュール、すなわち、受付制御およびポリシー制御と通信する。送信ノード３２の受付制御４２（図２）は、関連するノード（デバイス）が要求されたサービス品質を満たすのに十分なリソースを有するかどうかを判断する判断モジュールである。ポリシー制御４０は、ユーザが特定のリソースの予約を行う管理権限を有するかどうかを判断する。両方の検査に合格した場合、プロトコルシステムプロセス４８は、所望のサービス品質を取得するようにパケットクラシファイア４６およびパケットスケジューラ４４のパラメータを設定する。いずれかの検査が不合格である場合、処理は、要求を発したアプリケーションプロセス３８へエラー通知を返す。パケットクラシファイア、パケットスケジューラおよび受付制御の要素をトラフィック制御という。
【００１９】
また、図２において、受信通信デバイス３６は、アプリケーションエンティティ６０、ポリシー制御６２、受付制御５４、パケットスケジューラ５６およびクラシファイア５８を有する。送信ノード３２にする上記の判断および検査は、受信ノード３６でも行われる。受信通信デバイス３６のプロトコルシステムプロセス５０は、ネットワーク内でデータメッセージを送受信する処理ステップを正しく実行するために、そのアプリケーションエンティティ６０、ポリシー制御６２、受付制御５４、パケットスケジューラ５６、クラシファイア５８と対話する。同様に、交換ノード３４のプロトコルシステムプロセス５２は、送信ノード、受信ノードまたは他の中間交換ノードからのメッセージを処理する際に、関連するクラシファイア６４、パケットスケジューラ６６、受付制御６８およびポリシー制御７０と通信する。マルチキャストネットワークにおけるリソース予約プロトコルおよびその動作に関してさらに詳細には、R. Braden et al., "Resource ReSerVation Protocol (RSVP) - Version 1 Function Specification", INternet Draft, June 1997、および、L. Zhang et al., "RSVP: A New Resource ReSerVation Protocol", IEEE Network Magazine, September 1993、に記載されている。
【００２０】
送信ノード３２が、マルチキャスト環境で特定のアプリケーションを実行しようとする場合、送信ノードのアプリケーションエンティティ３８は、リソース予約を要求する。好ましくは、アプリケーションエンティティ３８（図２）は、特定のタスクを実行するコンピュータベースの送信通信デバイス３２のソフトウェアエンティティである。アプリケーションエンティティ３８は、定義されたアプリケーションプログラムインタフェース（ＡＰＩ）のセットを呼び出して、送信ノードを登録し、リソース予約セッションを開始するためにデータストリーム特性およびリソース予約のための識別子を指定することによって、送信ノード３２のプロトコルシステムプロセス４８と通信する。送信ノード３２のプロトコルシステムプロセスエンティティ４８は、通信リンク７２を通じて、交換ノード３４のプロトコルシステムプロセスエンティティ５２へパスメッセージを送る。パスメッセージを受信すると、プロトコルシステムプロセス５２は、受信ノード３６または他の交換ノード３４Ｂ，３４Ｃ，３４Ｄへパスメッセージを送るため、および、後続の処理においてリソース予約機能を実行するために、交換ノードにおけるソフト状態のデータ構造体を作成する。送信ノード３２が、複数の受信器３６Ａ〜３６Ｄ（図１）へのコネクションを確立するためにリソース予約セッションを開始すると、パスメッセージが、中間交換ノードのルーティングプロトコルデーモン７１（図２）のメモリに記憶されているルーティングテーブル８０（図３）に従ってルーティングされる。
【００２１】
ソフト状態が、中間交換ノード３４（図２）に作成される。ソフト状態は、リソースが予約されることを求められたときに、ステータスおよびルーティングの情報が回復可能となるような、ネットワーク交換ノードに保守された状態のことである。ソフト状態は、交換ノードに設定され、パスメッセージの入リンクおよび出リンクを識別する。例えば、図２の交換ノード３４のソフト状態は、交換ノード３４で送受信されるパスメッセージに対して、リンク７２を入リンクとして識別し、リンク７４を出リンクとして識別することになる。受信されるパスメッセージの入リンク７２（図２）および転送されるパスメッセージの出リンク７４を識別するパス状態は、ネットワークのマルチキャストパスが通る各中間交換ノード３４に保守される。
【００２２】
次に、パスメッセージは、受信ノード３６のプロトコルシステムプロセスエンティティ５０に送られる。定義されたアプリケーションプログラムインタフェースのセットを使用して、受信ノードアプリケーションは、プロトコルシステムプロセスにターゲットデータストリームの識別子および特性を登録している。受信ノード３６のプロトコルシステムプロセス５０は、予約を行うこと、予約を修正すること、予約の指定を削除することなどのために、受信されたパスメッセージの情報を、受信ノードのパケットスケジューラ５６、クラシファイア５８、受付制御５４およびポリシー制御６２に送る。送信ノード３２が、リソースを予約するためにパスメッセージを送信すると、受信ノード３６は、マルチキャストセッションのためにリソースを予約する予約メッセージで応答する。予約メッセージは、受信ノード３６から、もとの経路の逆に、もとの送信ノード３２へ送られる。受信ノード３６からソースノード３２へ送られた予約メッセージは、交換ノード３４で処理され、交換ノードでパスメッセージを受信後にメモリに保守されているソフト状態に従って前のホップへ転送される。予約メッセージにおいて、受信ノード３６は、ビットレート、最大メッセージサイズ、ピークビットレートなどのようなリソースを予約しなければならない。
【００２３】
交換ノード３４は、予約メッセージを受信すると、交換ノードのトラフィック制御を通じて適当なリソースを確認しなければならない。受信ノード３６のプロトコルシステムプロセス５０は、予約メッセージを、マルチキャストパスを通じて、交換ノード３４の対応するプロトコルシステムプロセス５２へ送信する。交換ノード３４のプロトコルシステムプロセス５２は、受信ノード３６から要求されたリソースを予約するために、クラシファイア６４、パケットスケジューラ６６、受付制御６８およびポリシー制御７０と通信する。図１の送信器３２へのマルチキャストパスに沿った、受信器３６Ｃ1〜３６Ｃ3に対する交換ノード３４Ａ〜３４Ｃのような他の中間交換ノードも、同じ通信のプロセスに従う。ルーティングプロトコルデーモン７１（図２）は、さまざまなルーティングプロトコルを処理するとともにルーティングテーブルを保守するための、交換ノード３４における常駐システムソフトウェアである。ルーティングテーブルを保守する際に用いられるルーティングプロトコルの例には、いくつかのルーティングプロトコルのうちとりわけ、ＯＳＰＦ(Open Shortest Path First)およびルーティング情報プロトコル（ＲＩＰ(Routing Information Protocol)）がある。
【００２４】
交換ノード３４において、この交換ノードから送信ノード３２へ予約メッセージを送る必要があるかどうかについて判断がなされる。これは、上流の交換ノードにおいてさらに処理を行う必要がないときに、メッセージの数を減らすために実行される。予約は送られるべきであると判断された場合、交換ノード３４のプロトコルシステムプロセス５２（図２）から送信ノード３２のプロトコルシステムプロセス４８へ予約メッセージが送られる。図６に、本発明で用いられるのが好ましいパケット構造を示す。図示のように、パスメッセージ３１０のフォーマットは、共通ヘッダ、完全性、セッション、ＲＳＶＰホップ、時刻値、ポリシーデータ、送信器指定および広告指定に関連する情報を含む。予約メッセージ３２０は、共通ヘッダ、完全性、セッション、ＲＳＶＰホップ、時刻値、予約確認、スコープ、ポリシーデータ、スタイルおよびフロー指定に関連する情報を含む。図６のリソース保守メッセージ３３０は、共通ヘッダ、完全性、セッションとともに、保守指定を含む。リソース保守メッセージ３３０の動作についての詳細は図５を参照して後述する。
【００２５】
図４に、リソース予約の通常動作に関するパスおよび予約の通信のアルゴリズムステップを示す。ステップ１００で、送信ノード３２は、マルチキャストグループの受信ノード３６へパスメッセージを送る。パスメッセージ内のタイマ変数の特別の値が、タイマを無効にするために代入される。指定された値が設定されていることを認識することによって、リソースをリフレッシュするために多くのパスおよび予約のメッセージが絶えず交換されることが回避される。あるいは、一定の連続するメッセージ交換によるリソース予約のリフレッシュを停止させるために、パスメッセージ自体にタイムアウト値が指定されないようにすることも可能である。あるいは、既存の通信処理との下位互換性を維持するため、リソース予約をリフレッシュする際に用いられるタイマの無効化をシミュレートするのに適した非常に高い値にタイムアウト値を設定することも可能である。本発明では、送信ノードにおいて、リソース予約リフレッシュのための連続的メッセージ交換を要求するタイマが、追加のパスメッセージを送らないように無効化される。ステップ１０２（図４）で、交換ノード３４は、最初のパスメッセージを受信すると、ソフト状態情報を設定する。パスメッセージは、マルチキャストパスにおける次のホップへ送信される。パスメッセージは、単一の交換ノードから指定された受信ノード３６（図２）へ直接に、または、他の中間交換ノード３４Ａ〜３４Ｄ（図１）を介して、受信ノードに到達するまで送信される。ステップ１０４（図４）で、マルチキャストグループの受信ノード３６Ａ〜３６Ｄはパスメッセージを受信し、マルチキャスト通信のためのシステムリソースを予約するために、交換ノード３４Ａ〜３４Ｄの経路を介して送信ノード３２へ予約メッセージを返送する。
【００２６】
ステップ１０６（図４）で、各交換ノード３４のプロトコルシステムプロセス５２（図２）は予約メッセージを受信し、リソース予約指定をパケットスケジューラ６６およびクラシファイア６４へ送る。交換ノード３４は、前にステップ１０２においてパスメッセージを受信したときから保守されているソフト状態に基づいて送信ノード３２へ予約メッセージを送る。ステップ１０８（図４）で、受信ノード３６Ａ〜３６Ｄに対するリソースの予約は、各交換ノード３４Ａ〜３４Ｄ（図１）を流れるデータトラフィックに基づいてリフレッシュされる。マルチキャストグループの予約は、マルチキャストアプリケーションに対するデータトラフィックが交換ノード３４を通るごとにリフレッシュされる。例えば、非同期転送モード（ＡＴＭ）コネクションの場合、仮想回線コネクションは、リソース予約のためにパケットスケジューリングを行う１つの例である。こうして、受信ノード３６Ａ〜３６Ｄのリソース予約は通常、交換ノード３４Ａ〜３４Ｄ（図１）でほぼ連続的に受信されているデータトラフィックに応じて保守される。
【００２７】
受信通信デバイス３６のリソース予約は、好ましくは、マルチキャストグループの状態の変化があるまで保守される。仮想メモリを処理する際の最長時間未使用（ＬＲＵ(least recently used)）方式のような仮想メモリで用いられるページ置換アルゴリズムや、交換ノードにおけるリソース予約の状態を更新するその他の関連するアプローチは、好ましくは、リソース予約の管理を保守する。交換ノード３４（図２）を通るデータフローが存在する場合、パケットスケジューラ６６およびパケットクラシファイア６４は、データの指定を参照する。これにより、予約の状態は、最近にアクセスされたことを示す状態フィールドで選択的にマークされることが可能となる。新たな予約が要求された場合、アクセスされていない予約がリストから削除される。好ましくは、通常のデータトラフィック中には、本発明のプロトコルを用いたデータ通信アプリケーションに対するリソースの予約を保証するために追加のパスおよび予約のメッセージは不要である。
【００２８】
図５に、マルチキャストグループの状態が変化したと判断された場合に、通信ネットワークにおけるマルチキャストグループがマルチキャストパスにおける正しいリソース予約を保守するためのアルゴリズムステップを示す。ルーティングテーブル変化の場合、または、受信ノードがマルチキャストグループに加入したかもしくはマルチキャストグループから離脱した場合、ルーティングプロトコルデーモン７１（図２）とプロトコルシステムプロセス５２の間に存在するインタフェースが、その状態変化を処理する。ルーティングプロトコルデーモン７１は常に、ルーティング情報とマルチキャストグループ情報を、他の交換ノードあるいは通信デバイス３２，３６と交換している。ルーティングプロトコルデーモン７１は、リソース予約プロトコルの一部としてマルチキャストグループの状態の変化をプロトコルシステムプロセス５２に通知するよう要求される。好ましくは、マルチキャストグループに加入する、または、マルチキャストグループから離脱する受信通信デバイス３６Ｄ（図１）は、リソース予約のプロセスを保証するために、リソース保守メッセージ３３０（図６）を送信する。ルーティングプロトコルデーモン７１（図２）は、マルチキャストグループの状態の変化が起きたかどうかを判断する。
【００２９】
ステップ２００（図５）で、リソース保守メッセージが、ある交換ノードのプロトコルシステムプロセスから、所望のデスティネーションを送信ノード３２として、別の交換ノードへ送られる。リソース保守メッセージ３３０（図６）は、マルチキャストグループの状態の変化があったと判定されたときに交換ノードのルーティングテーブルに定義されている経路に基づくルーティングパスに沿って送信される。好ましくは、リソース保守メッセージがたどる経路は、さまざまな交換ノードのルーティングプロトコルデーモン７１（図２）のメモリに記憶されているルーティングテーブルによって定義されるルーティングパスである。リソース保守メッセージは、さらにメッセージをルーティングする必要がなくなるまで、このルーティングパスに沿ってさまざまな交換ノードへルーティングされる。必要があれば、リソース保守メッセージは、送信ノード３２に到達するまでルーティングパスに沿ってルーティングされる。マルチキャストグループの状態に変化が起きたという判定に応じて、リソース保守メッセージは、リソース予約の保守をマークするために、マルチキャストデータ通信アプリケーションを開始した送信通信デバイス３２へ送信される。リソース保守メッセージは、以下の３つの条件のもとで送信される。
【００３０】
１．ルーティングテーブル８０（図３）が交換ノードで変更された場合。ルーティングテーブルが、リンクの追加もしくは削除により、または、リンク障害のために、変更された場合、このルーティングテーブル変化はルーティングプロトコルデーモン７１（図２）から各交換ノード３４のプロトコルシステムプロセスソフトウェア５２へさらに処理を行うために送信される。
【００３１】
２．サービス品質劣化（例えば、遅延の増大、データパケットの損失などによる）が受信ノード３６で観測あるいは検出された場合。
【００３２】
３．新たな受信ノードが、マルチキャストグループに加入したか、または、マルチキャストグループから離脱した場合。
【００３３】
新たなノードがグループに加入したという条件に対しては、新たな交換ノード（例えば図１の交換ノード３４Ｄ）がマルチキャストグループにいつ追加されたかを判定するステップが実行される。特に、通常動作において、前にグループになかった別の新たな受信ノード３４Ｄ（図１）がマルチキャストグループに加入しようとしていると識別された場合に、新たな交換ノード３６Ｄ（図１）がグループに追加される。この新しい受信ノード３６Ｄは、（図１でリンク３５により示されるように））交換ノード３４Ｄに接続される。この交換ノード３４Ｄもまた、マルチキャストグループに新たに加わったノードである。
【００３４】
交換ノード３４Ｄがマルチキャストグループ３０に追加されるのは、受信ノード３６Ｄはグループにおいて交換ノード３４Ｄの最初の受信ノードであるためである。受信ノード３６Ｄは、アプリケーションプロセス６０から、マルチキャストグループへの加入を示すレポートを送信する。交換ノード３４Ｄは、マルチキャストグループのゲートウェイとして作用して、ルーティングプロトコルデーモン７１（図２）を通じて、既存のグループへの加入に関する新しい情報を、他の交換ノードと交換しなければならない。既存のプロトコルに従って、受信ノードのアプリケーションプロセスと交換ノードのルーティングプロトコルデーモンはいずれも、マルチキャストグループへの加入を通知される。受信ノードにおいてマルチキャスト機能をサポートするソフトウェアは、好ましくは、ＲＦＣ(request for comment)１１１２に規定されたマルチキャスト通信を保守するアプリケーションへのインタフェースを提供する（S. Deering, "Host Extensions for IP Multicasting", Network Working Group, Request For Comment: 1112 (August 1989)、参照）。
【００３５】
あるいは、マルチキャストグループへの別の交換ノード３４Ｄ（図１）の追加は、マルチキャストグループへの加入がアプリケーションソフトウェアから指示されたことに基づいて、行われる可能性もある。マルチキャストをサポートするソフトウェアは、ネットワークを通じて、この指示をルーティングプロトコルデーモンに提供しなければならない。
【００３６】
マルチキャストグループにおける変化は、１つの交換ノード３４Ｄ（図１）がマルチキャストグループから削除されるときにも生じる。ＲＦＣ１１１２では、アプリケーションは、マルチキャストグループを離脱する通信デバイスのインタフェースをサポートし、受信ノードの拡張インターネットプロトコル（ＩＰ）マルチキャストサービスに通知する。好ましくは、このインタフェースは、通信デバイス３６Ｄがマルチキャストグループを離脱したときに、リソース予約プロトコルに提供される。
【００３７】
グループからの交換ノード３４Ｄの削除は、グループの交換ノードに関連するリンクにおいてリンク障害が識別されたために起こることがある。例えば、リンク障害が図１のリンク２９および３３で生じた場合、交換ノード３４Ｄは残りのマルチキャストグループから削除される。リンク障害は、プロトコルの下位のデータリンク層で判定される。ネットワーク内の通常動作のもとでは、グループからの交換ノードの削除は、特定の交換ノードに接続された受信ノードがマルチキャストグループから離脱するあるいは削除されるという指示に応じて判断される。例えば、受信ノード３６Ｄ（図１）がマルチキャストグループから離脱するあるいは削除される場合、交換ノード３４Ｄはこれに従ってグループから削除される。特定の交換ノード３４Ｄに接続されたすべての受信通信デバイス３６Ｄがマルチキャストグループから削除される場合、好ましくは、その特定交換ノード３４Ｄもまたグループから離脱する。
【００３８】
ステップ２００（図５）で、好ましくはこのような条件のもとで、リソース保守メッセージが、デスティネーションを送信ノード３６として、上流の中間交換ノードへ送信される。ステップ２０２（図５）で、交換ノード３４は、リソース保守メッセージを検査する。交換ノード３４は、パスのテーブルと、そのテーブルに関連するタイマを保守している。特定のパスが保守リストに加わった場合、新たに到着したリソース保守メッセージは、上流の交換ノードおよび送信ノードへの過大なメッセージフローを回避するために、廃棄される。リソース保守リストに保守されているタイマは、上流へのリソース保守メッセージをスクリーニングするために用いられる。リソース保守メッセージは、好ましくは、タイマが満了したときに上流へ送られる。例えば、ルーティングテーブル変化通知を受信した後、交換ノード３４のプロトコルシステムプロセス５２は、影響されるソフト状態を検査し、リソース保守メッセージをマルチキャスト送信ノードへ送る。特に、リソース保守メッセージを受信した交換ノード３４Ａ〜３４Ｄ（図１）は、このメッセージを検査して、実行中のデータ通信アプリケーションのためにマルチキャストパスを通じてリソース保守メッセージを送信する必要があるかどうかを判断する。交換ノード３４のプロトコルシステムプロセスエンティティ５２（図２）は、リソース予約が保守中であるとマークする。リソース保守メッセージを検査した後、ステップ２０４（図５）で、交換ノードのプロトコルシステムプロセスは、マルチキャストグループの状態の変化が識別されたことによる新たなリソース保守が必要であるかどうかを判断する。
【００３９】
新たな保守が必要でない場合、ステップ２０６（図５）で、新たな保守が必要でないと判定された交換ノードで、リソース保守メッセージは廃棄される。リソース保守メッセージが廃棄されると、そのルーティングパスに沿っての保守あるいは修復の処理は終了する。さらに保守が必要であると判断された場合、ステップ２０８（図５）で、プロトコルシステムプロセスは、保守ソフト状態を作成する。特に、ルーティングテーブルによるルーティングパスに沿った交換ノード３６において保守ソフト状態を作成するステップは、修復あるいは保守が必要であるという判定に応じて実行される。マルチキャストパス内の交換ノード３４が保守中である場合、そのマルチキャストグループは「保守中」とマークされ、交換ノードはリソース保守メッセージをマルチキャストグループの送信通信デバイス３２へ送る。その後、ステップ２１０（図５）で、リソース保守メッセージは、そのパスを通じて、指定された交換ノードへ、あるいは、送信ノード３２へ、転送される。リソース保守メッセージがその交換ノードあるいは送信ノードで受信されると、処理はステップ２１２に進む。その後、処理は、リソース予約動作のためにパスおよび予約の通信を開始するため、図４のステップ１００に進む。パスメッセージは、適当な保守が完了した後、送信ノード３２から選択的に送信される。
【００４０】
以上の詳細な説明は、マルチキャスト環境におけるデータ通信の方法に関するものである。この方法について、特定のハードウェアやソフトウェアに言及せずに説明した。その代わりに、この方法について、当業者が、入手可能なまたは好ましいハードウェアやソフトウェアに容易に適合させることができるように記載した。本発明はマルチキャスト環境における通信の一方法に関するものであるが、当業者には理解されるように、本発明の方法は、他のさまざまな環境にも適用可能である。
【００４１】
【発明の効果】
以上述べたごとく、本発明によれば、送信器と受信通信デバイスの間でパスおよび予約のメッセージの一定の定期的交換を必要とすることなく、通信を保守するのに必要なリソースを予約する。さらに、本発明によれば、マルチキャストグループの状態の変化が観測されたときにも、マルチキャストパスに沿って正しいリソース予約が保守される。
【図面の簡単な説明】
【図１】本発明の方法が実施される、交換ノード、送信ノードおよび受信ノードのコンピュータネットワークの構造の図である。
【図２】本発明の方法が実施される送信ノード、交換ノードおよび受信ノードのブロック図である。
【図３】図１の交換ノード３４Ｂのルーティングテーブルの図である。
【図４】リソース予約のためのパスおよび予約の通信のために実行されるステップを説明する流れ図である。
【図５】マルチキャストグループの状態の変化が生じたときにリソース予約を保守するために実行されるステップを説明する流れ図である。
【図６】本発明の方法のパスメッセージ、予約メッセージおよびリソース保守メッセージの例示的な情報フォーマットの図である。
【符号の説明】
３０  マルチキャストグループ
３１  通信ネットワーク
３２  送信通信デバイス（送信ノード）
３４  交換ノード
３６  受信通信デバイス（受信ノード）
３８  アプリケーション
４０  ポリシー制御
４２  受付制御
４４  パケットスケジューラ
４６  クラシファイア
４８  プロトコルシステムプロセス
５０  プロトコルシステムプロセス
５２  プロトコルシステムプロセス
５４  受付制御
５６  パケットスケジューラ
５８  クラシファイア
６０  アプリケーションエンティティ
６２  ポリシー制御
６４  クラシファイア
６６  パケットスケジューラ
６８  受付制御
７０  ポリシー制御
７１  ルーティングプロトコルデーモン
８０  ルーティングテーブル
３１０  パスメッセージ
３２０  予約メッセージ
３３０  予約保守メッセージ
【図１】
0003701476.tif 000002
【図２】
0003701476.tif 000003
【図３】
0003701476.tif 000004
【図４】
0003701476.tif 000005
【図５】
0003701476.tif 000006
【図６】
0003701476.tif 000007