JP2007235211A - データ送受信装置、データ送受信方法およびデータ送受信プログラム - Google Patents
データ送受信装置、データ送受信方法およびデータ送受信プログラム Download PDFInfo
- Publication number
- JP2007235211A JP2007235211A JP2006050701A JP2006050701A JP2007235211A JP 2007235211 A JP2007235211 A JP 2007235211A JP 2006050701 A JP2006050701 A JP 2006050701A JP 2006050701 A JP2006050701 A JP 2006050701A JP 2007235211 A JP2007235211 A JP 2007235211A
- Authority
- JP
- Japan
- Prior art keywords
- payload
- reception
- payload amount
- amount
- packet
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/40—Wormhole routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/266—Stopping or restarting the source, e.g. X-on or X-off
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】カットスルー方式を採用するネットワークデバイスにおいてアンダーランの発生を防止することを課題とする。
【解決手段】実施例1に係るデータ送受信装置は、パケットの先頭に付加されたヘッダを参照して現在受信中のパケットに含まれる総ペイロード量を取得する(図1の(1)参照)。続いて、このデータ送受信装置は、取得した総ペイロード量、受信ポートのパケット受信速度および送信ポートのパケット送信速度からDMA開始ペイロード量を算出する(図1の(2)参照)。具体的には、総ペイロード量に、パケット送信速度からパケット受信速度を減算して得た値とパケット送信速度の値とからなる比を乗算して、DMA開始ペイロード量を算出する。
【選択図】 図1
【解決手段】実施例1に係るデータ送受信装置は、パケットの先頭に付加されたヘッダを参照して現在受信中のパケットに含まれる総ペイロード量を取得する(図1の(1)参照)。続いて、このデータ送受信装置は、取得した総ペイロード量、受信ポートのパケット受信速度および送信ポートのパケット送信速度からDMA開始ペイロード量を算出する(図1の(2)参照)。具体的には、総ペイロード量に、パケット送信速度からパケット受信速度を減算して得た値とパケット送信速度の値とからなる比を乗算して、DMA開始ペイロード量を算出する。
【選択図】 図1
Description
この発明は、外部から受信するパケットを受信バッファに蓄積するとともに、当該パケットの全データの受信を待つことなく当該受信バッファに蓄積されたパケットを外部へ送信するデータ送受信装置、データ送受信方法およびデータ送受信プログラムに関する。
従来より、ネットワーク上を流れるパケットの送受信方式として受信パケットの高速な伝送を可能とするカットスルー方式というものがある(例えば、特許文献1参照)。例えば、ネットワークデバイスにおいて実行されるカットスルー方式を採用したDMA(Direct Memory Access)について簡単に説明すると、パケットの受信を開始したネットワークデバイスは、パケットの全データが受信されるのを待つことなく、受信パケットのDMAをすぐに開始する。
ところで、上記した従来の技術は、ネットワークデバイスにおけるDMAの際にアンダーラン(受信バッファ内のデータが枯渇する現象)が発生する場合が考えられるという問題点があった。すなわち、ネットワークデバイスの受信ポートの伝送速度が、ネットワークデバイスの送信ポートの伝送速度よりも低速な場合には、パケットの全データが受信バッファに全て蓄積されるのを待つことなくDMAを開始すると、受信バッファ内のデータが枯渇するアンダーランが発生する場合が考えられるという問題点があり、さらには、アンダーランによる波及的な障害が発生(例えば、存在しないデータの送信によるデータ化けが発生)する場合も考えられる。
なお、ネットワークデバイスにおけるDMAの際に発生するアンダーランは、カットスルー方式を採用するネットワークデバイス間で行われるパケットの送受信においても同様に生じうる問題である。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、カットスルー方式を採用するネットワークデバイスにおいてアンダーランの発生を防止することが可能なデータ送受信装置、データ送受信方法およびデータ送受信プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、外部から受信するパケットを受信バッファに蓄積するとともに、当該パケットの全データの受信を待つことなく当該受信バッファに蓄積されたパケットを外部へ送信するデータ送受信装置において、前記受信するパケットの総ペイロード量に、前記パケット送信速度からパケットの受信速度を減算して得た値と当該パケット送信速度の値とからなる比を乗算して、所定のペイロード量を算出するペイロード量算出手段と、前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出手段により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定手段と、前記ペイロード量判定手段によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御手段と、を備えたことを特徴とする。
また、請求項2に係る発明は、外部から受信するパケットを受信バッファに蓄積するとともに、当該パケットの全データの受信を待つことなく当該受信バッファに蓄積されたパケットを外部へ送信するデータ送受信方法において、前記受信するパケットの総ペイロード量に、前記パケット送信速度からパケットの受信速度を減算して得た値と当該パケット送信速度の値とからなる比を乗算して、所定のペイロード量を算出するペイロード量算出工程と、前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出工程により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定工程と、前記ペイロード量判定工程によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御工程と、を含んだことを特徴とする。
また、請求項3に係る発明は、外部から受信するパケットを受信バッファに蓄積するとともに、当該パケットの全データの受信を待つことなく当該受信バッファに蓄積されたパケットを外部へ送信する方法をコンピュータに実行させるデータ送受信プログラムにおいて、前記受信するパケットの総ペイロード量に、前記パケット送信速度からパケットの受信速度を減算して得た値と当該パケット送信速度の値とからなる比を乗算して、所定のペイロード量を算出するペイロード量算出手順と、前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出手順により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定手順と、前記ペイロード量判定手順によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御手順と、コンピュータに実行させることを特徴とする。
請求項1、2または3の発明によれば、受信するパケットの総ペイロード量に、パケット送信速度からパケットの受信速度を減算して得た値とパケット送信速度の値とからなる比を乗算して、所定のペイロード量(例えば、DMAを開始するペイロード量)を算出するとともに、受信バッファに現に蓄積されているペイロード量が所定のペイロード量に到達しているかどうかを判定し、受信バッファに現に蓄積されているペイロード量が所定のペイロード量に到達していると判定された場合に、受信バッファに現に蓄積されているペイロードの送信を開始するように制御するので、カットスルー方式を採用するネットワークデバイスにおいてアンダーランの発生を防止することが可能となる。
以下に添付図面を参照して、この発明に係るデータ送受信装置、データ送受信方法およびデータ送受信プログラムの実施例を詳細に説明する。なお、以下では、この発明に係るデータ送受信装置においてカットスルー方式を採用したDMA(Direct Memory Access)を実行する場合を実施例1として説明した後に、この発明に含まれる他の実施例を説明する。
以下の実施例1では、実施例1に係るデータ送受信装置の概要および特徴、データ受信装置の構成および処理の流れを順に説明し、最後に実施例1による効果を説明する。
[データ送受信装置の概要および特徴(実施例1)]
まず最初に、図1を用いて、実施例1に係るデータ送受信装置の概要および特徴を説明する。図1は、実施例1に係るデータ送受信装置の概要を説明するための図である。同図に示すように、実施例1に係るデータ送受信装置は、外部(例えば、他のネットワークデバイス)から受信するパケットを受信バッファに蓄積するとともに、パケットの全データの受信を待つことなく受信バッファに蓄積されたパケットを外部へ送信することを概要とするカットスルー方式を採用するものであるが、カットスルー方式を採用するネットワークデバイスにおいてアンダーランの発生を防止する点に主たる特徴がある。
まず最初に、図1を用いて、実施例1に係るデータ送受信装置の概要および特徴を説明する。図1は、実施例1に係るデータ送受信装置の概要を説明するための図である。同図に示すように、実施例1に係るデータ送受信装置は、外部(例えば、他のネットワークデバイス)から受信するパケットを受信バッファに蓄積するとともに、パケットの全データの受信を待つことなく受信バッファに蓄積されたパケットを外部へ送信することを概要とするカットスルー方式を採用するものであるが、カットスルー方式を採用するネットワークデバイスにおいてアンダーランの発生を防止する点に主たる特徴がある。
この主たる特徴について具体的に説明すると、実施例1に係るデータ送受信装置は、ヘッダおよびペイロードからなるパケットを受信すると、現在受信中のパケットから受信済みのペイロード量をペイロード量カウンタで計量して、ペイロードを受信バッファに順次蓄積するとともに、パケットの先頭に付加されたヘッダを参照して現在受信中のパケットに含まれる総ペイロード量を取得する(図1の(1)参照)。
続いて、このデータ送受信装置は、取得した総ペイロード量、受信ポートのパケット受信速度および送信ポートのパケット送信速度からDMA開始ペイロード量を算出する(図1の(2)参照)。具体的には、総ペイロード量に、パケット送信速度からパケットの受信速度を減算して得た値とパケット送信速度の値とからなる比を乗算して、DMA開始ペイロード量を算出する。なお、受信ポートのパケット受信速度および送信ポートのパケット送信速度は、このデータ送受信装置の起動時または初期化時に固定的に決定されるものである。
DMA開始ペイロード量の算出後、このデータ送受信装置は、受信済みのペイロード量を判定する(図1の(3)参照)。具体的には、ペイロード量カウンタにおいて計量されている受信済みペイロード量が先ほど算出したDMA開始ペイロード量に到達しているかどうかを判定する。判定の結果、受信済みペイロード量がDMA開始ペイロード量に到達している場合には、このデータ送受信装置は、受信バッファに対してDMA開始指令を出力する。この指令を受けて受信バッファは、蓄積しているペイロードをDMAデータとして送信ポートに出力し、出力されたDMAデータは送信ポートを介してパケットとして外部(例えば、サーバ内のメインメモリなど)に送信される。
このようなことから、実施例1に係るデータ送受信装置は、上述した主たる特徴の如く、カットスルー方式を採用するネットワークデバイスにおいてアンダーランの発生を防止することが可能となる。
[データ送受信装置の構成(実施例1)]
次に、図2を用いて、実施例1に係るデータ送受信装置の構成を説明する。図2は、実施例1に係るデータ送受信装置の構成を示すブロック図である。同図に示すように、このデータ送受信装置10は、受信ポート11と、ペイロード量取得回路12と、受信ペイロード量カウンタ13と、受信バッファ14と、DMA開始ペイロード量計算回路15と、比較回路16と、DMA制御回路17と、送信ポート18とから構成される。
次に、図2を用いて、実施例1に係るデータ送受信装置の構成を説明する。図2は、実施例1に係るデータ送受信装置の構成を示すブロック図である。同図に示すように、このデータ送受信装置10は、受信ポート11と、ペイロード量取得回路12と、受信ペイロード量カウンタ13と、受信バッファ14と、DMA開始ペイロード量計算回路15と、比較回路16と、DMA制御回路17と、送信ポート18とから構成される。
このうち、受信ポート11は、外部(例えば、他のネットワークデバイス)から送信されたパケットを受信する処理部である。また、受信ポート11により受信されたパケットを構成するヘッダおよびペイロードはそれぞれ、ペイロード量取得回路12および受信バッファ14に自動的に出力される。
ペイロード量取得回路12は、受信ポート11によって現在受信中のパケットの先頭に付加されたヘッダを参照して、現在受信中パケットに含まれる総ペイロード量を取得する処理部である。また、このペイロード量取得回路12は、取得した総ペイロード量をDMA開始ペイロード量計算回路15に出力する。
受信ペイロード量カウンタ13は、受信ポート11によって現在受信中のパケットから受信済みのペイロード量を計量する処理部である。具体的には、この受信ペイロード量カウンタ13は、受信ポート11により受信されて受信バッファ14に自動的に出力されるペイロードから、受信済み(蓄積される)ペイロード量を計量する。また、この受信ペイロード量カウンタ13は、計量した受信済みのペイロード量を比較回路16に出力する。
受信バッファ14は、ペイロードの蓄積や出力を行う処理部である。具体的には、この受信バッファ14は、受信ポート11によって現在受信中のパケットからペイロードを順次蓄積する。また、この受信バッファ14は、DMA制御回路17からDMA開始指令を受け付けると、送信ポート18に対し、蓄積しているペイロードをDMAデータとして出力開始する。
DMA開始ペイロード計算回路15は、DMAを開始するペイロード量を算出する処理部である。具体的には、このDMA開始ペイロード計算回路15は、ペイロード量取得回路12から受け付けた総ペイロード量に、送信ポート18のパケット送信速度から受信ポート11のパケット受信速度を減算して得た値と送信ポート18のパケット送信速度の値とからからなる比を乗算して、DMA開始ペイロード量を算出する(図3参照)。また、このDMA開始ペイロード計算回路15は、算出したDMA開始ペイロード量を比較回路16に出力する。なお、受信ポートのパケット受信速度および送信ポートのパケット送信速度は、このデータ送受信装置の起動時または初期化時に固定的に決定されるものである。
比較回路16は、受信済みのペイロード量について判定を行う処理部である。具体的には、この比較回路16は、受信ペイロード量カウンタ13から受け付けた受信済みのペイロード量がDMA開始ペイロード計算回路15により算出されたDMA開始ペイロード量に到達しているかどうかを判定する。判定の結果、受信済みのペイロード量がDMA開始ペイロード量に到達している場合には、この比較回路16は、DMA起動指令をDMA制御回路17に出力する。一方、判定の結果、受信済みのペイロード量がDMA開始ペイロード量に到達していない場合には、この比較回路16は、受信済みのペイロード量がDMA開始ペイロード量に到達するまで繰り返し判定を行う。
DMA制御回路17は、DMAの開始を制御する処理部である。具体的には、比較回路16からDMA起動指令を受け付けると、このDMA制御回路17はDMA開始指令を受信バッファ14に出力する。
送信ポート18は、パケットを外部(例えば、他のネットワークデバイスやサーバのメインメモリなど)に送信する処理部である。具体的には、DMA制御回路17からDMA開始指令を受け付けた受信バッファ14からDMAデータを受け付けると、この送信ポート18はDMAデータをパケットとしてサーバのメインメモリに送信する。
[データ送受信装置による処理(実施例1)]
次に、図4を用いて、データ送受信装置による処理を説明する。図4は、実施例1に係るデータ送受信装置の処理の流れを示すフローチャートである。同図に示すように、パケットを受信すると(ステップS401肯定)、ペイロード量取得回路12は、受信ポート11によって現在受信中のパケットの先頭に付加されたヘッダを参照して、現在受信中パケットに含まれる総ペイロード量を取得する(ステップS402)。
次に、図4を用いて、データ送受信装置による処理を説明する。図4は、実施例1に係るデータ送受信装置の処理の流れを示すフローチャートである。同図に示すように、パケットを受信すると(ステップS401肯定)、ペイロード量取得回路12は、受信ポート11によって現在受信中のパケットの先頭に付加されたヘッダを参照して、現在受信中パケットに含まれる総ペイロード量を取得する(ステップS402)。
次に、DMA開始ペイロード量計算回路15は、DMA開始ペイロード量を算出する処理を行う(ステップS403)。具体的には、このDMA開始ペイロード計算回路15は、ペイロード量取得回路12から受け付けた総ペイロード量に、送信ポート18のパケット送信速度から受信ポート11のパケット受信速度を減算して得た値と送信ポート18のパケット送信速度の値とからからなる比を乗算して、DMA開始ペイロード量を算出する(図3参照)。
続いて、比較回路16は、受信済みのペイロード量について判定を行う(ステップS404)。具体的には、この比較回路16は、受信ペイロード量カウンタ13から受け付けた受信済みのペイロード量がDMA開始ペイロード計算回路15により算出されたDMA開始ペイロード量に到達しているかどうかを判定する。
判定の結果、受信済みのペイロード量がDMA開始ペイロード量に到達している場合には(ステップS404肯定)、この比較回路16は、DMA起動指令をDMA制御回路17に出力し、DMA起動指令を受け付けたDMA制御回路17は、DMA開始指令を受信バッファ14に出力する。一方、判定の結果、受信済みのペイロード量がDMA開始ペイロード量に到達していない場合には(ステップS404否定)、この比較回路16は、受信済みのペイロード量がDMA開始ペイロード量に到達するまで繰り返し判定を行う。
[実施例1の効果]
上述してきたように、実施例1によれば、このデータ送受信装置は、受信するパケットの総ペイロード量にパケットの受信速度および送信速度からなる比を掛け合わせて所定のペイロード量(例えば、DMAを開始するペイロード量)を算出するとともに、受信バッファに現に蓄積されているペイロード量が所定のペイロード量に到達しているかどうかを判定し、受信バッファに現に蓄積されているペイロード量が所定のペイロード量に到達していると判定された場合に、受信バッファに現に蓄積されているペイロードの送信を開始するように制御するので、カットスルー方式を採用するネットワークデバイスにおいてアンダーランの発生を防止することが可能となる。
上述してきたように、実施例1によれば、このデータ送受信装置は、受信するパケットの総ペイロード量にパケットの受信速度および送信速度からなる比を掛け合わせて所定のペイロード量(例えば、DMAを開始するペイロード量)を算出するとともに、受信バッファに現に蓄積されているペイロード量が所定のペイロード量に到達しているかどうかを判定し、受信バッファに現に蓄積されているペイロード量が所定のペイロード量に到達していると判定された場合に、受信バッファに現に蓄積されているペイロードの送信を開始するように制御するので、カットスルー方式を採用するネットワークデバイスにおいてアンダーランの発生を防止することが可能となる。
さて、これまで本発明の実施例1について説明したが、本発明は上述した実施例1以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
(1)装置構成等
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図2示したデータ送受信装置10の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、データ送受信装置10の分散・統合の具体的形態は図示のものに限られず、ペイロード量取得回路12、DMA開始ペイロード量計算回路15、比較回路16およびDMA制御回路17を統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、データ送受信装置10にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
なお、上記の実施例1で説明したデータ送受信装置の処理方法(図4参照)は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。例えば、データ送受信装置10にて行なわれる各処理機能についてのプログラムを読み出して、所定のレジスタなど(例えば、DMA開始を担うレジスタなど)に書き込むことによって実行することができる。また、このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
(付記1)外部から受信するパケットを受信バッファに蓄積するとともに、当該パケットの全データの受信を待つことなく当該受信バッファに蓄積されたパケットを外部へ送信するデータ送受信装置において、
前記受信するパケットの総ペイロード量に前記パケットの受信速度および送信速度からなる比を掛け合わせて、所定のペイロード量を算出するペイロード量算出手段と、
前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出手段により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定手段と、
前記ペイロード量判定手段によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御手段と、
を備えたことを特徴とするデータ送受信装置。
前記受信するパケットの総ペイロード量に前記パケットの受信速度および送信速度からなる比を掛け合わせて、所定のペイロード量を算出するペイロード量算出手段と、
前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出手段により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定手段と、
前記ペイロード量判定手段によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御手段と、
を備えたことを特徴とするデータ送受信装置。
(付記2)外部から受信するパケットを受信バッファに蓄積するとともに、当該パケットの全データの受信を待つことなく当該受信バッファに蓄積されたパケットを外部へ送信するデータ送受信方法において、
前記受信するパケットの総ペイロード量に前記パケットの受信速度および送信速度からなる比を掛け合わせて、所定のペイロード量を算出するペイロード量算出工程と、
前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出工程により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定工程と、
前記ペイロード量判定工程によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御工程と、
を含んだことを特徴とするデータ送受信方法。
前記受信するパケットの総ペイロード量に前記パケットの受信速度および送信速度からなる比を掛け合わせて、所定のペイロード量を算出するペイロード量算出工程と、
前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出工程により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定工程と、
前記ペイロード量判定工程によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御工程と、
を含んだことを特徴とするデータ送受信方法。
(付記3)外部から受信するパケットを受信バッファに蓄積するとともに、当該パケットの全データの受信を待つことなく当該受信バッファに蓄積されたパケットを外部へ送信する方法をコンピュータに実行させるデータ送受信プログラムにおいて、
前記受信するパケットの総ペイロード量に前記パケットの受信速度および送信速度からなる比を掛け合わせて、所定のペイロード量を算出するペイロード量算出手順と、
前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出手順により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定手順と、
前記ペイロード量判定手順によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御手順と、
コンピュータに実行させることを特徴とするデータ送受信プログラム。
前記受信するパケットの総ペイロード量に前記パケットの受信速度および送信速度からなる比を掛け合わせて、所定のペイロード量を算出するペイロード量算出手順と、
前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出手順により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定手順と、
前記ペイロード量判定手順によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御手順と、
コンピュータに実行させることを特徴とするデータ送受信プログラム。
以上のように、本発明に係るデータ送受信装置、データ送受信方法およびデータ送受信プログラムは、外部から受信するパケットを受信バッファに蓄積するとともに、パケットの全データの受信を待つことなく受信バッファに蓄積されたパケットを外部へ送信する場合に有用であり、特に、カットスルー方式を採用するネットワークデバイスにおいてアンダーランの発生を防止することに適する。
10 データ送受信装置
11 受信ポート
12 ペイロード量取得回路
13 受信ペイロード量カウンタ
14 受信バッファ
15 DMA開始ペイロード量計算回路
16 比較回路
17 DMA制御回路
18 送信ポート
11 受信ポート
12 ペイロード量取得回路
13 受信ペイロード量カウンタ
14 受信バッファ
15 DMA開始ペイロード量計算回路
16 比較回路
17 DMA制御回路
18 送信ポート
Claims (3)
- 外部から受信するパケットを受信バッファに蓄積するとともに、当該パケットの全データの受信を待つことなく当該受信バッファに蓄積されたパケットを外部へ送信するデータ送受信装置において、
前記受信するパケットの総ペイロード量に、前記パケット送信速度からパケットの受信速度を減算して得た値と当該パケット送信速度の値とからなる比を乗算して、所定のペイロード量を算出するペイロード量算出手段と、
前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出手段により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定手段と、
前記ペイロード量判定手段によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御手段と、
を備えたことを特徴とする特徴とするデータ送受信装置。 - 外部から受信するパケットを受信バッファに蓄積するとともに、当該パケットの全データの受信を待つことなく当該受信バッファに蓄積されたパケットを外部へ送信するデータ送受信方法において、
前記受信するパケットの総ペイロード量に、前記パケット送信速度からパケットの受信速度を減算して得た値と当該パケット送信速度の値とからなる比を乗算して、所定のペイロード量を算出するペイロード量算出工程と、
前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出工程により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定工程と、
前記ペイロード量判定工程によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御工程と、
を含んだことを特徴とするデータ送受信方法。 - 外部から受信するパケットを受信バッファに蓄積するとともに、当該パケットの全データの受信を待つことなく当該受信バッファに蓄積されたパケットを外部へ送信する方法をコンピュータに実行させるデータ送受信プログラムにおいて、
前記受信するパケットの総ペイロード量に、前記パケット送信速度からパケットの受信速度を減算して得た値と当該パケット送信速度の値とからなる比を乗算して、所定のペイロード量を算出するペイロード量算出手順と、
前記受信バッファに現に蓄積されているペイロード量が、前記ペイロード量算出手順により算出された前記所定のペイロード量に到達しているかどうかを判定するペイロード量判定手順と、
前記ペイロード量判定手順によって前記受信バッファに現に蓄積されているペイロード量が前記所定のペイロード量に到達していると判定された場合に、当該受信バッファに現に蓄積されているペイロードの送信を開始するように制御するペイロード送信制御手順と、
コンピュータに実行させることを特徴とするデータ送受信プログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006050701A JP2007235211A (ja) | 2006-02-27 | 2006-02-27 | データ送受信装置、データ送受信方法およびデータ送受信プログラム |
EP20060252583 EP1826960B1 (en) | 2006-02-27 | 2006-05-18 | Cut-through transfer |
DE200660002363 DE602006002363D1 (de) | 2006-02-27 | 2006-05-18 | Direkte Durchschaltevermittlung |
KR20060046966A KR100707228B1 (ko) | 2006-02-27 | 2006-05-25 | 데이터 송신 장치, 데이터 송수신 방법 및 데이터 송수신프로그램을 기록한 컴퓨터 판독가능한 기록매체 |
US11/443,090 US20070201460A1 (en) | 2006-02-27 | 2006-05-31 | Data transmitting and receiving apparatus, data transmitting and receiving method, and computer product |
CNA2006100923708A CN101030905A (zh) | 2006-02-27 | 2006-06-01 | 数据发送与接收装置、数据发送与接收方法和计算机产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006050701A JP2007235211A (ja) | 2006-02-27 | 2006-02-27 | データ送受信装置、データ送受信方法およびデータ送受信プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007235211A true JP2007235211A (ja) | 2007-09-13 |
Family
ID=37667414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006050701A Pending JP2007235211A (ja) | 2006-02-27 | 2006-02-27 | データ送受信装置、データ送受信方法およびデータ送受信プログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20070201460A1 (ja) |
EP (1) | EP1826960B1 (ja) |
JP (1) | JP2007235211A (ja) |
KR (1) | KR100707228B1 (ja) |
CN (1) | CN101030905A (ja) |
DE (1) | DE602006002363D1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009147722A (ja) * | 2007-12-14 | 2009-07-02 | Autonetworks Technologies Ltd | 車載用の中継接続ユニット |
CN108347718A (zh) * | 2018-02-02 | 2018-07-31 | 北京小米移动软件有限公司 | 监听通信包的方法、装置以及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2050199B1 (en) * | 2006-07-19 | 2016-08-24 | Dragonwave, Inc. | Expedited communication traffic handling apparatus and methods |
JP4917557B2 (ja) * | 2008-01-09 | 2012-04-18 | 株式会社オートネットワーク技術研究所 | 車載用の中継接続ユニット |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63310247A (ja) * | 1987-06-12 | 1988-12-19 | Nec Corp | デ−タ送信バツフア制御装置 |
JPH0766833A (ja) * | 1993-08-24 | 1995-03-10 | Mitsubishi Electric Corp | フレーム中継装置、フレーム中継装置群及び中継方法 |
JPH0832615A (ja) * | 1994-07-21 | 1996-02-02 | Hitachi Cable Ltd | 中継装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210749A (en) * | 1990-05-29 | 1993-05-11 | Advanced Micro Devices, Inc. | Configuration of srams as logical fifos for transmit and receive of packet data |
US6009108A (en) | 1995-08-31 | 1999-12-28 | Victor Company Of Japan, Ltd. | Multiplexer system for converting variable-length burst data streams into averaged-transfer-rate fixed-length packets |
US5859980A (en) * | 1996-02-08 | 1999-01-12 | Advanced Micro Devices, Inc. | Network interface having adaptive transmit start point for each packet to avoid transmit underflow |
JP3152293B2 (ja) * | 1997-12-17 | 2001-04-03 | 日本電気株式会社 | Ipレイヤ処理装置 |
JP2001257680A (ja) | 2000-03-10 | 2001-09-21 | Oki Electric Ind Co Ltd | Atm中継装置およびatmアダプテーション装置 |
AUPQ896300A0 (en) * | 2000-07-24 | 2000-08-17 | Nec Australia Pty Ltd | A clock synchronisation method for usb sink devices |
US20020083189A1 (en) * | 2000-12-27 | 2002-06-27 | Connor Patrick L. | Relay of a datagram |
US6728213B1 (en) * | 2001-03-23 | 2004-04-27 | Advanced Micro Devices, Inc. | Selective admission control in a network device |
US7126952B2 (en) * | 2001-09-28 | 2006-10-24 | Intel Corporation | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method |
KR20030095995A (ko) * | 2002-06-14 | 2003-12-24 | 마츠시타 덴끼 산교 가부시키가이샤 | 미디어 전송방법 및 그 송신장치 및 수신장치 |
US7200137B2 (en) * | 2002-07-29 | 2007-04-03 | Freescale Semiconductor, Inc. | On chip network that maximizes interconnect utilization between processing elements |
TWI313412B (en) * | 2002-11-25 | 2009-08-11 | Ibm | Method and apparatus for intermediate buffer segmentation and reassembly |
US7382788B2 (en) * | 2002-12-24 | 2008-06-03 | Applied Micro Circuit Corporation | Method and apparatus for implementing a data frame processing model |
KR100528861B1 (ko) * | 2003-03-04 | 2005-11-16 | 삼성전자주식회사 | 제어 패킷의 적응적 대역 할당을 위한 패킷 포워딩시스템의 제어 패킷 관리 장치 및 그의 제어 패킷 관리 방법 |
-
2006
- 2006-02-27 JP JP2006050701A patent/JP2007235211A/ja active Pending
- 2006-05-18 DE DE200660002363 patent/DE602006002363D1/de active Active
- 2006-05-18 EP EP20060252583 patent/EP1826960B1/en not_active Ceased
- 2006-05-25 KR KR20060046966A patent/KR100707228B1/ko not_active IP Right Cessation
- 2006-05-31 US US11/443,090 patent/US20070201460A1/en not_active Abandoned
- 2006-06-01 CN CNA2006100923708A patent/CN101030905A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63310247A (ja) * | 1987-06-12 | 1988-12-19 | Nec Corp | デ−タ送信バツフア制御装置 |
JPH0766833A (ja) * | 1993-08-24 | 1995-03-10 | Mitsubishi Electric Corp | フレーム中継装置、フレーム中継装置群及び中継方法 |
JPH0832615A (ja) * | 1994-07-21 | 1996-02-02 | Hitachi Cable Ltd | 中継装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009147722A (ja) * | 2007-12-14 | 2009-07-02 | Autonetworks Technologies Ltd | 車載用の中継接続ユニット |
CN108347718A (zh) * | 2018-02-02 | 2018-07-31 | 北京小米移动软件有限公司 | 监听通信包的方法、装置以及存储介质 |
CN108347718B (zh) * | 2018-02-02 | 2021-07-30 | 北京小米移动软件有限公司 | 监听通信包的方法、装置以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE602006002363D1 (de) | 2008-10-02 |
CN101030905A (zh) | 2007-09-05 |
KR100707228B1 (ko) | 2007-04-17 |
US20070201460A1 (en) | 2007-08-30 |
EP1826960B1 (en) | 2008-08-20 |
EP1826960A1 (en) | 2007-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4153510B2 (ja) | ネットワークの可用帯域幅測定方法及びプロセシングシステム | |
US7710973B2 (en) | Error masking for data transmission using received data | |
EP1750202A1 (en) | Combining packets for a packetized bus | |
JP4367505B2 (ja) | 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム | |
US7924721B2 (en) | Communication apparatus, transmission control method, and transmission control program | |
JP2004266840A (ja) | 終端間測定に基づくネットワークへのデータストリームの許容の制御 | |
JP2007201878A (ja) | 通信システム、通信装置及び通信品質試験方法 | |
JP2007235211A (ja) | データ送受信装置、データ送受信方法およびデータ送受信プログラム | |
US7761587B2 (en) | Apparatus and method for transmitting packet IP offload | |
KR20140105297A (ko) | 스트리밍 서비스를 제공하기 위한 동적 버퍼링 방법 및 그 장치 | |
US20100086021A1 (en) | Information transmission apparatus, method of controlling the same, and storage medium | |
JP4577230B2 (ja) | トークンバケットによるトラヒック制御装置、方法及びプログラム | |
JP2007189592A (ja) | トークンバケットによるトラヒック制御装置、方法及びプログラム | |
US20160378714A1 (en) | Communication apparatus and control method thereof | |
JP5135416B2 (ja) | ネットワーク中継装置 | |
JP6798500B2 (ja) | スループット計測装置、方法およびプログラム | |
WO2017199867A1 (ja) | 通信装置、通信システム、通信方法、および通信用プログラムが記録された記録媒体 | |
JP7192244B2 (ja) | 中継装置 | |
US20090235272A1 (en) | Data processing apparatus, data processing method, and recording medium | |
JP5715458B2 (ja) | 情報処理システム、調停方法 | |
JP5430369B2 (ja) | バッファメモリ装置、及び、バッファリング方法 | |
JP6502134B2 (ja) | データ送信制御装置、データ送信制御方法、及び、プログラム | |
JP4989512B2 (ja) | 管理装置及びその制御方法 | |
US8902750B2 (en) | Translating between an ethernet protocol and a converged enhanced ethernet protocol | |
JP2005005863A (ja) | 情報データの送受信装置及び送受信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080605 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100608 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101102 |