(57)【特許請求の範囲】
【請求項１】
持続ベースのネットワーク内のネットワーク交換機でカットスルー仮想接続マージングを行うための方法であって、
仮想接続上で送信可能な完全に受信されたパケットが有るか否かを決定するステップと、
前記仮想接続上で送信可能な完全に受信されたパケットが無い場合は、前記仮想接続上でカットスルー送信可能な部分的に受信されたパケットが有るか否かを決定するステップと、前記仮想接続上でカットスルー送信可能な部分的に受信されたパケットが少なくとも１つ有る場合は、前記少なくとも１つの部分的に受信されたパケットからカットスルー送信用の部分的に受信されたパケットを選択するステップと、
前記仮想接続上で前記部分的に受信されたパケットのカットスルー送信を開始するステップと、
前記カットスルーパケットの送信開始後の所定期間終了前に、カットスルー送信されているパケットに対するエンド・オブ・パケット信号が受信されない場合は、エンド・オブ・パケット（EOP）指示を生成し、そして前記仮想接続上に送信するステップと
を備えることを特徴とする方法。
【請求項２】
請求項１の方法において、
前記所定期間満了後の前記パケットの残りを無視するステップを更に備えることを特徴とする方法。
【請求項３】
請求項１の方法において、
前記開始するステップは、前記部分的に受信されたパケットの送信開始時にプリセットされる満了期間を有したタイマを始動するステップを更に備え、
前記生成するステップは、前記タイマの満了期間の満了前にカットスルー送信されているパケットに対するエンド・オブ・パケット信号が受信されない場合は、エンド・オブ・パケットの指示を送信するステップを更に備えることを特徴とする方法。
【請求項４】
請求項１の方法において、
前記選択するステップは、カットスルー送信に適し且つパケット・スケジューラによって検出された第１の部分的に受信されたカットスルー送信用のパケットを選択するステップを備えることを特徴とする方法。
【請求項５】
請求項４の方法において、
前記選択するステップは、ラウンド・ロビン・シーケンスにおいてパケットのカットスルー適格性をテストし、そしてカットスルー送信に適した前記ラウンド・ロビン・シーケンスにおいて検出された第１の部分的に受信されたパケットを選択するステップを更に備えることを特徴とする方法。
【請求項６】
請求項１の方法において、
前記選択するステップは、カットスルー送信に適した各パケットにタイマ値を関連付け、そして最小タイマ値を有するカットスルー送信用のパケットを選択するステップを更に備えることを特徴とする方法。
【請求項７】
請求項１の方法において、
カットスルー送信に適した各パケットに対しで受信されたセルのセルカウントを維持するステップと、カットスルー送信に適したパケットから、最大セルカウントを有するカットスルー送信用のパケットを選択するステップとを更に備えることを特徴とする方法。
【請求項８】
請求項１の方法において、
コール・セットアップで複数の接続識別子または対応するVPI/VCIアドレスに関連した入り側接続を割り当てるステップと、コール・セットアップで単一の出側仮想接続を特定するグループ識別子を有する複数の接続識別子に、前記複数の接続識別子の１つに関連したVPI/VCIアドレスを有する受信されたパケットを関連付けるステップとを更に備え、
カットスルー送信マージング用に選択された前記パケットは、前記グループ識別子に関連したパケットから選択されることを特徴とする方法。
【請求項９】
ネットワーク交換機の出力ポートから仮想接続上に送信するための接続ベースのネットワーク内の前記ネットワーク交換機によって受信されたパケットをマージングするためのパケット・スケジューリング装置であって、
複数の接続識別子のそれぞれが、単一の仮想接続上でマージされるパケットを識別するグループ識別子に関連している場合の、対応する前記複数の接続識別子に関連したパケットを前記ネットワーク交換機内に格納するための複数のセルバッファと、
所定期間の動作の後に満了信号を生成するように動作するタイマと、
スケジューラとを備え、
前記スケジューラは、完全に組み立てられたパケットが送信可能である場合に、前記複数のセルバッファの１つの中に受信された完全に組み立てられたパケットを前記仮想接続上に送信予定するように動作し、
前記スケジューラは更に、完全に組み立てられた送信可能なパケットが無い場合は、前記複数のセルバッファの１つの中に格納された部分的に受信されたパケットの送信を開始し、そして前記部分的に受信されたパケットの送信開始時に前記タイマを始動させるように動作し、
前記スケジューラは更に、前記セルバッファのそれぞれ１つを伴う前記部分的に受信されたパケットの受信完了前に、前記スケジューラがタイムアウト信号を検出した場合は、エンド・オブ・パケット信号を生成して送信するように動作することを特徴とする装置。
【請求項１０】
請求項９のパケット・スケジューリング装置において、
前記スケジューラは更に、前記部分的に受信されたパケットの受信完了前に前記スケジューラがタイムアウト信号を検出した場合は、前記タイムアウト信号を検出した後の前記部分的に受信されたパケットの残りを無視するように動作することを特徴とする装置。
【請求項１１】
請求項９のパケット・スケジューリング装置において、
前記グループ識別子に関連した各接続識別子に関連したそれぞれのセルバッファ内に、タイマ値が格納され、そして
前記タイマの所定期間は、それぞれのパケット用の接続識別子に基づいて選択されることを特徴とする装置。
【請求項１２】
請求項９のパケット・スケジューリング装置において、
前記タイマの所定期間は、グループ識別子に基づいて選択されることを特徴とする装置。
【請求項１３】
請求項９のパケット・スケジューリング装置において、
前記グループ識別子に関連した各接続識別子に関連したセルバッファ内に、タイマ値テーブル中に格納されたタイマ値に対するポインタが格納され、そして
前記タイマの所定期間は、前記タイマ値テーブル内の特定の値に基づいて選択されることを特徴とする装置。
【請求項１４】
請求項９のパケット・スケジューリング装置において、
前記部分的に受信されたパケットは、それぞれのセルバッファ内に格納された少なくとも１つのセルであることを特徴とする装置。
【請求項１５】
請求項14のパケット・スケジューリング装置において、
前記少なくとも１つのセルは、少なくとも１つの非同期伝送モードセルであることを特徴とする装置。
【請求項１６】
請求項９のパケット・スケジューリング装置において、
前記スケジューラは、検出され、そして前記仮想接続上の送信に適した第１の部分的に受信されたパケットを選択するように動作することを特徴とする装置。
【請求項１７】
請求項16のパケット・スケジューリング装置において、
前記スケジューラは、ラウンド・ロビン・シーケンスでの送信に適した部分的に受信されたパケットを識別するために、前記グループ識別子に関連した前記セルバッファをテストするように動作することを特徴とする装置。
【請求項１８】
請求項９のパケット・スケジューリング装置において、
タイマ値は、各接続識別子に関連付けられ、そして前記タイマの所定期間を特定するために使用され、
前記スケジューラは、前記グループ識別子に関連した完全に受信された送信可能なパケットが無い場合は、最小のタイマ値に関連した部分的に受信されたパケットを送信用に選択するように動作することを特徴とする装置。
【請求項１９】
請求項９のパケット・スケジューリング装置において、
セルバッファ内に格納されたセルの数を識別するセルカウントは、前記グループ識別子に関連した各セルバッファに対して維持され、そして
前記スケジューラは、前記グループ識別子に関連した完全に受信された送信可能なパケットが無い場合は、最大のセルカウントに関連した部分的に受信されたパケットを送信用に選択するように動作することを特徴とする装置。
【発明の詳細な説明】
関連出願との相互参照
適用しない
連邦補助研究または開発に関する表明
適用しない
発明の背景
この発明は、通信ネットワークに関し、特に接続ベースのネットワークにおいて仮想回線マージング（併合）を実施するための方法及び装置に関する。
接続ベースのネットワーク、例えば非同期伝送モード（ATM）ネットワークでは、パケットは仮想接続または回線上を送信される。仮想回線は、パケット発信元とパケット宛先との間のコール・セットアップによって確立される。ATM環境では、仮想接続は、ATMセルヘッダ内の仮想パス識別子（VPI）フィールドと仮想接続識別子（VCI）フィールドとによって定義される。
ATMネットワークは接続指向であるため、インターネット・プロトコル（IP）に基づくような無接続トラフィックを伝送することは問題となる。そのような情報をATMネットワーク内でルーティングするための方法は幾つかある。最も簡単なマッピングの形態は、発信元および宛先の各対に対し、ネットワーク交換機（スイッチ）において独特な仮想回線を割当てることである。しかしながら、この技術は、各交換機における接続または仮想回線を繁殖させ、各ネットワーク交換機内の接続識別子参照テーブル用に大きなバッファが必要となる。加えて、そのような割当技術は、膨大な接続セットアップ要求と切断要求を処理する必要性の結果、計算が集中的になる。
発信元・宛先の各対に対する独特な接続を確立する必要性を最小化するために、種々の技術が提案されている。仮想パス・マージングとして知られる１つの技術では、パケットの宛先を識別するために仮想パス（VPI）のアドレスラベルが使用され、そして同じ宛先に転送される全てのパケットは同じVPIを使用する。仮想接続識別子は、パケット発信元を識別するために使用される。このようにして、VPマージングを使用するネットワークでは、単一の仮想パス上で到来したセルを受信することによって発信元を識別でき、そしてセルがインターリーブされていてもパケットを再構築できる。しかしながら、この技術は大きな制限を有する。ATMセルヘッダ中の仮想パス識別子フィールドは、ネットワークとネットワークのインターフェースにおいては12ビットのフィールドであるから、4096の仮想パスだけしか支持されない。宛先毎に単一の仮想パスを割当てると、仮想パスに関連した接続の数に関係なく、ネットワークによって支持され得る宛先を制限する欠点がある。このように、VPマージングは典型的に仮想接続割当を無駄にする。
仮想接続マージングは、同じ宛先アドレスに向けて送られる全てのパケットを、同じVPI/VCIアドレス上で転送する技術である。異なる発信元からのパケットを宛先が首尾よく記述するために、パケットを構成するセルは仮想接続上でインターリーブされてはならない。従って、パケットは典型的には、交換機内の出側の入出力（I/O）モジュール上のバッファ中で組み立てられ、そしてエンド・オブ・パケット（EOP）指示が受信されるまで送信予定されない。パケットを構成する全てのセルが出側I/Oモジュールのバッファ内で組み立てられ、そしてEOPが受信された後にだけ、そのパケットはそれぞれの仮想接続上で送信予定される。
上述したVCマージング技術は、異なるパケットからのセルのインターリーブによって引き起こされる問題を回避する一方で、いくつかの欠点を有している。第１は、蓄積転送形態の送信に先行して全てのパケットを完全にバッファに蓄積する必要性と、パケットが可変サイズであるという事実の結果として、再組立バッファは非常に大きくなる必要がある。加えて、発信元と宛先の間の中間的な各ネットワーク・ノードでパケットが再組立されなければならないので、望ましくない遅延が発生する。パケットが再組立される毎に、追加的な遅延が導入される。
従って、従来のVCマージング技術に関連した前述した問題点を最小にしながら、仮想接続（VC）マージングを実施できることが望ましい。
発明の簡単な要約
ネットワーク交換機の出側ポートにおいて仮想回線マージングを実施するための方法及び装置が開示される。異なるパケットに属するセルは、ネットワーク交換機の入り側ポートに到来する独特の接続識別子（CID）に関連付けられる。各VPI/VCIアドレス用の接続識別子（CID）は、コール・セットアップの管理機能としてネットワーク交換機内に割り当てられる。単一の仮想回線上でマージ（併合）されるパケットを識別するCIDの識別は、交換機内の単一のグループ識別子（GID）と関連付けられる。GIDに関連したパケットが完全に受信された場合は、それは送信予定され、そしてそのパケットの送信が開始される。GIDに関連したパケットがいずれも完全に組立されない場合は、部分的に受信されたパケットが所定の選択技術に従って識別され、そしてネットワーク交換機から、選択されたパケットのカットスルー送信が、そのパケットの受信及び再組立を完了する前に、開始される。部分的に受信されたパケットの送信が開始されたときに、タイマが始動される。送信中のパケットに対するエンド・オブ・パケット（EOP）インジケータの受信に先行してタイマがタイムアウトした場合は、EOPインジケータは出力ポートからマージされた接続上に送信され、そして到来したパケットの残りは無視される。
図面の複数の図の簡単な説明
本発明は、図面の複数の図と共に後続の発明の詳細な説明を参照することによって更に完全に理解される。図面において、
図１は、本発明によるネットワーク交換機のブロック図、
図２は、本発明によるI/Oモジュールの出側部分のブロック図、
図2aは、ここに開示された仮想接続マージング技術に選択的に使用されるタイマ値テーブル、
図３は、本発明による仮想回線方法を示すフローチャートである。
発明の詳細な説明
ネットワーク交換機内で仮想回線マージングを行うための改良された方法及び装置が開示される。これは、蓄積転送式仮想回転マージング技術に固有の遅延を最小化し、またより小さい再組立セルバッファを使用する能力を追加的に提供する。
図１を参照すると、カットスルー仮想回転マージングを行う能力を組み込んだ本発明によるネットワーク交換機10が図示されている。このネットワーク交換機は、１またはそれ以上の（ここでは14a,14b,...14nで識別されている）入り側通信リンク14からパケットを受信するための複数の（ここでは12a,12b,...12nとして識別されている）入力または入り側ポート12と、パケットを出力ポートのそれぞれから１またはそれ以上の（ここでは18a,18b,...18nとして識別されている）出側リンク18に送信するための複数の（ここでは16a,16b,...16nとして識別されている）出力または出側ポート16とを備える。これら出側リンクは、それぞれの出力ポート16に接続されている。１つのパケットは、１またはそれ以上のセル、例えばATMセルを有する。パケットの終了は、エンド・オブ・パケット（EOP）インジケータによって示される。交換網20は、従来から知られた転送技術に従って、入力ポートで受信したセルを１またはそれ以上の出力ポートに転送するように動作する。
各セルは、入力ポートで受信されると、セルのルーティングを特定するためにネットワーク交換機10内で使用される接続識別子（CID）と関連付けられる。典型的には、CIDは、そのCIDをそれぞれのセルに対して配置するために、VPI/VCIアドレスまたはその一部をテーブル参照することによって、セルの受信時にATMネットワーク交換機内で生成される。そのセルが、１より多いポートから、または単一のポートに接続された複数のリンク（図示せず）から送信するためのマルチキャストまたはブロードキャストセルである場合は、マルチキャスト識別子（MID）が、そのセルをマルチキャストまたはブロードキャストセルとして識別するために、ネットワーク交換機内で受信時にそのセルに関連付けられる。簡素化のために、MIDはここではCIDの一形態と考えられる。
出力ポート16a−16nは、仮想接続毎に送信するセルを一時格納するためのセルバッファ22a−22nを有する。出力ポート０用のセルバッファ22aは、それぞれが出力ポート０を使用するコール・セットアップに割り当てられた各仮想接続用の複数のセルバッファを含む。出力ポート16a−16nは、ここで述べられたように同じVPI/VCIアドレスを有する仮想接続のカットスルー・マージングを制御するためのカットスルー制御及び支持論理部17a,17b,...17nを更に備える。
上述したように、仮想接続（VC）マージングは、同じVPI/VCIアドレスを有し、そして１またはそれ以上の入力ポート上で受信されるパケットの、単一の仮想接続上のネットワーク交換機10の出力ポートからの送信を意味する。例えば、VPI/VCIアドレスとしてVPI＝3/VCI＝32を有する第１のパケットを構成するセルは、入力ポート０で受信されるものと仮定する。第１の接続識別子（CID＝Ａ）は、入力ポート０で第１のパケットのセルと関連付けられる。更に、第２のパケットはVPI/VCIアドレスとしてVPI＝3/VCI＝32を有する入力ポート１で受信されるものと仮定する。第２の接続識別子（CID＝Ｂ）は、入力ポート１で第２のパケットのセルと関連付けられる。セルは、交換網20を経由して１またはそれ以上の出力ポート16に転送され、そして仮想接続毎にセルバッファ22内に格納される。このようにして、１つのセルバッファは、それぞれの出力ポート16によって支持された各仮想接続に対して割当られる。同じVPI/VCIアドレスを有する第１及び第２のパケットは、共通のグループ識別子（GID）に関連付けて、単一の仮想接続上を送信するようにマージすることができる。
カットスルーVCマージングを実行するために使用される出力ポート16内の部品を図示したブロック図が図２により詳細に示されている。図２を参照すると、出力ポート16は交換網20からセルを受信する。各セルは、ネットワーク交換機内でセルのルーティングを決定するために使用される、関連した接続識別子（CID）を有する。出力ポート16で受信された各セルはセルバッファ40内にストアされる。それぞれの仮想接続用のセルバッファは、図２ではセルバッファ40a,40b,...40nとして識別されている。このようにして、セルは、出力ポート内のセルバッファ中に仮想接続毎にストアされる。セルに関連する接続識別子は、それぞれのセルが格納されているセルバッファを識別するために使用される。
異なるパケット（異なる発信元からの）に属するセルは、それぞれの出力ポートに対して局部的に独特なCID宛先を有する出力ポートに到着する。バッファメモリ41が各出力ポートに設けられている。このバッファメモリ41は、パケット受信および再組立用のセルバッファ、例えばバッファ40a,40b,...40nと、後に説明される仮想回線マージングを支持するために使用される追加的なフィールドとを包含する。このバッファメモリは、本発明の一実施例では、CIDsによって索引付けされる。CIDsのそれぞれに対して、コール・セットアップ時に、外行きの仮想接続上でマージされる全てのCIDsに対して独特のグループ識別子（GID）が割り当てられ、CIDに関連したGIDはバッファメモリ41内に格納される。別の言い方をすれば、単一の出発仮想接続上でマージされる到着パケットに対応したCIDには、共通のGIDが割り当てられる。このようにして、例示された実施例に図示されたように、バッファメモリ41内に含まれた最初の３つのCIDは全て共通のGIDを有し、かくしてそれぞれの出力ポートから単一の出発仮想接続上にマージされる。同じGIDに関連付けられたパケットは、同じ仮想接続上にマージされることを意味し、従ってそれぞれのパケットのセルはインターリーブされる必要がない。
図２を参照すると、出力ポート16で受信されたセルは、それぞれのセル用のCIDに関連した適切なセルバッファ40内に格納される。そのセルが、共通グループID（GID）を有する複数のCIDの１つである場合は、そのGID識別子もまたバッファメモリ41内のセルバッファに関連してストアされる。
第１のフラグ（Ｆ）はまた、完全なパケットが受信され、そしてそれぞれのセルバッファに格納されたか否かを示すセルバッファに関連付けられてストアされる。エンド・オブ・パケット（EOP）検出器44は、到来するセルを監視し、EOPが検出された時にカットスルー制御論理部46に信号を送る。この制御論理部46は、完全なパケットが受信されていることを示す対応CIDに対して、Ｆフラグが設定されるようにする。特に、後述するようにカットスルー経由でパケットの送信が開始されておらず、そしてEOP条件がEOP検出器44によって検出されている場合は、完全なパケットがそれぞれのセルバッファ40に格納されていることを示すために、Ｆフラグはカットスルー制御論理部によって設定される。カットスルー制御論理部46はまた、完全に組み立てられたパケットをそれぞれの出側通信リンク18上に送信する予定を組む送信スケジューラ48に接続されている。
第２のフラグ（Ｐ）もまた、各CID用のセルバッファに関連してバッファメモリ41にストアされる。このＰフラグは、パケットが部分的に受信されたか否かを、そして特にパケットの少なくとも１つのセルがそれぞれの仮想接続用のセルバッファ内に格納されているか否かを指示する。
バッファメモリ41は、後述するタイムアウト・タイマの値を特定するために使用される各CIDに関連したタイマ識別子（タイマID）を選択的に含むことができる。使用されている場合には、タイマIDはコール・セットアップで特定され、またシステムの動作中に動的に修正される。
このバッファメモリはまた、各CIDに関連して格納されたセルカウントを選択的に含むことができる。このセルカウントは、受信されそして再組立セルバッファ40a,40b,...40nのそれぞれに格納されているそれぞれのパケットのセルの数の指示を有する。このセルカウントは、一般に到来するパケットについて受信されたセルを計数するカウンタ45によって生成される。このセルカウンタ45の出力は、そのカウント（計数値）をバッファメモリ41内の適切な位置にロードするカットスルー制御論理部46に接続される。
仮想回路マージングを支持する従来のネットワーク交換機では、スケジューラは、完全に受信され、そして出力ポートのセルバッファ内に再組立されたパケットの送信予定を組むだけである。この手法では、完全なパケットが、他のパケットのセルとインターリーブされることなく確実に送信される。前述したように、そのようなことは極めて好ましくない。何故ならば、部分的に受信され、そしてセルバッファ40にストアされているパケットのその部分の送信は、そのパケットが完全に受信されるまで延期されるからである。
ここに開示されている送信スケジューラは、完全に組み立てられた送信可能なパケットの識別をスケジューラ・キュー50内にストアする。完全に組み立てられた送信可能なパケットがある限り、送信スケジューラは、そのようなパケットが出側通信リンク18上を下流に送信されるようにする。
しかしながら、本発明のスケジューラは、完全に再組立された送信可能なパケットがない場合に、パケットが完全に受信されるまで待たない点で従来のスケジューラとは異なる。特に、送信スケジューラは先ず、完全に再組立された送信可能なパケットが有るか否かを決定し、そしてそのようなパケットの送信予定を立てる。このことは、送信用に識別されたパケットがスケジューラ・キュー50内に有るか否かを確認することによって、そして各仮想接続バッファに関連したＦフラグのいずれかがそれぞれGID用に設定されているとを決定するためにそのフラグをテストすることによって決定される。送信が予定された完全に組み立てられたパケットがなく、そして完全に組み立てられたパケットがバッファメモリ中に無い場合、即ちバッファメモリ内でＦフラグが全く設定されていない場合は、そのような条件の指示が送信スケジューラ48によってカットスルー制御論理部46に対し与えられる。このカットスルー制御論理部は、それから部分的に受信されたパケットが有るか否かを決定するために、それぞれの仮想接続用のＰフラグをテストする。完全に組み立てられた送信可能なパケットは無いが、部分的に受信された少なくとも１つのパケットがセルバッファ41内に有る場合は、部分的に受信されたパケットがカットスルー送信用に選択される。カットスルー送信は、部分的に受信されたパケットの出力ポートからの送信が、パケット全体が受信され、そしてバッファメモリ41のそれぞれのセルバッファ40内に格納される前に開始されることを意味する。
部分的に受信された２以上のパケットがバッファメモリ内にストアされ、そして同じGIDに関連付けられている場合は、所定の選択技術によって１つのパケットが送信用に選択される。例えば、１つの実施例では、有効CIDに関連し、カットスルー論理部によって検出された、最初に部分的に受信されたパケットは、例えばラウンド・ロビン・スケジューラの使用によって送信用に選択され得る。他の１つの実施例では、カウントは各仮想接続用のバッファに格納されたセルの数を維持し、またバッファセルの最大数を有する部分的に受信されたパケットが送信用に選択される。上述したセルカウントは、バッファメモリ41内のセルカウント・フィールド中に保持される。他の１つの実施例では、タイムアウト・タイマ値は各仮想接続に対して識別され、そして完全に組み立てられた追加的なパケットが送信可能であると決定されるべきスケジューラに対する衝撃を最小化するために、パケットは最小のタイマ値で選択される。このタイムアウト・タイマ値は、バッファメモリ内のタイマIDファールド内に実際に格納されるか、あるいは図2aに示すように、そのタイマIDフィールドがタイマ値選択テーブル54へのインデックスを格納するために使用されうる。タイムアウト・タイマの使用は、以下でより詳細に説明する。部分的に組み立てられたパケットを送信用に選択するための如何なる適切な選択技術でも使用できる。
部分的に組み立てられたパケットが送信用に選択されると、そのパケットの送信はカットスルー制御論理部46によって開始される。部分的に組み立てられたパケットの送信が開始された時に、タイムアウト・タイマ52が始動される。タイムアウト期間の長さは、各CID用に、または各GID用に特定される。特に、タイマ値は、バッファメモリ41内のそれぞれのCID用のタイマIDフィールドによって特定された特別なCIDまたはGIDに対し選択された値をロードされる。このようにして、それぞれの接続に関連したトラフィックのタイプに基づいて、タイムアウト値は特定される。タイムアウト値がタイマ識別子フィールドに基づいて選択される場合は、パケットの送信及びタイムアウト・タイマの始動に先行して、タイマ52はタイマ・タイムアウト値をロードされうる。このタイマ・タイムアウト値は、図2aに示すタイマ値テーブル54または他の好適なデータ構造中に格納される。
上流輻輳の場合またはカットスルー送信を開始したパケットの残りを受信することに失敗した場合に、カットスルーパケットの送信開始が許容され得ない遅延を導入したり、あるいはスケジューラをハングアップする可能性を回避するために、カットスルー制御論理部46はタイムアウト・タイマ52とEOP検出器44を監視する。タイムアウト・タイマの満了前に、EOP検出器がカットスルー用にEOPを検出したことを、カットスルー制御論理部が決定した場合は、タイマはリセットされ、そして完全に組み立てられた送信可能なパケットが有ることを決定するために、制御は送信スケジューラに移行される。この代わりに、カットスルー制御論理部46が各カットスルーパケット用のEOP信号の検出前にタイムアウト・タイマの満了を検出した場合は、カットスルー制御論理部46は、カットスルーパケットの送信を止め、そしてEPO発生器56に出側通信リンク18上で送信するためのEOP信号を生成させてもよい。パケットの送信停止およびEOP信号の挿入に続いて受信されたカットスルーパケットの残りは無視され、そしてEOP信号を受信してもＦフラグは設定されない。同様に、Ｐフラグは設定されず、そして制御論理部46およびスケジューラ48が、失敗したカットスルー送信に後続するセルの残りの受信に不適切に応答しないことを確実にするために、セルカウントはクリアされる。それから上述したように、完全に組み立てられた送信可能なパケットが有るか否かを決定するために、制御は送信スケジューラに移行される。
ここに開示されているカットスルー仮想回線マージングの動作方法が、図３に更に示されている。ステップ100に示されているように、パケットの一部を構成するセルを出力ポートで受信すると、そのセルはそれぞれのCID用のセルバッファにストアされる。判断ステップ102に示されているように、それぞれのGIDに対して完全に組み立てられた送信可能なパケットが有るか否かという質問がなされる。１以上の完全に組み立てられた送信可能なパケットが有る場合は、そのパケットはスケジューラ・キュー50内で識別される。完全に組み立てられた送信可能なパケットが無い場合は、ステップ106に示されるように、それぞれのGIDに対して部分的に受信されたパケットが有るか否かという質問がなされる。
部分的に受信された送信可能なパケットが無く、且つ完全に組み立てられた送信可能なパケットが無い場合は、制御はステップ100に戻り、処理は継続される。質問ステップ106を経由して決定されたように、部分的に受信された送信可能なパケットが有る場合は、ステップ108に示された所定の選択基準に従って、部分的に受信されたパケットの１つがカットスルー送信用に選択される。選択されたパケットのカットスルー送信はステップ110に示されたように開始され、そして所定のタイムアウト値または上述したように選択されたもののいずれかを使用してタイムアウト・タイマが始動される。EOP検出器がタイムアウト・タイマ52の満了前にカットスルーパケット用のEOPの到来を検出した場合は、バッファメモリ41内のフィールドは、ＰおよびＦフラグをクリアするために、セルカウント（使用されていれば）をクリアするために更新され、そして制御はステップ100に戻る。EOP検出器がタイムアウト・タイマ52の満了前にカットスルーパケット用のEOPの到来を検出しなかった場合は、カットスルー制御論理部46はパケットのカットスルー送信に失敗し、そしてステップ114に示すように、EOP発生器に対して出側通信リンク上にEOP信号を送信するように信号を送る。ステップ116に示すように、カットスルーパケットの残りは無視され、そしてＦ、Ｐおよびセルカウント（使用されていれば）はクリアされ、制御はステップ100に戻る。特に、カットスルー制御論理部46は、パケットの残りが受信されたときにメモリから消去されるように、そのCIDにマークする。
上述した手法では、単一の仮想接続上でマージされたパケットがインターリーブされるないことを確実にする一方で、パケット送信遅延は最小化され、セルを一時蓄積する必要性は減少される。加えて、カットスルーパケットの残りの受信を遅延させる上流輻輳の場合に、あるいは上流ネットワーク装置によって、または上流送信障害の結果としてパケット送信が失敗したためにパケットの残りが受信されない場合に、過度の遅延は導入されない。
説明の便宜上、カットスルー制御論理部は送信スケジューラから分離して示されているが、ここに記述されたカットスルー機能に関連した制御論理はスケジューラ48内に組込まれ得ることが認められるべきである。
加えて、GIDの優先化は、種々のマージされた仮想接続のそれぞれのユーザに対するサービスの適切な質を確実にするために使用されうることが認められるべきである。
ここに開示されたカットスルー仮想回線マージングを実行するための方法及び装置の他の修正及び変形は、ここに開示された本発明の発明概念を離れることなく使用されうることは当業者にとって明らかである。従って、本発明は、添付された請求の範囲の精神と範囲による以外は限定されるものではない、とみなされるべきである。
【図２ａ】
0003562769.tif 000002
【図１】
0003562769.tif 000003
【図２】
0003562769.tif 000004
【図３】
0003562769.tif 000005