JP4150258B2 - ネットワークデバイスにおける選択的データフレーム間引き - Google Patents

ネットワークデバイスにおける選択的データフレーム間引き Download PDF

Info

Publication number
JP4150258B2
JP4150258B2 JP2002576377A JP2002576377A JP4150258B2 JP 4150258 B2 JP4150258 B2 JP 4150258B2 JP 2002576377 A JP2002576377 A JP 2002576377A JP 2002576377 A JP2002576377 A JP 2002576377A JP 4150258 B2 JP4150258 B2 JP 4150258B2
Authority
JP
Japan
Prior art keywords
data frame
data
priority
frame
network device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002576377A
Other languages
English (en)
Other versions
JP2004530343A5 (ja
JP2004530343A (ja
Inventor
ツェン シャ−ジー
カ−ファイ チョウ ピーター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2004530343A publication Critical patent/JP2004530343A/ja
Publication of JP2004530343A5 publication Critical patent/JP2004530343A5/ja
Application granted granted Critical
Publication of JP4150258B2 publication Critical patent/JP4150258B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/74Admission control; Resource allocation measures in reaction to resource unavailability
    • H04L47/745Reaction in network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Landscapes

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

Description

本発明は、広義にはネットワーク通信に関し、特に、ネットワークデバイスにおける受付制御に関する。
コンピュータネットワークでは、多数のネットワークステーションが通信媒体を介して相互に接続されているのが一般的である。たとえば、広く用いられているローカルエリアネットワーク(LAN)スキームのひとつに、複数のステーションを共有または専用のシリアルデータパスに接続するイーサネット802.3がある。これらのステーションは、データパスとこのパスに接続されたステーションとの間にあるスイッチまたは他の何らかのネットワークデバイスと通信を行うことが多い。このスイッチは一般にデータの通信を制御し、データフレームを受信してそれぞれ適切な宛先に転送するためのロジックを含む。
ネットワークに接続されたすべてのステーションが同時に動作して高速にデータを送信すると、スイッチでのデータトラフィックが大きくなりかねない。したがって、スイッチによっては輻輳状態の検出後にデータフレームを間引くことがある。この場合、間引かれたデータフレームは本来の宛先には転送されない。データフレームを間引く従来のスイッチに伴うひとつの欠点に、それぞれのデータフレームにおけるデータの性質を判断することなくスイッチがデータフレームを無作為に間引いてしまう点があげられる。
輻輳状態が起こった場合にデータフレームを選択的に間引く、ネットワークデバイス内の機構には需要がある。この需要や他の需要は、マルチポートデバイスがデータフレームを受信してデータフレームに含まれるデータのタイプを特定する本発明によって満たされる。その後、マルチポートデバイスは、マルチポートデバイスでの資源の可用性とデータフレームに含まれるデータのタイプとに基づいて、受信したデータフレームについて受付制御を行うか否かを判断する。
本発明の一形態によれば、ステーション間でのデータフレームの通信を制御するネットワークデバイスが得られる。このネットワークデバイスは、ステーションからのデータフレームを受信するように構成された複数の受信ポートを含む。さらに、このネットワークデバイスは、受付制御が使用可能か否かを判断するデータフレーム処理ロジックも含む。データフレーム処理ロジックは、受付制御が使用可能か否かという点と受信したデータフレームに含まれる情報とに基づいて、受信したデータフレームのうちのひとつを間引くか否かも判断する。
本発明のもうひとつの形態は、ステーション間でのデータフレームの通信を制御する、ネットワークデバイス内での方法を提供するものである。この方法は、ステーションからのデータフレームを受信し、第1の受信したデータフレームが第1のデバイスと第2のデバイスとの間での接続の確立と関連しているか否かを判断することを含む。さらに、この方法は、第1のデータフレームが接続の確立と関連している場合に第1のデータフレームを間引くことも含む。
以下の詳細な説明から、本発明の他の利点および特徴が当業者にとって容易に理解できるものとなろう。図示して説明する実施形態は、本発明を実施するために企図されるベストモードを例示するためのものである。本発明は、自明のさまざまな点で本発明から逸脱することなく改変可能である。したがって、図面は事実上例示的なものとみなされ、限定的なものとみなされるものではない。
以下、イーサネット(IEEE 802.3)ネットワークなどのパケット交換網におけるスイッチを例をあげて本発明について説明する。しかしながら、下記において詳細に説明するように、本発明は他のパケット交換システムならびに他のタイプのシステム全般にも適用可能なものであることが明らかになろう。
スイッチアーキテクチャの概要
図1は、本発明に整合するシステムおよび方法を実施できる代表的なシステムのブロック図である。この代表的なシステムはイーサネット(IEEE 802.3)ネットワークなどのパケット交換網100を含み得る。パケット交換網100は、ネットワークステーション110と、トランスフォーマ120、トランシーバ130および140と、ネットワークノード150と、ホスト160と、外部メモリ170と、マルチポートスイッチ180とを含み得る。ネットワークステーション110は、構成の異なるコンピュータなどの従来の通信装置を含み得る。たとえば、このデバイスは、ネットワークデータ転送速度10メガビット/秒(Mb/s)または100Mb/sでデータを送受信することができる。
10/100Mb/sのネットワークステーション110は各々、半二重イーサネットまたは全二重イーサネットのプロトコルに従って、マルチポートスイッチ180との間でデータを送受信することができる。イーサネットプロトコルISO/IEC 8802−3(ANSI/IEEE規格802.3、1993年版)では、すべてのステーション110に等しくネットワークチャネルへのアクセスを許可する半二重の媒体アクセス機構を規定している。半二重環境でのトラフィックを送信媒体上で区別することはできない場合がある。むしろ、各半二重ステーション110に、衝突検出型搬送波検知多重アクセス(CSMA/CD)を使って送信媒体上のトラフィックに聞き耳を立てるイーサネットインタフェースカードを持たせることができる。ネットワークトラフィックがないことを検出するには、送信媒体上の受信キャリアが非アクティブな状態になったことを検知する。
送信すべきデータのあるステーション110はいずれも、送信媒体上の受信キャリアが非アクティブになった後にパケット間隔(IPG)インターバルとして知られるあらかじめ定められた長さの時間だけ待機すれば、チャネルへのアクセスを試みることができる。複数のステーション110が同一のリンクに接続されている場合、受信キャリアが非アクティブになったことを検知してIPGインターバルが経過するとそれぞれのステーション110がデータを送信しようとしかねないため、衝突が発生する可能性がある。よって、送信側ステーション110で送信媒体を監視し、別のステーション110が同じリンクで同時にデータを送信したことが原因で衝突が発生していないかどうかを判断することができる。衝突が検出されると、どちらのステーション110も送信を中断し、それぞれランダムな待ち時間で待機し、再び送信を試みる。
全二重モードで動作する10/100Mb/sのネットワークステーション110は、イーサネット規格IEEE 802.3uに従ってデータパケットの送受信を行うことができる。全二重環境では、各リンクパートナー(すなわち、10/100Mb/sのネットワークステーション110と対応するマルチポートスイッチ180)間でデータパケットを同時送受信を可能にする双方向の二地点間通信リンクが得られる。
トランスフォーマ120は、ネットワークステーション110とトランシーバ130との間をACカップリングする磁気トランスを含み得る。一方、トランシーバ130は、それぞれのシリアル媒体独立インタフェース(Serial Media Independent Interface;SMII)または節約型媒体独立インタフェース(Reduced Media Independent Interface;RMII)を介してマルチポートスイッチ180と通信する10/100Mb/sの物理層トランシーバを含み得る。各トランシーバ130についてはマルチポートスイッチ180と最大4ヶ所のネットワークステーション110との間でSMII/RMIIを介してデータパケットを送受信するように構成できる。SMII/RMIIは、各ネットワークステーション110と対応するトランシーバ130とによるデータパケットの同時送受信を可能にできるだけの十分なデータ転送速度で動作し得るものである。
トランシーバ140は、たとえば高速ネットワーク送信媒体を介してネットワークノード150などのノードとの通信を達成する1000Mb/s(すなわち1Gb/s)の物理層トランシーバを1つまたはそれ以上含み得る。ネットワークノード150は、ネットワーク速度1Gb/sでデータパケットを送受信する1Gb/sのネットワークノードを1つまたはそれ以上含み得る。また、ネットワークノード150は、たとえば、サーバまたは高速バックボーンネットワークへのゲートウェイを含み得る。
ホスト160は、マルチポートスイッチ180の全体としての動作を制御するための外部管理機能を提供するコンピュータデバイスを含み得る。外部メモリ170は、マルチポートスイッチ180用の外部記憶装置となる同期型スタティックランダムアクセスメモリ(SSRAM)を含み得る。外部メモリ170はそれぞれ、64ビット幅のデータパスと17ビット幅のアドレスパスとを有する電子デバイス技術合同協議会(JEDEC)のパイプラインバーストSSRAMまたはゼロ・バス・ターンアラウンド(ZBT)SSRAMを含み得る。外部メモリ170は、ワード長64ビットで128K単位の上位バンクおよび下位バンクとしてアドレス可能なものであってもよい。外部メモリ170のサイズは、パイプラインによって1クロックサイクルごとにデータの転送が可能な状態で少なくとも1メガバイトであると好ましい。
マルチポートスイッチ180は、ネットワークステーション110またはネットワークノード150から受信したデータパケットを、イーサネットプロトコルなどの適切な送信プロトコルに従ってしかるべき宛先に向けて選択的に転送する。マルチポートスイッチ180を複数(ライン190を介して)まとめてカスケード接続し、マルチポートスイッチ180の機能性を拡張するようにしてもよい。
図2は、本発明に整合する実施例によるマルチポートスイッチ180の詳細図である。マルチポートスイッチ180は、受信機205と、送信機210と、データバス215と、スケジューラ220と、フロー制御ロジック225と、バッファ管理ロジック230と、ポートベクトルキュー(PVQ)235と、出力制御キュー240と、内部ルールチェッカー(IRC)245と、レジスタ250と、管理情報ベース(MIB)カウンタ255と、ホストインタフェース260と、外部メモリインタフェース265と、EEPROMインタフェース270と、LEDインタフェース275と、ジョイントテストアクショングループ(Joint Test Action Group;JTAG)インタフェース280とを含み得る。
受信機205は、媒体アクセス制御(MAC)モジュールと、先入れ先出し(FIFO)バッファなどの受信バッファとを含み得る。受信モジュールは、SMII、RMII、ギガビット媒体独立インタフェース(GMII)、10ビットインタフェース(TBI)、他のマルチポートスイッチ180(図1)を用いた拡張用の独自インタフェースをサポートする入力ポートを含み得る。拡張ポート(EP)を利用し、所定のプロトコルに従って他のマルチポートスイッチ180との間でデータを転送するようにしてもよい。拡張ポートを用いることで、マルチポートスイッチ180を複数まとめてカスケード接続し、バックボーンネットワークを構成することができる。受信モジュールはそれぞれ、ネットワークステーション110および/またはネットワークノード150からデータパケットを受信し、このパケットを対応する受信FIFOに格納するキューイングロジックを含み得る。キューイングロジックは、外部メモリインタフェース265を介して、パケットのうち処理すべき部分をIRC245に送信したり、格納すべき部分を外部メモリ170に送信したりすることができる。
送信機210は、MACモジュールとFIFOバッファなどの送信バッファとを含み得る。送信モジュールは、SMII、GMII、TBI、他のマルチポートスイッチ180を用いた拡張用の独自インタフェースをサポートする出力ポートを含み得る。送信モジュールはそれぞれ、外部メモリ170からパケットを取得し、これらのパケットを対応する送信FIFOに格納するデキューイングロジックを含み得る。送信モジュールは、対応する送信FIFOからデータパケットを読み出したり、これらのパケットをネットワークステーション110および/またはネットワークノード150に送信したりすることができる。本発明に整合する別の実施例では、受信機205および送信機210の機能を、データパケットの受信と送信の両方を管理するトランシーバによって行うようにしてもよい。
データバス215は、受信機205、送信機210、IRC245、外部メモリインタフェース265を接続する導体を1本またはそれ以上含み得る。スケジューラ220は、受信機205のキューイングロジックと送信機210のデキューイングロジックとによって外部メモリ170へのアクセスを制御するロジックを含み得る。マルチポートスイッチ180はノンブロッキングスイッチとして動作するように構成されており、ネットワークデータはスイッチポートからそれぞれのワイヤレート10Mb/s、100Mb/sまたは1000Mb/sで送受信される。よって、スケジューラ220は、各ポートごとにアクセスを制御し、外部メモリ170の帯域利用を最適化することができる。
フロー制御ロジック225は、バッファ管理ロジック230、PVQ235、出力制御キュー240と連携動作して送信機210によるパケットの送信を制御するロジックを含み得る。フロー制御ロジック225は、データのトラフィック量に応じて効率のよい方法で送信機210からパケットが出力されるように送信機210を制御することができる。バッファ管理ロジック230は、マルチポートスイッチ180内でのメモリの利用状況を監視するロジックを含み得る。たとえば、データパケットがその宛先となる出力ポート(単数または複数)に向けて送信されていれば、バッファ管理ロジック230はフレームポインタの利用状況とフレームポインタの再利用とを管理することができる。フレームポインタは、外部メモリ170に格納された、送信を必要とするデータフレームの位置を特定する。
PVQ235は、データフレームの送信を受信するための出力ポートに対応した出力制御キュー240に含まれる適切な出力キュー(単数または複数)へのフレームポインタを入手するロジックを含み得る。マルチコピーフレームでは、PVQ235は同じフレームポインタのいくつかのコピーを2つ以上の出力キューに供給することができる。出力制御キュー240は、送信機210の各送信モジュールに対応するFIFO型の出力キューを含み得る。各出力キューは、フレームに対する優先度の異なる複数の順位キューを含み得る。たとえば、必要なアクセスレイテンシーが低いフレーム(マルチメディア用途用のフレームや管理フレームなど)に高い順位キューを用いるようにすればよい。FIFO型の出力キューに格納されたフレームポインタを、それぞれの送信モジュールについてのデキューイングロジックで処理することができる。デキューイングロジックは、フレームポインタを利用して外部メモリ170にアクセスし、フレームポインタによって指定されたメモリ位置でデータフレームを読み出す。
IRC245は、受信機205から受信したデータパケットについてフレーム転送決定を行う内部意志決定エンジンを含み得る。IRC245はデータバス215を監視し(すなわち「覗き」)、送信元、宛先、仮想ローカルエリアネットワーク(VLAN)アドレス情報をはじめとする受信パケットのヘッダ情報など、データフレームの一部と、フレームポインタ値とを判断する。IRC245は、ヘッダ情報を利用して、フレームポインタで指定された位置に格納されたデータフレームがどの出力ポートから出力されるかを判断することができる。よって、IRC245は、特定のデータフレームをひとつのポートで出力すべき(すなわちユニキャスト)であるか、複数のポートで出力すべき(すなわちマルチキャスト)であるか、すべてのポートで出力すべき(すなわちブロードキャスト)であるか、どのポートでも出力すべきではない(すなわち破棄)かを判断することができる。
たとえば、各データフレームは送信元アドレスと宛先アドレスとを特定するヘッダを含み得る。IRC245は、宛先アドレスを利用してデータフレームを出力するのに適切な出力ポートを特定することができる。また、フレームヘッダは、フレームをネットワークステーション110のグループの1ヶ所またはそれ以上のメンバ宛の情報として特定するVLANアドレス情報も含み得る。あるいは、IRC245は、拡張ポートを介して別のマルチポートスイッチ180にデータフレームを転送すべきであることを判断できる。したがって、IRC245は、外部メモリ170に一時的に格納されたフレームを、1つの出力ポートに出力すべきか、複数の出力ポートに出力すべきか、どの出力ポートにも出力すべきではないか、あるいは別のマルチポートスイッチ180に出力すべきかを判断する。
IRC245は、その転送決定を転送記述子の形でPVQ235に出力することができる。転送記述子は、たとえば、データフレームの優先度が高いか低いかを特定する優先度クラス、フレームを送信すべき各出力ポートを特定するポートベクトル、入力ポート番号またはVLAN情報を含み得る。PVQ235は、転送記述子をデコードしてフレームポインタを得ることができる。フレームポインタを入手したら、PVQ235はこれを出力制御キュー240内の適切な出力キューに供給することができる。
また、IRC245はレイヤ3フィルタリングを行うこともできる。たとえば、IRC245は、各受信データパケットを最大128のプログラム可能なパターンについて検討し、その結果に基づいてパケットを処理することができる。ここでの結果を用いて、IRC245によるパケットの間引き、パケットのホスト160への転送あるいはユーザ優先度または差別化サービスコードポイント(DSCP)のパケットへの割り当てを指示することができる。ユーザの優先度とDSCPとは独立して出力優先度クラスにマッピングが可能なものである。
レジスタ250は、ホストインタフェース260が利用するコンフィギュレーションレジスタおよびステータスレジスタを含み得る。MIBカウンタ255は、統計的なネットワーク情報をホスト160が利用するMIBオブジェクトの形で提供することができる。ホストインタフェース260は、マルチポートスイッチ180の全体としての動作をホスト160などの外部管理エントリによって制御できるようにする標準インタフェースを含み得る。ホストインタフェース260は、指定のレジスタ空間内のホストアクセスをデコードし、レジスタ250に対してコンフィギュレーション情報およびステータス情報を読み書きすることができる。
外部メモリインタフェース265は、外部メモリ170へのアクセスを可能にする標準インタフェースを含み得る。外部メモリインタフェース265は、スケジューラ220が決定した、割り当てられたタイムスロットの間、ダイレクトメモリアクセス(DMA)トランザクションにおける外部メモリ170でのパケットデータの外部記憶を可能にする。本発明に整合する実施例では、外部メモリインタフェース265は少なくとも66MHzのクロック周波数で動作し、好ましくは100MHzまたはそれ以上の周波数で動作する。
EEPROMインタフェース270は、EEPROMなどの別の外部メモリに対する標準インタフェースを含み得る。LEDインタフェース275は、外部LEDロジックに対する標準インタフェースを含み得る。LEDインタフェース275は、入力ポートと出力ポートの状態を外部LEDロジックに送信することができる。LEDロジックは、人間が読み取り可能なLEDディスプレイ素子を駆動することができる。JTAGインタフェース280は、たとえばマルチポートスイッチ180でバウンダリスキャンテストを行うことができるようにするための外部試験機器に対する標準インタフェースを含み得る。
スイッチアーキテクチャについての上記の説明は、パケット交換網におけるスイッチの動作についての概要を提供するものである。たとえばマルチポートスイッチ180で実現できるような本発明の特徴のさらに詳細な説明については後述する。
ネットワークデバイスにおける選択的受付制御
本発明は、マルチポートスイッチ180などのネットワークデバイスにおける受付制御機構を対象とするものである。本発明に整合するマルチポートスイッチ180は、受信したデータフレームに含まれる情報とマルチポートスイッチ180での資源の可用性とに基づいて、受付制御手順をいつ実行すべきかを判断する。
図3は、選択的受付制御を実施できる、本発明の代表的な実施例に整合するマルチポートスイッチ180の一部を示している。図3を参照すると、マルチポートスイッチ180は、受信機205と、バッファ管理ロジック230と、外部メモリインタフェース265と、ポートフィルタロジック300とを含む。
受信機205は、入力ポート1乃至Nにそれぞれ対応する、310、312、314を付したMACモジュールを含む。MACモジュールはそれぞれ、受信FIFOバッファとキューイングロジックとを含み得る。たとえば、図3を参照すると、MACモジュール310は、310Aを付した受信FIFOバッファと、キューイングロジック310Bとを含む。他のMACモジュールも同様に、受信FIFOバッファとキューイングロジックとを含み得る。
バッファ管理ロジック230は、空きバッファキュー(FBQ)制御ロジック320と空きバッファキュー330とを含む。FBQ330は、外部メモリ170内のデータフレームの格納に利用できる位置を特定するフレームポインタを格納する。本発明に整合するFBQ制御ロジック320は、FBQ330で利用できるフレームポインタの数があらかじめ定められた閾値未満になったらマルチポートスイッチ180で受付制御を開始する。FBQ制御ロジック320が受付制御を開始する前にFBQ330にいくつのフレームポインタを残すかをユーザの要件に基づいて設定することができ、ユーザーがプログラム可能にすることができる。すなわち、ユーザは、ネットワークの状態などに応じて、ホストインタフェース260(図2)を介して、受付制御を使用可能にする前にFBQ330に残るフレームポインタの数をプログラムすることができる。
本発明に整合する代表的な実施例では、FBQ330は2種類の「水位線」(すなわち閾値)を含む。各水位線がFBQ330に残るフレームポインタのあらかじめ定められた数に対応する。詳細については後述するように、FBQ制御ロジック320はFBQ330がそれぞれの水位線のうちの一方にいつ達したかを検出し、受付制御信号をポートフィルタロジック300に送信する。
詳細については後述するように、本発明の代表的な実施例に整合するポートフィルタロジック300は、受信したデータフレームに関連する優先度を判断し、受信したデータフレームに含まれるデータのタイプも判断する。受付制御が使用可能になり、あるデータフレームが特定の優先度とタイプのものであることがポートフィルタロジック300によって特定されたら、ポートフィルタロジック300はそのデータフレームを間引くための適切なMACモジュールを示すことができる。
ポートフィルタロジック300は、受信機205とは別のコンポーネントとして図示されている。本発明の別の実施例では、ポートフィルタロジック300が受信機205の一部であってもよいことは理解されたい。さらに別の形では、ポートフィルタロジック300が実行している機能を、MACモジュールのそれぞれのキューイングロジックなどのもうひとつのロジックコンポーネントで実行してもよい。
本発明の代表的な実施例では、ポートフィルタロジック300は、データフレームを優先度の高いデータフレームまたは優先度の低いデータフレームのいずれかとして分類する。優先度の高いフレームは、管理デバイス用のフレームやマルチメディア用途向けのフレームなど、必要なアクセスレイテンシーが低いフレームを含み得る。優先度の低いフレームは、他のあらゆるフレームを含み得る。
本発明の別の実施例では、データフレームに関連する優先度の数を2よりも大きくすることができる。たとえば、ポートフィルタロジック300は、低、中、高などの3つの優先度レベルのうちの1つを持つものとしてフレームを特定することができる。もうひとつの実施例では、ポートフィルタロジック300は、低、低−中、中−高、高などの4つの優先度レベルのうちの1つを持つものとしてフレームを特定することができる。これらの場合、FBQ330における水位線の数を優先度のレベルに対応させるようにしてもよい。たとえば、マルチポートスイッチ180が4つのレベルの優先度をサポートする状況では、FBQ330における水位線の数を4にすることができる。
また、本発明のいくつかの実施例では、優先度表示のあるデータフレームをマルチポートスイッチ180で受信することができる。たとえば、イーサネットフレームは、8つのレベルの優先度のうちの1つを表す3ビットフィールドを含み得る。この場合、ポートフィルタロジック300は、受信した優先度情報を、マルチポートスイッチ180がサポートする、対応の優先度レベルにマッピングすることができる。たとえば、ポートフィルタロジック300は、8つのレベルの優先度をマルチポートスイッチ180の8つの高い優先度または低い優先度にマッピングすることができる。あるいは、受信したデータフレームに関連する8つのレベルの優先度を、マルチポートスイッチ180がサポートする優先度のレベルに応じてマルチポートスイッチ180の3つまたはそれ以上のレベルの優先度にマッピングすることができる。
ポートフィルタロジック300は、データフレームのデータ部分に含まれるデータのタイプも特定する。たとえば、図4は本発明に整合する実施例においてネットワークステーション110およびネットワークノード150で利用できる通信プロトコル400を示す代表的な図である。通信プロトコル400は、アプリケーションレイヤ410と、トランスポートレイヤ420と、ネットワークレイヤ430と、データリンクレイヤ440とを含む。アプリケーションレイヤ410は、通信を開始するアプリケーションまたはプログラムを含み得る。アプリケーションレイヤ410は、メール、ファイル転送、リモートアクセス、認証、名前解決のためのプロトコルなど、いくつかのアプリケーションレイヤプロトコルを含み得る。アプリケーションレイヤ410は、データパケットをパケットの宛先と一緒にトランスポートレイヤ420に渡すことで、データ412をネットワーク100に配信することができる。
トランスポートレイヤ420は、パケットの送信元と宛先との間に仮想回路、接続またはソケットを確立することができる。トランスポートレイヤ420は、関連の転送プロトコルの仕様に従って、ヘッダ422と後書き424とをパケットに付すことができる。トランスポートレイヤ420は、パケットを宛先のインターネットプロトコル(IP)アドレスと一緒にネットワークレイヤ430に渡す。
ネットワークレイヤ430は、トランスポートレイヤ420からのパケットを受け取り、IPアドレスをMACアドレスなどの物理アドレスに変換し、必要に応じてパケットを所望のサイズに分割することでデータリンクレイヤ440用のパケットを作成することができる。ネットワークレイヤ430は、関連のプロトコルの仕様に従ってトランスポートレイヤ420からのパケットにIPヘッダ432と後書き434とを付すことで、データグラムと呼ばれるパケットを生成することができる。ネットワークレイヤ430はこのデータグラムをデータリンクレイヤ440に渡す。
データリンクレイヤ440は、ネットワーク100上での高信頼度でのデータ移動を担うイーサネットなどのデータリンクプロトコルを含み得る。データリンクレイヤ440は、データグラムをその独自のフォーマットに変換する。この変換には、送信元アドレスおよび宛先MACアドレスを含むヘッダ442と、後書き444(チェックサムデータを含む)とを加えることを含み得る。
図5〜図7はそれぞれ本発明に整合する実施例におけるヘッダ422〜442の詳細図である。図5に示すように、ヘッダ422には、送信元ポートフィールドと、宛先ポートフィールドと、シーケンス番号フィールドと、確認応答番号フィールドと、データオフセット(offest)フィールドと、予約フィールドと、フラグフィールドと、ウィンドウフィールドと、チェックサムフィールドと、緊急ポインタフィールドと、が含まれる。送信元ポートフィールドおよび宛先ポートフィールドにはデータパケットの送信元および宛先を特定するデータが含まれる。シーケンス番号フィールドには宛先でのパケットの配信と順番とを確認するのに使われるデータが含まれる。確認応答番号フィールドには、送信元が宛先から受信するつもりでいるデータの次のバイトを特定するデータが含まれる。
データオフセットフィールドには、ヘッダ422の長さを特定するデータが含まれる。予約フィールドは将来的な拡張に利用できるものである。フラグフィールドは、緊急フラグ、確認応答フラグ、プッシュフラグ、リセットフラグ、同期フラグ、送信終了フラグなどのいくつかのフラグを含み得る。緊急フラグは緊急ポインタフィールドに含まれるデータが有効か否かを示す。確認応答フラグは確認応答番号フィールドに含まれるデータが有効か否かを示す。プッシュフラグは、付随するデータをすぐに宛先のアプリケーションに渡すべきか否かを示す。リセットフラグは接続をリセットすべきか否かを示す。同期(SYN)フラグはシーケンス番号について最初に合意を得るのに用いられる。送信終了(FIN)フラグは送信元がデータの送信を終了したか否かを示す。
ウィンドウフィールドには、確認されていないデータの格納に宛先側で利用できる空間の量を示すデータが含まれる。チェックサムフィールドには、ヘッダ422とデータ412の両方を対象にできるチェックサム値が含まれる。緊急ポインタフィールドには、このパケットを通常のデータストリームよりも優先させるべきか否かを示すデータが含まれる。
図6を参照すると、ヘッダ432には、バージョンフィールドと、ヘッダ長フィールドと、サービスタイプフィールドと、全長フィールドと、識別フィールドと、フラグフィールドと、フラグメントオフセットフィールドと、有効期間フィールドと、プロトコルフィールドと、ヘッダチェックサムフィールドと、送信元アドレスと、宛先アドレスとが含まれる。バージョンフィールドには使用するプロトコルのバージョンを特定するデータが含まれる。ヘッダ長フィールドにはヘッダ432の長さを特定するデータが含まれる。サービスタイプフィールドにはネットワーク100によってデータグラムに与えられるサービスの品質を特定するデータが含まれる。
全長フィールドにはデータグラム(すなわちヘッダ422および432とデータ412)の長さを特定するデータが含まれる。識別フィールドには分割されたデータグラムを宛先で再構成するのに使われるデータが含まれる。フラグフィールドは、たとえば、データグラムを分割できるか否かを特定するフラグを1つまたはそれ以上含み得る。フラグメントオフセットフィールドには、元の送信パケットの先頭からどの位置が開始点になるかを特定するデータが含まれる。
有効期間フィールドには、パケットが経由できるホップ/リンクの数を特定するカウント値が含まれる。プロトコルフィールドには、宛先のデータグラムで用いられる転送プロトコルのタイプ(インターネットコントロールメッセージプロトコル(ICMP)、インターネットグループマネジメントプロトコル(IGMP)、送信制御プロトコルまたはユーザデータグラムプロトコル(UDP)など)を特定するデータが含まれる。ヘッダチェックサムフィールドには、ヘッダ432を対象とするチェックサム値が含まれる。送信元アドレスフィールドおよび宛先アドレスフィールドにはそれぞれ送信元と宛先のインターネットアドレスなどのアドレスが含まれる。
図7を参照すると、ヘッダ442には、宛先アドレスフィールドと、送信元アドレスフィールドと、タイプ/長さコードフィールドとが含まれる。本発明の代表的な実施例では、送信元アドレスフィールドおよび宛先アドレスフィールドにはそれぞれ送信元および宛先のイーサネットアドレスが含まれる。タイプ/長さコードフィールドには、送信元と宛先とを接続するのに用いられるデータリンクプロトコルを特定するデータが含まれ、また、データフレーム長を特定するデータが含まれる。上述したように、ヘッダ442は、データフレームに関連する優先度を示す優先度フィールドを含むものであってもよい。さらに、ヘッダ442は、仮想ローカルエリアネットワーク(VLAN)情報を含み得る。
ポートフィルタロジック300は、受信したデータフレームのペイロード部分に含まれる情報に基づいて、データフレームのタイプを特定することができる。データフレームのペイロード部分にはヘッダ422および432と、データ412と、後書き424および434(図4)とが含まれることは理解されたい。たとえば、データフレームのペイロード部分は、送信制御プロトコル(TCP)セッションに関連する情報を含み得る。代表的なTCPセッションでは、2つのネットワークステーション110間またはネットワークステーション110とネットワークノード150との間などの2つのデバイス間でのデータのやり取りを、1)セットアップパケット、2)データパケット、3)切断パケットの3種類のパケットに分けることができる。セットアップパケットはTCPヘッダのSYNフラグがセットされているときに特定できるものである。言い換えると、ヘッダ422のフラグフィールドのSYNフラグ(図4)が立っていれば、パケットのペイロード部分が2つのデバイス間での接続の確立に関連していることになる。一般的な流れでは、ネットワークステーション110などの送信元デバイスがまずは初期シーケンス番号(ISN_CLIENT)を含むセットアップパケットを送信する。このシーケンス番号は、データストリームの中にある個々のデータを特定するものである。ネットワークノード150などの宛先デバイスは一般に、クライアントのシーケンス番号を確認してサーバの初期シーケンス番号(ISN_SERVER)を含む確認応答パケットを送信元に送り返す。これに対して送信元デバイスはサーバのシーケンス番号を確認するパケットで応答してもよい。
これらのセットアップパケットによって接続が確立されると、2つのデバイス間で実際にデータのやり取りをするデータパケットを1つまたはそれ以上送り出すことができる。データパケット(単数または複数)の後にくるのは切断パケットである。この切断パケットはTCPヘッダのFINフラグがセットされているときに確認される。言い換えると、ヘッダ422のフラグフィールドのFINフラグが立っていれば、送信元からのデータの送信が終了しており、TCPセッションが効率よく終了することになる。
本発明に整合するポートフィルタロジック300は、ヘッダ422のフラグフィールドにあるSYNフラグの値に基づいてセットアップパケットを特定することができる。詳細については後述するように、ポートフィルタロジック300は輻輳状態が発生した場合にセットアップパケットを選択的に間引くことができる。
図8は、本発明に整合する実施例におけるマルチポートスイッチ180による代表的な処理を示している。処理についてはネットワーク100(図1)の起動時に開始することができる。ここでは、ネットワークステーション110がデータフレームを送信し、マルチポートスイッチ180がデータフレームを受信すると仮定する[ステップ810]。たとえば、MACモジュール310がデータフレームを受信すると仮定する。この場合、受信FIFOバッファ310Aがデータフレームを格納する[ステップ820]。
ポートフィルタロジック300は受信したデータフレームの一部を調べ、受信したデータフレームに関連する優先度を判断する[ステップ830]。本発明の代表的な実施例では、ポートフィルタロジック300は、データフレームが受信FIFOバッファ310Aに格納されている間に受信したデータフレームのヘッダ(すなわち図4のヘッダ442)を調べる。
上述したように、ポートフィルタロジック300は、フレームのタイプまたはフレームの宛先に基づいて優先度を特定することができる。たとえば、マルチメディア用途向けのデータフレームまたは管理デバイス用のデータフレームを優先度の高いフレームとして指定することができる。他のすべてのデータフレームについては優先度が低いフレームまたは通常の優先度のフレームとして指定すればよい。あるいは、ポートフィルタロジック300は、個々のユーザの要件などの他の基準に基づいて優先度を特定するものであってもよい。もうひとつの実施例では、ポートフィルタロジック300は、上述したようにデータフレームと一緒に送信される優先度情報に基づいて優先度を特定するものであってもよい。この状況では、ポートフィルタロジック300は、受信した優先度情報をマルチポートスイッチ180がサポートする、対応の優先度レベルにマッピングすることができる。
いずれの場合も、データフレームに関連する優先度を特定することに加え、ポートフィルタロジック300はデータフレームのペイロード部分に含まれるデータの性質を判断する[ステップ840]。たとえば、ポートフィルタロジック300は、データフレームがもうひとつのデバイスとの新たな接続の確立と関連しているか否かを判断することができる。上述したように、イーサネットフレームは、そのペイロード部分に、対応のデータ(すなわち図4のデータ412)を、シーケンス番号を同期させるなどのTCPセッションのセットアップに関与するセットアップパケットとして特定するTCPパケット用ヘッダ(すなわち図5のヘッダ422)を含み得る。この場合、ヘッダ422のフラグフィールドにあるSYNフラグを設定してもよい。また、パケットがデバイス間でのシーケンス番号の確認応答に関連している場合にヘッダ422のフラグフィールドにある確認応答フラグを設定してもよいことに注意されたい。
ポートフィルタロジック300がデータをセットアップパケットとして特定する(SYNフラグを立てるなど)と仮定する。この場合、ポートフィルタロジック300は受付制御が使用可能であるか否かを判断することができる[ステップ850]。代表的な実施例では、ポートフィルタロジック300はFBQ制御ロジック320からの信号がアサートされているか否かに基づいて、受付制御が使用可能であるか否かを判断する。たとえば、FBQ330で利用できるフレームポインタの数が第1の水位線未満であることをFBQ制御ロジック320によって判断すると仮定する。この場合、FBQ制御ロジック320は、ADMISSION_CONTROL_LOWなどのイネーブル受付制御信号をポートフィルタロジック300に送信する。これによって、ポートフィルタロジック300が選択した優先度の低いデータフレームについて受付制御手順を実行すべきであることを示すことができる。
受付制御が使用可能ではない場合、マルチポートスイッチ180でデータフレームを処理する[ステップ860]。すなわち、上記の例では、キューイングロジック310BがFBQ330にアクセスして外部メモリ170における位置を特定するフレームポインタを取得し、受信FIFOバッファ310Aに格納されたデータフレームとフレームポインタとを外部メモリインタフェース265に転送する。次に、外部メモリインタフェース265は、このデータフレームを外部メモリ170内のフレームポインタによって特定された位置に転送する。次にマルチポートスイッチ180がデータフレームを処理してフレーム転送情報を生成し、外部メモリ170からデータフレームを検索、このデータフレームを意図した宛先(単数または複数)に転送する。
受付制御が使用可能であることがポートフィルタロジック300によって判断されると、ポートフィルタロジック300はデータフレームを間引くか否かを判断する[ステップ870]。本発明の代表的な実施例では、ポートフィルタロジック300は、データフレームの優先度と、データフレームのペイロードに含まれる特定されたデータのタイプとに基づいて、データフレームを間引くか否かを判断する。たとえば、ポートフィルタロジック300によってデータフレームが優先度の低いものとして特定され、優先度の低いフレームに対する受付制御が使用可能な場合、ポートフィルタロジック300はセットアップパケットを含むフレームを間引くことができる。セットアップパケットを間引くことで、マルチポートスイッチ180は、「先行する」TCPセッションに関連するデータ送信(すなわちTCPセッションのセットアップ部分がすでに完了しているセッション)を、これらのデータのやり取りを間引くことなく完了させることができる。
あらかじめ定められた時間にわたって輻輳状態のまま(すなわちFBQ330が第1の水位線未満)である場合、マルチポートスイッチ180は優先度の低いデータフレームをすべて間引いてもよい。しかしながら、セットアップパケットを最初に間引けるようにすることで、マルチポートスイッチ180は先行するTCPセッションに対して完了の機会を選択的に与えることができる。また、セットアップパケットが間引かれるため、宛先デバイスがマルチポートスイッチ180を介して確認応答セットアップパケットを送信元に送り返すことはなく、送信元デバイスが確認応答セットアップパケットを宛先デバイスに送り返すこともない。これはマルチポートスイッチ180での輻輳を低減する上でさらに助けとなり得るものである。
別の実施例では、ポートフィルタロジック300は、受付制御が使用可能なときにユーザの要件に基づいて他の優先度のデータフレームを間引くことを判断してもよい。たとえば、FBQ330で利用できるフレームポインタの数が第2の水位線未満であることをFBQ制御ロジック320によって判断すると仮定する。この場合、FBQ制御ロジック320は、ADMISSION_CONTROL_HIGHなどのイネーブル受付制御信号をポートフィルタロジック300に送信することができる。これによって、ポートフィルタロジック300が優先度の低いフレームをすべて間引き、選択した優先度の高いフレームを間引くことを示すことができる。すなわち、ポートフィルタロジック300はデータフレームのペイロード部分に含まれるデータの性質を特定[ステップ840]した後、優先度の高いデータフレームを間引くか否かを判断する[ステップ870]。たとえば、優先度の高いデータフレームがセットアップパケットに含まれるものとして特定されると、マルチポートスイッチ180はこのデータフレームを間引くことができる。しかしながら、マルチポートスイッチ180はセットアップパケット以外のデータパケットを処理し、既存のTCPセッションを完了させることができる。上述したように、確認応答パケットおよびTCPセッションの確立に関連する他のパケットが送信されないため、セットアップパケットを間引くとマルチポートスイッチ180でネットワーク上のデータトラフィックをさらに低減できることがある。繰り返すが、輻輳状態が長引く場合は優先度の高いデータフレームを含む全受信データフレームをポートフィルタロジック300で間引くようにしてもよい。
要するに、ポートフィルタロジック300はFBQ330の状態とデータフレームに含まれるデータの性質とに基づいてデータフレームを間引く決断をし得る。このポートフィルタロジック300は、データパケットの性質を判断する上でデータフレームの一部または全部を調べるように構成できるものである。すなわち、上記の例では、ヘッダ422に含まれる1つまたはそれ以上のフラグの状態を特定し、データパケットの性質を特定するようにポートフィルタロジック300を構成することができる。
ポートフィルタロジック300がデータフレームを間引く決断をした場合、ポートフィルタロジック300はデータフレームを受信した対応のMACモジュールに信号を送信する[ステップ880]。上記の例では、ポートフィルタロジック300は、データフレームが間引かれることを示す信号をMACモジュール310に送信する。代表的な実施例では、ポートフィルタロジック300はデータフレームが「クズ」(すなわち不完全なデータフレームまたはエラーを含むデータフレーム)であることを示す信号をMACモジュールに送信することができる。実際にはデータフレームがクズではないとしても、である。この状態で、クズのフレームが間引かれることを認識するようにMACモジュールを構成してもよい。こうすることで、MACモジュールをクズとして特定されたフレームを間引くように構成し得るようになったため、MACモジュールのロジックを都合よく簡略化できる。あるいは、ポートフィルタロジック300はデータフレームが間引かれることを示す他の何らかの信号(DROP_FRAMEなど)を送信するものであってもよい。
いずれの場合も、MACモジュール310は、ポートフィルタロジック300からの信号を受信し、データフレームを間引く[ステップ890]。この場合、キューイングロジック310Bが受信FIFOバッファ310Aからデータフレームを削除する。都合のよいことに、データフレームは、マルチポートスイッチ180の資源を相当な量で使うことなくマルチポートスイッチ180の「フロントエンド」(すなわち処理の早い段階)で間引かれる。たとえば、キューイングロジック310BはFBQ330からフレームポインタを取得せず、データフレームを外部メモリインタフェース265に転送しない。これによって、フレームポインタを取得し、続いてフレームポインタをFBQ330に返すことに関わるかなりの処理時間が節約される。言い換えると、マルチポートスイッチ180は特定のデータフレームを本来の宛先に転送することに関するすべての処理を停止する。
以上、ネットワークデバイスにおいて選択的受付制御を行うための装置および方法について説明した。本発明のひとつの利点に、受付制御が使用可能なときにマルチポートスイッチ180でデータフレームを選択的に間引くことができる点がある。本発明のもうひとつの利点は、2つのデバイス間に接続を確立することに関連するフレームをマルチポートスイッチ180で間引くことができるため、先行するセッションに完了する機会が与えられる点がある。本発明のさらに別の利点はデータフレームの処理の比較的速い段階で受信したデータフレームを間引くか否かをマルチポートスイッチ180で判断できる点である。これによって後で間引かれるデータフレームのためにマルチポートスイッチが資源を使ってしまうのを回避できるため、全体としてのデータスループットが向上する。
本願開示においては、本発明の好ましい実施形態ならびにその汎用性を示すいくつかの例についてのみ図示して説明したが、本発明はさまざまな他の組み合わせおよび環境における使用が可能であり、本願明細書にて明示した発明概念の範囲内でいくつかの改変が可能なものであることは理解できよう。
たとえば、ここでは2つのデバイス間でのTCPセッションに関連するセットアップパケットがデータフレームに含まれるか否かに基づいてデータフレームを間引くことを中心に本発明を説明したが、本発明はデータフレームを間引くか否かの判断に他の規準を用いることのできる状況にも利用できるものである。すなわち、ポートフィルタロジック300を、データフレームのペイロード部分に関連する他の何らかの条件を検出し、ユーザの要件に応じてデータフレームを間引くように構成し得る。
また、データフレームに関連する優先度を判断し、データフレームの優先度とデータフレームにセットアップパケットが含まれるか否かとに基づいてデータフレームを間引くか否かを決定することについて本発明を説明してきたが、本発明はデータフレームを間引くか否かを判断するのにデータフレームの優先度を使わない状況にも利用できるものである。すなわち、ポートフィルタロジック300は、データフレームに関連する優先度とは無関係にデータフレームにセットアップパケットが含まれるか否かとFBQ330でのフレームポインタの可用性とに基づいてデータフレームを間引くか否かを判断するものであってもよい。
最後に、ここでは優先度の低い受付制御閾値と優先度の高い受付制御閾値とに対応するFBQ330での第1の水位線と第2の水位線とを中心に本発明について説明した。しかしながら、本発明は上述したようにFBQ330に任意の数の水位線が含まれる状況にも利用できるものであることは理解されたい。この場合、マルチポートスイッチ180は、FBQ330で達したレベルに優先度が対応するデータフレームのセットアップパケットを最初に間引く。言い換えると、FBQに4つの水位線が含まれ、優先度が低−中のデータフレームに第2の水位線が対応している場合、マルチポートスイッチ180はセットアップパケット情報を含む優先度が低−中のデータフレームを間引くことになる。
添付の図面を参照するが、図中、同一の参照符号を付した要素は全体を通して同様の要素を表すものとする。
本発明に整合する方法およびシステムを実施できる、代表的なシステムのブロック図である。 図1に示すマルチポートスイッチの代表的な詳細ブロック図である。 本発明の実施例に整合する、図2に示すマルチポートスイッチの一部の代表的な詳細ブロック図である。 本発明に整合する実施例において用いられる通信プロトコルの代表的な図である。 本発明の実施例に整合する、図4に示すヘッダの代表的な詳細図である。 本発明の実施例に整合する、図4に示すヘッダの代表的な詳細図である。 本発明の実施例に整合する、図4に示すヘッダの代表的な詳細図である。 本発明に整合する代表的な実施例による、図2に示すマルチポートスイッチによって実行される処理を示す流れ図である。

Claims (11)

  1. 複数のステーション間でのデータフレームの通信を制御するように構成されたネットワークデバイスであって、
    前記ステーションからのデータフレームを受信するように構成された複数の受信ポートと、データフレーム処理ロジックと、を備えた受信機を有し、
    前記データフレーム処理ロジックが、
    受付制御が使用可能であるか否かを判断し、
    受信された各データフレームに関連する優先度を判断し、
    前記受信されたデータフレームのペイロードポーションに含まれる情報に基づいて、受信された各データフレームに関連するタイプを決定し、
    受付制御が使用可能であるか否か、前記第1データフレームの優先度、及び前記第1データフレームに関連するタイプに基づいて、受信したデータフレームのうちの第1データフレームを間引くか否かを判断するように構成されており、
    更に、前記データフレーム処理ロジックは、前記第1データフレームに関連するタイプを決定する際に、前記第1データフレームが第1ステーションと第2ステーションとの間の接続を確立することに関連しているか否かを特定するよう構成されており、
    前記データフレーム処理ロジックは、
    前記第1データフレームが前記第1ステーションと前記第2ステーションとの間に接続を確立することに関連しており、かつ前記第1データフレームの優先度が低い場合に、この第1データフレームを間引くように構成されていることを特徴とするネットワークデバイス。
  2. 前記第1データフレームが前記第1ステーションと前記第2ステーションとの間に接続を確立することに関連しているかを特定する際に、前記データフレーム処理ロジックは、
    前記第1データフレームの少なくとも一部を読み出してこのひとつのデータフレームにシーケンス番号情報を含む送信制御プロトコルメッセージが含まれているか否かを判断するように構成されている、請求項1に記載のネットワークデバイス。
  3. 前記第1データフレームの間引きを行うか否かを決定する際に、前記データフレーム処理ロジックは、
    前記第1データフレームに同期フラグがセットされた送信制御プロトコルヘッダが含まれるているか否かを検出するよう構成されている、請求項1記載のネットワークデバイス。
  4. 複数の受信ポートに対応する複数の受信バッファを有し、前記複数の受信バッファは、前記受信されたデータフレームを格納するよう構成され、
    前記データフレーム処理ロジックは、前記第1のデータフレームの前記同期フラグがセットされている場合に、前記複数の受信バッファのうちの第1の受信バッファから前記第1のデータフレームを削除するよう構成されている、請求項記載のネットワークデバイス。
  5. ステーション間におけるデータフレームの通信制御を行うネットワークデバイスで実行される方法であって、
    受信機が、ステーションからのデータフレームを受信し、
    前記受信機が、第1のデータフレームに関連する優先度を判断し、
    前記受信機が、第1のデバイスと第2のデバイスとの間の接続確立に前記第1のデータフレームが関連するか否かを判断し、
    前記受信機が、前記第1のデータフレームが前記接続確立及び前記第1のデータフレームの優先度に関連するか否かに基づいて前記第1のデータフレームを間引きするか否かを判断し、
    前記第1のデータフレームが前記接続確立に関連するとともに前記優先度が第1の優先度に対応する場合に、前記第1のデータフレームを間引く、方法。
  6. 前記接続確立に前記第1のデータフレームが関連しているか否かの判断では、
    同期フラグがセットされた送信制御プロトコルメッセージが前記第1のデータフレームに含まれるか否かが検出される、請求項記載の方法。
  7. ステーション間におけるデータフレームの通信制御を行うネットワークデバイスで実行される方法であって、
    ステーションからデータフレームを受信し、
    第1のデータフレームが、第1のデバイスと第2のデバイスとの間の接続確立に関連しているか否かを判断し、
    外部メモリ内での前記受信したデータフレームを格納するための位置に対応するアドレスポインタの数が第1の閾値に達する時点を検出し、
    前記第1の閾値が検出されたら第1の優先度のデータフレームについて受付制御を開始し、
    前記第1のデータフレームに関連する優先度を判断し、
    前記第1のデータフレームが前記接続確立に関連し、かつ前記第1のデータフレームが前記第1の優先度に対応する場合に、前記第1のデータフレームを間引くか否かを判断する、方法。
  8. 前記受信したデータフレームを少なくとも一つのバッファに格納し、
    前記データフレームを間引く処理には、前記少なくとも一つのバッファから前記第1のデータフレームの削除が含まれる、請求項記載の方法。
  9. ステーション間におけるデータフレームの通信制御を行うネットワークデバイスであって、
    データフレームを受信するよう構成された複数の受信ポートと、
    処理ロジックと、を有し、この処理ロジックは、
    データフレームを処理することに関連する輻輳状態を検出し、データフレームが2つのデバイス間に接続を確立することと関連しているか否かを判断し、
    データフレームが2つのデバイス間に接続を確立することと関連しているか否かに少なくとも部分的に基づいて、データフレームを間引くか否かを判断し、
    前記各データフレームに関連した優先度に基づいて、二つのデバイス間の接続確立に関連するデータフレームを選択的に間引くように構成されている、ネットワークデバイス。
  10. 前記二つのデバイス間の接続確立にデータフレームが関連しているか否かを判断する際に、前記処理ロジックは、
    前記データフレームの少なくとも一部を読み出して、前記データフレームが、シーケンス番号情報を含む送信制御プロトコルメッセージを含むか否かを判断するように構成されている、請求項記載のネットワークデバイス。
  11. 前記受信したデータフレームの少なくとも幾つかは、優先度情報を含み、前記データフレーム処理ロジックは、
    データフレームに含まれた優先度情報を、高い優先度、低い優先度のすくなくとも一方にマッピングするよう構成されている、請求項1記載のネットワークデバイス。
JP2002576377A 2001-03-23 2001-11-02 ネットワークデバイスにおける選択的データフレーム間引き Expired - Fee Related JP4150258B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/814,815 US6728213B1 (en) 2001-03-23 2001-03-23 Selective admission control in a network device
PCT/US2001/051161 WO2002078274A1 (en) 2001-03-23 2001-11-02 Selective data frame dropping in a network device

Publications (3)

Publication Number Publication Date
JP2004530343A JP2004530343A (ja) 2004-09-30
JP2004530343A5 JP2004530343A5 (ja) 2005-12-22
JP4150258B2 true JP4150258B2 (ja) 2008-09-17

Family

ID=25216068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002576377A Expired - Fee Related JP4150258B2 (ja) 2001-03-23 2001-11-02 ネットワークデバイスにおける選択的データフレーム間引き

Country Status (7)

Country Link
US (1) US6728213B1 (ja)
EP (1) EP1384356B1 (ja)
JP (1) JP4150258B2 (ja)
KR (1) KR100880684B1 (ja)
CN (1) CN1505888A (ja)
DE (1) DE60118799T2 (ja)
WO (1) WO2002078274A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619793B2 (en) * 2000-08-21 2013-12-31 Rockstar Consortium Us Lp Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US7295562B1 (en) * 2001-03-26 2007-11-13 Advanced Micro Devices, Inc. Systems and methods for expediting the identification of priority information for received packets
US6839351B1 (en) * 2001-03-28 2005-01-04 Advanced Micro Devices, Inc. Parallel packet lookup in a packet-switched network
US6947437B1 (en) * 2001-05-02 2005-09-20 Advanced Micro Devices, Inc. Programmable output queues in a network device
US20070245247A1 (en) * 2002-05-14 2007-10-18 Kaleidescape, Inc. Grid-like guided user interface for video selection and display
US7246322B2 (en) 2002-07-09 2007-07-17 Kaleidescope, Inc. Grid-like guided user interface for video selection and display
US7231607B2 (en) * 2002-07-09 2007-06-12 Kaleidescope, Inc. Mosaic-like user interface for video selection and display
US7031721B2 (en) * 2002-05-16 2006-04-18 Interdigital Technology Corporation Method and system for avoiding power outages at the base station in cellular system using variable rate transmission
US7003131B2 (en) * 2002-07-09 2006-02-21 Kaleidescape, Inc. Watermarking and fingerprinting digital content using alternative blocks to embed information
US8351341B1 (en) * 2002-08-02 2013-01-08 Juniper Networks, Inc. Filtering to protect class of service
US7373419B2 (en) * 2002-12-06 2008-05-13 Intel Corporation Method, system, and article of manufacture for increasing network throughput
US8572104B2 (en) 2003-04-18 2013-10-29 Kaleidescape, Inc. Sales of collections excluding those already purchased
US8838772B2 (en) 2003-08-29 2014-09-16 Ineoquest Technologies, Inc. System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks
US20150341812A1 (en) 2003-08-29 2015-11-26 Ineoquest Technologies, Inc. Video quality monitoring
US8588069B2 (en) * 2003-08-29 2013-11-19 Ineoquest Technologies, Inc. System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks
CN1305279C (zh) * 2004-07-09 2007-03-14 清华大学 核心网无状态的端到端多约束准入控制方法
US8644150B2 (en) * 2004-12-30 2014-02-04 Telecom Italia S.P.A. Admission control in a telecommunication network
JP2007235211A (ja) * 2006-02-27 2007-09-13 Fujitsu Ltd データ送受信装置、データ送受信方法およびデータ送受信プログラム
US20080005227A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for content processing
US20080005228A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for communicating to networks using mobile phones
US20080005341A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for dynamic list prioritization
US20080005226A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian A method and system for one-to-one communication through proxy
US8068415B2 (en) 2007-04-18 2011-11-29 Owl Computing Technologies, Inc. Secure one-way data transfer using communication interface circuitry
US8139581B1 (en) 2007-04-19 2012-03-20 Owl Computing Technologies, Inc. Concurrent data transfer involving two or more transport layer protocols over a single one-way data link
US8352450B1 (en) 2007-04-19 2013-01-08 Owl Computing Technologies, Inc. Database update through a one-way data link
US7941526B1 (en) 2007-04-19 2011-05-10 Owl Computing Technologies, Inc. Transmission of syslog messages over a one-way data link
US7992209B1 (en) 2007-07-19 2011-08-02 Owl Computing Technologies, Inc. Bilateral communication using multiple one-way data links
US8441926B2 (en) * 2007-11-30 2013-05-14 The Hong Kong University Of Science And Technology Method and system for a novel flow admission control framework
US8276034B2 (en) * 2007-12-27 2012-09-25 Ricoh Company, Limited Information processing apparatus, information processing method, and computer program product
CN101741752B (zh) * 2008-11-17 2015-08-19 华为技术有限公司 视频流传输的方法、装置和系统
US9305189B2 (en) 2009-04-14 2016-04-05 Owl Computing Technologies, Inc. Ruggedized, compact and integrated one-way controlled interface to enforce confidentiality of a secure enclave
CN101568027B (zh) * 2009-05-22 2012-09-05 华为技术有限公司 转发视频数据的方法、装置和系统
TWI383640B (zh) * 2009-10-22 2013-01-21 Wistron Corp 利用網路傳輸檔案之方法與檔案傳輸系統
GB2495018B (en) 2010-07-19 2017-02-22 Owl Computing Tech Inc Secure acknowledgment device for one-way data transfer system
US9575987B2 (en) 2014-06-23 2017-02-21 Owl Computing Technologies, Inc. System and method for providing assured database updates via a one-way data link
CN106454432B (zh) * 2016-10-18 2019-09-17 浙江大华技术股份有限公司 一种视频帧处理方法和装置
WO2018072675A1 (en) 2016-10-18 2018-04-26 Zhejiang Dahua Technology Co., Ltd. Methods and systems for video processing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408465A (en) 1993-06-21 1995-04-18 Hewlett-Packard Company Flexible scheme for admission control of multimedia streams on integrated networks
FI94814C (fi) 1993-11-30 1995-10-25 Nokia Telecommunications Oy Menetelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi sekä kehysvälitysverkon tilaajasolmu
US6028842A (en) * 1996-12-23 2000-02-22 Nortel Networks Corporation Dynamic traffic conditioning
US6246680B1 (en) * 1997-06-30 2001-06-12 Sun Microsystems, Inc. Highly integrated multi-layer switch element architecture
US6330226B1 (en) * 1998-01-27 2001-12-11 Nortel Networks Limited TCP admission control
US6591301B1 (en) 1999-06-07 2003-07-08 Nortel Networks Limited Methods and systems for controlling network gatekeeper message processing

Also Published As

Publication number Publication date
EP1384356B1 (en) 2006-04-12
KR20030085052A (ko) 2003-11-01
EP1384356A1 (en) 2004-01-28
US6728213B1 (en) 2004-04-27
JP2004530343A (ja) 2004-09-30
KR100880684B1 (ko) 2009-01-30
WO2002078274A1 (en) 2002-10-03
DE60118799D1 (de) 2006-05-24
CN1505888A (zh) 2004-06-16
DE60118799T2 (de) 2007-04-12

Similar Documents

Publication Publication Date Title
JP4150258B2 (ja) ネットワークデバイスにおける選択的データフレーム間引き
US6957269B2 (en) Method and apparatus for performing priority-based flow control
US6980520B1 (en) Method and apparatus for performing source-based flow control across multiple network devices
US6925055B1 (en) Systems and methods for traffic shaping
EP0258604B1 (en) A method of transmitting a token in a communication ring
US6026095A (en) Method and apparatus for controlling latency and jitter in shared CSMA/CD (repeater) environment
US6445711B1 (en) Method of and apparatus for implementing and sending an asynchronous control mechanism packet used to control bridge devices within a network of IEEE STD 1394 serial buses
US6990114B1 (en) System and method for deciding outgoing priority for data frames
US4858232A (en) Distributed switching system
US20020167950A1 (en) Fast data path protocol for network switching
KR20190084315A (ko) 네트워크 장치 및 네트워크 장치의 전송 선택 방법
US6731601B1 (en) Apparatus and method for resetting a retry counter in a network switch port in response to exerting backpressure
US6957270B1 (en) Method and apparatus for performing flow control across multiple network devices
JP3954500B2 (ja) 優先度または差別化サービス情報に基づくタグ生成
US6842423B1 (en) Systems and methods for priority-based flow control masking
US8107371B2 (en) Apparatus and method for providing QoS of AV streams
US6944174B1 (en) Jitter reduction of voice packets in a packet-based network
US6985441B1 (en) Intelligent embedded processor enabled mechanism to implement RSVP function
US6954427B1 (en) Method and apparatus for performing priority-based admission control
JP2007306221A (ja) ネットワークスイッチ及び通信ネットワーク
US6839351B1 (en) Parallel packet lookup in a packet-switched network
US6963536B1 (en) Admission control in a network device
US6885666B1 (en) Apparatus and method in a network switch for synchronizing transfer of a control tag to a switch fabric with transfer of frame data to a buffer memory
US6917623B1 (en) System and method for transferring data in a network device
US6940854B1 (en) Systems and methods for determining priority based on previous priority determinations

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041029

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070330

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071009

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080109

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080208

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080218

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080306

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080409

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080603

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080627

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

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120704

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees