JP2004015551A - Repeating device, repeating program, and autonomous error correction network - Google Patents

Repeating device, repeating program, and autonomous error correction network Download PDF

Info

Publication number
JP2004015551A
JP2004015551A JP2002167692A JP2002167692A JP2004015551A JP 2004015551 A JP2004015551 A JP 2004015551A JP 2002167692 A JP2002167692 A JP 2002167692A JP 2002167692 A JP2002167692 A JP 2002167692A JP 2004015551 A JP2004015551 A JP 2004015551A
Authority
JP
Japan
Prior art keywords
data
relay device
redundancy
fec
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002167692A
Other languages
Japanese (ja)
Inventor
Hiroaki Nishimoto
西本 裕明
Shinya Uemachi
上町 新也
Tetsuo Morita
森田 哲郎
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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2002167692A priority Critical patent/JP2004015551A/en
Publication of JP2004015551A publication Critical patent/JP2004015551A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide repeating devices which are excellent concerning usage efficiency in the transmission band of a network, delay when data are transmitted, and QoS, and to provide a repeating program, and the network. <P>SOLUTION: The repeating devices 7, 8, 9 are arranged at the mutual connection points of one or a plurality of networks 3, 4, 5, 6 to be utilized when data are transmitted from a transmission source 1 to a reception destination 2. Each repeating device includes: a deciding means for deciding the propriety of improvement in data redundancy and a redundancy level on the basis of the service quality information of the one or the plurality of networks 4, 5, 6 positioned on the downstream side of the repeating devices 7, 8, 9, or secondary information of the service quality information; and a redundancy improving means for improving data redundancy. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、1つ又は複数のネットワーク相互の接続点に設けられている中継装置、中継用プログラム及び自律型誤り訂正ネットワークに関する。
【0002】
【従来の技術】
近年、インターネットやイントラネットにおいて、ブロードバンドの加入者が急速に増大している。そのブロードバンドのアプリケーションとしては、音楽や映像のダウンロード配信やストリーミング配信のような一定の帯域や品質を要求するもの、実時間通信等の大容量で高速のコンテンツ配信サービスの実現を要求するものが増えつつある。これらのアプリケーションが、FTTH[Fiber To The Home]のような更なる高速のブロードバンドサービスの市場を牽引することが期待されている。この高速のブロードバンドサービスではダウンロードにおいては1分以内にダウンロードできる高速性、また、ストリーミングにおいては途中で停止したりあるいはマクロブロックエラー等を発生させないサービスレベルの実現が、優良なコンテンツの確保やデジタル著作権管理技術の標準化等と合わせて、我が国のブロードバンド市場発展の鍵とさえ言われている。
【0003】
このような大容量な情報を高速かつリアルタイムに処理し、それぞれの用途に応じた品質要求に答える技術としては、コアネットワークにおいてはMPLS[Multi Protocol Label Switching]を用いたレイヤ2におけるハードウエアレベルでの高速スイッチング技術等が開発され、また、エッジネットワークにおいてはコンテンツを分割し、キャッシュする技術等が実用化されている。
【0004】
しかし、さまざまな時代のネットワーク技術の集合体であるインターネットにおけるEnd−to−Endで高速性やサービスレベルを確保する技術は、今だに目処がたっていないのが現状である。インターネットの基礎をなすTCP/IP[Transmission Control Protocol/Internet Protocol]では、フロー制御とロスパケットの再送要求によって信頼性の高い通信を実現している。しかし、ロスパケットの再送は、アクセスの集中による輻輳が再送によって更なる輻輳を呼び、広帯域メディアのサービスレベルを確保する上で、本質的な解決策とはなっていない。
【0005】
また、ダウンロードに使用するプロトコルとして普及しているFTP[File Transfer Protocol]では、再送によるネットワークの混雑を防止するために、個々の受け手側の受信能力を伝送帯域と遅延時間の積で定義し、これを一定とすることによりフロー制御が行われている。そのため、パケットの再送が発生し、遅延時間が増大すると、伝送帯域が低下し、ブロードバンドに見合った高速のダウンロードが行えない。
【0006】
また、ストリーミングにおいて普及している様々なメディアフォーマットでは、QoS[Quality of Service]の乏しいネットワーク上でも画質を維持するために各種工夫が施されているが、0.1〜1%程度のパケットロスによって再生映像にマクロブロックエラーやフレームスキップが発生する場合がある。これらのストリーミング配信では、スループットを確保するため、フロー制御とロスパケットの再送を行わないUDP[User Datagram Protocol]を用いている場合が多い。UDPは、ネットワークの輻輳に対してネットワークへの負担を軽減するスキームを持たないため、各アプリケーションの中には自律学習的に解像度を低下させ、個々のフローのサービスレベルを低下させるスキームを専用プロトコルで実現しているものである。ところが、ネットワークの輻輳に対する追従感度は十分なものではなく、特に、輻輳解消後のサービスレベルの復帰は極めて遅く、僅かな時間の輻輳で番組全体の品質の低下するといった問題がある。
【0007】
そのため、ADSL[Asymmetric Digital Subscriber Line]等によるブロードバンドの爆発的な普及にもかかわらず、インターネット上での本格的なブロードバンドCDS[Circuit Design Service]の普及は難しい。これにより、日本国内でのFTTHの需要の増加の重要な律速要因の一つとなっているのが現状である。
【0008】
一方、TCP/IPのフロー制御やロスパケットの再送に依存しないQoSの実現手段としては、UDPと順方向誤り訂正(以下、FEC[Forward Error Correction]と記載する)を用いる方法がある。
【0009】
【課題を解決しようとする課題】
しかしながら、従来のFECは、主として、OSI[Open Systems Interconnection]モデルのレイヤ1においてS/Nの改善に用いられてきたが、バースト的なエラーへの耐性を高めるには送信データに予めランダム性を持たせる工夫が必要である。そのため、バースト的なエラーへの耐性と送信データの遅延時間にトレードオフの関係を生じることから、電話等に利用されるVoIP[Voice Over Internet Protocol]のような遅延時間に厳しいアプリケーションで用いるには必ずしも適切ではなかった。
【0010】
また、FECは、End−to−Endのエラーレートやパケットロスレートを予め想定してエンコーダを行うが、本質的に自立したネットワークの集合体であるインターネットにおいてEnd−to−Endのエラーレートやパケットロスレートを予め想定することは困難であった。End−to−Endのエラーレートやパケットロスレートを予め想定できた場合でも、送信元においてその分の冗長度レベルを大きくしたFECデータを送信するので、ネットワークの伝送帯域の使用効率が低下するとともに伝送時間も増大する。特に、公衆回線を利用したネットワークを介して個人が個人にデータを送受信する場合、ネットワーク途中におけるエラーレートやパケットロスレートを考慮して冗長度レベルを大きくすると、送信するデータ量が増加するため、個人のコスト負担が増加する。つまり、個人が、ネットワーク途中におけるエラーレートやパケットロスレート等に対するコスト負担をしなければならない。
【0011】
図6を参照して、ASP等の送信元100から個人のパーソナルコンピュータ(以下、パソコンと記載する)等の受信先101にネットワーク102,103,104,105を介してストリーミングコンテンツを送信した場合の一例を説明する。送信元100から受信先101へ4つのネットワーク102,103,104,105を介してストリーミングコンテンツのデータを送信する場合、ネットワーク102,103,104,105の接続点には3つの中継装置106,107,108が存在する。ここで、ストリーミングコンテンツのデータ容量を0.3Mbpsとし、ネットワーク102,103,104,105における最大パケットロスレートを各々1%、15%、25%、1%とし、パケットオーバヘッドを1086/1024とし、FECのオーバヘッドを1.05とする。この場合、送信元100から送信したFECデータを受信先101でロスパケット無しで復号化するためには、ストリーミングコンテンツのデータに対して最大パケットロスレート、パケットオーバヘッド及びFECのオーバヘッドを加味しなければならない。そのため、送信元100では、これらのQoS情報を考慮して冗長度レベル(約77%)を設定し、FECを実施してストリーミングコンテンツ(0.3Mbps)のデータを符号化すると、伝送帯域としては0.53Mbpsが必要となる。しかし、送信元100に接続されているネットワーク102の実効帯域は0.5Mbpsなので、伝送帯域が0.53MbpsのFECデータを送信することはできない。したがって、送信元100から0.5MbpsのFECデータを送信したとすると、受信先101においてロスパケットが発生し、ストリーミングコンテンツを完全に再生することはできない。ちなみに、この例では、データの伝送途中であるネットワーク103,104におけるパケットロスを考慮して冗長度レベルを設定しているので、送信元100あるいは受信先101では、これらのネットワーク103,104におけるパケットロスも伝送コストとして負担しなければならない。
【0012】
さらに、CD−ROMやDVD等のFECに広く用いられているリードソロモン符号等の既存のFEC技術では、そもそも演算処理時間がコンテンツレートや誤り訂正の対象とするパケットロスのバースト長に対してほぼ二乗に比例する傾向があるため、映像や音楽等のリッチコンテンツと呼ばれる広帯域データをバースト的なパケットロスが発生するインターネット上で配信するアプリケーションに対して適用することはこれまで容易ではなかった。
【0013】
上記した技術については、特開2001−189665号公報、USP6307487等に開示されていが、上記問題点を解決手段については開示されていない。
【0014】
そこで、本発明は、ネットワークの伝送帯域の使用効率及びデータ送信時の遅延並びにQoSに優れる中継装置、中継用プログラム及びネットワークを提供することを課題とする。
【0015】
【課題を解決するための手段】
本発明に係る中継装置は、送信部から受信部にデータを送信する際に利用される1つ又は複数のネットワーク相互の接続点に設けられている中継装置であって、中継装置の下流側に位置する1つ又は複数のネットワークのサービス品質情報又はサービス品質情報の二次情報に基づいて、データの冗長度の改善の要否並びに冗長度レベルを決定する決定手段と、データの冗長度を改善する冗長度改善手段とを備えることを特徴とする。
【0016】
この中継装置によれば、データを送信するネットワークの途中において、下流側の位置する1つ又は複数のネットワークのサービス品質情報に基づいて冗長度を改善することできる。そのため、送信部において小さな冗長度レベルによって順方向誤り訂正を実施したデータを送信した場合にネットワークの途中で冗長度レベルが低下しても、ネットワークの途中の中継装置で冗長度を改善でき、受信部においてパケットロスが発生しない。したがって、データを小さな冗長度で送信できるととともにパケットロスを無くすことができるので、伝送帯域の使用効率が向上するとともに伝送時間を短縮でき、さらに、End−to−EndにおけるQosやサービスレベルも向上する。
【0017】
ちなみに、あるフローが経由するm個の部分ネットワーク(n)の最大パケットロスレートをL(n)%とすると、このフローのネットワーク全体のパケットロスレートは、1−((1−L(1))×(1−L(2))×・・・×(1−L(m)))で表される。これを考慮してFECを行うと、送信元の送信するデータの冗長度レベルは膨大となり、送信元付近の部分ネットワークあるいは中継装置におけるトラフィックが膨大となる。そのため、従来、経済的にリッチコンテンツを配信することは不可能であり、想定以上のパケットロスが発生するとサービスレベルが低下した。しかし、本発明に係る中継装置によれば、ネットワークの区間毎に失った冗長性を回復しながら次のネットワークに中継するので、各ネットワークで有効に伝送帯域を利用しながら、サービスレベルも低下しない。
【0018】
なお、送信部は、ネットワークを介してデータを送信する送信元であり、例えば、個人(パーソナルコンピュータ等の送信装置を含む)、ISP[Internet Service Provider](サーバ等の送信装置を含む)、ASP[Application Service Provider](サーバ等の送信装置を含む)等である。受信部は、ネットワークを介してデータを受信する受信先であり、例えば、個人や法人(パーソナルコンピュータ等の受信装置を含む)等である。ネットワークは、例えば、インターネット、イントラネット等である。中継装置は、ネットワーク間における接続点に設けられ、データを上流側から下流側に中継する装置あり、例えば、ISPやASPにおかれたルータ、ゲートウエイ等である。ちなみに、送信部も、中継装置における処理を行う場合がある。サービス品質情報は、ネットワークにおけるQoSに関する情報であり、例えば、パケットロスレート、エラーレート、遅延、ジッタ等である。サービス品質情報の二次情報は、サービス品質情報の中のある1つの情報あるいは複数の情報に対して四則演算等を施した情報である。上流側は、データが送信される際の送信部側である。下流側は、データが送信される際の受信部側である。
【0019】
本発明の上記中継装置は、フロー毎のアプリケーション及び/又はサービスレベルに応じて、順方向誤り訂正の実施の要否の決定、順方向誤り訂正の種類の決定、冗長度レベルの決定及び/又は順方向誤り訂正のパラメータの設定を行うようにしてもよい。
【0020】
この中継装置によれば、アプリケーション及び/又はサービスレベルに応じてFECの実施の要否の決定やFECの種類の決定等を行うので、様々なアプリケーションに要求されるQoSに応じてFECによって冗長度を改善することができる。つまり、VoIP等の遅延に敏感なアプリケーションあるいはVOD等の遅延には鈍感であるがパケットロスにシビアなアプリケーションが存在するが、従来の技術では、FECがOSIの下位レイヤで実施されていたため、アプリケーション毎のQoSの要求に対応できなかった。しかし、この中継装置によれば、利用時間、許容遅延、許容パレットロスレート、許容パケットロスバースト数等のQoSの要求の異なるアプリケーション毎に適切なFECを実施することができる。
【0021】
なお、フローは、コンテンツ等の送信データの全部又は一部からなる一つ又は複数のブロックで構成されるネットワークを流れるデータの流れを意味する。FECの種類としては、ハミング符号、BCH[Bose Chaudhuri−Hocquenghem]符号、リードソロモン符号、トルネード符号、LT[Luby Transform]符号等がある。
【0022】
本発明の上記中継装置は、フローのブロック毎に復号化及び再符号化を連続的に実施することによって冗長度を改善するようにしてもよい。
【0023】
この中継装置によれば、送信されてくるデータを復号化することによって送信部における元データに戻し、その元データを再符号化することによって冗長度レベルを変更することができる。
【0024】
本発明の上記中継装置は、上流側に位置する送信部又は中継装置から順方向誤り訂正が施されたパケットを追加送信させることによって冗長度を改善するようにしてもよい。
【0025】
この中継装置によれば、冗長度が不足してパケットロスが発生した場合でも、上流側に位置する送信部又は中継装置からFECが施されたパケットを追加送信させることによって、その送信されたFECデータによってパケットロスを解消して完全に復号化することができる。
【0026】
本発明の上記中継装置は、フローのブロックに対する復号化の途中で、該途中の復号化したパケット単位のデータを順次再符号化することによって冗長度を改善するようにしてもよい。
【0027】
この中継装置によれば、データの任意のブロックの途中まで復号化したパレット単位の復号化データから順次再符号化することによって、効率的に、FECデータを元データに戻すとともにその元データから冗長度を改善したFECデータを生成することができる。
【0028】
本発明の上記中継装置は、パケットの固定長のデータ領域にアプリケーション及び/又はサービスレベルを設定するようにしてもよい。
【0029】
この中継装置によれば、パケットヘッドの予め決められた領域に格納されているデータを参照することによって、ハードウエアにより高速にアプリケーション及び/又はサービスレベルを判別できる。ちなみに、従来のパケット構造ではパケットの可変長のペイロードのFECヘッダにアプリケーション及び/又はサービスレベルが設定されているので、ソフトウエア処理によってアプリケーション及び/又はサービスレベルを判別していたので、処理時間を要した。
【0030】
本発明の上記中継装置は、フローの各ブロックのパケット単位のデータを下流側に位置する中継装置又は受信部に転送するとともに該パケット単位のデータを順次復号化し、データを完全に復号化できない場合には上流側に位置する送信部又は中継装置から順方向誤り訂正によって再符号化されたパケット単位のデータを受信してこのデータにより復号化し、データを完全に復号化できた場合には上流側に位置する送信部又は中継装置からのデータの送信を中止させるようにしてもよい。
【0031】
この中継装置によれば、パケットロス等が発生して転送されたデータによって元データに100%復号化できない場合でも、上流側に位置する送信部又は中継装置からFECが施されたパケットを受信することによって、元データに100%復号化することができる。さらに、この中継装置では、元データに100%復号化することができた場合には、上流側に位置する送信部又は中継装置に送信中断要求等を送信して送信を中止させるので、上流側の送信部又は中継装置に無駄な処理をさせない。
【0032】
ちなみに、従来のFECでは、バースト的なパケットロスやエラーに対する耐性を向上させるためにデータのスクランブルとFECを組み合わせる必要があり、スクランブル幅を長くするとバースト的なエラーに対する耐性は向上するが、遅延が大きくなった。したがって、従来のFECを用いて中継装置で復号化と再符号化を繰り返すと、中継装置を経由する毎に遅延が累積し、電話等のVoIPや対話型ゲーム等に利用できないのは勿論のこと、VODやライブ放送等の用途でも遅延が大きくなりすぎて問題が発生する。しかし、本発明に係る中継装置によれば、中継時にデータを全て復号化及び再符号化することなく、不足する冗長分を追加して復号化及び再符号化することができるので、遅延の増加を最低限に抑えることできる。
【0033】
本発明に係る中継用プログラムは、送信部から受信部にデータを送信する際に利用される1つ又は複数のネットワーク相互の接続点に設けられている中継装置で実行される中継用プログラムであって、コンピュータに、中継装置の下流側に位置する1つ又は複数のネットワークのサービス品質情報又はサービス品質情報の二次情報に基づいて、データの冗長度の改善の要否並びに冗長度レベルを決定する決定手段と、データの冗長度を改善する冗長度改善手段と、して機能させることを特徴とする。
【0034】
本発明の上記中継用プログラムは、フロー毎のアプリケーション及び/又はサービスレベルに応じて、順方向誤り訂正の実施の要否の決定、順方向誤り訂正の種類の決定、冗長度レベルの決定及び/又は順方向誤り訂正のパラメータの設定を行うようにしてもよい。
【0035】
本発明の上記中継用プログラムは、フローのブロック毎に復号化及び再符号化を連続的に実施することによって冗長度を改善するようにしてもよい。
【0036】
本発明の上記中継用プログラムは、上流側に位置する送信部又は中継装置から順方向誤り訂正が施されたパケットを追加送信させることによって冗長度を改善するようにしてもよい。
【0037】
本発明の上記中継用プログラムは、フローのブロックに対する復号化の途中で、該途中の復号化したパケット単位のデータを順次再符号化することによって冗長度を改善するようにしてもよい。
【0038】
本発明の上記中継用プログラムは、パケットの固定長のデータ領域にアプリケーション及び/又はサービスレベルを設定するようにしてもよい。
【0039】
本発明の上記中継用プログラムは、フローの各ブロックのパケット単位のデータを下流側に位置する中継装置又は受信部に転送するとともに該パケット単位のデータを順次復号化し、データを完全に復号化できない場合には上流側に位置する送信部又は中継装置から順方向誤り訂正によって再符号化されたパケット単位のデータを受信してこのデータにより復号化し、データを完全に復号化できた場合には上流側に位置する送信部又は中継装置からのデータの送信を中止させるようにしてもよい。
【0040】
この中継用プログラムによれば、このプログラムをコンピュータに実行させることによって、上記中継装置の作用及び効果を奏する。
【0041】
本発明に係る自律型誤り訂正ネットワークは、送信部、受信部、及び、1つ又は複数のネットワーク相互の接続点に設けられている1つ又は複数の中継装置からなる自律型誤り訂正ネットワークであって、中継装置において、下流側に位置する1つ又は複数のネットワークのサービス品質情報に基づいて冗長度の改善の要否を決定し、冗長度の改善が必要な場合には順方向の誤り訂正によりデータの冗長度を改善することを特徴とする。
【0042】
この自律型誤り訂正ネットワークによれば、データの中継時に冗長度を改善することができるので、各ネットワークで有効に伝送帯域を利用でき、サービスレベルも低下しない。
【0043】
【発明の実施の形態】
以下、図面を参照して、本発明に係る中継装置、中継用プログラム及び自律型誤り訂正ネットワークの実施の形態を説明する。
【0044】
本発明は、ネットワークを介したデータの伝送における伝送帯域、遅延時間及びQoSを考慮した最適な伝送を実現するために、伝送途中で冗長度レベルが低下してきた場合には、送信部、ネットワーク、受信部の接続点に設けられている中継装置において下流側のネットワークのQoS情報に基づいて冗長度を改善する。さらに、本発明は、許容遅延、許容パレットロスレート等のQoSの要求の異なるアプリケーションやサービス契約等で設定されているサービスレベルに応じて最適な伝送を実現するために、アプリケーションやサービスレベルに基づいてFECの実施の要否の決定、FECの種類の決定、冗長度レベルの決定及び/又はFECのパラメータの設定を行う。特に、本発明では、遅延を最小限に抑えるために、中継装置において受信したデータをそのまま下流側に転送するとともにそのデータを復号化し、冗長度が不足して完全に復号化できない場合には上流側の送信部又は中継装置からその不足分だけ符号化したデータを送信してもらう。
【0045】
本実施の形態では、2つの実施の形態があり、第1の実施の形態では中継装置において冗長度を改善するための復号化及びFECによる再符号化を送信データの中継とシリアルに行い、第2の実施の形態では中継装置において冗長度を改善するための復号化及びFECによる再符号化を送信データの中継とパラレルに行う。本実施の形態では、FECとしてLT符号を用いる。
【0046】
まず、第1の実施の形態について説明する。図1を参照して、第1の実施の形態に係るネットワークの全体構成について説明する。図1は、第1の実施の形態に係るネットワーク全体の構成図である。
【0047】
第1の実施の形態では、送信元1から受信先2にストリーミングコンテンツを、4つのネットワーク3,4,5,6を介して配信し、この4つのネットワーク3,4,5,6の接続点に設けられた中継装置7,8,9でデータを中継している。
【0048】
送信元1は、ASP等のコンテンツを配信するプロバイダであり、データをネットワークを介して配信するために配信サーバ(図示せず)を備えている。また、送信元1は、配信サーバ内あるいは別体でFECエンコーダ1aを備えている。送信元1では、ストリーミングコンテンツの元データをFECエンコーダ1aでFECデータに符号化し、FECデータをパケット単位で配信する。ちなみに、送信元1では、受信先2(例えば、個人のユーザ)と契約を結んでおり、この契約おいて送信元1から配信するコンテンツのサービスレベル(サービス種別)やアプリケーションの種類及び配信料等を設定している。サービスレベルとしては、図4に示すような、誤り率優先度、遅延優先度、SLA[Service Level Agreement]情報等がある。
【0049】
FECエンコーダ1aでは、LT符号によるFECによって、ストリーミングコンテンツの元データを所定の冗長度レベルでFECデータに符号化する。このFECデータは、パケットのペイロードに分割されて格納され、送信される。所定の冗長度レベルは、パケットオーバヘッド(例えば、1086/1024)、FECのオーバヘッド(例えば、1.05)及び送信元1に接続されるネットワーク(S)3の最大パケットレート(1%)に基づいて設定され、例えば、15%程度に設定される。冗長度レベルを15%で0.3Mbpsのストリーミングコンテンツを送信する場合、0.345Mbpsの伝送帯域が必要であるが、ネットワーク(S)3の実効帯域0.5Mbpsで十分に送信可能である。ちなみに、送信元1では、従来のようにネットワーク103,104,105の最大パケットレートを加味する必要はない。なお、ストリーミングコンテンツは、多数のブロックから構成され、各ブロックは多数のパケットから構成されている。
【0050】
図2を参照して、パケットの構成について説明しておく。図2は、パケットの説明図であり、(a)はパケットの構成図であり、(b)はIPヘッダのデータ構成図である。
【0051】
パケットは、固定長のネット用ヘッダ、IPヘッダ、UDPヘッダ、及び、可変長のペイロードから構成されている。このペイロードに、FECデータが分割されて格納されている。また、IPヘッダは、図2(b)に示すようなデータ構成を有しており、IPヘッダの先頭から2バイト目にサービス種別が格納されている。そのため、各パケットのIPヘッドの2バイト目の8ビットデータを参照することにより、このストリーミングコンテンツのサービス種別を判別することができる。また、ネット用ヘッダ又はUDPヘッドには、アプリケーション(ストリーミングコンテンツ等)の種別を示すデータが格納されており、ネット用ヘッダ又はUDPヘッドのデータを参照することにより、アプリケーションの種別を判別することができる。
【0052】
図3を参照して、FECエンコーダ1a等で行うLT符号によるFECについて説明しておく。なお、このLT符号によるFECは、中継装置7,8,9でも実施される。
【0053】
図3では、ストリーミングコンテンツの元データに相当する入力データがa〜hの10個ある例を示している。LT符号によるFECでは、各入力データに対して乱数を発生させる。そして、出力データとして各列に対して排他的論理和により方程式(例えば、一列目の場合にはaXORg)をたて、この方程式がFECデータとなる。基本的には、入力データの個数分の方程式(出力データ)が有れば、方程式を解くことができる。しかし、データのネットワーク伝送中におけるパケットロスを考慮して、入力データの個数分より方程式(出力データ)の数を増やす(つまり、冗長度レベルを大きくする)。例えば、冗長度レベルを10%とすると、10個の入力データに対して11個の出力データ(方程式)を生成しておく。つまり、送信元から11個の出力データ(FECデータ)を送信し、ネットワークで1個出力データ(FECデータ)をロスしたとしても、受信先では10個の出力データ(FECデータ)によって方程式を解くことができる。
【0054】
図1に戻って、受信先2は、個人のユーザ等であり、ネットワークを介してデータを受信するためにパソコン(図示せず)等を備えている。また、受信先2は、パソコン内あるいは別体でFECデコーダ2a及びストリーミングビュワ2bを備えている。受信先2では、パケット単位でFECデータを受信し、FECデコーダ2aで復号化する。そして、受信先2では、ストリーミングビュワ2bでパケット単位の復号化データを繋げ、ストリーミングコンテンツとして再生する。
【0055】
ネットワーク3,4,5,6は、インターネット、イントラネット等のネットワークであり、QoS情報を各々有している。Qos情報としては、図4に示すように、パケットロスレート、実効帯域、エラーレート、遅延、最大バースト長、ジッタ等があり、ネットワーク3,4,5,6によって異なる特性を有している。例えば、最大パケットロスレートの場合、ネットワーク(S)3では1%、ネットワーク(N−1)4では15%、ネットワーク(N)5では25%、ネットワーク(D)6では1%である。また、実効帯域の場合、ネットワーク(S)3では0.5Mbps、ネットワーク(N−1)4では1000Mbps、ネットワーク(N)5では100Mbps、ネットワーク(D)6では8Mbpsである。
【0056】
中継装置7,8,9は、ネットワーク間のデータを中継する装置であり、例えば、ISP等に設けられているルータ、ゲートウエイ等である。特に、中継装置7,8,9では、受信したFECデータの冗長度レベルが低下している場合、冗長度レベルを上げるために受信したFECデータを復号化するとともにその復号化データを再符号化して下流側に送信する。そのために、中継装置7,8,9は、パケットスイッチ7a,8a,9a、FECデコーダ7b,8b,9b、バッファメモリ7c,8c,9c及びFECエンコーダ7d,8d,9dを備えている。ちなみに、これらの中継装置7,8,9の構成手段は、ハードウエアで構成してもよいし、専用プログラムをコンピュータで実行することによってソフトウエアで構成してもよい。FEC中継装置7,8,9は、同様の構成を有するので、ここでは、中継装置(n)8についてのみ詳細に説明する。
【0057】
中継装置(n)8では、ネットワーク(N−1)4からパケット単位でFECデータを受信し、ネットワーク(N)5のプロトコル等を考慮してネットワーク(N)5を介して中継装置(n+1)9にパケット単位でFECデータを送信する。また、中継装置(n)8では、受信したFECデータの冗長度レベルを監視し、冗長度レベルが低下しているために中継装置(n+1)9で冗長度が不足する可能性がある場合には受信したFECデータを復号化及び冗長度レベルを上げるために再符号化する。
【0058】
パケットスイッチ8aでは、受信したFECデータの冗長度レベルを調べる。そして、パケットスイッチ8aでは、受信したFECデータの冗長度レベルと下流側のネットワーク(N)5のQos情報(パケットロスレート等)とに基づいて、そのまま受信したFECデータをネットワーク(N)5で伝送すると、中継装置(n+1)9で冗長度が不足するか否かを判定する。冗長度が不足しないと判定した場合、パケットスイッチ8aでは、FECを行わないと決定し、受信したFECデータをそのままネットワーク(N)5を介して中継装置(n+1)9にパケット単位で送信する。一方、冗長度が不足すると判定した場合、パケットスイッチ8aでは、FECを行うと決定し、受信したFECデータをFECデコーダ8bに送る。なお、パケットスイッチ8aは、ネットワーク(N)5のみならず、更に下流側のネットワーク(N+I)のQos情報を考慮して、受信先2で冗長度が不足するか否かを判定してもよい。
【0059】
FECデコーダ8bでは、パケット単位のFECデータを復号化し、ストリーミングコンテンツの元データに復号化する。そして、FECデコーダ8bでは、この元データをバッファメモリ8cに一時記憶させる。
【0060】
FECエンコーダ8dでは、FECパラメータを設定する。そして、FECエンコーダ8dでは、設定したFECパラメータに基づいて、LT符号によるFECによって、バッファメモリ8cに一時記憶されている元データをFECデータに再符号化する。そして、FECエンコーダ8dでは、再符号化したFECデータをパケット単位でパケットスイッチ8aに送り、パケットスイッチ8aから下流のネットワーク(N)5を介して中継装置(n+1)9にそのパケット単位のFECデータを送信する。なお、この符号化では、ブロックの全てのパケットが復号化されてからブロック単位で復号化してもよいし、ブロックに対する復号化の途中でパケット単位で順次再符号化してもよい。
【0061】
図4を参照して、FECパラメータの設定方法について説明する。図4は、FECのパラメータの説明図である。
【0062】
FECパラメータは、FECによる符号化を行う際に必要なパラメータであり、想定最大パケットロス(冗長度レベル)、目標パケット再生誤り率、FECオーバヘッド、ブロック長、パケット長等がある。これらのFECパラメータは、受信したFECデータの冗長度レベルと、受信したFECデータのパケットヘッダ情報、下流側のネットワークのQoS情報、ネットワーク全体の装置(送信元、受信先、中継装置)のリソース情報及び下流の中継装置(n+i)の受信情報等とに基づいて設定する。
【0063】
パケットヘッダ情報としては、サービスレベル情報として誤り率優先度、遅延優先度、SLA情報等があり、アプリケーションタイプとしてストリーミングコンテンツ、電話、対話型ゲーム等がある。サービスレベル情報を考慮することによって、設定されているサービスレベルより低下しないように、FECパラメータを設定する。アプリケーションタイプを考慮することにより、遅延に敏感なアプリケーションやパケットロスに敏感なアプリケーション等の各アプリケーションが要求するQoSを満たすように、FECパラメータを設定する。ちなみに、サービスレベル情報やアプリケーションタイプは、パケットの固定長の領域に設定されているので、高速に認識することができる。
【0064】
下流側のネットワークのQoS情報としては、パケットロスレート、実効帯域、エラーレート、遅延、最大バースト長、ジッタ等がある。例えば、受信したFECデータの冗長度レベルが低下していると、下流側のネットワークのパケットロスレートによって下流の中継装置や受信先において冗長度レベルが0%未満になってしまう(冗長度が不足してしまう)と予測できる場合には、冗長度レベルを上げるように、FECパラメータを設定する。その際、送信データの伝送帯域が下流側のネットワークの実効帯域を越えない範囲で、FECパラメータを設定する。
【0065】
装置のリソース情報としては、CPU[Central Processing unit]の利用率、空きメモリ等がある。ネットワーク全体を見渡して、CPUの演算能力に余裕のある装置やメモリに余裕のある装置において復号化及び再符号化を行うように、FECパラメータを設定する。
【0066】
下流の中継装置の受信情報としては、受信パケットレートあるいはパケット充足情報、遅延、バッファメモリ等がある。下流側でパケットロスが発生しないかとかあるいは遅延時間が長くなっていないか等の下流の中継装置の受信情報も考慮して、FECパラメータを設定する。
【0067】
図1乃至図4を参照して、中継装置(n)8の動作について説明する。前提として、送信元1において0.3MbpsのストリーミングコンテンツがFECデータに符号化され、パケット単位のFECデータがネットワーク(S)3で伝送される。そして、パケット単位のFECデータは、ネットワーク(S)3を介して中継装置(n−1)7で受信される。中継装置(n−1)7では、パケット単位のFECデータの冗長度レベル及びネットワーク(N−1)4のQoS情報等に基づいてFECを実施するか否かを判定し、FECを実施しない場合には受信したパケット単位のFECデータをそのままネットワーク(N−1)4を介して中継装置(n)8に送信し、FECを実施する場合には受信したパケット単位のFECデータを復号化及び再符号化して冗長度を改善したFECデータをネットワーク(N−1)4を介して中継装置(n)8に送信する。そして、そのパケット単位のFECデータは、中継装置(n)8で受信される。
【0068】
中継装置(n)8では、受信したパケット単位のFECデータの冗長度レベルを調べ、その冗長度レベルとネットワーク(N)5のQoS情報とに基づいて、FECを実施するか否かを判定する。例えば、パケット単位のFECデータの冗長度レベルが5%まで低下している場合、ネットワーク(N)5の最大パケットロスレートが25%であるため、ネットワーク(N)5でパケットロスが発生して、中継装置(n−1)9では冗長度レベルが0%未満に低下してしまう。このような場合、中継装置(n)8では、FECを実施して、冗長度の改善を図る。
【0069】
FECを実施しないと判定した場合、中継装置(n)8では、受信したパケット単位のFECデータを、そのままネットワーク(N)5を介して中継装置(n+1)9に送信する。
【0070】
一方、FECを実施すると判定した場合、中継装置(n)8では、受信したパケット単位のFECデータを復号化する。さらに、中継装置(n)8では、ネットワーク(N)5のQoS情報やアプリケーション及びサービスレベル等に基づいて、FECパラメータを設定する(図4参照)。例えば、ネットワーク(N)5の最大パケットロスレートが25%であるため、冗長度レベルとして30%程度を設定する。そして、中継装置(n)8では、設定したFECパラメータに基づいて、復号化したデータをLT符号によるFECによってFECデータに再符号化する。続いて、中継装置(n)8では、再符号化したパケット単位のFECデータをネットワーク(N)5を介して中継装置(n+1)9に送信する。
【0071】
その後、パケット単位のFECデータは、ネットワーク(N)5を介して中継装置(n+1)9で受信される。中継装置(n+1)9では、パケット単位のFECデータの冗長度レベル及びネットワーク(D)6のQoS情報等に基づいてFECを実施するか否かを判定し、FECを実施しない場合には受信したパケット単位のFECデータをそのままネットワーク(D)6を介して受信先2に送信し、FECを実施する場合には受信したパケット単位のFECデータを復号化及び再符号化して冗長度を改善したFECデータをネットワーク(D)6を介して受信先2に送信する。そして、そのパケット単位のFECデータは、受信先2で受信される。受信先2では、受信したパケット単位のFECデータを順次復号化し、ストリーミングコンテンツとして再生する。この復号化では、中継装置7,8,9において冗長度が改善されているので、ストリーミングコンテンツにロスパケットの発生やマクロブロックエラー等のエラーが発生しない。
【0072】
中継装置7,8,9によれば、ネットワーク全体における途中で冗長度を改善することができるので、送信元1でネットワーク全体のQoS情報を考慮して大きな冗長度レベルを設定する必要がなく、送信データの伝送帯域を抑えることができる。また、中継装置7,8,9によれば、下流側のネットワークのQoS情報が考慮されて冗長度を改善しているので、受信先2においてFECデータを完全に元データに復号化できる。
【0073】
さらに、中継装置7,8,9によれば、アプリケーションやサービスレベルに応じてFECパラメータを設定しているので、各アプリケーションが要求するQoSを満足させてアプリケーションを伝送することができ、サービスレベルも維持することができる。
【0074】
次に、第2の実施の形態について説明する。図5を参照して、第2の実施の形態に係るネットワークの全体構成について説明する。図5は、第2の実施の形態に係るネットワーク全体の構成図である。第2の実施の形態では、第1の実施の形態に係る構成と同様の構成について同一の符号を付し、その説明を省略する。
【0075】
第2の実施の形態では、送信元1から受信先2にストリーミングコンテンツを、4つのネットワーク3,4,5,6を介して配信し、この4つのネットワーク3,4,5,6の接続点に設けられた中継装置17,18,19でデータを中継している。
【0076】
中継装置17,18,19は、ネットワーク間のデータを中継する装置であり、例えば、ISP等に設けられているルータ、ゲートウエイ等である。特に、中継装置17,18,19では、受信したパケット単位のFECデータをそのまま下流の中継装置18,19又は受信先2に転送するとともに、同時に、受信したパケット単位のFECデータを復号化する。そして、中継装置17,18,19(又は受信先2)では、FECデータを完全に復号化できない場合、不足している冗長度分を補うために、上流の中継装置17,18,19又は送信元1から符号化されたパケット単位のFECデータを送信してもらう。そして、中継装置17,18,19(又は受信先2)では、その送信してもらったパケット単位のFECデータによって完全に復号化できた場合、上流の中継装置17,18,19又は送信元1からの送信を停止させる。また、中継装置17,18,19(又は送信元1)では、下流の中継装置17,18,19又は受信先2に符号化したパケット単位のFECデータを送信するために、復号化したデータを再符号化する。そのために、中継装置17,18,19は、パケットコピー17a,18a,19a、FECデコーダ17b,18b,19b、バッファメモリ17c,18c,19c及びFECエンコーダ17d,18d,19dを備えている。ちなみに、これらの中継装置17,18,19の構成手段は、ハードウエアで構成してもよいし、専用プログラムをコンピュータで実行することによってソフトウエアで構成してもよい。FEC中継装置17,18,19は、同様の構成を有するので、ここでは、中継装置(n)18についてのみ詳細に説明する。
【0077】
中継装置(n)18では、ネットワーク(N−1)4からパケット単位でFECデータを受信し、ネットワーク(N)5のプロトコル等を考慮して、そのパケット単位でFECデータをそのままネットワーク(N)5を介して中継装置(n)19に転送する。同時に、中継装置(n)18では、受信したFECデータを復号化する。そして、中継装置(n)18では、受信したFECデータを完全に復号化できない場合、上流の中継装置(n−1)17から送信された再符号化されたFECデータを受信し、その再符号化されたFECデータに基づいてFECデータを完全に復号化する。FECデータを完全に復号化できると、中継装置(n)18では、中継装置(n−1)17からの送信を中止させる。また、中継装置(n)18では、下流の中継装置(n+1)19においてFECデータを完全に復号化できない場合に対応するために、復号化したデータを再符号化し、再符号化したパケット単位のFECデータを下流の中継装置(n+1)19に送信する。そして、中継装置(n)18では、下流の中継装置(n+1)19からの送信中止要求に応じて、FECデータの送信を中止するとともに復号化及び再符号化も中止する。
【0078】
パケットコピー18aでは、ネットワーク(N−1)4からパケット単位のFECデータを受信すると、そのパケット単位のFECデータをそのままネットワーク(N)を介して中継装置(n+1)19に送信するとともに、FECデコーダ18bに送る。
【0079】
FECデコーダ18bでは、パケット単位のFECデータを復号化し、ストリーミングコンテンツの元データに復号化する。そして、FECデコーダ18bでは、この元データをバッファメモリ18cに一時記憶させる。また、FECデコーダ18bでは、FECデータを元データに100%復号化できたか否かを判定する。元データに100%復号化できない場合、FECデコーダ18bでは、上流の中継装置(n−1)17に対して、中継装置(n−1)17で再符号化したFECデータを送信してもらう送信要求を送信する。そして、FECデコーダ18bでは、元データに100%復号化できるまで、中継装置(n−1)17からの再符号化したFECデータを復号化する。この際、中継装置(n−1)17からは、同じ再符号化したFECデータが繰り返し送信されてくる。一方、元データに100%復号化できた場合、FECデコーダ18bでは、上流の中継装置(n−1)17に対して、中継装置(n−1)17で再符号化したFECデータの送信を中止する送信中止要求を送信するとともに、復号化を終了する。
【0080】
FECエンコーダ18dでは、下流の中継装置(n+1)19からの送信要求を受信すると、設定したFECパラメータに基づいて、LT符号によるFECによって、バッファメモリ18cに一時記憶されている元データをFECデータに再符号化する。この際、FECエンコーダ18dでは、FECパラメータを設定するが、FECパラメータの設定方法については第1の実施の形態と同様である。そして、FECエンコーダ18dでは、再符号化したFECデータをパケット単位でパケットコピー18aに送り、パケットコピー18aから下流のネットワーク(N)5を介して中継装置(n+1)19にその再符号化したパケット単位のFECデータを送信する。この際、FECエンコーダ18dでは、中継装置(n+1)19から送信中止要求が送信されるまで、同じパケット単位のFECデータを繰り返し送信し続ける。また、FECエンコーダ18dでは、下流の中継装置(n+1)19からの送信中止要求を受信すると、バッファメモリ18cに一時記憶させていた復号化データを消去するとともに、再符号化を終了する。なお、FECエンコーダ18dでは、冗長度レベルを変えずに符号化する場合もある。
【0081】
なお、第2の実施の形態では、送信元1及び受信先2では、第1の実施の形態の処理に加えて以下の処理も行う。送信元1では、中継装置(n−1)17の送信要求に応じてパケット単位のFECデータを繰り返し送信し、送信中止要求に応じて送信を中止する。受信先2では、FECデータを元データに完全に復号化できな場合には中継装置(n+1)19に対して送信要求を送信して再符号化したパケット単位のFECデータを送信してもらい、その再符号化したFECデータによって元データに完全に復号化できた場合には中継装置(n+1)19に対して送信中止要求を送信する。
【0082】
図5を参照して、中継装置(n)18の動作について説明する。前提として、送信元1において0.3MbpsのストリーミングコンテンツがFECデータに符号化され、パケット単位のFECデータがネットワーク(S)3で伝送される。そして、パケット単位のFECデータは、ネットワーク(S)3を介して中継装置(n−1)17で受信される。中継装置(n−1)17では、パケット単位のFECデータをそのままネットワーク(N−1)4を介して中継装置(n)18に送信する。さらに、中継装置(n−1)17では、パケット単位のFECデータを復号化するとともに、中継装置(n)18からの送信要求に応じて復号化データを再符号化し、この再符号化したFECデータをネットワーク(N−1)4を介して中継装置(n)18に送信する。そして、そのパケット単位のFECデータ及び再符号化されたFECデータは、中継装置(n)18で受信される。
【0083】
中継装置(n)18では、パケット単位のFECデータを受信すると、パケット単位のFECデータをそのままネットワーク(N)5を介して中継装置19に送信するとともに、パケット単位のFECデータを復号化する。
【0084】
そして、中継装置(n)18では、FECデータを元データに完全に復号化できたか否かを判定する。完全に復号化できないと判定した場合、中継装置(n)18では、中継装置(n−1)17に対して再符号化したFECデータを送信してもらう送信要求を送信し、元データに完全に復号化できるまで中継装置(n−1)17からの再符号化したFECデータを用いて復号化する。一方、完全に復号化できたと判定した場合、中継装置(n)18では、中継装置(n−1)17に対して再符号化したFECデータの送信を中止する送信中止要求を送信し、復号化を終了する。
【0085】
さらに、中継装置(n)18では、中継装置(n+1)19からの送信要求を受信すると、LT符号によるFECによって復号化したデータをFECデータに再符号化する。そして、中継装置(n)18では、再符号化したFECデータをパケット単位でネットワーク(N)5を介して中継装置(n+1)19を送信する。また、中継装置(n)18では、中継装置(n+1)19からの送信中止要求を受信すると、バッファメモリ18cに一時記憶させていた復号化データを消去するとともに、再符号化を終了する。
【0086】
その後、パケット単位のFECデータ及び中継装置(n+1)19からの要求に応じた再符号化したFECデータは、ネットワーク(N)5を介して中継装置(n+1)19で受信される。中継装置(n+1)19では、パケット単位のFECデータをそのままネットワーク(D)6を介して受信先2に送信する。さらに、中継装置(n+1)19では、パケット単位のFECデータを復号化するとともに、受信先2からの送信要求に応じて復号化データを再符号化し、この再符号化したFECデータをネットワーク(D)6を介して受信先2に送信する。そして、そのパケット単位のFECデータ及び再符号化されたFECデータは、受信先2で受信される。受信先2では、受信したパケット単位のFECデータを順次復号化するが、このFECデータで完全に復号化できない場合には再符号化されたFECデータを用いて復号化する。そして、受信先2では、復号化したデータによりストリーミングコンテンツとして再生する。この復号化では、中継装置17,18,19においてFECデータを完全に復号化して冗長度を改善しているので、ストリーミングコンテンツにロスパケットの発生やマクロブロックエラー等のエラーが発生しない。
【0087】
中継装置17,18,19によれば、FECデータをそのまま下流に転送するとともにそのFECデータを復号化しているので、遅延を極力抑えることができる。また、中継装置17,18,19では、FECデータを元データに100%復号化できるまで上流から再符号化したFECデータを補充するので、元データに100%復号化することができ、ひいては受信先2で元データに100%復号化することができる。そのため、送信元1でネットワーク全体のQoS情報を考慮して冗長度レベルを設定する必要がなく、送信データの伝送帯域を抑えることができる。
【0088】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
【0089】
例えば、本実施の形態ではISP等から個人等にストリーミングコンテンツを配信する場合に適用したが、個人と個人との場合、アプリケーションとしても電話や対戦型ゲーム等の場合における様々なネットワークを介して通信に適用可能である。
【0090】
また、本実施の形態ではネットワーク上の全ての中継装置において本発明に係る処理を行う構成としたが、ネットワーク上の一部の中継装置において本発明に係る処理を行う構成としてもよいし、ネットワーク上の全ての中継装置において処理を行う場合でも処理能力に余裕のある中継装置が優先的に処理を行うように構成してもよい。
【0091】
また、本実施の形態ではFECとしてLT符号を用いたが、ハミング符号、BCH符号、リードソロモン符号、トルネード符号等の他のFECを用いてもよい。
【0092】
また、本実施の形態では送信元から受信先まで1本の経路の場合で説明したが、中継装置又は受信元において複数の経路(ネットワーク)に分岐する場合でも適用可能であり、この場合には分岐する各経路(ネットワーク)のQoS情報等に基づいて最適な経路も決定する。
【0093】
また、本実施の形態ではサービスレベル(サービス種別)をIPヘッダに設定したが、UDPヘッダ等の他の固定長のデータ領域に設定してよいし、ヘッダのデータ構成も他の構成としてもよい。
【0094】
また、本実施の形態ではネットワークのQoS情報を直接用いたが、QoS情報のうちの任意の情報に対して四則演算する等の二次情報を用いてよい。
【0095】
【発明の効果】
本発明は、データを送信するネットワークの途中で冗長度が低下しても、ネットワーク間の中継時に、下流側のネットワークのサービス品質情報に基づいて冗長度を改善することができる。そのため、データを小さな冗長度で送信できるのでネットワークの伝送帯域の使用効率が向上するとともに伝送時間を短縮でき、さらに、パケットロスを全く無くすあるいは極力無くすことができるのでEnd−to−EndにおけるQosやサービスレベルも向上する。
【0096】
さらに、本発明は、アプリケーション及び/又はサービスレベルに応じてFECの実施の要否の決定やFECの種類の決定等を行うので、様々なアプリケーションに要求されるQoSに応じてFECによって冗長度を改善することができ、サービスレベルも満たすことができる。
【0097】
また、本発明は、任意のブロックの復号化の途中で、途中まで復号化したパレット単位のデータから順次再符号化することによって、効率的に、送信データを元データに戻すとともにその元データから冗長度を改善したデータを再符号化することができる。
【0098】
さらに、本発明では、パケットロス等が発生して転送されたデータによって元のデータに100%復号化できない場合でも、上流側に位置する送信部又は中継装置からFECが施されたパケットを受信することによって、元のデータに100%復号化することができる。この際、データの転送とデータの複合化及び再符号化をパラレルで行っているので、遅延を極力抑えることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るネットワーク全体の構成図である。
【図2】本発明の実施の形態に係るパケットの説明図であり、(a)はパケットの構成図であり、(b)はIPヘッダのデータ構成図である。
【図3】FECのLT符号の概念図である。
【図4】本発明の実施の形態に係るFECのパラメータの説明図である。
【図5】本発明の第2の実施の形態に係るネットワーク全体の構成図である。
【図6】従来のネットワーク全体の構成図である。
【符号の説明】
1…送信元、1a…FECエンコーダ、2…受信先、2a…FECデコーダ、2b…ストリーミングビュワ、3,4,5,6…ネットワーク、7,8,9,17,18,19…中継装置、7a,8a,9a…パケットスイッチ、7b,8b,9b,17b,18b,19b…FECデコーダ、7c,8c,9c,17c,18c,19c…バッファメモリ、7d,8d,9d,17d,18d,19d…FECエンコーダ、17a,18a,19a…パケットコピー
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a relay device, a relay program, and an autonomous error correction network provided at one or more connection points between networks.
[0002]
[Prior art]
In recent years, the number of broadband subscribers on the Internet and intranet has been rapidly increasing. Broadband applications that require fixed bandwidth and quality, such as music and video download distribution and streaming distribution, and those that require realization of large-capacity, high-speed content distribution services such as real-time communication, are increasing. It is getting. These applications are expected to drive the market for higher speed broadband services such as FTTH [Fiber To The Home]. With this high-speed broadband service, the speed of downloading within one minute for downloading and the realization of a service level that does not stop during streaming or generate macroblock errors etc. are required to secure excellent contents and digital writing Together with the standardization of rights management technology, it is even said to be the key to the development of Japan's broadband market.
[0003]
As a technology for processing such a large amount of information in a high-speed and real-time manner and responding to a quality requirement according to each application, in a core network, a hardware level in a layer 2 using MPLS [Multi Protocol Label Switching] is used. High-speed switching technology and the like have been developed, and a technology for dividing and caching content in an edge network has been put to practical use.
[0004]
However, at present, technologies for securing high speed and service level by end-to-end in the Internet, which is a collection of network technologies of various eras, have not yet been established. In TCP / IP (Transmission Control Protocol / Internet Protocol), which forms the basis of the Internet, highly reliable communication is realized by flow control and loss packet retransmission request. However, retransmission of lost packets is not an essential solution in securing the service level of broadband media because congestion due to access concentration causes further congestion due to retransmission.
[0005]
Also, in FTP (File Transfer Protocol), which is widely used as a protocol used for downloading, in order to prevent network congestion due to retransmission, the receiving capability of each receiver is defined by the product of a transmission band and a delay time. By keeping this constant, flow control is performed. For this reason, when packet retransmission occurs and the delay time increases, the transmission bandwidth decreases, and high-speed downloading corresponding to broadband cannot be performed.
[0006]
Further, in various media formats popularized in streaming, various measures have been taken to maintain image quality even on a network where QoS (Quality of Service) is poor, but a packet loss of about 0.1 to 1% has been adopted. This may cause a macroblock error or frame skip in the reproduced video. In these streaming distributions, in order to secure a throughput, a UDP (User Datagram Protocol) that does not perform flow control and retransmission of lost packets is often used. Since UDP does not have a scheme to reduce the load on the network due to network congestion, some applications use a dedicated protocol to reduce the resolution by autonomous learning and lower the service level of each flow. It is realized in. However, the following sensitivity to network congestion is not sufficient, and in particular, there is a problem that the service level is very slowly restored after the congestion is resolved, and the quality of the entire program is deteriorated by a short time of congestion.
[0007]
Therefore, despite the explosive spread of broadband by ADSL (Asymmetric Digital Subscriber Line) and the like, it is difficult to spread full-scale broadband CDS [Circuit Design Service] on the Internet. This has become one of the important rate-limiting factors for the increase in demand for FTTH in Japan.
[0008]
On the other hand, as a means for realizing QoS that does not depend on TCP / IP flow control or loss packet retransmission, there is a method using UDP and forward error correction (hereinafter, referred to as FEC [Forward Error Correction]).
[0009]
[Problem to be solved]
However, the conventional FEC has been mainly used to improve the S / N in layer 1 of the OSI [Open Systems Interconnection] model. However, in order to increase the resistance to burst errors, randomness is necessary for transmission data in advance. It is necessary to devise it. For this reason, there is a trade-off relationship between the tolerance to burst errors and the delay time of transmission data. Therefore, it is necessary to use the application in applications that are strict in delay time, such as VoIP [Voice Over Internet Protocol] used for telephones and the like. Not always appropriate.
[0010]
Further, the FEC performs an encoder by assuming an end-to-end error rate and a packet loss rate in advance, but the end-to-end error rate and the packet rate in the Internet, which is essentially a collection of independent networks. It was difficult to estimate the loss rate in advance. Even if an end-to-end error rate or a packet loss rate can be assumed in advance, the transmission source transmits FEC data with a correspondingly increased redundancy level, so that the use efficiency of the network transmission band decreases and The transmission time also increases. In particular, when an individual transmits and receives data to and from an individual via a network using a public line, increasing the redundancy level in consideration of an error rate or a packet loss rate in the middle of the network increases the amount of data to be transmitted. Personal cost burden increases. That is, the individual must bear a cost for an error rate, a packet loss rate, and the like in the middle of the network.
[0011]
Referring to FIG. 6, when streaming content is transmitted from a transmission source 100 such as an ASP to a reception destination 101 such as a personal computer (hereinafter, referred to as a personal computer) via a network 102, 103, 104, or 105. An example will be described. When transmitting streaming content data from the transmission source 100 to the reception destination 101 via the four networks 102, 103, 104, and 105, three relay devices 106 and 107 are connected to the connection points of the networks 102, 103, 104, and 105. , 108 are present. Here, the data capacity of the streaming content is 0.3 Mbps, the maximum packet loss rates in the networks 102, 103, 104, and 105 are 1%, 15%, 25%, and 1%, respectively, and the packet overhead is 1086/1024. The FEC overhead is 1.05. In this case, in order to decode the FEC data transmitted from the transmission source 100 without loss packets at the reception destination 101, the maximum packet loss rate, the packet overhead, and the FEC overhead must be added to the streaming content data. No. Therefore, the transmission source 100 sets a redundancy level (approximately 77%) in consideration of the QoS information and encodes the data of the streaming content (0.3 Mbps) by performing the FEC. 0.53 Mbps is required. However, since the effective bandwidth of the network 102 connected to the transmission source 100 is 0.5 Mbps, it is impossible to transmit FEC data having a transmission bandwidth of 0.53 Mbps. Therefore, if 0.5 Mbps FEC data is transmitted from the transmission source 100, a loss packet occurs at the reception destination 101, and the streaming content cannot be completely reproduced. Incidentally, in this example, since the redundancy level is set in consideration of the packet loss in the networks 103 and 104 during the data transmission, the transmission source 100 or the reception destination 101 sets the packet in these networks 103 and 104. Losses must also be borne as transmission costs.
[0012]
Furthermore, in the existing FEC technology such as Reed-Solomon code widely used for FEC such as CD-ROM and DVD, the operation processing time is almost equal to the content rate and the burst length of packet loss to be corrected. Since it tends to be proportional to the square, it has not been easy to apply broadband data called rich content such as video and music to an application that is distributed on the Internet where burst packet loss occurs.
[0013]
The above technique is disclosed in Japanese Patent Application Laid-Open No. 2001-189665, US Pat. No. 6,307,487, but no means for solving the above problem is disclosed.
[0014]
Therefore, an object of the present invention is to provide a relay device, a relay program, and a network that are excellent in the use efficiency of a transmission band of a network, the delay in data transmission, and the QoS.
[0015]
[Means for Solving the Problems]
A relay device according to the present invention is a relay device provided at one or a plurality of connection points between networks used when transmitting data from a transmission unit to a reception unit, and is provided downstream of the relay device. Determining means for determining whether data redundancy needs to be improved and a redundancy level based on service quality information or secondary information of service quality information of one or more located networks, and improving data redundancy And means for improving redundancy.
[0016]
According to this relay device, it is possible to improve redundancy in the middle of a network for transmitting data based on service quality information of one or a plurality of networks located on the downstream side. Therefore, even when the transmission unit transmits data on which forward error correction has been performed with a small redundancy level and the redundancy level decreases in the middle of the network, the redundancy can be improved in the relay device in the middle of the network. No packet loss occurs in the section. Therefore, since data can be transmitted with a small degree of redundancy and packet loss can be eliminated, the use efficiency of the transmission band can be improved and the transmission time can be reduced, and the QoS and the service level in End-to-End are also improved. I do.
[0017]
Incidentally, assuming that the maximum packet loss rate of m partial networks (n) through which a certain flow passes is L (n)%, the packet loss rate of the entire network of this flow is 1-((1-L (1) ) × (1-L (2)) ×... × (1-L (m))). When FEC is performed in consideration of this, the redundancy level of the data transmitted from the transmission source becomes enormous, and the traffic in the partial network or the relay device near the transmission source becomes enormous. For this reason, conventionally, it has been impossible to distribute rich contents economically, and the service level has been lowered when a packet loss that is larger than expected occurs. However, according to the relay device of the present invention, the network is relayed to the next network while restoring the redundancy lost for each section of the network, so that the service level does not decrease while effectively using the transmission bandwidth in each network. .
[0018]
Note that the transmission unit is a transmission source that transmits data via a network, and includes, for example, an individual (including a transmission device such as a personal computer), an ISP [Internet Service Provider] (including a transmission device such as a server), and an ASP. [Application Service Provider] (including a transmission device such as a server). The receiving unit is a receiving destination that receives data via a network, and is, for example, an individual or a corporation (including a receiving device such as a personal computer). The network is, for example, the Internet, an intranet, or the like. The relay device is a device that is provided at a connection point between networks and relays data from the upstream side to the downstream side, and is, for example, a router or a gateway provided in an ISP or an ASP. Incidentally, the transmission unit may also perform processing in the relay device. The service quality information is information on QoS in the network, and includes, for example, a packet loss rate, an error rate, a delay, and a jitter. The secondary information of the service quality information is information obtained by performing four arithmetic operations on one piece of information or a plurality of pieces of information in the service quality information. The upstream side is the transmitting unit side when data is transmitted. The downstream side is the receiving side when data is transmitted.
[0019]
The relay apparatus according to the present invention determines whether or not to perform forward error correction, determines the type of forward error correction, determines a redundancy level, and / or determines according to an application and / or service level for each flow. The setting of the forward error correction parameter may be performed.
[0020]
According to this relay device, the necessity of implementing FEC is determined or the type of FEC is determined according to the application and / or service level. Therefore, the redundancy is determined by the FEC according to the QoS required for various applications. Can be improved. In other words, there are applications that are sensitive to delays such as VoIP and applications that are insensitive to delays such as VOD but are severe in packet loss. However, in the conventional technology, since FEC is implemented in a lower layer of OSI, application It could not respond to every QoS requirement. However, according to the relay device, it is possible to perform an appropriate FEC for each application having a different QoS requirement such as a use time, an allowable delay, an allowable pallet loss rate, and an allowable packet loss burst number.
[0021]
The flow means a flow of data flowing through a network including one or a plurality of blocks composed of all or a part of transmission data such as contents. The types of FEC include a Hamming code, a BCH [Bose Chaudhuri-Hocquenghem] code, a Reed-Solomon code, a tornado code, and an LT [Luby Transform] code.
[0022]
The relay apparatus of the present invention may improve the redundancy by continuously performing decoding and re-encoding for each block of the flow.
[0023]
According to this relay device, it is possible to return the original data in the transmitting unit by decoding the transmitted data and change the redundancy level by re-encoding the original data.
[0024]
The relay device of the present invention may improve redundancy by additionally transmitting a packet subjected to forward error correction from a transmission unit or a relay device located on the upstream side.
[0025]
According to this relay device, even when a packet loss occurs due to insufficient redundancy, the transmission unit or the relay device located on the upstream side additionally transmits the FEC-executed packet, so that the transmitted FEC is transmitted. Data can eliminate packet loss and completely decode.
[0026]
The relay device of the present invention may improve the redundancy by sequentially re-encoding the decoded packet unit data in the middle of the decoding of the block of the flow.
[0027]
According to this relay device, by sequentially re-encoding the decoded data in units of pallets decoded to the middle of an arbitrary block of data, the FEC data can be efficiently returned to the original data and the redundant data can be efficiently restored from the original data. FEC data with an improved degree can be generated.
[0028]
The relay device of the present invention may set an application and / or service level in a fixed-length data area of a packet.
[0029]
According to this relay device, by referring to the data stored in the predetermined area of the packet head, the application and / or service level can be determined at high speed by hardware. Incidentally, in the conventional packet structure, since the application and / or service level is set in the FEC header of the variable-length payload of the packet, the application and / or service level is determined by software processing. Cost me.
[0030]
The above-described relay device of the present invention transfers packet-based data of each block of a flow to a relay device or a receiving unit located on the downstream side and sequentially decodes the packet-based data, so that the data cannot be completely decoded. Receives data in packet units re-encoded by forward error correction from a transmitting unit or a relay device located on the upstream side, decodes the data, and if the data is completely decoded, the upstream side The transmission of the data from the transmission unit or the relay device located at may be stopped.
[0031]
According to this relay device, even when packet transfer or the like cannot be performed to 100% of the original data by the transferred data due to a packet loss or the like, the FEC-received packet is received from the transmission unit or the relay device located on the upstream side. As a result, 100% decoding can be performed on the original data. Further, in this relay device, when 100% decoding can be performed on the original data, a transmission interruption request or the like is transmitted to the transmission unit or the relay device located on the upstream side to stop the transmission. Of the transmission unit or the relay device.
[0032]
By the way, in the conventional FEC, it is necessary to combine data scrambling and FEC in order to improve resistance to bursty packet loss and errors. If the scrambling width is increased, resistance to bursty errors is improved, but delay is increased. It has grown. Therefore, if decoding and re-encoding are repeated in the relay device using the conventional FEC, delays accumulate every time the relay device is passed, and it cannot be used for VoIP such as telephones and interactive games. Also, in applications such as VOD and live broadcasting, the delay becomes too large, which causes a problem. However, according to the relay device of the present invention, it is possible to decode and re-encode by adding insufficient redundancy without decoding and re-encoding all data at the time of relay, so that delay is increased. Can be minimized.
[0033]
The relay program according to the present invention is a relay program executed by a relay device provided at one or a plurality of connection points between networks used when transmitting data from a transmission unit to a reception unit. The computer determines the necessity of data redundancy improvement and the redundancy level based on service quality information or secondary information of service quality information of one or more networks located downstream of the relay device. And a redundancy improving means for improving data redundancy.
[0034]
The relay program according to the present invention determines whether or not to perform forward error correction, determines the type of forward error correction, determines a redundancy level, and / or determines, according to an application and / or service level for each flow. Alternatively, parameters for forward error correction may be set.
[0035]
The above-described relay program of the present invention may improve redundancy by continuously performing decoding and re-encoding for each block of a flow.
[0036]
The relay program of the present invention may improve the redundancy by causing a transmission unit or a relay device located on the upstream side to additionally transmit a packet subjected to forward error correction.
[0037]
The above-mentioned relay program of the present invention may improve redundancy by sequentially re-encoding the decoded packet unit data in the course of decoding the flow block.
[0038]
The relay program of the present invention may set an application and / or service level in a fixed-length data area of a packet.
[0039]
The relay program of the present invention transfers the packet data of each block of the flow to the relay device or the receiving unit located on the downstream side, sequentially decodes the packet data, and cannot completely decode the data. In such a case, data in a packet unit re-encoded by forward error correction is received from a transmitting unit or a relay device located on the upstream side and decoded by this data, and when the data can be completely decoded, the upstream The transmission of data from the transmitting unit or the relay device located on the side may be stopped.
[0040]
According to this relaying program, the functions and effects of the above-described relaying device are exhibited by causing the computer to execute this program.
[0041]
An autonomous error correction network according to the present invention is an autonomous error correction network including a transmission unit, a reception unit, and one or a plurality of relay devices provided at one or a plurality of connection points between networks. In the relay device, the necessity of the improvement of the redundancy is determined based on the service quality information of one or a plurality of networks located on the downstream side, and when the improvement of the redundancy is necessary, the forward error correction is performed. To improve data redundancy.
[0042]
According to this autonomous error correction network, the redundancy can be improved at the time of data relay, so that the transmission bandwidth can be effectively used in each network and the service level does not decrease.
[0043]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of a relay device, a relay program, and an autonomous error correction network according to the present invention will be described with reference to the drawings.
[0044]
The present invention provides a transmission unit, a network, and a data transmission method in which a redundancy level decreases during transmission in order to realize optimal transmission in consideration of a transmission band, delay time, and QoS in data transmission through a network. The redundancy is improved based on the QoS information of the downstream network in the relay device provided at the connection point of the receiving unit. Further, the present invention is based on applications and service levels in order to realize optimum transmission in accordance with service levels set in applications and service contracts or the like having different QoS requirements such as allowable delay and allowable pallet loss rate. To determine whether or not to perform FEC, determine the type of FEC, determine the redundancy level, and / or set the FEC parameters. In particular, in the present invention, in order to minimize the delay, the data received by the relay device is forwarded to the downstream side as it is and the data is decoded. The transmission unit on the side or the relay device transmits the encoded data corresponding to the shortage.
[0045]
In the present embodiment, there are two embodiments, and in the first embodiment, decoding and re-encoding by FEC for improving redundancy in the relay device are performed serially with relay of transmission data, and In the second embodiment, decoding for improving redundancy in the relay device and re-encoding by FEC are performed in parallel with transmission data relaying. In the present embodiment, an LT code is used as the FEC.
[0046]
First, a first embodiment will be described. The overall configuration of the network according to the first embodiment will be described with reference to FIG. FIG. 1 is a configuration diagram of the entire network according to the first embodiment.
[0047]
In the first embodiment, a streaming content is distributed from a transmission source 1 to a destination 2 via four networks 3, 4, 5, 6, and a connection point of the four networks 3, 4, 5, 6 The data is relayed by the relay devices 7, 8, and 9 provided in.
[0048]
The transmission source 1 is a provider that distributes content such as an ASP, and includes a distribution server (not shown) for distributing data via a network. Further, the transmission source 1 includes an FEC encoder 1a in the distribution server or separately. The transmission source 1 encodes the original data of the streaming content into FEC data by the FEC encoder 1a and distributes the FEC data in packet units. Incidentally, the transmission source 1 has a contract with the reception destination 2 (for example, an individual user), and in this contract, the service level (service type) of the content to be distributed from the transmission source 1, the type of the application, the distribution fee, and the like. Is set. As the service level, there are an error rate priority, a delay priority, and SLA (Service Level Agreement) information as shown in FIG.
[0049]
The FEC encoder 1a encodes the original data of the streaming content into FEC data at a predetermined redundancy level by the FEC using the LT code. The FEC data is divided into payloads of a packet, stored, and transmitted. The predetermined redundancy level is based on packet overhead (eg, 1086/1024), FEC overhead (eg, 1.05), and the maximum packet rate (1%) of network (S) 3 connected to source 1. Is set, for example, to about 15%. When transmitting streaming content of 0.3 Mbps at a redundancy level of 15%, a transmission band of 0.345 Mbps is required, but the effective bandwidth of the network (S) 3 of 0.5 Mbps can be sufficiently transmitted. Incidentally, the transmission source 1 does not need to consider the maximum packet rates of the networks 103, 104, and 105 as in the related art. The streaming content is composed of a large number of blocks, and each block is composed of a large number of packets.
[0050]
The configuration of the packet will be described with reference to FIG. 2A and 2B are explanatory diagrams of a packet, FIG. 2A is a diagram of a packet structure, and FIG. 2B is a data structure diagram of an IP header.
[0051]
The packet includes a fixed-length net header, an IP header, a UDP header, and a variable-length payload. FEC data is divided and stored in this payload. The IP header has a data configuration as shown in FIG. 2B, and the service type is stored in the second byte from the head of the IP header. Therefore, the service type of the streaming content can be determined by referring to the second byte 8-bit data of the IP head of each packet. Further, data indicating the type of the application (streaming content or the like) is stored in the net header or the UDP head, and it is possible to determine the type of the application by referring to the data of the net header or the UDP head. it can.
[0052]
With reference to FIG. 3, the FEC using the LT code performed by the FEC encoder 1a and the like will be described. The FEC using the LT code is also performed in the relay devices 7, 8, and 9.
[0053]
FIG. 3 shows an example in which there are ten pieces of input data a to h corresponding to the original data of the streaming content. In the FEC using the LT code, a random number is generated for each input data. Then, an equation (for example, aXORg in the case of the first row) is set by exclusive OR for each column as output data, and this equation becomes FEC data. Basically, if there are equations (output data) for the number of input data, the equations can be solved. However, in consideration of packet loss during data transmission through the network, the number of equations (output data) is increased (that is, the redundancy level is increased) from the number of input data. For example, if the redundancy level is 10%, 11 output data (equations) are generated for 10 input data. That is, even if 11 output data (FEC data) are transmitted from the transmission source and one output data (FEC data) is lost on the network, the equation is solved by the 10 output data (FEC data) at the reception destination. be able to.
[0054]
Returning to FIG. 1, the receiving destination 2 is an individual user or the like, and includes a personal computer (not shown) or the like for receiving data via a network. The receiving destination 2 includes an FEC decoder 2a and a streaming viewer 2b in a personal computer or separately. The destination 2 receives the FEC data in packet units and decodes the FEC data with the FEC decoder 2a. Then, the receiver 2 connects the decoded data in packet units by the streaming viewer 2b and reproduces the data as streaming content.
[0055]
The networks 3, 4, 5, and 6 are networks such as the Internet and an intranet, and each have QoS information. As shown in FIG. 4, the QoS information includes a packet loss rate, an effective band, an error rate, a delay, a maximum burst length, a jitter, and the like, and has different characteristics depending on the networks 3, 4, 5, and 6. For example, in the case of the maximum packet loss rate, it is 1% in the network (S) 3, 15% in the network (N-1) 4, 25% in the network (N) 5, and 1% in the network (D) 6. In the case of the effective band, the network (S) 3 has a transmission rate of 0.5 Mbps, the network (N-1) 4 has a transmission rate of 1000 Mbps, the network (N) 5 has a transmission rate of 100 Mbps, and the network (D) 6 has a transmission rate of 8 Mbps.
[0056]
The relay devices 7, 8, and 9 are devices that relay data between networks, and are, for example, routers, gateways, and the like provided in ISPs and the like. In particular, when the redundancy level of the received FEC data is reduced, the relay devices 7, 8, and 9 decode the received FEC data to increase the redundancy level and re-encode the decoded data. To the downstream side. For this purpose, the relay devices 7, 8, 9 include packet switches 7a, 8a, 9a, FEC decoders 7b, 8b, 9b, buffer memories 7c, 8c, 9c, and FEC encoders 7d, 8d, 9d. Incidentally, the components of the relay devices 7, 8, 9 may be configured by hardware, or may be configured by software by executing a dedicated program on a computer. Since the FEC relay devices 7, 8, and 9 have the same configuration, only the relay device (n) 8 will be described in detail here.
[0057]
The relay device (n) 8 receives the FEC data in packet units from the network (N-1) 4 and takes into consideration the protocol of the network (N) 5 and the like via the network (N) 5 in consideration of the relay device (n + 1). 9, the FEC data is transmitted in packet units. Also, the relay device (n) 8 monitors the redundancy level of the received FEC data, and if the redundancy level is reduced, the relay device (n + 1) 9 may have insufficient redundancy. Decodes and re-encodes the received FEC data to increase the redundancy level.
[0058]
The packet switch 8a checks the redundancy level of the received FEC data. Then, based on the redundancy level of the received FEC data and the QoS information (packet loss rate, etc.) of the downstream network (N) 5, the packet switch 8a converts the received FEC data as it is in the network (N) 5 Upon transmission, it is determined whether or not the redundancy is insufficient in the relay device (n + 1) 9. When it is determined that the redundancy is not insufficient, the packet switch 8a determines not to perform the FEC, and transmits the received FEC data as it is to the relay device (n + 1) 9 via the network (N) 5 in packet units. On the other hand, if it is determined that the redundancy is insufficient, the packet switch 8a determines to perform FEC, and sends the received FEC data to the FEC decoder 8b. The packet switch 8a may determine whether or not the redundancy is insufficient at the destination 2 in consideration of not only the network (N) 5 but also the QoS information of the downstream network (N + I). .
[0059]
The FEC decoder 8b decodes the FEC data in packet units and decodes it into the original data of the streaming content. Then, the FEC decoder 8b temporarily stores the original data in the buffer memory 8c.
[0060]
The FEC encoder 8d sets FEC parameters. Then, the FEC encoder 8d re-encodes the original data temporarily stored in the buffer memory 8c into FEC data by the FEC based on the LT code based on the set FEC parameters. Then, the FEC encoder 8d sends the re-encoded FEC data to the packet switch 8a in packet units, and sends the FEC data in packet units to the relay device (n + 1) 9 via the downstream network (N) 5 from the packet switch 8a. Send In this encoding, after all the packets of the block have been decoded, the block may be decoded in units of blocks, or the blocks may be sequentially re-encoded in units of packets in the course of decoding.
[0061]
With reference to FIG. 4, a method of setting FEC parameters will be described. FIG. 4 is an explanatory diagram of FEC parameters.
[0062]
The FEC parameter is a parameter required when performing encoding by FEC, and includes an assumed maximum packet loss (redundancy level), a target packet reproduction error rate, an FEC overhead, a block length, a packet length, and the like. These FEC parameters include the redundancy level of the received FEC data, the packet header information of the received FEC data, the QoS information of the downstream network, and the resource information of the devices (source, destination, and relay device) of the entire network. And the received information of the downstream relay device (n + i).
[0063]
The packet header information includes error rate priority, delay priority, SLA information, and the like as service level information, and streaming content, telephone, interactive game, and the like as application types. By considering the service level information, the FEC parameter is set so as not to be lower than the set service level. By considering the application type, the FEC parameter is set so as to satisfy the QoS required by each application such as a delay-sensitive application and a packet loss-sensitive application. Incidentally, since the service level information and the application type are set in the fixed length area of the packet, it can be recognized at high speed.
[0064]
The QoS information of the downstream network includes a packet loss rate, an effective bandwidth, an error rate, a delay, a maximum burst length, a jitter, and the like. For example, if the redundancy level of the received FEC data is low, the redundancy level becomes less than 0% at the downstream relay device or the receiving destination due to the packet loss rate of the downstream network (the redundancy is insufficient). If it can be predicted that the FEC parameter will be set, the FEC parameter is set so as to increase the redundancy level. At this time, the FEC parameter is set within a range where the transmission band of the transmission data does not exceed the effective band of the downstream network.
[0065]
The resource information of the device includes a utilization rate of a CPU [Central Processing Unit], a free memory, and the like. Over the entire network, the FEC parameters are set so that decoding and re-encoding are performed in a device having a sufficient computing capacity of the CPU or a device having a sufficient memory.
[0066]
The reception information of the downstream relay device includes a reception packet rate or packet sufficiency information, a delay, a buffer memory, and the like. The FEC parameter is set in consideration of reception information of the downstream relay device such as whether a packet loss occurs on the downstream side or whether the delay time is long.
[0067]
The operation of the relay device (n) 8 will be described with reference to FIGS. As a premise, the source 1 encodes 0.3 Mbps streaming content into FEC data, and transmits FEC data in packet units over the network (S) 3. Then, the FEC data in packet units is received by the relay device (n-1) 7 via the network (S) 3. The relay device (n-1) 7 determines whether or not to perform the FEC based on the redundancy level of the FEC data in packet units, the QoS information of the network (N-1) 4, and the like, and does not perform the FEC. The received packet unit FEC data is transmitted to the relay device (n) 8 via the network (N-1) 4 as it is, and when the FEC is performed, the received packet unit FEC data is decoded and re-transmitted. The FEC data coded to improve the redundancy is transmitted to the relay device (n) 8 via the network (N-1) 4. Then, the FEC data in packet units is received by the relay device (n) 8.
[0068]
The relay device (n) 8 checks the redundancy level of the received FEC data in packet units, and determines whether or not to perform the FEC based on the redundancy level and the QoS information of the network (N) 5. . For example, when the redundancy level of the FEC data in packet units is reduced to 5%, since the maximum packet loss rate of the network (N) 5 is 25%, a packet loss occurs in the network (N) 5. In the relay device (n-1) 9, the redundancy level is reduced to less than 0%. In such a case, the relay device (n) 8 performs the FEC to improve the redundancy.
[0069]
When it is determined that the FEC is not performed, the relay device (n) 8 transmits the received FEC data in packet units to the relay device (n + 1) 9 via the network (N) 5 as it is.
[0070]
On the other hand, if it is determined that the FEC is to be performed, the relay device (n) 8 decodes the received FEC data in packet units. Further, the relay device (n) 8 sets FEC parameters based on the QoS information of the network (N) 5, applications, service levels, and the like (see FIG. 4). For example, since the maximum packet loss rate of the network (N) 5 is 25%, a redundancy level of about 30% is set. Then, the relay device (n) 8 re-encodes the decoded data into FEC data by the FEC using the LT code based on the set FEC parameters. Subsequently, the relay device (n) 8 transmits the re-encoded FEC data in packet units to the relay device (n + 1) 9 via the network (N) 5.
[0071]
Thereafter, the FEC data in packet units is received by the relay device (n + 1) 9 via the network (N) 5. The relay device (n + 1) 9 determines whether or not to perform the FEC based on the redundancy level of the FEC data in packet units, the QoS information of the network (D) 6, and the like. The FEC data in packet units is transmitted to the destination 2 via the network (D) 6 as it is, and when FEC is performed, the received FEC data in packet units is decoded and re-encoded to improve the redundancy. The data is transmitted to the destination 2 via the network (D) 6. Then, the FEC data in the packet unit is received by the destination 2. The receiving destination 2 sequentially decodes the received FEC data in packet units and reproduces it as streaming content. In this decoding, since the redundancy is improved in the relay devices 7, 8, and 9, errors such as occurrence of lost packets and macroblock errors do not occur in the streaming content.
[0072]
According to the relay devices 7, 8, and 9, since the redundancy can be improved in the middle of the entire network, there is no need to set a large redundancy level in the transmission source 1 in consideration of the QoS information of the entire network. The transmission band of transmission data can be suppressed. Further, according to the relay devices 7, 8, and 9, since the redundancy is improved in consideration of the QoS information of the downstream network, the FEC data can be completely decoded into the original data at the reception destination 2.
[0073]
Further, according to the relay devices 7, 8, and 9, since the FEC parameters are set according to the application and the service level, the application can be transmitted while satisfying the QoS required by each application, and the service level is also improved. Can be maintained.
[0074]
Next, a second embodiment will be described. The overall configuration of the network according to the second embodiment will be described with reference to FIG. FIG. 5 is a configuration diagram of the entire network according to the second embodiment. In the second embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and description thereof is omitted.
[0075]
In the second embodiment, a streaming content is distributed from a transmission source 1 to a destination 2 via four networks 3, 4, 5, and 6, and connection points of the four networks 3, 4, 5, and 6 are connected. The data is relayed by the relay devices 17, 18, and 19 provided in.
[0076]
The relay devices 17, 18, and 19 are devices that relay data between networks, and are, for example, routers, gateways, and the like provided in ISPs and the like. In particular, the relay devices 17, 18, and 19 transfer the received FEC data in packet units as they are to the downstream relay devices 18, 19 or the receiving destination 2, and simultaneously decode the received FEC data in packet units. If the FEC data cannot be completely decoded in the relay devices 17, 18, and 19 (or the receiving device 2), the upstream relay devices 17, 18, and 19 or the transmission device are used to compensate for the insufficient redundancy. FEC data in packet units encoded from element 1 is transmitted. Then, in the relay devices 17, 18, 19 (or the destination 2), if the FEC data in the packet unit received by the transmission is completely decoded, the upstream relay devices 17, 18, 19 or the source 1 Stop sending from. Further, the relay devices 17, 18, 19 (or the transmission source 1) decode the decoded data in order to transmit the encoded FEC data in packet units to the downstream relay devices 17, 18, 19 or the reception destination 2. Re-encode. For this purpose, the relay devices 17, 18, and 19 include packet copies 17a, 18a, and 19a, FEC decoders 17b, 18b, and 19b, buffer memories 17c, 18c, and 19c, and FEC encoders 17d, 18d, and 19d. Incidentally, the components of the relay devices 17, 18, and 19 may be configured by hardware, or may be configured by software by executing a dedicated program on a computer. Since the FEC relay devices 17, 18, and 19 have the same configuration, only the relay device (n) 18 will be described in detail here.
[0077]
The relay device (n) 18 receives the FEC data in packet units from the network (N-1) 4 and takes the FEC data in packet units as it is in the network (N) in consideration of the protocol of the network (N) 5 and the like. 5 to the relay device (n) 19. At the same time, the relay device (n) 18 decodes the received FEC data. If the relay device (n) 18 cannot completely decode the received FEC data, the relay device (n) 18 receives the re-encoded FEC data transmitted from the upstream relay device (n-1) 17, and re-codes the re-encoded FEC data. The FEC data is completely decoded based on the converted FEC data. When the FEC data can be completely decoded, the relay device (n) 18 stops the transmission from the relay device (n-1) 17. Further, in order to cope with a case where the FEC data cannot be completely decoded in the downstream relay device (n + 1) 19, the relay device (n) 18 re-encodes the decoded data, and The FEC data is transmitted to the downstream relay device (n + 1) 19. Then, the relay device (n) 18 stops the transmission of the FEC data and also stops the decoding and the re-encoding in response to the transmission stop request from the downstream relay device (n + 1) 19.
[0078]
In the packet copy 18a, when the FEC data in packet units is received from the network (N-1) 4, the FEC data in packet units is transmitted as it is to the relay device (n + 1) 19 via the network (N), and the FEC decoder Send to 18b.
[0079]
The FEC decoder 18b decodes the FEC data in packet units and decodes it into the original data of the streaming content. Then, the FEC decoder 18b temporarily stores the original data in the buffer memory 18c. Further, the FEC decoder 18b determines whether or not the FEC data has been 100% decoded to the original data. When 100% of the original data cannot be decoded, the FEC decoder 18b requests the upstream relay device (n-1) 17 to transmit the FEC data re-encoded by the relay device (n-1) 17. Submit the request. Then, the FEC decoder 18b decodes the re-encoded FEC data from the relay device (n-1) 17 until 100% decoding into the original data is possible. At this time, the same re-encoded FEC data is repeatedly transmitted from the relay device (n-1) 17. On the other hand, if 100% decoding can be performed on the original data, the FEC decoder 18b transmits the FEC data re-encoded by the relay device (n-1) 17 to the upstream relay device (n-1) 17. The transmission stop request to stop is transmitted, and the decoding is ended.
[0080]
Upon receiving the transmission request from the downstream relay device (n + 1) 19, the FEC encoder 18d converts the original data temporarily stored in the buffer memory 18c into FEC data by the FEC using the LT code based on the set FEC parameters. Re-encode. At this time, the FEC encoder 18d sets the FEC parameters. The setting method of the FEC parameters is the same as in the first embodiment. Then, the FEC encoder 18d sends the re-encoded FEC data to the packet copy 18a in packet units, and sends the re-encoded FEC data to the relay device (n + 1) 19 via the downstream network (N) 5 from the packet copy 18a. The unit transmits the FEC data. At this time, the FEC encoder 18d repeatedly transmits the same packet-unit FEC data until the transmission stop request is transmitted from the relay device (n + 1) 19. When receiving the transmission stop request from the downstream relay device (n + 1) 19, the FEC encoder 18d deletes the decoded data temporarily stored in the buffer memory 18c and ends the re-encoding. In some cases, the FEC encoder 18d performs encoding without changing the redundancy level.
[0081]
Note that, in the second embodiment, the transmission source 1 and the reception destination 2 also perform the following processing in addition to the processing of the first embodiment. The transmission source 1 repeatedly transmits FEC data in packet units in response to a transmission request from the relay device (n-1) 17, and stops transmission in response to a transmission stop request. In the case where the FEC data cannot be completely decoded into the original data, the reception destination 2 transmits a transmission request to the relay device (n + 1) 19 to have the re-encoded FEC data transmitted in packet units, When the original data can be completely decoded by the re-encoded FEC data, a transmission stop request is transmitted to the relay device (n + 1) 19.
[0082]
The operation of the relay device (n) 18 will be described with reference to FIG. As a premise, the source 1 encodes streaming content of 0.3 Mbps into FEC data, and transmits FEC data in packet units over the network (S) 3. Then, the FEC data in packet units is received by the relay device (n−1) 17 via the network (S) 3. The relay device (n-1) 17 transmits the FEC data in packet units to the relay device (n) 18 via the network (N-1) 4 as it is. Further, the relay device (n-1) 17 decodes the FEC data in packet units, re-codes the decoded data in response to a transmission request from the relay device (n) 18, and re-codes the re-coded FEC data. The data is transmitted to the relay device (n) 18 via the network (N-1) 4. Then, the FEC data in packet units and the re-encoded FEC data are received by the relay device (n) 18.
[0083]
When receiving the FEC data in packet units, the relay device (n) 18 transmits the FEC data in packet units to the relay device 19 via the network (N) 5 as it is, and decodes the FEC data in packet units.
[0084]
Then, the relay device (n) 18 determines whether or not the FEC data has been completely decoded into the original data. If it is determined that the data cannot be completely decoded, the relay device (n) 18 transmits a transmission request for transmitting the re-encoded FEC data to the relay device (n-1) 17, and completes the original data. The decoding is performed using the re-encoded FEC data from the relay device (n-1) 17 until decoding can be performed. On the other hand, when it is determined that the decoding has been completed completely, the relay device (n) 18 transmits a transmission stop request to stop the transmission of the re-encoded FEC data to the relay device (n-1) 17, and performs decoding. End the conversion.
[0085]
Further, when receiving the transmission request from the relay device (n + 1) 19, the relay device (n) 18 re-encodes the data decoded by the FEC using the LT code into the FEC data. Then, the relay device (n) 18 transmits the re-encoded FEC data to the relay device (n + 1) 19 via the network (N) 5 in packet units. Further, upon receiving the transmission stop request from the relay device (n + 1) 19, the relay device (n) 18 deletes the decoded data temporarily stored in the buffer memory 18c and ends the re-encoding.
[0086]
Thereafter, the FEC data in packet units and the FEC data re-encoded according to the request from the relay device (n + 1) 19 are received by the relay device (n + 1) 19 via the network (N) 5. The relay device (n + 1) 19 transmits the FEC data in packet units to the destination 2 via the network (D) 6 as it is. Further, the relay device (n + 1) 19 decodes the FEC data in packet units, re-encodes the decoded data in response to a transmission request from the reception destination 2, and transmits the re-encoded FEC data to the network (D ) 6 to the destination 2. Then, the FEC data in the packet unit and the re-encoded FEC data are received by the reception destination 2. The receiver 2 sequentially decodes the received FEC data in packet units. If the FEC data cannot be completely decoded with this FEC data, the FEC data is decoded using the re-encoded FEC data. Then, the receiving destination 2 reproduces the decrypted data as streaming content. In this decoding, since the FEC data is completely decoded in the relay devices 17, 18, and 19 to improve the redundancy, errors such as occurrence of a lost packet and a macro block error do not occur in the streaming content.
[0087]
According to the relay devices 17, 18, and 19, since the FEC data is directly transferred downstream and the FEC data is decoded, the delay can be minimized. Further, in the relay devices 17, 18, and 19, the FEC data re-encoded from the upstream is supplemented until the FEC data can be decoded to 100% of the original data, so that the FEC data can be decoded to 100% of the original data. At destination 2, 100% decryption can be performed on the original data. Therefore, it is not necessary for the source 1 to set the redundancy level in consideration of the QoS information of the entire network, and the transmission band of the transmission data can be suppressed.
[0088]
As described above, the embodiments according to the present invention have been described, but the present invention is not limited to the above embodiments, but may be embodied in various forms.
[0089]
For example, in this embodiment, the present invention is applied to a case where streaming contents are distributed from an ISP or the like to an individual or the like. However, in the case of an individual and an individual, communication is performed via various networks in the case of a telephone or a competitive game as an application. Applicable to
[0090]
Further, in the present embodiment, the processing according to the present invention is performed in all the relay devices on the network, but the processing according to the present invention may be performed in some of the relay devices on the network, Even when processing is performed in all of the above relay devices, a configuration may be adopted in which a relay device having sufficient processing capacity performs processing with priority.
[0091]
In this embodiment, the LT code is used as the FEC. However, another FEC such as a Hamming code, a BCH code, a Reed-Solomon code, and a tornado code may be used.
[0092]
Also, although the present embodiment has been described with reference to a single path from the transmission source to the reception destination, the present invention is also applicable to a case where the relay device or the reception source branches to a plurality of paths (networks). The optimum route is also determined based on the QoS information of each branching route (network).
[0093]
In this embodiment, the service level (service type) is set in the IP header. However, the service level (service type) may be set in another fixed-length data area such as a UDP header, or the header may have another data configuration. .
[0094]
Further, although the QoS information of the network is directly used in the present embodiment, secondary information such as four arithmetic operations on arbitrary information of the QoS information may be used.
[0095]
【The invention's effect】
The present invention can improve the redundancy based on the service quality information of the downstream network at the time of relaying between networks, even if the redundancy decreases in the middle of a network that transmits data. Therefore, data can be transmitted with a small degree of redundancy, so that the use efficiency of the transmission band of the network is improved and the transmission time can be shortened. Further, since the packet loss can be eliminated or minimized as much as possible, QoS and End-to-End can be improved. Service levels also improve.
[0096]
Further, since the present invention determines the necessity of implementing FEC or determines the type of FEC according to the application and / or service level, the redundancy is determined by the FEC according to the QoS required for various applications. It can be improved and service levels can be met.
[0097]
Also, the present invention efficiently re-transmits transmission data to original data and sequentially re-encodes transmitted data by sequentially re-encoding data in units of pallets partially decoded during the decoding of an arbitrary block. Data with improved redundancy can be re-encoded.
[0098]
Further, according to the present invention, even when 100% of the original data cannot be decoded by the transferred data due to a packet loss or the like, the FEC-received packet is received from the transmission unit or the relay device located on the upstream side. Thus, the original data can be 100% decoded. At this time, since the data transfer and the compounding and re-encoding of the data are performed in parallel, the delay can be minimized.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an entire network according to a first embodiment of the present invention.
FIGS. 2A and 2B are explanatory diagrams of a packet according to the embodiment of the present invention, wherein FIG. 2A is a diagram illustrating the configuration of a packet, and FIG. 2B is a diagram illustrating the data configuration of an IP header.
FIG. 3 is a conceptual diagram of an FEC LT code.
FIG. 4 is an explanatory diagram of FEC parameters according to the embodiment of the present invention.
FIG. 5 is a configuration diagram of an entire network according to a second embodiment of the present invention.
FIG. 6 is a configuration diagram of an entire conventional network.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Transmission source, 1a ... FEC encoder, 2 ... Reception destination, 2a ... FEC decoder, 2b ... Streaming viewer, 3, 4, 5, 6 ... Network, 7, 8, 9, 17, 18, 18, 19 ... Relay device, 7a, 8a, 9a: Packet switch, 7b, 8b, 9b, 17b, 18b, 19b: FEC decoder, 7c, 8c, 9c, 17c, 18c, 19c: Buffer memory, 7d, 8d, 9d, 17d, 18d, 19d ... FEC encoder, 17a, 18a, 19a ... Packet copy

Claims (15)

送信部から受信部にデータを送信する際に利用される1つ又は複数のネットワーク相互の接続点に設けられている中継装置であって、
前記中継装置の下流側に位置する1つ又は複数のネットワークのサービス品質情報又はサービス品質情報の二次情報に基づいて、データの冗長度の改善の要否並びに冗長度レベルを決定する決定手段と、
データの冗長度を改善する冗長度改善手段と、
を備えることを特徴とする中継装置。
A relay device provided at a connection point between one or more networks used when transmitting data from a transmission unit to a reception unit,
Determining means for determining whether data redundancy needs to be improved and a redundancy level based on service quality information or secondary information of service quality information of one or more networks located downstream of the relay device; ,
Redundancy improving means for improving data redundancy;
A relay device comprising:
フロー毎のアプリケーション及び/又はサービスレベルに応じて、順方向誤り訂正の実施の要否の決定、順方向誤り訂正の種類の決定、冗長度レベルの決定及び/又は順方向誤り訂正のパラメータの設定を行うことを特徴とする請求項1に記載する中継装置。Determination of necessity of performing forward error correction, determination of type of forward error correction, determination of redundancy level, and / or setting of forward error correction parameters according to the application and / or service level for each flow The relay device according to claim 1, wherein フローのブロック毎に復号化及び再符号化を連続的に実施することによって冗長度を改善することを特徴とする請求項1又は請求項2に記載する中継装置。3. The relay device according to claim 1, wherein redundancy is improved by continuously performing decoding and re-encoding for each block of the flow. 上流側に位置する送信部又は中継装置から順方向誤り訂正が施されたパケットを追加送信させることによって冗長度を改善することを特徴とする請求項1又は請求項2に記載する中継装置。3. The relay device according to claim 1, wherein redundancy is improved by additionally transmitting a packet subjected to forward error correction from a transmitter or a relay device located on the upstream side. 4. フローのブロックに対する復号化の途中で、該途中の復号化したパケット単位のデータを順次再符号化することによって冗長度を改善することを特徴とする請求項1又は請求項2に記載する中継装置。3. The relay device according to claim 1 or 2, wherein, during decoding of a block of the flow, the redundancy is improved by sequentially re-encoding the data in the unit of a packet decoded during the decoding. . パケットの固定長のデータ領域にアプリケーション及び/又はサービスレベルを設定することを特徴とする請求項2乃至請求項5のいずれか1項に記載する中継装置。The relay device according to any one of claims 2 to 5, wherein an application and / or service level is set in a fixed-length data area of the packet. フローの各ブロックのパケット単位のデータを下流側に位置する中継装置又は受信部に転送するとともに該パケット単位のデータを順次復号化し、データを完全に復号化できない場合には上流側に位置する送信部又は中継装置から順方向誤り訂正によって再符号化されたパケット単位のデータを受信してこのデータにより復号化し、データを完全に復号化できた場合には上流側に位置する送信部又は中継装置からのデータの送信を中止させることを特徴とする請求項4に記載する中継装置。The packet unit data of each block of the flow is transferred to the relay device or the receiving unit located on the downstream side, and the packet unit data is sequentially decoded. If the data cannot be completely decoded, the transmission unit located on the upstream side is transmitted. Receiving data in packet units re-encoded by forward error correction from a unit or a relay device and decoding the data, and if the data can be completely decoded, a transmitting unit or a relay device located on the upstream side 5. The relay device according to claim 4, wherein the transmission of data from the relay device is stopped. 送信部から受信部にデータを送信する際に利用される1つ又は複数のネットワーク相互の接続点に設けられている中継装置で実行される中継用プログラムであって、
コンピュータに、
前記中継装置の下流側に位置する1つ又は複数のネットワークのサービス品質情報又はサービス品質情報の二次情報に基づいて、データの冗長度の改善の要否並びに冗長度レベルを決定する決定手段と、
データの冗長度を改善する冗長度改善手段と、
して機能させることを特徴とする中継用プログラム。
A relay program executed by a relay device provided at one or more connection points between networks used when transmitting data from a transmission unit to a reception unit,
On the computer,
Determining means for determining whether data redundancy needs to be improved and a redundancy level based on service quality information or secondary information of service quality information of one or more networks located downstream of the relay device; ,
Redundancy improving means for improving data redundancy;
A relay program characterized by functioning as a relay.
フロー毎のアプリケーション及び/又はサービスレベルに応じて、順方向誤り訂正の実施の要否の決定、順方向誤り訂正の種類の決定、冗長度レベルの決定及び/又は順方向誤り訂正のパラメータの設定を行うことを特徴とする請求項8に記載する中継用プログラム。Determination of necessity of performing forward error correction, determination of type of forward error correction, determination of redundancy level, and / or setting of forward error correction parameters according to the application and / or service level for each flow The relay program according to claim 8, wherein: フローのブロック毎に復号化及び再符号化を連続的に実施することによって冗長度を改善することを特徴とする請求項8又は請求項9に記載する中継用プログラム。The relay program according to claim 8 or 9, wherein the redundancy is improved by continuously performing decoding and re-encoding for each block of the flow. 上流側に位置する送信部又は中継装置から順方向誤り訂正が施されたパケットを追加送信させることによって冗長度を改善することを特徴とする請求項8又は請求項9に記載する中継用プログラム。10. The non-transitory computer-readable storage medium according to claim 8, wherein redundancy is improved by additionally transmitting a packet subjected to forward error correction from a transmission unit or a relay device located on an upstream side. フローのブロックに対する復号化の途中で、該途中の復号化したパケット単位のデータを順次再符号化することによって冗長度を改善することを特徴とする請求項8又は請求項9に記載する中継用プログラム。10. The relay according to claim 8 or 9, wherein, during decoding of a block of the flow, the redundancy is improved by sequentially re-encoding the decoded packet unit data in the middle. program. パケットの固定長のデータ領域にアプリケーション及び/又はサービスレベルを設定することを特徴とする請求項9乃至請求項12のいずれか1項に記載する中継用プログラム。The relay program according to any one of claims 9 to 12, wherein an application and / or service level is set in a fixed-length data area of a packet. フローの各ブロックのパケット単位のデータを下流側に位置する中継装置又は受信部に転送するとともに該パケット単位のデータを順次復号化し、データを完全に復号化できない場合には上流側に位置する送信部又は中継装置から順方向誤り訂正によって再符号化されたパケット単位のデータを受信してこのデータにより復号化し、データを完全に復号化できた場合には上流側に位置する送信部又は中継装置からのデータの送信を中止させることを特徴とする請求項11に記載する中継用プログラム。The packet unit data of each block of the flow is transferred to the relay device or the receiving unit located on the downstream side, and the packet unit data is sequentially decoded. If the data cannot be completely decoded, the transmission unit located on the upstream side is transmitted. Receiving data in packet units re-encoded by forward error correction from a unit or a relay device and decoding the data, and if the data can be completely decoded, a transmitting unit or a relay device located on the upstream side 12. The relay program according to claim 11, wherein transmission of data from the relay is stopped. 送信部、受信部、及び、1つ又は複数のネットワーク相互の接続点に設けられている1つ又は複数の中継装置からなる自律型誤り訂正ネットワークであって、
前記中継装置において、下流側に位置する1つ又は複数のネットワークのサービス品質情報に基づいて冗長度の改善の要否を決定し、冗長度の改善が必要な場合には順方向の誤り訂正によりデータの冗長度を改善することを特徴とする自律型誤り訂正ネットワーク。
A transmission unit, a reception unit, and an autonomous error correction network including one or more relay devices provided at one or more network connection points,
In the relay device, the necessity of the improvement of the redundancy is determined based on the service quality information of one or more networks located on the downstream side. An autonomous error correction network characterized by improving data redundancy.
JP2002167692A 2002-06-07 2002-06-07 Repeating device, repeating program, and autonomous error correction network Pending JP2004015551A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002167692A JP2004015551A (en) 2002-06-07 2002-06-07 Repeating device, repeating program, and autonomous error correction network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002167692A JP2004015551A (en) 2002-06-07 2002-06-07 Repeating device, repeating program, and autonomous error correction network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007234339A Division JP4577341B2 (en) 2007-09-10 2007-09-10 Relay device and autonomous error correction network

Publications (1)

Publication Number Publication Date
JP2004015551A true JP2004015551A (en) 2004-01-15

Family

ID=30434863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002167692A Pending JP2004015551A (en) 2002-06-07 2002-06-07 Repeating device, repeating program, and autonomous error correction network

Country Status (1)

Country Link
JP (1) JP2004015551A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005086436A1 (en) * 2004-03-03 2005-09-15 Mitsubishi Denki Kabushiki Kaisha Packet transfer method, packet transfer network system, and terminal device
WO2006106841A1 (en) * 2005-03-31 2006-10-12 Mitsubishi Denki Kabushiki Kaisha Error correction encoder
JP2006325113A (en) * 2005-05-20 2006-11-30 Nhk Engineering Services Inc Packet relay device, contents transmission device and reproduction device, packet relay program and packet relaying method
WO2008139882A1 (en) * 2007-05-08 2008-11-20 Nec Corporation Communication system, communication method, and program
JP2009521833A (en) * 2005-12-22 2009-06-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Network processing node and packet processing method
JP2011234415A (en) * 2004-05-19 2011-11-17 Agere Systems Inc System and method for increasing range or bandwidth of wireless digital communication network
JP2012513689A (en) * 2008-07-25 2012-06-14 ノーテル ネットワークス リミテッド Multi-segment loss protection
JP2014225900A (en) * 2008-12-23 2014-12-04 ロックスター コンソーシアム ユーエス エルピーRockstar Consortium Us Lp Multi-segment loss protection
JP2015529044A (en) * 2012-07-17 2015-10-01 サムスン エレクトロニクス カンパニー リミテッド Method and apparatus for distributing transfer characteristic information of multimedia data
JP2016027698A (en) * 2014-06-27 2016-02-18 日本電信電話株式会社 Data transfer system, relay node, and data transfer method
JP2017135665A (en) * 2016-01-29 2017-08-03 日本電信電話株式会社 Data transfer system
WO2021060406A1 (en) * 2019-09-26 2021-04-01 日本電気株式会社 Transmission-side relay device, system, method, and non-transitory computer-readable medium

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005086436A1 (en) * 2004-03-03 2005-09-15 Mitsubishi Denki Kabushiki Kaisha Packet transfer method, packet transfer network system, and terminal device
JP2011234415A (en) * 2004-05-19 2011-11-17 Agere Systems Inc System and method for increasing range or bandwidth of wireless digital communication network
WO2006106841A1 (en) * 2005-03-31 2006-10-12 Mitsubishi Denki Kabushiki Kaisha Error correction encoder
US8122324B2 (en) 2005-03-31 2012-02-21 Mitsubishi Electric Corporation Error correction coding apparatus
JP2006325113A (en) * 2005-05-20 2006-11-30 Nhk Engineering Services Inc Packet relay device, contents transmission device and reproduction device, packet relay program and packet relaying method
JP4580278B2 (en) * 2005-05-20 2010-11-10 財団法人エヌエイチケイエンジニアリングサービス Packet relay device, content transmission device, packet relay program, and packet relay method
JP2009521833A (en) * 2005-12-22 2009-06-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Network processing node and packet processing method
US8315238B2 (en) 2005-12-22 2012-11-20 Telefonaktiebolaget L M Ericsson (Publ) Network processing node and method for manipulating packets
WO2008139882A1 (en) * 2007-05-08 2008-11-20 Nec Corporation Communication system, communication method, and program
JP2012513689A (en) * 2008-07-25 2012-06-14 ノーテル ネットワークス リミテッド Multi-segment loss protection
JP2014225900A (en) * 2008-12-23 2014-12-04 ロックスター コンソーシアム ユーエス エルピーRockstar Consortium Us Lp Multi-segment loss protection
JP2015529044A (en) * 2012-07-17 2015-10-01 サムスン エレクトロニクス カンパニー リミテッド Method and apparatus for distributing transfer characteristic information of multimedia data
US10135666B2 (en) 2012-07-17 2018-11-20 Samsung Electronics Co., Ltd. Apparatus and method for delivering transport characteristics of multimedia data
US10728082B2 (en) 2012-07-17 2020-07-28 Samsung Electronics Co., Ltd. Apparatus and method for delivering transport characteristics of multimedia data
US11528315B2 (en) 2012-07-17 2022-12-13 Samsung Electronics Co., Ltd. Apparatus and method for delivering transport characteristics of multimedia data
JP2016027698A (en) * 2014-06-27 2016-02-18 日本電信電話株式会社 Data transfer system, relay node, and data transfer method
JP2017135665A (en) * 2016-01-29 2017-08-03 日本電信電話株式会社 Data transfer system
WO2021060406A1 (en) * 2019-09-26 2021-04-01 日本電気株式会社 Transmission-side relay device, system, method, and non-transitory computer-readable medium
JP2021052353A (en) * 2019-09-26 2021-04-01 日本電気株式会社 Sender relay device, system, method, and program
EP4037269A4 (en) * 2019-09-26 2022-10-19 NEC Corporation Transmission-side relay device, system, method, and non-transitory computer-readable medium

Similar Documents

Publication Publication Date Title
US9537611B2 (en) Method and apparatus for improving the performance of TCP and other network protocols in a communications network using proxy servers
Subramanian et al. OverQoS: An Overlay Based Architecture for Enhancing Internet QoS.
Apostolopoulos et al. Path diversity for enhanced media streaming
JP7292411B2 (en) Data stream transmission method and device
JP2007504694A (en) Congestion control based on transmission rate for packet networks
Li et al. A framework for qualitative communications using big packet protocol
Liang et al. TCP-RTM: Using TCP for real time multimedia applications
Darabkh et al. Improving UDP performance using intermediate QoD‐aware hop system for wired/wireless multimedia communication systems
JP2004015551A (en) Repeating device, repeating program, and autonomous error correction network
JP4737615B2 (en) Apparatus for connecting between a first network and a second network and a method for transmitting a stream of packets transferred in multipoint mode by the apparatus
Han et al. {RPT}: Re-architecting Loss Protection for {Content-Aware} Networks
JP4577341B2 (en) Relay device and autonomous error correction network
US20090313673A1 (en) Method and System for Protecting MPEG Frames During Transmission Within An Internet Protocol (IP) Network
JP5169226B2 (en) Relay device and program
Becke et al. Alternative transmission strategies for multipath transport of multimedia streams over wireless networks
Afzal et al. System design options for video broadcasting over wireless networks.
JP2006067075A (en) Method and system for data transmission/reception
Liu et al. Network coding for p2p live media streaming
Hayasaka et al. An efficient loss recovery scheme for on-demand video streaming over the internet
Ngo et al. Error spreading: Reducing bursty errors in continuous media streaming
Nguyen et al. Internet media streaming using network coding and path diversity
Hayasaka et al. Peer-to-peer multimedia streaming with guaranteed QoS for future real-time applications
Cui et al. Joint source-network coding optimization for video streaming over wireless multi-hop networks
Brennan et al. Split-layer video multicast protocol: A new receiver-based rate-adaptation protocol
Prins et al. Fast rtp retransmission for iptv-implementation and evaluation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050606

A977 Report on retrieval

Effective date: 20070115

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070326

A02 Decision of refusal

Effective date: 20070710

Free format text: JAPANESE INTERMEDIATE CODE: A02

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910