(57)【特許請求の範囲】
【請求項１】
複数のノードを有するネットワークにおいてマルチキャスト・セッションの宛先ノードを識別するための方法であって、
複数の宛先ノードのリストから成る循環型にリンクされたリストを形成するステップであって、各宛先ノードが、マルチキャスト・データを受信するための関連する宛先アドレス、および前記リスト中の、処理のための次の宛先ノードへのリンクを有しているステップと、
前記マルチキャスト・セッションの識別された宛先ノードに対して送信するよう意図されたデータを受信して、最初の宛先ノードで前記リストに入るステップと、各宛先ノードを処理するために前記リンクされたリストをトラバースし、前記最初の宛先ノード以外の各宛先ノードについて、前記マルチキャスト・データを前記関連するアドレスに送り、および処理のための次の宛先ノードを決定するために前記リンクを用いるステップと、
すべてのリンクされた宛先ノードが処理されてしまったときに前記トラバースするステップを終了するステップと、を含み、前記受信されたデータの送信元である宛先ノードがマルチキャスト・セッションから除外されるようになっている方法。
【請求項２】
前記受信したデータが、前記マルチキャスト・セッションから除外されるべき前記宛先ノードを識別する指示子を含む請求項１に記載の方法。
【請求項３】
宛先ノードであって、そこから前記データが受信された場合の宛先ノードを前記マルチキャスト・セッションから除外されるべき前記宛先ノードとして前記指示子が識別する請求項２に記載の方法。
【請求項４】
前記最初の宛先ノード・エントリが、予め定められている請求項１に記載の方法。
【請求項５】
前記マルチキャスト・セッションの識別された宛先ノードへの伝送に向けられたデータを入力ポートで受信し、前記最初の宛先ノード・エントリを前記入力ポートに基づいて判定するステップとをさらに含む請求項１に記載の方法。
【請求項６】
前記トラバースされる宛先ノード・エントリが、前記マルチキャスト・セッションの識別された宛先ノードである請求項１に記載の方法。
【請求項７】
複数のマルチキャスト・セッションに関する宛先ノード・エントリが、リストの中でインターリーブされ、前記複数のマルチキャスト・セッションの各セッションに関する前記宛先ノード・エントリが、循環型にリンクされる請求項１に記載の方法。
【請求項８】
前記リンクが、各宛先ノードにおいて、別の宛先ノードをポイントして、前記複数の宛先ノードが循環型にリンクされるようにするポインタを含む請求項７に記載の方法。
【請求項９】
複数のノードを有するネットワークにおいてマルチキャスト・セッションに関する宛先ノードを識別するための方法であって、
複数の宛先ノードの循環型にリンクされたリストから成るマルチキャスト・グループ・リストを形成するステップであって、各宛先リストがリンク情報およびマルチキャスト・データを受信するための関連するノードアドレスを含むステップと、
前記マルチキャスト・セッションの前記宛先ノードへの伝送に向けられたデータを受信するステップと、
前記受信したデータから判定された最初の宛先ノードであって、前記データが受信されたデータの送信元である最初の宛先ノードにおいて前記リストに入るステップと、
前記リスト中の各宛先ノードの前記リンク情報に従って前記リストをトラバースし、および前記リスト中の前記最初の宛先ノード以外の各宛先ノードについて前記マルチキャスト・データを前記関連するノードアドレスに送るステップと、
前記リンク情報に従って前記リストをトラバースするステップと、
前記トラバースするステップが、いつ前記最初の宛先ノードに戻るかを判定するステップと、および
前記判定するステップに応答して、前記トラバースするステップを終了するステップとを含み、前記受信されたデータの送信元である宛先ノードが前記マルチキャスト・セッションから除外されるようになっている方法。
【請求項１０】
複数のノードを有するネットワークにおいてマルチキャスト・セッションの宛先ノードを識別するための装置であって、
複数の宛先ノードのリストから成る循環型にリンクされたリストであって、各宛先ノードの内容が、関連するノードアドレス、リストリンク情報およびデータ伝送パラメータを含む、循環型にリンクされたリストと、
前記マルチキャスト・セッションの宛先ノードに送信するよう意図されたデータを受信して、受信されたデータの送信元である宛先ノードを前記リストに入るための最初の宛先ノードとして識別するため、また前記最初の宛先ノードに達するまで、前記リストリンク情報に従って前記リンクされたリストをトラバースするための処理エンジンであって、前記最初の宛先ノード以外の各宛先ノードにて、前記関連する宛先ノードアドレスに対して、前記データ伝送パラメータに従ってマルチキャスト・データを送る処理エンジンと、を備え、前記受信されたデータの送信元である前記宛先ノードが前記マルチキャスト・セッションから除外するようになっている装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、データ・ネットワークにおいて複数のノードにマルチキャスト・メッセージを伝送するための方法および装置に関し、より詳細には、マルチキャスト・メッセージの受け手のリストを維持するための方法および装置に関する。
【０００２】
【従来の技術】
ネットワークにおけるデータの流れは、データが宛先ノードに着信するまであるネットワーク・ノードから別のノードにデータを伝送することによって達せられる。ＴＣＰ／ＩＰを含め、様々なデータ・プロトコルが、ネットワークにおいてデータを伝送するために使用されている。データ転送のために選択されるプロトコルは、ネットワークのタイプ、ネットワーク・トポロジ、データ・タイプ、およびその他の要因に基づく。
【０００３】
ネットワークを介してデータを伝送するために２つの相異なるプロトコル・クラス、すなわちユニキャスト経路指定プロトコルおよびマルチキャスト経路指定プロトコルが利用可能である。ユニキャスト経路指定プロトコルは、単一の送信元ノードから単一の宛先ノードに、通常、いくつかの中間ノードを介してデータを伝送する。マルチキャスティングためにＴＣＰ（伝送制御プロトコル）などのユニキャスト・プロトコルを使用することができるが、ユニキャスト・プロトコルは、マルチキャスティングに適用された場合、送信元ノードからマルチキャスト・グループの中の各宛先ノードに複数回、データが送信されるため、効率的でない。
【０００４】
マルチキャスト経路指定プロトコルは、１つまたは複数の送信元ノードから複数の宛先ノードにデータを伝送し、多数のノードにデータを送信する場合、より効率的であるように設計されている。複数の宛先ノードは、マルチキャスト・グループのメンバとして定義されて、そのグループの各メンバが、そのグループにアドレス指定されたデータを受信するようになっている。マルチポイント−マルチポイント・マルチキャストでは、グループの中の各受信ノードが、あらゆる送信側からデータを受信する。マルチキャスト・グループが、単一の送信側に限定されている場合は、ポイント−マルチポイント・マルチキャストと呼ばれる。例としてのマルチキャスト・グループは、送信元ノードにおいて生成されたソフトウェア更新、またはスイッチなどのネットワーク・デバイスに向けられたノード・アドレス・リストの更新を受信するすべてのノードのグループを含むことが可能である。また、多数参加者のビデオ会議、遠隔学習（教師が、地理的に分散した学生と通信する）、およびニュース・グループへの複数の電子メールも、マルチキャスト・データ伝送である。一例としてのマルチキャスト経路指定プロトコルでは、送信側ノードが、マルチキャスト・グループ・アドレスへの単一回の伝送を介してデータを各マルチキャスト・グループ・メンバに伝送する。基礎となるマルチキャスト配信機構は、マルチキャスト・グループの参加者として登録した宛先の受け手のすべてにデータを配信する。マルチキャスト・データ・フラディングおよびリバース・パス転送などの周知の技術により、マルチキャスト・グループの中の受信側ノードへのパス上に存在するネットワーク内のすべてのルータによってデータが受信される機構が提供される。
【０００５】
１つの従来のルータ実施形態では、各ネットワーク・ルータが、メンバであるルータに宛先ノードが接続されているマルチキャスト・グループに関して、マルチキャスト・グループ・メンバ（グループ・メンバの宛先アドレスまたは宛先識別子（ＤＩＤ）で索引付けされた）の線形リストを記憶する。いくつかの適用例では、ルータは、そのルータからの特定のリンクが実際にマルチキャスト・セッションに参加しているかどうかに関わらず、ネットワーク上で生じる可能性がある可能なすべてのマルチキャスト・セッションに関するマルチキャスト・グループ・リストを記憶する。
【０００６】
マルチキャスト線形リストの中の各宛先アドレス・エントリの内容には、宛先アドレスの様々なノード属性およびプロトコル属性が、すなわち、データ伝送パラメータが含まれる。一般に、この内容は、どこで（どの出力ポートを介して）、またいつ（どのような優先順位で）、パケットを宛先アドレスに送信するか、ならびにパケット・ヘッダの必要とされる変形の性質を記述して、パケットが宛先アドレスに届くことを確実にする。例えば、エントリは、宛先アドレスに達するのにそこを介してデータの送信が行われなければならないルータ出力ポートを示す識別子である待ち行列識別子を含むことが可能である。エントリの別の項目は、宛先アドレスの通信媒体およびネットワーク・プロトコルの要件（送信元ノードの媒体およびプロトコルとは異なる可能性がある）を満たすのに必要とされるパケット・ヘッダ変形を明らかにする。リスト・エントリは、ルータから宛先ノードに至る最短パスの記述子をさらに含むことが可能である。最低限、送出媒体のそれぞれを介する伝送のためにどのヘッダがパケットの先頭に付加されるかを示す情報が、各エントリに関して必要とされる。線形リストは、各エントリにおけるリンクを含むのではなく、エントリが、順々に配置される。最後のリスト・エントリは、リストの終端に達したことをアサートする指示子を含む。
【０００７】
一部の適用例、すなわち、仮想ローカル・エリア・ネットワーク環境におけるブロードキャストのエミュレーションの場合、マルチキャスト・グループ・リストが、複数のバージョンで記憶され、それぞれの記憶されたリストは、１つのメンバを除き、グループのすべてのメンバを含む。各リストから１つの省略されたメンバが存在するので、グループに関する複数のリストの数は、リストの中のエントリの数に等しい。単一のマルチキャスト・グループだけに関してこの複数のバージョンを記憶するのに、各ルータにおいて相当な記憶容量が必要とされる。
【０００８】
マルチキャスト・パケットがネットワーク・ルータに着信したとき、送信側ノードおよび宛先のマルチキャスト・グループが、受信されたパケットから判定される。次に、この情報を使用して、送信元ノードがリストから省略されたノードである適切なグループ・リストが選択される。したがって、パケットは、そのグループに伝送されるが、送信元ノードは、そのグループ・リストの中に含まれないので、パケットが、送信元に戻るように伝送されることはない。
【０００９】
いくつかの実施形態では、グループのメンバは、個々のネットワーク・ノードではなく、複数のノードをそれぞれが含むローカル・エリア・ネットワークとすることが可能である。したがって、ネットワークである送信元ノードは、自らのネットワーク内のすべてのノードにパケットを伝送し、マルチキャスト・グループへのパケットの伝送を要求する。この状況では、送信元ノードにパケットを戻す伝送を禁止するのが特に有利である。というのは、パケットは、送信元に戻るように伝送されると、送信元ネットワークの各ノードに再送信され、送信元ネットワーク内の相当な帯域幅を不必要に消費することになるからである。
【００１０】
各グループ・リストから１つのネットワーク・ノードを省略するのではなく、別のマルチキャスト技術によれば、各線形リストが、グループの異なるメンバで開始する。「Ａ」マルチキャスト・グループが、７つのメンバを含み、そのメンバのアドレスが、符号Ａ１からＡ７で示されている図１を参照されたい。各「Ａ」グループ・リストは、異なるグループ・メンバで開始している。この実施形態によれば、ルータにおいて受信されるマルチキャスト・パケット・データは、オプションのスキップ・ファースト・フラグ識別子が導出されるあるヘッダ情報を含む。着信パケットは、そのパケット・ヘッダから着信ポート、および宛先の識別を判定するために分類エンジンを介して処理される。また、ヘッダは、スキップ・ファースト・フラグの値（すなわち、設定されているか、または設定されていないか）を判定可能にする情報も含む。例えば、パケット・ヘッダの中のアドレスが、マルチキャスト・パケットを指定することが可能であり、またこのアドレスを認識し、それに基づいて正しい宛先アドレスおよびスキップ・ファースト・フラグ値を生成するように分類エンジンをプログラミングすることができる。
【００１１】
次に、ルータ分類エンジンが、アドレス情報およびフラグ情報を読み取り、送信元アドレスをグループ・リストの中の第１のエントリと照合することによって正しいマルチキャスト・グループ・リストを選択する。スキップ・ファースト・フラグが設定されている場合、データは、グループの中の第１のアドレスには送信されない。
【００１２】
マルチキャスト・パケットに関する送信元としてそれぞれが機能するＮ個のメンバがマルチキャスト・グループの中に存在し、そのグループの他のすべてのメンバにパケットが送信されなければならない場合には、Ｎ個のリストが必要とされる。ただし、各リストは、（Ｎ−１）個のエントリを有する。というのは、パケットは、送信元ノードに送り返されないからである。したがって、各リストが１つを除きグループのすべてのメンバを含むすべてのグループ・リストを記憶するのに、（Ｎ）（Ｎ−１）メモリ位置が必要とされる。したがって、各ルータにおける記憶要件は、通常、そうであるようにＮが比較的大きい場合、相当なものになる可能性がある。
【００１３】
特定の順序でマルチキャスト・グループの受信側ノードにデータが伝送される別の実施形態では、受信側ノードに関する異なる順序をそれぞれが示す追加のグループ・リストが必要とされる。リストの先頭に宛先識別子「Ａ１」をそれぞれが有する８つの異なる順序付けされたリストが示されている図２を参照されたい。第１のエントリとして「Ａ１」を有する合計で７２０の異なる順序付けされたリストが存在する。同様に、第１のエントリとして「Ａ２」を有する７２０のリストが存在する。したがって、７つのメンバの比較的小さいグループ・リストに関して、維持されるべき５０４０の異なるリストが存在する。多くのそのようなリストが、多くのマルチキャスト・グループに関して各ルータにおいて維持されるので、メモリ記憶要件は、極端なものになる可能性がある。
【００１４】
【発明が解決しようとする課題】
【００１５】
【課題を解決するための手段】
各ネットワーク・プロセッサ、例えば、マルチキャスト・グループ・リストのコピーが維持されるルータにおけるメモリ記憶要件を軽減するため、本発明によるマルチキャスト・グループ・リストが、循環構造でリンクされ、任意のリスト・エントリが、リストの全体にわたって処理を行うための開始ポイントとして働くことを可能にする。一実施形態では、リストに関する選択された開始ポイントは、マルチキャスト・データの送信元ノードであり、データが、送信元ノードに戻るよう伝送されることはない。マルチキャスト・グループ・リストの中の各エントリは、別のエントリにリンクされ、循環型にリンクされたリストを形成する。処理エンジンは、マルチキャスト・リンク・リストを進み、グループの各メンバに伝送するためにマルチキャスト・パケットを準備する。アドレス指定機構が開始ポイントに戻ったとき、リンク・リストは、完全にトラバースされており、処理が終了する。
【００１６】
本発明は、本発明の説明および以下の図に鑑みて考察したとき、より容易に理解することができ、本発明のさらなる利点および使用法がより明白となる。
【００１７】
【発明の実施の形態】
本発明による２つの代表的なインターリーブされた循環マルチキャスト・グループ・リスト（ＡおよびＢ）を図３で示している。各グループのメンバは、循環型に一緒にリンクされており、したがって、メンバが、リストの中で何らかの特定の順序で現れることは必要ない。マルチキャストされるためにネットワーク・プロセッサに着信するパケットが、マルチキャスティング・ステージング待ち行列の中に記憶される。パケットのヘッド側が、リンク動作のためにマルチキャスト・スレッドにロードされる。一実施形態では、受信されたパケットは、マルチキャスト・グループ・リストの処理を開始するためのエントリ・ポイントを識別する。また、データ・パケットは、そのパケットが送信されるべきマルチキャスト・グループも識別する。一般に、各マルチキャスト・パケットは、マルチキャスト・グループを表すように事前構成されたアドレスを含む。当技術分野で周知のとおり、特定のネットワーク要件（例えば、インターネット・プロトコル・マルチキャストは、イーサネット（登録商標）・マルチキャストとは異なる形で構成される）に応じてこれを実行するためのいくつかのスキームが存在し、したがって、ルータ、またはその他のネットワーク・プロセッサは、マルチキャスト・パケットとしてパケットを識別することができ、さらにそのパケットが向けられたマルチキャスト・グループを識別することができる。
【００１８】
本発明によるマルチキャスト・リストの中の各エントリは、そのマルチキャスト・グループの中の別のエントリに対するポインタまたはリンク情報を含み、リストの最後のエントリは、再びエントリ・ポイントをポイントする。図３では、エントリ・ポイントＡ１で「Ａ」リストに入り、マルチキャスト宛先ノードＡ２、Ａ３、Ａ４、Ａ５に関するエントリを通ってＡ１に戻る。処理エンジンがリスト・エントリに達すると、その内容が処理されて（宛先アドレスへのパケットの伝送を正常に行うため、前述したとおり、パケットの適切なデータ伝送属性が判定され）、宛先アドレスに関連する適切な属性を含め、その宛先アドレスのためにパケットのコピーが作成される。次に、処理エンジンは、エントリのリンク情報またはポインタを読み取って処理するための次のエントリを決定する。このリンク・プロセスは、ポインタまたはリンクが処理エンジンをエントリ・ポイントに戻すまで継続し、戻った時点で、プロセスが終了する。というのは、マルチキャスト・グループ・リストが、完全にトラバースされたからである。
【００１９】
このプロセスの例外は、エントリ・ポイントであり、前述の例ではＡ１である。エントリ・ポイントは、スキップされる。すなわち、記憶されているエントリ・ポイント・アドレスにパケットを伝送するための再伝送属性は、処理されず、エントリ・ポイント・アドレスに対してデータ・パケットのコピーは作成されない。したがって、マルチキャスト・パケットは、エントリ・ポイント・アドレスには伝送されない。代わりに、エントリ・ポイントのリンク情報だけが読み取られて、処理エンジンが、循環リストの中の次のリンクされたエントリに即時に進むようになる。
【００２０】
マルチキャスト・リストへのエントリ・ポイントを識別するためのいくつかの異なる技術が存在する。前述したとおり、いくつかの適用例では、データ・パケットを送信元ノードに戻すように伝送することは、必要でも正しくもない。したがって、本発明の一実施形態によれば、受信されたデータ・パケットが、エントリ・ポイントを識別し、この実施形態では、送信元ノードが、エントリ・ポイントとして識別される。一実施形態によれば、受信されたデータ・パケットのヘッダが、スキップ・フラグの値を判定する元にする情報を含む。スキップ・フラグが所定の値を有する場合には、処理中に送信元アドレスがスキップされて、データ・パケットが、送信元に送り返されないようになる。あるいは、受信されたデータが、別のアドレスをエントリ・ポイントとして識別し、したがって、このアドレスがスキップされて、そのセッションに関するマルチキャスト・データ・パケットを受信しないことが可能である。別の実施形態によれば、受信されたデータ・パケットは、自らがマルチキャスト・パケットまたはブロードキャスト・パケットであることを示し、仮想ローカル・エリア・ネットワークなどの適用例では特に、ネットワーク・ルータが、パケットを送信元に戻すように再伝送しないようにプログラミングされる。さらに別の実施形態では、グループ・リストに関するエントリ・ポイントが、データ・パケットに含まれる情報の外部で決められる。例えば、常に所定のエントリ・ポイントで指定されたマルチキャスト・リストに入るようにデバイスをプログラミングする、またはマルチキャスト・パケットが受信されたルータ入力ポートに基づいてエントリ・ポイントを判定することが可能である。
【００２１】
プロセスが実行される中で、マルチキャスト・グループの第１の処理されるノード（すなわち、エントリ・ノード）および第２の処理されるノードが、いつプロセスがエントリ・ポイントに戻るかを判定する際に使用するためにマルチキャスト・スレッドの中に保存される。二回目にノードに到達したときはいつでも、プロセスが終了される。
【００２２】
本発明による循環マルチキャスト・リストの使用により、従来技術と比べて、ネットワーク・プロセッサにおけるメモリ記憶要件が相当に軽減される。エントリ・ポイントが、そのマルチキャスト・セッションに関してグループからのスキップされる、または省略されるグループ・メンバを決定して、各マルチキャスト・グループごとに単一の循環型にリンクされたリストだけしか必要ない。従来技術では、各マルチキャスト・グループ・リストは、線形にリンクされ、したがって、それぞれのリストの繰り返しが、マルチキャスト・パケットのコピーを受信しない１つのグループ・メンバを省略して、リストの中のエントリの数に等しい回数、繰り返されなければならない。
【００２３】
図４は、本発明の教示による循環型にリンクされたマルチキャスト・グループ・リストを処理するための流れ図を示している。この流れ図は、開始ステップ２０で開始し、マルチキャスト・グループ・リストが形成されるステップ２２に進む。通常、このリストは、ネットワーク・ルータによって実装されるソフトウェア構成またはプロトコルを介してパケット着信に先立って形成され、メンバを追加または削除する必要に応じて更新される。各グループ・メンバの宛先アドレスは、リスト索引の役割をする。ステップ２３で、着信パケットを分類して、そのパケットが送信されるべきマルチキャスト・グループ・リストを判定することにより、リストに関する開始ポイントが識別される。ステップ２４で、リストの開始ポイントをスキップすべきかどうかが判定される。
【００２４】
開始ポイントをスキップする場合には、プロセスは、判定ステップ２８に進む。開始ポイントをスキップしない場合には、プロセスは、ステップ２９に進み、リスト・エントリの宛先ノードに関するデータ伝送パラメータが判定され、そのパラメータに従ってマルチキャスト・パケットのコピーが準備される。次に、プロセスは、判定ステップ２８に進み、リストが完全にトラバースされ開始ポイントに戻ったかどうかを判定する。リストがトラバースされていない場合、判定ステップ２８は、否定応答を戻し、プロセスは、次の宛先アドレスを処理するためにステップ２９に戻る。次のエントリが、開始ポイント、つまり空白のネクスト・エントリ・ポインタに等しいため、判定ステップ２８が肯定応答を戻した場合には、リストの中のすべての宛先アドレスが処理済みであり、ステップ３０で、マルチキャスト・パケットが、伝送のために待ち行列に入れられる。
【００２５】
図３で示した別の例では、リンク・リスト「Ｂ」に関するエントリ・ポイントが、Ｂ５であり、Ｂ５は、処理中のパケットに関する送信元ノードを表すことが可能である。いずれにしても、Ｂ５の内容は、処理されないが、リンク情報が獲得される。次に、プロセスは、Ｂ６、Ｂ１、Ｂ２、Ｂ３、Ｂ４にわたり、それぞれ内容を処理しながら実行され、Ｂ５に戻る。Ｂ５に戻ると、リスト全体がトラバースされ、データ・パケットがコピーされ、宛先ノードの特性によって必要とされる必要なパケットの変更が行われ、データ・パケットは、宛先ノードに、つまり、エントリ・ポイントの宛先アドレスＢ５を除くＢマルチキャスト・グループ・リストのすべてのノードにマルチキャストされる準備が整っている。
【００２６】
図３で示したとおり、リンク・リストの要素に関する必須の順序は存在せず、いくつかのリンク・リストをインターリーブすることができる。図３では、「Ａ」リストと「Ｂ」リストがインターリーブされ、個々の宛先アドレスには、順序付けが行われていないことに留意されたい。リストが作成され、宛先が追加され、削除される中で、個々の要素が一方から他方へリンクされるという条件で、新しい宛先を任意の時点で追加することができる。図３の斜線を付けたブロックは、循環リンク・リストの中の前に削除されたアドレスを表す。
【００２７】
図５は、図３の循環マルチキャスト・グループ・リストのような、前述した循環マルチキャスト・グループ・リストを含む、本発明の教示に従って構成されたネットワーク・プロセッサ３１を示している。マルチキャスト・パケット送信元３２が、個々のマルチキャスト・グループ・メンバ３４にマルチキャストするためのデータ・パケットをネットワーク・プロセッサ３０を介して伝送する。ネットワーク・プロセッサ３０がパケットを受信すると、内部の処理エンジン３６が、前述した本発明の教示に従ってマルチキャスト・リストのエントリ・ポイントを判定し、エントリ・ポイントに戻るまでリストをトラバースする。マルチキャスト・リストの中の各エントリにおいて、データ・フォーマッタ３８が、リスト・エントリの内容で示されるデータ伝送パラメータに従ってマルチキャスト・データ・パケットをフォーマットする。各宛先アドレスのデータ伝送パラメータを満たすように変更されたマルチキャスト・パケットが、マルチキャスト・グループ・メンバ３４に伝送される。
【００２８】
宛先アドレスは、マルチキャスト・グループ・リストに動的に追加し、またマルチキャスト・グループ・リストから動的に削除することができる。この追加または削除は、リストがアクティブである間に、すなわち、宛先アドレスにデータ・パケットを送信するのに使用されている間に行われる可能性があるため、パケットのマルチキャスティングに干渉しないプロセスを利用しなければならない。Ｂ５が、「Ｂ」マルチキャスト・リストから削除されるものと想定されたい。まず、Ｂ４に関連するポインタが、Ｂ６をポイントするように変更される。次に、Ｂ５からＢ６へのポインタが除去される。各マルチキャスト・グループは、ステータス・ビットの関連するスレッドを有し、グループの中のエントリが追加または削除されるときはいつでも、このビットが消去される。このビットは、グループがトラバースされる際にアクティブに設定され、これにより、グループ・リストが正常に変更されたことの指示子を提供する。
【図面の簡単な説明】
【図１】従来技術による複数のマルチキャスト・リンク・リストを示す図である。
【図２】従来技術による複数のマルチキャスト・リンク・リストを示す図である。
【図３】本発明による循環マルチキャスト・リストを示す図である。
【図４】本発明による処理ステップを示す流れ図である。
【図５】本発明の教示による循環マルチキャスト・リンク・リストを含むネットワーク・プロセッサを示す図である。
【図１】
0004331471.tif 000002
【図２】
0004331471.tif 000003
【図３】
0004331471.tif 000004
【図４】
0004331471.tif 000005
【図５】
0004331471.tif 000006