JP2010519785A - ネットワーク・トラフィック・コントローラ - Google Patents

ネットワーク・トラフィック・コントローラ Download PDF

Info

Publication number
JP2010519785A
JP2010519785A JP2009536489A JP2009536489A JP2010519785A JP 2010519785 A JP2010519785 A JP 2010519785A JP 2009536489 A JP2009536489 A JP 2009536489A JP 2009536489 A JP2009536489 A JP 2009536489A JP 2010519785 A JP2010519785 A JP 2010519785A
Authority
JP
Japan
Prior art keywords
network
host
interface
data
ethernet
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.)
Granted
Application number
JP2009536489A
Other languages
English (en)
Other versions
JP4870819B2 (ja
Inventor
ラマクリッシュナン,ハリラマナザン
ホワイトヘッド,ブライアン・エイ
アザロフ,マクシム・エイ
ウィンチェスター,ニール・エイ
チーチ,ウィリアム・アール
Original Assignee
スタンダード マイクロシステムズ コーポレーション
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 スタンダード マイクロシステムズ コーポレーション filed Critical スタンダード マイクロシステムズ コーポレーション
Publication of JP2010519785A publication Critical patent/JP2010519785A/ja
Application granted granted Critical
Publication of JP4870819B2 publication Critical patent/JP4870819B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4108Peripherals receiving signals from specially adapted client devices characterised by an identification number or address, e.g. local network address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

ネットワークデバイスは、NDとホスト処理装置(ホスト)のと間にデータを送る第1のインタフェースコントローラ、NDとホストとの間にデータを送る第2のインタフェースコントローラ、ネットワークにNDをインターフェイスするネットワーク・インタフェースとを備え、第1のインタフェースコントローラ、制御装置、およびネットワーク・インターフェースは、協働して、ホストが、他のデータを、ネットワークおよび第1のインタフェースコントローラへと送るか、それらから受けるように動作し、そして、ホストと制御装置とはネットワークアドレスを共有する。

Description

一般に、本発明はコンピュータ・ネットワーク、特にネットワーク・デバイスのデザインに関する。
パーソナル・コンピュータ(PC)は最近、官庁とホームの両方で広く使用される電子装置の巨大な配列の一部としてテレビ、ハイファイ・ステレオ設備、およびコンパクトディスクプレーヤに加わった。また、エレクトロニクス市場では、他の広く使用された記憶媒体を使うデバイスに加えて、アプライアンスとソリッド・ステート・メモリを使用する個人的な消費者電子機器が激増している。いくつかの、より人気がある消費者電子機器がビデオカメラ、フォトカメラ、携帯情報端末、携帯用の音楽デバイス、セットトップ・ボックスと同様に、ハイデフィニッション(HD)テレビ・システム、およびディジタル記録計を含んでいる。このようなデバイスの激増は電子機器、パーソナル・コンピュータ、そして/または、セットトップ・ボックスの間にデータを移すための接続性とネットワーキング上の強調をもたらした。
また、それぞれが高速の簡単な接続を提供することを目指して、PCI(周辺装置相互接続)などの内部バスの仕様に加えて、コンピュータと外部の周辺機器を接続するための様々なインタフェイス規格とは導入された。そのような標準の例はまた、ファイヤラインと呼ばれたIEEE1394標準、およびUniversalSerialBus(USB)(両方の高速シリアルバスプロトコル)を含んでいる。ローカル・エリア・ネットワーク(LAN)とワイドエリアネットワーク(WAN)の両方でコンピュータを接続する最も広く使用されたネットワーク標準はイーサネットプロトコルである。より詳しく述べると、イーサネットはIEEE802.3シリーズ標準である、元々2つ以上のコンピュータステーションが一般的な配線システムを共有する手段を提供した衝突検出メソッドを有するキャリア・センス・マルチプル・アクセス(CSMA/CD)に基づいている。CSMA/CDは、メガビット範囲、すなわちMビット/秒の転送速度に達するイーサネットシステムの標準を形成している。最近のスイッチ型ベースの、そして/または、ルータベースのイーサネットシステムはGビット/セカント範囲で転送レートをサポートできる。イーサネットは、一般に共用資源を効率的に使用し、再構成し、維持することが、通常簡単であり、コストを低く維持している間、多くのメーカーとシステムに対してコンパティビリティを提供する。
しかしながら、一般に、HDテレビや、セットトップボックスやデジタル式ビデオ録画再生装置(PVRs)などのオーディオ/ビデオ(AIY)消費者娯楽システムは、分配/受信の高品質の高解像プログラミング・コンテンツを標準ネットワーク、例えばIEEE802.3イーサネット規格、IETF(InternetEngineeringTaskForce)、そして/または、RFC(論評のために、要求する)対応プロトコルなどを介して配信/受信するために最適化されていない。このことは広帯域のイーサネット接続に対して典型的に当てはまる。クローズドネットワーク−特殊目的イーサネットスイッチを含む−からオープンネットワークまで娯楽システムの発生における問題を提示した1冊は、移送である、維持電圧性能水準が高品質/解像度の分布で内容をプログラムするのが/V必要であるが。標準イーサネット・コントローラを利用して、有限帯域幅ローカルバス上でリアルタイム・ストリーミング・データを移動させている間に、望ましい性能水準を得ることがますます困難になっている。さらに、イーサネットネットワーク要素を使用する製品の高い価格が、手頃なコストでシステムを組み立てることを困難にしている。
データ伝送モデル、そして/または、ケーブルの、そして、地球のディジタル衛星や、独占で、専用である送電系統などの手法を使うとき、リアルタイムと非リアルタイムオーディオ/ビデオデータの伝達に固有のある複雑さは問題を提示しない。ディジタル衛星、ケーブル、および他の独占的で、専用の送電系統は「クローズドネットワーク」であると通常考慮される。一般に、「クローズドネットワーク」はこのような関係においては仕様利用できないに基づくソリューションを大衆と呼ぶ。そのソリューションは、通常メーカーの個々のメーカーまたはグループに時間と資源を提供して、望ましい性能目標を実現できる特殊なソリューションを作り上げるが、通常、そのようなソリューションは競合製品と通常に共同利用されない。独占的で専用のソリューションの例は、ケーブルTV(CATV)ネットワーク、公衆交換電話網(PSTN)上でのディジタルビデオ放送、そして/または、総合デジタル通信網(ISDN)と、の衛星マスター・アンテナ・テレビ(SMATV)分配システムネットワークを介したディジタルビデオ放送を通常含んでいる。
専用ネットワーク標準が、さまざまな物理的かつ転送のモデルのために、DVB-ETSI(欧州電気通信標準化機構)などの標準化団体の下で定義されている。実施された総合的な満足している供給系はケーブル視力や、コムキャストやダイレクトテレビなどの広帯域網プロバイダーによって通常制御される。広帯域網プロバイダーはそのようなシステムで使用される、ハードウェア、ソフトウェア、およびプロトコルを通常決める。
対照的に、「開いている」ネットワークでは、ハードウェア、ソフトウェア、および対応するプロトコルはよく知られる標準によって異なったメーカーから容易に利用可能なソリューションですべて定義される。一般に、そこでは、そのようなソリューションがお互いと共同利用できる。オープン・ネットワークは追記して、共用ネットワークである、潜在的に頻繁なサービスとコンテンツ・プロバイダーが内容を配付するのに共用ネットワークを使用していて。前述したように、オープンネットワークの1つの実施例がIETFである。(そのIETFは目的がインターネットの操作、運用、および進化を調整して、短距離と範囲の中央プロトコルと構造的な問題を解決することである、ネットワーク設計者、演算子、ベンダ、および研究者の大きくて、開いているコミュニティである)。オープン・ネットワーク・プロトコルは国際標準化機構(ISO)ネットワークモデルに基づいて層にされる。一般に、どんなオープン・ネットワークにも、オープン・ネットワークを介して通信しているが、使用されるネットワーク・プロトコルによる追加オーバヘッドがある。多くの、あるいは、すべての現在のソリューションで、高品質と解像度をA/V処理している間にオープン・ネットワーク・モデルをサポートするシステム・リソースはコンテンツをプログラムしない。さらに、そのようなオープン・ネットワーク上で資源の提供を管理することは通常は困難である。
広帯域A/V配信は、セットトップ・ボックス(STB)およびパーソナル・ビデオ記録(PVR)デバイスを利用する衛星およびケーブル・サービスにより歴史的に実行されてきたので、配信の基本的な方法としてイーサネットを使用するA/Vコンテンツの普及は追加の課題を提供する。現在のA/Vソリューションは、インターネットウェブサーフィン、ビデオ・オン・デマンド(VOD)アプリケーションのためのリターンパスとして料金徴収システム、そしてホームでの限定的A/V配信などの活動のために1〜6メガビット/秒のデータ・レートでのイーサネット接続を一般的に使用している。高品質ビデオまたはオーディオ・コンテンツをストリーミングするための帯域幅要求は実質的により高い。例えば、1つのハイデフィニッション(HD)ビデオ・ストリームを達成するために、12〜60メガビット/秒のスループットのQOSが必要である。通常、このQOSの必要性はバッファリングと待ち時間で決定される。例えば、帯域幅の増強要求は、スイッチング・ビデオ・コンテンツ・チャンネルの間の遅延時間が「チャンエルサーフィンしている」間にユーザによってされたチャネル選択の間のバッファリング遅延による平均許容時間できるを超えたときに、増強QOSを必要とする。望ましくは、A/Vデータの配信は最小遅延によって安定したままでなければならない。できれば、既存のイーサネットソリューションで、通常、必要な性能水準を達成するのは非常に難しい。
一般に、さらに、STBおよび他の家庭用電子機器はコストに非常に敏感である。追加ネットワーク処理オーバヘッドを有するオープンネットワークにわたるほとんどのシステムデザイナのために。家庭用電子機器のバルクで含まれるほとんどの埋め込みプロセッサおよびハードウェア・ビルディング・ブロックは、通常、低いコストそして限定的性能(ミップス(MIPS)として通常参照される)である。メモリアクセススピードと、CPUスピードと、そして消費電力との間のトレードオフは全く普通である。たいていのシステム・デザイナーにとっては、追加のネットワーク処理オーバヘッドを伴うオープン・ネットワークへ移行することは、CPUのバンド幅がコア・アプリケーションに対して丁度十分であるとき、この標準のイーサネット制御装置をさらに、より高価なシステムによるソリューションへの移行を必要とするかもしれない。さらに、この追加ネットワーク・オーバヘッドでは、標準イーサネット・コントローラを利用することは、特に低コスト家庭用電子機器を目標とするとき、オープン・ネットワーク・ソリューションを可能にするために必要なパフォーマンスを与えないであろう。
リアルタイムおよび非レアルタイムのビデオおよびオーディオのコンテンツを共有かつオープンのネットワーク上に転送する概念はさまざまな方法で取り扱われてきた。例えば、801.11a、bおよびgなどのワイヤレスによるソリューションはシェアド・アクセス・ローカルエリア・ネットワークのために考案されてきた。また、802.3 10/100/1000ベースTツイステッド・ワイヤ対コード化ソリューションなどの有線によるソリューションが考案されてきた。また、メディアアクセスとトランスポートレベルで多数のソリューションを説明する。これらのソリューションのいくつかは、非同期転送モード(ATM)などのイーサネット802.3、ワイヤレス、802.11a、b、g、そして他のソリューション、例えばシンクロナス・オプティカル・ネットワーキング(SONET)を使用するメディアアクセスのメソッドを含んでいる。さらに、より高いQOSを達成するために様々なメソッドがある専用のソリューションにより取り扱われてきた。
1つのアプローチは“伝送プロファイル”の概念を含んでいる。そこでは、ネットワーク・システムおよびその参加者はネットワーク・パケットの付加情報を検出することによってパスを選択する。他の場合では、仮想ローカル・エリア・ネットワーク(VLAN)タグが利用されているか、またはATMが(仮想)パス識別子を利用して実施される。いくつかのソリューションはデータバンド幅割当てを実施する。そこでは、ネットワーク・システムが構築され、高速アクセスが周波数分割多重化チャンネル上で提供され、ケーブル伝送ネットワーク上のイーサネット・フレームまたは他のデータの伝送または他の形式のFDM転送を可能にしている。デバイスは様々なネットワーク・パケットのためにタイムスロット割当に基づく以前に定義された周波数チャネルにおける川下の、そして、上流のバンド幅を通常割り当てるだろう。転送で、多くの現在のソリューションがインターネットプロトコル(IP)を利用する。いくつかの場合、転送制御プロトコル(TCP)などの様々なコネクション型プロトコルが採用されている。
しかしながら、ほとんどの既存のシステムは、高品質で高解像度のA/Vプログラミング・コンテンツの配信に必要である広く使用されている標準のネットワーク・プロトコル(例えば、イーサネットプロトコル)の周りに構築されたオープン・ネットワーク・ソリューションを提供しない。例えば、一般に、標準イーサネット・コントローラを利用する現在のシステムは、狭帯域幅ローカルバス上でのリアルタイム・ストリーミング・データの移動を許さないので、その結果、望ましい性能水準を達成しない。
先行技術に関連する他の対応する事項は本明細書に記載されるような本願発明と先行技術を比較した後に当業者には明らかになる。
実施例の1セットでは、HD(ハイデフィニッション)ディジタル・ビデオ・システムのためにイーサネット上での安全なデジタル・ビデオ・ストリーミングを可能にするために、ネットワーク装置(ノースダコタ)を構成できる。ネットワーク・デバイス(ND)は、少なくとも2モード、コプロセッサ・モード、およびスタンドアロン・モード、の1つで作動できて、少なくとも3つの高水準機能を提供できる:ネットワーク・インタフェース制御(NIC)、ビデオ・ストリーミング・オフロード(VSO)、およびスタンドアロンのビデオ・ストリーミング(SVS)。NICは標準ネットワーク・アクセスの機能性を含むことができ、VSOはコプロセッサ・モードにおける高帯域幅HDビデオ・ストリームのホストCPU制御オフロードを可能にし、そして、SVSはスタンドアロン・モードでのビデオ・ストリーミングを、外部のホストCPUによる介入なしで、可能にする。ネットワーク・デバイス(ND)に関連しているソフトウエアを2つの主なカテゴリに分割することができる:ネットワーク・デバイス(ND)上で構成された処理ユニット上で作動するコントローラ・ファームウェア、そしてホストプロセッサ(CPU)のために意図するホストソフトウェア。また、ネットワーク・デバイス(ND)は、高価なマスターDMA能力を備え、メモリ・トランザクションにおけるCPUのかかわり合いを減少させることができる。
1つの実施例では、基本的なレイヤ−2イーサネットNICアクセスはNDネットワーク・ドライバによって提供され、そのNDネットワーク・ドライバは指定されたNDアプリケーション・プログラミング・インタフェイス(NAPI)を介してNDの拡張機能にアクセスできる。VSOの機能性をシームレスに実行するために、NDは、2つのTCP/IPスタックを有し、単一のイーサネットインタフェースで同期して作動するように構成されている。2つのTCP/IPスタックがデータ・トラヒックを共有し、ホストTCP/IPスタックはマスタとして作動し、そしてND TCP/IPスタックが指定したトラフィックをアクセプトするように構成し、その結果、NDで構成されたプロセッサへいくつかのデータ処理をオフロードする。NDイーサネット・システムはホーストへの通常のネットワーク・コントローラとして現れる。ユーザは、ホーストからイーサネット・レベル統計をMACアドレスを得るか、または設定するためにNDイーサネット・ドライバーを構成して、物理層リンク速度と二重化モードを構成し、マルチキャスト・フィルタ設定を構成し、そしてイーサネット・レベル統計を獲得しかつクリアする。
また、NDは、パス・スルー・モードで動作して、すべてのイーサネット・パケットが、いずれのパケットもNDにおいて構成されたプロセッサにインターセプトまたはトラップされることなく、ホーストに達する、ことを可能にする。パス・スルー・モードでは、いかなるIPレベル処理なしで、イーサネットフレームを直接ホーストに送る。それは、例えば、ホーストがIPアドレスを持たないとき、またはブートアップ・プロトコルを使用したいとき、有効である。
多くの近代の商用システムでは、TCPオフロード・エンジンまたはメディア・オフローディングは、TCP/IPスタックを有さないがマスタとして機能しかつTCP/IPスタックを有する別のプロセッサにメディア・トラフィックをオフロードする単一のプロセッサで実施される。しかし、他のシステムではプロトコル・ヘッダーを取り除いてデータをホストプロセッサにパスさせるネットワーク終端ポイントとして機能するオフロードコプロセッサを含む。そのようなソリューションの主な欠点の1つは、ホスト・プロセッサがオペレーティング・システムの豊かな特徴をフルに利用するように動作しないということである。ホーストへのトラフィックが増強されると、通常、パフォーマンスに不利な条件は高くなる。対照的に、既存のオペレーティング・システム構造、例えば、ホーストへのトラフィックをトンネルするというリナックス・ファイヤー・ウォール・アーキテクチャの特徴を使用するようにネットワーク・ドライバ(ND)を構成して、その結果、パフォーマンスに不利な条件を無視し得るようにし、ホーストの柔軟性を損なわないでオペレーティングシステムの豊かな特徴を利用しかつネットワーク・ドライバ(ND)において構成されたプロセッサにトラフィックのどの部分をオフロードすべきかを動的に決定する。
添付図面を参照して、以下の詳細な説明を読めば、本発明の上記の、および他の目的、特徴、および利点をより完全に理解できる:
図1には、1実施例による、コプロセッサモードで作動してホスト中央処理装置からオフロード・ストリーミングをするネットワーク装置(ND)で構成されたビデオ/オーディオシステムのブロックダイアグラムである。
図2には、1実施例による、ホスト中央処理装置なしのスタンドアローンで作動するNDで構成されたビデオ/オーディオシステムのブロックダイアグラムが示されている。
図3には、1実施例による、図1および2からのND用のブロックダイアグラムが示されている。
図4には、1実施例による、ND用のトラフィック管理を示すブロックダイアグラムが示されている。 図5には、1実施例による、ND用トラフィック管理ソフトウェア構造のコンテキストにおけるデータフローの1例を示すブロックダイアグラムが示されている。
図5は、1実施例によるND用のイーサネットドライバー構成を示すダイアグラムである。
図6は、1実施例によるND用のパス・スルーモード構成を示すダイアグラムである。
本発明は、様々な修正や代替が可能であるが、特定の実施例が、図面に一例として示され、本明細書に詳細に記載される。しかしながら、図面と詳細な説明に開示した本発明の特定の形態に制限するものではと言うことが理解されるべきである。添付のクレームに定義されるように、本願発明の趣旨と精神の範囲内で、すべての修正や同等物ないし代替手段を含むと解すべきである。
「“may”という語は、必須の意味ではなく、使用し得るという意味で使用されることに注意されるべきであり」、「包含」という語やその派生表現は、は「包含など」を意味する。
この明細書で、「DWORD」、または「ダブルWord」は、32ビットのサイズデータワードを参照するのに使用される。
「ローカル・システム・メモリ」または「ローカル・メモリ」は、ホストシステムで含まれている中央処理装置および/または中央制御装置に、通常埋め込まれているか、直接インターフェイスされている。
「リモート・システム・メモリ」または「リモート・メモリ」は、ホストシステムに含まれているが、中央処理装置および/または中央制御装置に埋め込まれていないか、直接インターフェイスされておらず、ホストシステムと明確に区別できるものである。リモート・メモリは、ホストシステムで含まれる場合には、周辺装置に埋め込まれたメモリであり、ホストシステムに直接インターフェイスしない追加メモリとされる。
本明細書における、「リアルタイム」、「リアルタイムのデリバリ」、「実時間動作」、および/または、「リアルタイムのストリーミング」は、同じセットの信号の入力および/または出力が、連続的に行われ、システムへの入力信号(入力信号のセット)および/または対応する出力信号が(処理遅れは別にして)連続的に処理され生成されること示す。言い換えれば、入力信号は、システムによって受け取られているレートで処理され、対応する出力信号は、平均的に見て等しいレート出力される。
単語「ポート」がソフトウェア(例えば、アプリケーションソフトウェアやドライバソフトウェア)の文脈で使用される場合や、オペレーティングシステムの文脈で使用される場合には、「ポート」は、ネットワークシステム(例えば、TCP/IPや、UDPネットワーク)における論理結合へのエンドポイントを指称する。幾つかの実施例では、参照されているポートのタイプを特定するのに、「ポートナンバー」を使用できる。例えば、TCP/IP、および/または、UDPネットワークでは、ポートNo.80はHTTPトラフィックに使用される。他の実施例では、「ポート」は1つのインタフェースマッチを入手できるカプセル化ヘッダーフィールド値の組合せを表すことができる。
本明細書で「トランスポートストリームインタフェース」(TSI)は、特に基本のストリームから得られたデータパケットストリーム、サービス情報、プライベートデータ、および/または、限定受信制御の発信のために構成された専用インターフェースを参照するのに一般的な意味では使用される。データパケットストリーム(ビデオとオーディオストリームを含むことができる)を一緒に多重送信して、「トランスポートストリームインタフェース」上での発信のために、「転送パケット」に変換できる。
多くの近代のシステムの特性には、最適化されていないネットワーク結合および/またはインタフェース(例えばIPインターフェイス、またはイーサネットインターフェイス)がある。あるタイプに関するストリーミングのデータなどのデータ(リアルタイムビデオおよび/または音声データを含む)が、標準ネットワーク接続(例えば、イーサネット接続)上に送られるとき、例えば、ストリーミングのデータが意図しているデスティネーション(例えば、テレビのディスプレイまたはオーディオプレーヤーなどのレンダリングデバイス)に達するように、最初に、ホスト中央処理装置、または、多くの場合、ローカルバスメモリバスまたはI/Oバスの上に移される。また、ストリーミングのデータをフォーマットしてコピーするために、ホスト中央処理装置に加えて、バンド幅獲得のための回線争奪が同じバスに結合された他の機器との間で生じ得る。しかしながら、ホスト中央処理装置による必要とされる処理を次のように先取りできる。つまり、送られたストリーミング・データへの追加的処理、および/または、フォーマットの実行からホスト中央処理装置を解放するために、コプロセッサへのストリーミング・データのオフロードによって、および/または、専用インターフェース(例えば、トランスポートストリームインタフェース)でホスト中央処理装置または目標のデスティネーションにストリーミングのデータを送ることで、先取りできる。さらに、ホスト中央処理装置のためのネットワークの接続性の維持が、専用インターフェースを通しての、処理、および/または、送信/受信の一方で、可能とされると、オペレーティングシステムの豊かな特徴を、ホスト中央処理装置による完全な利用を、好ましいことに可能にできる。
幾つかの実施例では、オーディオ/映像装置(例えば、HD(ハイデフィニッション)ディジタルビデオシステム)のためにイーサネットの上で安全なデジタルビデオ・ストリーミングを可能にするために、ネットワーク装置(ND)を構成できる。NDは少なくとも図2のモード(コプロセッサモード)と、図2のスタンドアローンの何れかで作動できる。
NDは少なくとも3つの高水準機能を提供できる: ネットワークインターフェイス制御(NIC)、ビデオ・ストリーミングオフロード(VSO)、およびスタンドアロンのビデオ・ストリーミング(SVS)。NICは標準ネットワークアクセスの機能性を含むことができる。VSOは、コプロセッサモードにおける高帯域幅HDビデオストリームのホスト中央処理装置管理状態オフロードを可能にすることができる。SVSはスタンドアローンにおけるビデオ・ストリーミングを、NDへの外部のホスト・プロセッシング装置(以下、ホスト中央処理装置と呼ぶ)の介入なしで、容認することができる。
NDに関連しているソフトウエアを2つの大範疇に分割することができる: NDで構成された処理装置(以下に、ND中央処理装置と呼ばれる)で実行されるファームウェア、ホスト中央処理装置での実行を意図するホストソフトウェア。
大規模なマスタ直接記憶アクセス(ダイレクトメモリアクセス)能力で、メモリトランザクション中の中央処理装置での処理量を抑えるために図3に示すようにNDを構成できる。
図1は、ホームネットワーク/LAN(ローカルエリアネットワーク)192、およびディジタルビデオ方式(DV)190を含むことができるホストシステム(高速)100のコンポーネントとしてコプロセッサモードで作動するためにND162を構成できる1つの実施例を示している。DV190は、ハイデフィニッションオーディオ/ビデオ信号を含むことができる、オーディオ/ビデオ信号を、衛星152、および/または、アンテナ154を介して受け、チューナー158を通して受信信号からトランスポートストリーム(TS)を生成するように構成された、既に現存するさまざまなDVシステム、または新たに設計されたシステム1つであり得る。TSは、しきい信号対妨害信号比入力168、および TSデマルチプレクシング/フィルタリングエンジン172を介してSOC160デマルチプレクシングに提供するか、または濾過できる。しきい信号対妨害信号比ポート180を通してホームネットワーク/LAN192にフィルターにかけることのタイムスロットを提供できる。そこで、デジタル・メディアサーバ(DMS)として機能して、ND162は、リモートデジタル・メディアプレーヤー(DMP)166にフィルターされたTSを提供できる。オプションで、HDディスプレイ156上にビデオフロントエンド回路174を通してフィルタされたTSのビデオ部分を表示できる。SOC160はバス178を通してチューナー158を制御するか、または構成できる。例えば、バスはI2C busであるかもしれない。構成と利用者アクセスのためにともにSOC160とND162をホストバス184と結合できる。
幾つかの実施例のセットでは、ND162はHTTP(ハイパーテキスト転送プロトコル)のストリーミングのオフロードをホストシステム100に提供できる、他の責任を扱うためにメインSOC(システム・オン・チップ)160が解放される。いくつかの実施例では、SOC160上で作業しながら2つのサンプル・アプリケーションを使用するND162へHTTPストリーミングのオフロードができる。したがって、コプロセッサモードで、ND162は仲間チップとしてSOC160に作動できる。
SOC160が働くことができる間、DV190のすべてのタスク(例えば、ユーザインターフェース、ビデオのデコード、PIDフィルターなど)の実行、つまり、自然なパスをネットワークの接続性に提供するためのストリーミングおよびネットワーク機能の実行をND162専用に実現することができる。コプロセッサモードでは、ND162はネットワークインタフェース制御装置(NIC)の機能性とビデオ・ストリーミングオフロード(VSO)の機能性の両方を提供できる。
NICの機能性は、どんな回路網制御装置にも予想されたサービス、ネットワークと送信パケットからネットワークまでイーサネットの接続性186を介してパケットを受けるのなどようなサービスの提供を含むことができる。これは、非−ストリーミングを含んでいるDV190意匠の補足となるのに能力をネットワークでつなぎながらまた、ウェブ閲覧などの低バンド幅非−ストリーミングネットワーク通信タスクにND162を利用するためにSOC160を容認することができる。また、ND162のNICの機能性は、変化を必要とせずに彼らのすべての内蔵の、より高い平らなネットワークアプリケーションを使用するために可能な既存のNICドライバーDVのレベルの標準のOS特有のインタフェースに190個のシステムを提供できる。
VSOの機能性はHD(ハイデフィニッション)ビデオストリーム(または、他のタイプのビデオストリーム)をイーサネット186の上に送るか、または受けて、しきい信号対妨害信号比ポート180と182からの/にそれらのストリームを向ける能力を提供できる、その結果、DMP166へのデータ管理システムの機能性、および/または、DMS164へのDMPの機能性を提示し、DMS164とDMP166をネットワーク資源として機能させる。ある実施例では、VSOの機能性はTSI入力端180とTSI出力が182を移植するので、図1に示されていた、HDビデオSOCsの過半数で利用可能な標準のTSIポート(例えば、MPEG2 TSIポート)の使用でこれらのストリーミングの能力を可能にすることができる。例えば、TSIポート182を通してストリームがイーサネット186の上にND162でDMS164から受けたHDをSOC160に提供できる。SOC190はデコーダ176を通してHDストリームを解読できる、そして、HDディスプレイ156、ビデオフロントエンド回路174を介してストリームのビデオ部分を表示できる。実施例によっては、代替のND162、および/または、ND162からSOC160ではなく、カップルND162を他の(代替追加する)の対象装置と結合する追加ポート(しきい信号対妨害信号比180/182を除いた)でイーサネット186の上に受け取られた(示されていない)の、そして、ストリーミングのデータは送ることができる。それでデジタル・メディアのプレーヤーまたはディスプレーデバイスが、ストリーミング・データの元の目標のデスティネーションによるストリーミングのデータを解読できるようになる。
SOC160のかかわり合いなしでND162ですべてのストリーミングのプロトコルと内容のプロテクション処理の実行を、VSOの機能性がSOC160の上のイーサネット186としきい信号対妨害信号比ポート180/182の間のシームレスブリッジを提供可能となるように、行える。実施例によっては、ND162のVSOの機能性をホストシステム100の意匠とユーザインターフェースに結び付けるためにSOC160でコマンドアンドコントロールを実施できる。しかしながら、また、SOC160とND162で共同でコマンドアンドコントロールの機能性を実施できる、そこでは、ND162はSOC160から、より自主的に機能できる。ホストシステム100のニーズに基づいてND162が実行時間の間にSOC160と協力する方法がホストシステム100の最適性能を得ることを決定できる。同時にNICの機能性とVSOの機能性を(コプロセッサモードで)利用可能にすることができ、オフロードされるストリームが進行している間、SOC160には基礎回路網アクセスが容認される。
代替の実施例は、図1に示すように、正確なコンポーネントを含むことができない、そして、また、図1の高速100が例のシステムであることに注意するべきであり、他の可能なコンポーネントは図1に示されていたコンポーネントと全く同じ機能を実行できない。一般に、図1はホストシステム(例えば、高速100)で例である、また、ネットワーク装置が特定のタイプのネットワーク(例えば、イーサネット186)にネットワークインタフェースを含んでいて。(ネットワーク装置(例えば、ND162)の上でホストシステムで第1インタフェース(例えば、ホストバス184)と第2インタフェース(例えば、TSI入力180とTSI出力182)を構成できる)。1番目を通したホスト処理装置(例えば、主なSOC160)とデータを交換してNDのネットワークインタフェースを通してホスト・プロセッサ・ユニットの接続性をネットワークに提供するための第2インタフェースに接続するためにさらにネットワーク装置を構成できる。実施例の1つでは、ホスト処理装置が第1インターフェイスを通したネットワーク、およびネットワーク装置のネットワークインタフェースにアクセスしている状態でデータが同時に第2インターフェイスに送られるのを可能にするために構成されていて、ネットワーク装置とホスト処理装置は一緒にそうすることができる。
ネットワーク装置とホスト処理装置の両方には同じネットワークアドレスがありさえする間、ホスト処理装置とネットワーク装置は、したがって、それぞれネットワークと結合された2つの異なったデバイスとして/からネットワークまでデータを受け取るか、または送る能力を持って、独自にネットワークから受け取られたデータを処理できる。さらに、ホスト処理装置とネットワーク装置は同時に第2インタフェースの上でお互いの間にデータを移す間、それぞれ/からネットワークまでデータを受け取るか、送る能力を持つことができる。さらにもう1つの実施例では、(図示せず)チューナー158をしきい信号対妨害信号比180でND162と結合できる(つまり、しきい信号対妨害信号比168がしきい信号対妨害信号比180と一致するよう構成してチューナー158をND162に結合する)。その結果、直接チューナー158からストリーミングのデータを受けるためにまだイーサネット186へのネットワークの接続性をSOC160に提供している間、ND162を構成できる。
スタンドアローンでND162を、図2に示すように(システムの手段(または、中央処理装置)を、主たる処理装置として)使用できる)。スタンドアローンには、外部のホストシステムへの無接続があってもよい。ND162は、したがって、本来システムとして作動できて、ホーストから受け取られたコマンドを当てにされることができない。したがって、IP構成アップロードの必要、またはカスタムND162パケットフィルタリング規則を加える必要はないが、双方ともに、二重ネットワーク・スタック構成のコプロセッサモードでは必要とされる。スタンドアローンでは、ND162のネットワークスタックしか使用されず、コプロセッサモードとは異なってHTTPストリーミングが扱われる。したがって、ネットワーク資源としてMPEG2 TSIポートを有するHDビデオチューナー159などのビデオ情報のローカル・ソースを使用できる。ND162は、チューナー159をデジタル・メディアサーバとしてネットワークに現れさせるように作動できる。ND162は、内蔵のバスインタフェイス178(いくつかの実施例ではI2 Cインタフェース)を使用することでチューナー159を制御できる。
図2は、DMSだけのシステムを示すが、スタンドアローン・モードは、外部の画像復号器によるDMPの使用を可能とする。言い換えれば、ND162は、DMP166で相互運用性を可能にしているDMSなどのネットワーク資源としてチューナー159利用可能とする。ND162がPIDフィルタリングを働かせない実施例では、チューナー159からのマルチプログラム・ストリームを、ND162へと入力させる前にフィルターにかける。スタンドアローン・モードでは、ND162はスタンドアロンビデオ・ストリーミング(SVS)の機能性を提供できる。(コプロセッサモードが利用可能なVSOの機能性と同様である間、それは、ホストSOC制御装置なしで作動するように設計されている)。さらに、スタンドアローン・モードでは、ND162は構成および制御のためにウェブベースのユーザインターフェースを実行できる。
実施例の1つでは、ホストシステムはND162とSOC160によって構成されて、ミックスモードで作動できる、スタンドアローン・モードとコプロセッサ・モードの両方の特徴のいくつかが示される。再びミックスモードND162における図1を参照すると、SOC160からホストバス184まで設定情報とコマンドを受け取ることができる。
しかしながら、ミックスモードでは、SOC160はネットワークスタックなしで作動でき、ND162は、NIC機能をSOC160に提供しないように構成できる。しきい信号対妨害信号比180でストリーミング・データをND162に送るためにSOC160を構成できる。ND162は、イーサネットのインタフェース/接続性186でしきい信号対妨害信号比をネットワークに伝えることができる。また、同様に、ネットワークからイーサネットのインタフェース/接続性186でストリーミングのデータを受け取って、しきい信号対妨害信号比182でストリーミングのデータをSOC160に送るためにND162を構成できる。当業者は、SOC160とND162の両方の様々な動作面と特性を特定したので、SOC160とND162の間の相互作用の他の様々な方法が可能であることを見分けたであろう。例えば、OC160へのイーサネットのインタフェース/接続性186で受けられたストリーミング・データを送るND162に加えて上述しているように、ND162は、追加インタフェース(図示せず)を通してND162と結合できる他の目標へのイーサネットのインタフェース/接続性186で受け取られた受信されたストリーミングのデータ、および/または、他のデータを送ることができる。
図3は、単一回路網(例えば、IPまたはイーサネット)インタフェースで同時、少なくとも2つのネットワークスタック(例えば、TCP/IPスタック)を動かすのを容認するために構成できるND162の1つの実施例のブロックダイアグラムを示している。ND162はストリーミングのインタフェース制御部のネットワークインタフェース、この場合イーサネットインタフェース110、プロセッサ128、および、132aと132b(これらは、まとめてストリーミング・インタフェース制御部132と呼ばれる)を含むことができる。また、メモリトランザクションにおける、プロセッサ128のかかわり合いを減少させるためにバスインタフェイス102a、102dを通して様々なバスに連結して、直接記憶アクセス(ダイレクトメモリアクセス)エンジン138と外部記憶装置制御装置124を含めるためにND162を構成できる。ストリーミング・インタフェース制御部132がストリーミングのデータのソースおよび/またはシンクを提供するために構成できる。ストリーミングのインタフェース制御部は、個々に2以上の制御装置を含む。ストリーミングのインタフェース制御部132の各制御装置を個々にシンクまたはソースデータに構成でき、その結果、データストリームをND162によって送る経路、および/または、処理法についての汎用性が提供される。ND162の内部のコンポーネントを連結するために、内部のバス126(例えば、プロセッサ128が折り曲げブームプロセッサであることのAHB(高度な高性能バス))を構成できる。ホストとの通信はホストバスインタフェイス(HBI)制御装置136を通して行うことができ、ビルトインIRQとパワーマネージメントがモジュール140と142で提供され得る。以前に述べたように、ND162が、ホストDSPプロセッサとして動作するプロセッサ128を有するスタンドアロンのネットワークプロセッサとして機能できるか、またはそれはビデオトラフィックのための部分的なオフロードプロセッサとしてコプロセッサモードで外部のホストプロセッサに機能できる。
したがって、入来または送出されるHDビデオストリームが、ネットワークとストリーミング・インタフェースポートの間でイーサネットインタフェース110とストリーミングのインタフェース制御部132を使用してブリッジされるように、ND162を構成できる。ストリーミング・インタフェース・ポートでは、データストリームを受ける(シンクする)か、または伝送する(ソーシングする)。そして、MPEG2 TSストリームのための他のDVB/ATSC/ARIB SPI仕様、MPEG2 TSストリームのための連続のモード、および非−TSコンテントのためのフロー制御を有する拡張平行処理(extended parallel mode)を含むさまざまなストリーミング・モードをサポートするよう構成できる。MPEG2 TSモードでは、単一プログラムマルチデータMPEG2 TSストリームしかサポートできない。衛星から受け取られたものなどの複数のプログラムストリームは、ND162に入るまえにPIDフィルターにかける必要がある。ネットワーク側では、ND162は、ネットワークに行くローカルなビデオストリームのためのデジタル・メディアサーバ(DMS)、または、ネットワークで利用可能なビデオストリームのためのデジタル・メディアのプレーヤー(DMP)として、出現することができる。
DMPとDMSのサポートは、2つの異なった部分にそれぞれ分割することができる。
ストリーム転送とストリーム制御とに分割できる。
ある実施例では、HTTP1.1サーバとクライアントはストリーム転送を表すことができる、UPnP A/Vメディアサーバ(UPnP MS)とUPnP A/V媒体レンダラー(UPnP MR)でストリーム制御を表すことができる。ストリーム制御は、ストリーム制御がストリーム制御がカスタマによって開発されるか、または他のシステムがホスト中央処理装置で動いていてしっかり統合していることである。ストリーム制御は、ND162の中央処理装置128上、または、SOC160のホスト中央処理装置上で実行される。他の実施例では、転送と運用部分の両方がND162で動くことができる。例えば、ND162がスタンドアローンで構成されるシステムでは、すべてのストリーミングの支援ソフトウェアがND162の中央処理装置128で動くことができる。ND162のために設計された指定されたアプリケーションプログラミングインタフェイス(本明細書にと呼ばれるNAPIを)の一部、およびその関連ソフトウェアにストリーム転送とストリーム制御とのインタフェースを定義することができる。(以下に詳細に説明する)。一般に、図1において、VSO機能は、主なSOC160またはチューナー158上のTSIポートと、ネットワーク(この場合イーサネット186)の間のブリッジを提供するために作動できる。
実施例の1つは、ND162に関連しているソフトウェアを2つのカテゴリに分割することができる。第1のカテゴリは、プロセッサ128で動くように設計されていて、ND162の中にあるすべての制御装置ファームウェアモジュールを包含できる。ND162が高性能を実現するハードウェア能力を利用するために制御装置ファームウェアを組立てることができる。第2のカテゴリは、HBI制御装置136とホストバス184(追加されているインタフェースを含む)を介してND162に結合されたホスト(DV)システム190上のすべてのソフトウェアモジュールを含むホストソフトウェアを包含できる。ホストソフトウェアは、便利でフレキシブルなAPI(アプリケーションプログラミングインタフェイス)を提供するように設計される。以前に言及した、ND162は、3つの中枢機能を提供できる。どのNICとVSOがコプロセッサモードが利用可能であるかに関するNIC(ネットワークインターフェイス制御)、VSO(ビデオ・ストリーミングオフロード)、および、SVS(スタンドアロンビデオ・ストリーミング)。
ND162のNIC機能はホストシステム190にネットワークの接続性を提供できる。構成に依存するさまざまな異なったネットワークの1つとホストシステム(図1の高速100などの)のネットワークリクワイアメントには接続性があってもよい。NDホストソフトウェアと、一部ND制御装置ファームウェアの一部(本明細書にと呼ばれるNTC(ネットワーク管制官)を)によって含まれたネットワークドライバーは、NDNIC機能を一部実施できる。全体的に見て、NTCはネットワーク(イーサネット186などの)を通して受け取られたデータの陸揚を容易にするために工夫された特別なソフトウェアモジュールを含むことができる。NDNIC機能がNICドライバーとしてホーストにおいて現れることができるが(以下も参照されたい)、「NDNIC機能」が、本明細書に使用されるように、NICドライバーによって提供された機能性のNDの特定の実装について言及する項であると言及されるべきである。
図4は、ダイアグラムがNDNIC機能の1つの実施例を示すのを示している。NTC571とネットワークドライバー570はHBIドライバー572と573の組を使用するHBI576を通して通信できる。HBIは、示されているようにそれぞれホストソフトウェアと制御装置ファームウェアの両方の一部であるかもしれない。ネットワークドライバー570はレイヤ2の接続性をホーストに提供できる。それは、イーサネット186からの/にパケットを送るか、または受けるのにNTC571を使用できる。したがって、ホストパケットや、SOC160のために明確に意図しない入力パケットのためのフィルタとしても待ち行列レイヤとしてNTCモジュール571を、オフロードされるビデオストリーム578などのように構成できる。NDNIC機能は、NDスループット資源の分担を制御して、NDNIC機能に正しい統計を提供するためにVSO機能と対話できる。その結果、NDNIC機能でオフロードされたビデオストリームパケット578はSOC160に目に見えなくなる場合があり、したがって、RX(受信)、TX(送出)、ドロップ、および他の統計が、従って、調整できる。NDが同時にコプロセッサモードで作動するとき、NDNIC機能は、VSO機能と共に従事できて、実行され得る。
1つの実施例では、2つのネットワークスタックに同じネットワークアドレスを共有させることによって、同時にVSO機能でNDNIC機能を実行するのを達成できる。
言い換えれば、2つのスタックがお互いと異なっているが、2つのネットワークスタックが単一回路網アドレスに対応できる。
例えば、同じIPアドレスに対応する2つのIPスタックを動かすためにND NIC機能を構成できる。
その上、また、2つのIPスタックが同じ物理的なイーサネットインタフェースを同じMACアドレスと共有できる(イーサネットインタフェースがネットワークに接続するのに使用されるとき)。
したがって、ND NIC機能は、ND中央処理装置128に対応するIPスタック当該が一貫したステータスを有し、SOC160のIPスタックを妨げないことを確実にするのに使用できる。
VSO機能をイネーブルにするために、ホストは、フィルタリングをイネーブルにし、TCP/UDPポート競合を防ぐために追加構成を行わなければならないかもしれない。
コプロセッサモードにおいては、VSO機能はNDスタートアップでデフォールトによってアクティブでないかもしれない。
VSO機能はホストにおけるNICコンフィギュレーションクライアントアプリケーションによってアクティブにされ得る。
したがって、VSO機能の初期のコンフィギュレーション(構成)はNICコンフィギュレーションアプリケーションを通してまたはそれと協力して遂行され得る。
それはNAPIを通してインタフェースを晒すことができ、ホストアプリケーションNICコンフィギュレーションクライアントによって使用され得る。
両方のアプリケーションにより、ホストはIPコンフィギュレーションと基本的なフィルタリング規則を適用できるだろう。
VSO機能が一旦活性化されると、NTCモジュールは、オフロードされたビデオストリームに属するパケットをフィルタリングし始めることができる。この間トラフィックの残りはNIC機能の一部としてホストに向けられ得る。
VSO機能をイネーブルにすることの一部としてNICコンフィギュレーションクライアントを使用することで追加構成を行うためにホストを構成できる。
追加構成は、NDのダイナミックなTCP/UDPポート範囲を設定することを含むことができる。その範囲は2つのIPスタックが同じローカル・ポートで2個のソケットを開けるのを防止するために、ホストIPスタックによって使用されるポート範囲と異なって設定され得る。
IPコンフィギュレーション(例えば、アドレス、マスク、ゲートウェイ)はND IPスタックの操作を構成でき、NTCはオフロードされたストリームに属するパケットのためにフィルタリングを始めることができる。
実施例の1セットでは、フィルタリングはTCP/UDPポートナンバーに基づいて実行でき、各ネットワークスタックは自己に割り当てられたポートナンバーの範囲を有する。
それぞれのポートナンバー、またはそれぞれのポートナンバー範囲を異なったネットワークスタックに割り当てることによって、同じネットワークアドレスにすべて対応する複数の異なったネットワークスタックは実現できる。
したがって、代替の実施例は2つ以上のネットワークスタックを特徴とすることができ(例えば2個以上のIPスタック)、各ネットワークスタックは他のネットワークスタックのいずれかに対応するポートナンバーのいずれも重複しないポートナンバーまたはポートナンバーの範囲が割り当てられる。
ホスト中央処理装置はこのコンフィギュレーションを、DHCPや自動IPや静的なコンフィギュレーションなどの任意の手段によって得ることができる。
また、IPサービスプロトコルを扱うための規則でNTCをプログラムできる。
VSOとNIC機能が一旦ともにイネーブルにされると、ホストは、ND HTTPサーバと同じポートの上でリスニング(聴取)ソケットを使用しないということを保証するために作動できる。
ストリーム制御がND中央処理装置で実行(ラン)するとき、ストリームトランスポートにかけられたNAPI電話(コール)はローカルに送られ得る。
上述したように、カーネルモジュールとユーザレベルアプリケーションとしてNDソフトウェアモジュールを実施できる。
したがって、NDファームウェアは、ND NIC機能をサポートするためにオペレーティングシステムカーネルパッチ、例えばリナックスカーネルパッチを含むことができる。
すなわち、NTCは基本のホストネットワークの接続性を提供できる、(すなわち、NIC機能)、ホスト間通信を切り離すために構成されているかもしれなくて、積み下ろされて、ND中央処理装置とホスト中央処理装置の両方にはネットワークの接続性があるのを同じネットワークアドレスを使用することで容認して、ストリーミングされる専門化しているカーネルモジュール、およびエクステンションによる潜在的に同じ物理的なMACAΗY字管として。
ND VSOとNIC機能がに両方とも使用中であるときは、、それらの両方がNDスループット資源を競合するので、一方の機能を他方の機能に優先させる必要があろう。
従って、NIC機能に対して優先順位を持つようにND VSO機能を構成できる。
これは、ビデオストリームが順位優先タスクとして扱われ、ホストトラフィックが残りのNDスループットキャパシティを使用することで扱われ得ることを意味する。
逆に、少なくとも最小のパフォーマンスレベルをNIC機能に保証するために、ND VSO機能の中央処理装置の使用は構成可能なリミットにキャップ(抑制)され得る。
また、さらに、両方のインタフェース(すなわち、ホストバスインタフェイスとストリーミングのインタフェース)を介して同時にNDによって受け取られたデータを優先させるようにNIC機能を適合させることができる。
このような場合、NIC機能はどちらのデータにネットワークインタフェースへのアクセスが付与されてネットワークに伝えられるべきかを仲裁するように働くことができる。
ホストのIPコンフィギュレーションが変化するとき、NICコンフィギュレーションクライアントアプリケーションはND中央処理装置上でコンフィギュレーションを同時に更新するのに使用される。
NTCそれ自体が、機能性によって3つの主要部に分割される:
即ち、トラフィック管理(TM)、イーサネットドライバーコンフィギュレーションと同期(EC)、およびパス・スルー(PT)モードの3つである。
TMモジュールは、(出て行く)データトラヒックを集合し、(入って来る)データトラヒックを分離するように作動できる。
上述したように、1つのNIC機能(ドライバー)としてホストシステムには見えるようにECモジュールを構成できる。
したがって、ホストのネットワーク(例えば、イーサネット)ドライバーコンフィギュレーションに基づいて自動的にNDのためのネットワーク(例えば、イーサネット)ドライバーを構成できる。
オフロードモードとは対照的にIPモードにおいては、データは、NDによって何の処理も実行されることなく、NDネットワークドライバーから直接ホストネットワークドライバーに渡される。
トラフィック管理
1セットの実施例においては、例えばリナックスネット−フィルタ/ファイヤーウォールアーキテクチャなどの既存のオペレーティングシステムカーネルを拡張し、既存のフィルタリング機能に加えて、NDに関連しているデータトラヒックフィルタリング機能を遂行し得る。
したがって、ホストとNDのデータトラヒックの集合と分離を遂行するように構成され得る。
図5は、ND用トラフィック管理ソフトウェア構造のコンテキストにおけるデータフローの1例を示すブロックダイアグラムを示している。
示されているように、それら自身のTCP/IPスタック(それぞれ212と232)でND162とホスト160を構成できる。
実施例の1セットでは、NAPIモジュール208を介してテーブル規則を設定できる。モジュール208はアプリケーションスペースで構成された別々のモジュールでよく、それぞれのモジュールは、ND162とホスト160上で構成される。
カーネルと応用モジュールとしてIP−テーブル/ARP−テーブル210を設計できる。これを介して、プロトコルとポート番号に基づいてフィルタリングを遂行するためのフィルタリング規則が構成され得る。
IP−テーブル/ARP−テーブル210で構成されたフィルタリング規則に従って、オーディオ/ビデオストリーム(アプリケーション206をストリーミングするためにND162よって、イーサネットドライバー218にかかわりながら、イーサネット接続を介して受信することができる)はフィルタリングされる。
入力パケットをフィルタリングした後に、NTCにおける別のカーネルモジュールは、HBIインタフェースを通して、ND162とホスト160のためにそれぞれ構成されたHBIドライバー220と204にかかわりながら、データをホストプロセッサに供給できる。
出口トラフィックでは、NTCは、イーサネットドライバー218にかかわりながら、ホストからHBIドライバー240を介してデータを読み、(必要なら)ヘッダーを調整して、データを送り出すことができる。
ND162から出て行くデータトラフィックはホストから出て行くトラフィックに影響を与えることができない。
特に2つのTCP/IPスタックの間の同期を維持することを目的とした1つ以上の手続きに従って動作するようにND162を構成できる。
同期を維持するために、ICMP(インターネットコントロールメッセージプロトコル)とARP(アドレスリソリューションプロトコル)パケットをIPスタック212と232の両方に伝えることができるが、要求に対する応答は単にNDから作り出されることができる。
これらの要求に対応してホストプロセッサで作り出されることができる応答は、応答のコピーを排除するためにフィルタアウト(無視)される。
IP−テーブルとARP−テーブルコマンドで規則を設定できる。
入力パケットを両方のIPスタックに送るのか、ホストIPスタックだけに送るのかはユーザのアクセス可能なオプションとして構成できる。
その上、セグメントに分けられたIPパケットを再組み立て可能であるように適切にIP IDを調整できる。
NDとホストプロセッサは別々のIP IDを維持できる。
最終的に、ポート指定のときに競合(コリジョン)を避けるためにエフェメラルポートを構成できる。
これはリナックスカーネルのポート範囲を調整することによって、実行できる。
例えば、NDは、より小さなエフェメラルポート範囲[1024−4996]が割り当てられ、ホストは、より高いポート範囲[40000−60000]が割り当てられることができる。
イーサネットドライバー構成
図6はどうNDネットワーク設定とホストネットワーク設定を構成モードに確立できるかの1つの実施例を示している。
ホストネットワークドライバー302からHBI304を介してNDネットワークドライバー308を構成できる。
ユーザはホストネットワークドライバー302のためのコンフィギュレーションを設定できる、そして、次に、NDネットワークドライバー308にすべてのコンフィギュレーションを渡すことができる。従って、ドライバー308は、セットされる。
このコンフィギュレーションを容易にするため、実施例の1セットにおいては、カーネルパイプメカニズムを通して通信チャネルとメッセージングコマンドを開発できる。
ネットワーク(例えば、イーサネット)ドライバーコンフィギュレーションのために以下のコマンドを実施できる。
1. オープン(開く):このコマンドは、ホストから送られ、送受信機能をイネーブルにするためにNDネットワークドライバー308を開くのを容易にする。
また、MACアドレスを割り当てるか、またはそれが既にND内で割り当てられているならば、MACアドレスを得るのにこのオープンコマンドを使用できる。
2. クローズ(閉じる):このコマンドは、ホストから送られ。送受信機能をディスエーブルにするためにNDネットワークドライバー308を閉じる。
3. ピング(Ping:音を出す):このコマンドは、NDネットワークドライバー308が生きているかどうかをホストによってチェックする使用できる。
生きているNDネットワークドライバーは確認コマンドに応じるだろう。
4.セットRxフィルタ:ホストは、マルチキャスト設定を構成するのにこのコマンドを使用できる。
5.統計を得る:ホストはNDネットワークドライバー308からパケットとエラーカウンタを検索するのにこのコマンドを使用できる。
6.明確な統計:ホストはNDネットワークドライバー308の中に統計カウンタをきれいにするのにこのコマンドを使用できる。
7.リンク設定を得る:ホストはNDネットワークドライバー308からの現在のリンクスピードと全2重を検索するのにこのコマンドを使用できる。
8.リンクモードを設定する:ホストはNDネットワークドライバー308にリンクスピードと全2重をはめ込むのにこのコマンドを使用できる。
パススルーモード
図7に示す特別なモードとしてパススルー(計器用変圧器)モードを指定できる。
計器用変圧器で、モードが可能にされて、直接NDネットワークドライバー308からホストネットワークドライバー302までデータを通過できる。
NTC412におけるモジュールは、NDネットワークドライバー308からデータを受信して、HBIインタフェース304にそれを提供できる。
同様に、NTC412で直接HBIインタフェース304からNDネットワークドライバー308までデータを通過できる。
また、図7はデータがオフロードモードで取ることができるパスを示す、ND162のネットワークスタック410にかかわって
計器用変圧器では、モード、データはネットワークスタック410を迂回させることができる、その結果、ND162で動くために構成されるどんなストリーミング・アプリケーション408によってもオンの被演算子でない。
モードがブーツの間にある計器用変圧器でホストシステムを操作できる時に関する1つの実施例。
ホストが起動するとき、ネットワークアドレス(例えば、DHCPを通したIPアドレス−−DynamicHostConfigurationProtocol)を習得するのが必要であることができる、その場合、ND162は簡単な回路網制御装置(例えば、簡単なイーサネット制御装置)として作動できる、すべてのデータトラヒックをホストに通過して。
その結果、ホストは、すべてのトラフィックを受けて、ネットワークからネットワークアドレス(例えば、IPアドレス)を得ることができる。
ホストがアドレス発見を実行した後に、ネットワークアドレスをNDに通信できて、ネットワークアドレスがいったんNDに通信すると、NDは、計器用変圧器から取り出されたモードであり、ネットワークから受け取られた入力パケット、および/または、データをフィルターにかけ始めることができる。
また、デバッグ目的に計器用変圧器モードを使うことができる。
アプリケーションが同時2台以上のプロセッサで動くのを可能にして、この場合同時に少なくともそれらのプロセッサの1つにネットワークへのアクセスを提供する間、単一のイーサネットインタフェースでの複数のTCP/IPスタックを操作する利点の1つはすべてのネットワークスタックによる同じIPアドレスとMACアドレスがホストで構成されたプロセッサ、およびNDで構成された別のプロセッサにおける行使である。
一般に、様々な規制ソフトウェアルーチンを執行するためにホストプロセッサを構成できる、さまざまなデータの徹底的なコードを実行するためにNDプロセッサを構成できるが。
例えば、UPNP(ユニバーサル・プラグ・アンド・プレイ)アプリケーションをホストにロードできる、NDでストリーミング・アプリケーションをロードできるが。その結果、ビデオデータを受け取って、それを処理するためにNDを構成できる。
オフロードモードで作動するとき、ネットワークフレームに不可知論者のままで残るのに、OS(オペレーティングシステム)カーネル構造物(例えば、リナックスファイヤーウォールアーキテクチャ)を器具ネットワークトラフィック制御装置に使用できる。
フィルタリングは、IPアドレスなどのどんなレベルでも実行されて、(工具中心点、UDP)について議定書の中で述べる、および/または、数のレベルを移植できる。

実行された替がカーネルレベルである、いいえをフィルターにかけるとき、同じソケットバッファを使用できるとき、データコピーを必要とすることができる。
したがって、NDと協力して作動するためにホストを構成できる、さまざまな商業オペレーティングシステムのどれかを使用して。
当業者には、本発明の種々相の更なる修正と代替の実施例はこの説明を考慮すると明らかであるかもしれない。
従って、この説明が説明に役立つと理解されることである、唯一、そして、本発明を実施する一般的な方法を当業者に教示する目的のために、ある。
本明細書に示されて、記載された発明の帳票が、実施例として取られることであることが理解されることになっている。
プロセスを逆にすることができる、そして、本明細書に示して、記載されたものに要素と素材を置換できる、部品、すべてあるだろうとき独自に利用されていて、本発明のある特徴は本発明のこの説明の恩恵を持った後に当業者には明らかな状態で逆にすることができる。
本明細書に以下の賠償金で記載されているように、本発明の趣旨と範囲から逸脱せずに記載された要素で変更を行うことができる。

Claims (1)

  1. ネットワーク・デバイスとホスト処理ユニットの間でデータを転送するように操作できる第1インタフェース・コントローラと、
    ネットワーク・デバイスとホスト処理ユニットの間にデータを転送するように操作できる第2インタフェース・コントローラと、
    ネットワークとネットワーク・デバイスをインタフェースするように構成されたネットワーク・インタフェースと、
    コントロール・ユニットであって、
    ネットワーク・インタフェースを介してネットワークから受信データを受け取り、そして、受信データを処理し、そして、第2インタフェース・コントローラを介して処理済な受信データをホスト処理ユニットに伝えこと、そして
    ホスト処理ユニットから第2インタフェース・コントローラまで発信データを受け取りなさい、そして、受信された発信データを処理しなさい、そして、ネットワーク・インタフェースを介して処理済な発信データをネットワークに伝えること、
    の1つまたはそれ以上のことを実行するコントロール・ユニットと
    を備え、
    第1インタフェース・コントローラ、コントロール・ユニット、およびネットワークインタフェースはホスト処理ユニットがネットワーク・ネットワークからネットワーク・インタフェースと第1インタフェース・コントローラまで他のデータを伝える、そして/または、受け取るのを可能にし、
    ホスト処理ユニットとコントロール・ユニットは同じネットワークアドレスを共有する、
    ネットワーク・デバイス。
JP2009536489A 2006-11-08 2007-11-08 ネットワーク・トラフィック・コントローラ Active JP4870819B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86492106P 2006-11-08 2006-11-08
US60/864,921 2006-11-08
US11/928,647 US9794378B2 (en) 2006-11-08 2007-10-30 Network traffic controller (NTC)
US11/928,647 2007-10-30
PCT/US2007/084152 WO2008058254A2 (en) 2006-11-08 2007-11-08 Network traffic controller (ntc)

Publications (2)

Publication Number Publication Date
JP2010519785A true JP2010519785A (ja) 2010-06-03
JP4870819B2 JP4870819B2 (ja) 2012-02-08

Family

ID=39360977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009536489A Active JP4870819B2 (ja) 2006-11-08 2007-11-08 ネットワーク・トラフィック・コントローラ

Country Status (4)

Country Link
US (2) US9794378B2 (ja)
JP (1) JP4870819B2 (ja)
TW (1) TWI378696B (ja)
WO (1) WO2008058254A2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9794378B2 (en) * 2006-11-08 2017-10-17 Standard Microsystems Corporation Network traffic controller (NTC)
US20090238069A1 (en) * 2008-03-19 2009-09-24 Himax Technologies Limited Device and method for controlling program stream flow
TW201025010A (en) * 2008-12-25 2010-07-01 Jmicron Technology Corp Host system and operating method thereof
US20100215052A1 (en) * 2009-02-20 2010-08-26 Inventec Corporation Iscsi network interface card with arp/icmp resolution function
US20110075047A1 (en) * 2009-09-29 2011-03-31 Sony Corporation Firewall port selection using atsc tuner signals
US20120155360A1 (en) * 2010-12-20 2012-06-21 Lockheed Martin Corporation Negative-acknowledgment oriented reliable multicast offload engine architecture
US9985996B2 (en) * 2013-09-09 2018-05-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Decoupling audio-video (AV) traffic processing from non-AV traffic processing
US9712867B2 (en) * 2013-09-16 2017-07-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Application specific policy implementation and stream attribute modification in audio video (AV) media
CN110737623B (zh) * 2013-12-08 2023-08-11 跨端口网路解决公司 用于使用i/o设备链路在主机之间建立高速网络通信和文件传输的链路***
US10164905B2 (en) * 2014-02-06 2018-12-25 Mellanox Technologies, Ltd. Efficient management of network traffic in a multi-CPU server
CN104140046B (zh) * 2014-08-12 2016-04-27 徐州重型机械有限公司 用于起重机通信的方法和控制器、及起重机
US10341311B2 (en) * 2015-07-20 2019-07-02 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
US11072356B2 (en) 2016-06-30 2021-07-27 Transportation Ip Holdings, Llc Vehicle control system
US10814893B2 (en) 2016-03-21 2020-10-27 Ge Global Sourcing Llc Vehicle control system
US10805222B2 (en) 2017-05-01 2020-10-13 General Electric Company Resilient network configuration for time sensitive traffic
US10516710B2 (en) 2017-02-12 2019-12-24 Mellanox Technologies, Ltd. Direct packet placement
US11979340B2 (en) 2017-02-12 2024-05-07 Mellanox Technologies, Ltd. Direct data placement
US10210125B2 (en) 2017-03-16 2019-02-19 Mellanox Technologies, Ltd. Receive queue with stride-based data scattering
US11252464B2 (en) 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US20180367589A1 (en) * 2017-06-14 2018-12-20 Mellanox Technologies, Ltd. Regrouping of video data by a network interface controller
US10367750B2 (en) 2017-06-15 2019-07-30 Mellanox Technologies, Ltd. Transmission and reception of raw video using scalable frame rate
US11057652B1 (en) 2019-04-30 2021-07-06 Amazon Technologies, Inc. Adjacent content classification and targeting
US10749934B1 (en) * 2019-06-19 2020-08-18 Constanza Terry Removable hardware for increasing computer download speed

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06216917A (ja) * 1992-09-17 1994-08-05 D 2 B Syst Co Ltd 多重装置消費者エレクトロニクスシステム
JP2002009869A (ja) * 2000-06-19 2002-01-11 Victor Co Of Japan Ltd ネットワークi/fカード
JP2002524005A (ja) * 1998-08-28 2002-07-30 アラクリテック・インコーポレイテッド 通信を高速化するインテリジェントネットワークインタフェース装置及びシステム
JP2004072752A (ja) * 1994-08-31 2004-03-04 At & T Corp データ送信のためのネットワークの高帯域幅データ搬送チャネルを選択する低帯域幅を用いた無線チャネル設定
JP2005502225A (ja) * 2001-04-24 2005-01-20 アイレディ コーポレーション ギガビット・イーサネット・アダプタ
JP2007150390A (ja) * 2005-11-24 2007-06-14 Matsushita Electric Ind Co Ltd 通信装置
JP2008507030A (ja) * 2004-07-14 2008-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク・プロトコル処理のオフロードにおいてメモリ管理をサポートする装置および方法

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108713A (en) * 1997-02-11 2000-08-22 Xaqti Corporation Media access control architectures and network management systems
CA2206737C (fr) * 1997-03-27 2000-12-05 Bull S.A. Architecture en reseau de machine informatique
US6314525B1 (en) * 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US7174393B2 (en) * 2000-12-26 2007-02-06 Alacritech, Inc. TCP/IP offload network interface device
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US7167927B2 (en) * 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6226680B1 (en) * 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US7284070B2 (en) * 1997-10-14 2007-10-16 Alacritech, Inc. TCP offload network interface device
US6208649B1 (en) * 1998-03-11 2001-03-27 Cisco Technology, Inc. Derived VLAN mapping technique
US6167047A (en) * 1998-05-18 2000-12-26 Solidum Systems Corp. Packet classification state machine
US6765901B1 (en) * 1998-06-11 2004-07-20 Nvidia Corporation TCP/IP/PPP modem
US6625654B1 (en) 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US20020105972A1 (en) * 2000-03-03 2002-08-08 Richter Roger K. Interprocess communications within a network node using switch fabric
US7500143B2 (en) * 2000-05-05 2009-03-03 Computer Associates Think, Inc. Systems and methods for managing and analyzing faults in computer networks
US6681258B1 (en) * 2000-05-31 2004-01-20 International Business Machines Corporation Facility for retrieving data from a network adapter having a shared address resolution table
US7120697B2 (en) * 2001-05-22 2006-10-10 International Business Machines Corporation Methods, systems and computer program products for port assignments of multiple application instances using the same source IP address
US7089335B2 (en) * 2000-10-30 2006-08-08 Microsoft Corporation Bridging multiple network segments and exposing the multiple network segments as a single network to a higher level networking software on a bridging computing device
US7379475B2 (en) * 2002-01-25 2008-05-27 Nvidia Corporation Communications processor
WO2002059757A1 (en) 2001-01-26 2002-08-01 Iready Corporation Communications processor
US6526440B1 (en) * 2001-01-30 2003-02-25 Google, Inc. Ranking search results by reranking the results based on local inter-connectivity
KR20040005925A (ko) * 2001-04-20 2004-01-16 제너럴 인스트루먼트 코포레이션 전송 멀티플렉서에서 대역폭 활용의 실시간 표시
US7274706B1 (en) * 2001-04-24 2007-09-25 Syrus Ziai Methods and systems for processing network data
US7356245B2 (en) * 2001-06-29 2008-04-08 International Business Machines Corporation Methods to facilitate efficient transmission and playback of digital information
US7124293B2 (en) * 2001-06-29 2006-10-17 Intel Corporation Intelligently determining which traffic streams to offload efficiently
KR100385996B1 (ko) * 2001-09-05 2003-06-02 삼성전자주식회사 하나의 NIC(Network InterfaceCard)에 복수개의 IP 어드레스를 할당하는 방법 및이에 적합한 장치
US7145914B2 (en) * 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
US7496689B2 (en) * 2002-04-22 2009-02-24 Alacritech, Inc. TCP/IP offload device
US7007103B2 (en) * 2002-04-30 2006-02-28 Microsoft Corporation Method to offload a network stack
US7606890B1 (en) * 2002-06-04 2009-10-20 Rockwell Automation Technologies, Inc. System and methodology providing namespace and protocol management in an industrial controller environment
US7346701B2 (en) * 2002-08-30 2008-03-18 Broadcom Corporation System and method for TCP offload
US7224692B2 (en) * 2002-09-04 2007-05-29 Broadcom Corporation System and method for fault tolerant TCP offload
US7313623B2 (en) * 2002-08-30 2007-12-25 Broadcom Corporation System and method for TCP/IP offload independent of bandwidth delay product
US7936766B2 (en) * 2002-09-20 2011-05-03 Wind River Systems, Inc. System and method for separating logical networks on a dual protocol stack
US20040073716A1 (en) * 2002-10-14 2004-04-15 Boom Douglas D. System, device and method for media data offload processing
US7069312B2 (en) * 2002-12-06 2006-06-27 Microsoft Corporation Network location signature for disambiguating multicast messages in dual-IP stack and/or multi-homed network environments
US7324540B2 (en) * 2002-12-31 2008-01-29 Intel Corporation Network protocol off-load engines
US7184445B2 (en) * 2003-02-12 2007-02-27 Silverback Systems Inc. Architecture and API for of transport and upper layer protocol processing acceleration
US20050021680A1 (en) * 2003-05-12 2005-01-27 Pete Ekis System and method for interfacing TCP offload engines using an interposed socket library
US7420931B2 (en) * 2003-06-05 2008-09-02 Nvidia Corporation Using TCP/IP offload to accelerate packet filtering
US7613109B2 (en) * 2003-06-05 2009-11-03 Nvidia Corporation Processing data for a TCP connection using an offload unit
EP1503558A1 (de) * 2003-08-01 2005-02-02 Siemens Aktiengesellschaft Verbindung von Teilnehmern in hybriden Kommunikationsnetzen
US7275152B2 (en) * 2003-09-26 2007-09-25 Intel Corporation Firmware interfacing with network protocol offload engines to provide fast network booting, system repurposing, system provisioning, system manageability, and disaster recovery
US20050097242A1 (en) * 2003-10-30 2005-05-05 International Business Machines Corporation Method and system for internet transport acceleration without protocol offload
US20050100023A1 (en) * 2003-11-07 2005-05-12 Buckwalter Paul B. Isochronous audio network software interface
US7602794B2 (en) * 2003-11-13 2009-10-13 Intel Corporation Implementation of control plane protocols and networking stacks in a distributed network device
US8493839B2 (en) * 2003-11-20 2013-07-23 Hewlett-Packard Development Company, L.P. Method and system of teamed network adapters with offloaded connections
EP1538803A1 (en) 2003-12-04 2005-06-08 Alcatel Host for coupling to an IP Network
US6996070B2 (en) * 2003-12-05 2006-02-07 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
US20050188074A1 (en) * 2004-01-09 2005-08-25 Kaladhar Voruganti System and method for self-configuring and adaptive offload card architecture for TCP/IP and specialized protocols
TWI236257B (en) * 2004-02-17 2005-07-11 Admtek Inc Network device and its data transmission method
US7949792B2 (en) * 2004-02-27 2011-05-24 Cisco Technology, Inc. Encoding a TCP offload engine within FCP
TWI239734B (en) * 2004-03-02 2005-09-11 Ind Tech Res Inst Full hardware based TCP/IP traffic offload engine (TOE) device and method thereof
US7668165B2 (en) * 2004-03-31 2010-02-23 Intel Corporation Hardware-based multi-threading for packet processing
WO2005114504A2 (en) * 2004-05-13 2005-12-01 Sun Microsystems, Inc. Method and apparatus for executing event driven simulations
US7533176B2 (en) * 2004-07-14 2009-05-12 International Business Machines Corporation Method for supporting connection establishment in an offload of network protocol processing
US7493427B2 (en) * 2004-07-14 2009-02-17 International Business Machines Corporation Apparatus and method for supporting received data processing in an offload of network protocol processing
US8281031B2 (en) * 2005-01-28 2012-10-02 Standard Microsystems Corporation High speed ethernet MAC and PHY apparatus with a filter based ethernet packet router with priority queuing and single or multiple transport stream interfaces
WO2006090408A2 (en) * 2005-02-24 2006-08-31 Hewlett-Packard Development Company, L.P. Input/output tracing in a protocol offload system
US7586936B2 (en) 2005-04-01 2009-09-08 International Business Machines Corporation Host Ethernet adapter for networking offload in server environment
US7697434B1 (en) * 2005-04-22 2010-04-13 Sun Microsystems, Inc. Method and apparatus for enforcing resource utilization of a container
US8713180B2 (en) * 2005-06-22 2014-04-29 Cisco Technology, Inc. Zero-copy network and file offload for web and application servers
US7949766B2 (en) * 2005-06-22 2011-05-24 Cisco Technology, Inc. Offload stack for network, block and file input and output
US20070033301A1 (en) * 2005-07-18 2007-02-08 Eliezer Aloni Method and system for transparent TCP offload with dynamic zero copy sending
KR100652964B1 (ko) * 2005-08-25 2006-12-01 삼성전자주식회사 듀얼스택 네트워크 기기 및 그 브로드캐스트 방법
US20070088874A1 (en) * 2005-10-14 2007-04-19 Hewlett-Packard Development Company, L.P. Offload engine as processor peripheral
US20070162639A1 (en) * 2005-11-30 2007-07-12 Chu Hsiao-Keng J TCP-offload-engine based zero-copy sockets
KR100738339B1 (ko) * 2005-12-01 2007-07-12 한국전자통신연구원 인터넷 프로토콜 오프로드의 패킷 전송 장치 및 방법
US20070239897A1 (en) * 2006-03-29 2007-10-11 Rothman Michael A Compressing or decompressing packet communications from diverse sources
US20070233886A1 (en) * 2006-04-04 2007-10-04 Fan Kan F Method and system for a one bit TCP offload
US20070255866A1 (en) * 2006-05-01 2007-11-01 Eliezer Aloni Method and system for a user space TCP offload engine (TOE)
US7596628B2 (en) * 2006-05-01 2009-09-29 Broadcom Corporation Method and system for transparent TCP offload (TTO) with a user space library
US9794378B2 (en) * 2006-11-08 2017-10-17 Standard Microsystems Corporation Network traffic controller (NTC)
US7773546B2 (en) * 2006-11-21 2010-08-10 Broadcom Corporation System and method for a software-based TCP/IP offload engine for digital media renderers
US7849214B2 (en) * 2006-12-04 2010-12-07 Electronics And Telecommunications Research Institute Packet receiving hardware apparatus for TCP offload engine and receiving system and method using the same
US11405969B2 (en) * 2010-09-29 2022-08-02 International Business Machines Corporation Enabling interface aggregation of mobile broadband network interfaces

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06216917A (ja) * 1992-09-17 1994-08-05 D 2 B Syst Co Ltd 多重装置消費者エレクトロニクスシステム
JP2004072752A (ja) * 1994-08-31 2004-03-04 At & T Corp データ送信のためのネットワークの高帯域幅データ搬送チャネルを選択する低帯域幅を用いた無線チャネル設定
JP2002524005A (ja) * 1998-08-28 2002-07-30 アラクリテック・インコーポレイテッド 通信を高速化するインテリジェントネットワークインタフェース装置及びシステム
JP2002009869A (ja) * 2000-06-19 2002-01-11 Victor Co Of Japan Ltd ネットワークi/fカード
JP2005502225A (ja) * 2001-04-24 2005-01-20 アイレディ コーポレーション ギガビット・イーサネット・アダプタ
JP2008507030A (ja) * 2004-07-14 2008-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク・プロトコル処理のオフロードにおいてメモリ管理をサポートする装置および方法
JP2007150390A (ja) * 2005-11-24 2007-06-14 Matsushita Electric Ind Co Ltd 通信装置

Also Published As

Publication number Publication date
TWI378696B (en) 2012-12-01
US20180041785A1 (en) 2018-02-08
WO2008058254A2 (en) 2008-05-15
WO2008058254A3 (en) 2008-12-04
TW200839535A (en) 2008-10-01
US20080109562A1 (en) 2008-05-08
JP4870819B2 (ja) 2012-02-08
US10749994B2 (en) 2020-08-18
US9794378B2 (en) 2017-10-17

Similar Documents

Publication Publication Date Title
US10749994B2 (en) Network traffic controller (NTC)
US8281031B2 (en) High speed ethernet MAC and PHY apparatus with a filter based ethernet packet router with priority queuing and single or multiple transport stream interfaces
JP6188093B2 (ja) 通信トラフィック処理アーキテクチャおよび方法
AU680931B2 (en) Network station with multiple network addresses
CN101507186B (zh) 以太网交换
US20180270099A1 (en) Communication Terminal with Multiple Virtual Network Interfaces
US20100284417A1 (en) Data stream router
JP2000032016A (ja) デジタル信号受信機、ネットワ―ク及びトランスポ―トストリ―ム送信方法
KR20020077377A (ko) 디바이스들의 원격 그룹들의 상호동작을 위한 브리징 시스템
JP2007535209A (ja) ホームネットワークのための汎用ネットワークインタフェース
WO2012152140A1 (zh) 网络数字机顶盒及其实现多网接入的方法
US20080028059A1 (en) Apparatus and method for upnp service in public network environment
US9363209B1 (en) Apparatus, system, and method for resequencing packets
KR20110119526A (ko) Av 인터페이스를 통해 이더넷 데이터를 전송하는 방법 및 장치
JP2009088962A (ja) 通信アダプタ、通信装置および通信方法
US20180109653A1 (en) USB to Coax Bridge
US7010802B1 (en) Programmable pattern match engine
WO2012094285A1 (en) Apparatus and method for multi-device routing in a gateway
EP3866401A1 (en) Move stream content from point to point over the existing ip gateway
WO2010134145A1 (ja) データ通信装置、ホームネットワークシステム、データ通信方法、プログラム、及び集積回路
JP2004336437A (ja) 映像受信回路および映像受信装置
JP2010154384A (ja) トラフィック制御システム、制御方法、ホームゲートウェイ装置および制御プログラム
KR20050066949A (ko) 홈 네트워크 시스템에서의 트래픽 필터링 장치 및 그를이용한 트래픽 제어 장치
Foulkes et al. Providing Interoperability of, and Control over, Quality of Service Networks for Real-time Audio and Video Devices

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110817

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4870819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250