JP5772132B2 - データ転送装置、データ転送方法および情報処理装置 - Google Patents

データ転送装置、データ転送方法および情報処理装置 Download PDF

Info

Publication number
JP5772132B2
JP5772132B2 JP2011068863A JP2011068863A JP5772132B2 JP 5772132 B2 JP5772132 B2 JP 5772132B2 JP 2011068863 A JP2011068863 A JP 2011068863A JP 2011068863 A JP2011068863 A JP 2011068863A JP 5772132 B2 JP5772132 B2 JP 5772132B2
Authority
JP
Japan
Prior art keywords
data
size
requests
request
response
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.)
Active
Application number
JP2011068863A
Other languages
English (en)
Other versions
JP2012205142A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011068863A priority Critical patent/JP5772132B2/ja
Priority to US13/353,930 priority patent/US20120246263A1/en
Priority to EP12152071A priority patent/EP2503746A1/en
Publication of JP2012205142A publication Critical patent/JP2012205142A/ja
Application granted granted Critical
Publication of JP5772132B2 publication Critical patent/JP5772132B2/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size

Landscapes

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

Description

本発明は、データの転送を行なうデータ転送装置、データ転送方法および情報処理装置に関する。
従来、情報処理装置などでは、装置間のデータ転送を行なうためにデータ転送装置を備える。
図1は、データ転送装置の一例として、ブリッジ装置100を示す図である。装置A−ブリッジ装置100間、および、ブリッジ装置100−装置B間は、それぞれパケット形式でデータを送受信する。
例えば、受信部110は、装置Aからリクエストを受信する。以下では、他の装置、例えば、装置Aから受信したリクエストを「受信リクエスト」という。すると、パケット分割部120は、受信リクエストを1または2以上のリクエストに分割する。具体的には、パケット分割部120は、受信リクエストが要求するデータを、マックスペイロードサイズ、すなわち、装置A−ブリッジ100間で一度に送受信可能な最大データサイズ、以下となるように分割して、分割したデータ毎に新たなリクエストを生成する。以下、このとき分割されたリクエストを「第1リクエスト」という。
さらに、必要に応じて、パケット分割部120は、第1リクエストを1または2以上のリクエストに分割する。具体的には、パケット分割部120は、具体的には、パケット分割部120は、第1リクエストが要求するデータを、ブリッジ100−装置B間で送受信可能なデータサイズに分割して、分割したデータ毎に新たなリクエストを生成する。以下、このとき分割されたリクエストを「第2リクエスト」という。
パケット分割部120は、分割した第2リクエストを、リクエストFIFO(First−In−First−Out)130に格納する。送信部140は、リクエストFIFO130に格納された第2リクエストを、順次、装置Bに送信する。
また、パケット分割部120は、受信リクエストのパケット情報をスコアボード150に格納する。パケット情報には、受信リクエストに含まれるコマンドやタグ、分割数などが含まれる。コマンドには、例えば、リード命令やライト命令などが含まれる。タグとは、受信リクエストを識別する識別情報である。また、分割数とは、受信リクエストから、最終的に分割された第2リクエストの数である。
一方、受信部160は、部装置Bが送信する、第2リクエストに対するレスポンスを受信する。このレスポンスは、第2リクエストに対するレスポンスなので、以下では、「第2レスポンス」という。受信部160は、第2レスポンスに含まれるヘッダ部を、レスポンスキュー170に格納する。また、受信部160は、第2レスポンスに含まれるデータ部を、レスポンスデータバッファ180に格納する。このとき、受信部160は、第2レスポンスのレスポンスキュー170およびレスポンスデータバッファ180への格納が完了する毎に、スコアボード150に含まれる分割数を初期値とするカウント値を1だけデクリメントする。受信部160は、カウント値が0になると、カウント値が0となった受信リクエストのパケット情報を、スコアボード150からクリアする。
送信部190は、装置Bからのレスポンス、すなわち、受信リクエストから最終的に分割された第2リクエストに対する第2レスポンスの合計が、例えば、マックスペイロードサイズになるまで待つ。受信した第2レスポンスの合計がマックスペイロードサイズになると、送信部190は、レスポンスキュー170およびレスポンスデータバッファ180に格納された第2レスポンスを取り出してレスポンスを生成する。そして、送信部190は、生成したレスポンスを装置Aに送信する。
上記技術に関連して、同一集約単位に属する一定長以下のパケットを収容するスーパーフレームのフレーム長を、受信したユーザーパケットのあらかじめ定めた優先度および光波ネットワーク内の負荷情報から決定するエッジノードについて知られている。
特開2001−007854号公報
ブリッジ装置100からの第2リクエストに対して、装置Bは、それぞれ異なるレイテンシで第2レスポンスをブリッジ装置に返す。そのため、従来、上述したように、ブリッジ装置100は、第1リクエストに対するレスポンス、すなわち、第1リクエストを分割した第2リクエストに対する第2レスポンスを全て受信するまで待つ必要があった。
例えば、マックスペイロードサイズが大きいと、第1リクエストから第2リクエストに分割する数が多くなるので、第2リクエストに対する第2レスポンスの数も多くなる。そのため、第2レスポンスを全て受信するまでの待ち時間も大きくなる。その結果、ブリッジ装置100における、装置Aからの受信リクエストに対するレスポンスのレイテンシが増大する。
図2は、ブリッジ装置100における、装置Aからの受信リクエストに対するレスポンスのレイテンシを説明する図である。
装置Aからリクエストを受信すると、ブリッジ装置100は、受信したリクエストを、最終的に1または2以上の第2リクエストに分割する。図2では、簡単のために、受信リクエストを1つの第1リクエストに分割し、さらに、4つの第2リクエスト0、1、2および3に分割した場合を示している。
ブリッジ装置100は、第2リクエスト0、1、2および3を、順に装置Bに送信する。すると、装置Bは、第2リクエスト0、1、2および3に対する第2レスポンス0、1、2および3を、ブリッジ装置100に送信する。
このとき、ブリッジ装置100は、第1リクエストに対するレスポンス、すなわち、第2レスポンス0、1、2および3、を全て受信するまで待つ必要がある。第2レスポンス0、1、2および3を全て受信してから装置Aにレスポンスを送信するため、第2レスポンス0、1、2および3を全て受信するまでの待ち時間だけ、ブリッジ装置100から装置Aへのレスポンスが遅れることになる。
本データ転送装置は、1つの側面では、データ転送時のレイテンシを改善する、ことを目的とする。
本データ転送装置の1つの観点によれば、本データ転送装置は、第1の装置から送られるデータを第2の装置に転送する。そして、本データ転送装置は、以下の構成要素を備える。
第1の記憶手段は、前記第2の装置が前記第1の装置に要求した複数のリクエストの各々が複数に分割されて前記第1の装置に複数の分割リクエストとなって送信された後に、前記複数の分割リクエストの各々に応答して前記第1の装置から送られる複数の第1のデータを記憶する記憶手段である。
第2の記憶手段は、前記第1の記憶手段に記憶される前記複数の第1のデータについて前記第2の装置への送信が完了したかを前記複数のリクエスト毎に管理する管理情報を記憶する記憶手段である。
決定手段は、前記管理情報に応じて前記複数のリクエスト毎に前記第2の装置が要求したリクエストに対するデータの一部または全部として前記第2の装置に転送する第2のデータのサイズを動的に決定する。
送信手段は、決定された前記サイズに基づき、前記複数のリクエスト毎に1または2以上の前記第1のデータを含む前記サイズの前記第2のデータを生成して前記第2の装置に送信する。
本データ転送装置は、1つの態様では、データ転送時のレイテンシを改善する、ことができる。
データ転送装置の一例として、ブリッジ装置100を示す図である。 ブリッジ装置100における、装置Aからの受信リクエストに対するレスポンスのレイテンシを説明する図である。 本実施例に係る情報処理装置300の構成例を示す図である。 図3に示したルート・コンプレックス310の概要を説明する図である。 図4に示したスコアボード420の具体例を示す図である。 イーグレス処理部430の具体的な構成例を示す図である。 発行制御ステートマシンを説明する図である。 ステートマシンテーブル800の構成例を示す図である。 図6に示したイーグレス処理部430におけるパケット生成処理の概要を示すフローチャートである。 ペイロードサイズを決定する処理(ステップS903)の具体例を示す図である。 本実施例に係るデータ転送処理による効果の一例を説明する図である。 本実施例に係るデータ転送処理による効果の一例を説明する図である。
以下、本実施形態の一例について、図3〜図12に基づいて説明する。なお、以下に説明する実施形態はあくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本実施形態は、その趣旨を逸脱しない範囲で、各実施例を組み合わせるなど種々変形して実施することができる。また、図9および図10にフローチャートの形式で示した処理手順は、処理の順番を限定する趣旨ではない。したがって、可能な場合には、処理の順番を入れ替えても良いのは当然である。
図3は、本実施例に係る情報処理装置300の構成例を示す図である。
情報処理装置300は、ルート・コンプレックス310と、エンド・ポイント320と、ホストブリッジ330と、メモリコントローラ340と、メモリ350と、CPU(Central Processing Unit)360と、を備える。
ルート・コンプレックス310とエンド・ポイント320とは、PCI(Peripheral Component Interconnect) Expressバスで接続している。また、ルート・コンプレックス310とホストブリッジ330、ホストブリッジ330とメモリコントローラ340とメモリ350は、それぞれPCIバスで接続している。
ルート・コンプレックス310は、ホストブリッジ330を、エンド・ポイント320またはエンド・ポイント320に接続するI/O装置と接続する。そして、ルート・コンプレックス310は、プロトコル変換を行って、エンド・ポイント320から送信されるPCI Expressのパケットと、ホストブリッジ330のプロトコルにしたがったパケットと、を相互に転送する。
エンド・ポイント320はPCI ExpressのI/O構造で末端に位置する装置である。エンド・ポイント320は、PCI Expressを利用したI/O装置であってもよい。また、エンド・ポイント320は、PCI Express以外のデバイスを接続するためのインタフェースであってもよい。
ホストブリッジ330は、CPU360とPCIバスを接続し、データの通信制御を行なう。
メモリコントローラ340は、CPU360やエンド・ポイント320などからのリクエストに応じて、メモリ350へのデータの書込み、読み出し等を行なう。
メモリ350は、CPU360が実行するプログラムやデータなどを記憶する揮発性メモリである。メモリ350には、RAM(Random Access Memory)などの揮発性メモリを使用することができる。
CPU360は、メモリ350に格納されたプログラムを実行する演算装置である。
以上の構成において、エンド・ポイント320がDMA(Direct Memory Access)リクエストを発行する場合を考える。
例えば、エンド・ポイント320配下のI/O装置からDMA要求を受けると、エンド・ポイント320は、DMAリクエストをルート・コンプレックス310に送信する。エンド・ポイント320からDMAリクエストを受信すると、ルート・コンプレックス310は、エンド・ポイント320から受信したDMAリクエストをホストブリッジ330に転送する。
このとき、ルート・コンプレックス310は、受信したDMAリクエストを1または2以上のDMAリクエストに分割する。具体的には、ルート・コンプレックス310は、受信したDMAリクエストが要求するデータを、最終的に、メモリコントローラ340との間で送受信可能なサイズ以下となるように分割し、分割したデータ毎に新たなDMAリクエストを生成する。そして、ルート・コンプレックス310は、分割したDMAリクエストをホストブリッジ330送信する。
メモリコントローラ340は、ホストブリッジ330を経由してDMAリクエストを受信すると、DMAリクエストで要求されるデータをメモリ350から読み出す。そして、メモリコントローラ340は、読み出したデータを、DMAリクエストのレスポンスとして、ホストブリッジ330に送信する。
ルート・コンプレックス310は、ホストブリッジ330を経由して、DMAリクエストに対するレスポンスを受信する。そして、ルート・コンプレックス310は、受信した1または2以上のレスポンスが、所定のペイロードサイズになると、所定のペイロードのレスポンスを生成してエンド・ポイント320に転送する。エンド・ポイント320は、ルート・コンプレックス310からレスポンスを受信すると、DMA要求のあったI/O装置にデータを送信する。
なお、上記DMA転送の処理では、ルート・コンプレックス310−エンド・ポイント320間、ルート・コンプレックス310−ホストブリッジ330−メモリコントローラ340間は、それぞれパケット形式でデータの送受信が行なわれる。
図4は、図3に示したルート・コンプレックス310の概要を説明する図である。
ルート・コンプレックス310は、イングレス処理部410と、スコアボード420と、イーグレス処理部430と、を備える。
イングレス処理部410は、受信部411と、パケット分割部412と、リクエストFIFO413と、送信部414と、を備える。
受信部411は、エンド・ポイント320からリクエストを受信する。そして、受信部411は、受信リクエストをパケット分割部412に出力する。
パケット分割部412は、受信リクエストを1または2以上の第1リクエストに分割する。具体的には、パケット分割部412は、受信リクエストが要求するデータを、マックスペイロードサイズ以下となるように分割して、分割したデータ毎に第1リクエストを生成する。本実施例に係るマックスペイロードは、エンド・ポイント320−ルート・コンプレックス310間で一度に送受信可能な最大データサイズである。
さらに、パケット分割部412は、第1リクエストを1または2以上の第2リクエストに分割する。具体的には、パケット分割部412は、第1リクエストが要求するデータを、ホストブリッジ330との間で受信可能なデータサイズに分割して、分割したデータ毎に第2リクエストを生成する。
パケット分割が完了すると、パケット分割部412は、第2リクエストを、リクエストFIFO413に格納する。
また、受信リクエストを最終的に1または2以上の第2リクエストに分割すると、パケット分割部412は、図5に示すスコアボード420に、受信パケットについてのパケット情報を記憶する。本実施例に係るパケット情報には、受信リクエストに含まれるコマンドやタグ、分割数などを含むことができる。コマンドには、受信リクエストが要求する、例えば、リード命令やライト命令などが含まれる。タグは、受信リクエストを識別する識別情報である。また、分割数とは、受信リクエストから最終的に分割された第2リクエストの数である。
リクエストFIFO413は、パケット分割部412が出力する第2リクエストなどのパケットを記憶する記憶装置である。リクエストFIFO413は、FIFO形式でデータを記憶する。リクエストFIFO413には、RAMなどの揮発性メモリを使用することができる。
送信部414は、リクエストFIFO413に格納された第2リクエストを、順次、ルート・コンプレックス310に送信する処理を行なう。
ここで、例えば、エンド・ポイント320から受信した受信リクエストが、メモリ350に対するDMAリード要求である場合、第2リクエストも、メモリ350に対するDMAリード要求となる。この場合、ホストブリッジ330は、ルート・コンプレックス310から受信した第2リクエストをメモリコントローラ340に送信する。メモリコントローラ340は、第2リクエストが要求するデータをメモリ350から読み出し、読み出したデータを含むレスポンス、すなわち、第2レスポンスをホストブリッジ330に送信する。第2レスポンスを受信すると、ホストブリッジ330は、受信した第2レスポンスをルート・コンプレックス310に送信する。
イーグレス処理部430は、受信部431と、レスポンスキュー432と、レスポンスデータバッファ433と、制御部434と、送信部435と、を備える。
受信部431は、ホストブリッジ330から第2レスポンスを受信する。そして、受信部431は、第2レスポンスに含まれるヘッダ部を、レスポンスキュー432に格納する。また、受信部431は、第2レスポンスに含まれるデータ部を、レスポンスデータバッファ433に格納する。レスポンスデータバッファ433に格納されるデータ部と、レスポンスキュー432に格納されるヘッダ部と、1対1に対応づけて格納される。
レスポンスキュー432は、FIFO形式でデータを記憶してキュー制御を実現する。以下では、第2レスポンスに含まれるヘッダ部を、レスポンスキュー432に格納し、その第2レスポンスに含まれるデータ部を、レスポンスデータバッファ433に格納することを、第2レスポンスをレスポンスキュー432に「エンキュー」するという。また、エンキューされた第2レスポンスを、レスポンスキュー432およびレスポンスデータバッファ433から取り出すことを、第2レスポンスをレスポンスキュー432から「デキュー」するという。
レスポンスキュー432およびレスポンスデータバッファ433は、RAMなどの揮発性メモリを使用することができる。
制御部434は、マックスペイロードサイズ(MPS)と、第2レスポンスの受信状態などに応じて、エンド・ポイント320に送信するレスポンスのペイロードサイズを決定する。この処理については、図10に具体例を示して後述する。
また、制御部434は、第2レスポンスの受信状態などに基づいて、パケットが発行可能であることを検出する。この場合、制御部434は、送信部435にパケットの発行を指示する。
また、制御部434は、送信部435による、エンド・ポイント320へのレスポンスの送信が完了する毎に、スコアボード420を参照し、送信が完了した第2レスポンスの分割元の受信リクエストのカウント値を1だけデクリメントする。なお、カウント値の初期値には、分割数を使用することができる。カウント値が0になると、制御部434は、カウント値が0となった受信リクエストに対するレスポンスの送信が完了したと判断する。制御部434は、レスポンスの送信が完了した受信リクエストのパケット情報を、スコアボード420からクリアする。
送信部435は、制御部434から指示を受けると、受信が完了した第2レスポンスをレスポンスキュー432からデキューする。そして、送信部435は、制御部434が指定するペイロードサイズのレスポンスを生成する。送信部435は、生成したレスポンスをエンド・ポイント320に送信する。
以上に説明したイングレス処理部410は、受信部411における受信処理、パケット分割部412におけるパケット分割処理および送信部414における送信処理などの処理要素を直列に連結してパイプライン処理を行なうことができる。この場合、受信処理、パケット分割処理および送信処理を、さらに複数の処理要素に分割してパイプライン処理を行なうこともできる。
同様に、イーグレス処理部430においても、受信部431における受信処理、送信部435における送信処理などの処理要素を直列に連結してパイプライン処理を行なうことができる。この場合、受信処理および送信処理を、さらに複数の処理要素に分割してパイプライン処理を行なうこともできる。
また、図4では、リクエストFIFO413、スコアボード420、レスポンスキュー432およびレスポンスデータバッファ433など、を別々に記載しているが、1つのメモリで実現してもよいし、必要に応じて、2以上のメモリで実現してもよい。図6に記載の出力バッファ623についても同様である。
図5は、図4に示したスコアボード420の具体例を示す図である。
スコアボード420は、受信リクエスト番号「No.」毎に、タグと、コマンドと、分割数と、カウント値と、を含む情報を記憶する記憶装置である。スコアボード420には、RAMなどの揮発性メモリを使用することができる。
受信リクエスト番号「No.」は、受信順に受信リクエストに割り当てる識別情報である。コマンドは、受信リクエストに含まれるコマンドである。タグは、受信リクエストをルート・コンプレックス310が識別するための識別情報である。分割数は、受信リクエストから最終的に分割された第2リクエストの数である。カウント値は、レスポンスとして未送信である第2リクエストの数を示す値である。
図6は、イーグレス処理部430の具体的な構成例を示す図である。
イーグレス処理部430は、受信部431と、レスポンスキュー432と、レスポンスデータバッファ433と、制御部434と、送信部435と、を備える。さらに、イーグレス処理部430は、監視部436を備える。
制御部434は、レジスタ611と、ステートマシン記憶部612と、を備える。
レジスタ611は、マックスペイロードサイズの初期値を記憶する記憶装置である。レジスタ611は、例えば、ホストブリッジ330を介して、または、直接、CPU360と接続している。CPU360で実行するOS(Operating System)は、レジスタ611にマックスペイロードサイズの初期値を書き込むことができる。
ステートマシン記憶部612は、エンド・ポイント320へのレスポンスのパケット発行を制御するための発行制御ステートマシンを含むステートマシンテーブル800を記憶する記憶装置である。レスポンスキュー432にエントリーされる第2レスポンス毎に、1つの発行制御ステートマシンが用意される。
図7に示すように、発行制御ステートマシンは、「有効(valid)」、「無効(invalid)」、「発行済(issued)」の3状態を持つ。発行制御ステートマシンの初期値には、「無効」状態が与えられる。
そして、制御部434は、第2レスポンスがレスポンスキュー432にエンキューされると、エンキューされた第2レスポンスについての発行制御ステートマシンを、「無効」状態から「有効」状態に設定する。
また、第2レスポンスがレスポンスキュー432からデキューされてエンド・ポイント320へのレスポンスとして送信されると、制御部434は、デキューされた第2レスポンスについての発行制御ステートマシンを、「有効」状態から「発行済」状態に設定する。
同一受信リクエストから分割された第2リクエストに対する第2レスポンスが全て「発行済」の状態になると、制御部434は、それら「発行済」状態となった第2レスポンスについての発行制御ステートマシンを、「発行済」状態から「無効」状態に初期化する。
制御部434は、第2レスポンスの受信状態、すなわち、ステートマシンテーブル800に記憶される発行制御ステートマシンの状態に基づいて、エンド・ポイント320へのレスポンス、すなわち、パケットの発行が可能か否かを判断する。また、制御部434は、ステートマシンテーブル800に記憶される発行制御ステートマシンの状態に基づいて、ペイロードサイズを決定する。この処理については、図10に示して後述する。
パケットの発行が可能と判断すると、制御部434は、第2レスポンスをレスポンスキュー432からデキューして送信部435に送る。このとき、制御部434は、送信部435にペイロードサイズを通知する。
送信部435は、ペイロード生成部621と、パケット生成部622と、出力バッファ623と、を備える。
ペイロード生成部621は、レスポンスキュー432からデキューされた第2レスポンスを受信すると、制御部434から通知されたペイロードサイズのペイロードを生成する。そして、ペイロード生成部621は、生成したペイロードをパケット生成部622に出力する。
パケット生成部622は、ペイロード生成部621からペイロードを受信すると、ヘッダ情報を生成して、ペイロード生成部621から受信したペイロードを含む、エンド・ポイント320へのレスポンスを生成する。パケット生成部622は、生成したレスポンスを出力バッファ623に格納する。
送信部435は、出力バッファ623にレスポンスが格納されると、出力バッファ623に格納されたレスポンスを、エンド・ポイント320に出力する。
監視部436は、出力バッファ623を監視して、送信部435のビジー(busy)状態を検出する。ビジー状態を検出すると、監視部436は、ビジー情報を生成して制御部434に通知する。このビジー情報には、送信部435がビジーか否かを示す情報が含まれる。
なお、監視部436は、出力バッファ623の空き状況に基づいて、例えば、出力バッファ623の、新たなパケットを格納するための空き容量が一定以下の場合に、送信部435がビジー状態であると判断することができる。また、監視部436は、出力バッファ623からエンド・ポイント320へパケットを送出する通信回線の通信状況に基づいて、例えば、通信回線がビジー状態の場合に、送信部435がビジー状態であると判断してもよい。
図8は、ステートマシンテーブル800の構成例を示す図である。
ステートマシンテーブル800は、図5に示した受信リクエスト番号「No.」毎に、受信リクエストに対するレスポンス、すなわち、第2レスポンス0、1、2、・・・それぞれのステートマシン0、1、2、・・・を含む情報である。
図8では、「有効」状態のステートマシンを○印で示している。また、空欄は、「無効」状態のステートマシンを示している。また、「−」は、「発行済」状態のステートマシンを示している。
図8のステートマシンテーブル800では、例えば、受信リクエスト番号「0」における、連続する4つのステートマシン0、1、2および3が、「有効」状態となっている。これは、受信リクエスト番号「0」における、第2レスポンス0、1、2、・・・をホストブリッジ330から既に受信していることを示している。
ここで、第2レスポンス0、1、2、・・・は、それぞれ第2リクエスト0、1、2、・・・に対するレスポンスである。第2リクエスト0、1、2、・・・が、第1リクエストで要求するデータを昇順に分割して要求するリクエストの場合、第2レスポンス0、1、2、・・・のデータ部に含まれるデータから、連続した1つのデータを得ることができる。
また、第2レスポンスのデータ部に含まれるデータのサイズが128Byteの場合、連続する第2レスポンス0、1、2および3のデータ部に含まれるデータのサイズの合計は、512Byteとなる。この場合、制御部434は、パケットが発行可能と判断することができる。
このように、第2レスポンスのステートマシンを、受信リクエスト番号「No.」に対して昇順に検索し、最初が「有効」状態、あるいは、最初から途中まで「発行済」で続けて「有効」状態であって、かつ、それら第2レスポンスのデータ部のデータのサイズの合計が特定のペイロードサイズに達した場合、制御部434は、パケットが発行可能と判断することができる。
また、連続する第2レスポンスのステートマシンが「有効」状態、かつ、それら第2レスポンスのデータ部のデータのサイズの合計が特定のペイロードサイズに達した場合以外は、制御部434は、パケットが発行可能でないと判断することができる。
図9は、図6に示したイーグレス処理部430におけるパケット生成処理の概要を示すフローチャートである。
制御部434は、ステートマシン記憶部612に記憶されたステートマシンテーブル800を参照し、パケットが発行可能と判断すると、以下の処理を開始する(ステップS900)。
ステップS901において、制御部434は、レスポンスキュー432から、パケットが発行可能な第2レスポンスのデキューを行なう。制御部434は、デキューした第2レスポンスを送信部435に出力する。
ステップS902において、制御部434は、監視部436から、ビジー情報を取得する。制御部434は、例えば、出力バッファ623に新たなパケットを記憶する空き容量がない場合、送信部435がビジー状態であると判別することができる。この場合、制御部434は、ビジー状態の解除待ちとなる。送信部435がビジー状態でない、またはビジー状態が解除された場合、制御部434は、処理をステップS903に移行する。
ステップS903において、制御部434は、ステートマシンの状態に基づいて、ペイロードサイズを決定する。そして、制御部434は、決定したペイロードサイズを、ペイロード生成部621に通知する。
ステップS904において、制御部434からペイロードサイズの通知を受けると、ペイロード生成部621は、制御部434から通知されたペイロードサイズのペイロードを、デキューした1または2以上の第2レスポンスのデータ部に含まれるデータから生成する。そして、ペイロード生成部621は、生成したペイロードをパケット生成部622に出力する。
ステップS905において、パケット生成部622は、ヘッダ情報を生成して、ペイロード生成部621から受信したペイロードを含む、エンド・ポイント320へのレスポンスを生成する。なお、レスポンスのヘッダ情報は、例えば、ペイロードに使用した第2レスポンスのヘッダ部に含まれる情報、例えば、送信先アドレスなど、に基づいて生成することができる。パケット生成部622は、生成したレスポンスを出力バッファ623に出力する。
ステップS906において、出力バッファ623にレスポンスが格納されると、送信部435は、出力バッファ623に格納されたレスポンスを順次、所定のエンド・ポイント320に送信する。
図10は、ペイロードサイズを決定する処理(ステップS903)の具体例を示す図である。
ステップS1001において、制御部434は、ステップS902で取得したビジー情報から、送信部435がビジー状態か否かを判別する。
送信部435がビジー状態であると判別すると(ステップS1001 YES)、制御部434は、処理をステップS1000に移行する。この場合、例えば、一定期間経過後に、制御部434は、再度ステップS1001の処理を行なう。制御部434は、送信部435のビジー状態が解除されるまで、ステップS1000とS1001の処理を繰り返す。なお、送信部435がビジー状態の間も、受信部431は、ホストブリッジ330から第2レスポンスを受信し、第2レスポンスに含まれるヘッダ部およびデータ部を、それぞれ、レスポンスキュー432およびレスポンスデータバッファ433に格納することができる。ただし、レスポンスキュー432およびレスポンスデータバッファ433に空き領域がある場合に限る。 送信部435がビジー状態でないと判別すると(ステップS1001 NO)、制御部434は、処理をステップS1002に移行する。この場合、制御部434は、レジスタ611を参照して、マックスペイロードサイズを取得する。
マックスペイロードサイズが512Byte以上の場合(ステップS1002 YES)、制御部434は、処理をステップS1003に移行する。この場合、制御部434は、ペイロードサイズが512Byteのレスポンスを生成可能か判別する(ステップS1003)。例えば、第2レスポンスのペイロードサイズが128Byteの場合、制御部434は、ステートマシンテーブル800に、4つ(4×128Byte=512Byte)以上連続する、最初が「有効」状態、あるいは、最初から途中まで「発行済」状態で続けて「有効」状態のステートマシンがあれば、ペイロードサイズが512Byteのレスポンスを生成可能と判別できる。
ペイロードサイズが512Byteのレスポンスを生成可能と判別した場合(ステップS1003 YES)、制御部434は、ペイロードサイズを512Byteに決定する(ステップS1004)。
マックスペイロードサイズが512Byteより小さい(ステップS1002 NO)、または、ペイロードサイズが512Byteのレスポンスを生成できないと判別した場合(ステップS1003 NO)、制御部434は、処理をステップS1005に移行する。そして、マックスペイロードサイズが256Byte以上場合(ステップS1005 YES)、制御部434は、ペイロードサイズが256Byteのレスポンスを生成可能か判別する(ステップS1006)。例えば、第2レスポンスのペイロードサイズが128Byteの場合、制御部434は、ステートマシンテーブル800に、2つ(2×128Byte=256Byte)以上連続する、最初が「有効」状態、あるいは、最初から途中まで「発行済」状態で続けて「有効」状態のステートマシンがあれば、ペイロードサイズが256Byteのレスポンスを生成可能と判別できる。
ペイロードサイズが256Byteのレスポンスを生成可能と判断した場合(ステップS1006 YES)、制御部434は、ペイロードサイズを256Byteに決定する(ステップS1007)。
マックスペイロードサイズが256Byteより小さい(ステップS1005 NO)、または、ペイロードサイズが256Byteのレスポンスを生成できないと判別した場合(ステップS1006 NO)、制御部434は、処理をステップS1008に移行する。この場合、制御部434は、ペイロードサイズが128Byteのレスポンスを生成可能か判別する(ステップS1008)。例えば、第2レスポンスのペイロードサイズが128Byteの場合、制御部434は、ステートマシンテーブル800に、少なくとも1つ(1×128Byte=128Byte)、最初が「有効」状態、あるいは、最初から途中まで「発行済」状態で続けて「有効」状態のステートマシンがあれば、ペイロードサイズが128Byteのレスポンスを生成可能と判別できる。
ペイロードサイズが128Byteのレスポンスを生成可能と判別した場合(ステップS1008 YES)、制御部434は、ペイロードサイズを128Byteに決定する(ステップS1009)。
また、ペイロードサイズが128Byteのレスポンスを生成できないと判別した場合(ステップS1008 NO)、制御部434は、処理をステップS1000に移行する。この場合、新たな第2レスポンスがレスポンスキュー432にエンキューされると、制御部434は、ステップS1000から処理を開始する。
ペイロードサイズを決定すると(ステップS1004、S1007およびS1008)、制御部434は、処理をステップS1010に移行する。そして、制御部434は、ペイロードサイズをペイロード生成部621に通知する。
以上の処理が終了すると、制御部434は、ペイロードサイズを決定する処理を終了する(ステップS1011)。
図11および図12は、本実施例に係るデータ転送処理による効果の一例を説明する図である。
図11に示すh0、h1、h2、・・・は、ホストブリッジ330から送られた第2レスポンス0、1、2、・・・のヘッダ部に含まれるデータを示している。また、図11に示すd0、d1、d2、・・・は、ホストブリッジ330から送られた第2レスポンス0、1、2、・・・のデータ部に含まれるデータを示している。
ホストブリッジ330−ルート・コンプレックス310間のバスがパラレルバスの場合、ホストブリッジ330から送られる第2レスポンスは、図11に示すように、ヘッダ部のデータと、データ部のデータと、が専用に割り当てられたバスを介して並列に送られる。
一方、ルート・コンプレックス310−エンド・ポイント320間のバスがシリアルバスの場合、ルート・コンプレックス310は、ホストブリッジ330から受信した第2レスポンスを受信順にエンド・ポイント320に転送する。
以下では、ホストブリッジ330から受信した第2レスポンス0、1、2、・・・が、ペイロードサイズが128Byteである場合について説明する。ただし、これは例示であり、ペイロードサイズを128Byteに限定する趣旨ではない。
例えば、第2レスポンス0のヘッダ部の受信が完了すると、第2レスポンス0についてのステートマシンの状態は、「有効」状態となる。この場合、ルート・コンプレックス310は、マックスペイロードサイズが512Byteや256Byteなどに設定されていても、エンド・ポイント320へのレスポンスのペイロードサイズを128Byteに変更する(ステップS1008 YES、S1009)。そして、ルート・コンプレックス310は、受信した第2レスポンスを、エンド・ポイント320へのレスポンスとして送信開始する。
同様に、ルート・コンプレックス310は、ホストブリッジ330から第2レスポンス1、2および3のヘッダ部の受信が完了すると、第2レスポンス1、2および30についてのステートマシンの状態が、「有効」状態となる。この場合、図12に示すように、ルート・コンプレックス310は、ホストブリッジ330から第2レスポンス1、2および3を受信すると、順次、受信した第2レスポンスをエンド・ポイント320へのレスポンスとして送信する。
このように、ルート・コンプレックス310は、エンド・ポイント320へのレスポンスのペイロードサイズを最大ペイロードサイズに固定せず、第2レスポンスの受信状態に応じて小さくする。そのため、ホストブリッジ330から受信する第2レスポンスのデータの合計が最大ペイロードサイズになるまで待つ必要がなくなる。その結果、ルート・コンプレックス310は、ホストブリッジ330から受信する第2レスポンスをエンド・ポイント320に転送する際のレイテンシを短縮することができる。
以上のように、ルート・コンプレックス310は、データ転送時のレイテンシを改善することができる。
また、ホストブリッジ330から受信した第2レスポンス4を、エンド・ポイント320に送信する際、ルート・コンプレックス310は、ホストブリッジ330から第2レスポンス4および5のヘッダ部の受信が完了している。この場合、連続する第2レスポンス4および5についてのステートマシンの状態は、「有効」状態となる。この場合、制御部434は、レスポンスのペイロードサイズを256Bと決定する(ステップS1006 YES、S1007)。
この場合、ルート・コンプレックス310は、ホストブリッジ330から受信した第2レスポンス4のデータ部のデータd4と、第2レスポンス5のデータ部のデータd5と、を含む256Byteのペイロードを生成して、エンド・ポイント320に送信する。
このように、ルート・コンプレックス310は、第2レスポンスの受信状態に応じて、ペイロードサイズを大きくする。すると、バスに占めるデータの割合が大きくなる。その結果、ルート・コンプレックス310−エンド・ポイント320間のバスを効率的に使用してスループットを向上させることができる。
以上の説明において、ホストブリッジ330は、第1の装置の一例として上げられる。また、エンド・ポイント320は、第2の装置の一例として挙げられる。また、レスポンスキュー432およびレスポンスデータバッファ433は、第1の装置から送られる第1のデータを記憶する第1の記憶手段の一例として挙げられる。また、ステートマシンテーブル800は、第1の記憶手段に記憶される第1のデータについての第2の装置への送信状態を管理する管理情報の一例として挙げられる。また、ステートマシン記憶部612は、管理情報を記憶する第2の記憶手段の一例として挙げられる。また、ペイロードサイズは、第1のデータについての第2の装置への送信状態に応じて、第2の装置に転送する第2のデータのサイズの一例として挙げられる。また、制御部434は、第1のデータについての第2の装置への送信状態に応じて、第2の装置に転送する第2のデータのサイズを動的に決定する決定手段の一例として挙げられる。また、送信部435は、1または2以上の第1のデータを含むサイズの第2のデータを生成して第2の装置に送信する送信手段の一例として挙げられる。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1の装置から送られるデータを第2の装置に転送するデータ転送装置において、
前記第1の装置から送られる第1のデータを記憶する第1の記憶手段と、
前記第1の記憶手段に記憶される前記第1のデータについての第2の装置への送信状態を管理する管理情報を記憶する第2の記憶手段と、
前記送信状態に応じて、前記第2の装置に転送する第2のデータのサイズを動的に決定する決定手段と、
1または2以上の前記第1のデータを含む前記サイズの前記第2のデータを生成して前記第2の装置に送信する送信手段と、
を備えるデータ転送装置。
(付記2)
前記決定手段は、前記第1の記憶手段に記憶された前記第1のデータについての前記第2の装置への送信状態およびデータサイズに基づいて、前記第2のデータのサイズを決定する、
ことを特徴とする付記1に記載のデータ転送装置。
(付記3)
前記送信手段のビジー状態を検出する検出手段をさらに備え、
前記検出手段が、前記送信手段のビジー状態を検出している間も、前記第1の装置から送られる第1のデータを、前記第1の記憶手段に記憶する、
ことを特徴とする付記1に記載のデータ転送装置。
(付記4)
前記第2の装置から第1のリクエストを受信すると、前記第1のリクエストが要求するデータを所定のサイズに分割して要求するために、前記第1のリクエストを1または2以上の第2のリクエストに分割して前記第1の装置に送信する送信手段、
をさらに備える付記1に記載のデータ転送装置。
(付記5)
前記第1のデータは、前記第1の装置が送信する、前記第2のリクエストに対するレスポンスである、
ことを特徴とする付記4に記載のデータ転送装置。
(付記6)
第1の装置から送られるデータを第2の装置に転送するデータ転送方法において、
データ転送装置が、
前記第1の装置から送られる第1のデータを記憶する第1の記憶手段に記憶される前記第1のデータについての第2の装置への送信状態を管理する管理情報を記憶する第2の記憶手段から、前記送信状態を取得し、
前記送信状態に応じて、前記第2の装置に転送する第2のデータのサイズを動的に決定し、
1または2以上の前記第1のデータを含む前記サイズの前記第2のデータを生成して前記第2の装置に送信する、
処理を実行するデータ転送方法。
(付記7)
第1の装置から送られるデータを第2の装置に転送するデータ転送装置を含む情報処理装置において、
前記データ転送装置は、
前記第1の装置から送られる第1のデータを記憶する第1の記憶手段と、
前記第1の記憶手段に記憶される前記第1のデータについての第2の装置への送信状態を管理する管理情報を記憶する第2の記憶手段と、
前記送信状態に応じて、前記第2の装置に転送する第2のデータのサイズを動的に決定する決定手段と、
1または2以上の前記第1のデータを含む前記サイズの前記第2のデータを生成して前記第2の装置に送信する送信手段と、
を備える情報処理装置。
420 スコアボード
430 イーグレス処理部
431 受信部
432 レスポンスキュー
433 レスポンスデータバッファ
434 制御部
435 送信部
436 監視部
611 レジスタ
612 ステートマシン記憶部
621 ペイロード生成部
622 パケット生成部
623 出力バッファ

Claims (8)

  1. 第1の装置から送られるデータを第2の装置に転送するデータ転送装置において、
    前記第2の装置が前記第1の装置に要求した複数のリクエストの各々が複数に分割されて前記第1の装置に複数の分割リクエストとなって送信された後に、前記複数の分割リクエストの各々に応答して前記第1の装置から送られる複数の第1のデータを記憶する第1の記憶手段と、
    前記第1の記憶手段に記憶される前記複数の第1のデータについて前記第2の装置への送信が完了したかを前記複数のリクエスト毎に管理する管理情報を記憶する第2の記憶手段と、
    前記管理情報に応じて前記複数のリクエスト毎に前記第2の装置が要求したリクエストに対するデータの一部または全部として前記第2の装置に転送する第2のデータのサイズを動的に決定する決定手段と、
    決定された前記サイズに基づき、前記複数のリクエスト毎に1または2以上の前記第1のデータを含む前記サイズの前記第2のデータを生成して前記第2の装置に送信する送信手段と、
    を備えるデータ転送装置。
  2. 前記管理情報は、前記第1の記憶手段に記憶された前記複数の第1のデータであって前記第2の装置へ未送信の該第1のデータのサイズを示す情報を含み、
    前記決定手段は、前記管理情報が示すサイズに基づいて、前記第2のデータのサイズを決定する、
    ことを特徴とする請求項1に記載のデータ転送装置。
  3. 前記送信手段のビジー状態を検出する検出手段をさらに備え、
    前記検出手段が、前記送信手段のビジー状態を検出している間も、前記第1の装置から送られる前記複数の第1のデータを、前記第1の記憶手段に記憶する、
    ことを特徴とする請求項1に記載のデータ転送装置。
  4. 第1の装置から送られるデータを第2の装置に転送するデータ転送装置において、
    前記第2の装置から第1のリクエストを受信すると、前記第1のリクエストが要求するデータを所定のサイズに分割して要求するために、前記第1のリクエストを1または2以上の第2のリクエストに分割して前記第1の装置に送信する送信手段
    前記第1の装置から送られる第1のデータを記憶する第1の記憶手段と、
    前記第1の記憶手段に記憶される前記第1のデータについて前記第2の装置への送信が完了したかを管理する管理情報を記憶する第2の記憶手段と、
    前記管理情報に応じて、前記第2の装置に転送する第2のデータのサイズを動的に決定する決定手段と、
    1または2以上の前記第1のデータを含む前記サイズの前記第2のデータを生成して前記第2の装置に送信する送信手段、
    を備えるデータ転送装置。
  5. 前記決定手段は、前記管理情報が示すサイズが、前記第2の装置との間で一度に送受信可能な最大データサイズより小さい且つ所定の閾値以上である場合、前記第2の装置に転送する第2のデータのサイズを前記閾値に対応する値に決定する
    ことを特徴とする請求項2に記載のデータ転送装置。
  6. 第1の装置から送られるデータを第2の装置に転送するデータ転送装置において、
    前記第1の装置から送られる第1のデータを記憶する第1の記憶手段と、
    前記第1の記憶手段に記憶される前記第1のデータについて前記第2の装置への送信が完了したかを管理する管理情報を記憶する第2の記憶手段と、
    前記管理情報に応じて、前記第2の装置に転送する第2のデータのサイズを動的に決定する決定手段と、
    1または2以上の前記第1のデータを含む前記サイズの前記第2のデータを生成して前記第2の装置に送信する送信手段と、
    を備え、
    前記第1の記憶手段は、前記第2の装置から受信した第1のリクエストを分割した複数の第2のリクエストに対する、前記第1の装置から送られる複数の第1のデータを記憶し、
    前記第2の記憶手段は、前記第1の記憶手段に記憶された前記第1のデータであって前記第2の装置へ未送信の該第1のデータのサイズを示す管理情報を、前記第1のリクエストの識別情報と対応付けて記憶し、
    前記決定手段は、前記第1のリクエストに対応する前記管理情報が示すサイズが、前記第2の装置との間で一度に送受信可能な最大データサイズより小さい且つ所定の閾値以上である場合、前記第2の装置に転送する第2のデータのサイズを前記閾値に対応する値に決定し、
    前記送信手段は、複数の前記第1のデータを含む、前記決定手段により決定された前記サイズの前記第2のデータを生成して、前記第2の装置に送信する
    ことを特徴とするデータ転送装置。
  7. 第1の装置から送られるデータを第2の装置に転送するデータ転送方法において、
    データ転送装置が、
    前記第2の装置が前記第1の装置に要求した複数のリクエストの各々が複数に分割されて前記第1の装置に複数の分割リクエストとなって送信された後に、前記複数の分割リクエストの各々に応答して前記第1の装置から送られる複数の第1のデータを記憶する第1の記憶手段に記憶される前記複数の第1のデータについて前記第2の装置への送信が完了したかを前記複数のリクエスト毎に管理する管理情報を記憶する第2の記憶手段から、前記管理情報を取得し、
    前記管理情報に応じて前記複数のリクエスト毎に前記第2の装置が要求したリクエストに対するデータの一部または全部として前記第2の装置に転送する第2のデータのサイズを動的に決定し、
    決定された前記サイズに基づき、前記複数のリクエスト毎に1または2以上の前記第1のデータを含む前記サイズの前記第2のデータを生成して前記第2の装置に送信する、
    処理を実行するデータ転送方法。
  8. 第1の装置から送られるデータを第2の装置に転送するデータ転送装置を含む情報処理装置において、
    前記データ転送装置は、
    前記第2の装置が前記第1の装置に要求した複数のリクエストの各々が複数に分割されて前記第1の装置に複数の分割リクエストとなって送信された後に、前記複数の分割リクエストの各々に応答して前記第1の装置から送られる複数の第1のデータを記憶する第1の記憶手段と、
    前記第1の記憶手段に記憶される前記複数の第1のデータについて前記第2の装置への送信が完了したかを前記複数のリクエスト毎に管理する管理情報を記憶する第2の記憶手段と、
    前記管理情報に応じて前記複数のリクエスト毎に前記第2の装置が要求したリクエストに対するデータの一部または全部として前記第2の装置に転送する第2のデータのサイズを動的に決定する決定手段と、
    決定された前記サイズに基づき、前記複数のリクエスト毎に1または2以上の前記第1のデータを含む前記サイズの前記第2のデータを生成して前記第2の装置に送信する送信手段と、
    を備える情報処理装置。
JP2011068863A 2011-03-25 2011-03-25 データ転送装置、データ転送方法および情報処理装置 Active JP5772132B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011068863A JP5772132B2 (ja) 2011-03-25 2011-03-25 データ転送装置、データ転送方法および情報処理装置
US13/353,930 US20120246263A1 (en) 2011-03-25 2012-01-19 Data transfer apparatus, data transfer method, and information processing apparatus
EP12152071A EP2503746A1 (en) 2011-03-25 2012-01-23 Data transfer apparatus, data transfer method, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011068863A JP5772132B2 (ja) 2011-03-25 2011-03-25 データ転送装置、データ転送方法および情報処理装置

Publications (2)

Publication Number Publication Date
JP2012205142A JP2012205142A (ja) 2012-10-22
JP5772132B2 true JP5772132B2 (ja) 2015-09-02

Family

ID=45558558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011068863A Active JP5772132B2 (ja) 2011-03-25 2011-03-25 データ転送装置、データ転送方法および情報処理装置

Country Status (3)

Country Link
US (1) US20120246263A1 (ja)
EP (1) EP2503746A1 (ja)
JP (1) JP5772132B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6769230B2 (ja) * 2016-10-14 2020-10-14 オムロン株式会社 通信装置、制御装置および通信方法
US11909841B2 (en) * 2020-05-29 2024-02-20 Intel Corporation System, apparatus and method for adaptive peer-to-peer communication with edge platform

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6132652A (ja) * 1984-07-24 1986-02-15 Canon Inc 画像通信装置
US5894554A (en) * 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US6003089A (en) * 1997-03-31 1999-12-14 Siemens Information And Communication Networks, Inc. Method for constructing adaptive packet lengths in a congested network
JPH10322392A (ja) * 1997-05-16 1998-12-04 Hitachi Ltd パケットネットワークシステム及び通信制御装置
US6421720B2 (en) * 1998-10-28 2002-07-16 Cisco Technology, Inc. Codec-independent technique for modulating bandwidth in packet network
JP2001007854A (ja) 1999-06-23 2001-01-12 Nec Corp パケット転送網における平均遅延時間短縮方式及び方法
JP2001357312A (ja) * 1999-11-24 2001-12-26 Sega Corp 情報処理装置、ファイルサーバ、課金管理システムおよび課金管理方法並びにプログラムを記録した記録媒体
US20040172493A1 (en) * 2001-10-15 2004-09-02 Advanced Micro Devices, Inc. Method and apparatus for handling split response transactions within a peripheral interface of an I/O node of a computer system
JP4199997B2 (ja) * 2002-12-18 2008-12-24 株式会社エヌ・ティ・ティ・ドコモ データ伝送方法、データ伝送装置およびデータ伝送システム
US7395051B2 (en) * 2004-02-23 2008-07-01 Research In Motion Limited Cellular communications system for providing non-real time subscription data and related methods
US7356021B2 (en) * 2004-09-29 2008-04-08 Texas Instruments Incorporated Increasing the throughput of voice over internet protocol data on wireless local area networks
JP4333561B2 (ja) * 2004-11-05 2009-09-16 ブラザー工業株式会社 ネットワークシステム、ディレクトリサーバおよび端末装置
US20060149726A1 (en) * 2004-12-30 2006-07-06 Thomas Ziegert Segmentation of web pages
US8239535B2 (en) * 2005-06-06 2012-08-07 Adobe Systems Incorporated Network architecture with load balancing, fault tolerance and distributed querying
JP4830659B2 (ja) * 2006-06-16 2011-12-07 富士ゼロックス株式会社 液滴吐出装置
JP5108261B2 (ja) * 2006-07-11 2012-12-26 株式会社リコー 情報処理装置およびデータ通信装置
TWI334544B (en) * 2007-05-09 2010-12-11 Via Tech Inc Methods and systems for centralized link power management control (clmc)
US8325749B2 (en) * 2008-12-24 2012-12-04 Juniper Networks, Inc. Methods and apparatus for transmission of groups of cells via a switch fabric
US20100094965A1 (en) * 2008-10-15 2010-04-15 Patentvc Ltd. Erasure-coded content assembly and retransmission
KR20120072210A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 네트워크 시스템 및 이를 위한 사용자 기기, 호 처리 장치 및 네트워크 브리지
US20120209413A1 (en) * 2011-02-14 2012-08-16 Microsoft Corporation Background Audio on Mobile Devices
JP5289494B2 (ja) * 2011-03-25 2013-09-11 株式会社東芝 データ処理装置、データ処理方法、及びプログラム

Also Published As

Publication number Publication date
EP2503746A1 (en) 2012-09-26
JP2012205142A (ja) 2012-10-22
US20120246263A1 (en) 2012-09-27

Similar Documents

Publication Publication Date Title
US6836808B2 (en) Pipelined packet processing
KR101006260B1 (ko) 네트워크 프로토콜 처리의 오프로드에서 메모리 관리를 지원하기 위한 장치 및 방법
CN106257434B (zh) 一种基于增强型外设互连协议总线的数据传输方法及装置
CA2573162C (en) Apparatus and method for supporting connection establishment in an offload of network protocol processing
CN109558344B (zh) 一种适用于网络传输的dma传输方法及dma控制器
JP4908017B2 (ja) Dmaデータ転送装置及びdmaデータ転送方法
US7117308B1 (en) Hypertransport data path protocol
EP1750202A1 (en) Combining packets for a packetized bus
JP2007079789A (ja) 計算機システム及びイベント処理方法
CN101937406B (zh) 一种VxWorks操作系统中实现驱动1394设备的方法和系统
JP5591729B2 (ja) トレースデータの優先度の選択
EP2871580A1 (en) Programmed input/output mode
JP2008086027A (ja) 遠隔要求を処理する方法および装置
JP3127523B2 (ja) 通信制御装置およびデータ送信方法
JP6492083B2 (ja) インフィニバンド(IB)上で仮想ホストバスアダプタ(vHBA)を管理およびサポートするためのシステムおよび方法、ならびに単一の外部メモリインターフェイスを用いてバッファの効率的な使用をサポートするためのシステムおよび方法
WO2004019165A2 (en) Method and system for tcp/ip using generic buffers for non-posting tcp applications
CN117425884A (zh) 网络接口设备
EP3461085B1 (en) Method and device for queue management
WO2001067713A1 (en) A packet format independent computer network controller
JP5772132B2 (ja) データ転送装置、データ転送方法および情報処理装置
WO2019095942A1 (zh) 一种数据传输方法及通信设备
CN107085557A (zh) 直接存储器访问系统以及相关方法
JP2004094931A (ja) ネットワークシステムおよびネットワークにおける通信方法
CN117041186B (zh) 数据传输方法、芯片系统、计算设备及存储介质
JP2002176464A (ja) ネットワークインタフェース装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150511

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150615

R150 Certificate of patent or registration of utility model

Ref document number: 5772132

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150