JP2006262517A - ネットワークキングシステム - Google Patents

ネットワークキングシステム Download PDF

Info

Publication number
JP2006262517A
JP2006262517A JP2006141120A JP2006141120A JP2006262517A JP 2006262517 A JP2006262517 A JP 2006262517A JP 2006141120 A JP2006141120 A JP 2006141120A JP 2006141120 A JP2006141120 A JP 2006141120A JP 2006262517 A JP2006262517 A JP 2006262517A
Authority
JP
Japan
Prior art keywords
packet
queue
cell
bandwidth
switch
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.)
Pending
Application number
JP2006141120A
Other languages
English (en)
Inventor
Zbigniew Opalka
オパルカ,ズビグニュー
Vijay Aggarwal
アガーワル,ビジャイ
Thomas Kong
コング,トーマス
Christopher Firth
ファース,クリストファー
Carl Costantino
コンスタンティノ,カール
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.)
Nexabit Networks Inc
Original Assignee
Nexabit Networks 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
Application filed by Nexabit Networks Inc filed Critical Nexabit Networks Inc
Publication of JP2006262517A publication Critical patent/JP2006262517A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/606Hybrid ATM switches, e.g. ATM&STM, ATM&Frame Relay or ATM&IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Abstract

【課題】ネットワークシステムにおいて、セル交換を妨害することなくフレーム交換を処理する交換器を提供する。
【解決手段】共通の交換装置を介してセル及びパケットまたはフレームのいずれも転送するための新規なネットワーキングアーキテクチャ及び技法を開示する。このアーキテクチャ及び技法は、転送エンジン(入力側)用のアルゴリズムの組と、ATM交換の正常な動作に影響を与えることなく、及び、前記交換装置を介して転送するためにパケットをセルに変更することなくパケット/セル情報を処理するために各I/Oモジュールに提供されるQoS管理(出力部)用のアルゴリズムの組、とを使用することにより、少なくとも部分的に実行される。
【選択図】図4

Description

本発明は、ネットワークシステムと、ネットワークシステムへの情報の転送及びルーティングに関連し、詳しくは、共通のハードウエア、共通のQoS(Quality of Service:サービス品質)アルゴリズム、共通の転送アルゴリズムを有する同じ装置における、セル、及び、パケットまたはフレームの両方の交換を管理することに関する共通の問題に焦点をあてたものである。すなわち、本発明は、セル交換を妨害することなく、フレーム交換を処理する交換器を構築することに関連する。
ネットワークキングソリューションに向けた2つのアーキテクチャに、セル交換とフレーム転送がある。セル交換には、セルと呼ばれる固定サイズの単位でデータを伝送することが含まれる。これは、非同期転送モード(ATM)と呼ばれる技術に基づいている。フレーム転送は、フレームまたはパケットと呼ばれる任意サイズの単位でデータを伝送する。フレーム転送の原理は、種々のプロトコルによって使用されるが、最も注目すべきは、インターネットプロトコル(IP)群である。
本発明は、共通の転送アルゴリズムを使用する共通のシステムにおけるセル及びフレームの転送に関する。1995年12月29日に出願された、「High Performance Universal Multi-Ported Internally Cached Dynamic Random Access Memory System」と題する同時係属中の米国特許出願第581,467号、及び、1997年7月25日に出願された、「System Architecture for and Method of Dual Path Data Processing and Management of Packets and/or Cells」と題する同時係属中の米国特許出願第900,757号等(これらはいずれも、本出願と共に共通の譲受人に譲渡されている)は、共通のセル/フレーム転送に対する有望なソリューションを提供するものである。
最も伝統的はインターネット型ホスト間データ通信は、ルーターと呼ばれるパケット交換器を使用して(交換器の集合体として定義される)ネットワークにより相互接続される、種々のサイズのパケット形態で実行される。最近、ATMが、ホスト間のデータ通信技術として広く利用可能になってきたが、それは、従来の電話通信用データだけでなくコンピュータ間通信用のデータをも送信するための共通の方法を提供すべく開発されてきたものである。
従来使用されてきた方法は、各回線に対して1チャンネルに一定時間を割り当てる時分割多重方式(TDM)を電話通信用データに適用したものであった。図3を参照して後述するように、例えば、回線Aに、時間x(従って、データ)を割り当て、続いて、時間y、z、そして再びxを割り当てることができる。従って、各回線は、完全に同期する。しかしながら、ほの方法には、使用帯域幅について本質的な制限がある。なぜなら、回線がなにも送信しない場合には、それに割り当てられた帯域はライン上で使用されないからである。ATMは、回路の非同期動作を可能にすることによってこの帯域幅の問題に対処している。帯域はさらに固定長のデータ項目間で分割されるが、任意の回線は、任意の時点で送信を行うことができる。
ITU-T(International Telecommunications Union-Telecommunications、正式にはCCITT)は、以下の4つのサービスクラスについて規定された電気通信標準を提供するために国際連合によって設立された組織である。その4つとは、1)回線エミュレーション用の固定ビットレート、すなわち、固定レートの音声及びビデオ、2)所定の音声及びビデオアプリケーション用の可変ビットレート、3)コネクション−オリエンテッド・トラフィック用データ、及び4)コネクションレス−オリエンテッド・トラフィック用データ、である。これらのサービスは、ATMトラフィックの所定の「クラス」によってもサポートされている。ATMは、セルと呼ばれる固定サイズの単位でデータを転送する。ATMの「タイプ」にはいくつかの種類があり、それらは、ATMアダプテーションレイヤ(AAL)と呼ばれている。これらのATMアダプテーションレイヤは、ITU-T勧告I.363に規定されている。AAL1、AAL3/4、及びAAL5の3つタイプが規定されている。AAL2は、ITU-T勧告には規定されておらず、AAL3とAAL4は、1つのタイプにまとめられている。ATMのセル構造に関しては、あるレイヤに属するセルを、他のレイヤに属するセルと対照するものとして識別する方法はない。
アダプテーションレイヤは、回線セットアップの間、すなわち、ホストコンピュータがネットワークに通信をおこなうときに決定される。このとき、ホストコンピュータは、それが特定の仮想回線用に使用することになるレイヤをネットワークに知らせる。AAL1は、音声やビデオなどのリアルタイムアプリケーションに使用するために規定されている。一方、AAL5は、IPデータグラムの転送のような従来のデータグラム志向のサービスに使用するために規定されている。一連のAAL5セルが、パケットを構成するために定義される。AAL5パケットの定義は、(図1を参照して後述するように)最後の1つを除いて、PT1ビットが0に設定されたセルのストリームから成る。これは、セグメントパケットと呼ばれる。
従って、現在のネットワークキング技術では、データは、ネットワークに設置された交換装置のタイプに依存して、可変サイズのパケットか固定サイズのセルのどちらかにおいて転送される。ルーターを互いに、直接に、あるいはATMネットワークを介して接続することができる。直接に接続する場合は、パケットは任意のサイズであるが、ATM交換器(ATMスイッチ)によって接続する場合は、ルーターから出力されるすべてのパケットは、53バイトの固定サイズのセルに分割される。
インターネットプロトコル(IP)技術に基づくネットワークアーキテクチャは、「ベストエフォート(best effort)」型サービスとして構築される。これは、帯域が利用可能な場合はデータは到達するが、一方、帯域が利用できない場合は、データが落ちてしまうことを意味する。これは、ファイル転送や遠隔端末アクセスのようなほとんどのコンピュータデータアプリケーションではうまく動作するが、ビデオ(映像)や音声を伴うような、再送信できないか、または、再送信の意味がないアプリケーションではうまく動作しない。順序の違うビデオフレームを取得しても何の意味もないが、ファイル転送アプリケーションは、そのような異常を許容することができる。パケットサイズは任意の時点で任意であり、どのタイプ及びサイズのトラフィックが他の任意のタイプのトラフィックの前にあるかを予測する方法がないため、任意の2つのフレーム間に特定の遅延変動を起こすことはほとんど不可能である。さらに、データを取り扱わなければならないバッファは、最大のデータサイズを受信することができなければならないが、これは、より大きなデータパケットを取り扱うためにバッファリング方式を最適化し、同時に、より小さなパケットに対しては多くのメモリを消費しないようにしなければならないということを意味する。
ATMは、種々のアプリケーションに対していくつかのサービスのカテゴリを提供するように構成されている。これらには、固定ビットレート(CBR)、可変ビットレート(ABR)、不定ビットレート(UBR)、及び、リアルタイムと非リアルタイムの2つの可変ビットレート(VBR)のバージョンが含まれる。これらのサービスカテゴリは、トラフィックパラメータ及びQoSパラメータに関して規定されている。トラフィックパラメータには、ピーク・セル・レート(Peak Cell Rate、固定帯域)、サステーナブル・セル・レート(Sustainable Cell Rate:SCR)、最大バーストサイズ(MBS)、最小セルレート(MCR)、及び、セル遅延変動公差が含まれる。QoSパラメータには、セル遅延変動(CDV)、セル損失比(CLR)及び、最大セル転送遅延(最大CTD)が含まれる。一例として、固定ビットレートCBR(例えば、音声及びビデオアプリケーションに使用されるサービス)は、ユーザが呼のセットアップ時に、PCR(ピーク・セル・レート、本質的には帯域)、CDV、最大CTD及びCLRを指定できるようにするサービスカテゴリとして定義される。次に、ネットワークは、ユーザによって要求され、かつ、ネットワークによって受け入れられた値が適合していることを確認しなければならない。それらが適合する場合は、ネットワークは、CBRをサポートすると言われる。
種々のクラスのサービスは、他のタイプのトラフィックとは対照的に、あるトラフィックに対してより好適なサービスを提供するようネットワークに指示する。固定長セルのATMでは、交換器は、各トラフィックの流れが任意の瞬間にライン上に割り当てることが可能なデータ量を制御することにより、ライン上における帯域使用度を効率的に管理する。それらは一般的に、たった1サイズのデータユニット(単位)しかないという事実のために、より単純なバッファ技法を使用している。他の利点は、ネットワークの遅延、特に、各交換器において列をなしている待ち時間を予測可能であることである。このことは、すべてのデータユニットが同一のサイズであるため、CDVのようなトラフィックのQoSパラメータを、ネットワーク内で容易に測定できることを確実にするのに役立つ。非ATMネットワーク(すなわち、フレームベースのネットワーク)では、フレームは、任意の場所において例えば、40バイトから数千バイトまでの範囲を取ることができるが、各のパケットの転送時間が一定ではなく、ネットワークにおける遅延を予測することができないので、一定のCDV(または、PDV:パケット遅延変動)を保証することは困難なものとなっている。
データをより小さなユニットに分割することにより、ATMは、あるホストから別のホストにデータを送信する待ち時間を少なくするようにネットワークの能力を高めることができる。これにより、また、ネットワーク全体における各ホストでの待ち行列(キュー)及びバッファの管理をより簡単にすることができる。しかしながら、ネットワークがより大きな送信ユニットを有している場合には、ヘッダーを各セルに追加することによりネットワークの有効な帯域幅が小さくなってしまうという欠点がある。たとえば、ホストから別のホストに1000バイトが送信される場合は、フレームベースのソリューションでは、ヘッダー(約4バイト)が付加され、全フレームが1秒以内に送信される。ATMの場合は、1000バイトはヘッダーが5バイトの48バイトに、すなわち、1000/48=20.833(すなわち、21セル)に分割される。各セルには5バイトのヘッダーが付加され、送信されるバイトは、5×21=105バイトだけ増加する。従って、ATMは、実際のデータに利用可能な帯域幅を約100バイト(すなわち、約10%)だけ実質的に減少させ、エンド−エンド間の待ち時間の減少により、データ伝送に使用可能な帯域幅もまた減少する。
ビデオや音声等のいくつかのアプリケーションでは、待ち時間は、帯域幅よりも重要であるが、ファイル転送等の他のアプリケーションでは、待ち時間を少なくすることよりも、帯域幅をより好適に使用することにより、パフォーマンスが向上する。
最近では、より広い帯域幅及びQoSに対する要求が、前述したビデオや音声を含む、マルチメディアサービス用の新たなアプリケーションのために大きくなってきた。このため、従来のパケットベースのネットワークの中心部にATMネットワークを展開させることが余儀なくされている。ATMでは、その固定パケットサイズのために、ネットワークにおける処理時間が少なくなり、従って、高速転送が実現される(すなわち、待ち時間が短くなる)。これは、また、トラフィックの分類を利用する機能をもたらす。すでに指摘したように、セルが固定サイズのため、トラフィックパターンをQoSの割り当てにより制御することができる。すなわち、ネットワークは、従来のパケット(セルの形態で)と、固定帯域幅のストリームデータ(例えば、音声/ビデオベースのデータ)を伝送することができる。
以下で例示するように、ほとんどの従来のネットワークキングシステムは、本質的に、フレームまたはセルのいずれかを転送するために構築されており、それらの両方を転送するようには構築されていない。一方、詳細に後述するように、本発明によれば、新規の検索アルゴリズム、QoS管理、及び、パケット/セルアーキテクチャの管理を使用することにより、セルとフレームの両方を同じ装置で送信することができ、従来の技術に対して大きな利点がもたらされる。
従って、本発明の目的は、データパケットと同時に、かつ、セル転送特性の性能面に影響を与えることなく、データパケット及び/またはセルを処理する任意の技術に関して有効な、新規なシステムアーキテクチャ及び方法を提供することである。
本発明の他の目的は、構成された交換器が、同じハードウエア及びソフトウエアを使用して、あるアプリケーションではパケット交換器として、他のアプリケーションではセル交換器として機能することができるような新規なアーキテクチャを提供することである。
本発明のさらに他の目的は、改善された結果が、共通のセル/データパケットアルゴリズムに基づいて、セルとデータパケットの両方に対するQoS特性を管理することにおいて同時に達成されるようなシステムを提供することである。
本発明のさらに他の目的は、共通及び同様の技術を使用して、セルとデータパケットを転送するための共通の解析アルゴリズムを提供することである。
他の目的については以下で説明するが、より、具体的には、特許請求の範囲に記載している。
本発明の重要な観点の1つから要約すると、本発明は、任意のモジュールをセルまたはフレームインターフェースとすることが可能な複数のI/Oモジュールから、ATMセルまたは任意のサイズのマルチプロトコルフレームとしてデータが受信されるところのデータネットワーキングシステム、及び、セルまたはフレームに含まれる制御情報に基づいて、及び、セル転送の正常な動作に必要なQoS特性を保持するような方法で転送するための共通のアルゴリズム使用して、独自のモードで、すなわち、フレームをセルに変換せずに、ATMセルやかかるフレームの両方を処理する方法を含む。このアルゴリズムは、セルやパケットに含まれている文脈依存(context-sensitive)情報に依存しない共通のアルゴリズムを用いて転送エンジンにおいてパケット/セル制御情報を処理するステップと、QoS情報を含む結果を出力側の待ち行列マネージャに送るステップと、正常なセル転送特性に影響を与えないようにして、最小のセル遅延変動(CDV)を提供するような方法で、セル/パケットを出力側のI/O伝送装置に送るステップと、セルまたはパケットの正常な動作に影響を与えることなく、セルとパケットの両方に対する共通の帯域幅管理アルゴリズムを提供するように伝送装置を制御するステップを含む。
好適で最良モードの構成及び技法について以下で詳細に説明する。
本発明を、添付の図面を参照してこれから説明する。
「本発明の好適な実施態様に対する更なる背景」
本発明の好適なアーキテクチャを説明する前に、本発明によって見事に克服されるところの、従来技術の、及び、現在のネットワークシステムの制限事項についてチェックしておく必要があろう。
現在のネットワーキングソリューションは、データパケットまたはセルのいずれかを交換するように構成されている。前述したように、すべてのタイプのデータネットワーキング交換器は、入力(側)ポート上のデータを受信し、転送判断を行い、入力ポートから出力(側)ポートにデータを伝送し、さらに、適切な出力ポートの物理インターフェースにそのデータを伝送しなければならない。基本的なデータ転送面以外に、セル交換とフレーム転送には異なる要件がある。前述したように、現在のすべての技術は、交換要素を、ブリッジ、ルーター、及び、交換器(特に、ATM交換器)の3つのタイプに分ける。ブリッジとルーターのいずれもデータグラムを転送し、また、一般的に、ほとんどのルーターがブリッジ機能を実行するために、ブリッジとルーターの区別はあいまいである。従って、データグラム交換器(すなわち、ルーター)とATM交換器に焦点をあてて説明する。
まず、現在のソリューションに基づくこれら2つのタイプの交換装置に対する基本的なアーキテクチャ上の要件を調査し、次に、現在のソリューションが、ATM交換またはフレーム転送の正常な動作に重大な影響を与えずに、セルとフレームの同時転送を可能にするメカニズムを提供するものではない理由を提示する。その後、本発明に基づく新規なソリューションについて明らかにする。
ルーターは、一般的に、種々の物理インターフェースを有する。すなわち、イーサネットのようなLANインターフェース、トークンリング及びFDDI、フレームリレー、X.25、T1、及びATMのような広帯域インターフェースである。ルーターは、これらの種々のインターフェースからフレームを受信する方法を有しており、各インターフェースは、異なるフレーム特性を有している。例えば、イーサネットフレームは、任意の場所において、64バイトから1500バイトであることが可能で、FDDIフレームは、任意の場所で、64バイトから4500バイト(ヘッダーとトレーラを含む)であることが可能である。ルーターのI/Oモジュールは、物理インターフェースに関連したヘッダーを取り除いて、その結果生じるIPデータグラム等のフレームを、転送エンジンに対して出力する。転送エンジンは、図2に示すIPの宛先アドレスを調べ、適切な転送判断を行う。転送判断の結果として、転送テーブルによる決定に従って、データグラムを出力ポートに送信する。次に、出力ポートは、ネットワークに依存した適切なヘッダーを付加して、フレームを物理インターフェースに転送する。異なるインターフェースは、異なるフレームサイズ要件を有する場合があるので、ルーターは、フレームを「分解」、すなわち、データグラムを使用可能なサイズに「分割」することを要求される場合がある。例えば、2000バイトのFDDIフレームは、イーサネットインターフェース上に送信される前に、1500バイト以下のフレームに分解されなければならない。
現在のルーター技術は、「ベストエフォート」サービスを提供する。これは、データグラムがルーターベースのネットワークにおいて落ちない(消失しない)ことが、何ら保証されないことを意味する。さらに、ルーターは、種々のサイズのデータグラム転送するので、データグラム当りの遅延変動または待ち時間の保証はない。一般的に、ルーターは、所定のサイズのデータグラムを転送する能力によって特徴付けられる。従って、ルーターの能力は、1秒間で64バイトのフレームを転送する能力、または、入力ポートから出力ポートまで1500バイトのフレームを転送するための待ち時間によって特徴付けることができる。この待ち時間は、最後のビット入力、最初のビット出力(last bit in ,first bit out)によって特性付けられる。
これとは対照的に、ATM交換器は、ただ1つのインターフェースのタイプ、すなわち、ATMのみを有する。ATMは、図1のVPI/VCI番号に基づいて、転送テーブルを参照することによって転送判断を行う。転送テーブルは、一般的には、物理ポート番号によって指標される。すなわち、入力ポートN上のVPI/VCIを有する入力セルは、新しいVPI/VCIのペアを有して出力ポートにマッピングされる。テーブルは、システム内の他の場所にあるソフトウエアによって管理される。すべてのセルは、ATMアダプテーションレイヤ(AALx)がどのようなものであろうと、同じ構造を有し、それゆえ、ATM交換器があるタイプのAALを転送することができる場合は、それらの交換器は、任意のタイプのAALを転送することができる。
ATMセルを交換するためには、いくつかの基本的な条件を満たさなければならない。交換器は、ATMヘッダーにおいて提供される制御情報、具体的には、VPI/VCIに基づいて転送判断をすることができなければならない。交換器は、適切なQoS機能を提供しなければならない。交換器は、特定のサービスタイプ、特に、固定ビットレート(CBR)トラフィック及び可変ビットレート(VBR)を提供しなければならない。CBR(音声またはビデオ)トラフィックは、短い待ち時間によって、及び、さらに重要には、小さいまたは保証されたセル遅延変動(CDV)と保証された帯域幅によって特性付けられる。
従来のパケット交換器に対して、CBRタイプの接続を実施するための3つの主な要件は、CDVが小さいこと、遅延及び保証帯域幅が小さいことである。例えば、音声は、基本的なナイキストのサンプリング定理に基づいて、一定の帯域幅を使用する。CDVは、また、CBRコントラクト(contract)の一部であり、全体的な遅延に寄与する。CDVは、パケット/セルの到着予測時間と実際の到着時間における最悪ケースの変動の総計である。アプリケーションに関する限り、アプリケーションは、データが時間的に均等に到着することを期待する。しかしながら、ネットワークは、この均等要件を保証することはできず、いくつかのハードウエアが、データをバッファリングしなければならない場合は、最悪ケースのCDVに等しいかまたはそれより大きなCDVがネットワークによって導入される。CDVが大きくなるほど、バッファ要件は高いものになり、従って、遅延が大きくなる。そして、前述したように、遅延は、CBRタイプの回路にはよくないものである。
パケットベースのネットワークでは、従来的に、トラフィックの優先順位に基づいて出口にデータの待ち行列が生成される。データがどのように待ち行列をつくるかに関係なく、遅延変動の小さい要件を有するトラフィックでは、1つ以上のパケットの後に行列がつくられる。それらの各々は、最大のパケットサイズとなり得るが、本質的に、このことは、パケットベースのネットワークにおける遅延変動に最大の寄与を与えることとなる。
帯域幅と優先順位を管理するために多くの方法論が使用されている。ネットワーク管理の見地からは、ネットワークマネージャは、通常、全体の出力帯域幅を優先順位に分割することを好む。この帯域幅の分割にはいくつかの理由がある。例えば、これにより、トラフィック(より高い優先順位と狭い帯域幅)を制御するマネージャは、非常に高い帯域幅で回線(ライン)が使用されている間でさえ、常に伝送を行う余地を確実に有し、あるいは、場合によっては、CBR(固定ビットレート)トラフィックの伝送が保証される。
トラフィックの優先順位ごとの帯域幅に対処する多くの方法がある。これらのメカニズムの一般的な部類に、ラウンド・ロビン式待ち行列生成(Round Robin Queuing)がある。重み付けされたフェア(Weighted Fair)待ち行列とプライオリティ待ち行列がある。それぞれの方法論について、検討のため、及び、本明細書を完全なものにするために後述する。すべての待ち行列生成において、トラフィックは、セル/パケットがバックプレーンから到着するとき、通常、セル/パケットのヘッダーまたはセル/パケットに関連した制御情報を調べるハードウエアエンジンにより、優先順位に基づいて待ち行列に置かれる。データをこれらの待ち行列から取り出す/待ち行列から分離(待ち行列を解体)する方法によって、待ち行列生成メカニズム同士が区別される。
単純なラウンド・ロビン式待ち行列生成
この待ち行列生成メカニズムは、ラウンド・ロビン方式ですべての待ち行列を空にする。これは、トラフィックが待ち行列に分割され、各待ち行列に同一の固定帯域幅が与えられることを意味する。実施が単純であることが利点であることは明らかだが、この待ち行列生成技法には、このメカニズムは、優先順位の概念を完全に無視するものであるという大きな欠点がある。この場合、優先順位は、バッファ割り当てメカニズムによって管理しなければならない。明白な利点は、実装が簡単であるということだけである。
重み付けラウンド・ロビン
この待ち行列生成メカニズムは、「単純ラウンド・ロビン式待ち行列生成」を改良したものである。重みが、初期化時間の間にネットワークマネージャにより、各待ち行列に配置される。このメカニズムでは、各プライオリティ待ち行列は、重みに基づいてサービスを受ける。もし、ある待ち行列が帯域幅の10%を割り当てられれば、その待ち行列は、10%の時間、サービスを受けることになる。他の待ち行列が帯域幅の50%を割り当てられれば、それは、50%の時間、サービスを受けることになる。主な欠点は、帯域幅を割り当てられた待ち行列にトラフィックが存在しない場合、伝送中に未使用の帯域幅がとられるということである。このため、帯域幅が無駄になってしまう。さらに、待ち行列取り出し(de-queuing)アルゴリズムにおいて、パケットサイズは関係しないが、これは、パケットベースの交換器には極めて重要な問題である。すべてのパケットサイズに等しい重みをつけることは、帯域割り当て方式を捨て去ることである。
プライオリティ(優先順位式)待ち行列生成
この待ち行列生成メカニズムでは、出力される待ち行列は、純粋に優先順位に基づいてサービスを受ける。最高の優先順位を有する待ち行列が、最初にサービスを受け、最も低い優先順位の待ち行列が、最後にサービスを受ける。このメカニズムでは、高い方の優先順位のトラフィックが、それより低い優先順位の待ち行列に対して、常に先取権を有する。このタイプのメカニズムの欠点は、低い方の優先順位メカニズムの帯域幅がゼロになってしまう可能性があるということである。このメカニズムの利点は、単純であることに加えて、送信されるデータがある限り、帯域が無駄にならないということである。しかしながら、待ち行列取り出しアルゴリズムにおいて、パケットサイズは関係せず、これは、パケットベースの交換器にとっては重大な問題である。上述したように、すべてのパケットサイズに等しい重みをつけることは、帯域割り当て方式を捨て去ることである。
上述の例から、プライオリティ待ち行列と重み付けラウンド・ロビン式待ち行列とのバランスを、パケットサイズも合わせてとる必要がある。このためには、本発明によって提供されるソリューションが必要である。本発明では、優先順位の高いトラフィックが、それより優先順位が低いトラフィックの前にサービスを受けるが、各待ち行列は、少なくともその割り当て帯域幅内でサービスを受ける。上記の要件に加えて、出力バッファは、待ち行列の帯域幅が使い尽くされているときでもさえも、他の帯域幅を有する資格のある待ち行列データとともに、その待ち行列からのデータで満たされていなければならない。この技法は、トラフィックの待ち行列要求ごとの帯域幅を実現し、また、伝送中に帯域幅を無駄にしないものであり、本発明において具現化される。
交換器設計におけるアーキテクチャの問題
現在の交換器によるソリューションは2つの異なるソリューションを使用している。すなわち、1)メモリと2)クロスバーである。これらのソリューションは、図5、6及び7に示しているが、図5及び6は、従来のバスベース及びメモリベースのアーキテクチャを示しており、図7は、従来のクロスバー交換アーキテクチャを示している。
図5に示す従来のメモリベースのソリューションでは、データは、I/Oカードからメインメモリの中に最初に配置されなければならない。ビットをI/Oモジュールからメインメモリに移動させる際に、このデータ転送には数サイクルを要する。いくつかの異なるI/Oモジュールは、共通のメモリにデータを転送しなければならないので、このリソースに対する競合が生じる。メインメモリは、データをある物理ポートから別の物理ポートに転送するために、バッファリングメカニズムと転送メカニズムを提供する。この場合、転送速度は、出力ポートの速度、データをメインメモリに入力し、及び、メインメモリから出力するためのシステムの能力、及び、メインメモリにアクセスしなければならないインターフェースの数に大きく依存する。
図6により詳細に示すように、CPUは、周知のように、メモリアクセスにより、共通バスを介して、インターフェース用経路及びメモリ共用を示している種々の点線及び破線で、データ受信及び送信用の複数のI/Oポートno.1、no.2等とインターフェースする。前述したように、共有メモリをさまざまにアクセスすることにより、重大な競合が生じ、待ち時間と予測不能性が増加する。この競合は、全パケット/セルが受信されるまで、制御情報の処理が開始できないために、この種のアーキテクチャでは既に重大なものとなっている。
さらに、共有メモリへのアクセスが増えると、競合も増加する。競合が増えると、システムの待ち時間が増えることになる。図6に示す従来のメモリベースの交換データフロー図では、メモリからの読み出しまたはメモリへの書き込みあたりのアクセスタイムは、Mに等しく、メモリアクセス用のビット数はWであり、以下の機能を生じる。
受信ポートno.1から共有メモリへのデータの書き込みがある。パケットまたはセルを転送する時間は、((B*8)/W))*Mに等しい。ここで、Bは、パケットまたはセルのバイト数に等しく、Mは、メモリからの読み出しまたはメモリへの書き込みあたりのアクセスタイムであり、Wは、メモリアクセス用のビット数である。パケットが大きくなると、それをメモリに書き込む時間も長くなる。
これは、図5に示すように、パケットがATMインターフェースに向けて送られ、その後にセルが続く場合、セルがメインメモリからの転送時間だけ遅延することを意味しており、最悪ケースでは、これは、バス上における他の読み出し及び書き込み間の競合を含んで、Nパケット(Nは、非ATMインターフェースにおけるパケット数である)になり得る。例えば、B=4000バイトで、Mが80ナノ秒(DRAMアクセス用の64ビット幅バスの場合)の場合は、セルを送信することが可能な前に待ち行列を形成するパケット転送に対して((4000*8)/64)*80=40,000ナノ秒であり、OC48は、64バイトセル当たり170ナノ秒である。これは、バス上にいかなる競合もない場合のみに当てはまる。最悪のケースにおいて、交換器が16のポートを有し、全てのポートが同時に競合している場合に、同じパケットを転送するために、メモリに入力するのだけでも640,000ナノ秒を要し、同じ量だけ取り出すのに、全体で約1.3ミリ秒かかる。これは、メモリへのそれぞれの書き込み間において、他のポートも同様にメモリに書き込まなければならない場合に起こる。n=16ポートの場合、n−1すなわち15ポートがメモリへのアクセス権を獲得しなければならない。このことは、元のポートのメモリへの次の転送を行うことができるようになる前に、15ポート*80ナノ秒=1200ナノ秒がシステムによって使用される、ということを意味している。4000バイト*8(ビット/バイト)/64ビット=500アクセスであるから、各アクセスは、1200ナノ秒だけ分離され、全転送には、500*1200=600,000ナノ秒かかる。そのため、全体では、システム時間に実際の転送時間を加えたものとなり、それは、メモリへの転送について600,000ナノ秒+40,000ナノ秒=640,000ナノ秒であり、メモリからの転送について別に640,000ナノ秒である。さらに、この計算には、この計算を一層大きなものにするCPUの競合問題や、出力ポートビジーによる遅延は含まれていない。
図7に示す、メインメモリがなく、入力ポートと出力ポートの両方においてデータのバッファリングが起こらない従来のクロスバーベースのソリューションにも、前述したのと同様な欠点がある。図5及び6のメモリベースの構成では、バッファメモリは、すべてのポートによって共有され、交換器のメモリを非常に効率よく使用できるようになっている。図7のクロスバーによるアプローチでは、バッファを共用しないので、各ポートは大きなメモリを提供しなければならず、そのため、システム全体のメモリは大きくなる。クロスバー交換器は、システム上のある物理ポートからシステム上の別の物理ポートデータを転送するための通路に過ぎない。もし、2つのポートが、ある出力ポートに同時にデータを転送しようとしている場合、2つの入力ポートのうちの1つは、データをバッファリングしなければならず、そのため、第1の入力ポートからのデータが出力ポートに転送されるとき、待ち時間と予測不能性が増加する。しかしながら、クロスバー交換器は、メモリベースの交換器に対して、メインメモリの競合というメモリベースの交換器に固有の制限をうけることなく、ある地点から別の地点にデータを高速で転送することができるという利点を有する。
図7に示す従来のクロスバー交換器アーキテクチャによるシステムでは、CPUは、周知のように、メモリアクセスにより、共通バスを介して、インターフェース用経路及びメモリ共用を示す図8の種々の点線及び破線で示すラインでインターフェースを行う。CPUは、データ内の情報に基づいて転送判断を行う。次に、出力ポートへクロスバー交換機構(Switch Fabric)を介してデータを送信しなければならない。しかし、他のトラフィックを、その出力インターフェースに転送中である場合は、全セル/パケットを出力メモリに転送するのに要する時間の間は、入力インターフェースにデータをバッファリングしなければならない。すなわち、
A.受信ポートno.1からローカルメモリへのデータの書き込み。パケットまたはセルを転送する時間は、((B*8)/W)*Mである。ここで、Bは、パケットまたはセルのバイト数に等しい。Mは、メモリからの読み出しまたはメモリへの書き込み当たりのアクセスタイムであり、Wは、メモリアクセス用のビット数である。パケットが大きくなると、メモリにそのパケットを書き込む時間も長くなる。
B.受信ポートno.1から出力ポートno.2のローカルメモリにデータを書き込む。パケットまたはセルを転送する時間は、((B*8)/W)*M+Tである。ここで、Bは、パケットまたはセルのバイト数に等しい。Mは、メモリからの読み出しまたはメモリへの書き込み当たりのアクセスタイムであり、Wは、メモリアクセス用のビット数である。Tは、クロスバー交換器の転送時間である。パケットが大きくなると、クロスバー交換器を介してそれを転送する時間、及び、それをローカルメモリに書き込む時間も長くなる。
出力ポートへのセル転送が後に続くパケット転送の場合、計算は、図5及び6のメモリベースのソリューションの場合と同じである。パケットは、メモリベースのソリューションの場合と同じ速度でローカルメモリに転送されなければならない。中心的なメモリに対して競合が生じないという利点があるが、セル転送の前のパケット転送が、非常に高速のインターフェースが適正に機能するのを妨げるところの遅延を引き起こし得るという問題を軽減するものではない。
目的は、要求されたQoSを提供する、高速(すなわち、SONETで規定された速度)で動作する交換装置を作成することである。この装置は、速度及びポートの点でスケーラブルでなければならず、この装置は、セル及びフレームを入力ポートから出力ポートまで等しい時間で転送可能とするものでなければならない。
現行の構成は、非常に高速のルーターを作成することからスタートしているが、それらには、全てのATMサービス要件を提供する能力はなく、従って、依然として、2分化したネットワーキング装置の組、すなわち、ルーターとATM交換器が併存したままである。最適なソリューションは、非常に速い速度を実現し、要求されたQoSサポートを提供し、図3と同じインターフェースにおいてATMとパケットベースの技術をマージする(一つにする)インターフェースを有するものである。これによって、いずれのネットワーキング技術においても現在の投資を増加させずに、帯域幅及びQoS要求を満足させることができる。
ATMセルを受け入れ、所定のATMセルをパケットとして、また、他のものをATMの流れとして処理し、他のインターフェース上のパケットと、別の組のインターフェース上のセルのみを受け入れるデータ交換ポートにおけるインターフェースをマージする問題については、図4を参照して後述する。これらの問題は、3つの部分からなる。すなわち、a)パケット及びセルに関する入力インターフェースにおける転送判断、b)交換機構によるパケット及びセルの交換、c)パケット及びセルについての出力帯域幅の管理、である。本発明は、前述した同時係属中の出願に関するこの技法に基づいており、2つの技術(すなわち、ATM交換とパケット交換)をマージする汎用のデータ交換器を作成し、及び、上記3つの問題を解決する方法を開示するものである。
交換器設計のインターフェースに関する問題
このセクションの目的は、ATM交換器とパケットベース交換器の構成、及び、これら2つのタイプの交換器構成に関する種々のインターフェース同士を比較し、対比することである。具体的には、2つの装置がパケットまたはセルの転送に関係するときの問題、すなわち、ATM交換器がパケットを転送する場合の問題、及び、パケット交換器がセルを転送する場合の問題(図3)を明らかにすることである。
ATM交換器の代表的な構成
前述したように、複数のATMアダプテーションレイヤ(AAL1〜AAL5)がATM規格で規定されており、各々のレイヤは、広範なサービスのうちからそれぞれのタイプのサービス、すなわち、固定ビットレート(CBR)や不定ビットレート(UBR)を指定する。固定ビットレート(AAL1)のコントラクトは、CDVを小さくしてセル損失が最小になることを保証し、一方、不定ビットレートのコントラクトは、トラフィックパラメータを指定せず、サービス品質を保証しない。本発明の目的に則して、説明をAAL1(CBR)とAAL5(分割(セグメント化)されたパケット)に限定することが都合が良い。
図9は、本来のインターフェースカードを備えたセル交換器を表した図であり、本来のATMインターフェースを有する一般的なATM交換器の個別モジュールを示している。物理レイヤモジュール(PHY)から到着したセルは、監視機能モジュール(Policing Function Module)と呼ばれるモジュールによって処理され、このモジュールは、入力セルに対してVCI毎に確立されたコントラクト(サービス)、例えば、ピーク・セル・レート、サステインド・セル・レート(Sustained Cell Rate)、最大バースト・レート等を有効にする。セル遅延変動(CDV)やセル損失レート(CLR)等の他のパラメータは、カード及び交換器の実際の構成に基づくボックス(box)によって提供される保証である。コントラクトは、ネットワークマネージャによって、または、ATM通信機構を介して設定される。図9の例では、監視機能からのセルデータは、次に、クロスバータイプ(図7)またはメモリベースの交換器(図5)に送られる。次に、セルは、遠隔接続における輻輳を避けるためにトラフィックを形成する(適応させる)ことに関するいくつかの要件を有する出力ポートに転送される。出力を形成するために、出力側でデータをバッファリングする構成でなければならない。ATM接続は、ポイント−ポイント間接続を基礎としているので、出力形成(シェーピング)モジュールは、また、ATMヘッダーを変換(解釈)しなければならない。これは、次のホップ(hop)が入力VCI/VPIに何ら関係がないからである。
ATM交換器に固有のパケットインターフェース
「背景」セクションで説明したように、ATM交換器がパケットのルーティングを容易にする方法を提供する場合は、パケットとセルのネットワークが合流する2つのホスト間に少なくとも2つのポイントがなければならない。これは、交換器がATMネットワークの中心部深くに設置されていない限り、現在のセル交換装置が、固有のパケットインターフェースを有するインターフェースを備えていなければならないことを意味する。従って、ATM交換器に接続する、かかるパケットインターフェースの構成について調べることが必要である。
ATM交換器における典型的なパケットインターフェースを、セル交換器におけるパケットインターフェースを詳細に記載した図10に示す。物理インターフェースは、入力パケットをバッファに入れる。次に、それらは、「ヘッダールックアップ及び転送エンジン」に送られる。パケットベースの転送エンジンは、出力ポートを決定して、そのパケットのセルに関するVCI番号を関連付ける。次にパケットはセグメント化ユニットによってセルに分割される。そのあとすぐに、パケットは、本来のセル交換の場合と同じように処理されるが、これには、交換器に入る前に、監視機能を通って、交換器バッファまで行くことが含まれる。出力側では、セルがセルインターフェースに入力すると、処理が(ATM交換器における固有のセルインターフェースで)上述したように行われる。セルがパケットインターフェースに入力すると、セルは、パケットに再構成されなければならない。これらのパケットは、次に、種々のプライオリティ待ち行列に入れられて、パケット交換器の場合と同様に空にされる。
ATM交換器における2つのタイプのパケットインターフェースを調べる必要がある。
ATM交換器におけるAAL5インターフェース
ATM交換器に接続されたルーターは、パケットをATM交換器に送信する前に、そのパケットを分割する(セグメント化する)ことができる。この場合、上述したように、パケットは、AAL5フォーマットでATM交換器に到着する。ATM交換器がルーター及びATM交換器として動作する場合は、それは、AAL5パケットを再構成して、そのパケットのルーティングの決定をしなければならない。ATM交換器/ルーターが、AAL5パケットの転送判断をすると、ATM交換器/ルーターは、そのパケットを再びセグメント化した後、ATM交換器を介して送り出す。
AAL5における、ATM交換器の完全なインターフェースを図11に示す。入力AAL5セルは、まず、送り側がコントラクトを遵守していることを確認するために、VCIごとに監視される。監視機能が実行されると、アセンブラは、VCIに関するセルをパケットに組み立てる。これらのパケットは、次に、転送エンジンに送られ、転送エンジンは、組み立てられたパケットについての転送判断と、あるルーティングアルゴリズムを実行する。パケットは、次に、上述したATM交換器部におけるパケットインターフェースの場合と同様に、ATM交換器に送られる。
セル交換器でパケットを処理する困難性
本発明の目的、すなわち、CDV、待ち時間、及びパケット損失等の厳格なQoSパラメータを達成することに留意して、このセクションでは、従来のセル交換器によってパケットを構成しようとする試みが難しいものであることを説明する。
図11によれば、セグメント化されたパケットである入力AAL5が組み立てられ、転送判断がなされると、それらは、「セグメント化ユニット」で再構成される。交換器を通過する際、AAL5セルは、出力ラインに送られる前にパケットに再構成される。このセグメント化と再構成により、遅延と予測不能性、それに、測定不能なPDV(パケット遅延変動)及びセル損失が付加される。前述したように、QoSが提供されるパケットについては、測定可能PDVと遅延を提供することを含むコントラクトをサポートする必要がある。遅延は、セルを再構成しなければならないという事実のために生じる。最良のケースでは、各再構成は、パケットを完成させてそれをQoS部に送る前に、全パケットのデータをバッファリングしなければならない。例えば、8000バイトのパケットの場合、1ギガビットの交換器においてバッファリングする際に、これによって64μ秒の遅延が生じ得る。
セル交換器を通るパケットのPDVは、追加される遅延よりもさらに関心のある事項である。組立プロセスは、種々の入力ポートからの複数のパケットを同時に処理するものとすることができ、これにより、本質的に、交換競合、及び、入力から出力へのセル送信の再試行の回数に基づく、予測不能なPDVの量を生じる。
交換器によるセル損失は、不適切に再構成されたパケットを生じさせ、従って、実時間コンテンツ用途向けであるアプリケーションに悪影響を与える。ほとんどのファイル転送プロトコルは、(セルの消失のために)消失したパケットを回復可能であるが、再送信により交換器のトラフィックが多くなってしまう。
要約すると、ATM交換器によりパケットを送信しても、セルと同様の同じCDV及び待ち時間特性を有するパケットは得られない。それは、単に、セル交換器を介してパケット経路を通すためのメカニズムを提供するだけである。
パケット交換器の構成
固有のパケットインターフェースカードを具備する従来のパケット交換器を図11に示す。パケットは物理インターフェースを介して転送エンジンに送られる。転送エンジンは、あるアルゴリズムとパケットのヘッダーに基づいてルーティングの決定を行う。出力ポートが決定されると、パケットは、多くの方法(例えば、N×Nバス、大規模な中央メモリのプール等)のうちの1つによって構成可能なパケット交換器を介して出力に送られる。出力では、パケットは、それぞれのトラフィックのプライオリティ待ち行列上に置かれることになる。これらの待ち行列には、トラフィックの優先順位付け及び帯域幅の管理を行う機能がある。
パケット交換器におけるセルインターフェース
AAL5インターフェースを有する従来のパケット交換器を図13に示す。このパケット交換器は、セルがAAL5タイプである限り、セルがボックスを通過できるようにするメカニズムを提供する。従来のパケット交換器によって仮想的なセル交換器を作成する現実的な方法はないが、本発明の一部は、かかるアーキテクチャの要件に対処するものである。
AAL5セルがコントラクトの遵守について検閲をうけた後、それらのセルは、アセンブリモジュールによってパケットに組み立てられる。こうして、パケットが生成され、次に、本来のパケットインターフェースと全く同じように処理される。出力側において、パケットをAAL5セルとして交換器から出力しなければならない場合は、それらは、まず、セグメント化され、次に、ヘッダーが変換(解釈)される。最後に、それらは成形されて送出される。
パケット交換器においてセルを処理する困難性
セルの流れが従来のパケット交換器を横断するときに、それが直面するいくつかの問題がある。ルーターのような従来のデータ交換器が、ATMに要求されるQoS保証をサポートすることは極めて困難なことである。この点を説明するために、前述の図13に示した図を参照する。パケット交換器の最大の問題の1つは、AAL1セルをサポートすることである。その理由は、単に、従来のパケットベースのヘッダールックアップ及び転送エンジンが、セルとパケットを同時に認識しないということである。そのため、パケットに変換可能なAAL5セルがサポートされている。これは、交換器の能力を厳しく制限するものである。
セルの特性に、CDV及び遅延特性がある。従来のパケット交換器を介してセルを送り出すことにより、より多くの遅延と予測不能なCDVが追加される。パケット交換器は、その名称に由来するように、交換器に対して種々のサイズ及び数のパケットの待ち行列が生成されることを暗に示している。この場合、パケット化されたセルには、交換器において何らかのタイプの妥当なQoSを維持する機会はない。
本発明の代表例を図4及び図14に示すが、本発明は、以上の従来システムとは異なり、セルとフレームの両方を、それらの一方を他方に内部的に変換することなく、転送するためのネットワーキングシステムを最適化する。さらに、本発明は、厳密なCDV、待ち時間及びセル損失のような、ATM交換器において期待される厳密なQoSパラメータを維持する。これは、コンテクスト(文脈)に依存しない共通の入力転送エンジン、同じような待ち時間でセルとフレームを転送する交換機構、及び、共通の出力QoSエンジンを具備することによって達成される。ここで、本発明のアーキテクチャを通って流れるパケットは、セルのQoS特性を取得するが、セルは依然としてそれら自体のQoS特性を保持したままである。
図14に示すように、本明細書では、本発明の新規な交換器アーキテクチャの主要なコンポーネントを、本発明の譲受人の頭文字をとってしばしば「NeoN」と呼ぶが、それは、入力部、交換機構及び出力部からなる。入力部は、セルまたはフレームとすることができる別個の物理インターフェースから構成される。さらに、セルインターフェースは、純粋なセル転送か、または、フレームが、AAL5で定義されるようなセルの集合からなるところのセル及びフレーム転送の組み合わせとすることができる。入力コンポーネントの他の部分は、セルとフレームの両方に共通の転送エンジンである。交換機構は、セルとフレームの両方に共通である。出力のQoSもまた、セルとフレームの両方に共通である。出力処理の最終部は、インターフェースのタイプに依存する物理レイヤの処理である。従って、本発明のNeoN交換器アーキテクチャは、セル及びフレームの処理の両方に共通のそれらの部分を表すものである。
前述したように、ATM交換器に要求される、及び、パケットの同時交換の場合においても提供される重要なパラメータは、予測可能なCDV、短い待ち時間、少ないセル損失及び帯域幅管理、すなわち、保証されたピーク・セル・レート(PCR)を提供することである。しかしながら、図4及び14に示す本発明のアーキテクチャは、2つの物理インターフェースAAL5/1と、入力及び出力におけるパケットインターフェースを備える。これら2つのタイプのインターフェースはそれぞれ、「VCごとの監視機能(Per VC Policing Function)」、「VCごとの成形(Per VC Shaping)」と記載されたモジュールとして表されている。セルインターフェース(AAL5〜1)については、システムは、任意のATM交換器に従ってネットワークマネージャによって設定されたコントラクトを遵守しなければならず、また、出力においてVCI毎にある種類の成形を行わなければならない。これらの物理インターフェースモジュール加えて、システムは、パケットまたはセルインターフェースに対して全く同一である。データが物理インターフェースモジュールを横断すると、パケットとセルとの区別がつかなくなるという考えでシステムは設計される。図14に、セルとパケットを差別なく取り扱う、3つの主要ブロック、すなわち、「ヘッダールックアップ及び転送エンジン」、「QoS」、及び「交換」機構を具備するアーキテクチャの中核部を示す。本発明に関連して行う以下の詳細な説明は、これらの3つのモジュールの構成についてのものである。
交換機構
前述した同時係属中の米国特許出願第581,467号及び第900,757号(いずれも同一の譲受人に譲渡されている)に開示されている発明は、ネットワーキングシステムを最小の待ち時間で最適化し、及び、データレートとポート密度が増加した場合でも待ち時間ゼロを実際に実現することができる。さらに、それらの発明は、パケット/セルがメモリに書き込まれているときに、そのパケット/セルから制御情報を取り出して、その制御情報を、交換機能を実行し、ルーティングを行い、及び/または、データがメモリに書き込まれているときにフィルタリング(filtering)判断を行うことになる転送エンジンに送ることによって、53バイトのセルまたは64バイトから64Kバイトのパケットについても同様に実行する。
交換器を通る固有セル
図14の交換セル(AAL1/5)は、まず、ネットワークマネージャがVCIごとにインストールしたコントラクトに従って2で検閲を受ける。このモジュールは、AAL5セルを選択されたVCIにおけるパケットに組み立てることもできる。監視機能2の出力は、セルかまたは組み立てられたパケットである。データがインターフェース要件に適合していなければならないところの出力ポートにデータが到着するまで、データの流れのつなぎ目以外には、パケットとセルを区別するものはない。セルは、「NeoNデータ交換器」4において待ち行列にされ、セルのヘッダーは、宛先のインターフェース及びQoS要件に対して検査される。この情報は、8とラベル付けされた制御データ交換器を介して、出力インターフェースQoSモジュール6に送られる。セルタイプのインターフェースに対するQoSは、ピーク・セル・レートを超えるセル・レートがクリップされることを単に保証するだけである。次に、セルは、「VCIごとの成形」モジュール10に送られ、そこで、セルは、それらが次のホップ交換器の要件に従って成形された後、物理インターフェースに送られる。QoSモジュール6は、制御データからは、パケットまたはセルのいずれが含まれているかを知ることはできないので、NeoN交換器から「バッファ12」にデータを単に要求する。制御データにより、「VCIごとの成形」ブロック10は、それが、別のVCIトンネルに向かうセルであった場合にはヘッダーの変換(解釈)を、及び/または、データがセルインターフェース上を出てゆくパケットであった場合にはセグメント化を、及び/または、遠隔端末の要件に従う成形の修正、のいずれかを行うべきことを知ることができる。
NeoN交換器を通る固有パケット
パケットがインターフェースカードに入ると、パケットヘッダーは、ヘッダールックアップ及び転送エンジンモジュール14によって検査され、一方、データは、NeoNデータ交換器4に送られる。入力転送エンジンは、入力パケットヘッダーに基づいて、QoS、及び、宛先のインターフェースカードに関する転送判定を行う。転送エンジン14は、また、NeoN交換器のアドレス、パケットのQoS、出力ヘッダー変換情報のようなデータパケットに関するすべての情報を収集し、それを、出力(側)インターフェースカードに送信する。この情報は、小さな無閉塞制御データ交換器8から出力QoSモジュール6を通って出力ポートまで制御パケットとして運ばれる。このモジュールは、制御パケットに従ってデータを待ち行列にし、それを、出力のPHYと記載されたモジュールに送る。パケットがセルインターフェースに出力される場合は、それが、インターフェースを出る前に、パケットは、セグメント化され、次に、ヘッダーが変換され、そして、成形される。
本発明のNeoN交換器アーキテクチャの利点
上述からわかるように、セル及びパケットの流れは、物理インターフェース以外では何の区別もなくボックスを通るので、セルの特性が維持される場合は、パケットはセルと同じ特性を有する。従って、パケットは、測定可能かつ小さなPDV(パケット遅延変動)及び小さな待ち時間を有する場合があり、この場合、アーキテクチャは、セル特性を有するパケット交換をサポートし、さらに、既存のセルインターフェースへもインターフェースする。
前述したように従来のパケット交換器は、非AAL1セルを送ることができず、また、AAL5セルは、予測不能な量のPDVと遅延を受けるが、これは、本発明のNeoN交換器では解決される。従来のATM交換器を通るパケットもまた、同じ長さの遅延と予測不能なCDVをこうむるが、これもまた本発明のNeoN交換器では解決される。本発明のこのタイプのハイブリッド式交換を可能にするモジュールには、入力転送エンジン、出力QoS、及び交換機構が含まれる。
入力転送エンジンの説明
入力転送エンジン14(図14)の目的は、入力フレーム/セルを解析することであり、及び、フレーム/セルの所定の基準及び内容に基づいて、転送判断を行うことである。これは、入力したセル/フレームは、メモリに格納された事項と比較されることを意味する。整合(一致)が判定されると、メモリ位置の内容が、対象となっているセル/フレームについてのアクションに関する命令を提供する。繰り返しプロセスである探索が終了すると、転送判断が行われる。転送判断は、上述のセル/フレームをどのように処理するかを決定することである。かかる処理には、統計量を計数すること(counting statistics)、フレームまたはセルを落とすこと、あるいは、フレームまたはセルを指定された一組の出力ポートに送ることを含めることができる。図15に、この処理を全体的なレベルで示している。4つの特性からなる入力ストリームがb.c.d.eで示されている。それらの特性は、メモリ内のエントリと適切に整合し、特性が入力されると、次の特性を指示するポインタが生成される。最後の特性bは、転送エントリへのポインタを生成する。図示のものと異なる特性のストリームは、異なるエントリの集合をメモリ内に有し、異なる結果を生成する。
提案された入力転送エンジン14は、解析用マイクロエンジン(Parsing Micro-Engine)と定義される。解析用マイクロエンジンは、2つの部分に分けられる。すなわち、能動(アクティブ)部分と受動(パッシブ)部分である。能動部分は、パーサー(parser)と呼ばれ、受動メモリコンポーネントに書き込まれた命令に従うロジックである。受動メモリコンポーネントは、2つの主要な記憶セクションである、1)解析グラフツリー(PGT、図18)及び2)転送ルックアップテーブル(FLT、図19)と、それより小さい統計量収集用の記憶セクションからなる。解析グラフツリーは、転送ルックアップにおいてオフセットを形成する、すべてのパケットヘッダーの解析情報を含む記憶領域である。FLTは、宛先ポート、マルチキャスト情報、出力ヘッダー操作に関する情報を含んでいる。この構成は非常にフレキシブルであり、例えば、データグラムの場合、それは、パケットヘッダー内のDA及びSAフィールドを超えて、プロトコルフィールドやTCPポート番号などを調べることができる。提案されたPGTは、各ブロックが2個の要素を有する、2個のブロックに分割されるところのメモリである(m<n)。各要素は、3つのタイプ、すなわち、分岐要素、リーフ(葉)要素、またはスキップ要素、のうちの1つであり得、各ブロック内で、それらの要素タイプの任意の組み合わせを取り得る。
解析用マイクロエンジンは、本発明の目的のためには格別に有用であるが、それが、任意のビットの集合を検査し、比較結果に基づいて決定を行うものであるという見地からすれば、一般的なものである。例えば、これは、ある任意の単語を検索する、任意のテキスト検索機能に適用することができる。一例としてのかかるアプリケーションでは、手紙や電子メール内の「bomb」や「detonate」のような単語を検索することができ、一致が検出されると、検索エンジンは、警告を発する等の予め決められた機能を実行することができる。実際、同一のメモリを、異なる言語の単語を検索するためにさえ使用することができる。
図14には2つのエントリポイントがある。1方のエントリポイントは、ある1つの言語のテキストを検索するために使用され、他方のエントリポイントは、別の言語のテキストを検索するために使用される。従って、同一のメカニズム及び同一のハードウエアが、2つのタイプの検索に使用される。
データグラムのヘッダー検索には、ソフトウエアコンポーネントとハードウエアコンポーネントの2つのコンポーネントがある。ソフトウエアコンポーネントは、あるインターフェースで見つけたすべての新しい経路について、解析グラフ内に要素を生成する。ソフトウエアは、分岐要素から開始してリーフ要素で終わる独自のグラフを生成しなければならない。追加されるそれぞれの新しい経路に対するグラフは後で定義される、ハードウエアは、グラフを分岐要素からリーフ要素まで移動するが、IPヘッダーに関しては何の手がかりもない。
実際には、図21に示すように、たくさんのエントリポイントがメモリ領域内に存在しうる。元のメモリを複数の領域に分割して、メモリの各領域が、別々のアプリケーションに使用される個別の一連の命令を構成するようにすることができる。図22の場合は、領域の1つがIP転送に使用され、他方の領域がATM転送に使用されている。システムの始動時、メモリは「未知の経路(ルート)」を指示するように初期化されるが、このことは、利用可能な転送情報がないことを意味している。新しいエントリが挿入されると、図23に示すように、ルックアップテーブルの構成が変化する。図示の例では、IPアドレス209.6.34.224が挿入される。これは、バイト指向のルックアップエンジンなので、最初のブロックは、209の位置(ロケーション)に挿入されたポインタを有する。ポインタは、6の位置に新しいポインタ値を有するブロックを指示する。これは、アドレス209.6.34.224のすべてが挿入されるまで同様に繰り返される。他のすべての値は依然として未知の経路を指示している。メモリのIP部分にアドレスを挿入しても、メモリのATM部分には何の影響もない。前述したように、解析グラフツリーには、各々のブロックが2個の要素からなる2個のブロックがある。各要素の構造は図17に示すようなものであり、各要素は以下のフィールドを有している。
1.命令フィールド:現行の構成では、2つのビット命令フィールドを生じる3つの命令がある。命令の説明は以下の通り。
・分岐要素(00)。マイクロエンジンに関する限り、分岐要素は、本質的に、転送エンジンを次のブロックアドレスに向ける。また、分岐要素内で、ユーザは、「増分転送情報フィールド(Incremental Forwarding Info Field」に種々のフィールドを設定し(図18)、最後の転送情報の相互に排他的な種々の要素を更新することができる。例えば、マイクロエンジンがIPヘッダーを解析し、分岐要素が宛先フィールドの終わりに配置された場合、ユーザは、転送情報の出力ポートフィールドを更新することができる。ATM交換の場合は、ユーザは、VPIフィールドの解析の終了時に、出力ポート情報を更新する。
・リーフ要素(01)。この要素は、マイクロエンジンに解析の終了を命じる。次に、検索の間に蓄積された転送情報が、構成内の次の論理ブロックに転送される。
・スキップ要素(10)。この要素は、解析の速度を上げるために設けられている。パケットヘッダーを解析するのに要する時間は、マイクロエンジンが調べなければならないブロックアドレスの数に依存する。入力ヘッダー内のすべての連続するフィールドが判定を行うために使用されるわけではない。スキップ要素がない場合は、マイクロエンジンは、入力ストリームの有意でないフィールド上をホップし続けなければならず、その分、解析に時間がかかる。スキップ要素により、マイクロエンジンは、入力データグラムのフィールドをスキップして、検索を続行することができるようになる。このスキップの大きさについては下記する。
2.スキップフィールド:このフィールドは、スキップ要素のために特別に使用される。これにより、パーサーは、入力データグラムのヘッダーフィールドをスキップして検索を高速で実行することができる。IPヘッダーにおいて、例えば、ユーザが、DAに基づいてパケットを転送することを望むが、ToS(サービスタイプ)フィールドに基づいて統計量を計数することを望む場合は、パーサーは、DA全体を解析して、ToSフィールドにステップする。これにより、転送エンジンがより高速に動作可能となる。このフィールドの大きさは、ユーザが、データ交換ボックスに対してこれまでに要求した最大のスキップを考慮して計算すべきであり、プロトコルなどに基づいて計算することができる。
3.増分転送情報フィールド:ヘッダー解析の間、転送情報が蓄積される。転送情報は、多くの互いに排他的なフィールドを有することができる。転送エンジンは、入力データグラムのヘッダーを横断する際に、これらの互いに排他的なフィールドの各々を別々に更新できるよう十分にフレキシブルでなければならない。例えば、IPパケットを解析している間、宛先フィールドに基づいて出力ポート決定することができ、送信元アドレスに基づいてフィルタリングを決定することができ、ToSフィールドに基づいてQoSを決定することができる。他の例としてATM解析の場合がある。出力解析は、VPIフィールドに基づいて決定することができ、統計量の計数は、VCIに基づいて決定することができる。従って、解析がなされると、転送情報の種々の部分が収集され、リーフ(葉)ノードに到達すると、結果として生成された転送情報が制御経路上に送られる。増分転送情報(以後、IFIと記載)の幅は、転送情報内の相互に排他的な増分部分の数に等しくなければならない。
4.次ブロックアドレスフィールド:このフィールドは、現在のブロックのアドレスの後に調べるべき次のブロックのアドレスである。リーフノード命令は、このフィールドを無視する。
5.統計量オフセットフィールド:データ交換において、流れの統計量を維持することは、交換データそれ自体と同じく極めて重要である。流れの統計量が維持されない場合は、交換器を管理することはどう考えても難しいものとなる。この統計量オフセットフィールドを備えることにより、種々の解析ポイントで統計量を更新することができる。例えば、IPルータでは、種々のDAのグループ、種々のSAのグループ、全てのToS、種々のプロトコルなどについてのパケット計数を収集することができる。ATM交換器を扱う他の例では、このフィールドにより、ユーザは、個々のVPIまたはVCIまたはそれの組み合わせについてのセルを計数することができる。設計者が、2個のカウンタを維持したい場合は、このフィールドの大きさはsとなる。
6.FLTオフセットフィールド:これは、転送ルックアップテーブル(図18)へのオフセットであり、詳しくは後述する。転送ルックアップテーブルは、最後の転送情報パケットを構築するために必要な、相互に排他的な情報のすべての部分を有している。
ハードウエア構成の参考例
本発明を実施するのに有効なパーサーのハードウエア構成の参考例を以下に示す。参考構成のパーサーは、精密な検査を受けたパケット/セルを収容する記憶部を有する。セル/フレームのヘッダー情報用のこの記憶要素には、2つのレベルの深さがある。これは、入力転送エンジンの宛先ルックアップ段にヘッダー情報を送るための2段のパイプラインを構成する。これは、フレキシブルな開始ポイント機能のために、全てのヘッダー情報が記憶されるまで、入力転送エンジンが参照を実行することができないために必要である。2段のパイプラインにより、入力転送エンジンが現在のヘッダー情報を参照することができ、また、平行して次のヘッダー情報を記憶することができるようになる。現在のヘッダーの参照が完了すると、次のヘッダー参照を直ちに処理することができる。
記憶要素は、入力ビットストリームのプログラム可能な量を記憶する。1例として、IPデータグラムについて64バイト、セルについて5バイトの構成とすることができる。セルとフレームの両方を処理するインターフェースの場合、これら2つの値の最大値を使用することができる。
各DMAチャンネルからのDMA転送完了信号は、状態マシンに、それが、入力DMAバスからのヘッダー情報を調査してまわり、記憶する処理を開始することができるということを示す。パケット/セル信号は、記憶されるヘッダーがパケットのヘッダーであるか、セルのヘッダーであるかを示す。ヘッダー情報がDMAチャンネルから完全に記憶されると、参照リクエストがアサートされる。
ヘッダー参照については、入力転送エンジンにIPヘッダーテーブル内の参照開始ポイントを指示するレジスタベースのテーブルがある。入力転送エンジンは、このテーブルをインデックスするために送信元のインターフェース番号を使用するが、この情報により、入力転送エンジンは、IPヘッダー内の任意のフィールド、または、パケットのデータ部分に含まれる任意のフィールドにおいて検索を開始することができる。後述するスキップ機能に加えて、この機能により、入力転送エンジンは、任意のフィールドを検索し、それらを配列してインターフェースごとに複雑なフィルタリング用のケース(case)を構成することができる。
解析ツリーグラフ参照アルゴリズムを使用して転送判定を行う、好適なハードウエア参照を図19に示す。このアルゴリズムは、IP宛先アドレスまたはVPI/VCIヘッダーのニブルまたはバイトのいずれかを同時に解析する。この機能は、ソフトウエアによってプログラム可能である。各参照は、インターフェースあたりに1つの、16の源ノードのうちの1つによって指示される独自のツリー構造を有することができる。源ノードは、プログラム可能なレジスタベースのテーブルに記憶され、このため、ソフトウエアによりメモリ構造の任意の場所でこれらのツリーを構築することができる。
ニブルまたはバイト参照は、エンドノードの結果または分岐ノードの結果を生成することができる。ルックアップ制御状態マシンは、各参照に関連した状態フラグビットを検査することによって参照プロセスを制御する。これらの状態フラグビットは、エンドノード、スキップノード、及びスキップの大きさである。エンドノードのフラグビットは、参照がエンドノードであったか分岐ノードであったかを示す。エンドノードであった場合は、参照の結果は、第2の段の転送テーブルルックアップ(参照)メモリへのインデックス値である。分岐ノードであった場合は、ニブルまたはバイト参照は、エンドノードが見つかるまで続行される。各分岐ノードの参照結果は、次の分岐ノードへのポインタである。スキップノードのフラグビットは、状態マシンに、参照の間、スキップの大きさによって示されるニブル数をスキップするように命じる。バンク選択フラグビットは、どのバンクが次の参照で使用されることになるかを指示する。ルックアップ状態マシンは、これらのビットを使用して、どのクロックが使用可能で、どのマルチプレクサ(mux)の制御が動作可能であるかを決定する。
パーサー参照の結果は、転送IDと呼ばれる転送情報を含む転送結果を生成する1バンクのメモリである転送テーブル参照である。参照時間性能を最適化するために、この参照ステージをパイプライン処理することができ、これにより、第1のステージを別の参照と平行して開始することができる。転送IDフィールドは、いくつかの方法で使用される。第1に、フィールドのMSB(最上位バイト)は、ネットワークインターフェースレベルで、ユニキャスト(unicast)またはマルチキャストパケットを指示するために使用される。例えば、マルチキャストパケットの場合は、出力待ち行列マネージャは、複数のインターフェースに対してマルチキャストパケットの待ち行列を形成するために、このビットを調べる必要がある。例えば、ユニキャストパケットの場合は、転送IDの6ビットは、宛先インターフェース番号を示すことができ、残りの16ビットは、レイヤ2のIDを提供する。レイヤ2のIDは、出力転送ロジックによって、どのレイヤ2のヘッダーをパケットデータに対して予め未決定のままにしておく必要があるかを決定するために使用される。パケットについては、これらのヘッダーは、パケットが出力DMA FIFO(先入れ、先出し)から出力バッファメモリに移動されるときに、そのパケットに付加される。セルについては、レイヤ2のIDは、送信装置に適切なチャンネルIDを提供する。
ユニキャストトラフィックの場合は、宛先I/F番号は、ネットワークの宛先インターフェースを示し、レイヤ2のIDは、どのタイプのレイヤ2ヘッダーをパケットデータを付加すべきかを示す。マルチキャストの場合は、マルチキャストIDは、レイヤ2ヘッダの付加、及び、どのネットワークインターフェースがそのマルチキャストを送信することができるか、の両方を示す。出力待ち行列マネージャは、マルチキャストIDテーブル参照を実行して、どのインターフェースでパケットが送信されるか、及び、どの種類のレイヤ2ヘッダーがパケットデータに戻されるかを決定する。
転送エンジンのもとでのパケットの実際例
本発明の転送エンジンを通る単純なパケット及び複合(複雑な)パケットの例について説明する。起動時、解析グラフのすべの2個のブロックは、最終的にはすべてのパケットをネットワークカード上の制御プロセッサに転送することになるFLTオフセットを指示するリーフ要素で満たされる(図19)。これは、認識されていないすべてのパケットのデフォルトの経路である。ソフトウエアには、デフォルトの経路を設定する役目がある。種々の要素をこの解析グラフメモリ中に更新する方法について、マスクが255.255.0の単純なマルチキャストIPパケット、複合的なフィルタパケット(filter packet)、時間経過後の単純なIPパケットの場合を例にとって説明する。
単純なマルチキャストパケット
起動時、解析グラフメモリ内の全ブロックは、パケットをネットワークプロセッサに経路指定するFLTの1番目のオフセットを指示するリーフ要素で満たされるものと仮定することができる。この例では、入力パケットは、宛先IPアドレス224.5.6.7を有しているものと仮定する。この場合、ハードウエアは、1番目のブロック(1番目の参照ブロックを源ノード(originating node)とも呼ぶ)の224番目のオフセットを調べ、リーフを見つける。ハードウエアは、検索を終了して、224番目のロケーション(位置)におけるデフォルトのオフセットを調べ、FLTを調べ、そして、パケットを制御プロセッサに送る。
制御プロセッサが、宛先IPアドレスが224.5.6.7の次のパケットを転送するとき、それは、図21に示すグラフを生成する。
ソフトウエアは、最初に、解析グラフを局所的に生成しなければならない。生成された解析グラフは、1-129-2-131として記載されている。ソフトウエアは、源ノードとも呼ばれる最初のブロックを常に調べなければならない。最初のブロックのオフセットは224であり、それは、宛先IPヘッダーの最初のバイトである。それは、ソフトウエアが、新しいブロックに宛先IPアドレスのそれ以降のすべてのバイトを割り当てるための指示である、デフォルトの経路を見つける。ソフトウエアがデフォルトの経路を見つけると、ソフトウエアは、それがリンクノードであることを知る。リンクノード以降は、ソフトウエアは、ハードウエアに一致する宛先IPアドレスを検索してもらうことを望むすべてのバイトを新しいブロックに割り当てる。適切なソフトウエアアルゴリズムによれば、129、2、131が次に使用可能な3つのブロックであることがわかる。ソフトウエアは、次に、ブロック129の5番目のオフセットに2のBAを有する継続要素を、ブロック2の6番目のオフセットに131のBAを有する継続要素を、及び、ブロック131の7番目のオフセットにFLTオフセット5のリーフ要素をインストールする。リーフを有するかかる分岐が生成されると、ノードリンクが次にインストールされる。ノードは、新しいリーフされた(leafed)分岐において最後にインストールされなければならない。この場合のノードは、1番目のブロックのオフセット224において131のBAを有する継続要素である。
ハードウエアは、今や、宛先IPアドレスが224.5.6.7である任意の後続パケットに対して(ハードウエアがそれについて何も知らない場合でさえ)準備ができており、ハードウエアが宛先IPアドレスの224を認識した場合は、ハードウエアは、解析グラフの1番目のブロックの224番目のオフセットに行き、129のBAを有する継続要素を見つける。次に、ハードウエアは、129番目のブロックの5番目のオフセット(宛先IPアドレスの2番目のバイト)に行き、2のBAを有する別の継続要素を見つける。次に、ハードウエアは、2番目のブロックの6番目のオフセット(宛先IPアドレスの3番目のバイト)に行き、131のBAを有する別の継続要素を見つける。次に、ハードウエアは、131番目のブロックの7番目のオフセット(宛先IPアドレスの4番目のバイト)に行き、3のFLTを有するリーフ要素を見つける。今や、ハードウエアは、IPの突き合わせを完了したことを知り、ロケーション2における転送IDを後続のハードウエアブロックに転送し、パケット解析の終了を命じる。
ハードウエアは、ソフトウエアによってメモリに置かれた解析グラフの従属制御装置として単に動作するものであることに留意されたい。検索時間は、解析時間及びメモリサイズについてのソフトウエア要件に純粋に依存する。かかる解析の欠点は、メモリサイズと、検索時間に正比例する検索時間にある。
この場合、検索のために、ハードウエアは、解析グラフにおいて4つの参照、及び、FLTにおいて1つの参照を実行することになる。
図20の解析グラフを構築する際、例示的なマスク及びアドレスがそれぞれ255.255.255.0、4.6.7.xのパケットがインストールされる。この場合、ソフトウエアは、源ノードの4番目のオフセットに行き、129のBAを有する継続要素を見つける。次に、ソフトウエアは、ブロック129のオフセット6に行き、デフォルトのFLTオフセットを見つける。このとき、ソフトウエアは、それがリンクノードであることを知る。これ以降、ソフトウエアは、解析グラフにブロック2等のブロックをさらに割り当てなければならない。ブロック2のオフセット7では、ソフトウエアは、FLT3を有するリーフ要素をインストールする。次に、ソフトウエアは、ブロック129のオフセット6に2のBAを有する継続要素を書き込むことと併せて、リンクノードをインストールする。
ハードウエアは、ヘッダーが4.6.7.xの任意のパケットを受け取ると、源ノードの4番目のオフセットを調べて、129のBAを有する継続要素を見つけ、次に、ブロック129の6番目のオフセットを調べて、131のBAを有する継続要素を見つけ、次に、3のFLTを有するオフセット7におけるリーフ要素を調べる。このFLTは値が3であり、バッファマネージャ、そして、最終的には出力帯域幅マネージャに送られる。
マスクが255.255.0.0のパケット
サブセクションは、図20の解析グラフに基づいており、例示的な255.255.0.0のマスク及び4.8.x.yのアドレスを有するパケットをインストールする。この場合、ソフトウエアは、源ノードの4番目のオフセットに行き、129のBAを有する継続要素を見つける。次に、ソフトウエアは、ブロック129のオフセット8に行き、デフォルトのFLTオフセットを見つける。この時点で、ソフトウエアは、ブロック129の8番目のオフセットに新しいFLT(例えば4の)オフセットをインストールしなければならないことを知る。
ハードウエアは、ヘッダーが4.8.x.yの任意のパケットを受け取ると、源ノードの4番目のオフセットを調べて、129のBAを有する継続要素を見つけ、次に、4のFLTを有するブロックのリーフ要素を調べ、そして、検索を終了する。この場合、ハードウエアは2つの参照をするだけである。
フィルタリングされた複合パケット
ここで、ヘッダー4.5.6.8.9.x.y.z.11のパケットをフィルタリングする要件がある場合を想定する。パケットを解析する上述のコンセプトには何の制限もなく、パケットを解析するのに要する時間は、ハードウエアが9バイトを読み込んで比較する必要があるために増加する。ハードウエアは、リーフ要素を認識するまでは、単に解析を継続するだけである。x.y.zのバイトは、ブロックyを指示するxの全ての継続要素、ブロックzを指示するyの全ての継続要素、及び、リーフ(葉)としてエントリ11を有するブロックを指示するzの全ての継続要素、及び他はデフォルトである継続要素と共に、次のブロックを指示する継続要素を含むブロックである。この場合、分岐要素(fork element)が役割を果たすようになり、4.5.6.8の検索の終了時における転送を調べるために呼び出される。
単純なIPマルチキャストパケットの除去
パケットの除去は、上述した、解析グラフにアドレスを付加するステップの逆のステップに似ている。この実施態様における除去用の疑似コードを以下に示す。
各ブロックのアドレス及びブロック内のオフセットを記憶しているリーフの終わりまで移動して消す。
Figure 2006262517
出力帯域幅マネージャ
全てのI/Oモジュールは、NeoNポートを1つまたは複数の物理ポートに接続する。各I/Oモジュールは、単一の物理NeoNポートを介して導入される複数のトラフィックの優先順位をサポートする。図14に、「QoS(パケット及びセル)」と表示されているように、各トラフィックの優先順位は、ネットワークマネージャによってある帯域幅を割り当てられる。このセクションの目的は、複数のトラフィックプロファイルに対して、帯域幅をどのように管理するかを規定することである。
NeoNの待ち行列の概念
従って、本発明のNeoNの待ち行列の目的は、構成可能な固定帯域幅をすべてのプライオリティ待ち行列に関連付けること、及び、最高の回線利用度を保証すること、を可能とすることである。従来、帯域幅の割り当ては、システムにおいて、プライオリティ待ち行列ごとに一定数のバッファを割り当てることによってなされている。これは、プライオリティ待ち行列にデータを配置することは、帯域幅の割り当てを実施することであることを意味する。ある待ち行列のバッファが一杯になると、その待ち行列用のデータは、(その待ち行列にデータが配置されないことにより)失われるが、これは、理想的な要件をおおざっぱに近似したものである。
本発明のQoSの概念を理解するのに多くの現実の類推物がある。それらは、例えば、複数の進入ランプを設けたハイウェイ上の自動車、または、製造工程における多チャンネル化されたコンベア上を移動する物体である。本発明の目的に則して、「ハイウェイ上の自動車」の単純な例を検討しよう。8個のランプが、ハイウェイ上のあるポイントで1つの車線に統合される場合を考える。実際の経験上、これによって交通渋滞が生じる得るというのは誰でも知っている。しかし、適切に管理すれば(すなわち、適正なQoSがあれば)、単一のハイウェイ車線を最大の効率で使用することができる。この流れを管理する1つの方法は、コントロールしないことであり、最初に到来したものに最初にサービスをする方法(first come,first serviced method)でサービスをすることである。これは、1つのランプ上の救急車と別のランプ上の海辺に向かう車とを区別しないことを意味する。しかし、本発明の方法では、所定の進入ランプに対して所定の優遇特性を定義する。異なるメカニズムを生成することができ、1つは、ラウンド・ロビン方式で各進入ランプから1つの車を送り出すものである。この場合、各ランプは等価である。これは、車の数をカウントすることを意味する。しかし、これらの「車」のうちの1つが3つのトレーラを有する貨物自動車である場合は、実際には、ハイウェイの占有量によって評価されるので、すべての進入ランプについて等しいサービスが与えられるわけではない。実際、ある進入ランプの車がすべて貨物自動車の場合は、他のランプの渋滞が極めて重大な問題となる。そのため、車のサイズと重要性を評価することが重要である。「交通巡査(QoSマネージャとも呼ぶ)」の目的は、サイズ、重要度及び場合によっては車線番号に基づいて、どの車が通行権を有しているかを管理することである。「交通巡査」は、実際、「市長」(ネットワークマネージャとも呼ぶ)が決定したことに基づいて、一日おきに異なる車線進入特性についての命令を有することができる。QoSの概念を理解するための説明の結びとして言えば、QoSは、所定のデータグラムを、制御された方式で待ち行列を通過させて、決定論的かつ所望の目的を達成することを可能とするメカニズムであるということになる。そして、この目的は、例えば、帯域幅利用、精密な帯域幅割り当て、短い待ち時間、短い遅延、優先順位等のアプリケーション毎に異なる。
本発明のNeoN待ち行列生成は、問題を直接処理する。NeoN待ち行列生成は、バッファ割り当てを、待ち行列生成と帯域幅の問題に直交するパラメータとして見る。NeoN待ち行列は、物理的なワイヤ(電線)を「タイムスライス」と呼ばれる小時間単位に正確に分割する(1例として、OC48上の64バイトパケットのOC48の時間の場合約200ナノ秒)。バックプレーンからのパケットは、プライオリティ待ち行列に置かれる。パケットが待ち行列から取り出されるたびに、タイムスタンプがその待ち行列と共に付加される。タイムスタンプは、タイムスライスユニットの「現在の時間カウンタ」からの時間的な距離と、次のパケットをいつ待ち行列から分離すべきかを示す。「時間的な距離」は、a)バックプレーンから到来するパケットサイズ情報、b)スライスタイム自体の大きさ、及び、c)プライオリティ待ち行列に割り当てられた帯域幅、の関数である。パケットが待ち行列から分離されると、別のカウンタが更新されるが、それは、待ち行列から分離する次の時間(NTTD)を表しており、その時間は、例えば、たった今待ち行列から分離されたパケットのサイズの純粋な関数である。NTTDは、セルベースのカードに対するものである。なぜなら、全てのパケットは、サイズが同じであり、1つのバッファに収まるからである。これは、実際には、NeoN出力帯域幅マネージャが回線を監視しており、次に何を送るかを正確に決定するということを示している。従って、このメカニズムは、単なる待ち行列分離エンジンではなくて、帯域幅マネージャである。
さらに、本発明のNeoN待ち行列生成方式は、ABR(利用可能なビットレート)帯域幅に対するプライオリティ待ち行列生成を使用して、それぞれの優先順位に対して帯域幅を割り当てるためのTDM方式であると考えることができる。NeoN待ち行列生成によって付加される利点は、TDMメカニズムにおいて、帯域幅が、「パケットの数」ではなくて「パケットのバイトサイズ」に基づいて計算されるということである。この粒度(granularity)により、実際の帯域幅利用度が極めて良好に再現され、また、シュミレーション/近似ではなく真の帯域幅の計算が可能となる。2番目の「NeoNの利点」は、ネットワークマネージャが、ボリュームコントロールのメモリをスライドさせるのと同様にして、帯域幅要件を動的に変化させることができることである。これは実現可能である。なぜなら、プライオリティ待ち行列に対する帯域幅の計算は、バッファ割り当てには全く基づいていないからである。NeoN待ち行列生成では、帯域幅の割り当ては、物理的なワイヤにおける帯域幅をスライスする時間に基づいて行われる。このタイプの帯域幅管理は、非常に速い回線速度で動作しているときに、回線利用度を高い状態に維持するためには必須である。
待ち行列生成時に使用される数学的手法
最初に、基本的な数学で使用される変数及び定数を定義する。
Figure 2006262517
まず、種々の優先順位に対してどのように帯域幅を割り当てるかを理解するために、ユーザインターフェースレベルを検討すると、ユーザには、通常、種々の優先順位に対して100%の帯域幅を分割する作業が与えられる。ユーザには、また、全帯域幅を一秒あたりのビット単位で分割する作業が与えられる場合もある(例えば、OC48の場合、2.4ギガビット)。いずれの場合でも、あるCPUのソフトウエアは、%−優先順位、または、mビット/秒−優先順位から、複数の優先順位−Δnのペアを計算する。CPUがこの計算を実行するので、I/Oモジュールに基づいてこの計算を容易に変更することができる。帯域幅マネージャは、I/Oモジュールのタイプについて知っている必要はなく、優先順位−Δnのペアについて関心があるだけである。従って、ユーザが、最大の回線速度でデータを処理できないNeoNポートに接続されている場合は、CPUは、顧客の要求に対応すべくその値を変更することができる。
Δn=100/BWn (1)
プライオリティ待ち行列からの(パケットアドレス形式の)データは、出力FIFOで待ち行列行列から分離される。その待ち行列に対する次の送信時間についての待ち行列分離エンジンの計算結果は、下の式(2)によって決定される。各待ち行列についてかかる1つの数値があり、それは、パケットが待ち行列から取り出されるたびに更新される。NTTSに対する計算は、
NTTS=((パケットバイト数*BitTime)/(TS))*Δn)+NTTSn−1 (2)
である。ここで、BitTimeは、起動時にCPUによって与えることができる定数であり、I/Oモジュールに依存する。NTTSを少数第2位に維持することは、時間は無限に近づくが、瞬間的な粒度を常にTS時間として、100番目のTS時間まで帯域幅を割り当てることができることを意味する。
次に待ち行列から分離する時間は、現在の待ち行列からの分離の後に、待ち行列からの分離処理を開始する時間である。これは、主として、現在の時間とたった今待ち行列から分離したパケットにおけるバッファの数とに基づく。
NTTD=((パケットバイト数*BitTime)mod(TS))+CT (3)
待ち行列生成処理
ここでは、バックプレーンからプライオリティ待ち行列へのアドレスを待ち行列にするのに必要な処理を決定する。図24は、待ち行列生成及びスケジューリング処理を全体的に示す図である。「NeoN制御データ交換器」からの、データグラムのアドレスを含む制御データは、待ち行列生成エンジンによって制御データ内に埋め込まれたQoS情報に基づいて、プライオリティ待ち行列に格納される。スケジューリングエンジンの動作は、以下に記載する本発明の新規なアルゴリズムを使用してデータグラムのアドレスをスケジューリングする待ち行列生成エンジンとは独立に実行される。
待ち行列生成エンジンは、以下のタスクを有する。
・入力FIFOから読み出したデータを列に並べて、適切な待ち行列にパケットを配置する。8つのプライオリティ待ち行列、1つのローカルCPU待ち行列及び1つのドロップ待ち行列(Drop Queue)がある。
・ウォーターマーク(watermark)計算は、待ち行列に対するウォーターマークセットに基づいて、入力側に圧力(pressure)をかけるときに計算する。
・ドロップパケットは、プライオリティ待ち行列が一杯になったときに、パケットのドロップ(パケット落ち)を始める。
各プライオリティ待ち行列Pnについて、「ヘッドポインタ−pHead」と「テールポインタ−pTail」がある。入力FIFOは、バックプレーンからのバッファアドレスとともにプライオリティ待ち行列Pnを供給する。さらに進歩がある。OC48のレートの場合、平均サイズのパケットとして64バイトパケットを想定すると、以下の処理は、約200ナノ秒で完了する。待ち行列化プロセッサ用の本発明の好適な疑似コードは以下の通りである。
Figure 2006262517
言語による疑似コードについては上述した。各制御パケットが、「NeoN制御データ交換器」から読み出されると、そのパケットは、待ち行列で利用可能な物理空間について検査された後、N個の待ち行列の一つに配置される。待ち行列に配置するスペースがない場合は、データはドロップ待ち行列に入れられるが、これにより、ハードウエアは、「NeoN制御データ交換器」を介して源ポートにアドレスを返すことができる。また、好ましくないトラフィックを除去するよう入力に指示するために、待ち行列ごとにウォーターマークが設定される。このアルゴリズムは、単純だが、1TS内で実行されることを必要とする。
スケジューリング処理
このセクションでは、プライオリティ待ち行列Pnから出力FIFOへのアドレスを待ち行列から取り出すために使用するアルゴリズムについて説明する。この計算もまた、1TS間に完了しなければならない。
Figure 2006262517
待ち行列分離(待ち行列解体:De-Queue)機能は、概念的には以下に示すように単純なルーチンである。
De-Queue(Qn)
*pOutputQTail++=*pHead++
上記した疑似コードの説明では、アルゴリズムに2つのFORループがある。第1のFORループは、待ち行列に専用の帯域幅を割り当てるFORループであり、第2のFORループは、帯域幅の利用度についてサービスするもので、しばしば、帯域集約(aggregate bandwith)FORループと呼ばれる。
先ず第1のFORループ(Committed FOR Loop)を調べる。スケジューリングするために、優先順位の最も高い待ち行列から最も低い待ち行列まで、使用可能なデータグラムについて待ち行列がチェックされる。待ち行列が使用可能なデータグラムを有している場合は、アルゴリズムは、NTTSnをCTと比較することにより、待ち行列時間(Queues Time)が待ち行列の分解(dequeue)を実行しなければならないかどうかを確認するためにチェックする。NTTSnがCTより遅い場合は、待ち行列は分解され、それ以外の場合は、次の待ち行列に対して検索を実行し、これを全ての待ち行列をチェックするまで続行する。待ち行列からのデータが出力されるようにスケジューリングされている場合は、新たなNTTSnが、その待ち行列について計算され、また、NTTDは、任意の待ち行列が解体(待ち行列からデータを取り出して元のデータに戻すこと)されるときは常に計算される。ネットワークマネージャが、待ち行列に対して重みを割り当てるときは、すべての重みの合計は100%であるべきではない。NTTSnは、データグラムのサイズに基づいているので、待ち行列ごとの出力データは、ネットワークマネージャによって設定された帯域幅を極めて正確に実現するものである。
次に、帯域集約FORループについて調べる。このループは、前記第1のFORループ(Committed FOR Loop)の間に待ち行列の分解が行われなかったときにのみ、実行される。換言すれば、一つの待ち行列分解処理だけが、1TS内で実行される。このFORループでは、待ち行列の分解のために、全ての待ち行列が、最高の優先順位から最低の優先順位まで、使用可能なデータについてチェックされる。アルゴリズムは、2つの理由のうちの1つの理由で、このFORループに入る。すなわち、全ての待ち行列にデータがなかったか、あるいは、全ての待ち行列のNTTSnが、依然としてCT(これは、送信時間ではない)より前であったかのいずれかの理由である。アルゴリズムが、空の待ち行列について帯域集約FORループに入った場合、2回目には、その運命(fate)は同じになるであろう。しかしながら、NTTSnが、待ち行列すべてについては取得されなかったために帯域集約FORループに入った場合は、このループにより、待ち行列化、及び、待ち行列解体等の最高優先順位が見いだされることになり、この場合、さらに、NTTSnが更新され、NTTDが計算される。
アルゴリズムは、データをもたない待ち行列に、それらのタイムスロットで待ち行列の解体を行うためにクレジット(credit)を組み込み、また、帯域幅集約ループで待ち行列から取り出されるデータに対する借方(debit)を組み込む。これらのクレジットと借方は、長い時間期間にわたって累算することができる。これらの借方とクレジットの累算時間は、NTTSnフィールドのビットサイズの直接の関数であり、例えば、32ビット数の場合は、TSとして160ナノ秒(232=160ナノ秒)を使用すると、各方向で6分となる。このアルゴリズムを使用するそれぞれのアプリケーションに依存して、クレジット及び/または借方を解除するように個々の待ち行列を構成することができる。例えば、アルゴリズムがCBRタイプの回路に対して主に使用される場合は、借方を公平に迅速にクリアすることが要求されるであろうが、トラフィックが混雑している場合は、クリアされるのは遅くなる。借方/クレジットをクリアするメカニズムは、非常に単純であり、非同期的にNTTSnをCTに設定するものである。NTTSnがCTより(時間的に)前であって、待ち行列が多くの借方を組み込んでいる場合、NTTSnをCTに設定することは、すべての借方を解除することを意味する。同様に、NTTSnがCTの後であっって、待ち行列がたくさんのクレジットを組み込んでいる場合は、NTTSnをCTに設定することは、すべてのクレジットを解除することを意味する。
本アルゴリズムを使用したCBR待ち行列の実施例
ここで、再度図24を参照して、上記アルゴリズムからCBR待ち行列を構築する方法について検討する。出力線(ワイヤ)がOC48の速度(2.4ギガビット/秒)で動作しており、(優先順位が最高の)待ち行列1(図面ではキュー1と記載)が、CBR待ち行列となるように割り当てられている場合を想定する。CBR待ち行列に対して重みを構成する方法は、入力CBR流れの帯域幅要件を全て合計することによって構成される。簡単のために、100の流れがCBR待ち行列を通過し、各々の帯域幅要件が2.4メガビット/秒の場合を考える。CBR待ち行列の帯域幅は、この場合、2.4メガビット/秒の100倍、すなわち、240メガビット/秒(すなわち、10%)となる。つまり、
QRATEcbr=Σ入力流れの帯域幅
Δn=100/10=10:式(1)に基づく。
NTTSnは、45バイトのデータグラムが待ち行列から取り出されるたびに、10になる。:式(2)に基づく。
NTTSnは、90バイトのデータグラムが待ち行列から取り出されるたびに、20になる。:式(2)に基づく。
NTTDは、45バイトのデータグラムが待ち行列から取り出されるたびに、1になる。:式(3)に基づく。
NTTDは、90バイトのデータグラムが待ち行列から取り出されるたびに、2になる。:式(3)に基づく。
このことは、データグラムのサイズと、待ち行列に割り当てられた帯域幅の割合(%)に基づいて、待ち行列が非常にタイムリーに分解されることを示している。このアルゴリズムはワイヤ上の速度とは無関係であり、その速度を非常にスケーラブルなものにし、また、非常に高速のデータ速度を実現することができる。このアルゴリズムは、また、データグラムがセルであるかパケットであるかに関係なく、スケジューリングの間、データグラムのサイズを考慮に入れる。ネットワークマネージャが、待ち行列の重みをすべての入力CBR流れ帯域幅の総和として設定する限り、アルゴリズムは、極めて正確にスケジューリングを実行する。
このアルゴリズムを使用してUBR待ち行列を実装することは非常に簡単である。UBRは、ワイヤ上の残りの帯域を使用する待ち行列を表している。このタイプの待ち行列を、帯域幅(の割合)が0%のN個の待ち行列の一つとして実現すると、分解される待ち行列が他にないときはこの待ち行列が分解される。アルゴリズムがあるデータグラムを待ち行列から取り出した後、次のデータグラムのスケジューリングがされないように、NTTSはずっと先の時間に設定される。
QoSの結び
上述したように、本発明のアルゴリズムは、帯域幅を分配することにおいて極めて正確であり、その粒度は、TSのサイズに基づいており、セル/パケット情報とは無関係である。本発明のアルゴリズムは、また、要求される全てのATMサービスを提供するが、このことは、パケットもATMサービスを享受するというだけでなく、セルとパケットが同じインターフェース上に共存するということを意味している。
ネットワークマネージャの実際例
このセクションでは、いくつかのネットワーク管理帯域幅の管理シナリオについて検討する。これらは全て本発明によって好適に取り扱われる。NeoNネットワークコントローラに関する限り、各々に帯域幅が割り当てられたn個(例えば、8個)の出力待ち行列がある。出力帯域幅マネージャは、帯域幅の割合を非常に正確に配分する。ネットワークマネージャは、また、すべての待ち行列に100%の帯域幅を割り当てないように決定することができ、この場合、残りの帯域幅は、優先順位の高い方から低い方の順に単純に分配される。これらの2つの制御レベルに加えて、ネットワークマネージャは、また、優先順位ごとに統計量を検査して、それ自身についての戦略的な統計決定を行い、帯域幅割り当ての割合を変更することができる。
例1:固定帯域幅
このシナリオでは、帯域幅の100%がすべての待ち行列に分割される。すべての待ち行列が常に満杯の場合は、待ち行列は、公平に重み付けされた待ち行列と全く同様に振る舞う。これは、出力帯域幅マネージャが、ネットワークマネージャによって要求された回線帯域幅の割合を分配すること、及び、待ち行列が空ではないため、上述したように、出力帯域幅が、第2のFORループ(帯域幅集約ループ)を実行する時間をもたないこと、による。
しかしながら、待ち行列が常に満杯であるというわけではない場合は、待ち行列が空である時間中に、他のある待ち行列に対して、当該他の待ち行列の帯域幅に負担をかけることなく、それの時間に先だってサービスを行うことができる。
例えば、ネットワークマネージャが、8個の待ち行列の各々の全てに12.5%の帯域幅を割り当てることを決定すると、ネットワークマネージャは、出力帯域幅マネージャに、
Δn−優先順位:各優先順位に対して1つの全てのΔnのリスト
Bit Time :I/Oモジュールに基づいて、出力帯域幅マネージャが動作中
12.5%の帯域幅の場合、Δnは、8.00(100/12.5)と計算される。OC48の場合は、Bit Time は、402psecと計算される。
例2:混合帯域幅
この例では、帯域幅の全てが、全ての待ち行列に分割されるわけではない。実際、待ち行列に対する全固定帯域幅の和は、利用可能な帯域幅の100%ではない。出力帯域幅マネージャは、割当量になるまで一定の帯域幅を待ち行列に分配し、次に、残りの帯域幅において優先順位間にトラフィックを集める。これによって、あるクラスのトラフィックのある割合がポートを通過することができるようになり、また、トラフィックに優先順位が付けられることが保証される。割り当て時間中満杯ではない待ち行列については、その帯域幅は、集約帯域幅に奪われることになる。
例3:全ての待ち行列に対して混合されない帯域幅
このシナリオでは、すべての待ち行列に固定帯域幅として0%が割り当てられる。この場合、待ち行列は、優先順位付けされた待ち行列と全く同様に振る舞う。前述した第1のFORループは0のスケジューリングを行うが、これは、NOPとみなされる。
例4:動的な帯域幅
この例の場合、ネットワークマネージャは、まず、全ての待ち行列に対して混合されない帯域幅を提供することができ、次に、専用帯域幅回線(committed bandwidth circuit)の構築を開始するときに、固定帯域幅の待ち行列を生成することができる。入力ポートにおける流れの帯域幅要件の和は、出力ポートにおける一定帯域幅のサイズを示す。割り当て可能な出力帯域幅の粒度は、浮動小数点の深さに大きく依存する。一例として、小数第2位で十分な場合を想定する。これは、100分の1%を意味しており、OC48回線に対して240kHz、OC12回線に対して62kHzとして計算される。
上述のケースは、例示として挙げただけであり、本発明のアルゴリズムの適用は、それらのケースに限定されないということは明らかである。
当業者は更なる修正を行うことができようが、それらの修正は、特許請求の範囲に記載されている、本発明の思想及び範囲に入るものとみなされる。
ATM(同期転送モード)セルのフォーマットを示す図である。 32ビットワードのインターネットプロトコル(IP)のフレームフォーマットを示す図である。 時分割多重方式(TDM)、ATM、及び、パケットデータフレーム転送を比較したフローチャートである。 セル及びパケットインターフェースを具備する本発明の交換器のブロック図である。 従来技術によるバスベースの交換アーキテクチャのブロック図である。 従来技術によるメモリベースの交換データフロー図である。 従来技術によるクロスバータイプの交換アーキテクチャのブロック図である。 従来技術によるクロスバーデータフロー図である。 本来のインターフェースカードを備えたセル交換器、セル交換器上のパケットインターフェース、及び、セル交換器上のAAL5パケットインターフェース、及びそれらのすべてをクロスバーまたはメモリ交換器と共に示すインターフェース図である。 本来のインターフェースカードを備えたセル交換器、セル交換器上のパケットインターフェース、及び、セル交換器上のAAL5パケットインターフェース、及びそれらのすべてをクロスバーまたはメモリ交換器と共に示すインターフェース図である。 本来のインターフェースカードを備えたセル交換器、セル交換器上のパケットインターフェース、及び、セル交換器上のAAL5パケットインターフェース、及びそれらのすべてをクロスバーまたはメモリ交換器と共に示すインターフェース図である。 N×Nのメモリ接続バス用の、本来のパケットインターフェースカード、及び、AAL5インターフェースを備えたパケット交換器を示す図である。 N×Nのメモリ接続バス用の、本来のパケットインターフェースカード、及び、AAL5インターフェースを備えたパケット交換器を示す図である。 本発明の交換器アーキテクチャのブロック図であり、本願の譲受人、NeoNET LLCのブランド名として、パケット及びセルデータ交換器に関連して語句「NeoN」を使用している。 転送判断に対して拡張された解析機能の流れ、及び、びかかる機能の概要を示すブロック図である。 転送判断に対して拡張された解析機能の流れ、及び、びかかる機能の概要を示すブロック図である。 転送要素を示す図である。 第1段階の解析グラフのツリールックアップを示すブロック図である。 第2段階の転送テーブルルックアップ(FLT)を示す図である。 起動時の解析グラフメモリ、及び、簡単に例示したIPマルチキャストパケットを示す図である。 起動時の解析グラフメモリ、及び、簡単に例示したIPマルチキャストパケットを示す図である。 初期化されたルックアップテーブルを示しており、すべてのエントリが、未知の経路/セル転送情報を示している。 例示的なIPアドレス(209.6.34.224/32)を追加した後のルックアップテーブルを示す。 システム動作のスケジューリングを行うための待ち行列を示す図である。

Claims (1)

  1. パケット情報の転送を管理する転送交換器及び待ち行列からの該パケット情報を処理する方法であって、各パケットが、前記交換器から読み出されるときに、
    待ち行列に利用可能な物理空間が存在することが確認された後に、前記パケット情報を複数の待ち行列のうちの一つに入れるステップと、
    利用可能な物理空間がない場合には、前記パケット情報をドロップ待ち行列に入れて、前記交換器を介して該パケット情報を返すステップと、
    好ましくない情報トラフィックを除去できるようにするために、各待ち行列にウォーターマークを設定するステップと、
    パケットのバイトサイズによって、及び、帯域幅のタイムスライスに基づいて、それぞれの優先順位に対して割り当てるステップ
    とからなる方法。
JP2006141120A 1997-12-30 2006-05-22 ネットワークキングシステム Pending JP2006262517A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/001,040 US6259699B1 (en) 1997-12-30 1997-12-30 System architecture for and method of processing packets and/or cells in a common switch

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000527888A Division JP2002501311A (ja) 1997-12-30 1998-12-07 ネットワークキングシステム

Publications (1)

Publication Number Publication Date
JP2006262517A true JP2006262517A (ja) 2006-09-28

Family

ID=21694095

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000527888A Ceased JP2002501311A (ja) 1997-12-30 1998-12-07 ネットワークキングシステム
JP2006141120A Pending JP2006262517A (ja) 1997-12-30 2006-05-22 ネットワークキングシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000527888A Ceased JP2002501311A (ja) 1997-12-30 1998-12-07 ネットワークキングシステム

Country Status (9)

Country Link
US (1) US6259699B1 (ja)
EP (2) EP1050181B1 (ja)
JP (2) JP2002501311A (ja)
CN (1) CN1197305C (ja)
AU (1) AU1254699A (ja)
CA (1) CA2313771C (ja)
DE (1) DE69838688D1 (ja)
IL (1) IL136653A0 (ja)
WO (1) WO1999035577A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101753413B1 (ko) 2009-01-28 2017-07-19 헤드워터 리서치 엘엘씨 적응형 엠비언트 서비스

Families Citing this family (276)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937312B1 (en) 1995-04-26 2011-05-03 Ebay Inc. Facilitating electronic commerce transactions through binding offers
US7702540B1 (en) 1995-04-26 2010-04-20 Ebay Inc. Computer-implement method and system for conducting auctions on the internet
US7647243B2 (en) 1995-11-07 2010-01-12 Ebay Inc. Electronic marketplace system and method for creation of a two-tiered pricing scheme
US7462746B2 (en) * 1996-06-28 2008-12-09 University Of Southern California Amino polyols and amino sugars
US6549519B1 (en) * 1998-01-23 2003-04-15 Alcatel Internetworking (Pe), Inc. Network switching device with pipelined search engines
US6161144A (en) 1998-01-23 2000-12-12 Alcatel Internetworking (Pe), Inc. Network switching device with concurrent key lookups
US6470021B1 (en) * 1998-01-27 2002-10-22 Alcatel Internetworking (Pe), Inc. Computer network switch with parallel access shared memory architecture
US6643285B1 (en) * 1998-02-17 2003-11-04 Nortel Networks Limited Message based packet switch based on a common, generic bus medium for transport
GB2337429B (en) * 1998-05-15 2003-10-29 Northern Telecom Ltd Telecommunications system
US6650644B1 (en) * 1998-05-20 2003-11-18 Nortel Networks Limited Method and apparatus for quality of service translation
WO2000003516A1 (en) * 1998-07-08 2000-01-20 Broadcom Corporation Network switching architecture with multiple table synchronization, and forwarding of both ip and ipx packets
JP3077677B2 (ja) * 1998-07-14 2000-08-14 日本電気株式会社 品質保証ノード装置
JP3602972B2 (ja) * 1998-07-28 2004-12-15 富士通株式会社 通信性能測定装置及びその測定方法
JP3002726B1 (ja) * 1998-07-31 2000-01-24 東京大学長 可変速度ディジタル交換方式
US6580721B1 (en) * 1998-08-11 2003-06-17 Nortel Networks Limited Routing and rate control in a universal transfer mode network
US7843898B1 (en) * 1998-08-31 2010-11-30 Verizon Services Corp. Selective bandwidth connectivity through network line cards
US6393026B1 (en) * 1998-09-17 2002-05-21 Nortel Networks Limited Data packet processing system and method for a router
US6678269B1 (en) 1998-10-05 2004-01-13 Alcatel Network switching device with disparate database formats
US6920146B1 (en) * 1998-10-05 2005-07-19 Packet Engines Incorporated Switching device with multistage queuing scheme
US6631119B1 (en) * 1998-10-16 2003-10-07 Paradyne Corporation System and method for measuring the efficiency of data delivery in a communication network
WO2000024510A1 (en) * 1998-10-23 2000-05-04 University Of Southern California Combinatorial approach to chiral reagents or catalysts having amine or amino alcohol ligands
US6747986B1 (en) * 1998-11-25 2004-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Packet pipe architecture for access networks
US6353858B1 (en) * 1998-11-30 2002-03-05 Lucent Technologies Inc. Multiple-local area networks interconnected by a switch
US6917617B2 (en) * 1998-12-16 2005-07-12 Cisco Technology, Inc. Use of precedence bits for quality of service
US6765911B1 (en) * 1999-02-03 2004-07-20 International Business Machines Corporation Communications adapter for implementing communications in a network and providing multiple modes of communications
US6498782B1 (en) 1999-02-03 2002-12-24 International Business Machines Corporation Communications methods and gigabit ethernet communications adapter providing quality of service and receiver connection speed differentiation
US6466580B1 (en) * 1999-02-23 2002-10-15 Advanced Micro Devices, Inc. Method and apparatus for processing high and low priority frame data transmitted in a data communication system
US6683885B1 (en) * 1999-02-24 2004-01-27 Hitachi, Ltd. Network relaying apparatus and network relaying method
JP4182180B2 (ja) * 1999-02-24 2008-11-19 株式会社日立製作所 ネットワーク中継装置及びネットワーク中継方法
US6628617B1 (en) * 1999-03-03 2003-09-30 Lucent Technologies Inc. Technique for internetworking traffic on connectionless and connection-oriented networks
US6707818B1 (en) * 1999-03-17 2004-03-16 Broadcom Corporation Network switch memory interface configuration
US7643481B2 (en) * 1999-03-17 2010-01-05 Broadcom Corporation Network switch having a programmable counter
US7366171B2 (en) * 1999-03-17 2008-04-29 Broadcom Corporation Network switch
US7392279B1 (en) * 1999-03-26 2008-06-24 Cisco Technology, Inc. Network traffic shaping using time-based queues
US6757791B1 (en) * 1999-03-30 2004-06-29 Cisco Technology, Inc. Method and apparatus for reordering packet data units in storage queues for reading and writing memory
US6594279B1 (en) * 1999-04-22 2003-07-15 Nortel Networks Limited Method and apparatus for transporting IP datagrams over synchronous optical networks at guaranteed quality of service
CA2369081C (en) * 1999-04-30 2012-02-07 X.Com Corporation System and method for electronically exchanging value among distributed users
US6636509B1 (en) * 1999-05-11 2003-10-21 Cisco Technology, Inc. Hardware TOS remapping based on source autonomous system identifier
US6460088B1 (en) * 1999-05-21 2002-10-01 Advanced Micro Devices, Inc. Method and apparatus for port vector determination at egress
US6633565B1 (en) * 1999-06-29 2003-10-14 3Com Corporation Apparatus for and method of flow switching in a data communications network
CA2276681A1 (en) * 1999-06-30 2000-12-30 Newbridge Networks Corporation Subscriber permissions and restrictions for switched connections in a communications network
US6567417B2 (en) * 2000-06-19 2003-05-20 Broadcom Corporation Frame forwarding in a switch fabric
US7068661B1 (en) 1999-07-13 2006-06-27 Alcatel Canada Inc. Method and apparatus for providing control information in a system using distributed communication routing
US6990103B1 (en) * 1999-07-13 2006-01-24 Alcatel Canada Inc. Method and apparatus for providing distributed communication routing
US6985431B1 (en) * 1999-08-27 2006-01-10 International Business Machines Corporation Network switch and components and method of operation
US6868082B1 (en) * 1999-08-30 2005-03-15 International Business Machines Corporation Network processor interface for building scalable switching systems
US7546444B1 (en) 1999-09-01 2009-06-09 Intel Corporation Register set used in multithreaded parallel processor architecture
US6882642B1 (en) 1999-10-14 2005-04-19 Nokia, Inc. Method and apparatus for input rate regulation associated with a packet processing pipeline
US6757249B1 (en) 1999-10-14 2004-06-29 Nokia Inc. Method and apparatus for output rate regulation and control associated with a packet pipeline
US6934250B1 (en) 1999-10-14 2005-08-23 Nokia, Inc. Method and apparatus for an output packet organizer
US6856967B1 (en) 1999-10-21 2005-02-15 Mercexchange, Llc Generating and navigating streaming dynamic pricing information
US7389251B1 (en) 1999-10-21 2008-06-17 Mercexchange, Llc Computer-implemented method for managing dynamic pricing information
AU3528600A (en) * 1999-10-21 2001-04-30 Navlet.Com, Inc. Context-sensitive switching in a computer network environment
US6963572B1 (en) * 1999-10-22 2005-11-08 Alcatel Canada Inc. Method and apparatus for segmentation and reassembly of data packets in a communication switch
US7046665B1 (en) * 1999-10-26 2006-05-16 Extreme Networks, Inc. Provisional IP-aware virtual paths over networks
US6687247B1 (en) * 1999-10-27 2004-02-03 Cisco Technology, Inc. Architecture for high speed class of service enabled linecard
US6741591B1 (en) * 1999-11-03 2004-05-25 Cisco Technology, Inc. Search engine interface system and method
US20010030969A1 (en) * 1999-11-30 2001-10-18 Donaghey Robert J. Systems and methods for implementing global virtual circuits in packet-switched networks
US20020009088A1 (en) * 1999-11-30 2002-01-24 Donaghey Robert J. Systems and methods for negotiating virtual circuit paths in packet switched networks
US6976258B1 (en) 1999-11-30 2005-12-13 Ensim Corporation Providing quality of service guarantees to virtual hosts
US6463067B1 (en) * 1999-12-13 2002-10-08 Ascend Communications, Inc. Submission and response architecture for route lookup and packet classification requests
US6738819B1 (en) * 1999-12-27 2004-05-18 Nortel Networks Limited Dynamic admission control for IP networks
US6744767B1 (en) * 1999-12-30 2004-06-01 At&T Corp. Method and apparatus for provisioning and monitoring internet protocol quality of service
US6744776B1 (en) * 2000-01-28 2004-06-01 Advanced Micro Devices, Inc. Servicing priority traffic in multiport network switch
GB2358764B (en) * 2000-01-28 2004-06-30 Vegastream Ltd Casualty-based memory access ordering in a multriprocessing environment
US7343421B1 (en) 2000-02-14 2008-03-11 Digital Asset Enterprises Llc Restricting communication of selected processes to a set of specific network addresses
US6721316B1 (en) 2000-02-14 2004-04-13 Cisco Technology, Inc. Flexible engine and data structure for packet header processing
US6778546B1 (en) * 2000-02-14 2004-08-17 Cisco Technology, Inc. High-speed hardware implementation of MDRR algorithm over a large number of queues
US6813243B1 (en) 2000-02-14 2004-11-02 Cisco Technology, Inc. High-speed hardware implementation of red congestion control algorithm
US6731644B1 (en) 2000-02-14 2004-05-04 Cisco Technology, Inc. Flexible DMA engine for packet header modification
US6977930B1 (en) * 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
IL151299A0 (en) 2000-02-16 2003-04-10 Brigham & Womens Hospital Aspirin-triggered lipid mediators
US7000034B2 (en) * 2000-03-02 2006-02-14 Agere Systems Inc. Function interface system and method of processing issued functions between co-processors
US6850516B2 (en) * 2000-03-02 2005-02-01 Agere Systems Inc. Virtual reassembly system and method of operation thereof
US6704794B1 (en) * 2000-03-03 2004-03-09 Nokia Intelligent Edge Routers Inc. Cell reassembly for packet based networks
US6948003B1 (en) 2000-03-15 2005-09-20 Ensim Corporation Enabling a service provider to provide intranet services
US6665868B1 (en) * 2000-03-21 2003-12-16 International Business Machines Corporation Optimizing host application presentation space recognition events through matching prioritization
US6671280B1 (en) * 2000-03-29 2003-12-30 International Business Machines Corporation Network processor for multiprotocol data flows
US6751224B1 (en) * 2000-03-30 2004-06-15 Azanda Network Devices, Inc. Integrated ATM/packet segmentation-and-reassembly engine for handling both packet and ATM input data and for outputting both ATM and packet data
US6810039B1 (en) * 2000-03-30 2004-10-26 Azanda Network Devices, Inc. Processor-based architecture for facilitating integrated data transfer between both atm and packet traffic with a packet bus or packet link, including bidirectional atm-to-packet functionally for atm traffic
US6785237B1 (en) * 2000-03-31 2004-08-31 Networks Associates Technology, Inc. Method and system for passive quality of service monitoring of a network
US6657962B1 (en) * 2000-04-10 2003-12-02 International Business Machines Corporation Method and system for managing congestion in a network
US7106728B1 (en) 2000-05-01 2006-09-12 Industrial Technology Research Institute Switching by multistage interconnection of concentrators
US6985937B1 (en) 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
US6907421B1 (en) 2000-05-16 2005-06-14 Ensim Corporation Regulating file access rates according to file type
US7222147B1 (en) 2000-05-20 2007-05-22 Ciena Corporation Processing network management data in accordance with metadata files
US7111053B1 (en) 2000-05-20 2006-09-19 Ciena Corporation Template-driven management of telecommunications network via utilization of operations support services clients
US7225244B2 (en) 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US7266595B1 (en) 2000-05-20 2007-09-04 Ciena Corporation Accessing network device data through user profiles
US7143153B1 (en) 2000-11-09 2006-11-28 Ciena Corporation Internal network device dynamic health monitoring
US7240364B1 (en) 2000-05-20 2007-07-03 Ciena Corporation Network device identity authentication
US6880086B2 (en) 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US6876652B1 (en) 2000-05-20 2005-04-05 Ciena Corporation Network device with a distributed switch fabric timing system
US6601186B1 (en) 2000-05-20 2003-07-29 Equipe Communications Corporation Independent restoration of control plane and data plane functions
US6930890B1 (en) 2000-05-20 2005-08-16 Ciena Corporation Network device including reverse orientated modules
US6658579B1 (en) 2000-05-20 2003-12-02 Equipe Communications Corporation Network device with local timing systems for automatic selection between redundant, synchronous central timing systems
US6671699B1 (en) 2000-05-20 2003-12-30 Equipe Communications Corporation Shared database usage in network devices
US6742134B1 (en) 2000-05-20 2004-05-25 Equipe Communications Corporation Maintaining a local backup for data plane processes
US7054272B1 (en) 2000-07-11 2006-05-30 Ciena Corporation Upper layer network device including a physical layer test port
US6332198B1 (en) 2000-05-20 2001-12-18 Equipe Communications Corporation Network device for supporting multiple redundancy schemes
US6868092B1 (en) 2000-05-20 2005-03-15 Ciena Corporation Network device with embedded timing synchronization
US7062642B1 (en) * 2000-05-20 2006-06-13 Ciena Corporation Policy based provisioning of network device resources
US6654903B1 (en) 2000-05-20 2003-11-25 Equipe Communications Corporation Vertical fault isolation in a computer system
US7039046B1 (en) 2000-05-20 2006-05-02 Ciena Corporation Network device including central and distributed switch fabric subsystems
US6708291B1 (en) 2000-05-20 2004-03-16 Equipe Communications Corporation Hierarchical fault descriptors in computer systems
US6715097B1 (en) 2000-05-20 2004-03-30 Equipe Communications Corporation Hierarchical fault management in computer systems
US7051097B1 (en) 2000-05-20 2006-05-23 Ciena Corporation Embedded database for computer system management
US7020696B1 (en) 2000-05-20 2006-03-28 Ciena Corp. Distributed user management information in telecommunications networks
US6934749B1 (en) 2000-05-20 2005-08-23 Ciena Corporation Tracking distributed data retrieval in a network device
US7225240B1 (en) 2000-05-20 2007-05-29 Ciena Corporation Decoupling processes from hardware with logical identifiers
US6639910B1 (en) 2000-05-20 2003-10-28 Equipe Communications Corporation Functional separation of internal and external controls in network devices
US7349960B1 (en) 2000-05-20 2008-03-25 Ciena Corporation Throttling distributed statistical data retrieval in a network device
US7130870B1 (en) 2000-05-20 2006-10-31 Ciena Corporation Method for upgrading embedded configuration databases
US6591285B1 (en) 2000-06-16 2003-07-08 Shuo-Yen Robert Li Running-sum adder networks determined by recursive construction of multi-stage networks
US7286565B1 (en) * 2000-06-28 2007-10-23 Alcatel-Lucent Canada Inc. Method and apparatus for packet reassembly in a communication switch
US7143024B1 (en) 2000-07-07 2006-11-28 Ensim Corporation Associating identifiers with virtual processes
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
SE519269C2 (sv) * 2000-07-25 2003-02-11 Telia Ab Metod och arrangemang för pakethantering i en router
US7184440B1 (en) * 2000-07-26 2007-02-27 Alcatel Canada Inc. Multi-protocol switch and method therefore
US20020016708A1 (en) * 2000-08-02 2002-02-07 Henry Houh Method and apparatus for utilizing a network processor as part of a test system
US6909691B1 (en) * 2000-08-07 2005-06-21 Ensim Corporation Fairly partitioning resources while limiting the maximum fair share
US6724759B1 (en) * 2000-08-11 2004-04-20 Paion Company, Limited System, method and article of manufacture for transferring a packet from a port controller to a switch fabric in a switch fabric chipset system
GB0019863D0 (en) * 2000-08-11 2000-09-27 Univ Court Of The University O Assay for inhibitors of cell cycle progression
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
JP3646638B2 (ja) * 2000-09-06 2005-05-11 日本電気株式会社 パケット交換装置及びそれに用いるスイッチ制御方法
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US7227862B2 (en) * 2000-09-20 2007-06-05 Broadcom Corporation Network switch having port blocking capability
JP4328459B2 (ja) * 2000-10-27 2009-09-09 Necエンジニアリング株式会社 ネットワークのサービス品質測定システム及びその方法
US6894970B1 (en) * 2000-10-31 2005-05-17 Chiaro Networks, Ltd. Router switch fabric protection using forward error correction
US7133399B1 (en) 2000-10-31 2006-11-07 Chiaro Networks Ltd System and method for router central arbitration
CA2326851A1 (en) * 2000-11-24 2002-05-24 Redback Networks Systems Canada Inc. Policy change characterization method and apparatus
KR100358153B1 (ko) * 2000-12-18 2002-10-25 한국전자통신연구원 서비스 품질을 지원하는 아이피 패킷 포워딩 분산 처리장치 및 그 방법
US7219354B1 (en) 2000-12-22 2007-05-15 Ensim Corporation Virtualizing super-user privileges for multiple virtual processes
US6691202B2 (en) * 2000-12-22 2004-02-10 Lucent Technologies Inc. Ethernet cross point switch with reduced connections by using column control buses
US7130302B2 (en) * 2000-12-28 2006-10-31 International Business Machines Corporation Self-route expandable multi-memory packet switch
US6990121B1 (en) * 2000-12-30 2006-01-24 Redback, Networks, Inc. Method and apparatus for switching data of different protocols
US7035212B1 (en) * 2001-01-25 2006-04-25 Optim Networks Method and apparatus for end to end forwarding architecture
US7342942B1 (en) * 2001-02-07 2008-03-11 Cortina Systems, Inc. Multi-service segmentation and reassembly device that maintains only one reassembly context per active output port
US6901073B2 (en) * 2001-02-14 2005-05-31 Northrop Grumman Corporation Encapsulation method and apparatus for communicating fixed-length data packets through an intermediate network
US6965945B2 (en) 2001-03-07 2005-11-15 Broadcom Corporation System and method for slot based ARL table learning and concurrent table search using range address insertion blocking
US7626999B2 (en) * 2001-03-16 2009-12-01 Tellabs San Jose, Inc. Apparatus and methods for circuit emulation of a point-to-point protocol operating over a multi-packet label switching network
US20020181476A1 (en) * 2001-03-17 2002-12-05 Badamo Michael J. Network infrastructure device for data traffic to and from mobile units
US6940854B1 (en) * 2001-03-23 2005-09-06 Advanced Micro Devices, Inc. Systems and methods for determining priority based on previous priority determinations
US7263597B2 (en) 2001-04-19 2007-08-28 Ciena Corporation Network device including dedicated resources control plane
US6526046B1 (en) * 2001-04-24 2003-02-25 General Bandwidth Inc. System and method for communicating telecommunication information using asynchronous transfer mode
US6904057B2 (en) * 2001-05-04 2005-06-07 Slt Logic Llc Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification
US6944168B2 (en) * 2001-05-04 2005-09-13 Slt Logic Llc System and method for providing transformation of multi-protocol packets in a data stream
US6901052B2 (en) * 2001-05-04 2005-05-31 Slt Logic Llc System and method for policing multiple data flows and multi-protocol data flows
US7042848B2 (en) * 2001-05-04 2006-05-09 Slt Logic Llc System and method for hierarchical policing of flows and subflows of a data stream
US7327760B1 (en) * 2001-05-08 2008-02-05 Cortina Systems, Inc. Multi-service segmentation and reassembly device operable with either a cell-based or a packet-based switch fabric
US7099325B1 (en) 2001-05-10 2006-08-29 Advanced Micro Devices, Inc. Alternately accessed parallel lookup tables for locating information in a packet switched network
US6990102B1 (en) * 2001-05-10 2006-01-24 Advanced Micro Devices, Inc. Parallel lookup tables for locating information in a packet switched network
US7082104B2 (en) * 2001-05-18 2006-07-25 Intel Corporation Network device switch
US7406518B2 (en) * 2001-05-18 2008-07-29 Lucent Technologies Inc. Method and system for connecting virtual circuits across an ethernet switch
US7006518B2 (en) * 2001-05-25 2006-02-28 Integrated Device Technology, Inc. Method and apparatus for scheduling static and dynamic traffic through a switch fabric
US7130276B2 (en) * 2001-05-31 2006-10-31 Turin Networks Hybrid time division multiplexing and data transport
US7230948B2 (en) * 2001-06-01 2007-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth efficient Quality of Service separation of AAL2 traffic
US7609695B2 (en) * 2001-06-15 2009-10-27 Industrial Technology Research Institute Optimizing switching element for minimal latency
US7103059B2 (en) 2001-06-15 2006-09-05 Industrial Technology Research Institute Scalable 2-stage interconnections
US7181547B1 (en) 2001-06-28 2007-02-20 Fortinet, Inc. Identifying nodes in a ring network
US8001248B1 (en) 2001-07-13 2011-08-16 Cisco Technology, Inc. System and method for providing quality of service to DSL internet connections
US7245632B2 (en) * 2001-08-10 2007-07-17 Sun Microsystems, Inc. External storage for modular computer systems
EP1421750B1 (en) 2001-08-30 2007-01-17 Tellabs Operations, Inc. System and method for communicating data using a common switch fabric
US7310348B2 (en) * 2001-09-19 2007-12-18 Bay Microsystems, Inc. Network processor architecture
AU2002326995A1 (en) 2001-09-19 2003-04-01 Bay Microsystems, Inc. Vertical instruction and data processing in a network processor architecture
US7042888B2 (en) * 2001-09-24 2006-05-09 Ericsson Inc. System and method for processing packets
US7248593B2 (en) * 2001-09-25 2007-07-24 Intel Corporation Method and apparatus for minimizing spinlocks and retaining packet order in systems utilizing multiple transmit queues
US7039061B2 (en) * 2001-09-25 2006-05-02 Intel Corporation Methods and apparatus for retaining packet order in systems utilizing multiple transmit queues
US6801764B2 (en) * 2001-10-02 2004-10-05 The Boeing Company Broadband medical emergency response system
US20030074473A1 (en) * 2001-10-12 2003-04-17 Duc Pham Scalable network gateway processor architecture
US7283538B2 (en) * 2001-10-12 2007-10-16 Vormetric, Inc. Load balanced scalable network gateway processor architecture
US7103051B2 (en) * 2001-11-01 2006-09-05 International Business Machines Corporation QoS scheduler and method for implementing quality of service with aging time stamps
US7317683B2 (en) * 2001-11-01 2008-01-08 International Business Machines Corporation Weighted fair queue serving plural output ports
US7280474B2 (en) * 2001-11-01 2007-10-09 International Business Machines Corporation Weighted fair queue having adjustable scaling factor
US7187684B2 (en) * 2001-11-01 2007-03-06 International Business Machines Corporation Weighted fair queue having extended effective range
US7310345B2 (en) 2001-11-01 2007-12-18 International Business Machines Corporation Empty indicators for weighted fair queues
US20030105830A1 (en) * 2001-12-03 2003-06-05 Duc Pham Scalable network media access controller and methods
US7023856B1 (en) 2001-12-11 2006-04-04 Riverstone Networks, Inc. Method and system for providing differentiated service on a per virtual circuit basis within a packet-based switch/router
US7030159B2 (en) * 2001-12-18 2006-04-18 The Brigham And Women's Hospital, Inc. Approach to anti-microbial host defense with molecular shields with EPA and DHA analogs
KR100428773B1 (ko) * 2002-01-21 2004-04-28 삼성전자주식회사 라우터 시스템과 이를 이용한 포워딩 엔진 이중화 방법
US6927294B1 (en) 2002-03-08 2005-08-09 University Of Southern California Nitrogen-containing heterocycles
US7280541B2 (en) * 2002-03-15 2007-10-09 Broadcom Corporation Packet filtering based on conditional expression table
US20030174725A1 (en) * 2002-03-15 2003-09-18 Broadcom Corporation IP multicast packet replication process and apparatus therefore
US7477612B2 (en) * 2002-03-15 2009-01-13 Broadcom Corporation Topology discovery process and mechanism for a network of managed devices
US7274698B2 (en) * 2002-03-15 2007-09-25 Broadcom Corporation Multilevel parser for conditional flow detection in a network device
US7680043B2 (en) * 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
US7257124B2 (en) * 2002-03-20 2007-08-14 International Business Machines Corporation Method and apparatus for improving the fairness of new attaches to a weighted fair queue in a quality of service (QoS) scheduler
US7902257B2 (en) 2002-04-01 2011-03-08 University Of Southern California Trihydroxy polyunsaturated eicosanoid
AU2003260687A1 (en) 2002-04-01 2003-10-20 University Of Southern California Trihydroxy polyunsaturated eicosanoids
US6946542B2 (en) 2002-04-01 2005-09-20 University Of Southern California Amino amides, peptides and peptidomimetics
US8481772B2 (en) 2002-04-01 2013-07-09 University Of Southern California Trihydroxy polyunsaturated eicosanoid derivatives
US7582785B2 (en) * 2002-04-01 2009-09-01 University Of Southern California Trihydroxy polyunsaturated eicosanoid derivatives
AU2003226394A1 (en) * 2002-04-14 2003-11-03 Bay Microsystems, Inc. Data forwarding engine
AU2003226395A1 (en) * 2002-04-14 2003-11-03 Bay Microsystems, Inc. Network processor architecture
US7376125B1 (en) 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
US7239635B2 (en) * 2002-06-27 2007-07-03 International Business Machines Corporation Method and apparatus for implementing alterations on multiple concurrent frames
US7334124B2 (en) * 2002-07-22 2008-02-19 Vormetric, Inc. Logical access block processing protocol for transparent secure file storage
US6931530B2 (en) 2002-07-22 2005-08-16 Vormetric, Inc. Secure network file access controller implementing access control and auditing
US6678828B1 (en) * 2002-07-22 2004-01-13 Vormetric, Inc. Secure network file access control system
US7372864B1 (en) * 2002-08-01 2008-05-13 Applied Micro Circuits Corporation Reassembly of data fragments in fixed size buffers
EP3584235A3 (en) * 2002-08-12 2020-04-22 Brigham and Women's Hospital Resolvins: biotemplates for novel therapeutic interventions
US7759395B2 (en) * 2002-08-12 2010-07-20 The Brigham And Women's Hospital, Inc. Use of docosatrienes, resolvins and their stable analogs in the treatment of airway diseases and asthma
US7272150B2 (en) * 2002-08-19 2007-09-18 World Wide Packets, Inc. System and method for shaping traffic from a plurality of data streams using hierarchical queuing
US7272149B2 (en) 2002-08-19 2007-09-18 World Wide Packets, Inc. Bandwidth allocation systems and methods
US7277389B2 (en) * 2002-08-29 2007-10-02 World Wide Packets, Inc. Systems and methods for grouping of bandwidth allocations
US7224691B1 (en) 2002-09-12 2007-05-29 Juniper Networks, Inc. Flow control systems and methods for multi-level buffering schemes
US7143288B2 (en) 2002-10-16 2006-11-28 Vormetric, Inc. Secure file system server architecture and methods
US8051211B2 (en) 2002-10-29 2011-11-01 Cisco Technology, Inc. Multi-bridge LAN aggregation
US7269180B2 (en) * 2002-11-04 2007-09-11 World Wide Packets, Inc. System and method for prioritizing and queuing traffic
US7330468B1 (en) 2002-11-18 2008-02-12 At&T Corp. Scalable, reconfigurable routers
US7266120B2 (en) 2002-11-18 2007-09-04 Fortinet, Inc. System and method for hardware accelerated packet multicast in a virtual routing system
US7626986B1 (en) 2002-11-18 2009-12-01 At&T Corp. Method for operating a router having multiple processing paths
US7269348B1 (en) * 2002-11-18 2007-09-11 At&T Corp. Router having dual propagation paths for packets
US7200114B1 (en) 2002-11-18 2007-04-03 At&T Corp. Method for reconfiguring a router
US7474672B2 (en) * 2003-02-11 2009-01-06 International Business Machines Corporation Frame alteration logic for network processors
WO2004078143A2 (en) * 2003-03-05 2004-09-16 The Brigham And Women's Hospital Inc. Methods for identification and uses of anti-inflammatory receptors for eicosapentaenoic acid analogs
US7570597B2 (en) * 2003-06-12 2009-08-04 Temic Automotive Of North America, Inc. Discovery process in a vehicle network
US7324536B1 (en) * 2003-06-26 2008-01-29 Nortel Networks Limited Queue scheduling with priority and weight sharing
US20050018693A1 (en) * 2003-06-27 2005-01-27 Broadcom Corporation Fast filtering processor for a highly integrated network device
KR100557138B1 (ko) * 2003-07-16 2006-03-03 삼성전자주식회사 광 가입자망에서의 영상 데이터 처리 장치
US7720095B2 (en) 2003-08-27 2010-05-18 Fortinet, Inc. Heterogeneous media packet bridging
US7362763B2 (en) * 2003-09-04 2008-04-22 Samsung Electronics Co., Ltd. Apparatus and method for classifying traffic in a distributed architecture router
US7787471B2 (en) * 2003-11-10 2010-08-31 Broadcom Corporation Field processor for a network device
US7672302B2 (en) * 2003-11-21 2010-03-02 Samsung Electronics Co., Ltd. Router using switching-before-routing packet processing and method of operation
US7558890B1 (en) 2003-12-19 2009-07-07 Applied Micro Circuits Corporation Instruction set for programmable queuing
US7283524B2 (en) * 2004-01-23 2007-10-16 Metro Packet Systems Inc. Method of sending a packet through a node
WO2005105025A1 (en) * 2004-04-14 2005-11-10 Boston University Methods and compositions for preventing or treating periodontal diseases
US20050251608A1 (en) * 2004-05-10 2005-11-10 Fehr Walton L Vehicle network with interrupted shared access bus
US8000324B2 (en) * 2004-11-30 2011-08-16 Broadcom Corporation Pipeline architecture of a network device
US8170019B2 (en) * 2004-11-30 2012-05-01 Broadcom Corporation CPU transmission of unmodified packets
US7583588B2 (en) * 2004-11-30 2009-09-01 Broadcom Corporation System and method for maintaining a layer 2 modification buffer
WO2006101549A2 (en) 2004-12-03 2006-09-28 Whitecell Software, Inc. Secure system for allowing the execution of authorized computer program code
US8228932B2 (en) * 2005-02-18 2012-07-24 Broadcom Corporation Layout architecture for expandable network device
US7529191B2 (en) * 2005-02-18 2009-05-05 Broadcom Corporation Programmable metering behavior based on table lookup
US7630306B2 (en) * 2005-02-18 2009-12-08 Broadcom Corporation Dynamic sharing of a transaction queue
US7254768B2 (en) * 2005-02-18 2007-08-07 Broadcom Corporation Memory command unit throttle and error recovery
US7606231B2 (en) 2005-02-18 2009-10-20 Broadcom Corporation Pipeline architecture for a network device
US8331380B2 (en) * 2005-02-18 2012-12-11 Broadcom Corporation Bookkeeping memory use in a search engine of a network device
US7522622B2 (en) * 2005-02-18 2009-04-21 Broadcom Corporation Dynamic color threshold in a queue
US8457131B2 (en) * 2005-02-18 2013-06-04 Broadcom Corporation Dynamic table sharing of memory space within a network device
US7577096B2 (en) * 2005-02-18 2009-08-18 Broadcom Corporation Timestamp metering and rollover protection in a network device
US20060187917A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Pre-learning of values with later activation in a network device
US7948896B2 (en) * 2005-02-18 2011-05-24 Broadcom Corporation Weighted-fair-queuing relative bandwidth sharing
US20060187919A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Two stage parser for a network
US7802148B2 (en) 2005-02-23 2010-09-21 Broadcom Corporation Self-correcting memory system
WO2006113553A2 (en) * 2005-04-15 2006-10-26 New Jersey Institute Of Technology Dynamic bandwidth allocation and service differentiation for broadband passive optical networks
US7965708B2 (en) * 2005-06-07 2011-06-21 Cisco Technology, Inc. Method and apparatus for using meta-packets in a packet processing system
US7366817B2 (en) * 2005-06-29 2008-04-29 Intel Corporation Frame order processing apparatus, systems, and methods
US7797463B2 (en) * 2005-06-30 2010-09-14 Intel Corporation Hardware assisted receive channel frame handling via data offset comparison in SAS SSP wide port applications
WO2007041440A2 (en) * 2005-10-03 2007-04-12 The Brigham And Women's Hospital, Inc. Anti-inflammatory actions of neuroprotectin d1/protectin d1 and its natural stereoisomers
WO2007061783A1 (en) * 2005-11-18 2007-05-31 Trustees Of Boston University Treatment and prevention of bone loss using resolvins
US7869411B2 (en) * 2005-11-21 2011-01-11 Broadcom Corporation Compact packet operation device and method
WO2007059800A1 (en) * 2005-11-22 2007-05-31 Freescale Semiconductor, Inc. A method for processing atm cells and a device having atm cell processing capabilites
CN100450095C (zh) * 2006-02-18 2009-01-07 华为技术有限公司 为虚拟专线业务提供QoS服务的系统和方法
US8437739B2 (en) * 2007-08-20 2013-05-07 Qualcomm Incorporated Method and apparatus for generating a cryptosync
JP4389983B2 (ja) * 2007-08-28 2009-12-24 沖電気工業株式会社 相互接続装置、インタフェースボード及びトラフィック処理方法
US7898985B1 (en) * 2008-04-23 2011-03-01 Juniper Networks, Inc. Composite next hops for forwarding data in a network switching device
EP2277330A4 (en) * 2008-05-15 2013-10-09 Harris Stratex Networks Operat SYSTEM AND METHOD FOR DISTRIBUTED DATA ROUTING IN A WIRELESS NETWORK
WO2009146383A1 (en) * 2008-05-28 2009-12-03 Harris Stratex Networks Operating Corporation Systems and methods for data path control in a wireless network
US7944844B2 (en) 2008-07-10 2011-05-17 At&T Intellectual Property I, L.P. Methods and apparatus to monitor network layer functionalities
US8014317B1 (en) * 2008-08-21 2011-09-06 Juniper Networks, Inc. Next hop chaining for forwarding data in a network switching device
US8159944B2 (en) * 2008-12-24 2012-04-17 At&T Intellectual Property I, L.P. Time based queuing
CN102576353A (zh) 2009-05-13 2012-07-11 航空网络公司 用于部分路由冗余的系统和方法
US8743877B2 (en) 2009-12-21 2014-06-03 Steven L. Pope Header processing engine
US8397195B2 (en) * 2010-01-22 2013-03-12 Synopsys, Inc. Method and system for packet switch based logic replication
US8638792B2 (en) * 2010-01-22 2014-01-28 Synopsys, Inc. Packet switch based logic replication
US8971345B1 (en) * 2010-03-22 2015-03-03 Riverbed Technology, Inc. Method and apparatus for scheduling a heterogeneous communication flow
US8699484B2 (en) 2010-05-24 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to route packets in a network
US9491085B2 (en) 2010-05-24 2016-11-08 At&T Intellectual Property I, L.P. Methods and apparatus to route control packets based on address partitioning
SG189130A1 (en) 2010-09-29 2013-05-31 Aviat Networks Inc Systems and methods for distributed data routing in a wireless network
EP2712131B1 (en) * 2011-05-16 2015-07-22 Huawei Technologies Co., Ltd. Method and network device for transmitting data stream
JP5978792B2 (ja) * 2012-06-12 2016-08-24 富士通株式会社 伝送装置及び伝送方法
CN103809579B (zh) * 2012-11-08 2018-01-02 厦门雅迅网络股份有限公司 由中心提取各车辆状态信息的方法
US10606785B2 (en) * 2018-05-04 2020-03-31 Intel Corporation Flex bus protocol negotiation and enabling sequence
US11349704B2 (en) 2020-06-17 2022-05-31 Credo Technology Group Limited Physical layer interface with redundant data paths
US11646959B2 (en) 2020-07-20 2023-05-09 Credo Technology Group Limited Active ethernet cable with broadcasting and multiplexing for data path redundancy

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5144619A (en) * 1991-01-11 1992-09-01 Northern Telecom Limited Common memory switch for routing data signals comprising ATM and STM cells
EP0676878A1 (en) * 1994-04-07 1995-10-11 International Business Machines Corporation Efficient point to point and multi point routing mechanism for programmable packet switching nodes in high speed data transmission networks
DK0705006T3 (da) * 1994-09-28 2000-03-13 Siemens Ag ATM kommunikationssystem til statistisk multipleksering af celler
US5623492A (en) * 1995-03-24 1997-04-22 U S West Technologies, Inc. Methods and systems for managing bandwidth resources in a fast packet switching network
EP1635520A3 (en) * 1995-09-18 2009-03-18 Kabushiki Kaisha Toshiba Packet transfer method and device
EP0814583A2 (en) * 1996-06-20 1997-12-29 International Business Machines Corporation Method and system for minimizing the connection set up time in high speed packet switching networks
US5802052A (en) * 1996-06-26 1998-09-01 Level One Communication, Inc. Scalable high performance switch element for a shared memory packet or ATM cell switch fabric
US5918074A (en) * 1997-07-25 1999-06-29 Neonet Llc System architecture for and method of dual path data processing and management of packets and/or cells and the like

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101753413B1 (ko) 2009-01-28 2017-07-19 헤드워터 리서치 엘엘씨 적응형 엠비언트 서비스

Also Published As

Publication number Publication date
EP1860835A2 (en) 2007-11-28
EP1050181A2 (en) 2000-11-08
JP2002501311A (ja) 2002-01-15
AU1254699A (en) 1999-07-26
CA2313771A1 (en) 1999-07-15
WO1999035577A3 (en) 1999-10-21
EP1050181B1 (en) 2007-11-07
CN1197305C (zh) 2005-04-13
CN1286009A (zh) 2001-02-28
DE69838688D1 (de) 2007-12-20
US6259699B1 (en) 2001-07-10
IL136653A0 (en) 2001-06-14
WO1999035577A2 (en) 1999-07-15
CA2313771C (en) 2006-07-25

Similar Documents

Publication Publication Date Title
EP1050181B1 (en) Data switch for simultaneously processing data cells and data packets
US6611522B1 (en) Quality of service facility in a device for performing IP forwarding and ATM switching
US6519595B1 (en) Admission control, queue management, and shaping/scheduling for flows
US7400638B2 (en) Apparatus and methods for managing packets in a broadband data stream
US6175570B1 (en) Method and an apparatus for shaping the output traffic in a fixed length cell switching network node
US20040151197A1 (en) Priority queue architecture for supporting per flow queuing and multiple ports
US20110019544A1 (en) Systems for scheduling the transmission of data in a network device
JPH08237279A (ja) トラフィック制御装置
US20030123449A1 (en) Method and system for mediating traffic between an asynchronous transfer mode (ATM) network and an adjacent network
JPH08331154A (ja) 最大−最小公平割当を行うパケット交換ネットワーク用混雑制御システムおよび方法
JP2000151633A (ja) パケットスイッチ
US6314098B1 (en) ATM connectionless communication system having session supervising and connection supervising functions
US6246687B1 (en) Network switching system supporting guaranteed data rates
US7215672B2 (en) ATM linked list buffer system
US20020150047A1 (en) System and method for scheduling transmission of asynchronous transfer mode cells
US20040213255A1 (en) Connection shaping control technique implemented over a data network
EP1584164A2 (en) System and method for providing quality of service in asynchronous transfer mode cell transmission
US9363186B2 (en) Hierarchical shaping of network traffic
JP3848962B2 (ja) パケット交換機およびセル転送制御方法
Zukerman et al. A shared medium multi-service protocol
Letheren An overview of Switching Technologies for Event Building at the Large Hadron Collider Experiments
JP3849635B2 (ja) パケット転送装置
CHEN SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF ELECTRICAL ENGINEERING
Wei et al. Resource management in MPLS applied ATM network
WO2002003629A2 (en) Connection shaping control technique implemented over a data network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090107

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090609