JP2012514388A - マネージド・ネットワークでのレイヤ2のパケット集約及び断片化 - Google Patents

マネージド・ネットワークでのレイヤ2のパケット集約及び断片化 Download PDF

Info

Publication number
JP2012514388A
JP2012514388A JP2011543599A JP2011543599A JP2012514388A JP 2012514388 A JP2012514388 A JP 2012514388A JP 2011543599 A JP2011543599 A JP 2011543599A JP 2011543599 A JP2011543599 A JP 2011543599A JP 2012514388 A JP2012514388 A JP 2012514388A
Authority
JP
Japan
Prior art keywords
packet
descriptor
queue
control system
communication control
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
JP2011543599A
Other languages
English (en)
Other versions
JP5640234B2 (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.)
Entropic Communications LLC
Original Assignee
Entropic Communications LLC
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 Entropic Communications LLC filed Critical Entropic Communications LLC
Publication of JP2012514388A publication Critical patent/JP2012514388A/ja
Application granted granted Critical
Publication of JP5640234B2 publication Critical patent/JP5640234B2/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9026Single buffer per packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • 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

Landscapes

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

Abstract

第1のプロトコルに従って第1のネットワーク内部のノードからパケットを受信する方法及び装置である。各受信パケットと関連付けられた記述子は、受信パケットを格納する直接メモリアクセス(DMA)コントローラによって読み込まれる。制御可能パラメータの値は第2のプロトコルに従って動作する第2のネットワークを介して受信パケットの内容を効率的に通信するように選択される。受信パケットの中の情報は、その後、新たに形成されたパケットに編成され、各パケットのサイズは第2のプロトコルにおけるネットワークを介した通信のためパケットを効率的にする。新たに形成されたパケットは、送信ラインバッファに格納され、プロトコル記述子と関連付けられる。プロトコル記述子は、第2のプロトコルを効率的に利用するため、送信コントローラが送信ラインバッファからのパケットを選択し集約することを可能にするように情報を送信コントローラへ供給する。

Description

相互関連出願
本願は、2008年12月24日付けで出願され、名称が「Packet aggregation and fragmentation at layer−2 over a managed network」であり、参照によって本明細書中に組み込まれる米国特許本出願第12/343941号に基づく優先権を主張する。
発明の分野
開示された方法及び装置は、ネットワーク通信に関し、より詳細には、一部の実施形態は、ホーム・エンターテインメント・ネットワークにおけるパケットの効率的な通信に関する。
ホーム・エンターテインメント・コンポーネントがホーム・エンターテインメント・ネットワークを介して互いに通信することはより望ましくなっている。このような通信は、映画、音楽、インターネットコンテンツなどのようなエンターテインメント・コンテンツと、電話サービスとが、1台の特定のホーム・エンターテインメント機器に対して隔離されるのではなく、機器のネットワークによって取り扱われることを可能にする。
家庭内にホーム・エンターテインメント・ネットワークを確立するため採用されている1つの特定の規格は、MoCA(同軸ケーブル・マルチメディア協会)によって確立された業界標準である。このMoCA規格は、コンポーネント(「ノード」と呼ばれることもある)がノードを接続する媒体として同軸ケーブルを使用する高速ネットワークを介して互いに通信し、そして、コンテンツを共有することを可能にする。このネットワークは、「ネットワーク・コントローラ」(NC)の機能を実行するため選択されている1つのノードを用いて確立される。NC機能は、ネットワークのすべてのノードをリンクする単一同軸ケーブルを介した通信の編成及び調停を含む。媒体(即ち、同軸ケーブル)は共有されるので、MoCA規格は、NCがいつでも特定の時点で媒体を制御するノードを決定するための調停スキームを確立する。
本スキームによれば、NCは、媒体を介するすべての通信をスケジューリングする。このスケジュールは、いわゆる媒体アクセス・プラン(MAP)の中で、ネットワークのノードの1つずつに通信される。MAPは、定期的なスケジュールベースでNCによって送信される。各MAPは、MAPサイクルの先頭に置かれる。MAPは、どのノードが後に続くMAPサイクルの中で時間間隔毎に送信するかを示す。
図1は、Map 201、202とMapサイクル203、205との間のタイミング関係を図示するタイミングチャートである。Mapサイクル205は、以前に送信されたMAP 201の制御下でのチャンネル上の通信アクティビティとして定義される。従って、各MAP 201は、次のMAPサイクル205のためのすべての通信アクティビティをスケジューリングする(このような「次のMAPサイクル」205が1つだけ図1に示される)。なお、次のMAP 202は、以前のMAP 201のスケジューリング制御下で次のMAPサイクル205の間に送信される。従って、MAP 201は、次のMAPサイクル205で送信されるべきパケット毎に以下の情報、即ち、i)パケット開始時刻、ii)パケット長さ、iii)発信元ノード、及び、iv)単数または複数の宛先ノードを決定する。
MAP 201、202がスケジューリングに対する責任を担う1つの特定の型のパケットは、予約要求(RR)207、209、211である。6個のこのようなRRは、最初のRR 207で始まり、最後のRR 209で終わる図1の最初のMAPサイクル203に示されている。1個のRR 211が2番目のMAPサイクル205に示される。クライアントノードが送信を希望するパケットを有することを示すため、そして、クライアントノードがこれらのパケットを送信可能であるときに、後続のMAPサイクル中の時間をNCがスケジューリングすることを要求するために、RR 207、209、211がクライアントノードによって送信される。従って、クライアントノードが送信すべき情報を有するとき、クライアントノードは、クライアントノードがRR 207、209、211を送信することができる時間を割り当てるために、最初にNCを待ち受けることが必要である。クライアントノードがRR 207、209、211を送信可能である時間をNCが割り当てると、クライアントノードは、割り当てられた時間(例えば、RR 211のためMAP 201によって指示されたパケット開始時刻及びパケット長さの期間)にRR 207、209、211をNCに通信する。
RR 207、209は、クライアントノードが送信することを希望するデータパケットを有していることをクライアントノードがNCに通信することを可能にする。さらに、RR 207、209は、これらのデータパケットのための関連付けられた単数または複数の宛先ノード、パケット長さ、パケット優先度などを示す。高優先度をもつパケットは、低優先度をもつパケットより先にスケジューリングされる。NCは、クライアントノードが送信することを希望するこれらのデータパケットを送信できる時間をスケジューリングするためにこの情報を使用する。NCは、その後、次のMAPサイクル205のためのMAP 201を生成し送信することによりそのスケジュールを通信する。
クライアントノードからのRRが許可されると、クライアントノードは、NCによって割り当てられた時間に通信されるべきデータパケットを送信する。データパケットは、データパケットの最大長さと、データパケットのヘッダの内容と、前方誤り訂正符号のような何か他のオーバーヘッド情報とを指示する特定のフォーマットを有している。データパケットが長くなるほど、媒体はより効率的に使用される。即ち、データパケットにロードされるデータが多いほど、データ対オーバーヘッドの比率が大きくなる。効率が測定される期間がパケット長さに関して比較的長いと仮定すると、データ対オーバーヘッドの比率が高いほど、より多くのデータを所与の期間に媒体を介して通信できる(即ち、媒体効率がより高い)。
しかし、特定のクライアントノードが送信すべきデータは、異なる発信元アプリケーションから到来することがあり、異なるパケットサイズを有することがあり、異なる宛先を有することがあり、そして、異なる優先度が割り当てられていることがある。従って、異なる発信元アプリケーションから到来した異なるパケットをソートすることは、厄介であり、一般にネットワークの非効率性に拍車をかける可能性がある。その結果、異なる発信元アプリケーションからの情報を、定義済みのパケットオーバーヘッド及び最大パケットサイズを有するMoCAネットワークのようなネットワークを介して送信されるべきパケットに割り当てるために効率的かつ比較的簡単な方法の必要性がある。
本文書は、第1のネットワーク内のノードから、第1のプロトコルに従って編成されたパケットを受信する方法及び装置を開示する。各受信パケットと関連付けられた記述子は、受信パケットを格納する直接メモリアクセス(DMA)コントローラによって読み込まれた受信パケットに関する情報を含む。
制御可能なパラメータの値は選択される。制御可能なパラメータは、第2のプロトコルに従って動作する第2のネットワークを介して効率的に通信されるパケットのサイズを決定する。パラメータは、自動プロセスを使用するアプリケーションによって、又は、手動で選択することができる。いずれの場合でも、パラメータは、好ましくは、受信パケットのサイズ、及び、受信パケットの中で通信される情報の種類に基づいて選択される。受信パケットの中の情報は、その後、新たに形成されたパケットに編成され、これらのパケットのサイズは、第2のプロトコル内でのネットワークを介した通信のためこれらのパケットを効率的にする。制御可能なパラメータの値に依存して、新たに形成されたパケットのサイズは、受信パケットのサイズに一致すること、又は、受信パケットより大きいことがある。
新たに形成されたパケットは送信ラインバッファに格納され、初期的に同じサービス・パケットの中に存在していた新たに形成されたパケットのすべてがプロトコル記述子と関連付けられる。プロトコル記述子は、第2のプロトコルを効率的に使用するため、送信コントローラが送信ラインバッファからのパケットを選択し、集約することを可能にするように情報を送信コントローラに提供する。
1つ以上の様々な実施形態による開示された方法及び装置は、添付図面を参照して説明される。
MapとMapサイクルとの間のタイミング関係を図示するタイミングチャートである。 開示された方法及び装置を含むシステムのブロック図である。 開示された方法及び装置で使用される共有メモリの8個の領域の説明図である。 GEPHY受信バッファ・キューとGEPHY受信記述子キューとの間の関係の説明図である。 開示された方法及び装置の一実施形態による受信記述子のフォーマット及び内容の説明図である。
図面は、例示のためだけに提供され、開示された方法及び装置の一部の実施形態の実例を描写するに過ぎない。図面は、請求項に係る発明の広がり、範囲、又は、適用を限定するために考慮されるべきでない。なお、例示の明瞭さ及び容易さのため、これらの図面は必ずしも正しい縮尺ではない。
詳細な説明
ネットワーク内の通信を制御する方法及び装置が本明細書中に開示されている。以下の説明は、主として、MoCA規格に基づくホーム・エンターテインメント・ネットワークに言及する。しかし、開示された方法及び装置が媒体を効率的に使用することが望ましいいずれの通信ネットワークにおいても巧く使用されることは当業者によって十分に理解されるであろう。
図2は、開示された方法及び装置を含むシステムのブロック図である。MoCAネットワークの第1のノード102及び第2のノード104は、同軸ケーブル106(「媒体」)によって接続されている。各ノード102、104は、本質的に同一である。従って、1つのノード102だけが以下で詳細に説明される。開示された方法及び装置の一実施形態によれば、ノード102は、メモリからの命令を実行するギガバイト・イーサネット・物理レイヤ・コントローラ(GEPHY)108のような物理レイヤ・コントローラを含む。一実施形態では、GEPHYは、1ギガバイト/秒(Gb/s)、100メガバイト/秒(Mb/s)、10Mb/s、及び、他の速度のサポートを含む。ノード102は、外部ホストインタフェース110も含む。ノード102は、MoCA中央処理ユニット命令/データメモリ112(MoCA CPU I/Dメモリ)のようなネットワーク中央処理ユニット命令/データメモリと、MoCA CPU114のようなネットワークCPUと、MoCAポート116のようなネットワークポートと、共有メモリ118とをさらに含む。これらのコンポーネントのうちの1つずつは、システムバス120によって共に結合されている。
図2に示されるように、共有メモリは、4つのバッファ、即ち、(1)GEPHY受信バッファ134、(2)GEPHY送信バッファ135、(3)送信ラインバッファ150、及び、(4)受信ラインバッファ151に分割される。各バッファ134、135、150、151は、2つの部分、即ち、(1)記述子キュー、及び、(2)データ・バッファ・キューにさらに分割される。図3は、共有メモリ118の8個すべての領域(即ち、4つのバッファの1つずつにおける記述子及びキューの1つずつ)の説明図である。なお、同じバッファと関連付けられた記述子キュー及びデータ・バッファ・キューは、共有メモリ118において連続するようには示されてはいない。実際には、8つの領域のうちの1つずつは、図3では、ブロックとして示されているが、開示された方法及び装置の一実施形態では、各記述子キュー及びデータ・バッファ・キューのエントリは、連続して記憶されない。それどころか、エントリは、共有メモリ118の至る所に散乱し、互いにリンクされている。共有メモリ118の8つの領域は、
(1)GEPHY受信記述子キュー301と、
(2)GEPHY送信記述子キュー303と、
(3)送信ラインバッファ記述子305と、
(4)受信ラインバッファ記述子307と、
(5)GEPHY受信バッファ・キュー309と、
(6)GEPHY送信バッファ・キュー311と、
(7)受信ラインバッファ・エントリ・キュー313と、
(8)送信ラインバッファ・エントリ・キュー315と、
を含む。
共有メモリが開示された方法及び装置の目的を達成するために数多くの異なる方式で編成できることは当業者によって理解されるであろう。開示された方法及び装置の一実施形態によれば、共有メモリの中の各データ・バッファ・キュー及び記述子キュー内に格納された情報は、共有メモリの中のどの場所にでも置くことができ、ポインタがこの情報をアドレス指定するため使用することができる。しかし、開示された方法及び装置の記述の理解の伝達を支援するため1つの特定の構成が本明細書中に提示されている。
ノード102の動作の概要は、ノード102の各コンポーネントの詳細な機能のさらなる説明のための基礎を提供する。前述されたように、ノード102は、媒体106を介して別のノード104に結合されている。その上、ノード102は、GMII/MIIインターフェイス122のような外部ネットワークインターフェイスを介して、イーサネット・ネットワークのような外部ネットワークに結合されている。サービス・パケットは、外部ネットワークプロセッサ124からノード102内のGEPHYコントローラ108に通信される。外部ネットワークがイーサネット・ネットワークである場合、サービス・パケットはイーサネット・パケットであり、そして、外部ネットワークプロセッサ124は、GMII/MIIインターフェイス付きのネットワークプロセッサである。サービス・パケットは、マネージメントインターフェイス128を介して通信される制御情報と共に、データパス126を介して通信される。
サービス・パケットがネットワークプロセッサ124を介して発信元アプリケーションから受信されるとき、サービス・パケットは、最初に、共有メモリ118内のGEPHY受信バッファ・キュー309の中に格納される。サービス・パケットは、その後、送信ラインバッファ・エントリ・キュー(TLBEQ)315へ移される。TLBEQは、送信ラインバッファ記述子305によって定義される。一実施形態では、TLBEQ 315は、共有メモリ118の中にもある。サービス・パケットをTLBEQ 315へ移すことにより、サービス・パケットは、パケット・データ・ユニット(PDU)と称される所定のサイズのパケットに分割することができる。一実施形態では、PDUは、全て同じサイズである。PDUのサイズは選択的に固定される。本記述の目的で「選択的に固定される」とは、当該アプリケーションに対しノードが関与し、そして、固定され続ける特定のアプリケーションのため、PDUのサイズが選択できることを意味する。ノードが関与しているアプリケーションに適合するように選択することができる均一のサイズをPDUに与えることは、後述される詳説からより明確になるように、共有メモリの効率を最適化し、ノード102と104との間のネットワークを介したパケットの送信をより効率的にする。
サービス・パケットがPDUサイズと同じサイズであるとき(又は、より小さいとき)、サービス・パケット全体は、TLBEQ 315の1つのエントリ319の中に1つのPDUとして格納される。代替的に、サービス・パケットのサイズが1つのPDUより大きいとき、サービス・パケットが多数のPDUに分割され、各PDUがTLBEQ 315の中の1つのエントリ319に格納される。2つ以上のPDUの中に格納するためサービス・パケットを分割するプロセスは、断片化と呼ばれる。
各サービス・パケットは、1つのプロトコル記述子(PD)と関連付けられる。従って、サービス・パケットが多数のPDUに分割されている場合、1つのサービス・パケットから分割されたすべてのPDUのための1つのPDが存在する。どのようにサービス・パケットが分割され、TLBEQ 315に格納されるかに関する詳説は後述される。
PDUの優先度やPDUが送信されるべき宛先ノードのような共通特性を有する複数のPDUは、その後、送信パケットの中に集約され、MoCAネットワークを介して送信される。ノードが関与する各アプリケーションのためPDUのサイズを適切に選択することは、PDUが効率的に集約されることを可能にする。PDUを集約することは、ネットワークのノード間で送信される各パケットの中のペイロードのサイズを増大させる。ペイロードを大きくすることは、ノード102と104との間のネットワークの媒体アクセス制御(MAC)レイヤの効率を向上させることを意味する。ヘッダ(ペイロード以外の情報)のサイズは、MACパケットのペイロードのサイズと無関係に本質的に固定されるので、MAC効率は典型的に向上する。従って、比較的大きい送信パケットサイズを使用することによりMACレイヤ効率を最大化することが有利である。MoCAネットワークが送信ノード102と受信ノード104との間の通信のため使用される開示された方法及び装置の実施形態では、送信パケットはMoCAパケットである。ノード102、104がMoCAネットワークを介して通信する一実施形態では、集約されたパケットを受信することができる各ノードは、この能力をMoCAネットワーク・コーディネータへ通信しなければならない。ネットワーク・コーディネータは、各ノードの能力を他の各ノードに通信する。送信ノードは、集約されたパケットをこのような集約されたパケットを受信する能力を保有することを報告したノードに送信するだけである。
開示された方法及び装置の一実施形態では、アプリケーションが固定サービス・パケット・サイズを使用するとき、サービス・パケットのサイズは、PDUのサイズとして選択される。代替的に、サービス・パケット・サイズは他の値に選択することができる。様々なアプリケーションのため(即ち、様々な長さのサービス・パケットが取り扱われる必要があるとき)、PDUサイズを再定義できることが有利である。一旦作成されると、PDUは、その後、ノード102と104との間のMoCAネットワークのようなネットワークを介した送信のため最も効率的な長さを有する送信パケットを形成するために、集合体の中にひとまとめにグループ分けされる。データフローの詳細が次に示される。
基本データフロー
図2に示された送信ノード102から受信ノード104への基本データフローについて以下に説明する。データフローは、送信ノード102が外部発信元又はこの送信ノードのアプリケーションレイヤからサービス・パケットを受信する場合に関して説明される。なお、ノード102は「送信」ノード102と呼ばれているが、ノード102は、最初に、外部発信元又はこのノードのアプリケーションレイヤからサービス・パケットを受信しなければならない。次に説明される実施形態では、送信ノード102が受信するサービス・パケットは、イーサネット・パケットである。その上、開示された方法及び装置の一実施形態では、送信ノード102から受信ノード104へ通信するため使用されるネットワークは、MoCAネットワークである。しかし、任意の種類のサービス・パケットが送信ノードによって受信されてもよいことが当業者によって理解されるであろう。同様に、どのようなネットワークプロトコルが送信ノード102と受信ノード104との間の情報の通信のため使用されてもよい。
送信パス
図2に示された外部ネットワークプロセッサ124は、ギガバイト・イーサネット媒体アクセス制御レイヤ(GEMAC)機器130を含む。GEMAC130は、サービス・パケット(例えば、イーサネット・パケット)をGEPHYコントローラ108へ、GMII/MIIインターフェイス122を介して送信する。受信サービス・パケットは、共有メモリ118内部のGEPHY受信バッファ・キュー309の中に一時的に格納される。GEPHY受信バッファ・キュー309は、GEPHY受信記述子キュー301によって定義され、制御される。
サービス・パケットは、直接メモリアクセス(DMA)コントローラ132によってGEPHY受信バッファ・キュー309の中に入れられる。一実施形態では、GEPHYコントローラ108は、データ・インターフェイス制御(DIC)転送コントローラ(TC)140を含む。任意のサービス・パケットを受信する前に、DIC TC 140は、少なくとも1つの受信記述子136(図4を参照のこと)をGEPHY受信記述子キュー301にロードすることにより、GEPHY受信記述子キュー301を初期化する。直接メモリアクセス(DMA)コントローラ132は、DIC TC 140によってロードされた受信記述子を読み込む。DMAコントローラ132は、サービス・パケットをGEPHY受信バッファ・キュー309の中に格納するプロセスを制御するため受信記述子136の中の情報を使用する。
図2は、GEPHYコントローラ108に属するDMAコントローラ132及びDIC TC 140を示す。しかし、代替的な実施形態では、DMAコントローラ132、DIC TC 140、又は、これらの両方は、GEPHYコントローラ108から独立していることが当業者によって理解されるであろう。図3に図示されるように、GEPHY受信記述子キュー301及びGEPHY受信バッファ・キュー309は、共有メモリ118内部の連続する場所に位置しなくてもよい。
図4は、GEPHY受信バッファ・キュー309とGEPHY受信記述子キュー301との間の関係の説明図である。各サービス・パケット138は、GEPHY受信バッファ・キュー309の中のエントリ138に格納される。記述子キュー301は、DIC TC 140によってロードされた受信記述子136の組を含む。各受信記述子136は、GEPHY受信バッファ・キュー309のエントリ138のうち一意のエントリと関連付けられる。
図5は、開示された方法及び装置の一実施形態による受信記述子136のフォーマット及び内容を図示する。受信記述子136は、GEPHYコントローラ108の内部バッファからGEPHY受信バッファ134へのパケット転送を制御するために(そして逆もまた同様に)、DIC TC 140によって定義され設定される。DIC TC 140は、最初に、第1の状態にセットされたOWNビット503を用いて受信記述子を書き込む。各受信記述子136は、各ワードが32ビットを保有する4ワードを備える。1番目のワードの最初の31ビットは、将来の使用のため予約された「第1の予約」フィールド501である。
受信記述子136の中の1番目のワードの32番目のビットは、「OWN」ビット503である。OWNビット503が第1の状態にある場合、このOWNビットは、受信記述子136がDMAコントローラ132による使用のため利用可能であることを示す。DMAコントローラは、その後、新たに受信されたサービス・パケットを転送すべき場所を示すため、受信記述子136を使用することができる。DMAコントローラ132が受信記述子136を読み込み、GEPHY受信バッファ・キュー309の中の関連付けられたエントリ138にサービス・パケットを格納すると、DMAコントローラ132は、受信記述子136のOWNビット503を第2の状態にセットし、再利用のため受信記述子136をDIC TC 140へ戻す。従って、OWNビット503が第2の状態にあるとき、OWNビット503は、DMAコントローラ132が受信記述子136を使用し終えたことを示す。DIC TC 140は、その後、受信記述子136を再利用することができる。DIC TC 140は、ある種の所定の分類基準に従ってパケットイン136を分類し、GEPHY受信バッファ・キュー309からTLBEQ 315の中の仮想キューへサービス・パケット136を移す。
開示された方法及び装置の一実施形態では、オーバーフロー条件は、OWNビット503が第1の状態にある受信記述子136が存在しないときに発生する。開示された方法及び装置の一実施形態では、GEPHYコントローラ108は、高閾値を有する受信バッファ(図示せず)を含む。高閾値は、フロー制御フレーム(例えば、ポーズフレーム)の生成がトリガされる前に、コントローラの受信バッファに格納されることが可能である受信フレームの最大数である。ポーズフレームは、コントローラの受信バッファの中に十分な余裕が存在するまでサービス・パケットがこれ以上送信されないことを確実にするために送信される。同様に、低閾値(ポーズフレームが解除される点)が存在する。一実施形態では、高閾値は、ノード102、104によって実行されている特定の機能(即ち、オーバーフロー条件が発生しないことがどれだけ重要であるか、及び、オーバーフロー条件発生と、ポーズフレームを不必要に生成させるという結果をもたらす非効率性との間のトレードオフ)に依存してソフトウェアによって設定できる値である。
受信記述子136の中の2番目のワードのうちの最初の11ビットは、バッファサイズ・フィールド505を備える(図5を参照のこと)。バッファサイズ・フィールド505は、「バッファ・アドレス」・フィールド511によって指示されたアドレスでGEPHY受信バッファ・キュー309のエントリ138(即ち、受信記述子136と関連付けられたGEPHY受信バッファ・キュー309の中のエントリ)に受信サービス・パケットを格納するため利用できるスペースの大きさを示す。2番目のワードのうちの次の11ビットは、「第2の予約」フィールド507である。受信記述子136の2番目のワードのうちの最後の10ビットは、「第3の予約」フィールド509である。
3番目のワード全体は、バッファ・アドレス・フィールド511である。バッファ・アドレス・フィールド511は、受信記述子136と関連付けられたGEPHY受信バッファ・キュー309の中のエントリ138のアドレスを指示する。バッファ・アドレス・フィールド511は、受信記述子136をGEPHY受信バッファ・キュー309の中の特定のエントリ138と関連付けるフィールドである。
最後に、4番目及び最後のワードの全体は、「ネクスト記述子アドレス」・フィールド513である。ネクスト記述子アドレス・フィールド513は、次の受信記述子136が開始するアドレスを指示する。ネクスト記述子アドレス・フィールド513の使用は、受信記述子136が順番通りでなく、かつ、GEPHY受信記述子キュー301内部の離散的な場所に格納されることを可能にする。開示された方法及び装置の一実施形態では、GEPHY受信バッファ・キュー309は循環キューである。従って、最後の受信記述子の中のネクスト記述子アドレス・フィールド513は、戻って最初の受信記述子を指示する。一実施形態では、GEPHY受信バッファ・キュー309の中には4個のエントリが存在する。GEPHY受信バッファ・キュー309の中のエントリ138とGEPHY受信記述子キュー301の中の受信記述子136との間には1対1の関係があるので、GEPHY受信記述子キュー301の中に同様に4個の受信記述子136が存在する(図4を参照のこと)。
バッファサイズ・フィールド505は11ビットを保有する。よって、サービス・パケットは、長さが最大で2048(即ち、2の11乗)バイトになる。なお、このアプリケーションでは、各サービス・パケットは、GEPHY受信バッファ・キュー309の中に1つのエントリ138だけを必要とする。従って、各サービス・パケット138と関連付けられた1つの受信記述子136だけが存在する。サービス・パケットがGEPHYコントローラ108によって受信され、GEPHY受信バッファ・キュー309内に格納されたとき、対応する受信記述子136の内部のOWNビット503は第2の状態にセットされる。
前述の通り、DMAコントローラ132は、受信記述子136を通じて制御される。即ち、DMAコントローラ132は、受信記述子136からOWNビット503及びバッファ・アドレス・フィールド511を読み込む。DMAコントローラ132は、OWNビット503及びバッファ・アドレス・フィールド511に基づいて、着信サービス・パケットのそれぞれを格納すべき場所を決定する。OWNビット503が第1の状態にある場合、受信記述子136は、DMAコントローラ132による使用のため利用可能である。OWNビット503が第2の状態にある場合、受信記述子136はDMAコントローラ132が利用できない。DMAコントローラ132は、受信記述子136が再び利用可能になること(即ち、OWNビット503が第1の状態になること)を待つ必要がある。サービス・パケット138は、この受信記述子136のバッファ・アドレス・フィールド511によって指示された場所に格納される。なお、1つの受信記述子136がDMAコントローラによって使用されると、DMAコントローラは、次のパケットのために次の受信記述子136を使用する(GEPHY受信記述子キューは循環式に機能する)。
OWNビット503を読み込むDMAコントローラ132の他に、DIC TC 140は、OWNビット503が第2の状態にある受信記述子を見つけるため、各受信記述子136からOWNビット503を読み込む。DIC TC 140が第2の状態にセットされたOWNビット503をもつ受信記述子136を見つけたとき、DIC TC 140は、TLBEQ 315の中で、サービス・パケットの1番目のPDUを格納すべき空きエントリを探す。PDUがサービス・パケットと同じサイズである場合、1番目のPDUはサービス・パケット全体である。従って、サービス・パケット全体がTLBEQ 315の中の1つのエントリ319に格納される。しかし、PDUがサービス・パケットより小さい場合、DIC TC 140は、サービス・パケットを断片化する。PDUと等しいサイズを有するサービス・パケットの第1の部分は、サービス・パケットのうちの第1のPDUを形成する。サービス・パケットのうちの第1のPDUは、TLBEQ 315の中の次に利用可能なエントリ319に格納される。
DIC TC 140は、共有メモリ118の中の送信ラインバッファ記述子305に格納された「状態情報」フィールドを読み込むことにより、TLBEQ 315の中で、第1のPDUが格納されるエントリ319を決定する。1つのこのような状態情報フィールドは、TLBEQ 315の中のエントリ319毎に(即ち、格納されたPDU毎に)送信ラインバッファ記述子305の中に維持される。送信ラインバッファ記述子305は、以下のフォーマットを保有する。
Figure 2012514388
NがTLBEQ 315の中のエントリ319の個数である場合、送信ラインバッファ記述子305は、0x24+4(N−1)個のワードを含む。送信ラインバッファ記述子305の中の各ワードは、8ビット幅である。送信ラインバッファ記述子305の中の状態情報フィールドは、オフセット0x24で始まる4個のこのようなワードに格納される。従って、NがTLBEQ 315の中のエントリ319の個数である場合、TLBEQ 315の中の各エントリ319の状態情報フィールドは、オフセットアドレス0x24+(N−1)*4に格納された4個のワードによって維持される。TLBEQ 315内の4番目のエントリに対し、状態情報フィールドの(送信ラインバッファ記述子305内部のベースアドレスからの)オフセットは、0x24+12である。状態情報フィールドの中の1番目のワードの1番目のビットは、関連付けられたエントリ319の状態情報フィールド(即ち、エントリが書き込みプロセスによって所有されるか、又は、読み込みプロセスによって所有されるか)を示す。状態情報フィールドの1番目のワードの他の7ビットは、将来の使用のため予約済みである。
状態情報フィールドの2番目及び3番目のワード(即ち、ビット8〜23)は、ネクストPDUポインタ327である(図3を参照のこと)。ネクストPDUポインタ327は、状態情報フィールドが割り当てられたこのPDUと同じサービス・パケットの一部分である次のPDUの場所を与える。即ち、同じサービス・パケットの一部分であった各PDUは、送信ラインバッファ記述子305の状態情報フィールドの中のネクストPDUポインタ327によってリンクされる。
表1は、送信ラインバッファ記述子305の中のフィールドのうちの1つがTLBEQ 315のベースアドレスを指示することを表す。別のフィールドは、PDUのサイズを指示する(なお、開示された方法及び装置の一実施形態では、すべてのPDUが同じサイズである)。開示された方法及び装置の一実施形態によれば、送信ラインバッファ記述子305の中の各エントリは順次に格納される。
DIC TC 140は、各エントリ319に関連付けられた状態情報フィールドを、関連付けられたエントリ319が書き込みプロセスによって所有されること(即ち、DIC TC 140がこのエントリ319を所有すること)を示す状態に対する状態情報フィールドを見つけるまで読み取る。DIC TC 140は、その後、サービス・パケットの1番目のPDUをエントリ319に書き込む。DIC TC 140は、次に、エントリ319をMoCAポート制御TC 133に渡す。TLBEQ 315にコピーされたサービス・パケット毎に、DIC TC 140は、関連付けられたPD 321を生成する(図3を参照のこと)。PD 321は、以下のフォーマットを有する。
Figure 2012514388
PD 321は、このPD 321と関連付けられたサービス・パケットの1番目のPDUを指示するインデックス(図3に示されたPDU0ポインタ328)を収容する。同じサービス・パケットのその他のPDUは、送信ラインバッファ記述子305の中の各エントリ319の状態情報フィールド内部の「ネクストPDU」ポインタ327によって一緒に連結される(オフセット0x24のビット8−23、表1を参照のこと)。ネクストPDUポインタ327は、同じサービス・パケットの次のPDUを保持するエントリを指示する。このように、同じサービス・パケットに由来するPDUのすべては、一緒につなぎ合わされる。列の中の最後のPDUを保持するエントリ319の状態情報フィールドは、FFFにセットされたネクストPDUを有する。
プロトコル記述子321は、MoCA CPU I/Dメモリ112に位置するプロトコル記述子キュー323に格納される。開示された方法及び装置の一実施形態によれば、プロトコル・記述子キュー323は、32個のPDを保持することが可能である。プロトコル記述子キュー323は、MoCA CPU 114によって定期的に読み込まれる。MoCA CPU 114は、ノード102と104との間のMoCAネットワークを介して予約要求を生成するため、プロトコル記述子321を使用する。予約要求が許可されたとき、MoCA CPU114は、送信されるべきMoCAパケット毎にMoCA記述子を生成する。予定に入れられた送信時刻に、MoCAポート制御TC 133は、TLBEQ 315から同時に1つのPDUを読み出す。PDUがTLBEQ 315から読み出されると、MoCAポート制御TC 133は、PDUが読み出されたTLBEQエントリ319のオーナーシップを、PD内のSW_OWNERSHIPビット(図2を参照のこと)をリセットすることにより、DIC TC 140へ戻す。
MoCA CPU 114は、MoCAネットワークを介して受信ノード104へ送信するため現在利用可能であるパケットが存在することを示すPDの個数(即ち、値1にセットされたSW_OWNERSHIPビットを有するPDの個数)を調べるためにプロトコル記述子キュー323をチェックする。MoCA CPU 114は、同じパケット集約属性(即ち、宛先ノード及び優先度)を共有するできるだけ多数の現在利用可能なPDを最大MoCAパケットサイズ(8kバイト)にできる限り近いサイズを有する単一のMoCAパケットにグループ分けする。MoCA CPU 114は、MoCAパケット毎に1個のMoCA予約要求を作成する。予約要求が許可されると、数個のMoCAパケット(1つずつが1つのこのような予約要求と関連付けられる)が送信可能である。予約要求が許可されたとき、送信ノード102は、MoCAネットワークを介して受信ノード104へMoCAパケットを通信する機会が与えられる。
ノード102、104がMoCAを使用して通信する実施形態によれば、使用される2つのMoCAパケットフォーマットが存在する。2つのうちのどちらが選択されるかは、2つ以上のサービス・パケットからのPDUがMoCAパケットに集約されるかどうかに依存する。開示された方法及び装置の一実施形態によれば、2つ以上のサービス・パケットからPDUを集約するため、受信及び送信の両方のノード102、104は、集約されたパケットを取り扱う能力をもつことが必要である。しかし、送信及び受信の両方のノード102、104が集約を取り扱う能力をもつ場合でも、他の理由により2つ以上のサービス・パケットからのPDUが送信ノード102から受信ノード104へ送信されるMoCAパケットの中に集約されないことがある。
第1のMoCAパケットフォーマットは、2つ以上のサービス・パケットからのPDUが集約されない場合に使用される。この場合、唯一のサービス・パケットのPDUが集約ヘッダを必要とすることなく連結される。
従って、このフォーマットは次の通りである。
Figure 2012514388
表3に示された事例では、元のサービス・パケットは、2つのPDUに分割されることが要求される長さを有するが、両方のPDUは、同じMoCAパケットの中でMoCAネットワークを介して送信される。なお、この事例に関して、受信サービス・パケットをPDUに分割する唯一の理由は、異なったサービス・パケットからのパケットが集約されなければならない事例との整合性である。即ち、サービス・パケットが処理されているときに、サービス・パケットの内容が別のサービス・パケットからのPDUと共に集約されるかどうかは分からないので、サービス・パケットは、PDUに分割される。
第2のMoCAパケットフォーマットによれば、集約ヘッダは、MoCAパケットの中に収容されたサービス・パケットを記述する。1つのMoCAパケットは、2つ以上のサービス・パケットからのPDUを収容し得る。
Figure 2012514388
表4に示されるように、第2のMoCAパケットフォーマットは、MoCAヘッダを含む。表5は、MoCAヘッダのためのフォーマットを示す。
Figure 2012514388
MoCAヘッダは10個のサブフィールドを有する。表5に示されたMoCAヘッダ内の1番目のサブフィールドは、システム時刻を提供する32ビット送信クロックサブフィールドである。ヘッダ内の2番目のサブフィールドは、パケットタイプ(即ち、第1のタイプ又は第2のタイプ)を示す。ヘッダ内の3番目のサブフィールドは、将来の使用のため予約済みである。4番目のサブフィールドは、使用されているMoCA MACレイヤのバージョンを示す。5番目のサブフィールドは、このMoCAパケット内のサービス・パケットが発せられた発信元ノードを示す。なお、一実施形態では、2つ以上の発信元ノードから発せられたサービス・パケットが存在する。6番目のサブフィールドは、MoCAパケット内の各サービス・パケットが送信されている宛先ノードである。なお、MoCAパケットの中のサービス・パケットのすべては、同じ宛先ノードを有する。しかし、MoCAパケット内のサービス・パケットのすべてがブロードキャストされるべき場合、宛先は、ネットワーク内の他のノードのすべてである可能性もある。
表5に見られるように、7番目のサブフィールドは、ヘッダと、すべての他の内容及びオーバーヘッドとを含むMoCAパケットの長さを示す。8番目のサブフィールドは、24ビットの予約済みビットを備える。9番目のサブフィールドは、集約−断片化制御サブフィールドと呼ばれ、4ビットを含む。集約−断片化制御サブフィールドの1番目のビットは、集約ヘッダがこのMoCAパケットの中に存在するかどうかを示す。2番目のビットは、シーケンス番号が含まれるかどうかを示す。シーケンス番号は、この特定のMoCAパケットがこのシーケンスのうちの他のパケットに関してシーケンスの数個のパケットの中でいずれのパケットであるかを示すため使用される。集約−断片化制御サブフィールドの3番目のビットは、集約ヘッダチェックサムが使用されているかどうかを示す。集約−断片化制御サブフィールドの4番目及び最後のビットは、フレーム・チェック・シーケンスがMoCAパケットの中で使用されているかどうかを示す。MoCAヘッダ内の10番目及び最後のサブフィールドは、前方誤り訂正のため使用されるヘッダ・チェック・シーケンスである。
MoCAパケットの2番目のフィールドは集約ヘッダである。一般に、集約ヘッダは、このMoCAパケットの中でどのサービス・パケットが後に続くべきかを示す。表6は、集約ヘッダのフォーマットを示す。
Figure 2012514388
集約ヘッダは可変長を有する。長さは、集約されるべきサービス・パケットの個数に依存する。開示された方法及び装置の一実施形態では、各サブフィールドは長さ16ビットを有する。集約ヘッダのビット単位の長さは、3とMoCAパケット内に集約されたサービス・パケットの個数との合計の16倍である。従って、8個のサービス・パケットがMoCAパケットの中に集約されている場合、集約ヘッダは長さ16*(3+8)=176ビットを有する。
集約ヘッダの1番目のサブフィールドは、シーケンス番号である。シーケンス番号は、このMoCAパケットが、送信されるべき複数のMoCAパケットのシーケンスの内部で占める相対位置を示すために使用される。集約ヘッダの2番目のフィールドは、このMoCAパケットの中に集約されるべきサービス・パケットの個数を表現するサービス・パケット・カウントである。後に続くN個のサブフィールドのうちの1つずつは、集約されているサービス・パケットのうちの1つずつのサイズ(バイト単位)を示すサービス・パケット・サイズである。最後のサブフィールドは、集約ヘッダ全体のチェックサムである。
開示された方法及び装置の一実施形態によれば、ノード許可フェーズ中に、そして、リンク・レイヤ・メッセージングのため、タイプIフォーマットだけが使用される。
MoCA CPU 114は、プロトコル記述子キュー323からPDを読み込むことにより、各MoCAパケットの中で集約されるサービス・パケット(即ち、PDU)を選択する。プロトコル記述子キュー323の中の各PDは、集約ID 325と関連付けられる。開示された方法及び装置の一実施形態では、集約ID 325は、宛先ノードを示すため使用される値(即ち、PDと関連付けられているサービス・パケットが送信されるべきノード)をサービス・パケットの優先度を示すため使用される値と連結することにより形成される。優先度は、優先順位付け及び/又はパラメータ化されたサービス品質(PQoS)を採用するMoCAネットワークにおいて周知の概念である。サービス・パケットと関連付けられている優先度が存在しない実施形態では、宛先単独で集約IDを決定する。集約IDが他のアプリケーションのための他の方式で形成できることは、当業者によって理解されるであろう。即ち、PDと関連付けられたサービス・パケットの他の特性は、1つのMoCAパケットの中で一緒に集約すべきサービス・パケット、又は、各サービス・パケットのPDUを決定するため使用できる。
MoCA CPU 114は、MoCAネットワークに置く準備ができているPDの個数と、これらのPDと関連付けられたPDUがすべて1つのMoCAパケットに収まるかどうかと、各PDが同じ集約IDを有するかどうかとをチェックする。準備が完了し、1つのMoCAパケットの中に収まり、そして、同じ集約IDを有するPDの全部は、1つのMoCAパケットの中に集約される。目的は、MoCAネットワークの効率を向上させるためにMoCAパケットをできる限り大きくすることである。しかし、MoCAネットワークの効率を単に向上させるだけでなく、本方法及び装置の他の利点がおそらく存在することは、当業者に理解されるであろう。
一実施形態によれば、ノード102にMoCAサイクルの範囲内で予約要求の機会が与えられるとき、予約要求が同じ集約IDを有するパケットのグループに対して行われるが、十分なPDUが存在し、その結果、集約されたパケット長が所定のバイト数(例えば、4kバイト)より長いときに限られる。そうでなければ、現在の予約要求は通過させられ、次の予約要求の機会が来るまで、MoCAパケットは送信されない。一実施形態によれば、タイマは、所定の時間後にタイムアウトし、送信機は、このタイムアウト後に送信するため利用できるPDUの予約要求を行う。
同じ集約IDを有するサービス・パケットが到着する順番は、サービス・パケットと関連付けられたPDがプロトコル記述キュー323に書き込まれる順番によって定義される。同じ集約IDをもつPDは、リンクドPDリストによって一緒にリンクされる。このリンケージは、少なくとも2つの異なる方法のうちの一方によって作成することができる。
リンクドPDリストを生成する第1の方法は、DIC TC 140が新たに受信されたサービス・パケット毎にPDを作成したとき、固有の集約ID毎に1つのリンクドPDリストを作成することである。図3のプロトコル記述子キュー323は、リンクドPDリストがどのように取り扱えるかについての一実施例の説明図である。本実施形態によれば、DIC TC 140は、集約ID325及びネクストPDポインタ327をプロトコル記述子キュー323に格納することによりリンクドPDリストを最初に作成する。最初に、ネクストPDポインタ327は、デフォルト値のままにされ、同じ集約IDをもつ後続のサービス・パケットが受信されないことを示す。開示された方法及び装置の本実施形態によれば、DIC TC 140は、各リンクドPDリストのための「リード」ポインタ及び「プリービアスPD」ポインタを維持する。
リードポインタは、リンクドPDリストの先頭を指示する。従って、各リンクドPDリストは、このリストと関連付けられた1個のリードポインタを有する。MoCA CPU 114がMoCAパケットを形成すべき時、リードポインタは、DIC TC 140がリストのヘッドを見つけることを可能にする。このようにして、リードポインタをMoCA CPU 114に伝達することにより、MoCA CPU 114は、予約要求を行うため、相対的な時間の順番に同じ集約IDをもつすべてのPDを読み出すことが可能である。ネクストPDポインタは、リンクドPDリスト内の各エントリを次のエントリに接続する。
従って、1番目のサービス・パケットが受信されたとき、集約ID値を集約ID 325にロードするのに加えて、DIC TC 140は、この1番目のPDの場所をリードポインタとプリービアスPDポインタの両方に保存する。新しいサービス・パケットが同じ集約IDを用いて受信されたとき、このサービス・パケットのためのPDは、集約ID 325を含む。ネクストIDポインタ327は、最初に、このネクストIDポインタが直前に受信されたサービス・パケットと関連付けられたことを示すデフォルト値を有する。しかし、DIC TC 140は、リンクドPDリストの最後のPD(この場合、リンクドPDリストの中の1番目のPD)の位置を識別するためプリービアスPDポインタを使用する。DIC TC 140は、その後、この直前に受信されたサービス・パケットと関連付けられたPDの値を用いてプリービアスPDポインタによって示されたPDのネクストPDポインタ327を更新する。その上、DIC TC 140は、新しいPDの値を用いてDIC TC 140によって保持されるプリービアスPDポインタを更新するので、次のサービス・パケットが到着したとき、DIC TC 140は、リンクドPDリストの最後を見つけることができる。
このように、新しいサービス・パケットが受信され、PDがこのサービス・パケットのため生成されるたびに、リンクドPDリストは、この新しいPDを組み入れるように更新される。この方法では、サービス・パケットが受信された相対的な順番と、関連付けられた各PDの位置とがリンクドPDリストによって保持されるので、DIC TC 140は、プロトコル記述キュー323の空いている場所に新しいPDを書き込む。
リンクドPDリストを生成する第2の方法は、DIC TC 140が最初のエントリ(エントリ番号0)から最後のエントリ(エントリM−1)まで順番に新しいPDをプロトコル記述キュー323に追加する。本実施形態では、プロトコル記述キュー323は循環式である。即ち、プロトコル記述キュー323の中の最後のエントリ(エントリM−1)は、元の最初のエントリ(エントリ0)を指示する。従って、各PDと関連付けられた各サービス・パケットが受信された相対的な順番がプロトコル記述キュー323の中に保持される。MoCA CPU 114は、MoCA MAPサイクルの範囲内で時々にプロトコル記述キュー323からこれらのPDを読み出す。MoCA CPU 114は、これらのPDを適切なリンクドPDリストの中にソートし、予約要求を生成するため使用されるべきMoCA CPU I/Dメモリ112にこれらのPDを格納する。PDがMoCA CPU 114によって読み込まれると、プロトコル記述キュー323の中のこのエントリは、元のDIC TC 140に開放されるので、次のPDを格納することができる。
なお、送信ラインバッファ・エントリ・キュー315全体がすべてのPDUで利用できる場合、問題が起こる可能性がある。この問題は、各サービス・パケットが最低優先度を有するサービス・パケットの大型ブロックがGEPHYコントローラ108によって受信された場合に生じる。受信サービス・パケットの1つずつは、必要に応じて断片化され、サービス・パケットから形成されたPDUは、前述されたように、送信ラインバッファ・エントリ・キュー315の中に格納される。これらの低優先度PDUは、送信ラインバッファ・エントリ・キュー315全体を占有する可能性がある。従って、低優先度PDUの一部が送信ラインバッファ・エントリ・キュー315から追い出されるまで、より優先度の高いサービス・パケットは、GEPHY受信バッファ・キュー309から受信することができない。このような低優先度サービス・パケットがより優先度の高いサービス・パケットが受信されることを妨げるのは望ましくない。さらに、より優先度の高いサービス・パケットの定常ストリームが、MoCAネットワークを介してMoCAパケットを送信することができるレートと等しいレートでMoCAノードの中に入る場合、多数のこれらの低優先度サービス・パケットは、非常に長期間に亘って、送信ラインバッファ・エントリ・キュー315の中に「捕捉」される可能性がある(即ち、他のノード上のより優先度の高いパケットがネットワーク帯域幅の大半を使用しており、そして、検討中のノードの中のより優先度の高いパケットが同じノードの中のより優先度の低いパケットによって妨げられている)。送信ラインバッファ・エントリ・キュー315がより優先度の低いサービス・パケットを追い出し始めるときは、新しい優先度の高いサービス・パケットが着信するレートが、MoCAパケットが送信ラインバッファ・エントリ・キュー315から生成され、MoCAネットワークを介して送信されるレートよりも低いときに限られる。
このことを回避するため、仮想キューの概念が使用される。各集約ID 325は、仮想キュー329と関連付けられる(図3を参照のこと)。各仮想キュー329は、設定可能な最大サイズを有する。各仮想キュー329は、仮想キュー329が満杯状態であるときに実行すべきことを定義する設定可能な属性をさらに有する。この属性は、パケットが入ることを許可しないか、若しくは、パケットが入ることを許可するが、パケットを飛ばすようにMII/GMIIフロー制御(ポーズフレーム)をトリガするため、又は、仮想キュー329が満杯状態である限り、パケットに既存のパケットを上書きさせるためセットすることが可能である。
各サービス・パケットは、仮想キュー329のうちの1つを通過しなければならないので、仮想キュー329のサイズは、この仮想キュー329のための最大実現可能送信スループット(即ち、この仮想キュー329と関連付けられた集約IDを有するこれらのサービス・パケットのためのスループット)を決定する。従って、このスループットを最適化するため、各仮想キューをできる限り大きくすることが望ましい。これに反して、低優先度集約IDと関連付けられた低優先度パケットは、長期間に亘って仮想キュー329の中に留まる。これは、仮想キュー329が格納される共有メモリの効率を低下させる。従って、メモリを低優先度仮想キューに過剰に割り当てないことが望ましい。高優先度パケットが比較的少ないときに、着信する高優先度パケットを詰まらせることなく、送信ラインバッファ・エントリ・キュー315の効率を最大にし、そして、低優先度パケットのための最大可能なスループットを実現するための1つの方式は、各仮想キュー329の最大サイズのための最適値を選ぶことである。最適値は、ノード自体及びネットワークの両方のトラフィックプロファイルの関数である。開示された方法及び装置の一実施形態では、トラフィックプロファイルが変化するとき、仮想キュー329は動的にサイズ変更されることがある。
開示された方法及び装置の一実施形態によれば、仮想キューの動的サイズ変更は、通常動作中にアプリケーションソフトウェアによってオン・ザ・フライ(本質的にリアルタイム)で実行される。1つのこのような実施形態では、アプリケーションソフトウェアは、外部ネットワークプロセッサ124の中にある(図2を参照のこと)。別の実施形態では、アプリケーションソフトウェアは、MoCA CPU 114の中にある。動的サイズ変更は、フロー(即ち、サービス・パケットのストリーム)を追加又は削除するために、様々な仮想キュー329の相対的な最大スループット限界を再均衡化するため必要とされることがある。1つのこのような実施形態では、アプリケーション・ドライバは、各仮想キュー329のサイズを直接的に修正する。各仮想キュー329のサイズは、共有メモリ118の中のメモリ・ロケーションに格納される。代替的に、各仮想キュー329のサイズは、MoCA CPU I/Dメモリ112に格納される。いずれの場合も、サイズは、外部ネットワークプロセッサ124、DIC TC 140、及び、MoCA CPU 114で利用可能である。仮想キュー329がサイズを削減されるとき、仮想キュー329の中に現在あるPDUの個数は、新しいサイズの仮想キュー329が収容する個数を上回ることがある。しかし、開示された方法及び装置の一実施形態によれば、PDUが飛ばされることはない。一実施形態によれば、新しいサイズの仮想キュー329は、新たに到着するパケットだけのため効果を奏する。仮想キュー329のサイズの変更後に到着する新しいパケットは、仮想キュー329のためセットされた設定に依存して、GMII/MII(Xoff状態)によって阻止されるか、又は、飛ばされる。
各集約IDは、1つのMoCAパケットに集約させることができるパケットを識別する。開示された方法及び装置の一実施形態では、集約IDは、同じ宛先に送信されるべき同じ優先度レベルをもつすべてのパケットのグループと関連付けられる。N個の宛先ノード及びP個の優先度レベルをサポートするため、N×P個の仮想キュー329が必要である。例えば、N=15かつP=4である場合、60個の仮想キュー329が必要とされる。共有メモリが制限されている場合、各ラインバッファは非常に小さい。比較的小さい仮想キューは、パケット集約を行うことができる程度を制限する。なぜならば、単一のMoCAパケットに集約されるべきパケットは、同じ仮想キュー329の中に属する必要があるからである。良好なパケット集約を実現するため、各仮想キューは、十分な個数のPDUを保持するために十分に大きくする必要がある。開示された方法及び装置の一実施形態では、実施されている特定のアプリケーションについての知識は、各仮想キューのサイズを定義し、そして、各集約IDを定義するのに役立てるため使用することが可能である。一実施例では、1つの優先度レベルだけが考慮される(同じ宛先へ向けられたパケットのすべてをそれぞれの優先度と無関係に1つのMoCAパケットの中に集約する)。別の実施例では、宛先ノードの個数は限定される。当業者は、仮想キュー329を効率的に使用するいくつかの他のこのような方式を特定することができるだろう。
開示された方法及び装置の一実施形態によれば、すべての仮想キュー329のサイズの和は、送信ラインバッファ・エントリ・キュー315の合計サイズに等しい。開示された方法及び装置の代替的な実施形態では、すべての仮想キュー329のサイズの和は、送信ラインバッファ・エントリ・キュー315の合計サイズより大きい。これは、トラフィックの動的な性質(即ち、トラフィックのレートと各優先度のサービス・パケットの個数のいずれも一定ではないという事実)を受け入れる。開示された方法及び装置の一実施形態によれば、仮想キュー329のうちのいずれか1つは、この仮想キューが満杯状態であるとき、フロー制御をトリガするようにプログラムすることができる。別の実施形態によれば、仮想キュー329のいずれかの一部分は、この一部分のうちの一部又はこの一部分のうちの全部が満杯状態であるとき、フロー制御をトリガするためプログラムすることができる。代替的に、送信ラインバッファ・エントリ・キュー315が満杯状態であるとき、MII/GMIIフロー制御がトリガされる。
開示された方法及び装置の1つの代替的な実施形態によれば、サービス・パケットがイーサネットを介してノード102へ送信される前に、外部イーサネット・ドライバは、サービス・パケットをバッファする。サービス・パケットは、集約され、時系列に入れることができるパケットのグループへ直接的に成形される。パケットは、その後、ノード102によって、直接的にMoCAパケットの中に集約することができるクラスタに受信される。各クラスタは、同じ宛先及び同じ優先度のためのパケットを収容することがある。代替的に、パケットは、他の集約基準を使用してクラスタ化される。クラスタは、たった1つだけのパケット(集約無し)を収容することがあり、又は、数個のパケットを収容することがある。開示された方法及び装置の実施形態によれば、送信されるべきすべてのMoCAパケットに対し1つだけの送信キューが存在する。循環式送信ラインバッファ・エントリ・キュー315は、逐次方式で動作する。MoCA CPU 114は、送信ラインバッファ・エントリ・キュー315で利用できるパケットの1つ以上のクラスタのための予約要求を行う。集約メカニズムの効率は、外部ホストにおけるトラフィック成形の関数である。
受信パス
今度は別のノード104から集約パケットを受信するため使用される方法及び装置を参照すると、プロセスは、MoCAネットワークを介してノード102によってMoCAパケットが受信されることから始まる。送信パスについての前述の説明の場合と同様に、ノード102と104との間でネットワークを実施するため使用されるプロトコルは、パケットがノード102と104との間で通信されることを可能にするどのようなプロトコルでもよい。しかし、特定の実施形態を実証するために、MoCAネットワーク及びプロトコルが本明細書中で説明される。
ノード104からノード102によって受信されたMoCAパケットは、最初に、MoCAポート制御TC 133によって受信される。MoCAポート制御TC 133は、共有メモリ118に位置している受信ラインバッファ・エントリ・キュー313の1つ以上のエントリへパケットを転送するようにDMAをプログラムする(図2及び3を参照のこと)。開示された方法及び装置の一実施形態では、受信ラインバッファ・エントリ・キュー313の各エントリは、少なくとも1つの最大MoCAパケットを保持するために十分なパケット・データ・スペースを有しキュー313は設定可能な個数のエントリを収容する。
MoCAポート制御TC 133は、情報を受信ラインバッファ記述子307の中にロードすることによりDMAをプログラムする。受信ラインバッファ記述子307は、受信ラインバッファ・エントリ・キュー313内の関連付けられたエントリが新たに受信されたMoCAパケットを受け入れるため利用可能であるかどうかを示すオーナーフラグを含む。これらのエントリは、その後、オーナーフラグの状態を変更することにより、GEPHYコントローラ108内部のDIC TC 140へ渡される。
DIC TC 140は、最初に、MoCAパケットヘッダ及び集約ヘッダを調べる。DIC TC 140は、GEPHY送信記述子キュー303の中のGEPHY送信記述子の内部のOWNビットをさらに調べる。OWNビットは、GEPHY送信バッファ・キュー311内部の次のGEPHY送信バッファ・エントリがサービス・パケットを受け入れるため利用可能であるかどうかを示す。DIC TC 140は、(MoCAパケットの中の)受信サービス・パケット毎の1つの利用可能なGEPHY送信記述子にこのサービス・パケットを記述する情報をロードする。DIC TC 140は、MoCAパケット内部に受信された集約ヘッダを読み込むことにより受信されたサービス・パケットの個数を決定する。開示された方法及び装置の一実施形態によれば、GEPHY送信記述子キュー303は、2つのGEPHY送信記述子を保持するために十分なスペースを有している。従って、GEPHY送信バッファ・キュー311は、2つの出て行くサービス・パケットを保持するために十分なスペースを有している。開示された方法及び装置の別の実施形態によれば、GEPHY送信記述子キュー303は、設定可能な個数のGEPHY送信記述子を保持する。
受信ラインバッファ・エントリ・キュー313は、PDUのユニットで編成されるが、各GEPHY送信記述子は、1つの完全なサービス・パケットを記述する。GEPHY送信記述子キューは、循環式に動作し、DIC TC 140によってセットアップされる。GEPHY送信記述子は、その後、送信記述子のOWNビットをGEPHY DMA132に切り替えることにより、GEPHYコントローラのDMA 132に渡される。DMA 132は、サービス・パケット(イーサネット・パケット)をGEPHYコントローラ108に転送し、GEPHYコントローラ108は、その後、できる限り早くGMII/MIIを介してイーサネット・パケットを送出する。イーサネット・パケットを送信した後、GEPHY送信記述子は、OWNビットをリセットすることにより元のDIC TC 140へ渡され、DIC TC 140は、送信記述子状態を処理し、この記述子を再利用する。DIC TC 140は、個別単位で、又は、グループ単位で送信記述子を定義し処理することが可能である。Rx受信バッファ・エントリ・キューからGEPHY送信バッファ・キューへMoCAパケットを転送するプロセスの間に、DIC TC 140は、アプリケーション依存型の所定の基準を使用して、これらのパケットにフィルタリング(サービス・パケットの一部を飛ばすことを含む)を実行できる。
開示された方法及び装置の一実施形態では、2つのGEPHY送信記述子が使用され、各GEPHY送信記述子は、各サービス・パケットがイーサネット・ネットワークを介して送信されるべきである受信ラインバッファ・エントリ・キュー313内のサービス・パケットを記述する。GEPHY送信記述子は、受信記述子と同じフォーマットを有する。
開示された方法及び装置の一実施形態では、受信ラインバッファ・エントリ・キューは、2個以上のMoCAパケットを保持することができる。MoCAパケットが受信され、DIC TC 140へ渡されるとき、最小サイズは、DIC TC 140の応答処理速度の関数である。
開示された方法及び装置の一実施形態では、GMII/MII速度は、MoCAネットワークを介して最良スループットを実現するために、MoCAネットワーク速度を十分に上回るように設定される。GMII/MII速度がMoCAネットワーク速度に近いか、又は、下回る場合、受信ラインバッファ・エントリ・キュー319は、MoCAネットワークを介してノード102に入るトラフィックのバーストを吸収するために、十分に大きく設定することが必要である。一実施形態では、受信ラインバッファ・エントリ・キュー319の正確なサイズは、受信ノード102によって使用される最大ビット−ローディングの関数である。一実施形態では、受信ノードは、送信ノードが受信ノードへ望まれるより高速にデータを送信しないようにこの受信ノードが受信するパケットのビット−ローディングを制限することがある。一実施形態では、ビットローディング限界は、パケットが外部ネットワークプロセッサ124から外部ネットワークを介して受信される速度に近い。
開示された方法及び装置の様々な実施形態がここまでに記載されているが、これらの実施形態は、一例として提示されているだけであり、請求項に記載された発明を限定すべきでないことが理解されるべきである。同様に、様々な図面は、開示された方法及び装置のための実例的なアーキテクチャ構成又はその他の構成を描写している。このことは、開示された方法及び装置に含まれる可能性がある特徴及び機能性の理解を助けるために行われている。請求項に記載された発明は、図示された実例的なアーキテクチャ又は構成に制限されず、それどころか、望ましい特徴は、多種多様の代替的なアーキテクチャ及び構成を使用して実施されることができる。実際に、代替的な機能的、論理的、又は、物理的な区分化及び構成が開示された方法及び装置の望ましい特徴を実施するために実施されることが可能であることは、当業者に理解できるであろう。さらに、本明細書中に描かれていない多数の異なる構成モジュール名が様々な区分に適用可能である。付加的に、フローチャートに、動作的な説明、及び、方法の請求項に関して,ステップが本明細書中に提示されている順番は、前後関係が別の指示をしない限り、様々な実施形態が列挙された機能性を同じ順番で実行するように実施されることを義務づけるものではない。
開示された方法及び装置は、様々な例示的な実施形態及び実施の観点でここまでに記載されているが、1つ以上の個別の実施形態に記載された様々な特徴、態様及び機能性が適用可能性の点でこれらの特徴、態様及び機能性が記載された特定の実施形態に限定されないことが理解されるべきである。よって、請求項に記載された発明の広がり及び範囲は、前述のいずれの例示的な実施形態によっても限定されるべきでない。
本明細書中で使用された用語及び句と、これらの変形とは、特に断らない限り、限定としてではなく、開放形式として解釈されるべきである。上記の例として、用語「含む」は、「限定無しに含む」などを意味するものとして読まれるべきであり、用語「実施例」は、検討中の項目の例示的な事例を、網羅的ではなく、又は、限定的なリストとして提供するためではなく使用され、単数形は、「少なくとも1つ」、「1つ以上」などを意味するものとして読まれるべきであり、そして、「従来的な」、「伝統的な」、「通常の」、「標準的な」、「既知の」のような形容詞と、類似した意味の用語は、記載された用語を所与の期間、又は、所与の時点に利用可能な項目に限定するものとして解釈されるべきでなく、その代わりに、現在若しくは将来のいずれかの時点で利用可能若しくは知られている、従来的な、伝統的な、通常の、又は、標準的な技術を包含するように読まれるべきである。同様に、本明細書は、当業者に明白又は公知である技術に言及しているが、このような技術は、現在又は将来のいずれかの時点での当業者に明白又は既知である技術を包含する。
接続詞「及び」を用いて結合されている項目のグループは、これらの項目の1つずつがグループ分けの中に存在することを要求するものとして読まれるべきではなく、むしろ、特に断らない限り、「及び/又は」として読まれるべきである。同様に、接続詞「又は」を用いて結合されている項目のグループは、このグループの中での相互排他性を要求するものとして読まれるべきでなく、むしろ、特に断らない限り、「及び/又は」として読まれるべきである。さらに、開示された方法及び装置の項目、要素、又は、コンポーネントは、単数形で記載又は請求項に記載されているが、単数形への制限が明示されていない限り、複数形がこれらの範囲に含まれることが考慮されている。
一部の例における「1つ以上」、「少なくとも」、「限定されることなく」、又は、同様の句のような拡張語及び拡張句の存在は、より狭義の事例がこのような拡張句が存在しない事例において意図又は要求されることを意味するように読まれるべきでない。用語「モジュール」の使用は、モジュールの一部として記載又は請求項に記載されたコンポーネント又は機能性がすべて共通のパッケージの中に構成されることを含意しない。実際に、モジュールの種々のコンポーネントのうちのいずれか又は全部は、制御ロジックであるか、又は、その他のコンポーネントであるかとは無関係に、単一のパッケージに組み合わせてもよく、又は、別々に維持されてもよく、そして、複数のグループ分け若しくはパッケージに、又は、複数の場所に亘って分散されてもよい。
付加的に、本明細書中に記載された様々な実施形態は、例示的なブロック図、フローチャート、及び、他の説明図の形で記載されている。本明細書を読んだ後に当業者に明白になるように、図示された実施形態及びこれらの種々の代案は、図示された実例への限定無しに実施することができる。例えば、ブロック図及びこれらのブロック図に付随する説明は、特定のアーキテクチャ又は構成を義務づけるものとして解釈されるべきでない。

Claims (25)

  1. 通信制御システムノードであって、該システムは、
    a)メモリと、
    b)前記メモリに連結され、
    i)少なくとも1つの受信記述子を生成すること、
    ii)第1のネットワークからサービス・パケットを受信すること、
    iii)前記受信記述子の内容に基づいて、前記サービス・パケットを前記メモリに格納すること、
    iv)すべてが同じ長さであるパケット・データ・ユニットを定義すること、
    v)プロトコル記述子を生成し、各プロトコル記述子を1つ以上のパケット・データ・ユニットと関連付けること、及び、
    vi)各プロトコル記述子を前記メモリの中のエントリに格納すること、
    を可能にさせる命令を実行する能力をもつ物理レイヤ・コントローラと、
    c)i)前記プロトコル記述子を読み込むこと、及び、
    ii)最小数より多くのプロトコル記述子が前記メモリに格納されている場合、予約要求を第2のネットワーク上に生成すること、
    を可能にさせる命令を実行する能力をもつネットワーク中央処理ユニット(CPU)と、
    を備える、通信制御システムノード。
  2. 前記コントローラは、直接メモリアクセス(DMA)コントローラを含み、前記DMAコントローラは、前記受信記述子の内容に基づいて、前記サービス・パケットを前記メモリに格納する、請求項1に記載の通信制御システム。
  3. 前記サービス・パケットは、第1のプロトコルに従って受信され、前記パケット・データ・ユニットは、第2のプロトコルに従って送信される、請求項1に記載の通信制御システム。
  4. 前記第1のネットワークはイーサネット・ネットワークであり、前記第2のネットワークは、MoCAネットワークである、請求項3に記載の通信制御システム。
  5. 前記サービス・パケットは、イーサネット・パケットである、請求項4に記載の通信制御システム。
  6. 前記受信されたサービス・パケットのサイズが前記パケット・データ・ユニットのサイズと異なる、請求項3に記載の通信制御システム。
  7. 同じサービス・パケットに由来した内容を有する各パケット・データ・ユニットは、同じプロトコル記述子と関連付けられる、請求項6に記載の通信制御システム。
  8. 前記受信されたサービス・パケットは、前記パケット・データ・ユニットとサイズが同じである、請求項3に記載の通信制御システム。
  9. 前記物理レイヤ・コントローラは、ギガバイト・イーサネット物理レイヤ・コントローラ(GEPHY)である、請求項1に記載の通信制御システム。
  10. 前記メモリは、受信バッファ、受信ラインバッファ、送信バッファ、及び、送信ラインバッファに分割されている、請求項1に記載の通信制御システム。
  11. 前記受信バッファは、受信バッファ・キュー及び受信記述子キューに分割されている、請求項10に記載の通信制御システム。
  12. 前記受信バッファ・キューは、前記物理レイヤ・コントローラから前記サービス・パケットを受信する、請求項11に記載の通信制御システム。
  13. 前記受信バッファ・キューは、前記受信記述子キューによって定義され、制御される、請求項12に記載の通信制御システム。
  14. 前記受信ラインバッファは、受信ラインバッファ記述子及び受信ラインバッファ・エントリ・キューに分割されている、請求項10に記載の通信制御システム。
  15. ポート制御転送コントローラ(TC)及びバスをさらに含み、ポート制御TCは、前記バスを介して前記ネットワークCPU及び前記メモリに結合されている、請求項14に記載の通信制御システム。
  16. 前記第2のネットワークから受信されたパケットが前記受信ラインバッファ・エントリ・キューに格納され、前記受信ラインバッファ記述子は、前記受信ラインバッファ・エントリ・キューの中の関連付けられたエントリが前記第2のネットワークから新たに受信されたパケットを受け入れるため利用可能であるかどうかを示すオーナーフラグを含む、請求項10に記載の通信制御システム。
  17. 前記送信バッファは、送信記述子キュー及び送信バッファ・キューに分割されている、請求項10に記載の通信制御システム。
  18. 前記物理レイヤ・コントローラは、受信されたサービス・パケット毎の前記送信記述子キューに前記サービス・パケットを記述する情報をロードする、請求項17に記載の通信制御システム。
  19. 前記送信ラインバッファは、送信ラインバッファ・エントリ・キュー及び送信ラインバッファ記述子に分割されている、請求項10に記載の通信制御システム。
  20. パケット・データ・ユニットを定義することは、前記パケット・データ・ユニットのサイズを決定する制御可能パラメータのための値を選択することを含む、請求項6に記載の通信制御システム。
  21. 前記制御可能パラメータの値は自動的に選択される、請求項20に記載の通信制御システム。
  22. 前記制御可能パラメータの値は手動で選択される、請求項20に記載の通信制御システム。
  23. 第1のプロトコルに従って動作するネットワークから第1のデータのパケットを受信し、第2のプロトコルを有する第2のネットワークを介する送信のため、前記第1のデータのパケットからの内容の少なくとも一部を収容する第2のデータのパケットを準備する方法であって、
    a)前記第1のデータのパケットを受信することと、
    b)前記第1のデータのパケットを選択的に固定されたサイズをもつパケット・データ・ユニット(PDU)に断片化することと、
    c)同じ前記第2のパケットの中で送信されるべき各PDUが共通の宛先及び優先度を有するように、前記断片化された第1のパケットからのPDUを前記第2のパケットに集約することと、
    を備える方法。
  24. コンピュータによって読み取られる命令を記憶する有形記憶媒体であって、
    前記命令は、
    a)前記第1のデータのパケットを受信する機能と、
    b)前記第1のデータのパケットを選択的に固定されたサイズをもつパケット・データ・ユニット(PDU)に断片化する機能と、
    c)同じ前記第2のパケットの中で送信されるべき各PDUが共通の宛先及び優先度を有するように、前記断片化された第1のパケットからのPDUを前記第2のパケットに集約する機能と、
    を前記コンピュータに実行させる、有形記憶媒体。
  25. コンピュータによって読み取られる命令を記憶する有形記憶媒体であって、
    前記命令は、
    a)少なくとも1つの受信記述子を生成する機能と、
    b)第1のネットワークからサービス・パケットを受信する機能と、
    c)前記受信記述子の内容に基づいて、前記サービス・パケットをメモリに格納する機能と、
    d)すべてが同じ長さであるパケット・データ・ユニットを定義する機能と、
    e)パケット・データ・ユニット毎にプロトコル記述子を生成する機能と、
    f)各プロトコル記述子を前記メモリの内部のプロトコル記述子キューの中のエントリに格納する機能と、
    を前記コンピュータに実行させる有形記憶媒体。
JP2011543599A 2008-12-24 2009-12-18 マネージド・ネットワークでのレイヤ2のパケット集約及び断片化 Expired - Fee Related JP5640234B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/343,941 US8811411B2 (en) 2008-12-24 2008-12-24 Packet aggregation and fragmentation at layer-2 over a managed network
US12/343,941 2008-12-24
PCT/US2009/068677 WO2010075201A1 (en) 2008-12-24 2009-12-18 Packet aggregation and fragmentation at layer-2 over a managed network

Publications (2)

Publication Number Publication Date
JP2012514388A true JP2012514388A (ja) 2012-06-21
JP5640234B2 JP5640234B2 (ja) 2014-12-17

Family

ID=42266004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011543599A Expired - Fee Related JP5640234B2 (ja) 2008-12-24 2009-12-18 マネージド・ネットワークでのレイヤ2のパケット集約及び断片化

Country Status (7)

Country Link
US (1) US8811411B2 (ja)
EP (1) EP2353017B1 (ja)
JP (1) JP5640234B2 (ja)
KR (1) KR20110110088A (ja)
CN (1) CN102171580B (ja)
HK (1) HK1154942A1 (ja)
WO (1) WO2010075201A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL154695A0 (en) 2000-08-30 2003-09-17 Tiaris Inc A home network system and method
US9094226B2 (en) * 2000-08-30 2015-07-28 Broadcom Corporation Home network system and method
US8724485B2 (en) 2000-08-30 2014-05-13 Broadcom Corporation Home network system and method
US8090043B2 (en) 2006-11-20 2012-01-03 Broadcom Corporation Apparatus and methods for compensating for signal imbalance in a receiver
US7742495B2 (en) 2006-11-20 2010-06-22 Broadcom Corporation System and method for retransmitting packets over a network of communication channels
US7782850B2 (en) 2006-11-20 2010-08-24 Broadcom Corporation MAC to PHY interface apparatus and methods for transmission of packets through a communications network
US8345553B2 (en) * 2007-05-31 2013-01-01 Broadcom Corporation Apparatus and methods for reduction of transmission delay in a communication network
US9112717B2 (en) 2008-07-31 2015-08-18 Broadcom Corporation Systems and methods for providing a MoCA power management strategy
US8213309B2 (en) * 2008-12-22 2012-07-03 Broadcom Corporation Systems and methods for reducing latency and reservation request overhead in a communications network
US8238227B2 (en) * 2008-12-22 2012-08-07 Broadcom Corporation Systems and methods for providing a MoCA improved performance for short burst packets
US8254413B2 (en) 2008-12-22 2012-08-28 Broadcom Corporation Systems and methods for physical layer (“PHY”) concatenation in a multimedia over coax alliance network
US20100238932A1 (en) * 2009-03-19 2010-09-23 Broadcom Corporation Method and apparatus for enhanced packet aggregation
US8553547B2 (en) * 2009-03-30 2013-10-08 Broadcom Corporation Systems and methods for retransmitting packets over a network of communication channels
US20100254278A1 (en) 2009-04-07 2010-10-07 Broadcom Corporation Assessment in an information network
US8730798B2 (en) * 2009-05-05 2014-05-20 Broadcom Corporation Transmitter channel throughput in an information network
DE102009023199A1 (de) * 2009-05-29 2010-12-02 Siemens Aktiengesellschaft Kommunikationssystem
US8867355B2 (en) 2009-07-14 2014-10-21 Broadcom Corporation MoCA multicast handling
US8942250B2 (en) 2009-10-07 2015-01-27 Broadcom Corporation Systems and methods for providing service (“SRV”) node selection
US8635347B2 (en) 2010-01-26 2014-01-21 Ray W. Sanders Apparatus and method for synchronized networks
JP5446935B2 (ja) * 2010-01-28 2014-03-19 富士ゼロックス株式会社 送信装置、通信システム、画像形成システム、及びプログラム
US8611327B2 (en) 2010-02-22 2013-12-17 Broadcom Corporation Method and apparatus for policing a QoS flow in a MoCA 2.0 network
US8514860B2 (en) 2010-02-23 2013-08-20 Broadcom Corporation Systems and methods for implementing a high throughput mode for a MoCA device
WO2013134732A1 (en) * 2012-03-09 2013-09-12 Sanders Ray W Apparatus and methods of routing with control vectors in a synchronized adaptive infrastructure (sain) network
CN102682112B (zh) * 2012-05-11 2014-11-19 华为技术有限公司 存储方法和装置
US9625327B1 (en) 2012-11-14 2017-04-18 E-Controlsystems, Inc. Device and method for logging data from an inspection probe to a computing device
US9398117B2 (en) * 2013-09-26 2016-07-19 Netapp, Inc. Protocol data unit interface
WO2015199420A1 (ko) 2014-06-24 2015-12-30 삼성전자 주식회사 방송 시스템에서 시스템 시간 정보를 송수신하는 기법
US20160320967A1 (en) * 2015-04-29 2016-11-03 Broadcom Corporation Receive Side Packet Aggregation
US10750233B2 (en) * 2015-08-26 2020-08-18 Sony Corporation Recording apparatus, recording method, and program
US10021595B2 (en) * 2015-12-09 2018-07-10 Intel IP Corporation Aggregation procedures for a media access control layer
US10437523B2 (en) * 2016-02-25 2019-10-08 Red Hat Israel, Ltd. Secure receive packet processing for network function virtualization applications
US11252109B1 (en) * 2018-09-21 2022-02-15 Marvell Asia Pte Ltd Out of order placement of data in network devices
CN109408428B (zh) * 2018-10-29 2021-05-28 京信通信系统(中国)有限公司 直接内存存取的控制方法、装置及物理层加速卡
US11057447B2 (en) 2019-11-21 2021-07-06 T-Mobile Usa, Inc. Uniform packet streaming
US11909841B2 (en) * 2020-05-29 2024-02-20 Intel Corporation System, apparatus and method for adaptive peer-to-peer communication with edge platform
TWI745034B (zh) 2020-08-18 2021-11-01 國立陽明交通大學 封包聚合及解聚合方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000101613A (ja) * 1998-09-28 2000-04-07 Hitachi Ltd サーバ・システムおよびクライアント・サーバ間の通信方法
JP2001016258A (ja) * 1999-06-29 2001-01-19 Hitachi Ltd パケット通信方法およびノード装置
JP2002026927A (ja) * 2000-07-10 2002-01-25 Pfu Ltd カプセリング方法及び装置並びにプログラム記録媒体
JP2006041654A (ja) * 2004-07-23 2006-02-09 Hitachi Communication Technologies Ltd Atmセル転送ノード装置
JP2006311464A (ja) * 2005-04-01 2006-11-09 Ntt Docomo Inc Ipパケットマッピング方法
JP2008538674A (ja) * 2005-04-21 2008-10-30 スリング メディア,インク. マルチルームテレビジョンシステムを効果的に実施するための方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7495220B2 (en) * 1995-10-24 2009-02-24 Bae Systems Information And Electronics Systems Integration Inc. Uncooled infrared sensor
JPH11345175A (ja) * 1998-06-02 1999-12-14 Nec Kofu Ltd 代替パス制御システム及び方法
JP2000332817A (ja) * 1999-05-18 2000-11-30 Fujitsu Ltd パケット処理装置
EP1104141A3 (en) * 1999-11-29 2004-01-21 Lucent Technologies Inc. System for generating composite packets
KR100608043B1 (ko) * 1999-12-31 2006-08-02 삼성전자주식회사 오디오 데이터를 비디오 데이터와 연결해서 재생 가능한데이터 구조로 기록된 기록 매체, 기록/재생 방법 및 장치
US6956818B1 (en) * 2000-02-23 2005-10-18 Sun Microsystems, Inc. Method and apparatus for dynamic class-based packet scheduling
HUP0302879A3 (en) * 2001-01-31 2004-08-30 Ibm Method and apparatus for controlling flow of data between data processing systems via a memory
US7170893B2 (en) 2001-06-15 2007-01-30 Lucent Technologies Inc. Technique for selecting the number of packets to be concatenated
US7245627B2 (en) * 2002-04-23 2007-07-17 Mellanox Technologies Ltd. Sharing a network interface card among multiple hosts
JP2004336527A (ja) * 2003-05-09 2004-11-25 Pioneer Electronic Corp データ処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体
FR2859059A1 (fr) * 2003-08-20 2005-02-25 France Telecom Procede de transmission de paquets, dispositifs d'agregation et de desagregation de paquets
US7111092B1 (en) * 2004-04-16 2006-09-19 Cisco Technology, Inc. Buffer management technique for a hypertransport data path protocol
KR100631271B1 (ko) * 2004-08-07 2006-10-02 삼성전자주식회사 패킷 응집 전송 방법
US7447233B2 (en) * 2004-09-29 2008-11-04 Intel Corporation Packet aggregation protocol for advanced switching
US20060067348A1 (en) * 2004-09-30 2006-03-30 Sanjeev Jain System and method for efficient memory access of queue control data structures
US7697522B2 (en) * 2006-11-20 2010-04-13 Broadcom Corporation Systems and methods for aggregation of packets for transmission through a communications network
US20080120675A1 (en) * 2006-11-22 2008-05-22 Horizon Semiconductors Ltd. Home gateway for multiple units
DK2127267T3 (da) * 2007-02-06 2011-07-18 Ericsson Telefon Ab L M Radioforbindelseskontrolpakkedataenhed af fleksibel længde

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000101613A (ja) * 1998-09-28 2000-04-07 Hitachi Ltd サーバ・システムおよびクライアント・サーバ間の通信方法
JP2001016258A (ja) * 1999-06-29 2001-01-19 Hitachi Ltd パケット通信方法およびノード装置
JP2002026927A (ja) * 2000-07-10 2002-01-25 Pfu Ltd カプセリング方法及び装置並びにプログラム記録媒体
JP2006041654A (ja) * 2004-07-23 2006-02-09 Hitachi Communication Technologies Ltd Atmセル転送ノード装置
JP2006311464A (ja) * 2005-04-01 2006-11-09 Ntt Docomo Inc Ipパケットマッピング方法
JP2008538674A (ja) * 2005-04-21 2008-10-30 スリング メディア,インク. マルチルームテレビジョンシステムを効果的に実施するための方法

Also Published As

Publication number Publication date
EP2353017A1 (en) 2011-08-10
EP2353017B1 (en) 2016-04-13
US20100158015A1 (en) 2010-06-24
EP2353017A4 (en) 2014-06-25
US8811411B2 (en) 2014-08-19
CN102171580A (zh) 2011-08-31
WO2010075201A1 (en) 2010-07-01
CN102171580B (zh) 2015-03-18
HK1154942A1 (zh) 2012-05-04
JP5640234B2 (ja) 2014-12-17
KR20110110088A (ko) 2011-10-06

Similar Documents

Publication Publication Date Title
JP5640234B2 (ja) マネージド・ネットワークでのレイヤ2のパケット集約及び断片化
JP4091665B2 (ja) スイッチ・ネットワーク要素における共用メモリ管理
US9654406B2 (en) Communication traffic processing architectures and methods
US7397809B2 (en) Scheduling methods for combined unicast and multicast queuing
US7313142B2 (en) Packet processing device
US7843951B2 (en) Packet storage system for traffic handling
JP5795592B2 (ja) 中央制御装置により制御されるデータパケットを受信し記憶する装置および方法
US6862265B1 (en) Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter
US7620054B2 (en) Network switching device and network switching method
CA2310909C (en) Packet switching apparatus and method in data network
US11637786B1 (en) Multi-destination traffic handling optimizations in a network device
US20070268903A1 (en) System and Method for Assigning Packets to Output Queues
US20020044563A1 (en) Data packet scheduler
JP5749732B2 (ja) キューの充填レベルの更新を制御することにより帯域幅を節約しながらデータを受信し記憶するアセンブリおよび方法
WO2002062013A2 (en) Methods and systems providing fair queuing and priority scheduling to enhance quality of service in a network
US11677676B1 (en) Shared traffic manager
US20140317220A1 (en) Device for efficient use of packet buffering and bandwidth resources at the network edge
US11470016B1 (en) Efficient buffer utilization for network data units
US8879578B2 (en) Reducing store and forward delay in distributed systems
US9401879B1 (en) Systems and methods for sending and receiving information via a network device
US7020712B1 (en) Reducing CPU overhead in the forwarding process in an inbound/outbound controller for a router
US10742558B1 (en) Traffic manager resource sharing
CN112615796B (zh) 一种兼顾存储利用率与管理复杂度的队列管理系统
CN117155874A (zh) 数据包发送方法、转发节点、发送端及存储介质
CN113422741B (zh) 一种时间触发以太网交换机结构

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140129

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140306

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140313

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140409

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141002

R150 Certificate of patent or registration of utility model

Ref document number: 5640234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees