JP2010118893A - パケット生成装置、パケット生成方法及びパケット生成プログラム - Google Patents
パケット生成装置、パケット生成方法及びパケット生成プログラム Download PDFInfo
- Publication number
- JP2010118893A JP2010118893A JP2008290687A JP2008290687A JP2010118893A JP 2010118893 A JP2010118893 A JP 2010118893A JP 2008290687 A JP2008290687 A JP 2008290687A JP 2008290687 A JP2008290687 A JP 2008290687A JP 2010118893 A JP2010118893 A JP 2010118893A
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- length
- error occurrence
- unit
- 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
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
【課題】少なくとも一つのデータユニットから構成されるパケットを用いたデータ伝送において、オーバーヘッドを削減する。
【解決手段】伝送データとエラー検出用情報とを含むデータユニットから構成されるパケットを生成するパケット生成装置100であって、送信したパケットに関して受信側から返信される伝送結果を用いて、エラー発生状況をデータユニット単位で監視するエラー発生状況監視部1と、エラー発生状況を用いてエラー発生確率を算出し、エラー発生確率、パケットのデータ長、及びオーバーヘッドの相関関係に基づいて、前回のパケットのデータ長を補正した補正データ長を算出するパケットサイズ算出部2と、伝送対象となるデータと補正データ長とを用いて、少なくとも一つのデータユニットから構成されるパケットを生成するパケット生成部3と、を備える。
【選択図】図2
【解決手段】伝送データとエラー検出用情報とを含むデータユニットから構成されるパケットを生成するパケット生成装置100であって、送信したパケットに関して受信側から返信される伝送結果を用いて、エラー発生状況をデータユニット単位で監視するエラー発生状況監視部1と、エラー発生状況を用いてエラー発生確率を算出し、エラー発生確率、パケットのデータ長、及びオーバーヘッドの相関関係に基づいて、前回のパケットのデータ長を補正した補正データ長を算出するパケットサイズ算出部2と、伝送対象となるデータと補正データ長とを用いて、少なくとも一つのデータユニットから構成されるパケットを生成するパケット生成部3と、を備える。
【選択図】図2
Description
本発明は、伝送データとエラー検出用情報とを含むデータユニットから構成されるパケットを生成するパケット生成装置及び方法に関し、特に、パケットのオーバーヘッドを削減するパケット生成装置及び方法に関する。
近年、大量のデータをパケットに分割してデータ転送する方式が用いられている。この場合、データをパケットのサイズに応じて分割し、複数のパケットを生成してデータを伝送する。
図17は一般的に行われているバースト方式でのデータ伝送の様子とパケット構成を示している。図17では、送信側は、複数のパケット(N個、Nは自然数)を順次送信する。受信側は、N個のパケットを順次受信し、伝送結果を示すAckCodeを生成し、ハンドシェーク(Handshake)として送信側へ返信する。パケットのデータ形式は、上段に示す構成になっている。具体的には、パケットは、先頭にプリアンブル(Preamble)、ヘッダ(header)があり、その後にデータペイロード(Data Payload)部分、そして最後にデータ伝送エラー検出用のエラー検出用情報(CRC:Cyclic Redundancy Check)が付加されている。このパケットを用いてバースト方式によるデータ伝送を行う場合、送信側では各パケットをある間隔以上空けて送信し、受信側では各パケットのCRCをチェックして各パケットにエラーが無いかどうかを判断する。予め設定した数(ここではN個)のデータ伝送が完了したところで、受信側から送信側に対して、各パケットにエラーがあったかどうかをコードで示したハンドシェークパケットを返送する。
図18はこのデータ伝送においてパケットの一部にエラーが発生した場合に、その情報をハンドシェーク中のコードを用いて送信側に返す様子を示している。エラーがあるパケットがあった場合、例えば図18に示すようにパケットの順番に対応するコードのビットを'0'にしたハンドシェークを返すことでエラーパケットの再送を要求する。具体的には、受信側は、各パケット内に付加されたCRCにより、各パケットの伝送OK/NGを判断し、伝送結果を示すAckCodeを生成する。図18では、2、4、及び7番目のパケットにエラーが発生した場合を示しており、AckCode[7:0]=01101011となっている。受信側は、AckCodeをハンドシェークとして送信側へ返す。
図1はデータを伝送する場合のパケット構成の他の例であり、一つのパケットのデータ形式を示している。図1に示すパケットは、データが複数のデータペイロードに分割され、それぞれにデータ伝送エラー検出用情報が付加されている。ここでは、データペイロードとCRCとの組み合わせをデータユニットと呼ぶ。図19はこのデータ形式のデータの伝送において、伝送データにエラーが生じた場合に、エラーが発生したデータユニットを示す情報をハンドシェーク中のコードを用いて送信側に返す様子を示している。図19では、受信側は、8個のデータユニットから構成されるパケットを受信し、2、4、及び7番目のデータユニットでエラーが発生した例を示している。なお、図中スペースの関係上「CRC」を「C」と省略して示している。
送信側は、ハンドシェークを受け取ると、AckCodeに従ってエラーが発生した伝送データを再度送信することになる。図17に示すデータ転送ではエラーが発生したパケットを再送する。これに対し、図1に示すデータ伝送ではエラーが発生したデータユニットを再送する。このように、図17のデータ構成と図1のデータ構成では、再送する伝送データの単位が異なり、再送するデータ量も相違する。
図1のデータ構成のパケットにおいてエラーが発生した伝送データを再送する手順について、図20を用いて具体的に説明する。図20は伝送データにエラーが生じた場合に、分割されたデータのみが再送されている様子を示している。伝送データにエラーが発生した場合、図17の例では、パケット毎に再送する必要があるが、図1の例では、図20に示すようにデータユニット毎に再送する伝送データを選択することになる。エラーが発生した伝送データを再送するパケットは、プリアンブル、ヘッダ、及びエラーが発生したデータユニットから構成される。このため、パケット毎に再送する場合に比べ、再送する伝送データ量を削減することができる。伝送データの再送は、伝送効率を低下させる要因の一つであり、再送する伝送データ量を削減することが好ましい。
一つのデータの伝送において、伝送エラー発生時の損失を抑える方法として、例えば、特許文献1に開示されている。特許文献1では、図1に示すように、データペイロード部分を複数のデータユニットに分割し、それぞれにデータ伝送エラー検出用の情報(CRC)を付加するパケットを用いる。これにより、パケットに伝送エラーが発生した場合であっても、データにエラーがあるかどうかをデータユニット単位で判断する。そのため、エラーがあるデータをデータユニット単位で再送すれば良く、パケット単位で再送する場合に比べて伝送時の損失が小さい。送信パケットのどのユニットにエラーが発生したかは、図19に示すように、データユニットの順番をビットの位置に対応させたAckCodeを用い、エラーとなったデータユニットに対応するビットの値を'0'にしたハンドシェークを返すことで、エラーユニットの再送を要求する。
特許文献1の方法では、エラーユニットの再送が要求された場合、送信側からは、図20に示すように該当するデータユニットを次のパケットにまとめて再送している。あるいは、送信側は単純にパケットを再送し、受信側で前回エラーが発生したブロックまでは受信データを無視し、エラーが発生したブロックから正規の受信処理を再開している。
また、特許文献1または特許文献2に開示された技術では、データユニット(特許文献1の図3、特許文献2の図1)を用いることにより、伝送エラーが発生した場合に、再送するデータ量を分割データ部分だけに絞ることが出来るため、伝送の効率化を図ることができるとしている。しかしながら単に、エラーとなった分割データについて再送する、としているだけであって、そこではエラーの発生状況を把握してそれを以後のデータ伝送に反映するようなことは行われてはいない。
データを複数パケットで伝送する場合、パケット間の最小間隔の制約、各パケットに付加されるプリアンブル、ヘッダなどによるオーバーヘッドが伝送効率に大きく影響する。一般に無線通信の場合は、有線通信の場合に比べエラーの発生確率が高くなる傾向になり、このオーバーヘッドが大きい。そのため伝送効率を上げるには1パケットで伝送するデータのサイズをなるべく大きくしてオーバーヘッド(プリアンブル、ヘッダやパケット間の間隔)の割合を下げる必要がある。しかしながら、データサイズを大きくしてパケット長を長くすればそれだけ伝送中にデータエラーが発生する確率が高くなり、エラー発生に伴うデータ再送のオーバーヘッドが大きくなる。
プリアンブルやヘッダなどのオーバーヘッドについて具体的に検討する。例えば、図21はバースト転送における時間的なパラメータとして、無線伝送方式の規格の一つであるWiMedia規格を例に、パケット間ギャップ、パケット内のPreamble/Headerとペイロードの長さについて示している。WiMedia規格は、UWB(Ultra Wide Band)を用いた伝送方式であり、Wireless USBで採用されている方式である。図21に基づいて、パケットの構成・パケット間ギャップが伝送効率に寄与する度合を算出すると、データペイロード部分が約60us(データ長3584Byte、伝送速度480Mbpsの場合)であるのに対し、パケット間ギャップが最低約1.9us、Preamble及びHeaderが約9.4usであり、約15%がオーバーヘッドとなっている。
次に、データ再送に伴うオーバーヘッドについて検討する。図17に示したデータ伝送方式では、パケット長は通常最大値が設定されていて、基本的にはその最大値でデータ伝送が実施されるが、エラー発生が多い場合には適宜パケット長を短くする。一旦短くしたパケット長を長くすることができるかどうかは、パケット長を長くしたパケットを送信しその結果で判断することになる。また、図17に示した伝送方式では、受信側で伝送したデータにエラーが検出された場合、そのデータは全て破棄する必要があるため、エラーが発生した場合の損失が大きい。そのため、エラーが発生しやすい条件下ではデータサイズを大きくした状態を維持して伝送を継続することは困難で、適宜データサイズを小さくする必要がある。
しかしながら、一体どれくらい小さくすれば良いかは不明であるため、適当にサイズを変更し、変更後のサイズを用いてデータ伝送を行って結果を見るというトライアンドエラーの方法とならざるを得ない。このデータ伝送方式ではエラーとなったデータを破棄するため、エラーとなった場合の損失が大きくなっていた。また、一旦データサイズを小さくした後データサイズを大きくできるかどうかを判断することになるが、データサイズを大きくしてデータ伝送を行ってその結果を見るというトライアンドエラーが必要となる。このため、エラーとなった場合の損失が大きくなっていた。このように伝送条件に合わせて適切なデータサイズを選択するには損失リスクが大きく、伝送環境条件の変化に迅速に追従することが困難で伝送効率を向上し難いという問題があった。
ここで、上述の、パケットがエラーになった場合にそのパケット内のデータを全て破棄する必要がある、という点に関しては、パケット内のデータを図1に示したデータ形式とし分割後のデータユニット単位で再送を行うことで改善することはできる。しかし、図20に示すように、データ再送時にそのデータ量を削減しているだけという点でその効果の範囲は対象となる1パケットのみであり、複数パケットを使って行われるデータ伝送全体から見れば伝送効率改善の効果は限定的であった。
特開昭59−167144号公報
特開平5−6629号公報
データ伝送においてエラーが発生した場合、そのエラーの状況に応じてパケットのデータ長の変更等を行うことは可能である。しかしながら、設定するパケットのデータ長として適切な値を伝送環境に応じて迅速に導き出す方法がなかった。このため、データ伝送において、オーバーヘッドが大きくなっているという問題があった。
本発明に係るパケット生成装置の一態様は、伝送データとエラー検出用情報とを含むデータユニットから構成されるパケットを生成するパケット生成装置であって、送信したパケットに関して受信側から返信される伝送結果を用いて、エラー発生状況を前記データユニット単位で監視するエラー発生状況監視部と、前記エラー発生状況を用いてエラー発生確率を算出し、前記エラー発生確率、パケットのデータ長、及びオーバーヘッドの相関関係に基づいて、前回のパケットのデータ長を補正した補正データ長を算出するパケットサイズ算出部と、伝送対象となるデータと前記補正データ長とを用いて、少なくとも一つのデータユニットから構成されるパケットを生成するパケット生成部と、を備える。パケットサイズ算出部は、エラー発生状況を用いて、統計処理を実施し、エラー発生確率とオーバーヘッドとの相関関係を算出し、伝送環境に応じた補正データ長を算出する。これにより、データ伝送におけるオーバーヘッドを削減することができる。
また、本発明に係るパケット生成方法の一態様は、伝送データとエラー検出用情報とを含むデータユニットから構成されるパケットを生成するパケット生成方法であって、送信したパケットに関して受信側から返信される伝送結果を用いて、エラー発生状況を前記データユニット単位で監視し、前記エラー発生状況を用いてエラー発生確率を算出し、前記エラー発生確率、パケットのデータ長、及びオーバーヘッドの相関関係に基づいて、前回のパケットのデータ長を補正した補正データ長を算出し、伝送対象となるデータと前記補正データ長とを用いて、少なくとも一つのデータユニットから構成されるパケットを生成する。
さらに、本発明に係るパケット生成プログラムの一態様は、伝送データとエラー検出用情報とを含むデータユニットから構成されるパケットを生成するパケット生成プログラムであって、送信したパケットに関して受信側から返信される伝送結果を用いて、エラー発生状況を前記データユニット単位で監視する手順と、前記エラー発生状況を用いてエラー発生確率を算出する手順と、前記エラー発生確率、パケットのデータ長、及びオーバーヘッドの相関関係に基づいて、前回のパケットのデータ長を補正した補正データ長を算出する手順と、伝送対象となるデータと前記補正データ長とを用いて、少なくとも一つのデータユニットから構成されるパケットを生成する手順と、をコンピュータに実行させる。
本発明によれば、少なくとも一つのデータユニットから構成されるパケットを用いたデータ伝送において、オーバーヘッドを削減することができる。
以下、本発明の実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
本発明は、データペイロードが複数のデータユニットに分割され、各データユニットにエラー検出用情報が付加された構成のパケットを用いるデータ転送方式に適用される。図1に複数のデータユニットを含むパケットの構成例を示す。パケットは、プリアンブル、ヘッダ、及びN個のデータユニットを含む。Nは、1以上の整数である。データユニットは、データペイロードとデータ検出用情報(以下、適宜「CRC」と記す)を含む。大量のデータを伝送する場合、データは複数のデータペイロードに分割されて各データユニットに配置される。なお、図1では、複数のデータユニットを含む構成例を示しているが、パケットは少なくとも一つのデータユニットを含んでいればよい。プリアンブルは、送受信の同期をとるためのフィールド(ビット列)であり、ヘッダは、パケット及びデータユニットなどに関する情報を示すフィールドであるである。ここでは詳細な説明を省略する。
パケット長は、プリアンブル、ヘッダ及びN個のデータユニットを含む長さを指す。パケットのデータ長(「総データ長」ともいう)は、N個のデータユニットの長さを指し、データユニット長×データユニット数によって算出できる。データユニット長は、一つのデータユニットの長さであり、具体的にはデータペイロードとCRCとを合わせた長さになる。データユニット数は、データユニットの数(N)である。
以下に説明する実施形態の一態様では、パケットのデータ長を適切な値に設定することによって、データ伝送におけるオーバーヘッドの削減を図る。なお、以下の説明では、パケットのデータ長を算出することによって、パケット長が決定されることになるため、パケットのデータ長とパケット長と厳密に区別しない場合もある。
(実施形態1)
図2は、本発明の実施形態に係るパケット生成装置の構成例を示すブロック図である。パケット生成装置100は、エラー発生状況監視部1と、パケットサイズ算出部2及びパケット生成部3を備える。パケット生成装置100は、ハンドシェーク41を用いて、送出対象データ42を含むパケット43を生成し、送出する。
図2は、本発明の実施形態に係るパケット生成装置の構成例を示すブロック図である。パケット生成装置100は、エラー発生状況監視部1と、パケットサイズ算出部2及びパケット生成部3を備える。パケット生成装置100は、ハンドシェーク41を用いて、送出対象データ42を含むパケット43を生成し、送出する。
エラー発生状況監視部1は、受信側から通知されるハンドシェーク41を用いて、エラー発生状況をデータユニット単位で監視する。監視に用いるハンドシェーク41は、伝送したパケットに関する伝送結果であり、データユニット単位のエラー発生状況を含む。ハンドシェーク41は、例えばAckCodeが用いられる。エラー発生状況監視部1は、伝送結果から検出したエラー発生状況をエラー発生状況保持部11に保持する。このように、エラー発生状況監視部1は、当該送出データに対するハンドシェーク41から、その送出データのデータユニット単位でのエラー発生状況を把握することができる。
エラー発生状況保持部11は、エラー発生状況を記録するメモリである。図2では、エラー発生状況監視部1内に配置しているが、これに限られるわけではなく、エラー発生状況監視部1とパケットサイズ算出部2がアクセスできる領域に配置されていればよい。図3にエラー発生状況保持部11が保持する情報の一例を示す。図3では、送信したパケット中について、パケット内データユニット数、データユニット長、それらを掛けたパケットのデータ長(総データ長)、AcKCodeから判断されるデータ伝送に成功・失敗したデータユニットの数(伝送成功データユニット数、伝送失敗データユニット数)、及びデータユニット単位でのエラー発生確率を、パケットIDに対応づけて記録する。また、次に伝送するパケットの補正データ長を記録する。補正データ長は、次に伝送するパケットに適切なデータ長を算出したものであり、適宜「最適データ長」ということもある。
図3には示していないが、パケット毎(パケットID毎)にエラー発生状況を記録したタイムスタンプを記録してもよい。タイムスタンプにより、エラー発生状況を記録してから経過した時間が測れるため、情報の有効性を判断するときに一つの判断項目として用いることができる。
なお、図3は、以降の説明を容易にするため、多くの情報を保持する例を示しているが、少なくとも、パケット内データユニット数、データユニット長、及び伝送エラーデータユニット数を保持していればよい。その他の情報は、これらの情報から算出することが可能である。また、保持する情報を削減することによって、メモリ容量を削減することができる。保持するパケットIDの数は、パケット生成装置100によって適宜決定される。エラー発生状況保持部11が保持する情報のうち、一部は後述するパケットサイズ算出部2によって算出される。
パケットサイズ算出部2は、エラー発生状況を用いてエラー発生確率を算出し、エラー発生確率、パケットのデータ長、及びオーバーヘッドの相関関係に基づいて、伝送状況に応じたデータ長を算出する。また、パケットサイズ算出部2は、補正データ長に応じて、データユニット長を算出し、データユニット数(N)を決定する。パケットサイズ算出部2は、相関関係算出部21、パケット長算出ルール保持部22、及びパケット長算出部23を含む。
相関関係算出部21は、データ発生状況を用いてエラー発生確率を算出し、エラー発生確率とパケットのデータ長との相関関係を算出する。例えば、相関関係算出部21は、エラー発生状況保持部11に記録されたエラー発生状況のパケット内データユニット数と伝送エラーデータユニット数とを用いてエラー発生確率を算出し、エラー発生状況保持部11に記録する。そして、複数のパケットIDについて、算出したエラー発生確率と総データ長とを対応づけ、相関関係を算出する。すなわち、各パケットでのエラー状況の統計を取り、データユニット単位でデータ長とエラー発生確率の相関関係を求める。なお、エラー発生確率は、エラー発生状況監視部1が算出し、エラー発生状況保持部11へ記録する手順を取ってもよい。
パケット長算出ルール保持部22は、データ長とオーバーヘッド、及び、エラー発生確率とオーバーヘッドとの相関関係を算出ルールとして保持する。算出ルールについては後述する。また、算出ルールはこれらに限られることはなく、補正データ長を算出するための情報であればその他の情報であってもよい。
パケット長算出部23は、エラー発生確率とデータ長との相関関係に、算出ルールを適用して補正データ長を算出する。また、パケット長算出部23は、補正データ長に基づいて、データユニット長とデータユニット数の調整を行う。
パケット生成部3は、補正データ長を用いて伝送するデータを分割してデータユニットを生成し、パケットを生成する。パケット生成部3は、データ分割部31、CRC算出部32、及びパケット送出部33を含む。
データ分割部31は、送出対象データ(再送データを含む)を、データユニット長毎にデータユニットの数だけデータを分割する。
CRC算出部32は、各データユニットのCRCを算出する。
パケット送出部33は、各データユニットとそれぞれのCRCをまとめて1つのパケットを形成して送出する。
次にパケット生成装置の動作について説明する。図4は、パケット生成装置の動作例を示すフローチャートである。図4では、送信側の動作を示している。また、図5及び図6は、図1に示すデータ形式のパケット構成例を用いて、データ伝送を行い、伝送エラーが発生した場合のパケット構成例を示す図である。図5は、データユニット数を変化させてパケットのデータ長を調整する例を示し、図6は、データユニット長を変化させてパケットのデータ長を調整する例を示す。図5及び図6では、左側に送信側から伝送するパケット構成を示し、右側に受信側から返信されるハンドシェークを示している。P1からP4はパケットIDであり、P1は、第1のパケット、P2は第2のパケット、以下同様である。Pはプリアンブル、Hはヘッダ、D、Q及びRはデータペイロード、CはCRC、HSはハンドシェークを示す。また、Uは1つのデータユニットの単位を示し、Lはデータユニットの単位長を示す。D、Q及びR、あるいはCに付加している番号は、全データユニット数のうち何番目かを示す値である。図6では、CRCの番号は第1のパケットから付与した通し番号を示している。なお、図面のスペースの関係上、データペイロードの次に付加されるCについては、付加される位置を示す枠のみし、内容の表示を省略している部分もある。
まず、受信側は、送信側から受信したパケットいついて、エラー発生状況を示すAckCodeを生成し、ハンドシェークとして返信する。送信側は、受信側から返信されたハンドシェークを受信する(S11)。
図5の例では、最初に16データユニットのデータを送信し、そこでデータユニットD3、D7、D9、D12、D15それぞれのCRCがエラーとなっている。このとき、受信側はエラーとなったデータユニットに対応するビットを'0'としたAckCodeをハンドシェークとして返すことによって送信側にエラーとなったデータユニットの情報を伝える。
送信側では、エラー発生状況監視部1がAckCodeを用いて図3に示すような送信したパケット中のデータユニット数、データユニット長、それらを掛けた総データ長、AckCodeから判断されるデータ伝送に成功・失敗したデータユニットの数、及びデータユニット単位でのエラー発生確率をエラー発生状況保持部11に記録する(S12)。
パケットサイズ算出部2の相関関係算出部21は、エラー発生状況保持部11に記録されているエラー発生状況を用いて、エラー発生確率を算出する(S13)。また、相関関係算出部21は、エラー発生状況保持部11が保持するエラー発生状況を用いて、各パケットについて統計処理を行う。これにより、相関関係算出部21は、データ長とエラー発生確率との間の相関関係を求めることができる。例えば図7に示すような関係となる。
ここで、エラー発生確率とオーバーヘッドの関係について考えてみると、オーバーヘッドとしてはエラー発生で生じるデータ再送による損失がある。すなわち、エラー発生・再送によるオーバーヘッドである。エラー発生確率とオーバーヘッドの関係は、例えば図8のような関係になる。また、データ長とオーバーヘッドの関係について考えてみると、オーバーヘッドとしてはパケットのプリアンブル、ヘッダ及びCRC、あるいはパケット間最小間隔(パケット間隔)などがある。すなわち、パケット構成上のオーバーヘッドである。例えば、パケット長が異なると、パケット間隔とパケット長の比(パケット間隔/パケット長)が異なってくるため、パケット長が小さくなるとパケット間隔がオーバーヘッドに与える影響も大きくなる。データ長とオーバーヘッドの関係は、エラーが全く無い場合には例えば図9のような関係になる。
エラー発生確率とオーバーヘッドの関係及びデータ長とオーバーヘッドの関係は、所定の計算式等によって算出できる関係である。すなわち、一定の関係が予め予測できる関係になる。このため、エラー発生確率とオーバーヘッドの関係及びデータ長とオーバーヘッドの関係は、パケット長算出ルール保持部22に、パケット長算出ルールとして保持される。一方、エラー発生確率とオーバーヘッドの関係は、伝搬状況等の通信環境により変動する関係にある。そのため、エラー発生状況監視部1は、エラー発生状況を監視する。そして、相関関係算出部21は、エラー発生状況保持部11に所定期間記録されたエラー発生状況を統計処理することによってエラー発生確率とオーバーヘッドの関係を算出する。
そしてこれらの関係に基づき、エラーを考慮した場合のデータ長とオーバーヘッドの関係について考えてみると、エラー発生確率が高い場合には図10、エラー発生確率が低い場合には図11に示すような関係が得られる。ここでのオーバーヘッドは、エラー発生・再送によるオーバーヘッドとパケット構成上のオーバーヘッドとを合わせたものである。何れのケースでもオーバーヘッドが極小となる最適データ長が存在し、エラー発生確率が高い場合には相対的に短く、エラー発生確率が低い場合には相対的に長くなる。図10または図11は、一例を示したものでありエラー発生確率によって相関関係が異なってくるものである。これらの相関関係を用いて補正データ長が算出される。
パケット長算出部23は、相関関係算出部21が算出したデータ長とエラー発生確率との間の相関関係と、パケット長算出ルールとを用いて、パケットのデータ長を算出する(S14)。具体的には、パケット長算出部23は、エラー発生確率に応じて、図10または図11に一例を示した相関関係を算出し、パケットのデータ長を算出する。また、通信開始時、送信側は予め設定したデータ長のデフォルト値を用いて通信を開始し、パケット長算出部23は、まず一つ目のエラー発生状況が記録されると、デフォルト値と比較して補正後のデータ長を算出する。
続いて、パケット長算出部23は、算出したデータ長に応じて、データユニット長及びデータユニット数を調整する(S15)。具体的には、パケット長算出部23は、次のような手法を取ることができる。(A)データ長に応じて、データユニット長を変化させないで、データユニット数を調整する。(B)データ長に応じて、データユニット数を変化させないで、データユニット長を調整する。(C)データ長に応じて、エータユニット長とデータユニット数との両方を調整する。例えば、エラー発生状況保持部11が記録するエラー発生状況を用いて、データ長が同じだがデータユニット長が異なるパケットの状況を解析し、エラー発生確率が小さいデータユニット長を選択する。続いて、データ長と選択したデータユニット長とを用いて、データユニット数を算出する。この場合データユニット長の長さを決定するときに、データ長の約数になるように選択する必要がある。上記手法のいずれをとるかはパケット生成装置100であらかじめ決めておいてもよいし、伝送状況によって、(A)から(C)のいずれかに切り替えるようにしてもよい。また所定の要素に基づいて(A)から(C)のいずれかを選択する用意してもよい。例えば、エラー発生確率が所定の閾値より大きくなった場合に、データユニットの数と長さのどちらを変更するかを決めておいてもよい。データユニット長とデータユニット数との調整は、エラー発生状況を用いて上記以外の統計処理等を実施して、適切な(エラー発生確率が小さく、オーバーヘッドが少ない)データユニット長を選択することが好ましい。
上述した通り、データ伝送を行った際のデータユニット毎の伝送成功・失敗の記録の統計を取ることで、送信におけるオーバーヘッドを極小化する最適データ長(補正データ長)を算出することができる。従って、次パケットの送信ではこの最適データ長を目安にデータ長を変更する。なお、統計対象のパケットは、伝送環境の変化に迅速に追従できるように、当該パケットとその直前の少数のパケットに絞り、より直前のパケットの状況がより統計に反映されるように重み付けをすることが望ましい。また、エラー発生状況保持部11に記録(蓄積)されたエラー発生状況は、所定期間蓄積された後削除される。
また、環境への追従性を制御するために、例えば以下に示すようなルールをパケット長算出ルールに加える方法もある。
(1)直前のパケットの伝送において、全てのデータユニットでエラーが発生しなかった場合は、当該パケットではデータユニット数を所定数(例えば4)増やした値に変更する。
(2)直前のパケットの伝送において、伝送に成功したデータ長がそれまでの統計によるデータ長DLに対して著しく悪化した場合は、一時的な現象である可能性を考慮して、データ長の変更をスキップする。
(1)直前のパケットの伝送において、全てのデータユニットでエラーが発生しなかった場合は、当該パケットではデータユニット数を所定数(例えば4)増やした値に変更する。
(2)直前のパケットの伝送において、伝送に成功したデータ長がそれまでの統計によるデータ長DLに対して著しく悪化した場合は、一時的な現象である可能性を考慮して、データ長の変更をスキップする。
パケット生成部3は、データユニットの数と長さとを用いてパケットを生成し(S16)、生成したパケットを送出させる(S17)。なお、パケット生成部3は、エラー発生時には再送するデータユニットに加え、新規に伝送するデータユニットを用いてパケットを生成する。具体的には、図5または図6を用いて生成するパケットの構成例を後述する。
さて、図5の第1のパケット(P1)では16データユニット中に対して5データユニットでエラーが発生している状況である。パケット長算出部23は、この結果に基づいて最適データ長を算出し、例えば12.2L(L:単位長)という結果になったとする。そこで、パケット生成部3は、次のパケットではデータユニット数を12に変更する。そして、パケット生成部3(データ分割部31)は、パケットに割り当てるデータとして、第1のパケットでエラーとなったデータユニットを先頭から順に割り当て、その後未送信のデータユニットを割り当て、その合計のデータユニット数が変更後のデータユニット数となるように数を調整しパケットを構成する。この例ではD3、D7、D9、D12、D15を先頭から順に割り当て、その後残り7データユニット分にD16からD22を新規に追加している。
送信側・受信側双方においてはエラーとなったデータユニットのデータとAckCodeのビットの対応を管理しており、この例では第1のパケットでエラーとなったD3は第2のパケットの先頭になるため、ACKコードのbit0、D7は第2のパケットでは先頭から2番目になるのでbit1といった具合である。
第2のパケット(P2)ではエラーとなったデータユニットが無い。このため、パケット長算出部23は、パケット長算出ルールのうち、上述した(1)を適用して第3のパケット(P3)のパケット長を16に変更する。パケット生成部3は、新規データとしてD23〜D38をパケット内に割り当てて第3のパケットを送信する。ここでは6データユニットでエラーが発生している。そこで、パケット長算出部23は、次のパケットの最適データ長を10.4と算出し、第4のパケット(P4)のデータユニット数を10に変更している。
図6はパケット長の変更方法として、データユニットの数だけでは無く、データユニットの長さの調整も行っている例である。第1のパケット(P1)では長さが4L(L:単位長)のデータユニットを6個使用してデータ送信を行っている。D2、D4のそれぞれのCRCでエラーが発生している。パケット長算出部23は、この結果に基づいて最適データ長を算出すると例えば18.3L(L:単位長)になったとする。ここで、データユニット長が長いとそのデータユニットが伝送エラーとなった時の損失が大きいため、パケット長算出部23は、データユニット長を小さくし、データユニット長を2L、データユニット数を9とし総データ長18として最適データ長に合わせるようにデータユニット長とデータユニット数とを変更する。なお、データユニット長については、エラーとなったデータユニットの再送を考慮すると、変更後のデータユニット長は変更前のデータユニット長の約数になっていると都合が良い。この例では第1のパケットのデータユニット長は4Lであるため、パケット長算出部23は、変更後のデータユニット長は1Lあるいは2Lとすると都合が良く、ここでは2Lとしている。
ここで、上記ではデータユニット長として説明したが、CRCの長さは所定の長さに固定されているため、厳密には、変更後のデータユニットに含まれるデータペイロードの長さが、変更前のデータユニットに含まれていたデータペイロードの長さの約数、あるいは倍数になる必要がある。説明をわかりやすくするため、本明細書内ではデータユニット長を用いて説明している。
第2のパケット(P2)では、パケット生成部3は、第1のパケットの送信でエラーとなったD2、D4に対応するデータを先頭から順に割り当てている。なお、データユニット長を変更しているため、第1のデータユニット中のデータを、D2はQ0とQ1、D4はQ2とQ3にそれぞれ分割している。D2の長さは(Q0+Q1)、D4の長さは(Q2+Q3)である。パケット生成部3は、この再送データQ0〜Q3に引き続いて新規データとしてQ4〜Q8を割り当てて第2のパケットを構成している。図5の場合と同様に、送信側・受信側双方においてはエラーとなったデータユニットのデータとAckCodeのビットの対応を管理しているため、再送時にデータユニット長が異なる場合にも、受信側は再送されたデータユニットと前回エラーが発生したデータユニットとを対応づけることができる。
第2のパケットの送信ではQ2、Q6、Q7にエラーが発生している。その結果、パケット長算出部23は、最適データ長を9.8と算出する。また、パケット長算出部23は、今度は更にデータユニット長を小さくし、第3のパケットのデータユニット長を1L、データユニット数を10に変更する。パケット長算出部23は、第3のパケットの送信結果に基づいた第4のパケットの最適データ長を8.5と算出する。ここでは、パケット長算出部23は、データユニット長を1Lのまま変更せず、データユニット数を9に変更する。
図5、図6の説明では、データ長とエラー発生確率の相関関係を求める方法において、送信パケット中でエラーとなったデータユニットの数だけを考慮したが、エラーの発生位置に偏りや傾向があるかどうかを分析し、それらの情報も含めて最適データ長を算出することもできる。例えば送信パケットの後半にエラー発生位置が偏っていれば、データ長をエラー発生が発生しない長さにまで小さくすることでエラーが非常に少ない伝送を行うことができるようになる。ここでは詳細な方法については省略する。
続いて、本実施形態の効果について特許文献1に開示された技術と比較して説明する。本実施形態と同様のパケット構成を用い、特許文献1に開示された技術を用いて、受信側からエラーが通知されたデータユニットを再送する場合、データ長を変化させる動作例を図12、図13に示した。図12はデータ伝送中にデータユニット数を変更する動作例を示し、図13はデータ伝送中にデータユニット長を変更する動作例を示す。図12、13では、図5及び図6と同様の記号等を用いている。データ伝送中にパケット長の変更を行う際にもし伝送エラーが発生した場合、特許文献1に開示された技術では、まずエラーが発生したデータユニットを再送する手順である。従って、図12に示すように、まずエラーとなったユニットの再送を完了させる。その後データユニット数を変更してパケット長を変更することになる。同様に、データ伝送中にデータユニット長(ユニットのサイズ)を変更するときに、その前に伝送したパケットについて伝送エラーが発生した場合、図13に示すように、まずエラーとなったデータユニットの再送を完了させる。その後データユニット長を変更することになる。
これに対し、本実施形態のパケット生成装置及び方法では、エラーの発生状況について統計を取り、その結果に基づいて以後のデータ伝送の効率化を図ることができる。エラー発生状況を監視し、適切なデータ長を算出する。具体的には、伝送エラーの状況から現在の伝送環境においてオーバーヘッドが極小となるデータ転送長を算出し、次のデータ伝送にそれを反映させている。具体的な動作としては図5、図6に示す通りで、エラー発生確率が高い場合はデータ長を短く、低い場合はデータ長を長く変更している。
また、図5または図6では、再送する伝送データと新規に伝送するデータとを用いて一つのパケットを生成しているため、パケット長に対するオーバーヘッドの割合が小さくなる。具体的にはプリアンブルとヘッダの割合を小さくすることが可能である。これにより、パケットを伝送する際のオーバーヘッドを削減し、伝送効率を向上させることができる。
さらに、本実施形態では、データ伝送においてエラーが発生した場合のデータ再送において、エラーが発生したパケットのみに着目するのではなく、データ伝送全体からオーバーヘッドを削減することが可能となる。図14は、送信側から伝送されるパケットと受信側の伝送データ処理との動作例を示した図である。エラー発生確率によってデータ長を変更することがオーバーヘッドにどう影響してくるかについて、図14を用いて検討する。定性的には以下のように考えれば良い。すなわち、エラー発生確率が低い場合は、一つのパケットにデータペイロード分割した伝送データをなるべく多く入れた方がパケット間最小間隔やパケットのプリアンブル、ヘッダなどの影響が小さくなるので全体としてオーバーヘッドが小さくなるのは明らかである。他方、エラー発生確率が高い場合については図14を使って具体的に説明する。
図14において、(a)は1パケットに12個の分割データ、(b)は1パケットに4個の分割データで構成されている場合を示している。また、図14では、4分割データ毎に1回の割合、ほぼ均等にエラーが発生している状況を想定している。図14の例では1パケットに入れる分割データの数は小さい方が有利となっている。これは、受信側処理では、分割データにエラーがあった場合、それを次のパケットで送られてくるまで処理を待つ必要があるためであり、パケット長が長ければそれだけ待ち時間が長くなることによる。このように、エラー発生により再送する場合のオーバーヘッドは伝送路上だけでは無く、データ受信側の処理も含めて考える必要がある。
図14で示したように、伝送エラー発生確率によってデータ長を調整するようにすれば伝送効率の向上を図ることが可能になる。伝送エラー発生確率を迅速に算出するには、本実施形態で説明した手段・手順を備える必要がある。本実施形態では、伝送エラーの発生確率を1パケットの送出と、それ以前の少数のパケット送出の結果の統計に基づいて補正データ長を算出している。このため、伝送環境の変化への追従性が高い。多数のパケットの送出結果の統計を取らないとエラー発生確率を求めることが出来ない方法に比べ、伝送環境への追従性が高くなるため、伝送効率の向上がより期待できる。従って、本実施形態は、エラー発生確率が高く、伝送環境が変化しやすい無線環境に適用することが好ましい。
以上説明したように、パケットによるデータ伝送において、伝送環境に応じてオーバーヘッドが極小となるようにデータ長を調整しながら伝送を行うことで、データ伝送効率の向上を図ることができる。具体的には、データペイロードが適切な長さのデータユニットに分割され、それぞれにCRCが付加されている形式のパケットを用いるデータ伝送方式において、パケット送信時の各データユニットのエラー発生状況に基づいてデータ長とエラー発生確率の相関関係を導き出し、そこから送信時のオーバーヘッドが極小となる最適データ長を算出し、次に送信するパケットにおけるデータ長をそのデータ長に変更することにより実現する。
より具体的には、データペイロードが複数のユニットに分割され、各ユニットに転送エラー検出用の情報(CRC)が付加された構成のパケットによるデータ伝送処理において、伝送時にエラーが発生したユニット数の状況を監視し、その情報に基づいて伝送時のオーバーヘッドが極小となる最適データ長を算出し、それに合わせて次パケットのパケット長を調整することで伝送効率の向上を図る。
また、上述のパケット構成によるデータ伝送では、伝送エラー発生時にエラーとなったユニットのみ再送することで伝送損失を少なく抑えることができるという特徴があり、これを活かし、エラー発生状況に応じたデータ長の調整を加えることによって、伝送損失を抑えつつパケット長をなるべく長くしてパケット間ギャップやPreamble、Headerを少なくすることによる伝送効率の更なる向上を図る。特に、再送する伝送データを含むデータユニットと新規の伝送データを含むデータユニットとから構成されるパケットを生成することによって、パケット間ギャップやPreamble、Headerなどのオーバーヘッドを削減し、伝送効率の更なる向上を図ることができる。
(実施形態2)
実施形態1では、パケット長算出部23は、補正データ長を算出後、データユニット数とデータユニット長とを調整する例を示したが、この動作に限られることはない。例えば、データユニット数またはデータユニット長とのどちらを調整するかを予め設定しておき、設定された要素を変更することによって、パケットの総データ長を補正データ長に調整する手法であってもよい。
実施形態1では、パケット長算出部23は、補正データ長を算出後、データユニット数とデータユニット長とを調整する例を示したが、この動作に限られることはない。例えば、データユニット数またはデータユニット長とのどちらを調整するかを予め設定しておき、設定された要素を変更することによって、パケットの総データ長を補正データ長に調整する手法であってもよい。
また、予め設定したい要素で調整することを継続した場合、エラー発生確率が閾値を超えた場合に、データユニット数とデータユニット長との相関関係に基づいて、どちらの要素を変更するかを決定し、パケットの総データ長を調整してもよい。
データユニット数とデータユニット長との相関関係を毎回検討する場合に比べ、手続きが簡潔になることにより、処理時間の短縮が期待できる。
(その他の実施形態)
上記各実施形態において、パケット長算出ルール保持部22に保持するパケット長算出ルールの一例を説明したが、さらに次のルールをパケット長算出ルールとして追加してもよい。
・統計を取るパケット数がある所定の数(例えば10)に達するまではデータ長の変更は行わない。
・データ長の変更を行う頻度をある所定の数(例えば2)のパケット毎に行う。
・データ長、データユニット数、データユニット長に関する統計データの収集のため、時折、最適では無くても、それらのパラメータを振ったパケットを生成して転送する。
・算出される最適データ長が大きく変化しなくなった場合、(それが実際の最適値では無い極値に陥っている可能性を考えて)時折データ長をランダムに変更して転送する。
・直前に行われたデータ転送から時間が大きく経過している場合は、統計データを一旦破棄し、当該パケットのデータ長を所定の(大きな)値に設定し転送する。
上記各実施形態において、パケット長算出ルール保持部22に保持するパケット長算出ルールの一例を説明したが、さらに次のルールをパケット長算出ルールとして追加してもよい。
・統計を取るパケット数がある所定の数(例えば10)に達するまではデータ長の変更は行わない。
・データ長の変更を行う頻度をある所定の数(例えば2)のパケット毎に行う。
・データ長、データユニット数、データユニット長に関する統計データの収集のため、時折、最適では無くても、それらのパラメータを振ったパケットを生成して転送する。
・算出される最適データ長が大きく変化しなくなった場合、(それが実際の最適値では無い極値に陥っている可能性を考えて)時折データ長をランダムに変更して転送する。
・直前に行われたデータ転送から時間が大きく経過している場合は、統計データを一旦破棄し、当該パケットのデータ長を所定の(大きな)値に設定し転送する。
また、上記各実施形態で説明したパケット生成装置及び方法は、プログラムによって実現することも可能である。プログラムは、コンピュータに読み取り可能な記録媒体に記録される。コンピュータは、記録媒体に記録されたプログラムを読み出し、メモリにロードし、CPU(Central Processing Unit)の制御のもとで実行される。プログラムは例えば少なくとも次の手順をコンピュータに実行させる。
送信したパケットに関して受信側から返信される伝送結果を用いて、エラー発生状況をデータユニット単位で監視する手順。エラー発生状況を用いてエラー発生確率を算出する手順。エラー発生確率、パケットのデータ長、及びオーバーヘッドの相関関係に基づいて、前回のパケットのデータ長を補正した補正データ長を算出する手順。伝送対象となるデータと補正データ長とを用いて、少なくとも一つのデータユニットから構成されるパケットを生成する手順。
(実施例)
本発明の一態様を適用したコントローラチップの一例を図15に示す。コントローラチップ200は、PCIバス300を介して、ホストシステム400と接続する。図15では、コントローラチップ200は、外部バス制御201、データ保持用RAM202、ROM/RAM203、演算回路204、転送制御部205、伝送情報保持用RAM206、Serial Interface Engine207、CRC generator /checker208、Serializer /Deserializer209、及び送受信回路210を備える。
本発明の一態様を適用したコントローラチップの一例を図15に示す。コントローラチップ200は、PCIバス300を介して、ホストシステム400と接続する。図15では、コントローラチップ200は、外部バス制御201、データ保持用RAM202、ROM/RAM203、演算回路204、転送制御部205、伝送情報保持用RAM206、Serial Interface Engine207、CRC generator /checker208、Serializer /Deserializer209、及び送受信回路210を備える。
外部バス制御201は、PCIバス300を介してホストコンピュータと情報を送受信する。データ保持用RAM202は、コントローラチップ200内の処理中に必要な情報を一時的に保持する。ROM/RAM203は、演算回路204が実行する命令群(プログラム)やパケット長算出ルールを記録する。演算回路204は、ROM/RAM203に記録する命令群を実行する。転送制御部205は、パケットの転送を制御する。また、受信したハンドシェークを解析する。伝送情報保持用RAM206は、エラー発生状況情報を保持する。Serial Interface Engine207は、パケット転送の送受信制御、プロトコル制御を行う。CRC generator /checker208は、CRCを生成・チェックを行う。Serializer /Deserializer209は、パケットのパラレル・シリアル変換とコード変換、Deserializerは更に受信エラー検出を行う。送受信回路210は、受信側との送受信のインターフェースである。
図2に示す構成と対応づけると、エラー発生状況監視部1は、転送制御部205によって実現される。パケットサイズ算出部2の各構成要素は、ROM/RAM203と演算回路204によって実現される。パケット生成部3において、データ分割部31は、ROM/RAM203と演算回路204、CRC算出部32はCRC generator /checker208、パケット送出部33は、送受信回路210によってそれぞれ実現される。また、例えば、パケット長算出ルールは、ROM/RAM203に記憶するファームウェアで実現すると、プログラム次第でルールの変更が容易になる。これに対し、パケット長算出ルールが固定されている場合、ファームウェアで実現することもできるし、ハードウェアで実現することも可能になる。
また、図15に示したコントローラチップの利用した通信システムの一例を図16に示す。図16において、(a)は、有線通信の構成例、(b)は、無線通信の構成例を示している。図16では、図15に示したコントローラチップ200は、コンピュータ500内部に搭載されている。コンピュータ500と周辺機器700とはハブ600を介して伝送路でデータを伝送する構成となっている。周辺機器としては、例えばプリンタなどである。
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。
1 エラー発生状況監視部
2 パケットサイズ算出部
3 パケット生成部
21 相関関係算出部
22 パケット長算出ルール保持部
23 パケット長算出部
31 データ分割部
32 CRC算出部
33 パケット送出部
100 パケット生成装置
200 コントローラチップ
201 外部バス制御
202 データ保持用RAM
203 ROM/RAM
204 演算回路
205 転送制御部
206 伝送情報保持用RAM
207 Serial Interface Engine
208 CRC generator /checker
209 Serializer /Deserializer
210 送受信回路
300 PCIバス
400 ホストシステム
500 コンピュータ
600 ハブ
700 周辺機器
2 パケットサイズ算出部
3 パケット生成部
21 相関関係算出部
22 パケット長算出ルール保持部
23 パケット長算出部
31 データ分割部
32 CRC算出部
33 パケット送出部
100 パケット生成装置
200 コントローラチップ
201 外部バス制御
202 データ保持用RAM
203 ROM/RAM
204 演算回路
205 転送制御部
206 伝送情報保持用RAM
207 Serial Interface Engine
208 CRC generator /checker
209 Serializer /Deserializer
210 送受信回路
300 PCIバス
400 ホストシステム
500 コンピュータ
600 ハブ
700 周辺機器
Claims (14)
- 伝送データとエラー検出用情報とを含むデータユニットから構成されるパケットを生成するパケット生成装置であって、
送信したパケットに関して受信側から返信される伝送結果を用いて、エラー発生状況を前記データユニット単位で監視するエラー発生状況監視部と、
前記エラー発生状況を用いてエラー発生確率を算出し、前記エラー発生確率、パケットのデータ長、及びオーバーヘッドの相関関係に基づいて、前回のパケットのデータ長を補正した補正データ長を算出するパケットサイズ算出部と、
伝送対象となるデータと前記補正データ長とを用いて、少なくとも一つのデータユニットから構成されるパケットを生成するパケット生成部と、を備えるパケット生成装置。 - 前記伝送結果から検出したエラー発生状況を保持するエラー発生状況保持部をさらに備え、
前記エラー発生状況監視部は、前記伝送結果に基づいて、少なくとも、パケット中のデータユニット数、データユニット長、及びエラーが発生したデータユニット数を一組のエラー発生状況として前記エラー発生状況保持部へ格納することを特徴とする請求項1記載パケット生成装置。 - 前記パケットサイズ算出部は、前記データユニット数と前記エラーが発生したデータユニット数に基づいて、前記エラー発生確率を算出し、前記エラー発生確率に応じて、前記パケットのデータ長とオーバーヘッドとの相関関係を算出して前記補正データ長を算出することを特徴とする請求項2記載のパケット生成装置。
- 前記パケットサイズ算出部は、前記補正データ長に基づいて、データユニット長とデータユニット数とを調整することを特徴とする請求項2または3記載のパケット生成装置。
- 前記パケットサイズ算出部は、前記補正データ長における、データユニット長とパケット中のエラーが発生したデータユニット数との相関関係に基づいて、データユニット長を決定することを特徴とする請求項4記載のパケット生成装置。
- 前記エラー発生状況保持部は、複数の伝送結果から検出した複数組のエラー発生状況を保持し、
前記パケットサイズ算出部は、前記複数組のエラー発生状況のうち、伝送結果が新しいものに重みづけをして前記エラー発生確率を算出することを特徴とする請求項2乃至5のいずれか一項に記載のパケット生成装置。 - 前記パケット生成部は、再送する伝送データを含むデータユニットと、新規の伝送データを含むデータユニットとを含むパケットを生成することを特徴とする請求項1乃至6のいずれか一項に記載のパケット生成装置。
- 前記パケットサイズ算出部は、前記エラー発生確率に応じて、前回の送信よりオーバーヘッドを削減するデータ長を算出することを特徴とする請求項1乃至7いずれか一項に記載のパケット生成装置。
- 前記パケットサイズ算出部は、パケットの構成に起因する要素と、エラー発生による再送に起因する要素との少なくとのいずれかのオーバーヘッドを削減するデータ長を算出することを特徴とする請求項1乃至8いずれか一項に記載のパケット生成装置。
- 前記パケットサイズ算出部は、
前記データ発生状況を用いて前記エラー発生確率を算出し、前記エラー発生確率と前記パケットのデータ長との相関関係を算出する相関関係算出部と、
パケットのデータ長とオーバーヘッド、及び、エラー発生確率とオーバーヘッドとの相関関係を算出ルールとして保持するパケット長算出ルール保持部と、
前記エラー発生確率と前記パケットのデータ長との相関関係に前記算出ルールを適用して前記補正データ長を算出するデータ長算出部と、を備えることを特徴とする請求項1乃至9いずれか一項に記載のパケット生成装置。 - 前記パケット長算出ルール保持部は、前記パケット長算出ルールとして、さらに、エラーが発生しなかった場合に前記パケットのデータ長を延長すること、直前直後の伝送結果と比べてエラー検出数が所定の閾値を超えて増加した場合、当該エラー発生状況のデータを無視すること、を保持することを特徴とする請求項10記載のパケット生成装置。
- 前記エラー発生状況監視部は、前記伝送結果を用いて、伝送エラーとなったデータユニットの位置を検出してエラー発生位置情報を取得し、
前記パケット長算出部は、前記エラー発生確率、前記パケットのデータ長、及びオーバーヘッドの相関関係に加え、前記エラー発生位置情報に基づいて、前記データ長を算出することを特徴とする請求項1乃至11のいずれか一項に記載のパケット生成装置。 - 伝送データとエラー検出用情報とを含むデータユニットから構成されるパケットを生成するパケット生成方法であって、
送信したパケットに関して受信側から返信される伝送結果を用いて、エラー発生状況を前記データユニット単位で監視し、
前記エラー発生状況を用いてエラー発生確率を算出し、
前記エラー発生確率、パケットのデータ長、及びオーバーヘッドの相関関係に基づいて、前回のパケットのデータ長を補正した補正データ長を算出し、
伝送対象となるデータと前記補正データ長とを用いて、少なくとも一つのデータユニットから構成されるパケットを生成するパケット生成方法。 - 伝送データとエラー検出用情報とを含むデータユニットから構成されるパケットを生成するパケット生成プログラムであって、
送信したパケットに関して受信側から返信される伝送結果を用いて、エラー発生状況を前記データユニット単位で監視する手順と、
前記エラー発生状況を用いてエラー発生確率を算出する手順と、
前記エラー発生確率、パケットのデータ長、及びオーバーヘッドの相関関係に基づいて、前回のパケットのデータ長を補正した補正データ長を算出する手順と、
伝送対象となるデータと前記補正データ長とを用いて、少なくとも一つのデータユニットから構成されるパケットを生成する手順と、をコンピュータに実行させるパケット生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008290687A JP2010118893A (ja) | 2008-11-13 | 2008-11-13 | パケット生成装置、パケット生成方法及びパケット生成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008290687A JP2010118893A (ja) | 2008-11-13 | 2008-11-13 | パケット生成装置、パケット生成方法及びパケット生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010118893A true JP2010118893A (ja) | 2010-05-27 |
Family
ID=42306255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008290687A Pending JP2010118893A (ja) | 2008-11-13 | 2008-11-13 | パケット生成装置、パケット生成方法及びパケット生成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010118893A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9160483B2 (en) | 2011-08-25 | 2015-10-13 | Mitsubishi Electric Corporation | Signal transmission device with data length changer |
US9928880B2 (en) | 2013-12-02 | 2018-03-27 | Mitsubishi Electric Corporation | System management device, system management method, and program |
-
2008
- 2008-11-13 JP JP2008290687A patent/JP2010118893A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9160483B2 (en) | 2011-08-25 | 2015-10-13 | Mitsubishi Electric Corporation | Signal transmission device with data length changer |
US9928880B2 (en) | 2013-12-02 | 2018-03-27 | Mitsubishi Electric Corporation | System management device, system management method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4542150B2 (ja) | 送信装置、受信装置、情報通信方法 | |
JP5047472B2 (ja) | フレーム集約と共に使用されるmacヘッダ圧縮 | |
JP3634800B2 (ja) | パリティチェック結合を用いたハイブリッド自動再送要求を実施するシステム及び方法 | |
US8312352B2 (en) | Communication apparatus and communication method | |
US9866351B2 (en) | Communication method and communication apparatus | |
JP5527209B2 (ja) | 通信装置およびヘッダ制御方法 | |
US7978626B1 (en) | Method and system for adaptive hybrid automatic repeat request protocols based on network conditions | |
KR100750170B1 (ko) | 통신 네트워크에서 데이터 프레임을 효율적으로 전송하는방법 및 장치 | |
US8089868B2 (en) | Wireless communication apparatus and wireless communication method using variable transmission rate | |
US8171365B2 (en) | Communication apparatus and method thereof | |
EP2269401B1 (en) | Wireless communications system and channel-switching method | |
US9876727B2 (en) | Physical-layer signaling of flow control updates | |
KR20130087555A (ko) | 집합된 패킷 전송들에서의 패킷-레벨 소거 보호 코딩 | |
JP2007259454A (ja) | 無線通信システムにおいてパケット再送を処理する方法及び装置 | |
US20090303871A1 (en) | Method and apparatus for packet aggregation according to traffic characteristics | |
EP2784965B1 (en) | Data communication method and apparatus using forward error correction | |
JP2010010766A (ja) | 検査符号生成装置及び検査符号生成方法 | |
US8520558B2 (en) | Quality of service securing method and apparatus | |
JP2010118894A (ja) | パケット生成装置、パケット生成方法及びパケット生成プログラム | |
US10200154B2 (en) | System and method for early packet header verification | |
JP2004080070A (ja) | データ転送方法及びデータ転送システム並びにコンテンツ配信システム | |
JP2010118893A (ja) | パケット生成装置、パケット生成方法及びパケット生成プログラム | |
JP5817387B2 (ja) | 通信装置及び通信方法 | |
US8730810B2 (en) | Medium access control forwarding protocol | |
JP4888571B2 (ja) | 受信装置、受信方法、無線通信システム、及び通信方法 |