JP3735396B2 - Atmセルをマルチキャストする方法と装置 - Google Patents

Atmセルをマルチキャストする方法と装置 Download PDF

Info

Publication number
JP3735396B2
JP3735396B2 JP23426095A JP23426095A JP3735396B2 JP 3735396 B2 JP3735396 B2 JP 3735396B2 JP 23426095 A JP23426095 A JP 23426095A JP 23426095 A JP23426095 A JP 23426095A JP 3735396 B2 JP3735396 B2 JP 3735396B2
Authority
JP
Japan
Prior art keywords
cell
pointer
address
node
atm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP23426095A
Other languages
English (en)
Other versions
JPH08214001A (ja
Inventor
ブラウンヒル ロバート
シー.アール.ベネット ジョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Marconi Intellectual Property Ringfence Inc
Original Assignee
Marconi Intellectual Property Ringfence Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/305,576 external-priority patent/US5528588A/en
Application filed by Marconi Intellectual Property Ringfence Inc filed Critical Marconi Intellectual Property Ringfence Inc
Publication of JPH08214001A publication Critical patent/JPH08214001A/ja
Application granted granted Critical
Publication of JP3735396B2 publication Critical patent/JP3735396B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • H04L49/203ATM switching fabrics with multicast or broadcast capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
この発明はATMセルのマルチキャストに関連している。より具体的には、この発明は複数のアドレスに対して複数のまたは単一のポートを通して行うATMのマルチキャストに関係している。
【0002】
【従来の技術及び解決しようとする課題】
ATM(asynchronous transfer mode 非同期転送モード)は統合(integrated)デジタルネットワークでの通信を行うために用いられる。このネットワークを通して、ATMセルは予定された目的地へと運ばれる。しかしネットワークの複雑さや、それへの要求により、ネットワーク中におけるセル(cell)に関する流れの制御を含めた問題が存在する。さらには、マルチキャスト(multicast)(すなわち1つのATMセルを複数の目的地へ送信すること)を行う上においては、複数の目的地へ向かうセルを記憶するためのメモリーの利用にも注意が払われる必要がある。理想的には、可能な限り最小量のメモリーを利用することにより、すべての異なる目的地へ送信されようとするセル維持されるべきである。この発明においては、マルチキャストを行う上での複数の接続先へセルを送信するための効率のよい方法を提供する。
【0003】
マルチキャストの機能は、個々のATMセルを、ATMスイッチシステムの複数の出力ポートによって送信されることに限定するか、又は個々の出力ポートが、複数回個々のATMセルを送信することを含んでもよい。この前者においては、異なる出力ポートにマルチキャストATMセルが配送された瞬間、同じアドレス情報(VPIやVCIとして知られているもの)を持つように接続アドレスを制限することも可能である。この後者においては、マルチキャストATMセルのコピーが、それぞれに異なるVPI及び/又はVCIを持ち、セルの各コピーが最終的な目的地に送信されることが必要である。複数のVPI/VCIを用いたATMスイッチにおいて、マルチキャストを実行する従来技術としては、ATMスイッチングシステムのどこかのステップにおいて、セルのコピーを複数作り、蓄える技術があげられる。
【0004】
この発明は、セルを配送する各瞬間に、望ましくは異なったVPI/VCIを用いながら、セルをマルチキャストする効率のよい手法と装置に関するものである。セルの複数回の転送は、ATMスイッチ装置の同じ出力ポートもしくは異なる出力ポートで生じる。重要な革新点は、異なるVPI/VCIを用いているセルを転送する際に、個々のセルの複数のコピーを作る必要をなくした点にある。
【0005】
【課題を解決するための手段】
この発明は ATMネットワークにおけるマルチキャストのためのリンクリスト(linked list)に関係するものである。まずこのリンクリストは第1のセルを具えている。このリンクリストは複数の読込み用ポインターも含む。そして各読込み用ポインターは、1つのポートに対応づけられている。各読込み用ポインターは、第1のセルを示している。
【0006】
この発明は、ATMネットワーク用のマルチキャストシステムにも関係している。このシステムは、セルが通る第1のポートを含む。このシステムは第1のポートを指し示す一つの読込みポインタをも含む。マルチキャストシステムは、これに加えセルが通るために、少なくとも第2のポートを含む。そして第2のポートに関連して、少なくとも第2の読込みポインタも含む。マルチキャストシステムは、それぞれの読込みポインタが示すセルを含む。さらには、マルチキャストシステムは、読込みポインタがセルを読み込んだ時に、読込みポインタを制御するための制御部も含む。この装置は複数のセルを含むことが望ましい。それぞれのセルは次のセルを指し示すセルポインターを持つ。複数のセルがリンクリストを形成する。制御部は、読込みポインタが示していたセルが読み込まれた後に、そのセルにひきつづく次のセルに読込みポインタを移す。
【0007】
この発明は、マルチキャストを行うための手法をも含む。この手法には、第1の読込みポインタと、少なくとも第2の読込みポインタを作るためのステップを含む。それぞれの読込みポインタは、第1のポートと、第2のポートとにそれぞれ対応する。それぞれの読込み用ポインターはセルを指している。然る後ポートを選択するステップがある。その次に読込みポインタがポートを指すようにするステップがある。そこで読込みポインタが指し示すセルを読み込むステップがある。好ましくはそのセルはデータを含み、そしてまた第2のセルがある場合は、その第2セルを指し示すポインターを含む。そうすることで、第1のセルと少なくとも第2のセルはリンクリストを構成する。
【0008】
この発明はATMネットワークのためのマルチキャストシステムに関係する。マルチキャストシステムは少なくとも第1のATMセルポインター機構を具えている。マルチキャストシステムはデータを持つ少なくとも第1のATMセルを含む。第1のATMセルポインター機構は、その第1のATMセルを指し示す。このマルチキャストシステムは、第1のATMセルの第1アドレスを有する第1のノードとノードアドレスポインタとを含む。第1のATMセルポインター機構は第1のノードを指し示す。このマルチキャストシステムは、第1のATMセルの第2のアドレスを持つ第2のノードを持つ。第1のノードのノードアドレスポインターは、第2ノードを指し示す。第1のノードと第2のノードは、アドレスのリンクリストを構成する。マルチキャストシステムは、第1のATMセルポインター機構と、第1のノードと、第2のノードとを制御するための制御部を含むことが望ましい。制御部は第1のATMセルがポートから第1のアドレスに向けて送信され、そして次に第2のアドレスに向けて送信される様にする。
【0009】
この発明は1つのATMセルをマルチキャストする方法に関するものである。この方法は、第1のATMセルが送られるべき第1のアドレスをもつ第1のノードを読み込むステップを含む。そして第1のATMセルを、第1のアドレスに向けてポートから送り出すステップを含む。そのあと、第1のATMセルが送られるべき第2のアドレスをもつ第2のノードを読み込むステップを含む。そして第1のATMセルを第2のアドレスに向けて送り出すステップを含む。
【0010】
この発明はATMセル(複数)をマルチキャストする方法に関するものである。この方法は第1のセルの読込みポインタが指し示す第1のATMセルを読み込むステップを含む。そして第1のアドレスに向けて第1のポートから第1のATMセルを出力するステップを含む。次に第1のATMセルが第1のポートから第2のアドレスに向けて出力される必要があるかどうかを判断するステップがある。次に第1のATMセルが第1のポートから出力することが完了した後に、第2のATMセルを指し示すセルポインターを読み込むステップがある。
【0011】
この発明はATMネットワークにおけるマルチキャストシステムに関するものである。マルチキャストシステムは、第1のポートと関連する第1のATMセルポインター機構を含む。マルチキャストシステムは第2のポートと関連する少なくとも第2のATMセルポインター機構を含む。マルチキャストシステムは少なくとも第1のATMセルを含む。第1のATMセルポインター機構と第2のATMセルポインター機構は、第1のATMセルを指し示す。第1のアドレスとノードアドレスポインターをもつ第1のノードがある。第1のATMセルポインター機構は第1のノードを指し示す。第2のアドレスをもつ第2のノードがある。第1のノードのノードアドレスポインターは第2のノードを指し示す。第1のノードと第2のノードは、アドレスのリンクリストを作る。第1のATMセルはセルポインターをもつことが望ましい。マルチキャストシステムは第2のATMセルをもつことが望ましい。第1のセルのセルポインターは、第2のATMセルを指し示す。第1のATMセルと第2のATMセルは、ATMセルのリンクリストを作る。マルチキャストシステムは、制御部を有しており、ポインターが読み込まれるべき時期、ATMセルがポートから転送されるべき時期、及びそのアドレスを制御する。制御部は、ノードと、セルと、ポインターに連繋している。マルチキャストシステムは、ATMセルのリンクリストの最後尾のATMセルを指し示す書き込みポインターを持つ事が望ましい。
【0012】
望ましくは、ATMコネクションが張られるたびに、VPI/VCIのリンクリストは、そのコネクションを転送する出力の度に記憶される。セルを送信する際には、構成されたVPI/VCIのリストのそれぞれに対して一度ずつ、そのリストの内容それぞれに含まれるVPI/VCIを用いて、指定された出力から送信される。VPI/VCIのリストの最後まで到達した時点において、その出力ポートのためのそのATMセルの読み込みは終了しており、そのコネクションと出力ポートのための次のATMセルの読み込みが再びVPI/VCIリストの先頭から開始される。
【0013】
VPI/VCIリストには、いくつかのポインターが必要である。それぞれのコネクションのそれぞれのポートに対して、VPI/VCIリストの中の現在のエントリーを指し示すポインターが存在する。セルが読み込まれるたびにVPI/VCIのリストへのポインターはVPI/VCIが使われるべきエントリーを指し示していて、転送されたセルのVPI/VCIとして使われる。またセルが読み込まれるたびにVPI/VCIリストへのポインターはVPI/VCIリスト中の次のエントリーを指し示すように更新される。
【0014】
VPI/VCIリストのエントリーの1つは、最後のエントリーとして設定される。ひとたびこの最後のエントリーに到達したなら、読み込まれたセルは全てのVPI/VCIへ既に送信された事を意味し、そのセルがそれ以降そのポートから読み出される事はない。もし次にそのコネクションの出力ポートからの読み出しが行われる時には、そのコネクションにおける次のセルが送り出される。
【0015】
【発明の効果】
この新しい技術には次の利点がある。この技術により、同じ出力ポートからでも異なった出力ポートからでも、セルが複数回送信される事を可能にすると同時に、そのセルが送信ごとに異なるVPI/VCIを持つ事をも可能とする。いくつものセルのコピーをATMスイッチのネットワークのどこかに蓄えたりする事なく、複数のVPI/VCIに対してセルをマルチキャストする事を可能とする。これにより複数のセルのコピーを保持するためのメモリーも、必要とされる帯域幅も節約される。そのコネクションのセルの流れを妨害する事なく、コネクションの出力のVPI/VCIのリストを変更する事ができる。
【0016】
【発明の実施の形態】
図を参照するにあたり何枚かの図の中で引用する図中の同じ数字は、ほぼ同じもしくは同一の部分を示す。特に図1には、マルチキャストを行うATMネットワーク(12)のためのリンクリスト(10)が示されている。リンクリスト(10)は第1のセル(14)を有する。リンクリスト(10)は複数の読込み用ポインター(16)を有する。それぞれの読込み用ポインター(16)はポート(18)と関連づけられている。また、その読込み用ポインター(16)は第1のセル(14)を指し示している。ポート(18)は、ここで意図しているのは、スイッチの段のようなスイッチ内部のポート、もしくはスイッチの外部ポートを意味する。
【0017】
リンクリスト(10) は少なくとも第2のセル(14b)を含む事が望ましい。そしてそれぞれのセル(14)は、それが最後のセル(14c)でない限り、セルポインター(20)を含み、それは次のセル(14)を指し示す。もし、読込みポインタの管理の手間を最小にする事のほうが、メモリーの利用を少なくする事よりも重要であるのならば、最後のセル(14c)を解放せずに管理する事もできる。この様にする事で、読込みポインタが存在する状態を保持する事ができ、新しくリンクリスト(10)を作成するたびに、いちいち読込みポインタを書き直す必要がなくなる。もし、メモリーの利用の方が全ての構成において貴重であるのなら、最後のセル(14c)を解放する事もできる。
【0018】
リンクリスト(10)は最後のセル(14c)を指し示す書込み用ポインター(22)を持つ事が望ましい。それぞれのセル(14)は、セル(14)が出力されるべき全てのポート(18)を表すカウンター(24)を含む事ができる。リスト(10)はそれぞれの読込み用ポインター(16)に対応する停止用ポインター(26)を持つ事ができる。この停止用ポインター(26)は、対応するポート(18)から最後のセルが出力されようとしていることをあらわす。
【0019】
この発明はATMネットワーク(12)のためのマルチキャストシステム(28)を含む。このシステム(28)はセル(14)が通過する第1のポート(18a)を含む。このシステム(28)はさらには第1のポート(18a)に対応する読込みポインタ(16a)を含む。マルチキャストシステム(28)はさらに、セル(14)を通過させる少なくとも第2のポート (18b) をも含む。そして第2のポート(18b)に関係づけられた第2の読込みポインタ(16b)も存在する。マルチキャストシステム(28)はそれぞれの読込みポインタ(16)が指し示すセル(14)を含む。さらには、マルチキャストシステム(28)は、図6に示されている通り、読込みポインタ(16)がセル(14)を読み込む動作を制御する制御部(30)を含む。システム(28)は複数のセル(14)を含む。それぞれのセル(14)は、次のセルを指し示すためのセルポインター(20)を持つ。複数のセル(14)はリンクリスト(10)を作る。制御部(30)は、読込み用ポインター(16)が指し示すセル(14)が読み込まれた時に、読込みポインタ(16)を次のセル(14)を指し示すように変更する。
【0020】
システム(28)は リンクリスト(10)の最後のセル(14c)を指し示すための手段もしくは機構を含む事が望ましい。このリンクリスト(10)の最後のセル(14c)を指し示すための手段もしくは機構が、書き込みポインター(22)である。それぞれのセル(14)はカウンター(24)を持ち、セル(14)が送り出される全てのポート(18)を識別する。この制御部(30)は読込み用ポインター(16)が指し示すセル(14)が読み込まれると、ポート(18)をカウンター(24)から取り除く。さらに、システム(28)はそれぞれの読込み用ポインター(16)に対応する停止用ポインター(26)をもつ。停止用ポインター(26)は、最後のセル(14c)がポート(18)から出力されようとしていることを示す。セルがリンクリスト(10)中の最後のセル(14c)である場合を除き、セル(14)が送信されるであろう他のポート(18)及びカウンタ(24)中にポート(18)が無いときは、制御部(30)はセル(14)を解放する。
【0021】
この発明はさらにマルチキャストのための手法も含む。この手法は第1の読込みポインタ(16a)と少なくとも第2の読込みポインター(16b)を作成するステップを含む。それぞれの読込みポインタ(16)は第1のポート(18a)と第2のポート(18b)にそれぞれ対応している。それぞれの読込みポインタ(16)はセル(14)を指し示す。その次にポート(18)を選択するステップを含む。続いて読込みポインタ(16)をポート(18)に割り振るステップがある。そして次に読込みポインタ(16)が指し示しているセル(14)を読み込むステップがある。そのセルはデータを持ち、もし第2のセルがあるのなら、セル(14)は第2のセル(14b)を指し示すセルポインター(20)を含む事が望ましい。第1のセル(14a)と少なくとも第2のセル(14b)は、リンクリスト(10)を作る。
【0022】
読み込みステップの後、読込みポインタ(16)がセル(14a)のセルポインター(20)によって指し示されている第2のセル(14b)を指し示すようにするステップがある。読み込みステップの後、セル(14a)をポート(18a)から送出するステップもある。読込みポインタ変更のステップの後、セル(14a)を少なくとも1つ以上の他のポート(18)から送出する必要があるかどうかを確認するステップがある。この確認ステップのあと、もしセル(14a)が送出されるポート(18)が他にないのであれば、セル(14a)を解放するステップを含む事ができる。
【0023】
セル(14)はセル(14)が出力される全てのポート(18)を区別するためのカウンター(24)を含む事が望ましい。送出ステップの後、ポート(18a)をカウンター(24)から取り除くステップを含む事が望ましい。解放ステップには、セルが出力されるポート(18)が他になく、セルが出力されるポートがカウンター(24)にもなく、そしてセル(14)がリンクリスト(10) の中の最後のセル(14c)でない場合にセル(14a)を解放するステップを含む。
【0024】
読込みポインタ変更ステップの後、ポインター(16a)が指している第2のセル(14b)を読み込むステップがある。セルを解放するステップには、セル(14)が出力されるべきポート(18)の数と同じ値を持つカウンター(24)を1だけ減少させるステップを含む。
【0025】
確認ステップはポート(18)用の停止用ポインター(26)の値をポート(18)のための正しいポインターの値(22)に準備するステップを含む。ポインター(20)はポート(18)から出力されることになる最後のセル(14c)を指し示す。または、読込みステップの後、セル(14)のステータスフィールド(34)(status field)からのポート(18)に対するビット(32)をクリアーするステップを設けてもよい。そして解放ステップには、セル(14)のステータスフィールド(34)が空であり、カウンター(24)の値が0に等しく、セル(14)がリンクリストの最後のセル(14c)でない場合に、セル(14)を解放するステップを含む。
【0026】
代りのステップの実施例においては、マルチキャストの為の手法には、ポート(18)を選択するステップを含む。そして、読込みポインタ(16)をポート(18)を指すようにするステップがある。次に読込みポインタ(16)が指しているセル(14)を読み込むステップがある。次にセル(14)をポート(18)から送り出すステップがある。そして、セル(14)が送り出されるべき全てのポート(18)を表わすカウンター(24)からポート(18)を取り除くステップがある。次に、もし第2のセル(14b)がある場合に、セル(14a)のセルポインター(20)が指している第2のセル(14b)を読込みポインタ(16)が指すようにするステップがある。セル(14a)が出力されるべきポート(18)が少なくとも一つあるかどうかを調べるステップがある。次に、もしセル(14a)が出力されるべきポート(18)が他になく、カウンター(24)の中にポート(18)がなく、セル(14a)がリンクリスト(10)の最後のセル(14c)でない場合に、セル(14a)を解放するステップがある。
【0027】
上記指し示すステップの後、読込みポインタ(16)が指している第2のセル(14b)を読み込むステップがある。確認ステップはポート(18)のための停止ポインター(26)の値をポート(18)のための書き込みポインター(22)の値と比較をするステップを含む事ができる。書き込みポインター(22)はポート(18)から出力される最後のセル(14c)を指している。または、上記指し示すステップの後、セル(14)のステータスフィールド(34)の中のポート(18)に対応するビット(32)をクリアするステップが存在してもよい。解放ステップは、ステータスフィールド(34)が空でカウンター(24)の値が0であり、セル(14)がリンクリスト(10)の最後のセル(14c)でない場合に、セル(14)を解放するステップを含む事ができる。
【0028】
複数のセルを含む場合の装置の動作において、セル(C1)はシステム(28)に導入される。ポート1、ポート2、ポートNに対応する読込みポインタ Ra1、Ra2、RaN はそれぞれ、セルC1を指している(第1の添字(ここではa)は接続( コネクション )を示している。第2の添字(ここでは1)はポートを示している。つまり、Ra1は接続aとポート1に関連づけられた読込みポインタをあらわしている)。セル(C1)のカウンター(24)は、セル(C1)を出力として受け取るポートの数である3にセットされ、そしてステータスフィールド(34)はセル(C1)が出力されるポートを識別するためのビット(32)をもつ。同様に書き込みポインターWaはセルC1を指しており、そしてそのセル(14)は最後のセル(14c)となっている。書き込みポインターWaは3までカウントし、それはセルC1を受け取るポートの数である。さらに、書き込みポインターWaはステータスフィールド(34)を持ち、それはC1が出力されるポートそれぞれに対応したビットで埋められた基準ステータスフィールドとして機能する。図2を参照。加えて、読込みポインタRa1、読込みポインタRa2、読込みポインタRaN、にそれぞれ対応している停止ポインターSa1、停止ポインターSa2、停止ポインターSa3は、どのポートも外されるステップに該当していないので、何も指さない。
【0029】
ここでは例として、次に、ポート2をリンクリスト(10) のセルを読み込まないようにして、そしてセルC2とC3をC1で始まるリンクリスト(10)に付け加える。C2が付け加えられたとき、セルC1のセルポインター(20)はセルC2を指し示す。セルC2のカウンター(24)は2に増加され、その値はポート1とポートNの2つのポートにセルC2が出力されることを表す。同様に、セルC2のステータスフィールド(34)はセルC2がポート1とポートNとに出力されることを示すために、第1のポートと第Nのポートに対応する場所を教えるビット(32)を持つ。さらに、セルC2はセルC3を指し示すセルポインター(20)を持つ。セルC3のカウンターも2に増加され、ポート1とポートNのためのステータスフィールド(34)の対応する場所をビット(32)に教える。さらには読込みポインタWaはセルC3がリンクリスト(10)の最後のセル(14c)であるから、現在はセルC3を指す。読込みポインタWaのカウンターの値は、セルC1、C2、C3を持つリンクリスト(10)が出力されるのは2つのポートしかないため、2にセットされる。そして、その基準ステータスフィールド(32)はポート1の場所とポートNの場所に対応する2つのビットしか立っていない。なぜなら、ポート2はセルC2とC3が加えられる以前に外されていたからで、ポート2の存在をそれらのセルは全く知らないからである。セルC1がシステム(28)で作られたときにポート2が存在したので、セルC1はまだポート2の存在を知っている。またポート2がリンクリスト(10)のセル(14)を読まないようにするために、停止ポインターSa2はセルC1を指すように変更される。ポート(18)がリンクリスト(10)のすべてのセル(14)から取り除かれた時に限り、そのポートが取り除かれたところであるリンクリスト(10)の最後のセルを停止ポインター(26)は指し示す。図3を参照。
【0030】
次に例示的として、ポート1から2回読み込まれ、その後ポートNからリンクリスト(10)を1回読み込んだとする。ポート1が最初に読み込んだ時、セル(C1)はポート1に送り出され、読込みポインタ(Ra1)はセル(C1)のセルポインター(20)が指し示すところのセル(C2)に移される。停止ポインター(Sa1)がセル(14)のどこも指していないため、読込みポインタは次のセルへと移動する事が許される。ポート1はセル(C1)を既に読み込んだため、ポート1は、今後セル(C1)を読み込むことがないという事実のために、セル(C1)のカウンター(24)は、1減らされる。加えてポート1はすでにセルC1を読み込んだため、今後セル(C1)を読み込むことがないという事実を反映して、セルC1のステータスフィールド(34)の中のビット(32)はクリアされる。そして、ポート1のための読込みポインタ(Ra1)は、セルポインター(20)が指し示すセルであるセル(C3)を指すようになる。リンクリスト(10)に関連した2つのポートが存在すること及び基準ステータスフィールドがそれら2つのポートはポート1とポートNであることを、これのカウンターが依然示しているので、読取りポインタ(Wa)は変更されない。次にポートNが読み込まれ、セル(C1)がポートNから送り出される時にセル(C1)のステータスフィールド(34)のポートNに対応するビット(32)はクリアされ、セル(C1)のカウンター(24)は1減らされる。読込みポインタ(RaN)はセル(C1)のセルポインター(20)が指すところのセル(C2)を指し示すように移される。停止ポインター(SaN)がどのセルにも向けられていないため、ポインター(RaN)はセル(C2)に移動する。図4を参照するとよい。
【0031】
ポート2が読み込まれた時、停止ポインター(Sa2)がセル(C1)を向いているためポート2は停止する。このことは読込みポインタ(Ra2)は、それがセル(C1)を指した時に、リンクリスト(10)のセル(14)を読み込むのを止めることを表す。そして、読込みポインタ(Ra2)はどこも指さないように変更される。セル(C1)はそのカウンターを0にまで減じ、ポート2に対応するステータスフィールド(34)のビット(32)はクリアされる。カウンターが0で、ステータスフィールドのビットがなにもないために、セル(C1)を受け取るべきポートは無いことになり、セル(C1)は解放される。図5参照。
【0032】
所定ポートがリンクリスト(10)のマルチキャストから除外される位置にある時の書込みポインターの値に設定された停止ポインター(26)が存在することにより、接続するとセルが消去される様な多数のポートが可能となる。停止ポインターは、あるポートを取り除く事、さらにリンクリスト(10)がこの事を認識する事を可能とする。同様に、それぞれのセルのステータスフィールド(34)、そしてカウンター(24)に関していうと、あるセル(14)のカウンター(24)が0となったとき、セル(14)はすべてのポート(18)からすでに読み込まれ、このセルに関連したメモリー空間は未使用状態に戻す事ができる。このようにして、ポート(18)をリンクリスト(10)のマルチキャストから外すには、そのポート(18)に対応する書き込みポインター(22)の基準ステータスフィールドのビット(32)をクリアしさえすればよく、古い値を保持する必要はない。次のセル(14)がリンクリスト(10)に書かれた時には、古いカウンターの値ではなく、新しいステータスフィールドを受け取る。それぞれの新しく到着するセルは新しいステータスフィールドを受け取り、カウンターの値はステータスフィールド(34)の中でセットされているビット(32)の数に等しくなる。1度ステータスフィールドが付け加えられると、フルカウントの値は無用のものとなり、そのセルを送信しない事になっているポートの数をカウンターで保つ事だけが必要となる。ほとんどのセルのカウンターの値は0である。1つ若しくはいくつかのセルがマルチキャストから外されたとき、基準ステータスフィールドのそれらのポートに対応するビットがリセットされ、リストにある次のセルのカウンターには、その外されたポートの数がセットされる。セル(14)がポート(18)から読み込まれた時、ステータスフィールド(34)のビット(32)はリセットされる。もしステータスフィールド(34)が空でカウンター(24)が0であった時、セル(14)を解放する事ができる。もしセル(14)がポート(18)から読み出され、ステータスフィールド(34)のビット(32)がセットされていない時には、そのポートはこのセルに関しては、取消されているポートなので、カウンター(24)が1減らされ、同様にステータスフィールド(34)が空で、カウンター(24)が0の時には、セル(14)を解放する事ができる。カウンター(24)は各セル(14)と共にあるので、セル(14)が送り出される事ができるポートの数の最大値に対するものとして、それは、送出リストから外されるポート(14)の数の最大値を数えるために十分なサイズがあればよく、これによりカウンターのサイズは小さくできる。もし、あるセル(14)について取消しできるポート(14)の数の最大値が1であるとするのなら、それは1ビットのカウンターとなる。
【0033】
一旦ステータスフィールド(34)が付け加えられると、フルカウントの値は無用のものとなる。そのセルを送信しない事になっているポートの数をカウンターで保つ事だけが必要となる。ほとんどのセルのカウンターの値は0である。1つ若しくはいくつかのセルがマルチキャストから外されたとき、基準ステータスフィールドのそれらのポートに対応するビットがリセットされ、リストにある次のセル(14)のカウンター(24)には、その外されたポートの数がセットされる。セル(14)がポート(18)から読み込まれた時、ステータスフィールド(34)の対応するビット(32)はリセットされる。もしステータスフィールド(34)が空で、さらにカウンター(24)が0であった時、セル(14)を解放する事ができる。
【0034】
もしセル(14)がポート(18)から読み出され、ステータスフィールド(34)のビット(32)がセットされていない時には、そのポートはこのセル(14)に関する限り、除外されているポートなので、カウンター(24)が1減らされる。同様にステータスフィールド(34)が空でカウンター(24)が0の時にはセル(14)を解放する事ができる。カウンター(24)は各セル(14)に対応するように設けられているので、セル(14)が送り出されるべきポートの数の最大を数えるために十分な大きさがあればよく、これによりカウンターは小さくできる。もし、あるセル(14)に限って、外すことのできるポート(14)の数の最大が1であるとするのなら、それは1ビットのカウンターとなる。もしあるポートが外されていることが表示されており、また同時に外す事のできるポートの数は1つだけであるから、その外されているポートが、そのポートでなければならない。もしポート(14)がリンクリスト(10)を読み込まないようにされていないなら、停止ポインター(26)は除去され、ステータスフィールドのみが存在する。
【0035】
また別の実施例においては、セル(14)は2つの種類のステータスフィールドを持つ事ができる。カウンター(24)又はそれに対応する停止ポインター(26)の必要性は除去される。この2種類のステータスフィールドのうち、1つはこれまでに述べたステータスフィールド(34)と同じものである。もう1つは、そのセルがポートから読み出される最後のセルかどうかを識別するビットをもつステータスフィールドである(それゆえ、このビットは停止用ポインターと同じく振舞う)。セル(14)が、対応するポート(18)から読み込まれる最後のセルであったとしても、そのセルも読み込まれるようにシステム(28)のプロトコルを作ることができる。もしくは、追加されたステータスフィールドによりポート(18)に対応する最後のセルであることがわかる場合には、そのセルを読まないように作ることもできる。ステータスフィールドを用いることは、相対的に言えば、操作において引き算が必要なため、もっと複雑となるカウンターを用いる手法に比べて、単にビットを増やしたり減らしたりするだけという利点がある。ロジックの束縛とメモリーの束縛とのどちらがより重要であるかが、究極的には設定を決めることになる。
【0036】
リンクリスト(10)のマルチキャストはシステム(28)を用いて行われる。図6はシステム(28)の概要である。システム(28)はスケジューラ(36)を含む。スケジューラ(36)は、どのコネクションが読み込まれるかを、ラウンドロビン法や加重ラウンドロビン法や加重公平待ち行列法(weighted fair queuing)やバーチャルクロック法(virtual clock)などのスケジューリング手法により決定する。コントローラ(38)がポート(18)からセル(14)を送るように決定するたびに、スケジューラ(36)は呼び出される。コントローラ(38) は、総合接続情報を更新して、使われていないセルの位置のリスト ( フリーリスト (free list))を作り、読込みコントローラ(40)と書込みコントローラ(42)から受け取った情報に基づいて接続ステータスをスケジューラ(36)に知らせ、読込みコントローラ(40)がどのコネクションを読むべきかを教える。読込みコントローラ(40)はポート番号とコネクション番号を与えられると、そのポートで、そのコネクションの次のセルを読み出す。
【0037】
システム(28)は総合接続情報メモリー(44)を含む。図7にあるとおり、総合接続情報は、読込みおよび書込み情報エントリーへのポインターを含んでいる。これは、それらが同一メモリー内で総合接続情報の近くにない場合、又はそれらが別々のメモリー内にあって、同一アドレスでない場合に生じる。ポートフィールド(port field)とポートカウント(port count)のエントリーが使われた場合には、これらは総合接続情報に属するか、接続書込み情報に属する(もし両方が存在する場合には、両者は総合情報と書込み情報の何れかと一緒であるか、または一方が夫々と一緒である)。
【0038】
システム(28)の書込みコントローラー(42)は、入力からセルを受け取り、それをセルメモリー(46) (図8、図9参照)に書き込む。そして接続書込み情報を更新して、(コントローラ(38)に制御されて)フリーリストからセル(14)を受け取ったり、返したりし、コネクションに新しいセル(14)が届いたこと、またどのコネクションにセルが届いたかをコントローラ(38)に知らせる。図8、図9において、セル(14)とそのデータは1つのメモリーへ一緒に、もしくは違うメモリーへ別々に格納される。なお、それぞれのデータ項目は同じアドレスに格納される ( 番地付けはデータ項目ごとに行われる )。「違うメモリー」というのは物理的に別々の場所であってもよいし(別のチップ)、論理的に分けられていてもよい(同じメモリーの別々の領域でもよい。または等間隔にあけてある、即ち偶数の番号が付けられた(単語やデータ項目)のすべてのアドレス0、2、4...はメモリーAに、そして奇数の全てのアドレス 1、3、5、7 はメモリーBとする。この場合、項目"i"は、もし物理的なメモリーAに格納されるとしたら、物理アドレス"2*i"に、又、もし物理的な「メモリー」Bに格納されるとしたら、物理アドレス(2*i)+1に格納される)。
【0039】
システム(28)は図10にあるような接続書き込み情報メモリー(48)を含む。コネクション書き込み情報は ( 読込みポインタ (16) の最適化がされているかどうか応じて )そのコネクションのリンクリスト(10)の最後のセル(14c)へのポインターと、そのコネクションの次のセル(14)が書き込まれる場所へのポインターを含む。それは、必要なものではあるが、総合接続情報には含まれていない”ポートフィールド”か"ポートカウント"フィールドをも含むことがある。
【0040】
システム(28)は、図11、図12にあるように、接続読込み情報メモリー(50)を具えている。接続読込み情報には、それぞれのポートに対してリンクリスト(10)の中のセル(14)へのポインターをもつエントリーがある。このセル(14)は、次に、あるポート (18) よりこのコネクションがセル(14)を出力しないといけなくなった時に、そのポート(18)について読み出される。それぞれのエントリーは必要なら停止用ポインター(26)を持つ。コネクションは、セルが送り出されるそれぞれのポート(18)に対して、異なったVPI又はVCIを必要とすることもあるため、それぞれのエントリーは新しいヘッダーなどの追加情報を持つ接続読込みエントリーが別々に格納されている場合には、各ポート(18)の接続読込みエントリーを示すポインターを含んだポートナンバーによって、インデックスされるアレイ(array)があるのだろう。図7、10、11、12、13、14、15、16、17に記載されているように、さまざまなメモリーは物理的に別々の場所でもよいし、1つまたは複数の物理メモリーの中にある論理的なメモリーでも構わない。これらの図に関しては、次のような分類上の記号を用いている。
【0041】
(3 & 4) 読込み/書込み情報が同じメモリー内にて接続エントリーのすぐそばにない場合か、別々のメモリーの別々の場所に保持されている場合に限り必要となる。
【0042】
(4) 異なったポートの読込み情報エントリーが一緒に保持されている場合、読み込み情報ポインターはそのうちの一つを指してもよい。
(5) idが必要である。
【0043】
図21を参照すると、ATMネットワーク(12)用のマルチキャストシステム(100)が描かれている。マルチキャストシステム(100)は少なくとも第1のATMセルポインター機構(62)を含む。マルチキャストシステム(100)はデータを持つ第1のATMセル(14a)を含む。第1のATMセルポインター機構(62)は第1のATMセル(14a)を指す。マルチキャストシステム(100)は第1のATMセル(14a)のための第1のアドレス(66)と、ノードアドレスポインター (68) とを持つ第1のノード (64) 更に含む。第1のATMセルポインター機構(62)は第1のノード(64)を指し示す。マルチキャストシステム(100)は第1のATMセル(14a)のための第2のアドレス(71)をもつ第2のノード(70)からなる。第1のノード(64)のノードアドレスポインター(68)は第2のノード(70)を指し示す。第1、第2のノードは、アドレスのリンクリスト(72)を作る。マルチキャストシステム(100)は、第1のATMセルポインター機構(62)と、第1のノード(64)と、第2のノード(70)を制御するコントローラ(300)を更に含んでいる。コントローラ(300)は、第1のATMセル(14a)がポート(18)を通して第1のアドレス(66)に送られ、そして第2のアドレス(71)に送られるようにする。
【0044】
第1のATMセルポインター機構(62)は、第1のATMセル(14a)を指す第1のセル読込みポインタ(16)を含むことが望ましい。また第1のATMセルポインター機構(62)は、第1のATMセル(14a)が送り出される先のアドレスを並べたリンクリスト(72)の中のノードを指すアドレスポインター(74)を含むことが望ましい。
【0045】
アドレスのリンクリスト(72)のそれぞれのノードは、新しいVPI情報、新しいVCI情報、最終コネクションをあらわすビット、アドレスのリンクリストの最後のエントリを示すビットを含むことが望ましい。ノードの中の最終コネクションを示すビットがセットされ、アドレスポインター(74)がそのノードを指している場合コントローラ (300) は、第1のATMセル (14a) そのノードの中のVPI/VCI情報にしたがって送信するが、そうでない場合には第1のATMセル(14a)はVPI情報だけにしたがって送信される。アドレスのリンクリストの最後のエントリーがそのノードにセットされている場合、第1のATMセル(14a)を送信した後、第1のセル読込みポインタ(16a)はコントローラ(300)によって第2のATMセル(14b)を指すように変更される。
【0046】
この発明はATMセル(14)をマルチキャストする手法を含む。この手法は第1のATMセル(14a)が送り出されるべき第1のアドレス(66)をもつ第1のノード(64)を読み込むステップを含む。そして、第1のATMセル(14a)をポート(18)から第1のアドレス(66)へと送り出すステップがある。次に第1のATMセル(14a)が送り出されるべき第2のアドレスを持つ第2のノード(70)を読み込むステップがある。そして、第1のATMセル(14a)をポート(18)から第2のアドレス(71)へと送り出すステップがある。
【0047】
以下の表は図21に関するセルの転送の例と、それに対応するポインターの変化の様子をあらわしている。表においては、アドレスポインター(74)はVPI/VCIリストエントリーへのポインターと呼ばれ、ノードアドレスポインター(68)は次のVPI/VCIリストエントリーへのポインターと呼ばれる。
【0048】
【表1】
Figure 0003735396
【0049】
第2ノード(70)を読むステップの前に、第2ノード(70)を示しており、第1ノード(60)に関連したノードアドレスポインター(68)を読むステップを設けることが望ましい。第1と第2ノードは、アドレスのリンクリストを形成する。第1ノード(64)を読むステップの前に、第1ATMセル(14a)を示す第1ATMセル読込みポインタ(16a)を読むステップを設けることが望ましい。第1ノード(64)を読むステップの前に、第1ノード(64)のアドレスポインター(74)を読むステップがある。
【0050】
第1アドレス(66)が最後のアドレスである場合は、送信ステップの前に、第1ATMセル(14a)へ新しいVPIとVCIを挿入するステップがある。さもなければ、第1ATMセル(14a)は、第1ノード(64)からのVPI情報のみを用いて送信される。第1ノード(64)を示す第1アドレスポインター(74)を読むステップの後で、アドレスポインター(74)に第2ノード(70)を指させるステップがある。
【0051】
第1ATMセル(14a)を第2アドレス(71)へ送信するステップの後、ノードがアドレスのリンクリスト(72)中の、最後のエントリーになるまで、第1ポート(18)から第1ATMセル(14a)を、アドレスのリンクリスト (72) のさらなるアドレス、さらなるノードについて順次送信するステップがあるのが望ましい。しかる後、ATMセル読込みポインタ(14)が第2ATMセル(14b)を示すステップが有る。次に、アドレポインター(74)をアドレスのリンクリスト(72)の第1ノード(64)へ示させるステップがある。
【0052】
本発明は、ATMセル(14)をマルチキャストする方法に関するものである。この方法は、第1ATMセル読込みポインタ(16a)が示している第1ATMセル(14a)を読み込むステップを含んでいる。しかる後、第1ATMセル (14) を第1ポート (18a) から出力して第1アドレス(66)へ送信するステップがある。次に、第1ATMセル(14a)を第1ポート(18a)から出力し、第2アドレス(71)へ送信するべきか否かを判断するステップがある。次に第1ポート(18)から出力された第1ATMセル(14a)アドレスへの送信を完了した場合に、第2ATMセル(14b)を示すセルポインター(20)を読み込むステップがある。第1ATMセルは、セルポインター (20) を含んでおり、セルポインターの読み込みステップは、第2ATMセル(14b)を示す、第1ATMセル(14a)のセルポインター(20)を読み込むステップを含むことが望ましい。セルポインター(20)を読み込むステップの後、第2ATMセル(14b)を読み込むステップがある。望ましくはノードアドレスポインター(68)を読み込むステップの後で、第2ノード(70)の第2アドレス(71)を読み込むステップがあるのがよい。
【0053】
本発明は図22に示すように、ATMネットワーク(12)用のマルチキャストシステム(200)に関するものである。マルチキャストシステム(200)は、第1ポート(18a)に関連した第1ATMセルポインター機構(62)を含んでいる。マルチキャストシステム(200)はまた、少なくとも、第2ポート(18b)に関連した第2ATMセルポインター機構(76)を含んでいる。マルチキャストシステム(200)はまた、少なくとも第1ATMセル(14a)を含んでいる。第1ATMセルポインター機構(62)と第2ATMセルポインター機構(76)は、第1ATMセル(14a)を示す。第1アドレス(66)とノードアドレスポインター(68)を具えた第1ノード(64)がある。第1ATMセルポインター機構(62)は、第1ノード(64)を示す。第2アドレス(71)を有する第2ノード(70)がある。第1ノード(64)のノードアドレスポインター(68)は、第2ノード(70)を示す。第1及び第2ノードは、アドレスのリンクリスト(72)を構成する。第1ATMセル(14a)は、セルポインター(20)を有することが望ましい。マルチキャストシステム(200)は、第2ATMセル(14b)を含むことが望ましい。第1ATMセル(14a)のセルポインター(20)は、第2ATMセル(14b)を示す。第1ATMセル(14a)と第2ATMセル(14b)は、ATMセル(14)のリンクリスト(10)を構成する。マルチキャストシステム(200)は、いつポインターが読み込まれるか、ATMセル(14)がどのアドレスを用いて、いつポート(18)から出力されるかを制御するコントローラ(250)を含む。マルチキャストシステム(200)は、またATMセル(14)のリンクリスト(10)中の最後のATMセル(14)を示す書込みポインター(26)を有することが望ましい。
【0054】
望ましい実施例の動作に於ては、ATMセルは次の様にして記録される。ATMネットワーク(12)からのATMセル(14)は、図18に示すようにバッファ書込み論理回路(202)に受け取られる。該バッファ書込み論理回路は、接続特定情報(203)を検索して、ATM セル (14) が属するコネクションについて接続ポインター情報(204)の位置を決定する。そしてそれは、ATMセルバッファ(205)にセル (14) を書き込み、セル(14)の存在を示すように接続ポインター情報(204)を更新する。
【0055】
ATMセル(14)が特定の出力ポート(18)に対して読み込まれねばならない場合、バッファ読込み論理回路(207)は、接続ポインター情報(204)を検索し、与えられた接続を求め、ポート(18)から出力するため、アドレスリンクリスト(72)へのアドレスポインター(74)を見つける。それは、アドレスポインター(74)を用いて、アドレスリンクリスト(72)中のノードを見つける。
【0056】
ノードに最終コネクションを表示するビット(214)が設定されている場合、そのノードからの新たな VPI 212 )と新たな VCI 213 )が、送信されるセルへ挿入される。それ以外の場合では、新たなVPI(212)だけが送信されるセル(14)へ挿入される。(セルのVCIは、それがATMセルネットワーク(12)から到着した時点から変更されないままである。)
【0057】
セル(14)の送信の為、正しいVPI/VCIが一旦決められると、アドレスリンクリスト(72)へのポインターには、ノードのポインター(68)に記録されていた値が与えられ、従って、リスト(72)への次のエントリーは、次のセル(14)の送信の為に使われる。
【0058】
最終エントリーを示すビット(215)がノードに設定されている場合、ノードアドレスポインター(68)は、アドレスリンクリスト(72)中の第1ノード(64)に戻って示す。セル(14)がアドレスリンクリスト(72)中の最終ノードを用いて送信された後、接続ポインター情報(204)中のATMセル読込みポインター(16)は更新されて、与えられたコネクションについてATMセルバッファ(205)中の次のセル(14)を示す。
【0059】
結局、ATM接続のある出力ポート(18)がn個のエントリーを伴ったアドレスリンクリストを示す場合、その接続に関する各ATMセル(14)は当該出力ポートによってn回送信され、この場合、各送信はアドレスリンクリスト(72)の一連のエントリーの各々に記録されているVPI(及び多分VCI)を用いて行われる。
【0060】
アドレスリンクリスト(72)にエントリーを加え、又は除去することについて、コネクションのある1つの出力ポート(18)に対するアドレスリンクリスト(72)は輪状に繋がったリストによって構成される。そのリストでは、ノードの各ノードアドレスポインター(18)は、アドレスリンクリスト(72)中の次のノードを示しており、そして最終ノードはアドレスリンクリスト(72)中の第1ノード(64)に戻って示している。
【0061】
今存在するアドレスリンクリスト(72)に対してノードを付け加えるには、次のステップを実行せねばならない。
1. アドレスリンクリスト(72)の内部にて新しいノードを作り出す。この新ノードはXによって表示する。
2. ノードXのノードアドレスポインター(68)をノードXの次のノードに変更し、それによって既にノードXが加えられてるリストの要素になっている或るノード(以下Yと表す)を示す。
【0062】
もしノードXがアドレスリンクリスト(72)中の唯一のノードである場合は、ノードをそれ自身へ示し、VPI/VCI リストの最終エントリーを示すビット (215)を1に設定する。
3. ノードXをリストへ挿入するために、ノードアドレスポインター(68)を、アドレスリンクリスト (72) にあって、エントリーYを示す次のノードアドレスポインター(68)に変更する。これによって、それは代わりにエントリーXを示す。
【0063】
現在のアドレスリンクリスト(72)からノードを除去するために次のステップを実行せねばならない。
【0064】
除去されるべきエントリーは、エントリーBと表す。ノードBを示すノードは、ノードAと表す。ノードBによって示されるノードは、ノードCと表す。
1.ノードAのノードアドレスポインター(68)を切替え、ノードBではなくノードCを示すように為す。もしVPI/VCIリスト中の最終ノード表示ビット(215)をノードBにセットされると、VPI/VCIリスト中の最終ノード表示ビット(215)がノードAにセットされる。
2.ノードAはもはや必要でないこと、そして破棄されることを確認するため、与えられているコネクションに関する接続ポインター情報(204)中のアドレスポインター(74)はノードBを示していないことを確認せねばならない。これは次の二つの方法によって実行できる。
2a. ノードBを示している任意のアドレスポインター(74)を切替え、それがノードCを示すことを見る。
2b. そのコネクションの為の少なくとも一つのATMセルが、コネクションの各出力(18)によって送信されたことを確認するのに充分な時間待つ。セル(14)が送信される度にある出力のアドレスポインター(74)は、その値を変える。アドレスポインター(74)が一旦値を変えると、それは決してノードBを再び示すことはないからである。なぜならノードBはもはやアドレスリンクリスト(72)の一部ではないからである。
【0065】
複数アドレス、複数ポートの利用例を示す。図22を参照すると、コネクションAのための3つのセルが記憶されている(3つのセルは、セルA1、A2、A3であって、セルのリンクリストを構成する)。各セルはセルポインター(20)を有しており、それは同一コネクションの次のセルを示す。最後のセルはコネクションAのための次の新しいセルを記憶すべき記憶位置を示す。各セルは、上記した如きポートフィールドのある形式を含んでおり、これはセルが占めている記憶スペースが他の目的に利用される以前に、どのポート(18)がセルを読み込まねばならないかということについて記録する
【0066】
セル書込みポインター(26)は、次の取り入れたセルを配置すべき記憶位置を示す。このコネクションの為にポート0は(ポート0のセル読込みポインター (16) で示される)セルA1を送信し、続いてセル2及びセル3を送信する。各セルは3回送信される。その1回は、(ポート0のアドレスポインター (74) で示される)VPI/VCIリストエントリーV1からのアドレスを用いており、次の送信はV2からのアドレスを用いており、そして次の送信はV3からのアドレスを用いている(V1、V2、V3は完全なアドレスリンクリストを構成する)。
【0067】
ポート1のセル読込みポインター(16)は、セルA2を示す。これはセルA1の送信がポート1について既に完了したことを意味する。ポート1は残りのセル(セルA2とA3)を送信する。各セルは2回送信される。その1回はV4からのアドレスを用いており、他の1回はV5からのアドレスを用いている。V4とV5はアドレスのリンクリスト(72)を構成する。説明の目的の為の上記実施例において、本発明を詳細に記載したが、そのような詳細な記載はひとえに上記目的の為であること、そして当該分野に於て通常の技術を有するものにとって、発明の精神と範囲から離れることなく、但し以下の請求の範囲の記載は別として、変更を加えることは可能であると理解すべきである。
【図面の簡単な説明】
【図1】 ATMネットワークにおけるマルチキャストシステムの図式的な説明である。リンクリストの説明も示されている。
【図2】 リンクリストの動的な流れを図式的に説明している。
【図3】 リンクリストの動的な流れを図式的に説明している。
【図4】 リンクリストの動的な流れを図式的に説明している。
【図5】 リンクリストの動的な流れを図式的に説明している。
【図6】 ATMネットワークにおけるマルチキャストシステムの図式的な説明である。
【図7】 接続情報メモリーの図式的な説明である。
【図8】 セルメモリーの図式的な説明である。
【図9】 セルメモリーの図式的な説明である。
【図10】 書込み用接続情報メモリーの図式的な説明である。
【図11】 読込み用接続情報メモリーの図式的な説明である。
【図12】 読込み用接続情報メモリーの図式的な説明である。
【図13】 書込み用接続情報メモリーの図式的な説明である。
【図14】 接続情報メモリーの図式的な説明である。
【図15】 読込み用接続情報メモリーの図式的な説明である。
【図16】 書込み用接続情報メモリーの図式的な説明である。
【図17】 接続情報メモリーの図式的な説明である。
【図18】 この発明をもとにした実装のブロックダイアグアムである。ATM上を流れるセルは単一のもしくは複数の出力ポートに向けた複数のVPI/VCIをもつマルチキャストである。
【図19】 接続ポインター情報の内容を示す。それぞれのコネクションのそれぞれの出力ポートに対して、ATMセルバッファーから現在読み込まれているセルを指し示すための読込み用セルポインターと、あるコネクションの出力ポートから次のセルの読みだし要求がきた時に利用されるVPI/VCIリストのエントリーを指し示すためのVPI/VCIリストへのポインターとが存在する。
【図20】 VPI/VCIリストの、あるエントリーの内容を示している。次のエントリーへのポインターは、次のセルを読み込む時に用いられるべき次のエントリー(すなわち次のVPI/VCI)を得る時に用いられる。最終コネクションビットがセットされている時には、新しいVPIと新しいVCIの双方を現在読み込み中のセルから取り込む必要があることを示す(もしこのビットがセットされていないとすると、VPIは既に取り込まれているが、新しいVCIが現在読み込み中のセルに取り込まれていないことを示す)。VPI/VCIリストの最終エントリーを示すビットがセットされて、このVPI/VCIエントリーがVPI/VCIリストの最後のエントリーであることを示している時には、このATMセルの複数のVPI/VCIに対するマルチキャストが終了したことを示す。
【図21】 ATMセルを複数のVPI/VCIに対してマルチキャストする途中に発生するステップの例を示す。
【図22】 複数のアドレスと複数のポートを含むATMセルを用いるためのマルチキャストシステムの図式的な説明を示す。
【符号の説明】
(10) リンクリスト
(12) ATMネットワーク
(14) 第1セル
(20) セルポインター
(28) マルチキャスト
(64) 第1ノード
(66) 第1アドレス
(68) ノードアドレスポインター
(70) 第2ノード
(71) 第2アドレス

Claims (20)

  1. 少なくとも第1ATMセルポインター機構(62) と、
    第1ATMセルポインター機構 (62) によって示されており、データを有している少なくとも第1ATMセル (14a) と、
    第1ATMセルポインター機構 (62) によって示されており、第1ATMセル(14a)の為の第1アドレス(66) 及びノードアドレスポインター(68)を有する第1ノード(64) と、
    第1ノード (64) のノードアドレスポインター (68) によって示されており、第1ATMセル(14a)の為の第2アドレス(71)を有する第2ノード(70) と、
    第1ATMセルポインター機構 (62) 、第1ノード (64) 及び第2ノード (70) と連結したコントローラ (300) を具えており、
    第1ノード (64) と第2ノード (70) はアドレスのリンクリスト (72) を構成しており、コントローラ (300) は、第1ATMセル (14a) をポート (18) から第1アドレス (66) に送信し、次に第2アドレス (71) へ送信するATMネットワーク(12)の為のマルチキャストシステム(100)
  2. 第1ATMセルポインター機構(62)は、第1セル(14a)を示している第1セル読込みポインター(16a)と、第1セル(14a)が送られるべきアドレスのリンクリスト(72)中のノードを示すアドレスポインター(74) を具えている請求項に記載のシステム(100)
  3. アドレスのリンクリスト(72)の各ノードは、新しいVPI情報、新しいVCI情報、最終コネクションを表示するビットと、アドレスのリンクリスト(72) 最終のエントリーであることを表示するビットとを具えている請求項に記載のシステム(100)
  4. 最終コネクションを表示するビットがノード設定され、アドレスポインター(74)がそのノードを示している場合、第1セル(14a)は、ノード中のVPI及びVCI情報を用いてコントローラ(300)によって送信され、それ以外の場合は、第1セル(14a)はノードVPI情報だけを用いて送信される請求項に記載のシステム(100)
  5. アドレスのリンクリスト(72)における最終エントリーであることがノードに設定された場合、第1セル(14a)が送信された後、第1セル読込みポインター(16a)コントローラ(300)によって第2ATMセル(14b)を示すようにされる請求項に記載のシステム(100)
  6. 第1ATMセル(14a)が送られるべき第1アドレス(66)を有する第1ノード(64)読込むステップと、
    第1ATMセル(14a)をポート(18)から第1アドレス(66)へ送信するステップと、
    第1ATMセル (14a) が送られるべき第2アドレス (71) を有する第2ノード (70) を読込むステップと
    第1ATMセル(14a)をポート(18)から第2アドレス(71)へ送信するステップとを行い、
    第2ノード (70) を読み込むステップの前に、第1ノード (64) に連繋しており、第2ノード (70) を示すノードアドレスポインター (74) を読み込むステップを行い、該第1及び第2ノード (64)(70) はアドレスのリンクリスト (72) を形成している、ATMセル(14)をマルチキャストする方法。
  7. 第1ノード(64)読み込むステップの前に、第1ATMセル(14a)を示す第1ATMセル読込みポインター(16a) を読み込むステップを有する請求項に記載の方法。
  8. 第1ノード(64)読み込むステップの以前に、第1ノード(64) を示すアドレスポインター(74)読み込むステップがある請求項に記載の方法。
  9. 送信するステップの前に、第1アドレス(66)が最終アドレスである場合、新しいVPIとVCIを第1ATMセル(14a)へ挿入するステップがある請求項に記載の方法。
  10. 送信するステップの前に、第1アドレス(66)が最終アドレスでない場合には、新しいVPIを第1ATMセル(14a)へ挿入するステップがある請求項に記載の方法。
  11. 第1ノード(64) に連繋したアドレスポインター(74) を読み込むステップの後、アドレスポインター(74)が第2ノード(70)を示すステップがある請求項10に記載の方法。
  12. 第1ATMセル(14a)を第2アドレス(71)へ送信するステップの後、第1ATMセル(14a)をアドレスのリンクリスト(72)中の追加ノードにある追加アドレスへ第1ポート(18a)から次々と送信し、ノードがアドレスのリンクリスト(72)中の最終エントリーに達するまで行い、ATMセル読込みポインター(16a)が第2ATMセルを示し、アドレスポインター(74)がアドレスのリンクリスト(72)の第1ノード(64)を示すステップがある請求項11に記載の方法。
  13. 第1セル読込みポインター(16a)が示している、第1ATMセル(14a)を読取るステップと
    第1ATMセル(14a)を第1ポート(18a)から第1アドレス(66)へ送信するステップと
    第1ATMセル(14a)を第1ポート(18a)から第2アドレス(71)へ送信すべきか否かを判断するステップと
    第1ノード (64) のノードアドレスポインター (68) は第2アドレス (71) を有する第2ノード (70) を示しており、第1ATMセル(14a)が第1ポート(18a)から第2アドレス(71)へ送信される場合、アドレスポインター(74)が示しており、第1アドレス(66)を有する第1ノード(64)のノードアドレスポインター(68)読み込むステップと
    第1ポート(18a)から任意のアドレスへの第1ATMセル (14a) 送信が完了する場合、第2ATMセル(14b)を示しているセルポインター(20)読み込むステップとを含んでいるATMセル(14)をマルチキャストする方法。
  14. 第1ATMセル(14a)はセルポインター(20)を具え、セルポインター(20)読み込むステップは、第2ATMセル(14b)を示している第1ATMセル(14a)のセルポインター(20)読み込むステップを含んでいる請求項13に記載の方法。
  15. セルポインター(20)読み込むステップの後、第2ATMセル(14b)読み込むステップがある、請求項14に記載の方法。
  16. ノードアドレスポインター(68)読み込むステップの後、第2ノード(70)の第2アドレス(71)読み込むステップがある請求項15に記載の方法。
  17. 第1ポート(18a)に関連した第1ATMセルポインター機構(62)と、
    第2ポート(18b)に関連した少なくとも第2ATMセルポインター機構(76)と、
    第1ATMセルポインター機構(62)と第2ATMセルポインター機構(76) によって示されている少なくとも第1ATMセル(14a)と、
    第1ATMセルポインター機構 (62) によって示されており、第1アドレス(66)とノードアドレスポインター(68) を有する第1ノード(64)
    第2アドレス(71)を有する第2ノード(70) とを具えており
    第1ノード(64)のノードアドレスポインター(68)は第2ノード(70)を示しており、第1及び第2ノード(64)(70) は、アドレスのリンクリスト(72)を構成しているATMネットワーク (12)の為のマルチキャストシステム(200)
  18. 第1ATMセル(14a)はセルポインター(20)を有しており、第2ATMセル(14b)を具えており、第2ATMセル(14b) を含んでおり、第1ATMセル(14a)のセルポインター(20) 第2ATMセル(14b)を示しており、第1ATMセル(14a)と第2ATMセル(14b)はATMセルのリンクリスト(72)構成している請求項17に記載のシステム(200)
  19. いつポインターが読み込まれるかと、ATMセル(14)がどのアドレスを用いて、いつポート (18) から送信されるかとを制御するコントローラ(250)を具え、該コントローラ(250) は、ノード、セル及びポインターと通じている請求項18に記載のシステム。
  20. ATMセルのリンクリスト(72)の最終ATMセル(14c)を示す書込みポインター(22)を有する請求項19に記載のシステム。
JP23426095A 1994-09-14 1995-09-12 Atmセルをマルチキャストする方法と装置 Expired - Lifetime JP3735396B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/305576 1994-09-14
US08/305,576 US5528588A (en) 1994-09-14 1994-09-14 Multicast shared memory
US08/330381 1994-10-27
US08/330,381 US5875189A (en) 1994-09-14 1994-10-27 Method and apparatus for multicast of ATM cells

Publications (2)

Publication Number Publication Date
JPH08214001A JPH08214001A (ja) 1996-08-20
JP3735396B2 true JP3735396B2 (ja) 2006-01-18

Family

ID=26974667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23426095A Expired - Lifetime JP3735396B2 (ja) 1994-09-14 1995-09-12 Atmセルをマルチキャストする方法と装置

Country Status (3)

Country Link
US (1) US6310879B2 (ja)
JP (1) JP3735396B2 (ja)
CA (1) CA2151180C (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178483B1 (en) * 1997-02-14 2001-01-23 Advanced Micro Devices, Inc. Method and apparatus for prefetching data read by PCI host
CA2239133C (en) * 1998-05-28 2007-08-28 Newbridge Networks Corporation Multicast methodology and apparatus for backpressure - based switching fabric
US7213061B1 (en) 1999-04-29 2007-05-01 Amx Llc Internet control system and method
US6801529B1 (en) * 1999-06-08 2004-10-05 Amx Corporation Method and system for sending messages to multiple locations in a control system
US6804239B1 (en) * 1999-08-17 2004-10-12 Mindspeed Technologies, Inc. Integrated circuit that processes communication packets with co-processor circuitry to correlate a packet stream with context information
US7164683B1 (en) * 1999-09-29 2007-01-16 Northrop Grumman Corporation Virtual path asynchronous transfer mode switching in a processing satellite communications system
US6822958B1 (en) * 2000-09-25 2004-11-23 Integrated Device Technology, Inc. Implementation of multicast in an ATM switch
US8688853B2 (en) * 2001-12-21 2014-04-01 Agere Systems Llc Method and apparatus for maintaining multicast lists in a data network
US7724738B2 (en) * 2003-06-19 2010-05-25 Hung-Hsiang Jonathan Chao Packet-level multicasting
US7852829B2 (en) * 2003-06-19 2010-12-14 Polytechnic University Packet reassembly and deadlock avoidance for use in a packet switch
US7894343B2 (en) * 2003-06-19 2011-02-22 Polytechnic University Packet sequence maintenance with load balancing, and head-of-line blocking avoidance in a switch
US7792118B2 (en) * 2003-06-19 2010-09-07 Polytechnic University Switch module memory structure and per-destination queue flow control for use in a switch
US7940764B2 (en) * 2004-08-12 2011-05-10 Intel Corporation Method and system for processing multicast packets
WO2007030421A2 (en) 2005-09-07 2007-03-15 Amx Llc Method and computer program for device configuration
US8477177B2 (en) * 2007-08-10 2013-07-02 Hewlett-Packard Development Company, L.P. Video conference system and method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5103444A (en) * 1990-04-12 1992-04-07 At&T Bell Laboratories Conference connection method in a multicast packet switching network
JP3168681B2 (ja) * 1992-04-22 2001-05-21 株式会社日立製作所 集線型ネットワークのデータ伝送方法およびシステム
JP3483900B2 (ja) * 1992-07-08 2004-01-06 株式会社日立製作所 同報通信方法
US5291477A (en) * 1992-08-10 1994-03-01 Bell Communications Research, Inc. Method and system for multicast routing in an ATM network
US5444702A (en) * 1992-09-14 1995-08-22 Network Equipment Technologies, Inc. Virtual network using asynchronous transfer mode
JP3250336B2 (ja) * 1993-08-31 2002-01-28 ヤマハ株式会社 カラオケシステムおよびカラオケ端末装置
US5416770A (en) * 1993-09-15 1995-05-16 Motorola, Inc. Method and apparatus for establishing dispatch audio communication in a communication system
US5469438A (en) * 1994-01-28 1995-11-21 At&T Ipm Corp. Method of transmitting signals in an extendible local area network
US5867653A (en) * 1996-04-18 1999-02-02 International Business Machines Corporation Method and apparatus for multi-cast based video conferencing
US5862329A (en) * 1996-04-18 1999-01-19 International Business Machines Corporation Method system and article of manufacture for multi-casting audio visual material
US5892767A (en) * 1997-03-11 1999-04-06 Selsius Systems Inc. Systems and method for multicasting a video stream and communications network employing the same

Also Published As

Publication number Publication date
CA2151180C (en) 2003-11-04
US20010014096A1 (en) 2001-08-16
US6310879B2 (en) 2001-10-30
CA2151180A1 (en) 1996-03-15
JPH08214001A (ja) 1996-08-20

Similar Documents

Publication Publication Date Title
US5875189A (en) Method and apparatus for multicast of ATM cells
JP3735396B2 (ja) Atmセルをマルチキャストする方法と装置
US5995511A (en) Digital network including mechanism for grouping virtual message transfer paths having similar transfer service rates to facilitate efficient scheduling of transfers thereover
US5561807A (en) Method and device of multicasting data in a communications system
JP4024904B2 (ja) データパケットを受け取りパケット交換回路に配信するデータユニット及びそのデータユニットを含む交換機
US6487202B1 (en) Method and apparatus for maximizing memory throughput
JP3109591B2 (ja) Atm交換機
US5825767A (en) ATM switch with input and output ports
US6822958B1 (en) Implementation of multicast in an ATM switch
JPH07321822A (ja) マルチキャスティング機能を備えた装置
JPH07321823A (ja) マルチキャスティング機能を備えた装置
JPH1127291A (ja) オンチップfifoのローカルメモリへの拡張のための方法及び装置
WO1991002420A1 (en) Communication switching element and method for transmitting variable length cells
JP2628701B2 (ja) 優先順位付き情報パケット用交換装置
US6185206B1 (en) ATM switch which counts multicast cell copies and uses a second memory for a decremented cell count value
US6584517B1 (en) Circuit and method for supporting multicast/broadcast operations in multi-queue storage devices
US20060165055A1 (en) Method and apparatus for managing the flow of data within a switching device
EP0710047B1 (en) Method and apparatus for multicast of ATM cells
JP3255113B2 (ja) パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体
JP3103298B2 (ja) Atmスイッチのアドレス生成回路
EP1499076A2 (en) Method and apparatus for multicast of ATM cells
EP0849973A2 (en) Switching system comprising distributed elements allowing attachment to line adapters, and having multicasting capabilities
JPH06284453A (ja) Atmセルスイッチ
JPH06224933A (ja) バッファメモリ装置
EP0870414B1 (en) Fifo storage and shared buffer switching device for connection networks in atm architectural and applications

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040830

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050823

TRDD Decision of grant or rejection written
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050823

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051024

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081028

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081028

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091028

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091028

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101028

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111028

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121028

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121028

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131028

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term