JP4192627B2 - パケット送受信方法、及び装置 - Google Patents
パケット送受信方法、及び装置 Download PDFInfo
- Publication number
- JP4192627B2 JP4192627B2 JP2003049109A JP2003049109A JP4192627B2 JP 4192627 B2 JP4192627 B2 JP 4192627B2 JP 2003049109 A JP2003049109 A JP 2003049109A JP 2003049109 A JP2003049109 A JP 2003049109A JP 4192627 B2 JP4192627 B2 JP 4192627B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- transmission
- reception
- received
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
【発明の属する技術分野】
本発明はパケット送受信方法、及び装置に関し、特に送信側より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側にて各データパケットの受信ごとに、正常に受信できた場合はACK応答パケットを返送し、正常に受信できなかった場合はNACK応答パケットを返送し、送信側にて各データパケットの送信後、ACK応答パケットを受信すると後続のデータパケットを送信し、NACK応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムと、それに用いられるパケット送受信装置と、そのパケット送受信方法とに関する。
【0002】
【従来の技術】
従来、パケット送受信システム(装置)において、パケット送信側装置からのパケット送信(転送)は、パケット受信側装置からのACK(肯定)応答により、続くパケットの送信を行い、NACK(否定)応答により直前のパケットの再送を行うことにより行われている。パケット転送のスループットを上げるためには、受信側装置において確実に受信することができるデータパケット間の時間間隔ぎりぎりまで、送信側装置におけるパケット送信間隔(時間間隔)を短縮する必要がある。しかし、上述のACK応答パケットは必ずしも、受信側装置において直ちに次のパケットの受信が可能であることを示しているとは限らない。このため、送信側装置が勝手にパケット送信間隔の時間を短縮すると、受信側装置においてパケットを正常に受信できなくなる回数、すなわちパケットの再送回数が増加し、バス(ネットワーク)のトラフィックを無駄に消費してしまう問題があった。
【0003】
これを解決するため、パケット受信側装置が受信可能な状態となったことを示す特別な情報パケット(空情報パケット)をパケット送信側装置に送信し、この空情報パケットを受信してから送信側装置は通常の情報パケットを送信するといった技術が提案されている(例えば、特許文献1参照)。
【0004】
あるいは、パケット送信側装置からパケット受信側装置にパケット送信間隔(時間間隔)を伝え、受信側装置では所定個数単位で、実際のパケット受信間隔(時間間隔)の和と、伝えられたパケット送信間隔の和との比較結果を送信側装置に通知し、送信側装置では通知され比較結果に基づいてパケット送信間隔を変化させる技術が提案されている(例えば、特許文献2参照)。
【0005】
【特許文献1】
特開平2−142249号公報(第1−2頁、第1図)
【特許文献2】
特開平7−303117号公報(第2頁、図13)
【0006】
【発明が解決しようとする課題】
上述した従来の前者の技術(特許文献1記載技術)では、情報パケットの転送ごとに毎回、パケット受信側装置から受信可能状態を示すための空情報パケットを転送しているので、パケット送信側装置及び受信側装置間を接続するバス(ネットワーク)上でこれらパケットの転送(往復分)にかかる時間だけパケット送信間隔に無駄な待ち時間を生じ、スループットを極限まで向上させることができないという問題点があった。さらに、この技術をパケット受信ごとに必ずACK/NACK応答パケットを返送するパケット送受信システム(装置)にそのまま適用すると、空情報パケットの分だけトラフィックを無駄に消費するという問題点があった。
【0007】
また従来の後者の技術(特許文献2記載技術)では、パケット受信側装置が、所定個数単位で、実際のパケット受信間隔合計と伝えられたパケット送信間隔合計とを比較し、その比較結果をパケット送信側装置に通知しなければならないので、受信側装置の構成が複雑になるとともに、その処理動作に負担がかかるという問題点があった。
【0008】
本発明の目的は、パケット受信側となる装置の構成の複雑化及び処理動作の負担増を抑制しながら、バス(ネットワーク)のトラフィックを消費することなく、最大のスループットを得ることができるパケット送受信方法、及び装置を提供することにある。
【0009】
【課題を解決するための手段】
本発明のパケット送受信方法は、送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はACK応答パケットを返送し、正常に受信できなかった場合はNACK応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ACK応答パケットを受信すると後続のデータパケットを送信し、前記NACK応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおける前記送信側装置のパケット送受信方法において、前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が受信可能なデータパケット間の時間間隔を示すパケット送信間隔情報を記憶する記憶ステップと、前記データパケットの送信開始信号を受信する度に計時回路をリセットして計時を開始する計時ステップと、前記計時ステップで計時する時間が、前記記憶ステップで記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較ステップと、前記比較ステップで前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに前記送信開始信号を出力する第1の送信制御ステップと、前記NACK応答パケットを受信すると、予め定めた一定時間の間NACK受信信号を出力する受信制御ステップと、前記NACK受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力する第2の送信制御ステップと、前記NACK受信信号の受信中に前記送信開始信号を受信すると、前記計時ステップで計時した当該時刻での計時値を、記憶している前記パケット送信間隔情報に加算して更新する更新ステップとを有することを特徴とする。
【0010】
本発明のパケット送受信方法は、前記加算更新ステップで記憶している前記パケット送信間隔情報を加算更新したあと、予め定めた回数連続してACK受信した場合および予め定めた時間の間連続してACK受信した場合のいずれかの場合に、記憶している前記パケット送信間隔情報の値を減少させる減少更新ステップをさらに備えることを特徴とする。
【0011】
また、本発明のパケット送受信方法は、送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はACK応答パケットを返送し、正常に受信できなかった場合はNACK応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ACK応答パケットを受信すると後続のデータパケットを送信し、前記NACK応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおける前記送信側装置のパケット送受信方法において、前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が前記ACK応答パケット返送時点から次のデータパケットの受信が可能となる時点までの時間間隔を示すパケット送信間隔情報を記憶する記憶ステップと、前記ACK応答パケットの受信により出力されるタイマー起動信号を受信する度に計時回路をリセットして計時を開始する計時ステップと、前記計時ステップで計時する時間が、前記記憶ステップで記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較ステップと、前記比較ステップで前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに送信開始信号を出力する第1の送信制御ステップと、前記NACK応答パケットを受信すると、予め定めた一定時間の間NACK受信信号を出力する受信制御ステップと、前記NACK受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力する第2の送信制御ステップと、前記NACK受信信号の受信中に前記送信開始信号を受信すると、前記計時ステップで計時している当該時刻での計時値を、記憶している前記パケット送信間隔として更新する更新ステップとを有することを特徴とする。
【0012】
本発明のパケット送受信装置は、送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はACK応答パケットを返送し、正常に受信できなかった場合はNACK応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ACK応答パケットを受信すると後続のデータパケットを送信し、前記NACK応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおいて、前記送信側装置は、前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が受信可能なデータパケット間の時間間隔を示すパケット送信間隔情報を記憶するパケット送信間隔記憶手段と、前記データパケットの送信開始信号を受信する度に計時回路をリセットして計時を開始するタイマー手段と、前記タイマー手段が計時する時間が、前記パケット送信間隔記憶手段に記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較手段と、前記比較手段から前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに前記送信開始信号を出力する送信制御手段と、前記NACK応答パケットを受信すると、予め定めた一定時間の間NACK受信信号を出力する受信制御手段と、を備え、前記送信制御手段は、前記NACK受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力し、前記パケット送信間隔記憶手段は、前記NACK受信信号の受信中に前記送信開始信号を受信すると、前記タイマー手段が計時した当該時刻での計時値を、記憶している前記パケット送信間隔情報に加算して更新することを特徴とする。
【0013】
また、本発明のパケット送受信装置の前記送信側装置は、前記NACK応答パケットの受信により前記パケット送信間隔記憶手段が前記パケット送信間隔情報を加算更新したあと、予め定めた回数連続してACK受信した場合および予め定めた時間の間連続してACK受信した場合のいずれかの場合に、前記パケット送信間隔記憶手段が記憶する前記パケット送信間隔情報の値を減少させる制御手段をさらに備えることを特徴とする。
【0014】
また、本発明のパケット送受信装置は、送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はACK応答パケットを返送し、正常に受信できなかった場合はNACK応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ACK応答パケットを受信すると後続のデータパケットを送信し、前記NACK応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおいて、前記送信側装置は、前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が前記ACK応答パケット返送時点から次のデータパケットの受信が可能となる時点までの時間間隔を示すパケット送信間隔情報を記憶するパケット送信間隔記憶手段と、前記ACK応答パケットの受信により出力されるタイマー起動信号を受信する度に計時回路をリセットして計時を開始するタイマー手段と、前記タイマー手段が計時する時間が、前記パケット送信間隔記憶手段に記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較手段と、前記比較手段から前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに送信開始信号を出力する送信制御手段と、前記NACK応答パケットを受信すると、予め定めた一定時間の間NACK受信信号を出力する受信制御手段と、を備え、前記送信制御手段は、前記NACK受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力し、前記パケット送信間隔記憶手段は、前記NACK受信信号の受信中に前記送信開始信号を受信すると、前記タイマー手段が計時している当該時刻での計時値を、記憶している前記パケット送信間隔として更新することを特徴とする。
【0015】
【発明の実施の形態】
まず、本発明の概要を説明する。本発明は、パケット受信側装置からパケット送信側装置に対していちいち受信可能状態を通知するためにバストラフィックを消費することなく、パケット送信側装置がパケット受信側装置の受信能力を考慮してパケット送信を行うことにより、スループットを最大にしながらパケット受信側装置においてパケット受信を確実に行えるようにするものである。より詳細に説明すると、パケット送信側装置は、パケット送信の対象であるパケット受信側装置から確実に受信できるパケット送信間隔を予め取得して、これを送信間隔記憶部に記憶し、この間隔をもって送信制御部はパケット送信を行う。これにより、パケット受信側装置の受信不可状態によりパケットの再送が発生することを防止することができる。
【0016】
また、実際の運用状態においてパケット受信側装置の受信能力が、なんらかの理由によって低下した場合、パケット送信側装置は、パケット受信側装置の受信能力を測定し、最適な送信間隔をもって送信間隔記憶部の内容を更新する。これにより、常時安定したパケット送受信を行うことができる。
【0017】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0018】
図1は本発明の一実施の形態を示すシステム構成図である。図1において、本実施の形態例(第1の実施の形態)のパケット送受信システムは、共通のネットワークであるバス2に複数台のパケット送受信装置1(1−1〜1−N)が接続されており、あるパケット送受信装置1−1から他のパケット送受信装置1−4に対してデータパケット3を送信し、パケット送受信装置1−4からパケット送受信装置1−1に対してACK(肯定)またはNACK(否定)の応答パケット4を返送している場合を示している。パケット送信側装置(1−1)は、送信データを複数のデータパケットに分割して順次送信しており、各データパケットの送信後、ACK応答パケットを受信すると後続のデータパケットを送信し、NACK応答パケットを受信すると直前のデータパケットを再送する。パケット受信側装置(1−4)は、各データパケットの受信ごとに、正常に受信できた場合はACK応答パケットを返送し、正常に受信できなかった場合はNACK応答パケットを返送する。なお本発明ではネットワークの形態は限定する必要はなく、ここでは例としてバス型で表しているが、階層型でも、スター型でも、あるいはその他の形態でもかまわない。
【0019】
図2は、各パケット送受信装置1(1−1〜1−N)の内部構成例を示したブロック図である。各パケット送受信装置1(1−1〜1−N)は同一構成のため、1つのパケット送受信装置1のみを示す。
【0020】
図2において、本例のパケット送受信装置1は、装置全体を制御する主制御部10と、バス2を通してパケットの送受信を行うパケット送受信部20とを有している。主制御部10は、パケット送受信装置全体を制御するために必要なCPUなど、一般的に情報処理装置に必要とされる部品により構成されている。パケット送受信部20は、送信パケット蓄積メモリ21と、送信制御部22と、比較器23と、送信間隔記憶部24と、送信タイマー25と、受信パケット蓄積メモリ26と、受信解析部27と、受信制御部28とを有している。
【0021】
送信パケット蓄積メモリ21は、主制御部10からの命令で送信するパケットを一時的に格納する。送信制御部22は、送信パケット蓄積メモリ21からパケットデータを読み出し、バス2に送出する。
【0022】
受信制御部28は、バスからパケットの受信を行い、受信したパケットを受信解析部27を通して受信パケット蓄積メモリ26に格納する。受信解析部27は、受信制御部28と受信パケット蓄積メモリ26との間に配置され、受信パケットの内容を解析する。解析した結果、ヘッダ情報から受信したパケットの自装置宛なのか他装置宛なのかなどのパケット内容の解析を行う。受信制御部28及び受信解析部27はまた、各データパケットの受信ごとに正常に受信できたかできなかったかを判定し、正常に受信できた場合はACK応答パケットを、正常に受信できなかった場合はNACK応答パケットを、送信制御部22を通して受信したデータパケットの送信元へ返送させる。
【0023】
送信間隔記憶部24は、受信解析部27において受信パケットを解析した結果、受信側装置の送信間隔を含むパケットならば、その情報を格納する。送信タイマー25は、送信制御部22、および受信制御部28と同じクロックソースで動作するタイマー回路である。比較器23は、送信間隔記憶部24と送信タイマー25との情報を比較し、一致したタイミングで送信制御部22に対してパケット送信の許可信号を送出する。
【0024】
次に、動作を説明する。
【0025】
図3は、本発明におけるパケット送信側装置(例えば、パケット送受信装置1−1)とパケット受信側装置(例えば、パケット送受信装置1−4)との間のパケットの流れの一例を示したシーケンス図である。図3において、パケット送信側装置(1−1)は、電源投入時など、すくなくともデータパケットの送信を開始するまえに、パケット受信側装置(1−4)に対して、確実に受信可能なデータパケット間の時間間隔を示す受信可能パケット間隔、すなわちパケット送信側装置におけるパケット送信間隔情報を要求する。この受信側装置が持つ受信可能パケット間隔とは、受信側装置を開発製造するメーカーが推奨する値で、工場出荷状態において予め組み込まれている値である。
【0026】
パケット受信側装置(1−4)は、パケット送信間隔情報要求を受け取ると、自装置が保持している受信可能パケット間隔情報をパケット送信間隔情報としてパケット送信側装置(1−1)に返送する。
【0027】
パケット送信側装置(1−1)では、パケット受信側装置(1−4)からパケット送信間隔情報を取得すると、自装置内(受信解析部27)において送信間隔情報信号s2を送出し、送信間隔記憶部24に格納する。図3のシーケンス図では、以降、この送信間隔T(=T1)をもってデータパケットの送信を行うことを示している。なお、ACK応答パケットは、この送信間隔T1以内に返送される。
【0028】
パケット送信側装置(1−1)のパケット送受信部20では、主制御部10の制御の下、パケット受信側装置(1−4)宛の送信データを所定の大きさのパケット(データパケット)に分割して送信パケット蓄積メモリ21に格納し、送信開始要求を送信制御部22に与える。送信制御部22は、送信開始要求を受けると、送信パケット蓄積メモリ21から最初のデータパケットを読み出し、バス2に対して送出すると同時に、送信開始信号s3を送信タイマー25に送信する。
【0029】
送信開始信号s3を受信した送信タイマー25は、タイマー回路をリセット、リスタートし、バス2に同期したクロックソースによりビットタイムのカウントを監視する。
【0030】
比較器23は、送信タイマー25の値と、送信間隔記憶部24の値の比較を行い、これらの値の一致を検出した場合、送信許可信号s4を送信制御部22に対して送る。送信許可信号s4を受信した送信制御部22は、即座に次のデータパケットを送信パケット蓄積メモリ21から読み出しバス2に送出する。
【0031】
バス2に送出されたデータパケットは、宛先であるパケット受信側装置(1−4)で受信され、正常に受信できた場合はACK応答パケットが返送されてくる。パケット送信側装置(1−1)では、ACK応答パケットが返送されてきた場合は、送信間隔記憶部24に記憶された送信間隔Tの値(T1)に対する変更処理は行わない。
【0032】
以上の動作を繰り返すことにより、再送を発生することなく、すべてのデータパケット送受信を行うことができる。図4に、以上に説明したパケットと各信号の関係の一例を示したタイミングチャートを示す。
【0033】
次に、上記のメカニズムにより、パケット送信側装置(パケット送受信装置1−1)が最適なパケット送信間隔T(=T1)でパケット送信を行っているにもかかわらず、万一、パケット受信側装置(パケット送受信装置1−4)において、何らかの理由によりパケット受信能力が低下した場合(例えば、パケット受信側装置(1−4)がマルチタスク環境にて動作している場合において、別タスクの負荷が異常に重くなった場合など)、パケット送信側装置(1−1)がパケット受信側装置(1−4)からデータパケットを正常に受信できなかったことを示すNACK応答パケットを受信したときの動作について説明する。なお、このNACK応答パケットも、送信間隔T1以内に返送される。
【0034】
図5は、パケット受信側装置(1−4)からNACK応答パケットが返信されてきた場合のパケットフローの一例を示したシーケンス図である。パケット受信側装置(1−4)からNACK応答が返送されている間、パケット送信側装置(1−1)は同じデータパケットの再送を繰り返す。パケット送信側装置(1−1)は、NACK応答により送信間隔記憶部24のパケット送信間隔情報を更新する。すなわち、NACK受信ごとに再送データパケットの送信間隔(t1、t2(<T1))をT1に順次加算し、T2(図5に示す場合、T2=T1+t1+t2)とする。ACK受信で加算を停止する。以降のパケット送信において、この更新されたパケット送信間隔T(=T2)により、再送を発生することなくパケット送受が行われることを示している。
【0035】
図6は、パケット送信側装置(パケット送受信装置1−1)における送信間隔記憶部24が更新される様子の一例を示したタイミングチャート図である。再送なくデータパケット送受が行われているとき、送信タイマー25のカウント値が、送信間隔記憶部24が保持するT1に達すると、送信許可信号s4が発生しデータパケットData[m]が送信される。データパケットData[m]の送信とともに送信開始信号s3を受信した送信タイマー25は、リセット、リスタートし、再びT1後に送信許可信号s4が発生、次のデータパケットData[n]が送信される。
【0036】
このとき、何らかの理由でパケット受信側装置(パケット送受信装置1−4)にてデータパケットの受信処理ができない状態にあると、NACK応答が返送される。パケット送信側装置(1−1)の受信解析部27では、NACK応答を受けて、NACK受信信号s1を一定時間の間アクティブ状態にする。一定時間とは、NACK受信信号s1が送信制御部22のデータパケット再送のトリガ、および、送信間隔記憶部24の更新に利用されるので、これを満足する時間であればよい。ここでは、実装方法についてまでは規定しないが、例を挙げるとすれば、受信解析部27の中に、タイマー回路を設けて、上記動作を保証する一定時間経過後にNACK受信信号s1を非アクティブ状態にすることで実現できる。
【0037】
NACK受信信号s1がアクティブとなると、これを受信した送信制御部22は、即座に同じデータパケットData[n]を再送し、送信開始信号s3を発する。NACK受信信号s1がアクティブ状態のときに、送信開始信号s3を受信した送信間隔記憶部24は、それまでに記憶していたT1と、送信タイマー25の現在のカウント値t1とを加算した結果T1’(=T1+t1)を記憶保持する。さらに、再送された2回目のData[n]に対して、再びNACK応答が返送されると、Data[n]の再送タイミングにてT1’とt2(通常の場合、t2=2t1)を加算した値T2(=T1+t2)をもって送信間隔記憶部24が再度更新される。
【0038】
3回目のData[n]に対してはACK応答があったので、送信間隔記憶部24の値はT2のままとなり、次のデータパケットData[p]は、送信間隔T2後に送信される。
【0039】
以上の動作により、パケット送信側装置は、パケット受信側装置からの応答パケットにより、自装置単独で送信間隔を最適な値に更新し、データパケット再送の発生を大幅に減らすことができ、結果として、無駄なトラフィック発生を抑制することが可能となる。
【0040】
次に、受信可能パケット間隔を持っていないパケット受信側装置が通信相手の場合の動作について説明する。受信側装置において受信可能パケット間隔を持たない場合、当然ながら送信側装置からの要求に対して応答できないため、送信側装置においては、初期のパケット送信間隔を取得することができない。このように送信側装置において、受信側装置の受信可能パケット間隔が取得できない場合、送信間隔記憶部24は送信側装置の起動時にリセットされた状態、すなわち送信間隔はゼロからスタートする。この状態でNACK応答によるパケット再送が発生することがなければ、このままパケット送受を継続すればよい。もしも、NACK応答によるパケット再送が発生した場合でも、これまでに説明したメカニズムにより送信間隔記憶部24の値が更新されるため、再送が起きないパケット送信が行える。
【0041】
次に、パケット受信側装置の処理負荷が減少した場合などに、パケット送信側装置において、いったん増加させた送信間隔記憶部24の送信間隔情報を減少させる方法について説明する。まず、減少させるトリガであるが、送信側装置において、ある一定回数連続してACK受信した場合に減少させる方法、ある一定時間の間連続してACK受信した場合に減少させる方法との2つが考えられる。これらは、ACK受信またはNACK受信で主制御部10に対して割り込みを発生させ、主制御部10で実行しているソフトウェアにてこれを監視し、一定時間または一定回数の条件を満足した場合に、ソフトウェア制御により送信間隔記憶部24の値を減少させることで実現できる。一定時間、一定回数をどのように設定するか、また、どのように減少させるかという手順については、送信側装置の機能実装に依存することであるので、具体的に数値についてはまでは規定しない。なお、受信側装置から負荷状態などの情報を取得し、その情報から送信間隔を減少させることも考え方としては存在するが、この方法では、さまざまな種類の受信側装置を想定した場合、取得した負荷状態の情報から送信間隔を定量的に算出することが困難であること、また、この情報をやりとりするための仕組みを送受信双方の装置に実装する必要があるため、ここでは範囲外とする。
【0042】
次に本発明の他の実施の形態を図1及び図7〜11を参照して説明する。本実施の形態例(第2の実施の形態)のパケット送受信システムは、上述した第1の実施の形態と基本的な構成は同様であるが、パケット受信側装置が持つ受信可能パケット間隔(パケット送信間隔情報)が、あるデータパケット受信後のACK応答パケット返送時点から次のデータパケット受信可能となる時点までの間隔を指す場合に適した構成となっている。
【0043】
本例(第2の実施の形態)のパケット送受信システムのシステム構成は、図1に示す第1の実施の形態と同様である。ただし、バス2における各パケット送受信装置1(1−1〜1−N)相互間のパケット転送遅延時間(同一パケットの送信時刻と受信時刻との差分時間)が、パケット送信間隔に対して無視できる程度に小さい場合を想定している。パケット転送遅延時間がある程度大きいと、いくらパケット送信側装置で受信側から取得したパケット送信間隔情報に従ってデータパケットの送信を行っても、パケット受信側装置で無駄な待ち時間を生じることになる。その場合は、パケット送信側装置で設定するパケット送信間隔を、取得したパケット送信間隔からパケットの往復の転送遅延時間分だけ削減した値とすることが考えられる。
【0044】
図7は、本例(第2の実施の形態)の各パケット送受信装置1(1−1〜1−N)の内部構成例を示したブロック図である。各パケット送受信装置1(1−1〜1−N)は同一構成のため、1つのパケット送受信装置1のみを示す。本例のパケット送受信装置1は、図2に示す第1の実施の形態のパケット送受信装置1と基本的な構成は同様である。異なる点は、送信タイマー25に対するリセット・起動を指示する信号が、送信制御部22からの送信開始信号s3ではなくて、受信解析部27からのACK応答パケット受信を示すタイマー起動信号s5であることと、送信間隔記憶部24におけるパケット送信間隔値の更新方法が異なることである。以下,これらの相違点を主として説明する。
【0045】
図8は、パケット送信側装置(例えば、パケット送受信装置1−1)とパケット受信側装置(例えば、パケット送受信装置1−4)との間のパケットの流れの一例を示したシーケンス図である。図8において、パケット送信側装置(1−1)は、電源投入時など、すくなくともデータパケットの送信を開始するまえに、パケット受信側装置(1−4)に対して受信可能パケット間隔、すなわちパケット送信側装置におけるパケット送信間隔情報を要求する。このパケット送信間隔情報は、上述したように、あるデータパケット受信後のACK応答パケット返送時点から次のデータパケット受信可能となる時点までの間隔を指し、受信側装置を開発製造するメーカーが推奨する値で、工場出荷状態において予め組み込まれている値である。
【0046】
パケット送信側装置(1−1)は、パケット送信間隔情報を取得すると送信間隔情報信号s2を送出し、送信間隔記憶部24に格納する。なお、この際、上述したように、予め判明しているパケット送信側装置(1−1)とパケット受信側装置(1−4)間のパケットの往復の転送遅延時間分だけ送信間隔情報信号s2の値を減じておくことができる。
【0047】
図8のシーケンス図では、以降、この送信間隔T(T5)をもってデータパケットの送信を行うことを示している。送信制御部22は、主制御部10から送信するパケットデータが送信パケット蓄積メモリ21に格納され、送信開始命令を受けると、最初のデータパケットをバス2に対して送出する。もし、このデータパケットに対して受信側装置から正常のデータパケットを受信したことを示すACK応答パケットが返送されてきた場合、受信解析部27においてこれを検出し、送信タイマー25に対してタイマー起動信号s5を送出する。
【0048】
送信タイマー25は、タイマー起動信号s5を受信すると、カウント値を初期化し、バスに同期したクロックソースによりバス上のビットタイムをカウントする。
【0049】
比較器23は、予め送信間隔記憶部24に格納されている送信間隔情報と送信タイマー25の値とを比較し一致すると、送信制御部22に対して次のデータパケットの送信許可信号s4を送出する。送信許可信号s4を受信した送信制御部22は、次のデータパケットを送信パケット蓄積メモリ21から読み出し、バス2に送出する。
【0050】
以上の動作を繰り返すことにより、再送を発生することなく、すべてのデータパケット送受信を行うことができる。図9は、以上に説明したパケットと各信号の関係の一例を示したタイミングチャートである。
【0051】
次に、上記のメカニズムにより、パケット送信側装置(1−1)が最適なパケット送信間隔T(=T5)でパケット送信を行っているにもかかわらず、万一、パケット受信側装置(1−4)において、何らかの理由によりパケット受信能力が低下した場合(たとえば、パケット受信側装置がマルチタスク環境にて動作している場合において、別タスクの負荷が異常に重くなった場合など)、パケット送信側装置がパケット受信側装置からデータパケットを正常に受信できなかったことを示すNACK応答パケットを受信したときの動作について説明する。
【0052】
図10は、受信側装置(1−4)からNACK応答パケットが返信されてきた場合のパケットフローの一例を示したシーケンス図である。パケット受信解析部27において、NACK応答パケットを検出すると、送信制御部22に対してNACK受信信号s1を送出し、送信制御部22は直前のデータパケットを再送するとともに送信開始信号s3を出力する。この時点において、ACK応答パケットを受信していないため、当然ながらパケット受信解析部27からはACK受信信号、すなわちタイマー起動信号s5が送出されていないため、送信タイマー25はカウント動作を継続している。
【0053】
NACK受信信号s1は、同時に送信間隔記憶部24に対しても入力されている。また、送信開始信号s3も送信間隔記憶部24に対して入力されている。送信間隔記憶部24は、NACK受信信号s1がアクティブになっている状態で、送信開始信号s3を受信すると、現在の送信タイマー25の値をロードし、送信間隔情報を更新する(T=T5→T5+t1(=T5’)→T5+t1+t2(=T5’+t2))。この結果、送信間隔記憶部24の送信間隔情報は最終的に、実際にパケット受信側装置において正常にデータパケットの受信がなされた間隔、すなわちパケット送信側装置における最適なパケット送信間隔値(T6=T5+t1+t2)に更新される。
【0054】
図11は、以上に説明した、送信間隔記憶部24の更新タイミングの一例を示したタイミングチャートである。
【0055】
【発明の効果】
以上説明したように本発明によれば、パケット受信側装置は、通常のACK/NACK応答パケットの返送以外には、確実に受信可能なデータパケット間の時間間隔を示す受信可能パケット間隔を予め設定しておき、パケット転送開始前にそれをパケット送信間隔としてパケット送信側装置に伝えるだけでよいので、構成の複雑化及び処理動作の負担増を抑制することができ、またパケット送受信のたびに受信側装置の状態を示すパケットを転送する必要がないため、バスのトラフィックを消費することなく、最大のスループットを得ることができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態を示すシステム構成図である。
【図2】図1に示すパケット送受信装置の内部構成例を示したブロック図である。
【図3】本発明におけるパケット送信側装置と受信側装置との間のパケットの流れの一例を示したシーケンス図である。
【図4】図3に対応したパケット送信側装置におけるパケットと各信号の関係の一例を示したタイミングチャートである。
【図5】本発明におけるパケット送信側装置と受信側装置との間のパケットの流れの他の一例を示したシーケンス図である。
【図6】図5に対応したパケット送信側装置におけるパケットと各信号の関係の一例を示したタイミングチャートである。
【図7】本発明のパケット送受信装置の他の内部構成例を示したブロック図である。
【図8】図7に示すパケット送受信装置におけるパケット送信側装置と受信側装置との間のパケットの流れの一例を示したシーケンス図である。
【図9】図8に対応したパケット送信側装置におけるパケットと各信号の関係の一例を示したタイミングチャートである。
【図10】図7に示すパケット送受信装置におけるパケット送信側装置と受信側装置との間のパケットの流れの他の一例を示したシーケンス図である。
【図11】図10に対応したパケット送信側装置におけるパケットと各信号の関係の一例を示したタイミングチャートである。
【符号の説明】
1(1−1〜1−N) パケット送受信装置
10 主制御部
20 パケット送受信部
21 送信パケット蓄積メモリ
22 送信制御部
23 比較器
24 送信間隔記憶部
25 送信タイマー
26 受信パケット蓄積メモリ
27 受信解析部
28 受信制御部
Claims (6)
- 送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はACK応答パケットを返送し、正常に受信できなかった場合はNACK応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ACK応答パケットを受信すると後続のデータパケットを送信し、前記NACK応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおける前記送信側装置のパケット送受信方法において、
前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が受信可能なデータパケット間の時間間隔を示すパケット送信間隔情報を記憶する記憶ステップと、
前記データパケットの送信開始信号を受信する度に計時回路をリセットして計時を開始する計時ステップと、
前記計時ステップで計時する時間が、前記記憶ステップで記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較ステップと、
前記比較ステップで前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに前記送信開始信号を出力する第1の送信制御ステップと、
前記NACK応答パケットを受信すると、予め定めた一定時間の間NACK受信信号を出力する受信制御ステップと、
前記NACK受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力する第2の送信制御ステップと、
前記NACK受信信号の受信中に前記送信開始信号を受信すると、前記計時ステップで計時した当該時刻での計時値を、記憶している前記パケット送信間隔情報に加算して更新する加算更新ステップと
を有することを特徴とするパケット送受信方法。 - 前記加算更新ステップで記憶している前記パケット送信間隔情報を加算更新したあと、予め定めた回数連続してACK受信した場合および予め定めた時間の間連続してACK受信した場合のいずれかの場合に、記憶している前記パケット送信間隔情報の値を減少させる減少更新ステップをさらに備えることを特徴とする請求項1記載のパケット送受信方法。
- 送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はACK応答パケットを返送し、正常に受信できなかった場合はNACK応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ACK応答パケットを受信すると後続のデータパケットを送信し、前記NACK応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおける前記送信側装置のパケット送受信方法において、
前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が前記ACK応答パケット返送時点から次のデータパケットの受信が可能となる時点までの時間間隔を示すパケット送信間隔情報を記憶する記憶ステップと、
前記ACK応答パケットの受信により出力されるタイマー起動信号を受信する度に計時回路をリセットして計時を開始する計時ステップと、
前記計時ステップで計時する時間が、前記記憶ステップで記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較ステップと、
前記比較ステップで前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに送信開始信号を出力する第1の送信制御ステップと、
前記NACK応答パケットを受信すると、予め定めた一定時間の間NACK受信信号を出力する受信制御ステップと、
前記NACK受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力する第2の送信制御ステップと、
前記NACK受信信号の受信中に前記送信開始信号を受信すると、前記計時ステップで計時している当該時刻での計時値を、記憶している前記パケット送信間隔として更新する更新ステップと
を有することを特徴とするパケット送受信方法。 - 送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はACK応答パケットを返送し、正常に受信できなかった場合はNACK応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ACK応答パケットを受信すると後続のデータパケットを送信し、前記NACK応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおいて、
前記送信側装置は、
前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が受信可能なデータパケット間の時間間隔を示すパケット送信間隔情報を記憶するパケット送信間隔記憶手段と、
前記データパケットの送信開始信号を受信する度に計時回路をリセットして計時を開始するタイマー手段と、
前記タイマー手段が計時する時間が、前記パケット送信間隔記憶手段に記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較手段と、
前記比較手段から前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに前記送信開始信号を出力する送信制御手段と、
前記NACK応答パケットを受信すると、予め定めた一定時間の間NACK受信信号を出力する受信制御手段と、を備え、
前記送信制御手段は、前記NACK受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力し、前記パケット送信間隔記憶手段は、前記NACK受信信号の受信中に前記送信開始信号を受信すると、前記タイマー手段が計時した当該時刻での計時値を、記憶している前記パケット送信間隔情報に加算して更新することを特徴とするパケット送受信装置。 - 前記送信側装置は、前記NACK応答パケットの受信により前記パケット送信間隔記憶手段が前記パケット送信間隔情報を加算更新したあと、予め定めた回数連続してACK受信した場合および予め定めた時間の間連続してACK受信した場合のいずれかの場合に、前記パケット送信間隔記憶手段が記憶する前記パケット送信間隔情報の値を減少させる制御手段をさらに備えることを特徴とする請求項4記載のパケット送受信装置。
- 送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はACK応答パケットを返送し、正常に受信できなかった場合はNACK応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ACK応答パケットを受信すると後続のデータパケットを送信し、前記NACK応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおいて、
前記送信側装置は、
前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が前記ACK応答パケット返送時点から次のデータパケットの受信が可能となる時点までの時間間隔を示すパケット送信間隔情報を記憶するパケット送信間隔記憶手段と、
前記ACK応答パケットの受信により出力されるタイマー起動信号を受信する度に計時回路をリセットして計時を開始するタイマー手段と、
前記タイマー手段が計時する時間が、前記パケット送信間隔記憶手段に記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較手段と、
前記比較手段から前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに送信開始信号を出力する送信制御手段と、
前記NACK応答パケットを受信すると、予め定めた一定時間の間NACK受信信号を出力する受信制御手段と、を備え、
前記送信制御手段は、前記NACK受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力し、前記パケット送信間隔記憶手段は、前記NACK受信信号の受信中に前記送信開始信号を受信すると、前記タイマー手段が計時している当該時刻での計時値を、記憶している前記パケット送信間隔として更新することを特徴とするパケット送受信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003049109A JP4192627B2 (ja) | 2003-02-26 | 2003-02-26 | パケット送受信方法、及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003049109A JP4192627B2 (ja) | 2003-02-26 | 2003-02-26 | パケット送受信方法、及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004260562A JP2004260562A (ja) | 2004-09-16 |
JP4192627B2 true JP4192627B2 (ja) | 2008-12-10 |
Family
ID=33114903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003049109A Expired - Fee Related JP4192627B2 (ja) | 2003-02-26 | 2003-02-26 | パケット送受信方法、及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4192627B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4643330B2 (ja) | 2005-03-28 | 2011-03-02 | ソニー株式会社 | 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム |
JP4580277B2 (ja) * | 2005-05-20 | 2010-11-10 | 日本放送協会 | コンテンツ送信装置及びそのプログラム、並びに、コンテンツ受信装置及びそのプログラム |
JP4730427B2 (ja) * | 2008-11-21 | 2011-07-20 | ソニー株式会社 | 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム |
JP2018046506A (ja) | 2016-09-16 | 2018-03-22 | ルネサスエレクトロニクス株式会社 | 通信装置及び通信方法 |
JP7078470B2 (ja) * | 2018-07-06 | 2022-05-31 | 株式会社ユニバーサルエンターテインメント | 遊技機及び遊技用装置 |
-
2003
- 2003-02-26 JP JP2003049109A patent/JP4192627B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004260562A (ja) | 2004-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6985499B2 (en) | Precise network time transfer | |
JP5717240B2 (ja) | 通信システム及び通信装置 | |
US6405337B1 (en) | Systems, methods and computer program products for adjusting a timeout for message retransmission based on measured round-trip communications delays | |
JP4021885B2 (ja) | 無線通信システムにおいて送信ウィンドウサイズ変更手順を処理するために受信機と送信機とを制御する方法 | |
EP3672162B1 (en) | Distributed time synchronization protocol for an asynchronous communication system | |
US10075382B2 (en) | Communication device, relay device, and communication method for a plurality of packets | |
EP3672161B1 (en) | Distributed time synchronization protocol for an asynchronous communication system | |
CA2503867A1 (en) | Message send queue reordering based on priority | |
CN109560897B (zh) | 一种tcp重传方法和装置 | |
JP4192627B2 (ja) | パケット送受信方法、及び装置 | |
US9172654B2 (en) | Transfer device and transfer method | |
JP6217424B2 (ja) | 制御装置及び制御方法 | |
JP6494586B2 (ja) | 通信端末及び通信システム | |
JPWO2003028314A1 (ja) | 通信方法、送信装置、受信装置、通信プログラム、通信プログラムを記録したコンピュータ読み取り可能な記録媒体、及びネットワークシステム | |
JP4563210B2 (ja) | 通信制御方法、通信ノード、及び通信システム | |
KR100366018B1 (ko) | 데이터 통신 시스템 및 그 통신방법 | |
JP2014183533A (ja) | 通信装置、通信装置の制御方法、プログラム | |
US20050117541A1 (en) | System and method for dynamically determining reservation parameters in a wireless network | |
US10523469B2 (en) | Relay device and communication system | |
EP1744495B1 (en) | Round trip time estimation | |
US10171366B2 (en) | Communication device and control method of communication device | |
CN110289937B (zh) | 延迟响应方未就绪否定应答 | |
JPH1165818A (ja) | データ転送方法および装置、閾値調整方法および装置 | |
CN116346293A (zh) | 一种集群通信中的消息重传方法、装置、设备及介质 | |
KR20180130152A (ko) | 서버와 클라이언트간 통신을 중개하는 중개장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050310 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060113 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080325 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080509 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080610 |
|
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: 20080826 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080908 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111003 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121003 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131003 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |