JP5398707B2 - エンド・ツー・エンド型ネットワークqosの強化 - Google Patents

エンド・ツー・エンド型ネットワークqosの強化 Download PDF

Info

Publication number
JP5398707B2
JP5398707B2 JP2010515521A JP2010515521A JP5398707B2 JP 5398707 B2 JP5398707 B2 JP 5398707B2 JP 2010515521 A JP2010515521 A JP 2010515521A JP 2010515521 A JP2010515521 A JP 2010515521A JP 5398707 B2 JP5398707 B2 JP 5398707B2
Authority
JP
Japan
Prior art keywords
priority
network
network data
buffer
data
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
JP2010515521A
Other languages
English (en)
Other versions
JP2010533400A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010533400A publication Critical patent/JP2010533400A/ja
Application granted granted Critical
Publication of JP5398707B2 publication Critical patent/JP5398707B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9031Wraparound memory, e.g. overrun or underrun detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal

Landscapes

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

Description

本発明は、デジタル・ネットワーク、及び内部の情報トラフィックの処理に関する。より特定的には、本発明は、インターネット・プロトコル(IP)ネットワークにおけるエンドポイント間で交換されるデータについての差別化されたサービス品質(quality of service、QoS)レベルを提供することに関する。
背景として、現代のIPネットワークにおいては、優先順位付けされたデータの伝送サービスを提供するために、種々のQoS機構が実装されてきた。全てのデータを同等に扱う「ベスト・エフォート(best effort)型」通信モードを用いる代わりに、これらのQoS機構は、ネットワーク・トラフィックを差別化されたサービス・カテゴリに優先順位付けする。従って、高優先順位のトラフィック(例えば、音声通信、ビデオ/オーディオ・ストリーム等)を定義して他のネットワーク・データよりも高い優先順位で処理することができ、これによりパケットのドロップ、待ち時間、ジッタ等といった望ましくないネットワーク伝送の問題が低減される。周知のQoS機構は、IEEE(Institute of Electrical and Electronics Engineers、米国電気電子学会)802.1p規格によって定められるリンク・レベルのトラフィック優先順位付けスキームと、RSVP(ReSource reserVation Procotol)及びdiffserv(differentiatedservice、差別化されたサービス)によって実装されるネットワーク・レベルの優先順位付けスキームとを含む。
上記のQoS機構は、IPネットワーク内のルーティング・ノード間のデータ伝送ではうまくいくが、エンドポイント・システムが、受信するパケットをタイムリーに処理できないときには、ネットワーク・エンドポイント内にボトルネック(bottleneck)が生じる恐れがある。これは、例えば、デバイス/システム・キュー(待ち行列)が一杯であり、メモリが少なく(low)、処理リソースに過度の負荷がかかっているときに生じ得る。その結果、高優先順位のパケットが、通常の優先順位又は低い優先順位のパケットの後にドロップされる又はブロックされることがあり、これによりQoSスキームの目的が達せられなくなる。
ネットワークにおける強化されたエンド・ツー・エンドのQoSをサポートするための、ネットワークで用いるためのネットワーク・エンドポイント・システム及び関連した方法、並びにコンピュータ・プログラム製品が提供される。
第1の態様によると、ネットワーク・エンドポイント・システムは、ネットワーク・エンドポイント・システムによって実装されるネットワーク・プロトコル・スタックのアプリケーション層で動作しているデータ・コンシューマの代わりに、種々の優先順位のネットワーク・データを受信するように適合される。ネットワーク・エンドポイント・システムは、ネットワーク・データを含むネットワーク・フレームを受信するように適合されたネットワーク・インターフェース・コントローラと、各々が関連付けられた優先順位を有する複数のネットワーク・データ処理チャネルと、ネットワーク・データ優先順位に従って優先順位ベースで、ネットワーク・データをネットワーク・インターフェース・コントローラから複数のデータ処理チャネルに転送するように適合された優先順位処理論理とを含む。
ネットワークQoSの提供を改善し、ネットワーク・エンドポイントと関連したボトルネックを低減又は排除することができるようにするための機構が提供されることが好ましい。入ってくる高優先順位のパケットを効率的に処理し、かつ、それらのQoSレベルに十分な考慮が与えられることを可能にする技術が提供されることが好ましい。
例示的な開示された実施形態によると、ネットワーク・データの優先順位は、ネットワーク・フレーム内の優先順位インジケータ・フィールドによって示すことができる。システム内のネットワーク・インターフェース・コントローラ又はネットワーク・インターフェース・コントローラのデバイス・ドライバは、フレームのリンク層部分内のリンク層優先順位インジケータ、又は、フレームのネットワーク・パケット部分内のネットワーク層優先順位インジケータのうちの1つとして、優先順位インジケータ・フィールドを検査するように、優先順位処理論理を実装することができる。複数のネットワーク・データ処理チャネルが、ネットワーク・データに対応するバッファ記述子を含んだ複数のリング・バッファを含むことができる。次いで、優先順位処理論理は、ネットワーク・フレームを検査し、ネットワーク・データ優先順位に従って優先順位ベースでバッファ記述子を複数のリング・バッファに配送するように適合された、ネットワーク・インターフェース・コントローラにおける優先順位マッピング論理によって実施される。優先順位処理論理は、ネットワーク・データ優先順位に従って優先順位ベースで複数のリング・バッファ内のバッファ記述子を処理するように適合された、システム内のネットワーク・インターフェース・コントローラ・デバイス・ドライバにおけるリング・バッファ選択論理によってさらに実施される。代替的に、複数のネットワーク・データ処理チャネルは、ネットワーク・データに対応するバッファ記述子を処理するように適合された複数のカーネル・プロトコル・スタック・チャネルを含むことができる。その場合、優先順位処理論理は、ネットワーク・データ優先順位に従って優先順位ベースでバッファ記述子をカーネル・プロトコル・スタック・チャネルに配送するように適合された、システム内のネットワーク・インターフェース・コントローラ・デバイス・ドライバにおけるチャネル選択論理によって実施される。複数のカーネル・プロトコル・スタック・チャネルは、ネットワーク・データ優先順位に従って優先順位ベースでバッファ記述子をエンキューするように適合された複数のバッファ記述子キューを含むことができる。
代替的に、複数のカーネル・プロトコル・スタック・チャネルは、優先順位付けされたバッファ記述子処理スレッドを含むことができる。システムは、ネットワーク・データ優先順位及びメモリ可用性に従って優先順位ベースでバッファ記述子を割り当てるように適合されたバッファ割り当て論理をさらに含むことができる。システムのデータ・コンシューマがネットワーク・データ・ソースとしても働く場合、優先順位処理論理は、ネットワーク・データ優先順位に従って優先順位ベースでネットワーク・データを複数のデータ処理チャネルからネットワーク・インターフェース・コントローラに転送するようにさらに適合させることができる。
別の態様によると、ネットワーク・インターフェース・コントローラにおいてネットワーク・データを含むネットワーク・フレームを受信することと、各々が関連付けられた優先順位を有する複数のネットワーク・データ処理チャネルを提供することと、ネットワーク優先順位に従って優先順位ベースでネットワーク・データをネットワーク・インターフェース・コントローラから複数のネットワーク・データ処理チャネルに転送するように、優先順位処理を行なうこととを含む、ネットワーク・プロトコル・スタックのアプリケーション層で動作しているデータ・コンシューマの代わりに、種々の優先順位のネットワーク・データを受信する方法が提供される。
別の態様によると、1つ又は複数のコンピュータ使用可能媒体と、ネットワーク・インターフェース・コントローラにおいてネットワーク・データを含むネットワーク・フレームを受信し、各々が関連付けられた優先順位を有する複数のネットワーク・データ処理チャネルを提供し、ネットワーク優先順位に従って優先順位ベースでネットワーク・データをネットワーク・インターフェース・コントローラから複数のネットワーク・データ処理チャネルに転送するように優先順位処理を行なうことによって、ネットワーク・プロトコル・スタックのアプリケーション層で動作しているデータ・コンシューマの代わりに種々の優先順位のネットワーク・データを受信するように、データ処理プラットフォームをプログラミングするためのコンピュータ使用可能媒体と関連付けられた手段とを含むコンピュータ・プログラム製品が提供される。
更に別の態様において、ネットワークにおける強化されたエンド・ツー・エンドQoSをサポートするために、ネットワーク・インターフェース・コントローラ及びネットワーク・ノードが提供される。ネットワーク・インターフェース・コントローラは、ネットワーク・リンクからネットワーク・データを含むネットワーク・フレームを受信するように適合されたフレーム受信機と、ネットワーク・データをホスト・ネットワーク・エンドポイント・システムに提供するように適合された複数のホスト入力/出力ユニットと、ネットワーク・データ優先順位に従ってネットワーク・データをホスト・ネットワーク・エンドポイント・システムの複数のデータ処理チャネルに転送するように適合されたネットワーク・インターフェース・コントローラにおける優先順位マッピング論理とを含む。ネットワーク・ノードは、ネットワークのエッジからネットワーク・データを含むネットワーク・フレームを受信するように適合された第1のリンク・インターフェースと、ネットワーク・フレームをネットワーク・エンドポイント・システムに送るように適合された第2のリンク・インターフェースと、ネットワーク・データ優先順位に対応する優先順位インジケータについてのネットワーク・フレームのネットワーク層部分を検査し、対応する優先順位インジケータをネットワーク・フレームのリンク層部分に挿入するように適合された優先順位挿入論理とを含む。
ここで、本発明の好ましい実施形態を、ほんの一例として、以下の図面を参照して説明する。
例示的なIPネットワークを示す機能ブロック図である。 従来技術のIPネットワーク・ホストにおける例示的なネットワーク・データ処理を示す機能ブロック図である。 図2の従来技術のIPネットワーク・ホストによって行なわれるネットワーク・データ処理のさらなる図を示す機能ブロック図である。 図2の従来技術のIPネットワーク・ホストによって行なわれるネットワーク・データ処理の更に別の図を示す機能ブロック図である。 第1の例示的な改善されたIPネットワーク・ホストによって行なわれる例示的なネットワーク・データ処理を示す機能ブロック図である。 図5のIPネットワーク・ホストによって行なわれる例示的なフレーム受信処理を示すフロー図である。 図5のIPネットワーク・ホストによって行なわれる例示的なフレーム伝送処理を示すフロー図である。 第2の例示的な改善されたIPネットワーク・ホストによって行なわれる例示的なネットワーク・データ処理を示す機能ブロック図である。 図8のIPネットワーク・ホストによって行なわれる例示的なフレーム受信処理を示すフロー図である。 図8のIPネットワーク・ホストによって行なわれる例示的なフレーム伝送処理を示すフロー図である。 第3の例示的な改善されたIPネットワーク・ホストによって行なわれる例示的なネットワーク・データ処理を示す機能ブロック図である。 図11のIPネットワーク・ホストによって行なわれる例示的なフレーム受信処理を示すフロー図である。 図11のIPネットワーク・ホストによって行なわれる例示的なフレーム伝送処理を示すフロー図である。 本発明の一実施形態による、IPv4ネットワーク層パケットをカプセル封入するリンク層イーサネット・フレームの図である。 図8の第2の例示的な改善されたIPネットワーク・ホストの第1の代替的な実装を示す機能ブロック図である。 図8の第2の例示的な改善されたIPネットワーク・ホストの第2の代替的な実装を示す機能ブロック図である。 図5−図11の改善されたIPネットワーク・ホストを実装するためのシステムを提供するために用い得る例示的なデータ処理ハードウェアを示す機能ブロック図である。 図5−図11のネットワーク・ホストのソフトウェア及び/又はファームウェアのコンピュータ・プログラム製品の実装に用い得る例示的な記憶媒体の図である。
ここで、幾つかの図の全てにおいて同様の参照番号が同様の要素を示す図面を参照すると、図1は、IPネットワーク4内に配置されたネットワーク・エンドポイント・システム2を示す。IPネットワーク4は、エッジ・ノード8と共に1つ又は複数の内部ルーティング・ノード6を含むように、ほんの一例として示されている。ルーティング・ノードは、ルータ、スイッチ、ハブ、又はネットワーク・エンドポイントに向けてパケットを送ることができる何らかの他のネットワーク・デバイスとして実装することができる。エッジ・ノード8は、内部ルーティング・ノード6と大部分の点で類似しているが、ネットワーク4と、参照番号10で示される1つ又は複数の他のネットワークとの間のインターフェースとして働くように適合される。ネットワーク10は、様々な優先順位のデータ・パケットをエンドポイント・システム2に送ることができると考えられる、ネットワーク4から1つ又は複数の遠隔エンドポイント・システム12までの経路を提供する。エッジ・ノード8は、ネットワーク4のエッジから、ネットワーク・データを含むネットワーク・フレームを受信するように適合された第1のリンク・インターフェース8Aと、ネットワーク・フレームをネットワーク・エンドポイント・システム2に送るように適合された第2のリンク・インターフェース8Bとを含む。
ネットワーク4は、IPネットワーク層プロトコルをサポートする種々のコネクションレス型(又はコネクション型)ネットワーク化技術のいずれかを用いて実装することができる。物理レベルにおいては、電気配線、光ファイバ・ケーブル、無線リンク、又はそれらの任意の組み合わせによって、ネットワーク4を含む種々の要素間を相互接続することができる。データ・リンク・レベルにおいては、ネットワーク4は、媒体アクセス制御(Media Access Control、MAC)フレーミング、又はいずれかの他の適切なデータ・リンク・レベル・プロトコルを実装することができる。この種のIPネットワークは、イーサネット(802.3)及び無線プロトコル(802.11)などの規格のIEEE802.xファミリーに従って構築されたものを含む。ネットワーク4はさらに、上記の背景として述べられたものの1つのようなQoS機構を実装するように考えられる。
従来のIPネットワーク・エンドポイントとは違って、エンドポイント2は、ネットワーク4内に実装されたQoSスキームを保護する方法で、異なる優先順位を有するパケットを処理するように適合される。これがどのように達成されるかを説明する前に、従来のIPネットワーク・ホストによって行なわれるネットワーク・パケットの処理を再検討することが有用であろう。こうしたホストは、図2に参照番号20で示される。ホスト20は、ネットワーク・リンク24に接続されたネットワーク・インターフェース・カード(NIC)22を含む。ネットワーク・リンク24は、有線ベースのものであっても又は無線のものであってもよく、IPパケットをカプセル封入するリンク層フレーム(例えば、イーサネット・フレーム)を運ぶ。NIC22は、NICとオペレーティング・システムのカーネル・プロトコル・スタック28との間でフレーム・データを転送する役割を担うオペレーティング・システムのNICデバイス・ドライバ26によって管理される。
カーネル・プロトコル・スタック28は、その各々がデータ・ソース又はデータ・シンクとして働くことができる、アプリケーション30、30及び30のような1つ又は複数のアプリケーションとの間でデータを転送する役割を担う。示されるように、アプリケーション30、30及び30は、それらが処理するネットワーク・トラフィックに関連して異なる優先順位を有することができる。例えば、アプリケーション30は、対話式テレビ会議又は音声通信に関与する高優先順位の遅延感受性アプリケーションとすることができ、アプリケーション302は、ストリーミング・マルチメディア又はビジネスに不可欠なトラフィック処理に関与する中優先順位の負荷制御型アプリケーションとすることができ、アプリケーション30は、ファイル転送、ウェブ・ブラウジング等に関与する低優先順位のベストエフォート型アプリケーションとすることができる。
NIC22とカーネル・プロトコル・スタック28との間でフレーム・データを転送するのを助ける一対のリング・バッファが、ホスト20のメモリ内にある。一方のリング・バッファ32は、フレーム伝送(TX)のために用いられ、他方のリング・バッファ34は、フレーム受信(RX)のために用いられる。各々のリング・バッファは、ホスト・メモリ内のフレーム含有バッファへのポインタを含むバッファ記述子の円形FIFO(first in, first out)キューを表す。伝送リング・バッファ32において、フレーム伝送と関連付けられたデータを含むバッファの伝送が参照される。受信リング・バッファ34において、フレーム受信と関連付けられたデータを含むバッファの受信が参照される。各々のリング・バッファ32及び34は、エンキューされた(キューに入れられた)バッファ記述子を読み書きするための一対のポインタを有する。伝送リング・バッファ32は、伝送バッファ記述子を書き込むために現在のキュー・スロットを識別するホスト書き込みポインタ(「HOST WRITE」)と、伝送バッファ記述子を読み取るために現在のキュー・スロットを識別するNIC読み取りポインタ(「NIC READ」)とを有する。受信リング・バッファ34は、受信バッファ記述子を書き込むために現在のキュー・スロットを識別するNIC書き込みポインタ(「NIC WRITE」)と、受信バッファ記述子を読み取るために現在のキュー・スロットを識別するホスト読み取りポインタ(「HOST READ」)とを有する。
パケット受信の際、ネットワーク・インターフェース・カード(NIC)22は、ネットワーク・リンク24から、IPパケットを含むリンク層フレームを受信する。説明のためだけに、NIC22は、これが常駐するネットワーク・ホストと共にバスマスタ(bus mastering)DMA(ダイレクト・メモリ・アクセス)データ転送を行ない得る最新のインターフェース・カードであると考えられる。他のタイプのNICを用いることもできる。バスマスタ機能をもたないNICの場合、NICデバイス・ドライバは、データ転送をサポートする必要がある。従って、NIC22は、ネットワーク・リンク媒体にアクセスするための送受信機22と、ホスト入力/出力(I/O)ユニット22と、パケット受信メモリ22と、パケット伝送メモリ22と、フレーム・プロセッサ22とを含むことができる。ここでさらに図3を参照すると、受信フレームが、ローカル受信バッファ(NICの受信メモリ22内に配置される)内に配置され、NICプロセッサ22が、ホスト20へのDMA転送(NIC I/Oユニット22を介する)を開始する。フレーム・コンテンツは、ホスト・バス36によって転送され、ホスト・メモリ38内のバッファに書き込まれる。NICプロセッサ22は、NICプロセッサ22がホスト20から既に取り出した次の空いたバッファ記述子を調べることによって、フレームの開始のためのメモリ・アドレスを決定する。NIC22は、既に取り出したバッファ記述子を修正し、その長さなどの新しいフレームについての情報、チェックサム情報等を付加し、次いで、ホスト・メモリ38への修正されたバッファ記述子のDMA転送を開始する。特に、図4にさらに示されるように、修正されたバッファ記述子は、そのリング・バッファのNIC書き込みポインタの現在の値を用いて、ホスト受信リング・バッファ34内に配置される。NIC22がホスト・オペレーティング・システムと対話するようにどのように構成されるかによって、NICは、NICデバイス・ドライバ26を呼び出して受信リング・バッファ34上の修正されたバッファ記述子を読み取るハードウェア割り込みをもたらし、新しいフレームを検索し、これを処理してホストのカーネル・プロトコル・スタックにすることができる。効率のために、こうした割り込みは、通常、NIC22によって何らかの数の受信フレームが処理され、それらのバッファ記述子が受信リング・バッファ34にDMAバースト転送された後にもたらされる。割り込みの処理中、NICデバイス・ドライバ26は、受信リング・バッファのホスト読み取りポインタを用いて、最後の割り込み以来、NIC22によって受信リング・バッファ34内に配置された全ての修正されたバッファ記述子を見つける。次に、デバイス・ドライバ26は、さらなる処理のために修正されたバッファ記述子をカーネル・プロトコル・スタック28に渡し、割り込みから戻る。NICデバイス・ドライバ26を呼び出して受信リング・バッファ34を処理するために、ハードウェア割り込みの代わりに、ポーリングを用い得ることに留意されたい。
パケットの伝送中、上記のプロセスが実質的に逆にされる。伝送される新しいフレーム・データがホスト・メモリ38のバッファ内にあることが、ホスト・オペレーティング・システムに知らされる。オペレーティング・システムは、そうするためにホスト書き込みポインタを用いて、フレームについてのバッファ記述子を構築し、それを伝送リング・バッファ32内に配置する。NICデバイス・ドライバ26は、新しいバッファ記述子を取り出し、処理する準備ができたことをNIC22に通知する。効率のために、通常、NIC22には、伝送のために何らかの数のフレームを処理する準備ができた後に通知がなされる。NICプロセッサ22は、伝送リング・バッファ32からの新しいバッファ記述子のDMAバースト転送を開始し、それらを処理する。新しいフレームを保持するバッファのメモリ・アドレスを決定した後、NICプロセッサ22は、ホスト・バス36を通したフレーム・コンテンツのDMA転送を開始する。フレーム・コンテンツは、NIC I/Oユニット22を介して受信され、NICの伝送メモリ22内のローカル伝送バッファに配置される。所定のフレームの全セグメントが到着すると、NIC22は、そのフレームをネットワーク・ライン24に伝送する。ホスト・オペレーティング・システムと対話するようにNIC22がどのように構成されるかによって、NICは、ホスト20への割り込みをもたらし、フレーム伝送が完了したことを示す。
上記の背景として説明されたように、上述のフレーム処理手順の欠点は、QoS優先順位を満足のいくように処理できないことである。フレーム受信中、入ってくるフレームは、それらがNIC22から受信された順序で、受信リング・バッファ32上でエンキューされる(参照することにより)。これは、そのデータが高優先順位のアプリケーション30用のものである高優先順位フレームに、中程度の優先順位のアプリケーション30又は低優先順位アプリケーション30用のものであるより低い優先順位のフレームが組み入れられている可能性があること意味する。ネットワーク・トラフィックの頻繁なバースト的性質を考えると、受信リング・バッファ32上で高優先順位フレームがエンキューされ、続いて幾つかの低優先順位フレームのバーストがエンキューされ、続いて再び別の高優先順位フレームがエンキューされることがある。NICデバイス・ドライバ26は、受信リング・バッファ32上のバッファ記述子を連続的に処理する(ホスト読み取りポインタをインクリメントすることによって)ので、デバイス・ドライバが低優先順位フレームを処理する間、高優先順位アプリケーション30は、望ましくない通信待ち時間を蒙ることがある。フレーム伝送中、出ていくフレームは、それらがカーネル・プロトコル・スタック28から受信された順序で、伝送リング・バッファ34上でエンキューされる。これは、高優先順位のアプリケーション30から生じる高優先順位のフレームに、中程度の優先順位のアプリケーション30又は低優先順位のアプリケーション30からのより低い優先順位のフレームが組み入れられる可能性があることを意味する。同様に、ネットワーク・トラフィックの頻繁なバースト的性質を考えると、伝送リング・バッファ34上で高優先順位フレームがエンキューされ、続いて幾つかの低優先順位フレームのバーストがエンキューされ、続いて再び別の高優先順位フレームがエンキューされることがある。
NICプロセッサ22は、伝送リング・バッファ34上のバッファ記述子を連続的に処理する(NIC読み取りポインタをインクリメントすることによって)ので、NICが低優先順位フレームを処理する間、高優先順位アプリケーション30は、望ましくない通信待ち時間を蒙ることがある。
本開示は、上述の問題を克服し、サポートが強化されたエンド・ツー・エンド型ネットワークQoSを提供するために、図1のネットワーク・エンドポイント・システム2を改善することができる幾つかの方法を示す。各々の技術は、異なるQoS優先順位を有するフレームを別個に処理するのに多数のネットワーク・データ処理チャネルの使用を必要とするので、より高い優先順位のフレームがより低い優先順位のフレームの後にブロックされることはない。図5に示される1つの実装において、ネットワーク・エンドポイント・システム2は、図2のネットワーク・ホスト20と大部分の点で同一である改善されたIPネットワーク・ホスト20Aとして具体化される(実質的に対応する参照番号を用いて示されるように)。しかしながら、図2に示されるような単一の対の送信/受信バッファ32/34だけではなく、ネットワーク・ホスト20A及びNIC 22Aは、多数の対の送信/受信リング・バッファ32A/34A、32A/34A、及び32A/34Aをサポートする。各々のリング・バッファ対は、所定のQoS優先順位と関連付けることができるドライバ・レベルのフレーム処理チャネルを表す。図5において、リング・バッファ対32A/34A(各々のリング・バッファは、それぞれHTX及びHRXと表記される)は高優先順位レベルに対応し、リング・バッファ対32A/34A(各々のリング・バッファは、それぞれMTX及びMRXと表記される)は中程度の優先順位レベルに対応し、リング・バッファ対32A/34A(各々のリング・バッファは、それぞれLTX及びLRXと表記される)は低優先順位レベルに対応する。それ以上の優先順位レベルが必要とされる場合には、付加的なリング・バッファ対を追加することができ、ここでの3つのリング・バッファ対の記述は、任意のものであり、例示の目的のためのものにすぎないことが認識されるであろう。図5のNICプロセッサ22Aは、これが、送信/受信バッファ32A/34A、32A/34A、及び32A/34Aを異なるQoS優先順位と関連付ける優先順位マッピング論理22Aを含むという点で、図2の従来のNICプロセッサ22とは異なる。
ここでさらに図6のフロー図を参照すると、フレームを受信するとき(ステップ5A−1)、NIC優先順位マッピング論理22Aは、入ってくるフレームの各々におけるQoS情報を読み取り(ステップ5A−2)、処理のためにフレームを正しい受信リング・バッファ34A、34A又は34A内に(参照することによって)配置する(ステップ5A−3)。NICデバイス・ドライバ26Aも、リング・バッファ選択論理26Aを含むように修正される。フレーム受信に続いて、NICデバイス・ドライバ26Aが呼び出されると、リング・バッファ選択論理26Aは、受信リング・バッファ34A、34A及び34Aをそれぞれの優先順位の順序で処理する(ステップ5A−4)。特に、NICハードウェア割り込み又はNICポーリング操作に応答してNICデバイス・ドライバ26Aが呼び出される度に、NICデバイス・ドライバ26Aは、最初に、高優先順位の受信リング・バッファAを処理し、高優先順位アプリケーション30Aに配送するために、その上にある全ての高優先順位のバッファ記述子をカーネル・プロトコル・スタック28Aに渡す。次いで、同様の処理が、中程度の優先順位の受信リング・バッファ34A上で行なわれ、続いて低優先順位の受信リング・バッファ34A上で行なわれる。これにより、異なる優先順位のフレームをインターリーブ処理した結果生じるデバイスのボトルネックが除去され、こうしたフレームを、それらの相対的なQoS優先順位に従ってカーネル・プロトコル・スタックによって処理することが可能になる。
ここで図7のフロー図をさらに参照すると、パケットを送ったとき、NICデバイス・ドライバのリング・バッファ選択論理26Aが、カーネル・プロトコル・スタック28Aから受信したバッファ記述子の優先順位を評価し(ステップ5B−1)、それらを対応する伝送リング・バッファ32A、32A、又は32A上に配置する。ステップ5B−3において、新しいフレームを伝送する準備ができたことがNIC 22Aに通知された後、NICの優先順位マッピング論理22Aは、最初に、高優先順位の伝送リング・バッファ32Aを処理するので、高優先順位のフレームは、中程度の優先順位及び低優先順位のフレームより前に伝送される。次いで、同様の処理が、中程度の優先順位の伝送リング・バッファ32Aにおいて行なわれ、続いて低優先順位の伝送リング・バッファ32A上で行なわれる。これにより、異なる優先順位のフレームをインターリーブ処理した結果生じるデバイスのボトルネックが除去され、こうしたフレームを、それらの相対的なQoS優先順位に従ってカーネル・プロトコル・スタックによって処理することが可能になり、これにより、QoSが強化された伝送がもたらされる(ステップ5B−4)。
図8は、ネットワーク・エンドポイント・システム2が、図5のネットワーク・ホスト20Aと大部分の点で同一である改善されたIPネットワーク・ホスト20Bにおいて具体化される、代替的な実装を示す(実質的に対応する参照番号を用いて示されるように)。しかしながら、受信/伝送リング・バッファ32B/34B、32B/34B及び32B/34Bの各々は、カーネル・プロトコル・スタック28B内のプロトコル・スタック・レベルのフレーム優先順位チャネルと関連付けられる。NICデバイス・ドライバ26Bは、上述の関連付けを実施するためのチャネル選択論理26Bをさらに含む。受信リング・バッファ34B、34B及び34Bは、それぞれカーネル・プロトコル伝送チャネル28B、28B及び28Bと関連付けられる。
ここで図9のフロー図をさらに参照すると、フレーム受信中(ステップ6A−1)、NIC優先順位マッピング論理22Bが、入ってくるフレームの各々におけるQoS情報を読み取り(ステップ6A−2)、処理のためにフレームを正しい受信リング・バッファ34B、34B、又は34B内に(参照することによって)配置する(ステップ6A−3)。NICハードウェア割り込み又はNICポーリング操作に応答してNICデバイス・ドライバ26Bが呼び出される度に、リング・バッファ選択論理26Bは、それぞれの優先順位の順序で、受信リング・バッファ34B、34B及び34Bを処理する(ステップ6A−4)。次に、NIC 26Bは、バッファ記述子を、それぞれの優先順位に従って優先順位付けされた受信リング・バッファ34A、34A及び34Aから優先順位付けされた受信チャネル28B、28B及び28Bに転送する(ステップ6A−5)。特に、NICデバイス・ドライバのチャネル選択論理26Bは、バッファ記述子を、高優先順位の受信リング・バッファ34Bから高優先順位の受信チャネル28Bに転送する。同様に、中程度の優先順位のバッファ記述子は、中程度の優先順位の受信リング・バッファ34Bから中程度の優先順位の受信チャネル28Bに転送され、低優先順位のバッファ記述子は、低優先順位の受信リング・バッファ34Bから低優先順位の受信チャネル28Bに転送される。
ここで図10のフロー図をさらに参照すると、フレーム伝送中、バッファ記述子は、伝送チャネル28B、28B及び28Bから受信され(ステップ6B−1)、優先順位ベースで、対応する伝送リング・バッファ32B、32B、又は32B上に配置される(ステップ6B−2)。特に、NICデバイス・ドライバのチャネル選択論理26Bは、バッファ記述子を高優先順位の伝送チャネル28Bから高優先順位の伝送リング・バッファ32Bに転送する。同様に、中程度の優先順位のバッファ記述子は、中程度の優先順位の伝送チャネル28Bから中程度の優先順位の伝送リング・バッファ32Bに転送され、低優先順位のバッファ記述子は、低優先順位の伝送チャネル28Bから低優先順位の伝送リング・バッファ32Bに転送される。ステップ6B−3において、新しいフレームを伝送する準備ができたことがNIC 22Bに通知された後、NICの優先順位マッピング論理22Bは、最初に、高優先順位の伝送リング・バッファ32Bを処理するので、高優先順位のフレームは、中程度の優先順位及び低優先順位のフレームより前に伝送される。次いで、同様の処理が、中程度の優先順位の伝送リング・バッファ32B上で行なわれ、続いて低優先順位の伝送リング・バッファ32B上で行なわれる。これにより、異なる優先順位のフレームをインターリーブ処理した結果生じるデバイスのボトルネックが除去され、こうしたフレームを、相対的なQoS優先順位に従ってカーネル・プロトコル・スタックによって処理することが可能になり、これにより、QoSが強化された伝送がもたらされる(ステップ6B−4)。
カーネル・プロトコル・チャネル28B、28B、28B、28B、28B及び28Bそれ自体に、それらを優先度(preference)を有した状態で実行させる重み付けを与えることができる。例えば、チャネル28B、28B、28B、28B、28B及び28Bについてのチャネル処理は、別個の実行スレッドにおいて実施することができ、スレッドに異なる優先順位レベルで実行させるスレッド優先順位インジケータ(例えば、優先順位付けされた実行スレッドのような)を用いて、チャネル重み付けを達成することができる。同様に、優先順位は、メモリが少ないときにより低い優先順位のタスク/パケットと関連した要求がドロップされるように、データ・バッファ割り当て要求を通知することもできる。例えば、NICデバイス・ドライバ22Bは、これが受信リング・バッファ34B、34B及び34Bを処理した後に新しいバッファ記述子の割り当てを担当することができる。ホスト・オペレーティング・システム内のバッファ割り当て機構41(例えば、カーネル・プロトコル・スタック28Bの一部として)を実装することができるので、低メモリ状態が存在するとき、高優先順位の受信リング・バッファ34Bについてのバッファ割り当て要求だけが与えられる一方で、中程度の優先順位及び低優先順位の受信リング・バッファ34B及び34Bについてのバッファ割り当て要求は、より多くのメモリが使用可能になるまでドロップされる。伝送側において、類似したバッファ割り当て処理を行なうことができる。このように、図8の実装を用いる際、専用の高優先順位リング・バッファ32B及び34B、カーネル・プロトコル・チャネル28B及び28Bにおける高優先順位のスレッド処理、並びに低メモリ状態の際のメモリ割り当て優先度の組み合わせのために、高優先順位データは、強化されたQoSの利益を受けることになる。カーネル・プロトコル・チャネル処理の例示的な実施が、図15及び図16と関連して下記により詳細に説明される。
図11は、ネットワーク・エンドポイント・システム2が、図8のネットワーク・ホスト20Bと大部分の点で同一である改善されたIPネットワーク・ホスト20C(実質的に対応する参照番号を用いて示されるような)において具体化される代替的な実装を示す。しかしながら、標準的なNIC 22Cは、単一の組の送信/受信リング・バッファ32C/34C(図2−図4により上述されたような)を用いる。NICデバイス・ドライバ26Cは、リング・バッファ選択論理を必要としないが、代わりに送信/受信リング・バッファ32C/34Cにおけるバッファ記述子のQoS優先順位を決定するための優先順位マッピング論理26Cを有する。NICデバイス・ドライバ26Cはまた、優先順位付けされたバッファ記述子を、異なるカーネル・プロトコル・チャネル、すなわちカーネル・プロトコル受信チャネル28C、28C及び28C、並びに、カーネル・プロトコル伝送チャネル28C、28C及び28Cと関連付けるためのチャネル選択論理26Cも含む。
ここで図12のフロー図をさらに参照すると、フレーム受信中(ステップ7A−1)、NIC優先順位マッピング論理22Cは、入ってくるフレームの各々におけるQoS情報を読み取り(ステップ7A−2)、処理のためにフレームを受信リング・バッファ34C内に(参照することによって)配置する(ステップ7A−3)。バッファ記述子が参照するフレームは、フレームの優先順位を示すQoSインジケータを含むことに留意されたい。NICハードウェア割り込み又はNICポーリング操作に応答してNICデバイス・ドライバ26Cが呼び出される度に、バッファ記述子は、受信リング・バッファ34C上で処理され、それぞれの優先順位に従って優先順位付けされた受信チャネル28C、28C及び28Cに配送される(ステップ7A−4)。特に、NICデバイス・ドライバの優先順位マッピング論理26C及びチャネル選択論理26Cは、それぞれ受信リング・バッファ34C上のバッファ記述子を検査し、それらの優先順位を決定する。高優先順位のバッファ記述子が、特定されて高優先順位の受信チャネル28Cに転送される。同様に、中程度の優先順位のバッファ記述子が特定されて中程度の優先順位の受信チャネル28Cに転送され、低優先順位のバッファ記述子が特定されて低優先順位の受信チャネル28Cに転送される。このように、NICデバイス・ドライバ26Cは、入ってくるフレームを正しい優先順位のカーネル・プロトコル・チャネルと関連付ける。図8と関連して上述したように、これらのカーネル・プロトコル・チャネルは、異なる優先順位を有する異なる実行スレッドにおいて動作できる。
ここで図13のフロー図をさらに参照すると、フレーム受信中、バッファ記述子は、伝送チャネル28C、28C及び28Cから受信され(ステップ7B−1)、フレームの優先順位の順序で伝送リング・バッファ32C上に配置される(ステップ7B−2)。特に、NICデバイス・ドライバのチャネル選択論理26Cは、最初に、バッファ記述子を高優先順位の伝送チャネル28Cから伝送リング・バッファ32Cに転送する。同様に、次いで、中程度の優先順位のバッファ記述子が中程度の優先順位の伝送チャネル28Cから伝送リング・バッファ32Cに転送され、低優先順位のバッファ記述子が低優先順位の伝送チャネル28Cから伝送リング・バッファ32Cに転送される。従って、種々の優先順位を有するカーネル・プロトコル・チャネルによる伝送のために、送信フレームがNIC 22Cに与えられる。特に、ステップ7B−3において、新しいフレームを伝送する準備ができたことがNIC 22Cに通知された後、NICの優先順位マッピング論理22Cは、高優先順位のフレームが中程度の優先順位及び低優先順位のフレームより前に伝送されるように、伝送リング・バッファ32C上の優先順位の順に並べられたバッファ記述子を処理する。これにより、異なる優先順位のフレームをインターリーブ処理した結果生じるデバイス・ドライバのボトルネックが除去され、こうしたフレームを、相対的なQoS優先順位に従ってネットワーク・リンク24Cに伝送することが可能になり、よって、QoSが強化された伝送がもたらされる(ステップ7B−4)。
図5、図8及び図11に示される実装のいずれにおいても、この情報がまだ存在していない場合には、優先順位インジケータをリンク層フレームに挿入する優先順位挿入論理42と共に、ネットワーク4の入口に位置する図1に示されるエッジ・ルータ8を実装することができる。これは、ネットワーク4において、diffservのようなネットワーク・レベルのQoS機構が用いられる事例である。NICは、従来より、リンク層フレームを検査するが、フレームによりカプセル封入されたIPネットワーク層パケットのIPアドレス部分だけしか検査しないいので、リンク層優先順位インジケータが必要とされる。図14の例示的なイーサネット・フレーム44に示されるように、IEEE802.1Q/802.1P規格に従って、リンク層優先順位インジケータを挿入することができる。特に、イーサネット・フレーム44(「TCI−USER PRIORITY」と表記される)のIEEE802.1Q TCI(タグ制御情報)フィールドに、IEEE802.1Pのユーザ優先順位ビットを挿入することができる。他のリンク層優先順位インジケータを用いることもできる。優先順位挿入論理44は、フレーム44のIPパケット部分を検査し、内部のネットワーク・レベルのQoS優先順位インジケータの値を求める。図14において、フレーム44は、IPv4(インターネット・プロトコル・バージョン4)ネットワーク層パケット46をカプセル封入するように示される。パケット46のTOS(Type of Service、サービス・タイプ)フィールドが、diffserv型QoS管理のために用いられる。パケット46のTOSフィールドにおけるQoS情報の値を求めた後、優先順位挿入論理44は、これを対応するリンク層のQoS値にマッピングし、この値をフレーム44のTCI−USER PRIORITYフィールドに挿入する。
代替的に、エッジ・ルータの挿入リンク層優先順位インジケータを有する代わりに、NIC 22A、22B及び22Cのいずれも、そのネットワーク・レベルの優先順位インジケータについてのカプセル封入されたIPパッケージ46を検査するように適合させることができる。NIC 22A、22B及び22Cがこの検査をサポートするように適合されていない場合、それぞれのNICデバイス・ドライバ26A、26B及び26Cによって優先順位の分類を行なうことができる。
ここで図15及び図16を参照すると、図8のIPネットワーク・ホスト20Bによって用いられるカーネル・プロトコル・チャネルを実装するための2つの代替的な技術が示される。ほんの一例として、図15及び図16は、複数のリング・バッファ及び複数のカーネル・プロトコル・チャネルを用いるIPネットワーク・ホスト20Bにおいて、どのようにマルチ・チャネル・フレーム処理を実行できるかを示す。単一のリング・バッファ対だけが存在することを除いては、図11のIPネットワーク・ホスト20Cにおいて同じカーネル・プロトコル処理技術を用い得ることに留意されたい。
図15においては、3つの受信リンクバッファ34B、34B及び34Bが、ネットワーク・リンク24Bにおいてフレームを受信した後にNIC 22Bからバッファ記述子を受信するように示される。上述のように、NIC 22Bが、種々の優先順位のバッファ記述子をリング・バッファ34B、34B及び34Bに書き込んだ後、NICデバイス・ドライバ26Bを呼び出して(典型的には、ハードウェア割り込みを介して)、バッファ記述子を取り出し、それらをカーネル・プロトコル・スタック28Bに送る。Linux(登録商標)カーネル・バージョン2.6のような幾つかのオペレーティング・システムにおいては、ハードウェア割り込みとの関連で実行されているNICデバイス・ドライバは、受信リング・バッファ上のバッファ記述子をcpuごと(per-CPU)のバックログ・キュー(backlog queue)に転送する。エンキュー操作に続いて、デバイス・ドライバは、バックログ・キューを処理するように、ソフトウェア割り込み(softirq)をスケジュールし、次に、ハードウェア割り込みを終了する。ソフトウェア割り込みが呼び出されると、ソフトウェア割り込みは、バックログ・キュー上のバッファ記述子を処理し、それらがカーネル・プロトコル・スタックを受信キューに渡すようにする。(Linuxは、合衆国、他の国、又はその両方におけるLinus Torvaldsの登録商標である)。
図15の実装において、カーネル・プロトコル・チャネル28B、28B及び28Bは、1組の優先順位付けされたバックログ・キュー及び対応する組の受信キュー50として実装される。特に、高優先順位のカーネル・プロトコル・チャネル28Bについては、高優先順位のバックログ・キュー48及び高優先順位の受信キュー50がある。同様に、中程度の優先順位のカーネル・プロトコル・チャネル28Bについては、中程度の優先順位のバックログ・キュー48及び中程度の優先順位の受信キュー50があり、低優先順位のカーネル・プロトコル・チャネル28Bについては、低優先順位のバックログ・キュー48及び高優先順位の受信キュー50がある。
図16においては、カーネル・プロトコル・チャネル28、28、及び28が、幾分異なるように処理される。単一のバックログ・キュー48及び受信キュー50だけが用いられる。次に、マルチスレッドのバッファ記述子を処理するように、多数のレベルのソフトウェア割り込み論理52によって、パケット受信中に優先順位付けされたバッファ記述子を処理することができる。特に、図16のIPネットワーク・ホスト20Bは、高優先順位のソフトウェア割り込み52、中程度の優先順位のソフトウェア割り込み52、及び必要に応じて低優先順位のソフトウェア割り込み52を実施することができる。これらの割り込みは、対応する高い、中程度の、及び低いスレッド優先順位レベルで実行され得る。NICデバイス・ドライバ26Bは、高優先順位、中程度の優先順位、及び低優先順位のバッファ記述子をバックログ・キュー48上に連続的に配置した後、実行のためにソフトウェア割り込み52、52、及び52を別個にスケジュールすることができる。優先順位が高いため、高優先順位のソフトウェア割り込み52は、最初に実行され、高優先順位のバッファ記述子を処理する。時間がある場合、高優先順位のソフトウェア割り込み52は、引き続き中程度の優先順位及び低優先順位のバッファ記述子を処理することもできる。他の場合には、これらのバッファ記述子は、中程度の優先順位のソフトウェア割り込み52によって処理され、必要に応じて引き続き低優先順位のソフトウェア割り込み52によって処理され得る。図16のより上位の層の処理54は、図15におけるものと同じである。
以上の通り、エンド・ツー・エンド型ネットワークQoSを強化するための技術が開示された。上述の概念は、データ処理システム、マシン実装方法、及び、必要な機能を行なうようにデータ処理システムを制御するのに用いるためにプログラミング論理が1つ又は複数のマシン使用可能媒体によって与えられコンピュータ・プログラム製品のいずれかにおいて、様々に具体化できることが理解されるであろう。データ処理システム及びマシン実装方法に関連して、図17は、ネットワーク・エンドポイント・システム2を実装するために用いることができる例示的なハードウェア環境100を示す。ハードウェア環境100は、CPU又は他のデータ処理リソース102と、データ処理コアを提供するメイン・メモリ104と、表示モニタ107への視覚出力情報を生成するためのグラフィックス・カード106と、周辺記憶装置108と、他の周辺装置110と、上記の要素を相互接続するバス・インフラストラクチャ112とを含む。ネットワーク・エンドポイント・システム2のソフトウェア・コンポーネントをメイン・メモリ104内にロードすることができる。USBバス・コントローラ、SCSIディスク・コントローラ、及びNICを含むことができる種々のI/O(入力/出力)リソースを、周辺装置110により設けることができる。モニタ107は、ユーザ・インターフェースの一部として実装することができる。
マシン可読媒体及びプログラミング論理を有するコンピュータ・プログラム製品に関連して、プログラミング論理を格納するための例示的なデータ記憶媒体が、図18に参照番号200で示される。媒体200は、コンパクト・ディスク−読み取り専用メモリ(CD−ROM)ディスク、コンパクト・ディスク−読み取り/書き込み(CD−R/W)ディスク、及びデジタル多目的ディスク(DVD)などの、市販のソフトウェア販売に通常用いられるタイプの携帯型光記憶ディスクとして示される。こうした媒体は、ネットワーク・エンドポイント・システム2を、単独で又は必要な機能を組み込んだ別のソフトウェア製品と共に格納することができる。プログラミング論理は、(フロッピー・ディスク、フラッシュ・メモリ・スティック等といった)携帯型磁気媒体、或いはドライブ・システム(例えば、ディスク・ドライブ)と組み合わされた磁気媒体、或いはランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、若しくは他の半導体又はソリッド・ステート・メモリのような、データ処理プラットフォームに組み込まれた媒体によって提供することもできる。さらに広い意味では、媒体は、いずれかの電子、磁気、光学、電磁、赤外線、或いは半導体システム又は装置若しくはデバイス、伝送又は伝搬媒体(ネットワークのような)、或いはデータ処理システム、コンピュータ、又は他の命令実行システム、装置若しくはデバイスによって又はそれらと共に用いるためにプログラミング論理を収容し、格納し、通信し、伝播し、又は搬送することが可能な他のエンティティ(信号を含む)を含むことができる。本発明は、ハードウェア論理及びソフトウェア要素を組み合わせて具体化できること、及び、ソフトウェア要素は、これらに限られるものではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含み得ることも理解されるであろう。
本発明の種々の実施形態を説明したが、本発明に従って多くの変形及び代替的な実施形態を実装できることが明らかである。従って、本発明は、添付の特許請求の範囲及びその均等物の趣旨に合致する場合を除いて、どのような形であっても限定されるべきではないことが理解される。
2:ネットワーク・エンドポイント・システム
4:IPネットワーク
6:ルーティング・ノード
8:エッジ・ノード
10:他のネットワーク
20、20A、20B、20C:ネットワーク・ホスト
22、22A、22B、22C:ネットワーク・インターフェース・カード(NIC)
22、22A、22B、22C:送受信機
22、22A、22B、22C:ホスト入力/出力(I/O)
22、22A、22B、22C:受信メモリ
22、22A、22B、22C:伝送メモリ
22、22A、22B、22C:フレーム処理
22A、22B、26C:優先順位マッピング論理
24、24A、24B、24C:ネットワーク・リンク
26、26A、26B、26C:NICデバイス・ドライバ
26A、26B:リング・バッファ選択論理
26B、26C:チャネル選択論理
28、28A、28B、28C:カーネル・プロトコル・スタック
28、28、28:カーネル・プロトコル・チャネル
28B、28B、28B、28C、28C、28C:カーネル・プロトコル受信チャネル
28B、28B、28B、28C、28C、28C:カーネル・プロトコル伝送チャネル
30、30、30、30A、30A、30A、30B、30B、30B、30C、30C、30C:アプリケーション
32、32A、32A、32A、32B、32B、32B、32C:伝送リング・バッファ
34、34A、34A、34A、34B、34B、34B、34C:受信リング・バッファ
48、48、48、48:バックログ・キュー
50、50、50、50:受信キュー
52、52、52、52:ソフトウェア割り込み
100:ハードウェア環境
102:データ処理リソース
104:メイン・メモリ
107:モニタ
110:周辺装置

Claims (12)

  1. ネットワーク・エンドポイント・システムによって実装されるネットワーク・プロトコル・スタックのアプリケーション層で動作しているデータ・コンシューマの代わりに、種々の優先順位のネットワーク・データを受信するように適合されたネットワーク・エンドポイント・システムであって、
    前記ネットワーク・データを含むネットワーク・フレームを受信するように適合されたネットワーク・インターフェース・カードと、
    各々が関連付けられた優先順位を有する複数のネットワーク・データ処理チャネルと、
    前記ネットワーク・データの優先順位に従って優先順位ベースで前記ネットワーク・データを前記ネットワーク・インターフェース・カードから前記複数のデータ処理チャネルに転送するように適合された優先順位処理論理と、
    を含み、
    前記複数のネットワーク・データ処理チャネルは、前記ネットワーク・データに対応するバッファ記述子を含んだ複数のリング・バッファを含み、
    前記優先順位処理論理は、前記ネットワーク・フレームを検査し、前記ネットワーク・データ優先順位に従って優先順位ベースで前記バッファ記述子を前記複数のリング・バッファに配送するように適合された前記ネットワーク・インターフェース・カードにおける優先順位マッピング論理により実施され、
    前記優先順位処理論理は、前記ネットワーク・データ優先順位に従って優先順位ベースで前記複数のリング・バッファ内の前記バッファ記述子を処理するように適合された前記システム内のネットワーク・インターフェース・カード・デバイス・ドライバにおけるリング・バッファ選択論理によってさらに実施され、
    前記優先順位マッピング論理は、前記バッファ記述子を前記ネットワーク・データ優先順位に応じたリング・バッファに配送する、システム。
  2. 前記ネットワーク・データ優先順位は、前記ネットワーク・フレーム内の優先順位インジケータ・フィールドによって示される、請求項1に記載のシステム。
  3. 前記システム内の前記ネットワーク・インターフェース・カード又はネットワーク・インターフェース・カード・デバイス・ドライバは、前記フレームのリンク層部分内のリンク層優先順位インジケータ又は前記フレームのネットワーク・パケット部分内のネットワーク層優先順位インジケータのうちの1つとして、前記優先順位インジケータ・フィールドを検査するために、前記優先順位処理論理を実装する、請求項2に記載のシステム。
  4. 前記複数のネットワーク・データ処理チャネルは、前記ネットワーク・データに対応するバッファ記述子を処理するように適合された複数のカーネル・プロトコル・スタック・チャネルを含み、
    前記優先順位処理論理は、前記ネットワーク・データ優先順位に従って優先順位ベースで前記バッファ記述子を前記カーネル・プロトコル・スタック・チャネルに配送するように適合された前記システム内のネットワーク・インターフェース・カード・デバイス・ドライバにおけるチャネル選択論理によって実施される、
    請求項1に記載のシステム。
  5. 前記複数のカーネル・プロトコル・スタック・チャネルは、前記ネットワーク・データ優先順位に従って優先順位ベースで前記バッファ記述子をエンキューするように適合された複数のバッファ記述子キューを含む、請求項に記載のシステム。
  6. 前記複数のカーネル・プロトコル・スタック・チャネルは、優先順位付けされたバッファ記述子処理スレッドを含む、請求項に記載のシステム。
  7. ネットワーク・エンドポイント・システムによって実装されるネットワーク・プロトコル・スタックのアプリケーション層で動作しているデータ・コンシューマの代わりに、種々の優先順位のネットワーク・データを受信するように適合されたネットワーク・エンドポイント・システムであって、
    前記ネットワーク・データを含むネットワーク・フレームを受信するように適合されたネットワーク・インターフェース・カードと、
    各々が関連付けられた優先順位を有する複数のネットワーク・データ処理チャネルと、
    前記ネットワーク・データの優先順位に従って優先順位ベースで前記ネットワーク・データを前記ネットワーク・インターフェース・カードから前記複数のデータ処理チャネルに転送するように適合された優先順位処理論理と、
    を含み、
    前記複数のネットワーク・データ処理チャネルは、前記ネットワーク・データに対応するバッファ記述子を含んだ複数のリング・バッファを含み、
    前記複数のネットワーク・データ処理チャネルは、前記ネットワーク・データに対応するバッファ記述子を処理するように適合された複数のカーネル・プロトコル・スタック・チャネルをさらに含み、
    前記優先順位処理論理は、前記ネットワーク・フレームを検査し、前記ネットワーク・データ優先順位に従って優先順位ベースで前記バッファ記述子を前記複数のリング・バッファに配送するように適合された前記ネットワーク・インターフェース・カードにおける優先順位マッピング論理によって実施され、
    前記優先順位処理論理は、前記ネットワーク・データ優先順位に従って優先順位ベースで前記複数のリング・バッファ内の前記バッファ記述子を処理するように適合された前記システム内のネットワーク・インターフェース・カード・デバイス・ドライバにおけるリング・バッファ選択論理によってさらに実施され、
    前記優先順位処理論理は、前記ネットワーク・データ優先順位に従って優先順位ベースで前記複数のリング・バッファ上の前記バッファ記述子を前記カーネル・プロトコル・スタック・チャネルに配送するように適合された前記ネットワーク・インターフェース・カード・デバイス・ドライバにおけるチャネル選択論理によってさらに実施され
    前記優先順位マッピング論理は、前記バッファ記述子を前記ネットワーク・データ優先順位に応じたリング・バッファに配送する、システム。
  8. 前記ネットワーク・データ優先順位及びメモリ可用性に従って優先順位ベースで前記バッファ記述子を割り当てるように適合されたバッファ割り当て論理をさらに含む、請求項に記載のシステム。
  9. 前記データ・コンシューマはネットワーク・データ・ソースとしても働き、前記優先順位処理論理は、前記ネットワーク・データ優先順位に従って優先順位ベースで前記ネットワーク・データを前記複数のデータ処理チャネルから前記ネットワーク・インターフェース・カードに転送するようにさらに適合される、請求項1乃至8のいずれか1項に記載のシステム。
  10. ネットワーク・プロトコル・スタックのアプリケーション層で動作しているデータ・コンシューマの代わりに、種々の優先順位のネットワーク・データを受信する方法であって、
    ネットワーク・インターフェース・カードにおいて前記ネットワーク・データを含むネットワーク・フレームを受信するステップと、
    各々が関連付けられた優先順位を有する複数のネットワーク・データ処理チャネルを提供するステップと、
    前記ネットワーク・データの優先順位に従って優先順位ベースで前記ネットワーク・データを前記ネットワーク・インターフェース・カードから前記複数のネットワーク・データ処理チャネルに転送するように、優先順位処理を行なうステップと、
    を含み、
    前記複数のネットワーク・データ処理チャネルは、前記ネットワーク・データに対応するバッファ記述子を含んだ複数のリング・バッファを含み、
    前記優先順位処理論理は、前記ネットワーク・フレームを検査し、前記ネットワーク・データ優先順位に従って優先順位ベースで前記バッファ記述子を前記複数のリング・バッファに配送するように適合された前記ネットワーク・インターフェース・カードにおける優先順位マッピング論理により実施され、
    前記優先順位処理論理は、前記ネットワーク・データ優先順位に従って優先順位ベースで前記複数のリング・バッファ内の前記バッファ記述子を処理するように適合された前記システム内のネットワーク・インターフェース・カード・デバイス・ドライバにおけるリング・バッファ選択論理によってさらに実施され、
    前記優先順位マッピング論理は、前記バッファ記述子を前記ネットワーク・データ優先順位に応じたリング・バッファに配送する、方法。
  11. 1つ又は複数のコンピュータ使用可能媒体と、
    ネットワーク・インターフェース・カードにおいてネットワーク・データを含むネットワーク・フレームを受信し、
    各々が関連付けられた優先順位を有する複数のネットワーク・データ処理チャネルを提供し、
    前記ネットワーク・データの優先順位に従って優先順位ベースで前記ネットワーク・データを前記ネットワーク・インターフェース・カードから前記複数のネットワーク・データ処理チャネルに転送するように優先順位処理を行なう、
    ことによって、ネットワーク・プロトコル・スタックのアプリケーション層で動作しているデータ・コンシューマの代わりに種々の優先順位のネットワーク・データを受信するように、データ処理プラットフォームをプログラミングするための前記コンピュータ使用可能媒体と関連付けられた手段と、
    を含み、
    前記複数のネットワーク・データ処理チャネルは、前記ネットワーク・データに対応するバッファ記述子を含んだ複数のリング・バッファを含み、
    前記優先順位処理論理は、前記ネットワーク・フレームを検査し、前記ネットワーク・データ優先順位に従って優先順位ベースで前記バッファ記述子を前記複数のリング・バッファに配送するように適合された前記ネットワーク・インターフェース・カードにおける優先順位マッピング論理により実施され、
    前記優先順位処理論理は、前記ネットワーク・データ優先順位に従って優先順位ベースで前記複数のリング・バッファ内の前記バッファ記述子を処理するように適合された前記システム内のネットワーク・インターフェース・カード・デバイス・ドライバにおけるリング・バッファ選択論理によってさらに実施され、
    前記優先順位マッピング論理は、前記バッファ記述子を前記ネットワーク・データ優先順位に応じたリング・バッファに配送する、コンピュータ。
  12. 請求項10の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
JP2010515521A 2007-07-13 2008-07-11 エンド・ツー・エンド型ネットワークqosの強化 Expired - Fee Related JP5398707B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/777,888 2007-07-13
US11/777,888 US7936772B2 (en) 2007-07-13 2007-07-13 Enhancement of end-to-end network QoS
PCT/EP2008/059078 WO2009010461A2 (en) 2007-07-13 2008-07-11 Enhancement of quality of service in network endpoint systems

Publications (2)

Publication Number Publication Date
JP2010533400A JP2010533400A (ja) 2010-10-21
JP5398707B2 true JP5398707B2 (ja) 2014-01-29

Family

ID=40139283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010515521A Expired - Fee Related JP5398707B2 (ja) 2007-07-13 2008-07-11 エンド・ツー・エンド型ネットワークqosの強化

Country Status (6)

Country Link
US (2) US7936772B2 (ja)
JP (1) JP5398707B2 (ja)
KR (1) KR101190413B1 (ja)
CN (1) CN101690047A (ja)
TW (1) TW200920035A (ja)
WO (1) WO2009010461A2 (ja)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070258445A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Systems and methods for protocol filtering for quality of service
US8516153B2 (en) * 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US20070291768A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS
US20070291765A1 (en) * 2006-06-20 2007-12-20 Harris Corporation Systems and methods for dynamic mode-driven link management
US8730981B2 (en) * 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US20080013559A1 (en) * 2006-07-14 2008-01-17 Smith Donald L Systems and methods for applying back-pressure for sequencing in quality of service
US20100241759A1 (en) * 2006-07-31 2010-09-23 Smith Donald L Systems and methods for sar-capable quality of service
US8300653B2 (en) * 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US20080025318A1 (en) * 2006-07-31 2008-01-31 Harris Corporation Systems and methods for dynamically customizable quality of service on the edge of a network
US7936772B2 (en) * 2007-07-13 2011-05-03 International Business Machines Corporation Enhancement of end-to-end network QoS
US7916728B1 (en) 2007-09-28 2011-03-29 F5 Networks, Inc. Lockless atomic table update
US10354689B2 (en) 2008-04-06 2019-07-16 Taser International, Inc. Systems and methods for event recorder logging
US8306036B1 (en) 2008-06-20 2012-11-06 F5 Networks, Inc. Methods and systems for hierarchical resource allocation through bookmark allocation
US8769681B1 (en) * 2008-08-11 2014-07-01 F5 Networks, Inc. Methods and system for DMA based distributed denial of service protection
US8694678B2 (en) * 2008-11-10 2014-04-08 Telefonaktiebolaget L M Ericsson (Publ) Method of providing data to a client
US8447884B1 (en) 2008-12-01 2013-05-21 F5 Networks, Inc. Methods for mapping virtual addresses to physical addresses in a network device and systems thereof
US8112491B1 (en) 2009-01-16 2012-02-07 F5 Networks, Inc. Methods and systems for providing direct DMA
US8880696B1 (en) 2009-01-16 2014-11-04 F5 Networks, Inc. Methods for sharing bandwidth across a packetized bus and systems thereof
US9152483B2 (en) 2009-01-16 2015-10-06 F5 Networks, Inc. Network devices with multiple fully isolated and independently resettable direct memory access channels and methods thereof
US8880632B1 (en) * 2009-01-16 2014-11-04 F5 Networks, Inc. Method and apparatus for performing multiple DMA channel based network quality of service
US8103809B1 (en) 2009-01-16 2012-01-24 F5 Networks, Inc. Network devices with multiple direct memory access channels and methods thereof
JP5246034B2 (ja) * 2009-05-22 2013-07-24 富士通株式会社 パケット送受信システム、パケット送受信装置、および、パケット送受信方法
US9313047B2 (en) 2009-11-06 2016-04-12 F5 Networks, Inc. Handling high throughput and low latency network data packets in a traffic management device
US8811407B1 (en) * 2009-11-30 2014-08-19 Cox Communications, Inc. Weighted data packet communication system
CN102238743A (zh) * 2010-05-05 2011-11-09 联芯科技有限公司 一种多路承载管理方法和装置
US9590910B1 (en) * 2010-05-26 2017-03-07 Marvell International Ltd. Methods and apparatus for handling multicast packets in an audio video bridging (AVB) network
US8737417B2 (en) * 2010-11-12 2014-05-27 Alcatel Lucent Lock-less and zero copy messaging scheme for telecommunication network applications
US8861434B2 (en) * 2010-11-29 2014-10-14 Alcatel Lucent Method and system for improved multi-cell support on a single modem board
US10135831B2 (en) 2011-01-28 2018-11-20 F5 Networks, Inc. System and method for combining an access control system with a traffic management system
FR2972884A1 (fr) * 2011-03-15 2012-09-21 France Telecom Procede de communication dans un reseau de communication avec acheminement par nom
JP5303593B2 (ja) * 2011-03-16 2013-10-02 株式会社コア パケット送信制御装置及びパケット送信制御方法
CN103891223B (zh) * 2011-05-02 2016-10-12 苹果公司 通过网络隧道传输数据的方法和装置
CN102209042B (zh) * 2011-07-21 2014-04-16 迈普通信技术股份有限公司 一种避免先入先出队列溢出的方法及设备
US9397960B2 (en) 2011-11-08 2016-07-19 Mellanox Technologies Ltd. Packet steering
US8935329B2 (en) * 2012-01-11 2015-01-13 International Business Machines Corporation Managing message transmission and reception
US9036822B1 (en) 2012-02-15 2015-05-19 F5 Networks, Inc. Methods for managing user information and devices thereof
US9871734B2 (en) * 2012-05-28 2018-01-16 Mellanox Technologies, Ltd. Prioritized handling of incoming packets by a network interface controller
US9554389B2 (en) * 2012-08-31 2017-01-24 Qualcomm Incorporated Selectively allocating quality of service to support multiple concurrent sessions for a client device
US10033837B1 (en) 2012-09-29 2018-07-24 F5 Networks, Inc. System and method for utilizing a data reducing module for dictionary compression of encoded data
JP5966092B2 (ja) * 2012-11-14 2016-08-10 テレフオンアクチーボラゲット エルエム エリクソン(パブル) コンテンツベースの過負荷保護
US9270602B1 (en) 2012-12-31 2016-02-23 F5 Networks, Inc. Transmit rate pacing of large network traffic bursts to reduce jitter, buffer overrun, wasted bandwidth, and retransmissions
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US10342032B2 (en) * 2013-07-04 2019-07-02 Nxp Usa, Inc. Method and device for streaming control data in a mobile communication system
US10334008B2 (en) * 2013-07-04 2019-06-25 Nxp Usa, Inc. Method and device for data streaming in a mobile communication system
US9430034B2 (en) * 2013-07-09 2016-08-30 Hua Zhong University Of Science Technology Data communication on a virtual machine
US20150058441A1 (en) * 2013-08-20 2015-02-26 Samsung Electronics Co., Ltd. Efficient content caching management method for wireless networks
US9864606B2 (en) 2013-09-05 2018-01-09 F5 Networks, Inc. Methods for configurable hardware logic device reloading and devices thereof
CN103560970A (zh) * 2013-09-25 2014-02-05 深圳市共进电子股份有限公司 一种对具有多lan口的网络设备下行限速的实现方法
US10394751B2 (en) 2013-11-06 2019-08-27 Solarflare Communications, Inc. Programmed input/output mode
US9635024B2 (en) 2013-12-16 2017-04-25 F5 Networks, Inc. Methods for facilitating improved user authentication using persistent data and devices thereof
US10454991B2 (en) 2014-03-24 2019-10-22 Mellanox Technologies, Ltd. NIC with switching functionality between network ports
US20150281109A1 (en) * 2014-03-30 2015-10-01 Sachin Saxena System for en-queuing and de-queuing data packets in communication network
CN103973598B (zh) * 2014-04-16 2017-08-01 烽火通信科技股份有限公司 实现网关QoS保障的动态带宽调整系统及方法
US9558143B2 (en) * 2014-05-09 2017-01-31 Micron Technology, Inc. Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device
US10212624B1 (en) 2014-05-10 2019-02-19 Google Llc Systems and methods for running network egress links with small buffers at a high utilization
US10015143B1 (en) 2014-06-05 2018-07-03 F5 Networks, Inc. Methods for securing one or more license entitlement grants and devices thereof
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
EP3001618A1 (en) * 2014-09-29 2016-03-30 F5 Networks, Inc Method and apparatus for multiple DMA channel based network quality of service
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US10721302B2 (en) * 2014-12-05 2020-07-21 Foundation for Research and Technology—Hellas (FORTH) Network storage protocol and adaptive batching apparatuses, methods, and systems
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
CN105471764B (zh) * 2015-11-16 2019-01-25 中国科学院信息工程研究所 一种SDN网络中端到端QoS保障的方法
CN106921594B (zh) * 2015-12-28 2019-11-08 中国科学院沈阳自动化研究所 一种面向工业SDN的动态网络资源预留QoS保障方法
CN106209676A (zh) * 2016-06-30 2016-12-07 广东睿江云计算股份有限公司 基于多设备的云主机系统的数据处理方法及装置
EP3535956B1 (en) * 2016-12-09 2021-02-17 Zhejiang Dahua Technology Co., Ltd Methods and systems for data transmission
CN106776031B (zh) * 2016-12-21 2019-11-15 浙江大华技术股份有限公司 一种数据发送方法及装置
US10972453B1 (en) 2017-05-03 2021-04-06 F5 Networks, Inc. Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof
WO2019113690A1 (en) * 2017-12-11 2019-06-20 Canadian General-Tower Limited Light transmissive, user-interactive polymeric film
US11855898B1 (en) 2018-03-14 2023-12-26 F5, Inc. Methods for traffic dependent direct memory access optimization and devices thereof
WO2020039538A1 (ja) * 2018-08-23 2020-02-27 三菱電機株式会社 通信装置、通信方法及び通信プログラム
WO2020067872A1 (en) * 2018-09-28 2020-04-02 Mimos Berhad A method of prioritizing message handling in a publisher/subscriber broker
US11537716B1 (en) 2018-11-13 2022-12-27 F5, Inc. Methods for detecting changes to a firmware and devices thereof
CN113728599A (zh) 2019-05-23 2021-11-30 慧与发展有限责任合伙企业 促进将包高效地注入网络接口控制器(nic)中的输出缓冲区中的系统和方法
US11398979B2 (en) 2020-10-28 2022-07-26 Mellanox Technologies, Ltd. Dynamic processing trees
CN113037604B (zh) * 2021-03-16 2022-09-13 西安微电子技术研究所 一种基于两级描述符表征的以太网控制系统
DE102022200501A1 (de) 2022-01-18 2023-07-20 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur paketorientierten Datenkommunikation zwischen zwei Recheneinheiten

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247192A (ja) * 1996-03-05 1997-09-19 Mitsubishi Electric Corp リアルタイム通信方式
JPH10289181A (ja) * 1997-04-10 1998-10-27 Nippon Telegr & Teleph Corp <Ntt> 高速通信インタフェースボードおよびデータの入出力方法
US6640248B1 (en) * 1998-07-10 2003-10-28 Malibu Networks, Inc. Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer
JP2000092106A (ja) * 1998-09-09 2000-03-31 Fujitsu Ltd 優先転送制御によるフレーム中継方法及び装置
US6667983B1 (en) * 1999-05-27 2003-12-23 3Com Corporation Scaleable priority arbiter for arbitrating between multiple FIFO entry points of a network interface card
US20020107955A1 (en) * 2001-02-08 2002-08-08 International Business Machines Corporation Protocol data unit prioritization in a data processing network
US7069337B2 (en) * 2001-03-20 2006-06-27 Mci, Inc. Policy-based synchronization of per-class resources between routers in a data network
US7225271B1 (en) * 2001-06-29 2007-05-29 Cisco Technology, Inc. System and method for recognizing application-specific flows and assigning them to queues
US7076545B2 (en) * 2002-07-31 2006-07-11 Sun Microsystems, Inc. Load balancing the servicing of received packets
JP3917042B2 (ja) * 2002-08-23 2007-05-23 東日本電信電話株式会社 フレーム転送ネットワークにおけるフレーム送信速度制御方法およびフレーム転送装置に接続されるユーザ端末
JP3834280B2 (ja) * 2002-10-01 2006-10-18 Necインフロンティア株式会社 端末装置、端末装置内の優先処理方法、およびプログラム
US6940813B2 (en) * 2003-02-05 2005-09-06 Nokia Corporation System and method for facilitating end-to-end quality of service in message transmissions employing message queues
US20050097226A1 (en) * 2003-10-31 2005-05-05 Sun Microsystems, Inc. Methods and apparatus for dynamically switching between polling and interrupt to handle network traffic
US8009563B2 (en) 2003-12-19 2011-08-30 Broadcom Corporation Method and system for transmit scheduling for multi-layer network interface controller (NIC) operation
JP2005217491A (ja) * 2004-01-27 2005-08-11 Nippon Telegr & Teleph Corp <Ntt> 受信処理方法/プログラム/プログラム記録媒体、情報処理装置
JP4379800B2 (ja) * 2004-07-12 2009-12-09 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 受信装置およびそのメモリ解放方法
US7930422B2 (en) * 2004-07-14 2011-04-19 International Business Machines Corporation Apparatus and method for supporting memory management in an offload of network protocol processing
US20060107955A1 (en) * 2004-11-22 2006-05-25 Chen-Bong Cheng Home oxygen-compression apparatus
US7471689B1 (en) * 2005-04-22 2008-12-30 Sun Microsystems, Inc. Method and apparatus for managing and accounting for bandwidth utilization within a computing system
US7746783B1 (en) * 2005-09-14 2010-06-29 Oracle America, Inc. Method and apparatus for monitoring packets at high data rates
US7724754B2 (en) * 2006-02-24 2010-05-25 Texas Instruments Incorporated Device, system and/or method for managing packet congestion in a packet switching network
US7936772B2 (en) * 2007-07-13 2011-05-03 International Business Machines Corporation Enhancement of end-to-end network QoS

Also Published As

Publication number Publication date
KR101190413B1 (ko) 2012-10-16
CN101690047A (zh) 2010-03-31
US7936772B2 (en) 2011-05-03
US20090016217A1 (en) 2009-01-15
JP2010533400A (ja) 2010-10-21
WO2009010461A2 (en) 2009-01-22
US20110134753A1 (en) 2011-06-09
WO2009010461A3 (en) 2009-06-18
KR20100038191A (ko) 2010-04-13
US8855128B2 (en) 2014-10-07
TW200920035A (en) 2009-05-01

Similar Documents

Publication Publication Date Title
JP5398707B2 (ja) エンド・ツー・エンド型ネットワークqosの強化
US7929442B2 (en) Method, system, and program for managing congestion in a network controller
US9867167B2 (en) Airtime-based packet scheduling for wireless networks
US8681614B1 (en) Quality of service for inbound network traffic flows
JP6420354B2 (ja) 優先度および帯域幅割り当てに基づくトラフィッククラスアービトレーション
US8638799B2 (en) Establishing network quality of service for a virtual machine
JP4719001B2 (ja) ワイヤレス通信システムにおける優先キューおよびエスカレーションの管理
JP6287864B2 (ja) QoS制御システム、QoS制御方法及びプログラム
EP3163442A1 (en) Method for scheduling in multiprocessing environment and device therefor
US20080259917A1 (en) System and Method for Improved Ethernet Load Balancing
US9538545B2 (en) Mapping data traffic throughout protocol layers based on priority information
TW201635159A (zh) 通用串列匯流排的協定適應層資料流控制
US8619567B2 (en) Method for pacing multi-rate time sensitive traffic on Ethernet and bridge connected networks
KR20170059465A (ko) 애플리케이션들에 대한 네트워크 분류
US7209489B1 (en) Arrangement in a channel adapter for servicing work notifications based on link layer virtual lane processing
US9413672B2 (en) Flow control for network packets from applications in electronic devices
WO2023207521A1 (zh) 流量拥塞控制方法、装置、计算机可读介质及电子设备
US8004991B1 (en) Method and system for processing network information
KR20010038486A (ko) 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법
CN114531399A (zh) 一种内存阻塞平衡方法、装置、电子设备和存储介质
US20230254259A1 (en) System And Method For Using Dynamic Thresholds With Route Isolation For Heterogeneous Traffic In Shared Memory Packet Buffers
US8804521B1 (en) Quality of service for inbound network traffic flows during slow-start phases
JP4496037B2 (ja) パケット通信端末
KR20180107706A (ko) 계층적 네트워크에서 다중코어를 이용한 패킷 처리 방법 및 그 장치
US20040057418A1 (en) Data communication receive processing execution thread

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130308

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: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131022

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees