JP2004349891A - Packet transmitting device, packet receiving device, method, and program - Google Patents

Packet transmitting device, packet receiving device, method, and program Download PDF

Info

Publication number
JP2004349891A
JP2004349891A JP2003142657A JP2003142657A JP2004349891A JP 2004349891 A JP2004349891 A JP 2004349891A JP 2003142657 A JP2003142657 A JP 2003142657A JP 2003142657 A JP2003142657 A JP 2003142657A JP 2004349891 A JP2004349891 A JP 2004349891A
Authority
JP
Japan
Prior art keywords
data
retransmission
packet
transmission
redundant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003142657A
Other languages
Japanese (ja)
Other versions
JP4217534B2 (en
Inventor
Hidemoto Suzuki
偉元 鈴木
Takashi Harashita
貴志 原下
Kiyoko Tanaka
希世子 田中
Hidetoshi Ueno
英俊 上野
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2003142657A priority Critical patent/JP4217534B2/en
Publication of JP2004349891A publication Critical patent/JP2004349891A/en
Application granted granted Critical
Publication of JP4217534B2 publication Critical patent/JP4217534B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To improved the communication quality of communication processing for data packets by increasing a frequency of resending using encoded packets for forward error correction. <P>SOLUTION: A transmitting device 3 is equipped with an original data storage part 31 which stores original data regarding transmission, an encoding part 32 which encodes redundant data for error correction from the original data regarding the transmission, a resending data storage part 33 which stores part of the encoded redundant data as data for resending, a data packet transmission part 35 which transmits the original data and part or the whole of the redundant data, and a request-to-resend reception part 37 which receives a request to resend from a transmission destination. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、パケット通信におけるデータの誤り回復に係る、パケット送信装置、パケット受信装置、方法及びプログラムに関する。
【0002】
【従来の技術】
パケット通信の一形態として、同一のパケットを複数のクライアントに一括して配信するマルチキャスト方式がある。このマルチキャスト方式は、図10に示すように、サーバ11から送出されたパケット15は、ルータ12や、無線LANルータ等のアクセスポイント13を介して、複数のクライアント端末14に配信される。
【0003】
ところで、このようなマルチキャスト方式では、複数のクライアント端末14のいずれかが必要なパケットを受信できない場合が生じる。この場合には、サーバ11に対して再送要求を行うが、受信パケットの欠落が生じるたびに、サーバ11に対して再送要求を行うと、サーバ負荷や、通信リソースの消費が過大となるため、クライアント端末14側で、欠落パケットの回復を行うことができるように、誤り回復技術が採用されている。
【0004】
前方誤り訂正(FEC; Forward Error Correction)は、誤り回復技術の1つであり、データパケットの送受信に際して、送信側で、送信に係るオリジナルデータに対して、符号化による冗長データを付加し、受信側で、受信されたオリジナルデータ及び冗長データとを利用して、受信ができなかった不足分のパケットを復元し、誤り訂正を行う方法である(例えば、非特許文献1及び2参照。)。
【0005】
従来より、エンコードアルゴリズムにはいくつか知られているが、その一つであるReed−Solomon Erasure Codeを使用する場合には、冗長データを生成するためのエンコード後の総データパケット数が、最大256個に制限される(非特許文献2)。
【0006】
また、Digital Fountain社の開発したエンコード方式では、冗長データのためのエンコードデータを無限に生成することが可能であり、任意のエンコードデータの中から特定数のデータパケットを集めれば、オリジナルのデータパケットへデコードすることができる。しかし、このようなユニークな方法にはライセンス使用料の問題があり一般に普及するには至っていない。
【0007】
【非特許文献1】
山内長承,「高信頼マルチキャスト」,IPSJMagazine, pp.754−759, Vol.42,No.8,Aug.2001
【0008】
【非特許文献2】
鈴木偉元,他「モバイル・マルチキャスト通信のためのFEC/ARQハイブリッド制御方式の検討」信学技報,SST2001−139,A・P2001・287,pp.75−82
【0009】
【発明が解決しようとする課題】
上述したようなデータパケット通信の誤り回復として、前方誤り訂正を用いた場合には、再送に使用できるデータパケット数が、最初の送信時にエンコード生成されたデータパケット数の範囲に限られるため、誤り回復のための再送回数に限界があるという問題があった。
【0010】
そこで、本発明は、以上の点に鑑みてなされたもので、データパケットの前方誤り訂正のエンコードを繰り返すことによって、冗長なデータパケットを増加させ、データパケットの通信処理において、前方誤り訂正のエンコードパケットを用いた再送の回数を増加させ、通信品質の向上を図ることのできるパケット送信装置、パケット受信装置、方法及びプログラムを提供することを目的とする。
【0011】
【課題を解決するための手段】
上記課題を解決するために、本発明は、パケットデータを送信する際に、送信に係るオリジナルデータから、誤り訂正用の冗長データを生成し、この冗長データの一部を再送用データとして蓄積するとともに、オリジナルデータ、及び冗長データの一部または全部を送信する。そして、必要分のデータが送信されるまで、不足分のデータの再送要求を、送信先から受信し、蓄積された再送用データからさらに新規冗長データを生成するとともに、新規冗長データを再送用データとして蓄積し、冗長データの一部または全部、及び新規冗長データの一部または全部を送信する。
【0012】
また、本発明は、パケットデータを受信する際に、送信に係るオリジナルデータ、及びオリジナルデータから生成された誤り訂正用の冗長データを受信し、必要分のデータが受信されるまで、不足分のデータの再送要求を、送信元に送信し、再送用データとして送信側で蓄積された冗長データの一部または全部と、再送用データからさらに生成された新規冗長データの一部または全部とを、再送に係る冗長データとして受信し、これらオリジナルデータ、冗長データ、及び再送に係る冗長データから、送信に係るオリジナルデータを生成する。
【0013】
なお、上記発明におけるデータの送信は、当該パケット送信装置に接続された複数の他の通信装置に対して一括して行うマルチキャスト方式とすることができる。
【0014】
このような本発明によれば、送信側において、データパケットの前方誤り訂正のエンコードを行い、冗長なデータパケット数を増大させて送信し、再送要求を受信した場合には、既にエンコードしてある冗長データに対して、さらに前方誤り訂正のエンコードを行い、さらに冗長なデータパケット数を増やして送信することができる。
【0015】
なお、上記発明においては、送信側において、再送回数を記憶しておき、再送回数を送信に係るデータに記述し、受信側において、受信されたデータに記述された、当該データの再送回数を検出し、この検出された再送回数に応じてオリジナルデータの生成を行うことが好ましい。
【0016】
これにより、順序性保証を行わない通信プロトコルにおいて、ネットワークの遅延や誤りによってデータパケットの順番が変わってしまう可能性がある場合でも、再送回数に関する情報をデータパケットに記述することによって、受信側において、デコードに必要となるデータパケットを識別することができ、再送回数の同じデータを使って順次デコードを繰り返すことにより、オリジナルのデータパケットを取得することができる。
【0017】
【発明の実施の形態】
以下に本発明の実施形態について、図を参照しつつ説明する。
【0018】
(システムの構成)
図1は、本発明の実施形態におけるパケット通信システムの全体構成を例示する構成図である。
【0019】
同図に示すように、本実施形態にかかるパケット通信システムは、サーバ21とクライアント端末24は、ルータHUB22及びアクセスポイント23を介して接続されている。なお、本実施形態におけるデータの送信は、サーバ21に接続された複数の他のクライアント端末24に対して一括して行うマルチキャスト方式により行う。すなわち、サーバ21より配信されたデータパケット25は、ルータHUB22及びアクセスポイント23を介して、クライアント端末24に到達する。
【0020】
サーバ21は、本発明の送信装置3を備えており、各クライアント端末24は、受信装置4を備えている。図2は、本実施形態における送信装置3の内部構成を示すブロック図である。
【0021】
同図に示すように、送信装置3は、送信に係るオリジナルデータを蓄積するオリジナルデータ蓄積部31と、送信に係るオリジナルデータから、誤り訂正用の冗長データをエンコードするエンコード部32と、エンコードされた冗長データの一部を再送用データとして蓄積する再送用データ蓄積部33と、オリジナルデータ、及び冗長データの一部または全部を送信するデータパケット送信部35と、送信先からの再送要求を受信する再送要求受付部37とを備えている。
【0022】
さらに、送信装置3は、データパケット送信部35による再送回数を記憶する再送回数記憶部34と、再送回数を送信に係るデータに記述する多重度管理部38と、各種データの送受信を行うデータ送受信部36と、上記各部を制御する制御部39とを備えている。
【0023】
前記エンコード部32は、再送要求受付部37が受信した再送要求に応じて、再送用データからさらに新規冗長データを生成する機能を備えている。また、再送用データ蓄積部33は、新規冗長データを再送用データとして蓄積し、
前記データパケット送信部35は、再送要求受付部37が受信した再送要求に応じて、冗長データの一部または全部、及び新規冗長データの一部または全部を送信する機能を備えている。
【0024】
図3は、本実施形態における受信装置4の内部構成を示すブロック図である。
【0025】
同図に示すように、受信装置4は、受信されたオリジナルデータ41を格納するオリジナルデータ蓄積部31と、オリジナルデータや冗長データを受信するデータパケット受信部45と、必要分のデータが受信できなかった場合に不足分のデータの再送要求をサーバ21に送信する再送要求送信部47と、受信された冗長データ及び再送された冗長データを蓄積する冗長データ蓄積部43と、受信されたオリジナルデータ、冗長データ、及び再送された冗長データから、送信に係るオリジナルデータをデコードするデコード部42とを備えている。
【0026】
また、受信装置4は、受信されたデータに記述された、当該データの再送回数を検出する多重度解釈部44と、ネットワークに接続され各種データの送受信を行うデータ送受信部46と、上記各部の制御を行う制御部48とを備えている。
【0027】
デコード部42は、多重度解釈部44によって検出された再送回数に応じて前記オリジナルデータのデコードを行う機能を備えている。
【0028】
(システムの動作)
図4は、本実施形態に係るデータ通信システムの配信動作の一例を説明するための全体シーケンス図である。
【0029】
先ず、サーバ21において、パケットデータを送信する際に、送信に係るオリジナルデータ1〜nに基づいて、誤り訂正用の冗長データ1’〜s’を生成し、そのうちt個の冗長データ(α+1)’〜s’を再送用データとして再送用データ蓄積部33に蓄積する(S101)。
【0030】
そして、全てのオリジナルデータ1〜n、及びα個の冗長データ1’〜α’(0≦α≦s)を各クライアント端末24に送信する(S102)。一方、クライアント端末24では、送信に係るオリジナルデータ1〜n、及び冗長データ1’〜α’の受信を試みる(S103)。ここでは、必要分のパケットデータが受信されず、n−k個のパケットデータが受信されたものとする。そのため、クライアント端末24では、再送要求送信部47により、不足分のデータ(k個:k≦t)の再送要求を、サーバ21に送信する(S104)。
【0031】
サーバ21では、再送要求受付部37により、クライアント端末24からの再送要求を受信し、再送用データ蓄積部33に蓄積された再送用データ(α+1)’〜s’を読み出し、このうち、不足個数k個分の再送用データ(α+1)’〜(α+k)’を用いて、エンコード部32によりエンコードを行い、さらに新規冗長データ1”〜u”を生成する(S105)。そして、再送用データ蓄積部33に、v個の新規冗長データ(β+1)”〜u”を再送用データとして蓄積するとともに、k個の再送用の冗長データ(α+1)’〜(α+k)’、及びβ個の新規冗長データ1”〜β”(0≦β≦u)を、クライアント端末24に対して送信する(S106)。
【0032】
クライアント端末24では、送信されたk個の再送用の冗長データ(α+1)’〜(α+k)’、及びβ個の新規冗長データ1”〜β”とを、再送に係る冗長データとして受信する(S107)。ここでは、必要分のパケットデータが受信されず、k−h個のパケットデータが受信されたものとする。そのため、クライアント端末24では、再送要求送信部47により、不足分のデータ(h個:h≦v)の再送要求を、サーバ21に送信する(S108)。
【0033】
サーバ21では、再送要求受付部37により、クライアント端末24からの再送要求を受信し、再送用データ蓄積部33に蓄積された、再送用データ(β+1)”〜u”を読み出し、このうち、不足個数分の再送用データ(β+1)”〜(β+h)”を用いて、エンコード部32によりエンコードを行い、さらに新規冗長データ1’’’〜w’’’を生成する(S109)。そして、再送用データ蓄積部33に、x個の新規冗長データ(γ+1)’’’〜w’’’を再送用データとして蓄積するとともに、h個の再送用の冗長データ(β+1)”〜(β+h)”、及びγ個の新規冗長データ1’’’〜γ’’’(0≦γ≦w)を、クライアント端末24に対して送信する(S110)。
【0034】
必要分のデータが送信されるまで、上述した処理を繰り返す。ここでは、ステップS110での送信により、必要分の全てのデータがクライアント端末24において受信されたものとする(S111)。クライアント端末24では、受信されたこれらオリジナルデータ、冗長データ、及び再送に係る冗長データから、送信に係るオリジナルデータを生成する(S112及びS113)。
【0035】
(サーバ21における送信処理)
図5は、本実施形態におけるサーバ21の送信処理を示すフロー図である。
【0036】
先ず、送信対象のデータを元に、n個のオリジナルパケット(オリジナルデータ)を生成する(S201)。この生成したオリジナルパケットを、エンコード部32により、エンコードを行い、s(s≧n)個の冗長パケットを生成し(S202)、多重度管理部38によりデータパケットの再送回数をデータパケットに記述し、オリジナルパケット、及びα(0≦α≦s)個の冗長パケットを送信する(S203)。このとき、生成した冗長パケットのうち、送信しなかった部分を再送用データとして、再送用データ蓄積部33に格納する(S204)。
【0037】
次いで、クライアント端末24からの再送要求があるか否かを判断する(S205)。クライアント端末24からの再送要求がない場合には、そこで配信処理を終了する(S206)。
【0038】
一方、ステップS205において、クライアント端末24からの再送要求があったと判断した場合には、格納された冗長パケット(再送用データ)を元に、新規冗長パケットを生成し(S207)、多重度管理部38により、データパケットの再送回数をデータパケットに記述し、冗長パケット、及び、冗長パケットの冗長パケットβ(0個以上)を送信する(S208)。
【0039】
生成した冗長パケットの冗長パケットのうち、送信しなかった部分を、再送用データ蓄積部33に格納する(S209)。以降クライアントからの再送要求が無くなるまで、上記ステップS205〜S209を繰り返す。
【0040】
(クライアント端末24における受信処理)
図6は、本実施形態におけるクライアント端末24の受信処理を示すフロー図である。
【0041】
先ず、サーバ21からのデータパケットの受信を行い(S301)、多重度解釈部44により、受信データに記述された再送回数を検出し、当該再送回数でデコードに必要な数以上のデータパケットの受信ができたかをチェックする(S302)。受信ができている場合には、データパケットの再送回数に合わせて順次データパケットをデコードし、オリジナルパケットを再生し終了する(S304)。
【0042】
一方、ステップS302において、デコードに必要な数が受信できていないと判断した場合には、デコードを行うのに必要な数だけのデータパケットをサーバに再送要求する(S303)。以降デコードするのに十分なデータパケットを受信できるまで、上記ステップS302〜S303を繰り返す。
【0043】
(作用・効果)
以上説明した本実施形態に係るシステム及び方法によれば、サーバ21側において、データパケットの前方誤り訂正のエンコードを行い、冗長なデータパケット数を増大させて送信し、クライアント端末24からの再送要求を受信した場合には、既にエンコードしてある冗長データに対して、さらに前方誤り訂正のエンコードを行い、さらに冗長なデータパケット数を増やして送信することができる。
【0044】
また、本実施形態においては、サーバ21側において、再送回数を記憶しておき、再送回数を送信に係るデータに記述し、クライアント端末24側において、受信されたデータに記述された、当該データの再送回数を検出し、この検出された再送回数に応じてオリジナルデータの生成を行うため、順序性保証を行わない通信プロトコルにおいて、ネットワークの遅延や誤りによってデータパケットの順番が変わってしまう可能性がある場合でも、再送回数に関する情報をデータパケットに記述することによって、受信側において、デコードに必要となるデータパケットを識別することができ、再送回数の同じデータを使って順次デコードを繰り返すことにより、オリジナルのデータパケットを取得することができる。
【0045】
(変更例)
なお、本発明は、上述した実施形態に限定されるものではなく、以下のような変更を加えることができる。
【0046】
(1)変更例1
図7は、変更例1におけるデータ通信システムの配信動作の一例を説明するための説明図である。
【0047】
上述した実施形態では、クライアント端末24から再送要求があった場合には、再送用データ蓄積部33に蓄積された再送用データのうち、再送要求に係る不足分のデータ数についてエンコードを行ったが、再送用データ蓄積部33に蓄積された再送用データの全てをエンコードするようにしてもよい。
【0048】
詳述すると、上記ステップS105では、クライアント端末24からの再送要求を受信した際、再送用データ蓄積部33に蓄積された再送用データ(α+1)’〜s’を読み出し、このうち、不足個数k個分の再送用データ(α+1)’〜(α+k)’を用いて、エンコード部32によりエンコードを行い、さらに新規冗長データ1”〜u”を生成し、k個の再送用の冗長データ(α+1)’〜(α+k)’、及びβ個の新規冗長データ1”〜β”(0≦β≦t−k)を、クライアント端末24に対して送信している。
【0049】
これに対して本変更例では、再送用データ蓄積部33に蓄積された(s’−α)個の再送用データ(α+1)’〜s’の全てを用いてエンコードを行い、新規冗長データ1”〜u”を生成し、再送用データ(α+1)’〜s’及び新規冗長データ1”〜中から、k+β個のデータを再送する。
【0050】
すなわち、再送に係るβ個のデータには、既に再送用データ蓄積部33に蓄積されていた再送用データと、新たにエンコードされた新規冗長データとが含まれることとなる。この場合には、再送用データ蓄積部33には、次のエンコードのための再送用データとして、新規冗長データ1”〜u”のうち、(β+1)”〜u”が蓄積される。
【0051】
なお、s’−αが十分大きく、s’−α≧2k+βとなる場合には、新たに新規冗長データをエンコードすることなく、既に再送用データ蓄積部33に蓄積されていた再送用データ(α+1)’〜s’中のk+β分を再送する。
【0052】
このような変更例1によれば、既にエンコードされ再送用データ蓄積部33に格納されているデータを最大限利用して、再送用の新規冗長データを生成することができるため、エンコード処理量を低減することができ、サーバ21の負担を軽減することができる。
【0053】
(2)変更例2
図8は、変更例2におけるサーバ21の送信処理を示すフロー図である。上述した実施形態では、クライアント端末24から再送要求があった祭には、常に、再送用データ蓄積部33に蓄積された再送用データをエンコードし、再送用データ及びエンコードされた冗長データを再送したが、再送要求された不足データの数に応じて、再送用データ蓄積部33に蓄積された再送用データをそのまま送信するか、再送用データをエンコードしたものを送信するかを選択するようにしてもよい。
【0054】
詳述すると、図8(a)に示すように、先ず、送信データを送信パケットサイズに分割し、オリジナルパケットを生成し、これをオリジナルデータ蓄積部31に蓄積する(S401)。次いで、格納データ(オリジナルデータ)から冗長データを生成するとともに(S402)、これらのデータのエンコード回数(再送回数)を記述したパケットヘッダを、送信パケットに付与する(S403)。そして、この生成された送信パケットのうち、所望数(例えば、n個のオリジナルデータと、α個の冗長パケット)を送信する(S404)。
【0055】
そして、クライアント端末24から再送要求があるか否かについて判断し(S405)、再送要求がなかった場合には、配信処理を終了する(S406)。なお、ここでは、ステップS405において、K個の再送要求があったものとする。
【0056】
ステップS405において、再送要求があると判断した場合には、再送用データ蓄積部33に格納された再送用データ数(残りデータ数:x)と、再送要求に係る不足データ数(スレッショルド:2K+C)とを比較する(S406)。このスレッショルドは、同図(b)に示す表から得られる値であり、要求数Kに対応付けられたCから得られる。この対応テーブルは、サーバ21に予め格納させておき、再送の際にこの対応テーブルを参照するようにしてもよい。
【0057】
ステップS406において、残りデータ数xがスレッショルド(2K+C)よりも多いときには(図中S407におけるx≧2K+C)、エンコードを行うことなくステップS404以降の処理を実行し、残りデータ数がスレッショルド(2K+C)よりも少ないときには(図中S408におけるx<2K+C)、エンコードを行うステップS402以降の処理を実行する。
【0058】
このような変更例2によれば、不要なエンコード処理が実行されるのを回避することが可能となり、サーバ21の処理負担を軽減することができる。
【0059】
(パケット通信プログラム)
なお、上述した実施形態及び変更例におけるパケット通信システム及び方法は、所定のコンピュータ言語で記述されたプログラムとすることができる。すなわち、プログラムを、サーバ21や、クライアント端末24に備えられたコンピュータにインストールすることにより、上述した各機能を有する送信装置3や受信装置4を容易に構築することができる。このプログラムは、例えば、通信サービス及びスタンドアローンの計算機上で動作するアプリケーションとすることができる。
【0060】
そして、このようなプログラムは、図9に示すような、汎用コンピュータ120で読み取り可能な記録媒体116〜119に記録することができる。具体的には、同図に示すような、フレキシブルディスク116やカセットテープ119等の磁気記録媒体、若しくはCD−ROMやDVD−ROM117等の光ディスクの他、RAMカード118など、種々の記録媒体に記録することができる。
【0061】
そして、このプログラムを記録したコンピュータ読み取り可能な記録媒体によれば、汎用のコンピュータや専用コンピュータを用いて、上述したプログラム同期システムやプログラム同期方法を実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
【0062】
【発明の効果】
本発明によれば、データパケットの前方誤り訂正のエンコードを繰り返すことによって、冗長なデータパケットを増やすことができるため、データパケットの通信処理において、前方誤り訂正のエンコードパケットを用いた再送の回数を増やすことが可能になり、通信品質の向上を実現できる。
【図面の簡単な説明】
【図1】実施形態におけるパケット通信システムの全体構成を例示する構成図である。
【図2】実施形態における送信装置3の内部構成を示すブロック図である。
【図3】実施形態における受信装置4の内部構成を示すブロック図である。
【図4】実施形態に係るデータ通信システムの配信動作の一例を説明するための全体シーケンス図である。
【図5】実施形態におけるサーバ21の送信処理を示すフロー図である。
【図6】実施形態におけるクライアント端末24の受信処理を示すフロー図である。
【図7】実施形態の変更例に係るデータ通信システムの配信動作の一例を説明するための説明図である。
【図8】実施形態の変更例におけるサーバ21の送信処理を示すフロー図である。
【図9】実施形態に係るパケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体の斜視図である。
【図10】従来のマルチキャスト方式によるパケット通信システムの全体構成を示す構成図である。
【符号の説明】
α…冗長パケット
β,γ…新規冗長パケット
t,v,x…再送用データ
3…送信装置
4…受信装置
21…サーバ
22…ルータHUB
23…アクセスポイント
24…クライアント端末
25…データパケット
31…オリジナルデータ蓄積部
32…エンコード部
33…再送用データ蓄積部
34…再送回数記憶部
35…データパケット送信部
36…データ送受信部
37…再送要求受付部
38…多重度管理部
39…制御部
41…オリジナルデータ
42…デコード部
43…冗長データ蓄積部
44…多重度解釈部
45…データパケット受信部
46…データ送受信部
47…再送要求送信部
48…制御部
116〜119…記録媒体
120…汎用コンピュータ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a packet transmission device, a packet reception device, a method, and a program related to error recovery of data in packet communication.
[0002]
[Prior art]
As one form of packet communication, there is a multicast method for collectively distributing the same packet to a plurality of clients. In this multicast method, as shown in FIG. 10, a packet 15 transmitted from a server 11 is distributed to a plurality of client terminals 14 via an access point 13 such as a router 12 or a wireless LAN router.
[0003]
By the way, in such a multicast system, there is a case where any one of the plurality of client terminals 14 cannot receive a necessary packet. In this case, a retransmission request is made to the server 11, but if a retransmission request is made to the server 11 every time a reception packet is lost, the server load and the consumption of communication resources become excessive. An error recovery technique is employed so that a lost packet can be recovered on the client terminal 14 side.
[0004]
Forward error correction (FEC) is one of error recovery techniques. In transmitting and receiving a data packet, a transmitting side adds redundant data by encoding to original data to be transmitted and transmits the data packet. This is a method in which, on the side side, the received original data and redundant data are used to recover the insufficient packets that could not be received and to perform error correction (for example, see Non-Patent Documents 1 and 2).
[0005]
Conventionally, several encoding algorithms are known, but when one of them, Reed-Solomon Erasure Code, is used, the total number of encoded data packets for generating redundant data is up to 256. (Non-Patent Document 2).
[0006]
Further, the encoding method developed by Digital Foundation can generate encoded data for redundant data indefinitely. If a specific number of data packets are collected from arbitrary encoded data, the original data packet can be obtained. Can be decoded. However, such a unique method has a problem of license fee and has not been widely used.
[0007]
[Non-patent document 1]
Nagayoshi Nagauchi, “Reliable Multicast”, IPSJ Magazine, pp. 754-759, Vol. 42, no. 8, Aug. 2001
[0008]
[Non-patent document 2]
Weimoto Suzuki, et al., "Study of FEC / ARQ Hybrid Control Method for Mobile Multicast Communication," IEICE Technical Report, SST 2001-139, A.P. 2001.287, pp. 75-82
[0009]
[Problems to be solved by the invention]
When forward error correction is used as error recovery in data packet communication as described above, the number of data packets that can be used for retransmission is limited to the range of the number of data packets encoded and generated at the first transmission. There is a problem that the number of retransmissions for recovery is limited.
[0010]
In view of the above, the present invention has been made in view of the above points, and increases the number of redundant data packets by repeating forward error correction encoding of data packets. An object of the present invention is to provide a packet transmission device, a packet reception device, a method, and a program that can increase the number of retransmissions using a packet and improve communication quality.
[0011]
[Means for Solving the Problems]
In order to solve the above problem, the present invention generates redundant data for error correction from original data related to transmission when packet data is transmitted, and stores a part of the redundant data as data for retransmission. At the same time, part or all of the original data and the redundant data are transmitted. Until the necessary data is transmitted, a retransmission request for the insufficient data is received from the transmission destination, and new redundant data is further generated from the accumulated retransmission data, and the new redundant data is transmitted to the retransmission data. And transmit some or all of the redundant data and part or all of the new redundant data.
[0012]
Further, the present invention, when receiving the packet data, receives the original data for transmission, and redundant data for error correction generated from the original data, until the necessary data is received, the shortage of A data retransmission request is transmitted to the transmission source, and part or all of the redundant data accumulated on the transmission side as data for retransmission, and part or all of new redundant data further generated from the data for retransmission, The data is received as redundant data related to retransmission, and original data related to transmission is generated from the original data, the redundant data, and the redundant data related to retransmission.
[0013]
It should be noted that the data transmission in the above invention can be performed by a multicast method in which a plurality of other communication devices connected to the packet transmitting device are collectively transmitted.
[0014]
According to the present invention, on the transmission side, the data packet is encoded for forward error correction, the number of redundant data packets is increased and transmitted, and when a retransmission request is received, the data packet is already encoded. Redundant data can be further forward-error-corrected encoded, and transmitted with more redundant data packets.
[0015]
In the above invention, the transmitting side stores the number of retransmissions, describes the number of retransmissions in data related to transmission, and detects the number of retransmissions of the data described in the received data on the receiving side. However, it is preferable to generate original data according to the detected number of retransmissions.
[0016]
Thus, in a communication protocol that does not guarantee ordering, even when the order of data packets may be changed due to network delay or error, the information on the number of retransmissions is described in the data packet so that The data packet required for decoding can be identified, and the original data packet can be obtained by repeating decoding sequentially using data having the same number of retransmissions.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0018]
(System configuration)
FIG. 1 is a configuration diagram illustrating the overall configuration of the packet communication system according to the embodiment of the present invention.
[0019]
As shown in the figure, in the packet communication system according to the present embodiment, a server 21 and a client terminal 24 are connected via a router HUB 22 and an access point 23. Note that the data transmission in the present embodiment is performed by a multicast method in which a plurality of other client terminals 24 connected to the server 21 are collectively transmitted. That is, the data packet 25 distributed from the server 21 reaches the client terminal 24 via the router HUB 22 and the access point 23.
[0020]
The server 21 includes the transmitting device 3 of the present invention, and each client terminal 24 includes the receiving device 4. FIG. 2 is a block diagram illustrating an internal configuration of the transmission device 3 according to the present embodiment.
[0021]
As shown in the figure, the transmission device 3 includes an original data storage unit 31 for storing original data for transmission, an encoding unit 32 for encoding redundant data for error correction from the original data for transmission, A retransmission data storage unit 33 for storing a part of the redundant data as retransmission data, a data packet transmission unit 35 for transmitting the original data and a part or all of the redundant data, and receiving a retransmission request from a transmission destination. And a retransmission request receiving unit 37 that performs the retransmission request.
[0022]
Further, the transmission device 3 includes a retransmission number storage unit 34 that stores the number of retransmissions by the data packet transmission unit 35, a multiplicity management unit 38 that describes the number of retransmissions in data related to transmission, and data transmission / reception that transmits / receives various data. A section 36 and a control section 39 for controlling each of the above sections are provided.
[0023]
The encoding unit 32 has a function of generating new redundant data from retransmission data in response to the retransmission request received by the retransmission request receiving unit 37. Also, the retransmission data storage unit 33 stores the new redundant data as retransmission data,
The data packet transmitting unit 35 has a function of transmitting a part or all of the redundant data and a part or all of the new redundant data in response to the retransmission request received by the retransmission request receiving unit 37.
[0024]
FIG. 3 is a block diagram illustrating an internal configuration of the receiving device 4 in the present embodiment.
[0025]
As shown in the figure, the receiving device 4 is capable of receiving an original data storage unit 31 for storing received original data 41, a data packet receiving unit 45 for receiving original data and redundant data, and receiving necessary data. A retransmission request transmitting unit 47 that transmits a retransmission request for the insufficient data to the server 21 when there is no redundant data; a redundant data storage unit 43 that stores the received redundant data and the retransmitted redundant data; , Redundant data and a retransmitted redundant data, and a decoding unit 42 for decoding original data related to transmission.
[0026]
Further, the receiving device 4 includes a multiplicity interpreting unit 44 for detecting the number of retransmissions of the data described in the received data, a data transmitting / receiving unit 46 connected to a network for transmitting and receiving various data, A control unit 48 for performing control.
[0027]
The decoding unit 42 has a function of decoding the original data according to the number of retransmissions detected by the multiplicity interpretation unit 44.
[0028]
(System operation)
FIG. 4 is an overall sequence diagram for explaining an example of the distribution operation of the data communication system according to the present embodiment.
[0029]
First, at the time of transmitting packet data, the server 21 generates redundant data 1 ′ to s ′ for error correction based on the original data 1 to n related to the transmission, and t redundant data (α + 1) among them. '~ S' is stored in the retransmission data storage unit 33 as retransmission data (S101).
[0030]
Then, all original data 1 to n and α redundant data 1 ′ to α ′ (0 ≦ α ≦ s) are transmitted to each client terminal 24 (S102). On the other hand, the client terminal 24 attempts to receive the original data 1 to n and the redundant data 1 ′ to α ′ related to the transmission (S103). Here, it is assumed that nk packet data has been received without receiving necessary packet data. Therefore, in the client terminal 24, the retransmission request transmission unit 47 transmits a retransmission request for the insufficient data (k: k ≦ t) to the server 21 (S104).
[0031]
In the server 21, the retransmission request receiving unit 37 receives the retransmission request from the client terminal 24 and reads out the retransmission data (α + 1) ′ to s ′ stored in the retransmission data storage unit 33. Encoding is performed by the encoding unit 32 using the k pieces of retransmission data (α + 1) ′ to (α + k) ′, and new redundant data 1 ″ to u ″ are generated (S105). Then, v new redundant data (β + 1) ″ to u ″ are stored as retransmission data in the retransmission data storage unit 33, and k retransmission redundant data (α + 1) ′ to (α + k) ′, And β new redundant data 1 ″ to β ″ (0 ≦ β ≦ u) are transmitted to the client terminal 24 (S106).
[0032]
The client terminal 24 receives the transmitted k pieces of redundant data for retransmission (α + 1) ′ to (α + k) ′ and β pieces of new redundant data 1 ″ to β ″ as redundant data for retransmission ( S107). Here, it is assumed that the necessary packet data has not been received and kh packet data have been received. Therefore, in the client terminal 24, the retransmission request transmitting unit 47 transmits a retransmission request for the insufficient data (h pieces: h ≦ v) to the server 21 (S108).
[0033]
In the server 21, the retransmission request receiving unit 37 receives the retransmission request from the client terminal 24, reads out the retransmission data (β + 1) ”to“ u ”stored in the retransmission data storage unit 33, and reads out Encoding is performed by the encoding unit 32 using the retransmission data (β + 1) ″ to (β + h) ″ for the number, and new redundant data 1 ′ ″ to w ′ ″ are generated (S109). Then, x pieces of new redundant data (γ + 1) ′ ″-w ′ ″ are stored as retransmission data in the retransmission data storage unit 33, and h pieces of redundant data for retransmission (β + 1) ″-( β + h) ″ and γ pieces of new redundant data 1 ′ ″ to γ ′ ″ (0 ≦ γ ≦ w) are transmitted to the client terminal 24 (S110).
[0034]
The above-described processing is repeated until necessary data is transmitted. Here, it is assumed that all the necessary data has been received by the client terminal 24 by the transmission in step S110 (S111). The client terminal 24 generates original data for transmission from the received original data, redundant data, and redundant data for retransmission (S112 and S113).
[0035]
(Transmission processing in server 21)
FIG. 5 is a flowchart showing a transmission process of the server 21 in the present embodiment.
[0036]
First, n original packets (original data) are generated based on data to be transmitted (S201). The generated original packet is encoded by the encoding unit 32 to generate s (s ≧ n) redundant packets (S202), and the number of retransmissions of the data packet is described in the data packet by the multiplicity management unit 38. , The original packet and α (0 ≦ α ≦ s) redundant packets are transmitted (S203). At this time, of the generated redundant packet, a part that has not been transmitted is stored in the retransmission data storage unit 33 as retransmission data (S204).
[0037]
Next, it is determined whether there is a retransmission request from the client terminal 24 (S205). If there is no retransmission request from the client terminal 24, the distribution process ends there (S206).
[0038]
On the other hand, if it is determined in step S205 that there has been a retransmission request from the client terminal 24, a new redundant packet is generated based on the stored redundant packet (retransmission data) (S207), and the multiplicity management unit 38, the number of retransmissions of the data packet is described in the data packet, and the redundant packet and the redundant packet β (0 or more) of the redundant packet are transmitted (S208).
[0039]
The part of the generated redundant packet that has not been transmitted is stored in the retransmission data storage unit 33 (S209). Thereafter, steps S205 to S209 are repeated until there is no retransmission request from the client.
[0040]
(Reception processing in client terminal 24)
FIG. 6 is a flowchart showing the receiving process of the client terminal 24 in the present embodiment.
[0041]
First, a data packet is received from the server 21 (S301), and the number of retransmissions described in the reception data is detected by the multiplicity interpretation unit 44, and the number of data packets required for decoding is received at the number of retransmissions. Is checked (S302). If the data packet has been successfully received, the data packet is sequentially decoded in accordance with the number of retransmissions of the data packet, the original packet is reproduced, and the process is terminated (S304).
[0042]
On the other hand, if it is determined in step S302 that the number required for decoding has not been received, a request is made to the server to retransmit as many data packets as necessary for decoding (S303). Thereafter, steps S302 to S303 are repeated until a data packet sufficient for decoding is received.
[0043]
(Action / Effect)
According to the system and method according to the present embodiment described above, the server 21 encodes the data packet for forward error correction, increases the number of redundant data packets and transmits the data packets, and requests the retransmission request from the client terminal 24. Is received, the already encoded redundant data is further encoded for forward error correction, and the number of redundant data packets can be further increased and transmitted.
[0044]
In the present embodiment, the server 21 stores the number of retransmissions, describes the number of retransmissions in data related to transmission, and the client terminal 24 stores the number of retransmissions described in the received data. Since the number of retransmissions is detected and the original data is generated according to the detected number of retransmissions, in a communication protocol that does not guarantee ordering, the order of data packets may be changed due to network delay or error. Even in some cases, by describing information on the number of retransmissions in the data packet, the data packet required for decoding can be identified on the receiving side, and decoding is sequentially repeated using the same data of the number of retransmissions. The original data packet can be obtained.
[0045]
(Example of change)
Note that the present invention is not limited to the above-described embodiment, and the following changes can be made.
[0046]
(1) Modification example 1
FIG. 7 is an explanatory diagram for describing an example of a distribution operation of the data communication system in the first modification.
[0047]
In the above-described embodiment, when there is a retransmission request from the client terminal 24, encoding is performed on the insufficient number of data associated with the retransmission request among the retransmission data stored in the retransmission data storage unit 33. Alternatively, all of the retransmission data stored in the retransmission data storage unit 33 may be encoded.
[0048]
More specifically, in step S105, when a retransmission request is received from the client terminal 24, the retransmission data (α + 1) ′ to s ′ stored in the retransmission data storage unit 33 are read, and the shortage k Encoding is performed by the encoding unit 32 using the pieces of retransmission data (α + 1) ′ to (α + k) ′, new redundant data 1 ″ to u ″ are generated, and k pieces of retransmission redundant data (α + 1) are generated. ) ′ To (α + k) ′ and β new redundant data 1 ″ to β ″ (0 ≦ β ≦ tk) are transmitted to the client terminal 24.
[0049]
On the other hand, in the present modified example, encoding is performed using all (s′−α) pieces of retransmission data (α + 1) ′ to s ′ stored in the retransmission data storage unit 33, and the new redundant data 1 “〜U” is generated, and k + β pieces of data are retransmitted from the retransmission data (α + 1) ′ to s ′ and the new redundant data 1 ″.
[0050]
That is, the β pieces of data related to the retransmission include the retransmission data already stored in the retransmission data storage unit 33 and the newly encoded new redundant data. In this case, (β + 1) ″ to u ″ among the new redundant data 1 ″ to u ″ are stored in the retransmission data storage unit 33 as retransmission data for the next encoding.
[0051]
If s′−α is sufficiently large and s′−α ≧ 2k + β, the retransmission data (α + 1) already stored in the retransmission data storage unit 33 without encoding new redundant data. ) Retransmit k + β in '~ s'.
[0052]
According to the first modification, new redundant data for retransmission can be generated by making maximum use of data already encoded and stored in the retransmission data storage unit 33. The load on the server 21 can be reduced.
[0053]
(2) Modification example 2
FIG. 8 is a flowchart illustrating a transmission process of the server 21 in the second modification. In the above-described embodiment, during a festival in which a retransmission request is received from the client terminal 24, the retransmission data stored in the retransmission data storage unit 33 is always encoded, and the retransmission data and the encoded redundant data are retransmitted. However, according to the number of insufficient data requested to be retransmitted, it is possible to select whether to transmit the retransmission data stored in the retransmission data storage unit 33 as it is or to transmit an encoded version of the retransmission data. Is also good.
[0054]
More specifically, as shown in FIG. 8A, first, the transmission data is divided into transmission packet sizes, an original packet is generated, and this is stored in the original data storage unit 31 (S401). Next, redundant data is generated from the stored data (original data) (S402), and a packet header describing the number of encodings (the number of retransmissions) of the data is added to the transmission packet (S403). Then, a desired number (for example, n original data and α redundant packets) of the generated transmission packets is transmitted (S404).
[0055]
Then, it is determined whether or not there is a retransmission request from the client terminal 24 (S405). If there is no retransmission request, the distribution process is terminated (S406). Here, it is assumed that K retransmission requests have been made in step S405.
[0056]
If it is determined in step S405 that there is a retransmission request, the number of retransmission data stored in the retransmission data storage unit 33 (the number of remaining data: x) and the number of insufficient data relating to the retransmission request (threshold: 2K + C) Are compared (S406). This threshold is a value obtained from the table shown in FIG. 4B, and is obtained from C associated with the number K of requests. This correspondence table may be stored in the server 21 in advance, and the correspondence table may be referred to at the time of retransmission.
[0057]
In step S406, when the number x of remaining data is larger than the threshold (2K + C) (x ≧ 2K + C in S407 in the figure), the processing after step S404 is executed without performing encoding, and the number of remaining data becomes larger than the threshold (2K + C). If the number is less (x <2K + C in S408 in the figure), the processing after step S402 for performing encoding is executed.
[0058]
According to the second modification, it is possible to prevent unnecessary encoding processing from being executed, and it is possible to reduce the processing load on the server 21.
[0059]
(Packet communication program)
In addition, the packet communication system and the method in the above-described embodiment and the modification can be a program described in a predetermined computer language. That is, by installing the program in the server 21 or the computer provided in the client terminal 24, the transmitting device 3 and the receiving device 4 having the above-described functions can be easily constructed. This program can be, for example, an application that runs on a communication service and a standalone computer.
[0060]
Such a program can be recorded on recording media 116 to 119 that can be read by the general-purpose computer 120 as shown in FIG. More specifically, as shown in the figure, in addition to a magnetic recording medium such as a flexible disk 116 and a cassette tape 119, an optical disk such as a CD-ROM and a DVD-ROM 117, and a recording medium such as a RAM card 118, various recording media are used. can do.
[0061]
According to the computer-readable recording medium on which the program is recorded, the program synchronization system and the program synchronization method described above can be performed using a general-purpose computer or a special-purpose computer, and the program can be stored and stored. It can be easily transported and installed.
[0062]
【The invention's effect】
According to the present invention, since redundant data packets can be increased by repeating forward error correction encoding of data packets, the number of retransmissions using forward error correction encoded packets can be reduced in communication processing of data packets. Thus, the communication quality can be improved.
[Brief description of the drawings]
FIG. 1 is a configuration diagram illustrating an overall configuration of a packet communication system according to an embodiment.
FIG. 2 is a block diagram illustrating an internal configuration of a transmission device 3 according to the embodiment.
FIG. 3 is a block diagram illustrating an internal configuration of a receiving device 4 in the embodiment.
FIG. 4 is an overall sequence diagram for explaining an example of a distribution operation of the data communication system according to the embodiment.
FIG. 5 is a flowchart illustrating a transmission process of a server 21 according to the embodiment.
FIG. 6 is a flowchart showing a receiving process of the client terminal 24 in the embodiment.
FIG. 7 is an explanatory diagram illustrating an example of a distribution operation of a data communication system according to a modification of the embodiment.
FIG. 8 is a flowchart illustrating a transmission process of a server 21 according to a modification of the embodiment.
FIG. 9 is a perspective view of a computer-readable recording medium on which a packet communication program according to the embodiment is recorded.
FIG. 10 is a configuration diagram showing an overall configuration of a conventional packet communication system using a multicast method.
[Explanation of symbols]
α: redundant packet β, γ: new redundant packet t, v, x: data for retransmission 3: transmitting device 4, receiving device 21, server 22, router HUB
23 access point 24 client terminal 25 data packet 31 original data storage unit 32 encoding unit 33 retransmission data storage unit 34 retransmission count storage unit 35 data packet transmission unit 36 data transmission / reception unit 37 retransmission request Reception unit 38 Multiplicity management unit 39 Control unit 41 Original data 42 Decoding unit 43 Redundant data storage unit 44 Multiplicity interpretation unit 45 Data packet reception unit 46 Data transmission / reception unit 47 Retransmission request transmission unit 48 ... Control units 116 to 119 ... Recording medium 120 ... General purpose computer

Claims (10)

パケットデータを送信するパケット送信装置であって、
送信に係るオリジナルデータから、誤り訂正用の冗長データを生成するエンコード部と、
前記冗長データの一部を再送用データとして蓄積する再送用データ蓄積部と、前記オリジナルデータ、及び前記冗長データの一部または全部を送信する送信部と、
送信先からの再送要求を受信する再送要求受信部とを備え、
前記エンコード部は、前記再送要求受信部が受信した再送要求に応じて、前記再送用データからさらに新規冗長データを生成し、
前記再送用データ蓄積部は、前記新規冗長データを再送用データとして蓄積し、
前記送信部は、前記再送要求受信部が受信した再送要求に応じて、前記冗長データの一部または全部、及び新規冗長データの一部または全部を送信することを特徴とするパケット送信装置。
A packet transmitting device for transmitting packet data,
An encoding unit that generates redundant data for error correction from original data related to transmission,
A retransmission data storage unit that stores a part of the redundant data as retransmission data, and a transmission unit that transmits a part or all of the original data and the redundant data,
A retransmission request receiving unit that receives a retransmission request from a transmission destination,
The encoding unit, in response to the retransmission request received by the retransmission request receiving unit, further generates new redundant data from the retransmission data,
The retransmission data storage unit stores the new redundant data as retransmission data,
The packet transmission device, wherein the transmission unit transmits a part or all of the redundant data and a part or all of the new redundant data in response to the retransmission request received by the retransmission request receiving unit.
前記送信部による再送回数を記憶する再送回数記憶部と、
前記再送回数を送信に係るデータに記述する多重度管理部とを備えることを特徴とする請求項1に記載のパケット送信装置。
A retransmission count storage unit that stores the number of retransmissions by the transmission unit,
The packet transmission device according to claim 1, further comprising: a multiplicity management unit that describes the number of retransmissions in data related to transmission.
前記エンコード部は、前記再送用データ蓄積部に蓄積された再送用データ数と、再送要求に係る不足データ数とを比較し、この比較結果に応じて、前記新規冗長データを生成する処理と、既に再送用データ蓄積部に蓄積された再送用データを新規再送用データとして出力する処理とを選択することを特徴とする請求項1または2に記載のパケット送信装置。The encoding unit compares the number of retransmission data stored in the retransmission data storage unit with the number of insufficient data related to a retransmission request, and generates the new redundant data according to the comparison result. 3. The packet transmitting apparatus according to claim 1, wherein a process of outputting retransmission data already stored in the retransmission data storage unit as new retransmission data is selected. 前記送信部によるデータの送信は、当該パケット送信装置に接続された複数の他の通信装置に対して一括して行うマルチキャスト方式であることを特徴とする請求項1乃至3に記載のパケット送信装置。4. The packet transmitting apparatus according to claim 1, wherein the transmission of the data by the transmitting unit is a multicast method in which the data is transmitted to a plurality of other communication apparatuses connected to the packet transmitting apparatus at a time. . パケットデータを受信するパケット受信装置であって、
送信に係るオリジナルデータ、及び該オリジナルデータから生成された誤り訂正用の冗長データを受信する受信部と、
必要分のデータが受信できなかった場合に、不足分のデータの再送要求を、送信元に送信する再送要求送信部と、
受信された前記オリジナルデータ、前記冗長データ、及び再送された冗長データを蓄積する受信データ蓄積部と、
前記受信データ蓄積部に蓄積された前記オリジナルデータ、前記冗長データ、及び再送された冗長データから、前記送信に係るオリジナルデータを生成するデコード部とを備え、前記再送された冗長データは、
送信側において、再送用データとして蓄積された前記冗長データの一部または全部と、
前記再送用データからさらに生成された新規冗長データの一部または全部とであることを特徴とするパケット受信装置。
A packet receiving device for receiving packet data,
Original data pertaining to transmission, and a receiving unit that receives redundant data for error correction generated from the original data,
A retransmission request transmission unit that transmits a retransmission request for the insufficient data to the transmission source when the necessary data cannot be received;
A received data storage unit that stores the received original data, the redundant data, and the retransmitted redundant data;
The original data stored in the reception data storage unit, the redundant data, and from the retransmitted redundant data, comprising a decoding unit that generates the original data pertaining to the transmission, the retransmitted redundant data,
On the transmission side, a part or all of the redundant data stored as retransmission data,
A packet receiving apparatus comprising a part or all of new redundant data further generated from the retransmission data.
前記受信部により受信されたデータに記述された、当該データの再送回数を検出する多重度解釈部をさらに備え、
前記デコード部は、前記多重度解釈部によって検出された再送回数に応じて前記オリジナルデータの生成を行うことを特徴とする請求項5に記載のパケット受信装置。
The multiplicity interpretation unit that detects the number of retransmissions of the data, described in the data received by the reception unit, further includes:
The packet receiving device according to claim 5, wherein the decoding unit generates the original data according to the number of retransmissions detected by the multiplicity interpretation unit.
パケットデータを送信するパケット送信方法であって、
送信に係るオリジナルデータから、誤り訂正用の冗長データを生成するステップ(1)と、
前記冗長データの一部を再送用データとして蓄積するとともに、前記オリジナルデータ、及び前記冗長データの一部または全部を送信するステップ(2)と、
不足分のデータの再送要求を、送信先から受信するステップ(3)と、
蓄積された前記再送用データからさらに新規冗長データを生成するとともに、該新規冗長データを再送用データとして蓄積するステップ(4)と、
前記冗長データの一部または全部、及び新規冗長データの一部または全部を送信するステップ(5)とを備え、
必要分のデータが送信されるまで、前記ステップ(3)乃至(5)を繰り返すことを特徴とするパケット送信方法。
A packet transmission method for transmitting packet data,
(1) generating redundant data for error correction from original data related to transmission;
(2) storing a part of the redundant data as retransmission data and transmitting a part or all of the original data and the redundant data;
(3) receiving a request for retransmission of the insufficient data from the transmission destination;
(4) further generating new redundant data from the stored retransmission data and storing the new redundant data as retransmission data;
(5) transmitting a part or all of the redundant data and a part or all of the new redundant data;
A packet transmission method characterized by repeating steps (3) to (5) until necessary data is transmitted.
パケットデータを受信するパケット受信方法であって、
送信に係るオリジナルデータ、及び該オリジナルデータから生成された誤り訂正用の冗長データを受信するステップ(1)と、
不足分のデータの再送要求を、送信元に送信するステップ(2)と、
再送用データとして送信側で蓄積された前記冗長データの一部または全部と、前記再送用データからさらに生成された新規冗長データの一部または全部とを、再送に係る冗長データとして受信するステップ(3)と、
前記オリジナルデータ、前記冗長データ、及び再送に係る冗長データから、前記送信に係るオリジナルデータを生成するステップ(4)と
を備え、
必要分のデータが受信されるまで、前記ステップ(2)乃至(4)を繰り返すことを特徴とするパケット受信方法。
A packet receiving method for receiving packet data,
Receiving (1) original data for transmission and redundant data for error correction generated from the original data;
(2) transmitting a request for retransmission of the insufficient data to the transmission source;
Receiving a part or all of the redundant data accumulated on the transmission side as retransmission data and a part or all of new redundant data further generated from the retransmission data as redundant data for retransmission ( 3) and
(4) generating original data related to the transmission from the original data, the redundant data, and the redundant data related to retransmission,
A packet receiving method comprising repeating steps (2) to (4) until necessary data is received.
パケットデータを送信するパケット送信プログラムであって、コンピュータに、
送信に係るオリジナルデータから、誤り訂正用の冗長データを生成するステップ(1)と、
前記冗長データの一部を再送用データとして蓄積するとともに、前記オリジナルデータ、及び前記冗長データの一部または全部を送信するステップ(2)と、
不足分のデータの再送要求を、送信先から受信するステップ(3)と、
蓄積された前記再送用データからさらに新規冗長データを生成するとともに、該新規冗長データを再送用データとして蓄積するステップ(4)と、
前記冗長データの一部または全部、及び新規冗長データの一部または全部を送信するステップ(5)とを備える処理を実行させるとともに、
必要分のデータが送信されるまで、前記ステップ(3)乃至(5)を繰り返させることを特徴とするパケット送信プログラム。
A packet transmission program for transmitting packet data, comprising:
(1) generating redundant data for error correction from original data related to transmission;
(2) storing a part of the redundant data as retransmission data and transmitting a part or all of the original data and the redundant data;
(3) receiving a request for retransmission of the insufficient data from the transmission destination;
(4) further generating new redundant data from the stored retransmission data and storing the new redundant data as retransmission data;
Transmitting a part or all of the redundant data and a part or all of the new redundant data (5).
A packet transmission program for repeating steps (3) to (5) until necessary data is transmitted.
パケットデータを受信するパケット受信プログラムであって、コンピュータに
送信に係るオリジナルデータ、及び該オリジナルデータから生成された誤り訂正用の冗長データを受信するステップ(1)と、
不足分のデータの再送要求を、送信元に送信するステップ(2)と、
再送用データとして送信側で蓄積された前記冗長データの一部または全部と、前記再送用データからさらに生成された新規冗長データの一部または全部とを、再送に係る冗長データとして受信するステップ(3)と、
前記オリジナルデータ、前記冗長データ、及び再送に係る冗長データから、前記送信に係るオリジナルデータを生成するステップ(4)と
を備える処理を実行させるとともに、
必要分のデータが受信されるまで、前記ステップ(2)乃至(4)を繰り返させることを特徴とするパケット受信プログラム。
A packet receiving program for receiving packet data, the method comprising: receiving (1) original data to be transmitted to a computer and redundant data for error correction generated from the original data;
(2) transmitting a request for retransmission of the insufficient data to the transmission source;
Receiving a part or all of the redundant data accumulated on the transmission side as retransmission data and a part or all of new redundant data further generated from the retransmission data as redundant data for retransmission ( 3) and
Generating (4) the original data related to the transmission from the original data, the redundant data, and the redundant data related to the retransmission;
A packet receiving program for repeating steps (2) to (4) until necessary data is received.
JP2003142657A 2003-05-20 2003-05-20 Packet transmitting apparatus, packet receiving apparatus, method, and program Expired - Fee Related JP4217534B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003142657A JP4217534B2 (en) 2003-05-20 2003-05-20 Packet transmitting apparatus, packet receiving apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003142657A JP4217534B2 (en) 2003-05-20 2003-05-20 Packet transmitting apparatus, packet receiving apparatus, method, and program

Publications (2)

Publication Number Publication Date
JP2004349891A true JP2004349891A (en) 2004-12-09
JP4217534B2 JP4217534B2 (en) 2009-02-04

Family

ID=33530679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003142657A Expired - Fee Related JP4217534B2 (en) 2003-05-20 2003-05-20 Packet transmitting apparatus, packet receiving apparatus, method, and program

Country Status (1)

Country Link
JP (1) JP4217534B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007143142A (en) * 2005-11-15 2007-06-07 Samsung Electronics Co Ltd Method and apparatus for transmitting data in wireless network
JP2007166469A (en) * 2005-12-16 2007-06-28 Kddi Corp Communication system and data distribution method
JP2007243440A (en) * 2006-03-07 2007-09-20 Nhk Engineering Services Inc Retransmission packet selecting device, repeater, and packet transmission system
JP2009535891A (en) * 2006-04-29 2009-10-01 トムソン ライセンシング Method and apparatus for seamless handover of a multicast session in an internet protocol-based wireless network using stagger casting
WO2011033568A1 (en) * 2009-09-17 2011-03-24 富士通株式会社 Communication method, communication system, transmitter apparatus and receiver apparatus
JP2012222809A (en) * 2011-04-04 2012-11-12 Samsung Electro-Mechanics Co Ltd Method of reducing retransmission of data frame and receiving node therefor
KR20140103322A (en) * 2011-12-15 2014-08-26 퀄컴 인코포레이티드 Systems and methods for pre-fec metrics and reception reports
JP2019047505A (en) * 2009-10-28 2019-03-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Communication method using parity packet, communication device and relay
US10826539B2 (en) 2016-05-11 2020-11-03 Idac Holdings, Inc. Method and system for advanced outer coding

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007143142A (en) * 2005-11-15 2007-06-07 Samsung Electronics Co Ltd Method and apparatus for transmitting data in wireless network
JP4611274B2 (en) * 2005-11-15 2011-01-12 三星電子株式会社 Data transmission method and apparatus in wireless network
JP4722693B2 (en) * 2005-12-16 2011-07-13 Kddi株式会社 Communications system
JP2007166469A (en) * 2005-12-16 2007-06-28 Kddi Corp Communication system and data distribution method
JP2007243440A (en) * 2006-03-07 2007-09-20 Nhk Engineering Services Inc Retransmission packet selecting device, repeater, and packet transmission system
JP4651026B2 (en) * 2006-03-07 2011-03-16 財団法人エヌエイチケイエンジニアリングサービス Retransmission packet selection device, relay device, and packet transmission system
US8234547B2 (en) 2006-04-29 2012-07-31 Thomson Licensing Seamless handover of multicast sessions in internet protocol based wireless networks using staggercasting
JP2009535891A (en) * 2006-04-29 2009-10-01 トムソン ライセンシング Method and apparatus for seamless handover of a multicast session in an internet protocol-based wireless network using stagger casting
WO2011033568A1 (en) * 2009-09-17 2011-03-24 富士通株式会社 Communication method, communication system, transmitter apparatus and receiver apparatus
US8542756B2 (en) 2009-09-17 2013-09-24 Fujitsu Limited Communication method, communication system, transmission device, and receiving device
JP5482795B2 (en) * 2009-09-17 2014-05-07 富士通株式会社 Communication method, communication system, transmitter, receiver
JP2019047505A (en) * 2009-10-28 2019-03-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Communication method using parity packet, communication device and relay
JP2012222809A (en) * 2011-04-04 2012-11-12 Samsung Electro-Mechanics Co Ltd Method of reducing retransmission of data frame and receiving node therefor
KR20140103322A (en) * 2011-12-15 2014-08-26 퀄컴 인코포레이티드 Systems and methods for pre-fec metrics and reception reports
JP2015502121A (en) * 2011-12-15 2015-01-19 クアルコム,インコーポレイテッド System and method for pre-FEC metrics and reception reporting
US10009144B2 (en) 2011-12-15 2018-06-26 Qualcomm Incorporated Systems and methods for pre-FEC metrics and reception reports
KR102075611B1 (en) * 2011-12-15 2020-02-10 퀄컴 인코포레이티드 Systems and methods for pre-fec metrics and reception reports
US10826539B2 (en) 2016-05-11 2020-11-03 Idac Holdings, Inc. Method and system for advanced outer coding

Also Published As

Publication number Publication date
JP4217534B2 (en) 2009-02-04

Similar Documents

Publication Publication Date Title
US8040836B2 (en) Local network coding for wireless networks
JP3866196B2 (en) Packet retransmission system and packet retransmission method
EP1411688B1 (en) Method and apparatus for multicast data retransmission
RU2353063C2 (en) Method and device for reducing service signals in advanced upperlink within wireless communications system
KR100968086B1 (en) Method and apparatus for enhanced file distribution in multicast or broadcast
KR101374680B1 (en) Apparatus and method for arq feedback message generating in wireless communication system
RU2469482C2 (en) Method and system for data transfer in data transfer network
US20090138784A1 (en) Coding device and coding method
US8042016B2 (en) Method and device for efficiently retransmitting packets in wired/wireless network
WO2020042528A1 (en) Mobile communication system, network device, terminal device, and data scheduling method
EP2782281A1 (en) Data transmission using rateless coding
EP1473636A1 (en) Information processing device and method, and computer program
CN107666369A (en) A kind of method for retransmitting polarization code and its transmission equipment, receiving device
KR101177454B1 (en) Server and client for determining error restoration type according to transmission image data, thereby method
JP4217534B2 (en) Packet transmitting apparatus, packet receiving apparatus, method, and program
JP2010273128A (en) Base station, radio communication system, base station control method
WO2015143604A1 (en) Communication device, method and system
WO2020134258A1 (en) Data retransmission decoding method, apparatus and system, and communication device
KR101082544B1 (en) Relay station and method of relaying data packets for the relay station
KR101465891B1 (en) Traffic redundancy elimination method and apparatus in wireless network
EP1940110A1 (en) Stream recording method, apparatus and system
EP2846469A1 (en) Rateless encoding
CN109005011B (en) Data transmission method and system for underwater acoustic network and readable storage medium
JP4499489B2 (en) Transmitting apparatus, receiving apparatus, communication system, and communication method
KR101992061B1 (en) Apparatus and method for transmitting file data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080623

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

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

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

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees