JP2013526098A - スループットの高速化を達成するためのシステム及び方法 - Google Patents

スループットの高速化を達成するためのシステム及び方法 Download PDF

Info

Publication number
JP2013526098A
JP2013526098A JP2012555533A JP2012555533A JP2013526098A JP 2013526098 A JP2013526098 A JP 2013526098A JP 2012555533 A JP2012555533 A JP 2012555533A JP 2012555533 A JP2012555533 A JP 2012555533A JP 2013526098 A JP2013526098 A JP 2013526098A
Authority
JP
Japan
Prior art keywords
encoding
component
encoded
data
endpoint
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
JP2012555533A
Other languages
English (en)
Other versions
JP2013526098A5 (ja
Inventor
ウィリアムズ,マシュー・アール
ヴェムラパリ,モハン・クリシュナ
Original Assignee
ライブクオス・インコーポレーテッド
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 ライブクオス・インコーポレーテッド filed Critical ライブクオス・インコーポレーテッド
Publication of JP2013526098A publication Critical patent/JP2013526098A/ja
Publication of JP2013526098A5 publication Critical patent/JP2013526098A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0835One way packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

符号化チャネルを介して2つのエンドポイント間でデータを転送するシステム及び方法を開示する。送信元ネットワークからのデータ伝送単位(データ単位)を、エンドポイント間に論理的に配置された符号化コンポーネントで受ける。これら第1データ単位が第2データ単位に細分化されて、転送ネットワークを介して宛先ネットワークへ伝送される。符号化された又は余剰第2データ単位も伝送され、それによりたとえ第2データ単位がいくつか損失しても元の第1データ単位を再作成できるようにする。これらの符号化された第2データ単位は、伝送された第2データ単位の単なるコピー、パリティの第2データ単位、又は消失訂正符号を用いて符号化された第2データ単位であり得る。受側エンドポイントで第2データ単位を受けて、それらを用いて元の第1データ単位を再作成する。

Description

関連する出願に対する相互参照
[0001]この出願は、2008年8月18日付出願の米国特許出願第12/193,345号の一部継続出願であり、これは2004年8月6日付出願の米国特許出願第10/912,200号の一部継続出願であって現在は2010年6月22日付発行の米国特許第7,742,501号になっているもので、その出願の内容全体を参照によってここに援用する。
[0002]本発明は、通信データネットワークに関する。より詳細には、本発明は、転送ネットワークの末端部からみて、転送ネットワークを介したデータ伝送のスループットを増大させるためのシステム及び方法に関する。
[0003]全てではないがほとんどの転送ネットワークはパケットベースのネットワークであり、このようなネットワークではデータストリームはより小さいパケットのデータにセグメント化されてから、第1送信元ネットワークすなわちエンドポイントから第3宛先ネットワークすなわちエンドポイントへ、第2転送ネットワークを介して伝送される。しかし、輻湊及び他のネットワークの制限により、全てのパケットが宛先ネットワークに首尾よく到着するとは限らない。送信元及び宛先ネットワークにとって重要なことは、転送ネットワークの性能である。転送ネットワークは、理想的にはエンドネットワークのアプリケーションから見て損失パケットのない完璧なものでなければならない。しかし、このような性能も、高性能の転送ネットワークを借りるのに通常かかる費用よりも安価で利用できなければ好まれないであろう。
[0004]したがって、低コストの通信転送ネットワークとともに用いることができて、エンドネットワークアプリケーションからみて高性能な転送ネットワークを提供できるシステム及び方法が必要である。
[0005]上述の状況に対処するためのアプローチが試みられている。あるアプローチでは、損失及び待ち時間に対する応答を向上するために、カスタムプロトコルスタックがエンドポイントでインストールされる。しかし、このアプローチは、双方のエンドネットワークが同じカスタムプロトコルに従って通信することを要求し、これには大規模な再プログラミングが要求されることが通常である。
[0006]別のアプローチはネットワーク要素を用いるもので、ネットワーク要素が標準プロトコルをインターセプトし、プロトコル応答をファーエンド要素に代わって送出する。そして、インターセプトしているネットワーク要素間でカスタムプロトコルが用いられる。このアプローチはTCP/IPアプリケーションに限定され、特にネットワーク問題のトラブルシューティングに関して複雑度を増すことにもなる。
[0007]第1態様では、信頼できないネットワークを介したデータ通信の速度を上げる方法が提供される。この方法は、通信の2つのエンドポイントのそれぞれに関連付けされた符号化コンポーネントを提供するステップと、エンドポイント間の通信セッションのために符号化コンポーネント間に符号化チャネルを確立するステップと、通信に関係する複数のデータパケットを符号化コンポーネントの1つでインターセプトするステップと、複数のデータパケットのそれぞれをセグメント化及びパッケージ化して、セグメント化及びパッケージ化されたデータパケットを提供するステップであって、セグメント化及びパッケージ化されたデータパケットは、符号化コンポーネントの他方へ伝送するために、少なくとも1つの符号化データセグメントと少なくとも1つの余剰符号化セグメントとを有する、ステップと、セグメント化及びパッケージ化されたデータパケットを、符号化コンポーネントの一方で記憶するステップと、セグメント化及びパッケージ化されたデータパケットを、所定条件を満たすときに符号化チャネルを介して符号化コンポーネントの他方へ伝送するステップと、符号化コンポーネントの他方で、受けた符号化データセグメント及び受けた余剰符号化セグメントに基づいて、複数のデータパケットを復号及び再構築するステップと、再構築されたデータパケットを符号化コンポーネントの他方からその個々のエンドポイントへ伝送するステップ、とを含む。
[0008]所定条件はタイマーの終了であることがあり、タイマーは例えば複数のデータパケットの個々の1つがインターセプトされるときに起動することができる。所定条件は、リアルタイム性のデータを含むパケットのインターセプトや、所定数のセグメント化及びパッケージ化されたデータパケットの記憶であってもよい。
[0009]複数のデータパケットの符号化データセグメント及び少なくとも1つの余剰符号化セグメントは、それらの順序を維持するようにしてインターリーブ及び伝送することが可能である。例えば、パッケージ化及びセグメント化されたデータパケットを、順序正しくそれぞれのサイズにしたがって記憶することができ、パッケージ化及びセグメント化された各データパケットからのセグメントを順に伝送することができる。あるいは、複数のデータパケットの各々の符号化データセグメント及び少なくとも1つの余剰符号化セグメントは、ランダムな順序で伝送される。
[0010]この方法はさらに、符号化データセグメントの1つを符号化コンポーネントの他方で所定期間内に受けなかった場合、例えば、所与のデータパケットの第1符号化データセグメントを受けたときに設定されるタイマーが終了したときに、又は、リングバッファを参照することにより、符号化データセグメントの1つが失われたと判定するステップを含むことができる。後者の場合、リングバッファは紛失した符号化データセグメントのシーケンス番号を追跡して、リングバッファが循環して所与の符号化データセグメントのシーケンス番号へ戻ったとき、所与の符号化データセグメントが失われたと判定することができる。この方法はさらに、所与のセグメント化及びパッケージ化されたデータパケットからの所定数の符号化データセグメントが失われたと判定されたときに、複数のデータパケットからの符号化データセグメントをインターリーブするステップを含むことができる。
[0011]データパケットをセグメント化及びパッケージ化するステップは、データパケットをn個の符号化データセグメントにセグメント化及びパッケージ化するステップを含むことができ、ここでn>1である。この場合、nはデータパケットのサイズに基づいて動的に調節することができる。例えば、nは、符号化データセグメントのサイズが所定の最大転送単位のサイズを超過しないようにして選択することができる。
[0012]さらなる態様では、信頼できないネットワークを介したデータ通信の速度を上げる方法が提供される。この方法は、2つのエンドポイント間の通信セッションのために、第1符号化コンポーネントと第2符号化コンポーネントとの間に符号化チャネルを確立するステップを含み、この確立するステップは、第1符号化コンポーネントで、2つのエンドポイントの第1のものから発されて2つのエンドポイントの他方へ向かうメッセージを検出するステップと、他方のエンドポイントへ向かうマークされたメッセージを作成するステップであって、このマークされたメッセージはあるマークをもち、このあるマークは、第1エンドポイントがデータパケットを両方の符号化コンポーネントに既知のプロトコルに従ってセグメント化及び符号化することが可能であることを示し、上記あるマークは複数の使用可能なマークから選択されたものである、ステップと、マークされたメッセージを他方のエンドポイントへ転送するステップと、マークされたメッセージへの応答を第2符号化コンポーネントから受けるステップと、符号化コンポーネント間に通信チャネルを確立するために制御メッセージを交換するステップと、により行われるステップであり、この方法はさらに、第1及び第2符号化コンポーネントの一方で、通信に関係するデータパケットをインターセプトするステップと、データパケットをセグメント化及びパッケージ化して、第1及び第2符号化コンポーネントの他方へ伝送するために符号化データセグメントを提供するステップと、符号化データセグメント及び少なくとも1つの余剰符号化セグメントを、符号化チャネルを介して第1及び第2符号化コンポーネントの他方へ伝送するステップと、受けた符号化データセグメントに基づいて、第1及び第2符号化コンポーネントの他方でデータパケットを復号及び再構築するステップと、再構築したデータパケットを第1及び第2符号化コンポーネントの他方からその個々のエンドポイントへ伝送するステップとを含む。
[0013]この態様によれば、符号化チャネルを確立するステップはさらに、通信セッションを一意に識別する情報を記憶するステップを含むことができる。マークのアイデンティフィケーションは、符号化コンポーネント間の後続する通信セッションで使用するために記憶することができる。所定時間内に返信を受けない場合は、さらなるマークを複数の使用可能なマークから選択することにより、さらなるマークされたメッセージを作成することができる。複数の使用可能なマークのいずれについても返信を受けない場合は、ネットワークマネージャは、第2エンドポイントは、第1エンドポイントとの通信の速度を上げることができないことを告げられる。
[0014]この方法はさらに、符号化データパケットが所定のタイムアウト期間内に伝送されなければテアダウン状態に入るステップを含むことができる。テアダウン状態中、新しく受けたデータパケットはセグメント化及びパッケージ化されない。符号化コンポーネントはさらに、アクティブでない期間中にキープアライブメッセージを伝送することができる。エンドポイントの1つをマスターエンドポイントとして指定することもでき、そしてこの方法はマスターエンドポイントをさらに含むことができ、マスターエンドポイントは、符号化チャネルのテアダウンが示されたかを判定する。例えば、マスターエンドポイントは、所定期間内に新しいデータパケットを受けなかった場合に、テアダウンが示されたと判定することができる。
[0015]第1及び第2符号化コンポーネントは、他の符号化コンポーネントに優先することができる。これらが優先される場合、この方法はさらに、第1符号化コンポーネントで、マークされたパケットを第1及び第2符号化コンポーネント以外の符号化コンポーネントから受けるステップと、マークされたパケットからマーキングを除去して、第1符号化コンポーネントと第2符号化コンポーネントとの間に符号化チャネルを確立することにより優先を主張するステップとを含むことができる。第1及び第2符号化コンポーネントはさらに、特定の符号化コンポーネントから受けるマークされたパケットを無視し、マークされたパケットを透過的に伝送するように構成することができる。
[0016]さらなる態様では、信頼できないネットワークにおいて2つのエンドポイント間のデータ通信の速度を上げるように、データを符号化するための符号化レートを設定する方法が提供され、2つのエンドポイントはそれぞれ、個々に符号化コンポーネントと関連付けされており、この方法は、エンドポイント間の通信セッションのために、符号化コンポーネント間に符号化チャネルを確立するステップと、通信に関係するデータパケットを、符号化コンポーネントの一方でインターセプトするステップと、データパケットをセグメント化及びパッケージ化して、符号化コンポーネントの他方へ伝送するための符号化データセグメントを提供するステップと、符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、符号化チャネルを介して符号化コンポーネントの他方へ伝送するステップと、符号化コンポーネントの他方で、受けた符号化データセグメントに基づいてデータパケットを復号及び再構築するステップと、再構築したデータパケットを符号化コンポーネントの他方からその個々のエンドポイントへ伝送するステップと、その通信セッションのために重み付け損失比率を計算するステップと、符号化レートを、重み付け損失比率に基づいて調節するステップとを含む。この重み付けされた比率を計算するステップは、例えば、先行する通信セッションの平均損失比率に従って又は再送要求に従って、重み付けされた比率を計算するステップを含む。
[0017]この方法はさらに、重み付け損失比率に従って現在の損失レベルを計算するステップを含むことができる。重み付け損失比率を正規化することもできる。現在の損失レベルは、例えば制御チャネルを介して、又は符号化データセグメントの1つのヘッダ部で、符号化コンポーネントの他方へ通信することができる。ヘッダ部はさらに、所望のレベルの保護を識別することができ、所望レベルの保護は、ネットワークポリシーに従って構成された損失目標に従って判定することが可能である。
[0018]本発明の他の態様及び特徴は、以下の本発明の特定の実施形態の記載及び添付図面を見れば、当業者には明らかであろう。
本発明が実施され得る環境のブロック図である。 図1で用いられるサーバのコンポーネントを示すブロック図である。 図1で用いられる別のサーバのコンポーネントを示すブロック図である。 本発明の実施形態によるバーストモードの例を示す。 本発明の実施形態によるマルチレベルのバーストモードの例を示す。 第1データ単位を受けてそれらを転送ネットワークへ伝送するために第2データ単位へ変換するときに実行されるステップを示すフロー図である。 転送ネットワークから第2データ単位を受けてそれらをエンドネットワークへ伝送するために第1データ単位に変換するときに実行されるステップを示すフロー図である。 本発明の実施形態による、例示的なシステム及び接続交渉プロトコルを示す。 本発明の実施形態による、複数の符号化コンポーネントをもつネットワークの例を示す。 本発明による、パケットの一般的なセグメント化及び符号化を示す。 本発明の実施形態による、パケットの例示的なセグメント化及び符号化を示す。 本発明の実施形態による、損失を評価するための第1のアルゴリズム例を示す。 本発明の実施形態による、平均損失を考慮した実施形態の例を示す。
[0033]図1を参照すると、本発明が実施され得る環境のブロック図が示されている。第1エンドポイント10は、ネットワーク20を介して第2エンドポイント30と通信する。第1エンドポイント10とネットワーク20とは、符号/復号化コンポーネント40を介して通信し、ネットワーク20は、符号/復号化コンポーネント50を介して第2エンドポイント30と通信する。符号/復号化コンポーネント40及び50を以降では符号化コンポーネントと称し、これらはエンドポイント又は中間装置(サーバ等)に存在し得る。第1エンドポイント10及び第2エンドポイント30は端末であることがあり、端末は、モデム、ローカル若しくは広域ネットワークを介して接続されたパーソナルコンピュータ、又はネットワーク20へアクセスできる他の装置又はシステム等である。ネットワーク20は、例えば、インターネット又は他の通信ネットワークであり得る。
[0034]本明細書において、データ単位は、ネットワークを介してデータをデジタルに伝送するために使用できる任意のデータの単位である。このようなデータ単位は、パケット、セル、フレーム、又は任意の別の単位の形をとることができ、データがその単位内にカプセル化されるか、又はペイロードとして搬送されていればよい。データ単位という用語は、特定のプロトコル、規格、又は伝送方式を実装する任意の全てのパケット及びフレームへ適用可能である。典型的には、ルーティング、制御、及び識別の情報を搬送するヘッダが、データペイロードへ追加される。
[0035]本システムは、ネットワーク20の不測の変動からエンドポイントを分離する手段を提供する。符号化コンポーネント40及び50にはエンドポイント10及び30をネットワーク20から分離する手段が提供され、この手段は符号化コンポーネント40及び50がデータ単位の符号化及び復号を処理してネットワーク20を介してそれらを伝送することによるものである。エンドポイント10及び30は、任意のプロトコルを用いて通信することができ、符号化コンポーネント40及び50も任意のプロトコルを用いて通信することができる。符号化コンポーネント40及び50は、あるプロトコルでエンドポイント10及び30から元のデータ単位を受けて元のデータ単位を符号化し、符号化は、元のデータ単位を好ましくはより小さいデータ単位に細分し、データ単位のいくつかが転送ネットワークを介した伝送で失われた場合に元のデータ単位を再作成又は再構成するために使用できる余剰データ単位を作成し、細分化されたデータ単位と余剰データ単位を転送ネットワークを介して伝送する前に、それらを考慮中のプロトコルに従って再パッケージ化することにより行われる。
[0036]転送ネットワーク20を介して伝送されたデータ単位を、ファーエンドポイントと関連付けされた符号化コンポーネントが受けると、発側エンドポイントからの元のデータ単位が再作成又は再構成される。この再作成又は再構成は、受けたデータ単位を必要に応じて並び替えることと、いくつかのデータ単位が伝送中に失われた場合は、余剰データ単位を用いて紛失したデータ単位を再作成することとにより行われる。受けた余剰データ単位が、元のデータ単位を再作成するには不十分である場合は、受側の符号化コンポーネントが、すでに送出されたデータ単位の再送をオプションで要求することができる。
[0037]説明し易いように、エンドポイントから発されたデータ単位又はエンドポイントで受けたデータ単位は、第1データ単位又はパケットと称するものとし、これを第1タイプのデータ単位とする。転送ネットワークを介して伝送されたデータ単位及び転送ネットワークから受けたデータ単位の一方又は双方は、第2データ単位又はセグメントと称するものとし、これを第2タイプのデータ単位とする。第2データ単位は、符号化データ単位とも称する。
[0038]図2は、本発明を符号化コンポーネント40内に実装するために必要なモジュール及びモジュールの個々のデータフローの例示的な実施形態を示す。モジュールは、1つの装置内にあるか、又はいくつかの装置に分散してもよい。見ればわかるように、符号化コンポーネント40は、第1インターフェース60、第2インターフェース70、再構築モジュール80、及びセグメント化モジュール90を含む。第1インターフェース60は、第1データ単位をエンドポイント10へ送出し、第1データ単位をエンドポイント10から受ける。サーバ40の第2インターフェース70は、第2データ単位を転送ネットワーク20へ送出し、第2データ単位を転送ネットワーク20から受ける。
[0039]再構築モジュール80は、第2データ単位を第2インターフェース70から受けて第1データ単位を生成し、第1インターフェース60を経由して第1ネットワーク10へ伝送できるようにする。一方、セグメント化モジュール90は、第1データ単位を第1インターフェース60から受けて第2データ単位を生成し、第2インターフェース70を経由して転送ネットワーク20へ伝送できるようにする。
[0040]第2データ単位は、転送ネットワークを介して伝送されると、他方のエンドポイントの符号化コンポーネントで受け取られる。これを説明するために、図3は符号化コンポーネント50のモジュール及びデータフローの例示的な実施形態を示しており、符号化コンポーネント50は転送ネットワーク及びエンドポイント30と通信している。
[0041]符号化コンポーネント50のモジュールは、符号化コンポーネント40のモジュールと同じであり、すなわち同じ機能を有している。符号化コンポーネント50の第2インターフェース70Aも、転送ネットワークと通信して第2データ単位の送出及び受取を行う。第1インターフェース60Aもエンドポイント(この場合はエンドポイント30)と通信して第1データ単位の送出及び受取を行う。再構築モジュール80Aは第2データ単位を受けて第1データ単位を生成し、セグメント化モジュール90Aは第1データ単位を受けて第2データ単位を生成する。
[0042]上述したように、第1データ単位はエンドネットワークで使用されるデータ単位であり、第2データ単位は、転送ネットワーク及び符号化コンポーネント40、50で互いにデータの伝送をやり取りするときに使用されるものである。第2データ単位は、第1データ単位から得られる。第1データ単位のペイロードは、より小さな単位に分割されて、より小さな単位のそれぞれが、第2データ単位のペイロードになり得る。そのため、各第2データ単位は、該第2データ単位が得られた元の第1データ単位よりも小さくなり得る。例えば、10kBの第1データ単位を5つの2kBの単位へ細分化してもよい。これらが5つの第2データ単位のペイロードになることができ、それぞれ10kBよりも小さいものになることができる。第2データ単位を第1データ単位から作成するこの機能は、セグメント化モジュール90、90Aにより達成される。
[0043]第2データ単位が得られた元の第1データ単位の再作成を補助するために、セグメント化モジュールはさらに、余剰第2データ単位を作成する。これらの余剰第2データ単位は、第1及び第2データ単位から得られる。余剰第2データ単位は、1又は複数の第2データ単位が転送ネットワークを介した伝送中に失われた場合に、再構築モジュール80、80Aが元の第1データ単位を再作成又は再構築するのを補助する。
[0044]余剰第2データ単位は、多くの形をとることができる。おそらく最も単純な実施形態では、余剰第2データ単位は、すでに送出された第2データ単位のうちで選択されたものの単なるコピーである。例えば、第1データ単位が4つの第2データ単位(例えば、DU1、DU2、DU3、DU4)に分割又はセグメント化されれば、余剰第2データ単位はDU2及びDU3のコピーであってもよい。したがって、DU2又はDU3が伝送中に失われた場合も、元の第1データ単位は依然として再作成が可能である。重複している第2データ単位の数及びアイデンティフィケーションは、あらかじめ決めておくか、又はシステムアドミニストレータの裁量に任せることができる。重複している第2データ単位をより多く含むことによりシステムにより冗長性をもたせること、又はその逆を行い冗長性を低減することが可能であり、これはネットワーク20の損失の実際の損失又は予想される損失に依存して行うことができる。最も単純な場合では、第2データ単位を全て重複させて、基本的に、第2データ単位のコピーがそれぞれ2つずつ宛先符号化コンポーネントへ送出されるようにすることができる。
[0045]パリティデータ単位を第2余剰データ単位として用いることもできる。当該分野で既知であるように、パリティデータ単位は、XOR関数を用いて作成することができる。元の第1データ単位から作成されたさまざまな第2データ単位のビットをXOR処理してビット値を生じさせることができ、ビット値は余剰第2データ単位に記憶することができる。任意の1つの第2データ単位(余剰第2データ単位は除く)が伝送中に失われた場合、受けた他の第2データ単位及び余剰第2データ単位を用いて失われた第2データ単位を再作成することができる。受けた第2データ単位及び余剰第2データ単位にXOR関数を実行することで、紛失した第2データ単位が再作成される。
[0046]余剰第2データ単位は、別の消失訂正符号を用いて符号化することもできる。例えば、n個の第2データ単位がひとつの第1データ単位に対して生成される場合、m個の余剰第2データ単位を生成して、失われた第2データ単位を再作成できるようにしてもよい。上述したように、m個の余剰第2データ単位は「冗長」の第2データ単位とみなされ、単なる重複が用いられるのであればm≦nであり、完全な重複はm=nのときに達成される。しかし、消失訂正コードが用いられて、m=2であれば、任意の2つの第2データ単位が失われることがあっても、その失われた第2データ単位を再構築モジュールが依然として再構成できるよう、冗長情報を符号化することが可能である。周知の方法及び符号化技術、たとえばリードソロモン、前方消失訂正(Forward Erasure Correction)技術、ボース・チョードリ・オッカンガム(Bose−Chaudhuri−Hochquenghem:BCH)符号、及びその他数多くのものを使用することができる。
[0047]余剰第2データ単位は、いくつかの第2データ単位の損失であればその影響の中和を補助できるであろうが、あまりにも多くの第2データ単位を損失すると完全に補償することができない。したがって、閾値レベルを超えるある数の第2データ単位を損失すると、再構築モジュールに、第2データ単位のパッケージ又はグループの再送をオプションで要求させることができる。例えば、余剰第2データ単位がデータ単位の損失の25%を回復することができ、4つの第2データ単位が1つの第1データ単位から生成される場合、1つの第2データ単位の損失により再送要求がトリガされることはない。しかし、2つの第2データ単位が損失すれば(すなわち、50%損失)、再構築モジュールは再送を要求することになる。再送が可能である場合、再送閾値は、余剰又は冗長の第2データ単位に用いられたコーディングの誤り訂正能力又は損失訂正能力に理想的には関係する。再構築モジュールは、セグメント化された第1データ単位それぞれについて受けた第2データ単位の数を追跡することができ、これは再構築モジュールが、第2データ単位のペイロードを正しく配列することが必要になるためである。
[0048]上記からわかるように、再構築モジュール80及び80Aは、受けた第2データ単位を復号及び再構築して、元の第1データ単位を形成する。受けた第2データ単位及び余剰第2データ単位は、元の第1データ単位を再作成するのに十分な数を受けたかを判定するために追跡される。充分な数を受けていない場合は、オプションで再送が要求される。いくつかの第2データ単位が失われた場合は、再構築モジュールが紛失した第2データ単位を再作成又は再構成することができる。上述したように、この処理は、使用されるコーディング及び採用される全体的戦略に依存する。このような復号及び誤り訂正処理は当該分野に通じている者には周知である。
[0049]要求数の第2データ単位を受けると、それらのペイロードが抽出されて、第2データ単位が得られた元の第1データ単位を再生成するために用いられる。これは第2データ単位のペイロードを連結することで第1データ単位を再構成するのと同程度に簡単であり得る。しかし、上で述べたように、復号及び再構成の処理は元の第1データ単位をセグメント化又は分割するのに用いられた処理に依存する。元の第1データ単位が再構成されると、それを受側エンドポイントと通信する適切なインターフェースへ転送することができる。
[0050]セグメント化モジュールは、第1データ単位をセグメント化又は分割し、セグメントを第2データ単位へ「再パッケージ化」するタスクを実行する。セグメント化モジュールはさらに、上で述べたように余剰第2データ単位を符号化する。第2データ単位、これは第1データ単位から得られたもの及び余剰第2データ単位の双方である、がインターフェースモジュールへ伝えられ、インターフェースモジュールは転送ネットワークと通信する。オプションの第2データ単位の再送を促進するために、セグメント化モジュールはさらに、第2データ単位をバッファすることもできる。例えば、5つの第1データ単位が20の第2データ単位と5つの余剰第2データ単位とへセグメント化された場合、セグメント化モジュールは最後の3セットの第2データ単位をバッファすることができ、この最後の3セットの第2データ単位は、符号化された第1データ単位の最後の3つと対応する。したがって、12の第2データ単位と3つの余剰第2データ単位とが、セグメント化モジュールのよりバッファされることになる。
[0051]セグメント化モジュールはさらに、第2データ単位をインターリーブ方式で伝送するように構成し、セグメント化されたさまざまな第1データ単位にわたり複数の第2データ単位を失うリスクを分散する。したがって、第2データ単位のグループを、各グループがひとつの第1データ単位に対応するようにして順次送出するのではなく、さまざまな第1データ単位からの第2データ単位を、互いにインターリーブすることができる。図4は、インターリーブモードの例を示す。この例では、第1データ単位A、B及びCは、それぞれ第2データ単位A1、A2; B1、B2、B3; C1、C2、C3及びC4へセグメント化されるものとする。第2データ単位A2、B3、及びC4は余剰第2データ単位である。それぞれの第1データ単位に従いグループ化されたこれらの第2データ単位を送出するかわりに、これらをk個の第1データ単位のグループでインターリーブすることができる。図4の例ではk=3である。符号器はk個の第1データ単位に対応する第2データ単位をバッファ1303へ記憶する。あるいは、符号器は、所定の時間期間の間に到着するか、又は、時間的制約のある情報をもつパケットが(例えば、ディープパケットインスペクションにより)検出されるまでに到着するある数のパケットを記憶する。並び替えを回避するために、第2データ単位のセットは左へ並べられて、各第1データ単位の最後の第2データが最後尾にきて最後に送出され、各第1データ単位の最初の第2データ単位が先頭にきて初めに伝送されるようにする。符号化コンポーネントは、物理インターフェース1304上で、先頭のデータ単位を上から下の順番で伝送するか、又は同じ第1データ単位から生じた2つの連続する第2データ単位を送信することを最小限にする任意の順番で伝送する。図4の例では、第2データ単位は、C1、B1、C2、A1、B2、C3、A2、B3、C4の順番で送出されることになる。余剰第2データ単位は全て最後に送出することで遅延を最小化することができる。インターリーブはランダムに行うこともできる。インターリーブするデータ単位のグループは、インターフェースから伝送される第2データ単位を全て含むことができ、あるいはインターリーブグループは、同じアプリケーション(例えば、ビデオ会議の同じチャネル)、同じ宛先、又は事前に設定されたグルーピングの、第2データ単位を含むことができる。図5では、インターリーブされた第2データ単位のさまざまなインターリーブされたグループ1401、1402、1403をインターリーブすることにより、別のレベルのインターリーブを実現することができる。このようなインターリーブにより、データ単位を大幅に損失してもその影響を最小限に抑えることができ、採用されているコーディング及び戦略によっては、この種の損失は回復可能である。
[0052]符号化コンポーネント40及び50の一方に実装されるような、本発明に従う例示的な方法を図6に示す。処理は、ステップ100で第1データ単位を送信元エンドポイントから受けることで開始する。受けた後、次に第1データ単位が分割又はセグメント化され(ステップ110)、セグメントは第2データ単位にパッケージ化される(ステップ120)。第2データ単位が作成されると、余剰又は冗長の第2データ単位が符号化及び作成される(ステップ130)。第2データ単位は次にオプションでバッファされ(ステップ140)転送ネットワークへ伝送される(ステップ150)。この方法は次に結合子Aを経由してステップ100に戻る。再送が可能であれば、再送要求に対するチェックがオプションで非同期的に行われる(ステップ160)。再送要求を受けた場合、決定フローはステップ150へ戻り、要求された第2データ単位を伝送することができ、この要求された第2データ単位はオプションのステップ140ですでにバッファされているものである。
[0053]図7は、第2データ単位を転送ネットワークから受ける符号化コンポーネントによって実行されるステップの、例示的な実施形態を示す。処理はステップ180でサーバが第2データ単位を転送ネットワークから受けるときに開始する。次に決定190が、第2データ単位が得られた第1データ単位を再構成するために、第2データ単位を全て受けたかを判定する。第2データ単位を受ける符号化コンポーネントは、第2データ単位を所定時間の経過後も受けていない場合、及び所定数のより大きいシーケンス番号をもつ第2データ単位を受けた場合の一方又は双方の場合に、その第2データ単位が失われたと判定する。第2データ単位が失われたかを判定する別の技術は、リングバッファを用いて紛失した第2データ単位のシーケンス番号を追跡し、それが到着するのを待つものである。バッファが循環してまだ受けていない第2データ単位の上に戻ったとき、第2データ単位は失われたと判断される。第2データ単位を全て受けていれば、ステップ200で元の第1データ単位が再作成される。第1データ単位が再作成されると、再作成されたデータ単位は宛先エンドポイント(ステップ205)へ伝送され、制御フローは結合子Dを経由してステップ180へ戻る。
[0054]決定190に戻り、第2データ単位を全ては受けていなければ、余剰第2データ単位を受けたかを判定する決定が行われる(ステップ220)。余剰第2データ単位を受けていなければ、オプションで再送が要求される(ステップ230)。オプションの再送要求の後、制御フローは結合子Dを経由してステップ180へ戻る。余剰第2データ単位を受けていれば、決定240は、元の第1データ単位を再構成するのに十分な、余剰第2データ単位及び第2データ単位を受けたかを判定する。受けた数が不十分であれば、元のパケットはドロップされる可能性があり、又はオプションで、制御フローは結合子Cで示されるようにステップ230へ戻り再送を要求する可能性がある。充分な数の第2データ単位及び余剰第2データ単位を受けていれば、余剰第2データ単位を用いて紛失した第2データ単位を再作成又は再構成することができる(ステップ260)。結合子Bで次に制御フローはステップ200へ戻る。
[0055]本システム及び方法の動作を理解する助けとなるよう特定の実装例をいくつか挙げる。図8は、エンドポイントA及びBを有する例示的なシステムである。エンドポイントAは、符号化コンポーネント302を介して、ネットワーク300例えばインターネット、と通信する。エンドポイントBも符号化コンポーネント304を介してネットワーク300と通信する。符号化コンポーネント302及び304は、図2及図3に関係して説明したインターフェース、セグメント化モジュール及び再構築モジュールを含み、符号化コンポーネント全体をソフトウェアに実装してもよいし、あらかじめプログラムされたハードウェア装置、他の関連ソフトウェア、又はハードウェアとソフトウェアとを組み合わせたコンポーネントに実装してもよい。イーサネット、又は他の適宜の接続を用いて各エンドポイントをそれぞれの符号化コンポーネントへ接続することができる。
[0056]この例では、双方向通信がエンドポイントAとBとの間に生じ、エンドポイントAが通信を開始するものとする。考慮中の通信プロトコルを、エンドポイントA及びBはともに見ることができない。全ての機能性が符号化コンポーネント302及び304に存在するからである。エンドポイントAとBとの間のセッションを設定するために、かつエンドポイント双方が考慮中のプロトコルに従う通信を許可する符号化コンポーネントに関連付けされているかを判定するために、図8に示す接続交渉プロトコルを用いることができる。エンドポイントAが、エンドポイントBに向けてパケットPを送出する。パケットPとその宛先が符号化コンポーネント302により検出又は通知され(306)、符号化コンポーネント302は、その通信セッションを一意に識別する情報を記憶する。パケットPは符号化コンポーネント304によっても検出又は通知される(308)。符号化コンポーネント304は、そのパケットに関係する通信セッションを一意に識別する情報を記憶し(310)、そのパケットをエンドポイントBへ送出する。エンドポイントBが返信パケットRをエンドポイントAへ送出するとき、返信パケットRは符号化コンポーネント304によりインターセプトされ、すでに記憶されたその通信セッションを識別する情報と照合されて、マークされる(312)。その通信セッションを一意に識別する情報は、例えば、送信元IPアドレス、宛先IPアドレス、IPパケット内に含まれるプロトコル(例えば、UDP又はTCP)、並びに送信元ポート及び宛先ポートであり得る。イーサネットフレームについては、VLAN IDを用いることもできる。
[0057]マークされたパケットRを用いて、符号化コンポーネント302に、符号化コンポーネント304が本発明に従ってセグメント化及び符号化されたパケットの送出及び受取できることを信号で知らせる。パケットのマーキングは、例えば、パケットのIPヘッダにオプションを設定すること、及びIP識別フィールドを既知の値に設定すること、の一方又は双方からなり得る。伝送中、公衆ネットワーク300のルータ及び他の装置はIP識別フィールドを変更しないでおいてもよい。他の適宜のマーキング方式又は信号伝達方式、例えばIPアドレスフラグをタイムスタンプに設定する等、を用いることができるが、ただし、考慮中のプロトコルに従って通信することができない装置をなるべく破壊及び停止させないものを用いる。
[0058]次に符号化コンポーネント304がマークされたパケットRを、公衆ネットワーク300を介してエンドポイントAへ転送する。マークされたパケットRは符号化コンポーネント302により検出され、符号化コンポーネント302が、すでに記憶されているその通信セッションを一意に識別する情報を更新し(316)、パケットをエンドポイントAへ送出する。符号化コンポーネント302はパケットをエンドポイントAへ転送する前に、オプションでマークを除去することができる。エンドポイントAがエンドポイントB宛の別のパケットP2を送出するとき、符号化コンポーネント302は、パケットP2を、すでに記憶されているその通信セッションを一意に識別する情報と照合する(318)。考慮中のプロトコルに従って通信可能な符号化コンポーネントがエンドポイントBに与えられていると認識すると、符号化コンポーネント302はパケットP2の送出に加えて「ハロー」メッセージも送出する。
[0059]符号化コンポーネント302から「ハロー」メッセージを受けると、符号化コンポーネント304は、「ハロー」返信で応答する。すると符号化コンポーネント302は、返信肯定応答(「肯定応答」)を符号化コンポーネント304へ送出し、考慮中のプロトコルを用いてエンドポイントB宛のデータパケットのセグメント化及び符号化を開始する。コンポーネント304がコンポーネント302からの返信肯定応答を受けると、コンポーネント304もエンドポイントA宛のデータパケットのセグメント化及び符号化を開始して、すでに述べた第2データ単位を提供する。符号化コンポーネント302及び304間の符号化チャネルが、こうして首尾よく自動的に検出及び交渉される。符号化チャネルを用いて、データ及び制御情報をともに搬送することができる。考慮中のプロトコルを使用できる2つの符号化コンポーネント間で符号化チャネルの交渉が済めば、セグメント化メッセージ及び符号化メッセージの一方又は双方の送出及び受取が可能になる。
[0060]符号化コンポーネント304は、オプションで、さまざまなタイプの可能なマーキングテーブルを維持する。マークされたパケットRが、符号化コンポーネント302がマークを認識しないため、又はルータ又は経路上の他の装置がマークを除去したためのいずれかの理由で、符号化コンポーネント302により検出されない場合は、「ハロー」返信は符号化コンポーネント304へ返送されない。なんらかの所定遅延後、符号化コンポーネント304は、さまざまなタイプのマーキングテーブルのうちの違うタイプのマークで別のパケットRm2をマークし、この符号化コンポーネントは、符号化コンポーネント302が「ハロー」メッセージを送出してマークの受取を確認するまで、マークを変更し続けることができる。符号化コンポーネント304は、どのマークが別の符号化コンポーネントへ首尾よく到達したかを追跡して、今後またその符号化コンポーネントへの到達を試みるときには、そのマークを最初に使用することができる。全てのタイプのマークを用いてもチャネル確立の試みが失敗に終わった場合は、符号化コンポーネント304は、ネットワーク管理システム又はインターフェースに対し、所与の符号化コンポーネント302がマークを理解できないこと、又はネットワークに存在していないことを示すことができる。さらなる符号化ソフトウェアのインストールに優先度をつけるために、どのくらいの頻度で他方の符号化コンポーネント302が符号化チャネルの一部であったかに関して、符号化コンポーネント304又は外部システムにより統計を収集することができる。
[0061]符号化チャネルは、所定タイムアウト期間が経過するまでアクティブなままであり、所定タイムアウト期間中は、符号化コンポーネントは任意のさらなるパケットを受けることができない。そして、双方が符号化チャネルをテアダウン(tear down)する。通信チャネルの両端のタイマーは同期を取られていないので、エンドポイントは、所定タイムアウト期間後は「テアダウン」状態に入り得る。「テアダウン」状態中は、入って来るパケットは引き続き復号されるが、出て行くパケットは符号化されなくなる。「テアダウン」状態は所定期間又は符号化パケットを受けなくなるまでアクティブである。エンドポイントは、トラフィックがなくてもチャネルを存続させるために「キープアライブ」メッセージを送出することができる。所定期間トラフィックが送出されないと、その後キープアライブを停止することができ、チャネルは所定タイムアウト期間後にテアダウンされる。あるいは、エンドポイントの1つ(エンドポイントA又はエンドポイントBのいずれか)をマスターエンドポイントと指定して、マスターエンドポイントがテアダウンメッセージを送出することで、明示的にチャネルをテアダウンすることもできる。テアダウン通知を受けると、非マスターエンドポイントは、マスターエンドポイントからの入って来るパケットの復号を停止し、かつマスターエンドポイントへ向かうパケットの符号化を停止することができる。2つのエンドポイント間の符号化チャネルを交渉する他の方法も考えられる。例えば、符号化チャネルは、通信のエンドポイント間の既存の制御チャネルを介して交渉することができる。
[0062]エンドポイントとコンポーネント302及び304との通信は全て、確立された又は既存の通信チャネルを介して生じる。チャネルは、既知の通信プロトコルを実装することができ、既知の通信プロトコルは例えばユニバーサル・データグラム・プロトコル(UDP)や通信制御プロトコル(TCP)であり、ともにIPを介する。接続がUDP接続であれば、本発明に従うメッセージはUDPデータペイロードへ直接挿入される。
[0063]既存のTCP接続を介してデータを送出する場合は、元のTCPヘッダが各セグメントへ追加され、シーケンス番号が修正される。したがって、送信元ポート及び宛先ポートは同じままである。第1セグメントには、元のパケットのシーケンス番号が与えられるが、後続のセグメントには新しいシーケンス番号が提供される。考慮中の好適な実施形態では、符号化又は余剰セグメントは、その関連セグメントのひとつのシーケンス番号を再利用する。これにより、余剰セグメントは、再送パケットと同じ方法でファイアウォールを通過できるようになる。データオフセット及びチェックサムに変更はないが、フラグ、又は制御ビットは最初のセグメントを除く全てのセグメントで修正される。非セグメント化メッセージ(すなわち、制御メッセージ)については、修正されたTCPヘッダの直後に残りのメッセージバイトが続く。セグメント化されたメッセージについては、修正されたTCPヘッダにセグメントペイロードが続き、セグメントペイロードは、例えば、あるセグメントの識別やそのセグメントと他のセグメントとの関係を識別する、シリアル番号等の識別情報を提供して、元のパケットを再構築できるようにする。セグメントのデータペイロードが次に続く。
[0064]上述したようにマーク又は作成されたパケットは、ファイアウォール及びネットワークアドレス変換(NAT)変換器を問題なく通過することができる。事実上、符号化チャネルは、符号化コンポーネント302及び304間に制御チャネルを確立してパケットはどちらの端からも通ることができ、ファイアウォール又はNAT等任意の中間コンポーネントにより認識又は阻害されない。
[0065]ここで図9を参照すると、複数の符号化コンポーネント1001、1002、1003、1004が経路にある。本発明の一実施形態では、符号化は、符号化コンポーネント1002及び符号化コンポーネント1003間の最も内側の経路でのみ実行される。符号化コンポーネント1001は、優先される他の符号化コンポーネントの存在に気付かないので、上で述べたようにチャネルを確立するためにパケットをマークする。符号化コンポーネント1002は、優先されるように構成されているので、この情報を除去して符号化コンポーネント1003へのセッションを確立する。符号化コンポーネント1003は、符号化セッションを終了して、上述した復号を実行するように構成される。符号化チャネルは、内側の符号化コンポーネント1002、1003の間でアクティブになる。符号化コンポーネントは、優先的にネットワークの特定の部分又は経路が常に符号化されるように構成することができる。
[0066]符号化コンポーネントB1002及び符号化コンポーネントC1003は、特定の物理ポートから入ってくるマークを無視して透過的に搬送するように構成することができ、この場合、符号化コンポーネントA1001からD1004までの間の経路全体に符号化が存在する。符号化コンポーネントは、ネットワーク内の他の符号化コンポーネントのトポロジを学習することもでき、そしてネットワークポリシーに基づいて、特定の物理ポートに到着するマークに対し無視又は反応することができる。
[0067]本発明の実施形態によるパケットのセグメント化及び符号化を図10を参照して説明する。簡潔に述べるために、元のパケット及びセグメント化されたパケットからヘッダを省略する。元のデータペイロード400は、本発明による符号化コンポーネントで受ける。元のデータペイロードはxバイトを有し、n個のセグメント402へセグメント化される。xの整数因数としてnが選ばれた場合、示されているようにn個のセグメントのそれぞれがx/nバイトを有することになる。さらに、m個の追加的なセグメントが作成される。図10に示す例では、m=1であり追加的な又は余剰パケット404は、XOR関数をn個のセグメントの1つに適用することにより作成されたパリティセグメントである。符号化コンポーネントはパケットのサイズを考慮することができ、nを自動的に増大して、符号化ヘッダが第2データ単位に追加されたときにネットワークの最大転送単位(MTU)を超過するであろうサイズの第2データ単位の伝送を回避するようにできる。この能力は、ジャンボフレームを分割することにも役立ち、ジャンボフレームがそれを処理できないネットワークに入る前に分割することができる。
[0068]元のデータペイロード400を均一のセグメントに分割することが常に可能又は望ましいとは限らないことがある。例えば、nがxの因数ではない場合、確実に全てのセグメントの長さを等しくするためには最後のセグメントをパディングする必要があることがある。例えば、x=17でn=2の場合、x/nに最も近い整数値は9である。因数が4又は8であるセグメントサイズが一般に好まれ、したがってこの場合のセグメントサイズは、x/n以上で4の次の倍数(例えば、12バイト)が選択される。図11に示すように、元の17バイトデータペイロード410がセグメント化されたて2つの12バイトセグメントペイロード412及び414になる。セグメントペイロード412は、元のデータペイロード410の初めの12バイトを含み、セグメントペイロード414は、元のデータペイロード410の残りの5バイトを含み、オプションで12バイトにパッドアウトされる。さらなる余剰セグメント416がシーケンス内の最終セグメントを形成し、さらなる余剰セグメント416はセグメント412のパリティセグメントである。1つの元のパケット又はフレームに関係するセグメントは全て同じシリアル番号を有しており、受側の端でそれらを識別及び再構築できるようにされる。
[0069]符号化レートは、n及びm双方により求められる。符号化レートは、所定値(例えば、図11に示すようにn=2、m=1)に設定されてもよいし、又は観測及び報告の一方又は双方がなされたネットワーク性能に基づいて調節されてもよく、観測及び報告は所与のエンドポイントに関連付けされた符号化コンポーネントで終了する符号化チャネルの全てに関するものである。
[0070]図12を参照する。損失レベルの判定を、符号化コンポーネントA1106及び符号化コンポーネントB1107間の符号化チャネルに関係して述べる。より詳細には、符号化コンポーネントAから符号化コンポーネントB1110への方向のチャネルについて考察する。「損失なし」の状況では、符号化はn=1でm=0に設定されて、必要がなければネットワーク内の余剰帯域幅の使用を回避できるようにする。符号化コンポーネントB1107の受取処理1109は、時間単位Wのサイズの間隔期間(例えばW=8秒)で受けたパケット数Pと損失したパケット数LPをカウントする(1100)。あるいは、LPは、再送要求数を表すことができ、首尾よく回復した損失が損失比率の一部としてカウントされないようにできる。損失比率Lは、例えば次の比率を用いて計算することができる(1101)。
=LP/(P+LP) (1)
[0071]ランダムなイベントに反応することを避けるために、最後のz個の損失測定値に対して平均損失を計算することができる(1102)。最新のネットワーク状態を考慮するために、次式により加重平均を行い最新の測定値を重み付けすることができる。
Figure 2013526098
ここでWLは、間隔xにおける最新の損失測定値の加重平均を示す。重みwは、i<j<=xに対してw<wである。
[0072]多数の損失測定値を追跡することを避けるために、すでに重み付けされた損失を用いて新しい重み付け損失を評価することもできる。
Figure 2013526098
ここでwold及びwnewは重みであり、一般にwold<wnewになるように設定される。
[0073]オプションで、重み付け損失比率を正規化することができ(1103)整数のみを用いることでルックアップを簡素化することができる。正規化損失NLは、次式を用いて計算することができる。
Figure 2013526098
ここでNは正規化因数(例えば、N=10000)である。
[0074]次にNLを用いて損失レベルテーブル1104をインデクスし、現在の損失レベルを抽出できるようにする。以下に示すのは損失レベルテーブルの例であり、8つの損失レベルが提供されており、INT_maxは最大整数又は大きな値(例えば、10000)を表す。
Figure 2013526098
[0075]次に符号化コンポーネントB1107の送出処理1111が、そのセッションのために符号化コンポーネントA1106へ送出される各第2データ単位のヘッダに、現在の損失レベルを挿入する(1105)。符号化コンポーネントA1106の受取処理1112が、受けたパケットから現在の損失レベルを読み取る。そして受取処理1112は、新しいパラメータテーブルを現在の損失レベルでインデクスしてn及びMax_nの値が得られるようにする。Max_nは、現在の損失レベルを所与として設定されるべきnの値として最大のものを示す。アプリケーション要求及び許容範囲のオーバーヘッドに基づいてさまざまな損失目標を達成するために、複数の新しいパラメータテーブルを用いることができる。新しいパラメータテーブルの例として、8つの損失レベルを用いたものを以下に示す。
Figure 2013526098
[0076]ここでINT_maxは最大整数(無限大)を示す。符号化コンポーネントA1106の送出処理1108は、サイズsのパケットを符号化する前に、事前に構成されたパケットサイズテーブルをsでインデクスしてrec_nを得られるようにし、rec_nは、このパケットサイズを所与としたmの推奨値を表す。パケットサイズテーブルの例を以下に示す。
Figure 2013526098
[0077]このテーブルを用いると、s<88バイトのパケットはRec_n=1を返す。s>528バイトであれば、Rec_n=4である。パケットを符号化するために用いられるnの値は、n=min(Rec_n,Max_n)と求められる。
[0078]本発明の別の実施形態では、受取処理1109が、重み付け損失比率WLを、上述した式(2)又は(3)により計算する。オプションでこれを正規化して式(4)によりNLを計算することができる。正確な損失値(WL又はNL)は制御メッセージに入れて一定間隔(例えば、毎秒)で受取処理1112へ送出され、制御メッセージはそのセッションの符号化チャネルへ挿入されている。受取処理1112は、制御メッセージから正確な損失値を抽出する。送出側の符号化コンポーネント1108は、正確な損失値を用いて新しいパラメータテーブルをインデクスして、Max_n及びmを得られるようにする。
Figure 2013526098
[0079]nの値はn=min(Rec_n,Max_n)として得られる。複数の新しいパラメータテーブルは、さまざまな損失目標を反映するように構成することができ、送出処理1108は、アプリケーションの損失目標に基づいて適切なテーブルを使用する。現在の損失レベルではなく実際の損失率を送出することで、符号化側でパラメータテーブルを構成するだけでよくなり、したがってコンフィギュレーションを簡素化することができる。
[0080]本発明の別の実施形態の例を図13に示す。この実施形態では、符号化コンポーネントは、符号化パラメータを変更すべきかを判定するために、ネットワーク1201のどこで損失が発生しているかを推定し、ネットワーク1201は、例えばインターネット、プライベートネットワーク、又は仮想プライベートネットワークの組み合わせを含む。符号化コンポーネントA1202及び符号化コンポーネントD1203間の符号化セッション1204を用いてこの実施形態を説明し、より詳細にはA1202からD1203への方向のフローを考察する。
[0081]上に述べたように、符号化コンポーネントD1203の受取処理は、受けた各符号化フローの損失レベルを計算する。この例では、符号化コンポーネントD1203は、3つのフロー1204、1205、及び1206の損失レベルを計算し、3つのフロー1204、1205、及び1206はそれぞれ、符号化コンポーネントA1202、B1207、及びC1208から発されたものである。受側符号化コンポーネントは、フローの測定損失レベルを返すだけでなく、間隔期間xに送出されてきたf個のフローから、重み付け損失比率平均ALも計算する。
[0082]この間隔期間は、1つのフローの損失比率を計算するために用いた間隔期間と同じであってよい。平均損失比率は例えば、次式で計算することができる。
Figure 2013526098
[0083]ここでWLは上記の式(2)又は(3)により計算することができる。そしてALを式(4)により正規化して正規化平均損失比率NALを作成することができる。次にNALを損失レベルテーブルにインデクスして、ファーエンドの平均損失レベル(ALFE)が得られるようにする。損失レベルテーブルは上記のものと同じであってもよいし、さまざまな数を用いて事前に構成することもできる。ALFNは上述したように計算されたフロー毎の現在の損失レベルとともに、第2データ単位のパケットヘッダに追加され、第2データ単位のパケットヘッダは、符号化コンポーネントD1203の送出処理によりそれぞれの符号化コンポーネント1202、1207、1208へ伝送される。
[0084]全ての情報がパケットヘッダに含まれる場合は、送出側符号化コンポーネント1202、1207、1208はその情報を用いて自身の符号化レベルを変更すべきかを決定することができる。符号化コンポーネントA1202の受取処理はニアエンドの平均損失(ALNE)を計算することもでき、ニアエンドの平均損失(ALNE)は、測定期間xの間アクティブなg個の符号化セッション1211、1212、1204からの戻りチャネルで受けた現在の損失レベルの平均である。
Figure 2013526098
[0085]図12の例では、符号化コンポーネントAで計算されるALNEは、符号化コンポーネントD1203、符号化コンポーネントE1209、及び符号化コンポーネントF1210から受けた現在の損失レベルの平均を示す。
[0086]セッションの現在の損失レベルとALFEとの差が所定閾値より下であれば、上述したように現在の損失レベルを用いてm及びnを設定する。この場合、セッションは上流ネットワークを混雑させていないであろうと仮定され、これは現在の損失レベルが計算されたALFEよりも良い又は劣っていてもわずかであるためである。
[0087]現在の損失レベルとALFEとの差が所定閾値以上であり、なおかつ現在の損失レベルからALNEを差し引いたものが所定閾値以上である場合は、現在の損失レベルは無視されて、m及びnはパケットサイズテーブルのみに従い設定され、所与のパケットについて最も帯域幅効率の良い符号化方法を選ぶことにより帯域幅使用を最小に抑えられるようにする。さまざまな所定閾値を用いることができ、ネットワークポリシー及びトポロジに従い所定閾値を設定することができる。
[0088]損失レベルが所定インターリーブ閾値を超えると、送出側符号化コンポーネントはインターリーブモードへ切り替えてさらに損失を低減しようとする。損失レベルが別の閾値より下にあるときは、遅延を低減するためにインターリーブモードをオフにすることができる。あるいは、同じパケット内で所定数の第2データ単位が失われた頻度をカウントし続け、カウントが所定閾値を超えたときは、符号化コンポーネントはインターリーブモードへ切り替わる。所定時間の間カウントが所定閾値より下にあるときは、符号化コンポーネントは非インターリーブモードへ戻り遅延を低減できるようにする。
[0089]上述した例は、一般にエンドポイント間の双方向通信に関し、双方向通信では符号化チャネルの交渉が実行可能であり望ましくもある。しかし、本発明は、事実上一方向の又はストリーミングのアプリケーションにも用いてそれらの性能を高速化することができ、さらに、他のアプリケーションでも使用が可能であり、他のアプリケーションは、符号化コンポーネント間で接続を交渉することが実行不可能か又は反対に望ましくないようなものである。このようなアプリケーションでは、各エンドポイントに関連付けされた符号化コンポーネント間で交渉を行う必要がない。符号化チャネルは、呼信号メッセージを認識することにより確立され、それに続いてディープパケット分析により通信セッションに関係するメッセージを認識することができる。
[0090]例えば、本発明の符号/復号化コンポーネントを用いて、リアルタイム・ストリーミング・プロトコル(RTSP)のステートフルな特性を利用し、ストリーミングのために接続を設定又はモニタすることができる。RTSPコマンドのデフォルトポートはポート554である。したがって、本発明の符号化コンポーネントはパケットヘッダを分析して、パケットヘッダがRTSPデフォルトポートへ宛てられたものか又はRTSPデフォルトポートから発したものかを判定することができ、それによりRTSPパケットを識別することができる。RTSPメッセージが検出されると、メッセージが解析されて、SETUP要求、SETUP応答、TEARDOWN要求、又は一般的なRTSP応答を含むかを判定することができる。ユーザからのSETUP要求はメディアストリームURLと、RTPデータ(音声又は映像)を受けるためのローカルポートを含む。RTSPサーバ応答は、選択されたパラメータを確認して、サーバ側の選択ポートを提供する。RTSPサーバからの返信を解析することにより、符号化コンポーネントは、データストリームに割り当てられたRTSPセッションアイデンティフィケーション、メッセージのRTSPシーケンス番号、及びこのセッションのためにユーザ端末及びRTSPサーバにより割り当てられたRTPポートを判定することができる。このようにして、ストリーミングのための符号化チャネルが符号化コンポーネント間に設定される。次にクライアント及びサーバ間の後続のデータ単位を、例えばディープパケット分析により、分析することができる。ポートがSETUP返信に設定されたものと一致すれば、セグメント化及び符号化、又は復号及び再構築のためにメッセージをインターセプトすることができ、上述したように、符号化チャネルを設定するための交渉を行う必要はない。
[0091]同様に、H.323については、符号化コンポーネントはパケットのH.323呼が設定されていることを示すメッセージを分析することができる。例えば、符号化コンポーネントはH.225/Q.931呼設定メッセージ及びH.245交渉及び経路設定メッセージのうち一方又は双方を検出し、それに対してディープパケット分析を行うことで、関連H.323セッションに用いられることになる着呼側データポート及び発呼側データポートを識別できるようにする。次に考慮中のプロトコルに従う符号化チャネルを、上に述べたようにデータフローをインターセプト及び符号化できるように設定することができる。
[0092]所与のセッションのコンテキスト内で、さまざまなストリームをさまざまな損失目標に従い扱うことができる。DPIを用いてアプリケーションのタイプを検出し、そのタイプのアプリケーションのために構成されたネットワークポリシーに従い損失目標を設定することができる。最終的には、各パケットは、ヘッダに提供された情報に基づいて自身の損失目標を有することができ、この情報は必要な保護レベル(例えば、SVC−スケーラブルビデオコーデック)を識別するものである。
[0093]本発明の別の実施形態では、nの値の増大を徐々に実行して、オーバーヘッドの増大が大幅に進行しないようにする。テーブルを用いてより高いnの値が推奨されたとき、その値は次に来る第1データ単位のサブセットにのみ適用される。この実施形態を用いると、次に入って来るw個の第1データ単位のうちv個の第1データ単位のみが、増大された値であるnを使用して、他のw−v個は以前のより低い値をnに用いる。測定損失比率が増大し続ける場合又は測定損失比率が次のレベルに近づく場合は、v及びwの値を変更することもできる。
[0094]例えば、測定損失(重み付けされた又は正規化されたもの)が0%であれば、n=1、m=0、そしてv=w=1になる。したがって、全てのパケットはn=1、m=0で符号化される。測定損失が増大して0%より大きいが0.05%より低くなった場合は、n=4、m=1であるが、v=1でw=3になり、3つのパケットのうち1つのみがn=4で符号化されて、他のパケットは以前の符号化レベルn=1、m=0を用いるようにする。測定損失が0.05%を超えるが0.1%より下であれば、v=1及びw=2へ変更されて、全ての2つ目のパケットがn=4で符号化されて、他のパケットは以前の符号化レベルn=1、m=0を用いるようにする。測定損失が0.1%を超えるが0.2%以下であれば、v=1及びw=1を用いて、全てのパケットがn=4で符号化されるようにする。v及びwのさまざまな値は、さまざまな所定損失レベルでのオーバーヘッドの増大を滑らかにするように構成することができる。この能力は、さまざまな損失比率間の変換機能をかなり滑らかにすることができる。
[0095]以下の記載では、本発明を完全に理解できるように数多くの詳細を説明の目的で述べる。しかし、これらの特定の詳細は本発明を実施する上で必要なものではないことが当業者には明らかであろう。他の例では、周知の電気的構造及び回路がブロック図形式で示され、本発明が不明瞭にならないようにしている。例えば、本明細書に記載した本発明の実施形態がソフトウェアルーティン、ハードウェア回路、ファームウェア、又はこれらの組み合わせとして実装されるかどうかについて特定の詳細は提供していない。
[0096]本発明の実施形態はエンドポイント及び関連する符号化コンポーネントを有するネットワークに実装され、エンドポイントはサーバ又は他のコンピューティング装置等である。符号化コンポーネント及び記載した方法は、ハードウェア、ソフトウェア、又はこれらの組み合わせに実装することができる。ソフトウェアに記憶されたこれらの部分は、マシン可読媒体(コンピュータ可読媒体、プロセッサ可読媒体、又は、コンピュータ可読プログラムコードが記憶されているコンピュータ使用可能媒体とも称される)に記憶されたソフトウェア製品として表すことができる。マシン可読媒体は任意の適宜の有形媒体であってよく、磁気、光、又は電気的な記憶媒体を含み、これらの記憶媒体は、ディスケット、コンパクトディスク読み出し専用メモリ(CD−ROM)、メモリ装置(揮発性又は不揮発性)、又は類似の記憶機構を含む。マシン可読媒体は種々の命令のセット、コードシーケンス、構成情報、又は他のデータを含み、これらが実行されるとき、プロセッサが本発明の実施形態による方法のステップを行う。当業者であれば、記載した発明を実施するために必要な他の命令及び動作もマシン可読媒体に記憶できることが理解できるであろう。マシン可読媒体から実行されるソフトウェアは、回路と連動して記載したタスクを実行することができる。
[0097]上述した本発明の実施形態は例示にすぎない。当業者であれば本発明の範囲を逸脱することなく特定の実施形態に対し代替、修正及び変更を行うことができ、本発明の範囲は添付の請求項によってのみ定められる。

Claims (38)

  1. 信頼できないネットワークを介したデータ通信の速度を上げる方法であって、
    通信の2つのエンドポイントのそれぞれに関連付けされた符号化コンポーネントを提供するステップと、
    前記エンドポイント間の通信セッションのために前記符号化コンポーネント間に符号化チャネルを確立するステップと、
    前記通信に関係する複数のデータパケットを、前記符号化コンポーネントの一方でインターセプトするステップと、
    前記複数のデータパケットのそれぞれをセグメント化及びパッケージ化して、セグメント化及びパッケージ化されたデータパケットを提供するステップであって、セグメント化及びパッケージ化された前記データパケットは、前記符号化コンポーネントの他方へ伝送するために、少なくとも1つの符号化データセグメントと少なくとも1つの余剰符号化セグメントとを有する、ステップと、
    セグメント化及びパッケージ化された前記データパケットを、前記符号化コンポーネントの前記一方で記憶するステップと、
    セグメント化及びパッケージ化された前記データパケットを、所定条件を満たすときに前記符号化チャネルを介して前記符号化コンポーネントの前記他方へ伝送するステップと、
    受けた符号化データセグメント及び受けた余剰符号化セグメントに基づいて、前記符号化コンポーネントの前記他方で、前記複数のデータパケットを復号及び再構築するステップと、
    再構築した前記データパケットを、前記符号化コンポーネントの前記他方からその個々のエンドポイントへ伝送するステップと
    を含む方法。
  2. 請求項1記載の方法であって、前記所定条件はタイマーの終了である、方法。
  3. 請求項2記載の方法であって、前記タイマーは、前記複数のデータパケットの個々の1つがインターセプトされるときに起動する、方法。
  4. 請求項1記載の方法であって、前記所定条件は、リアルタイム性のデータを含むパケットのインターセプトである、方法。
  5. 請求項1記載の方法であって、前記所定条件は、所定数のセグメント化及びパッケージ化された前記データパケットの記憶である、方法。
  6. 請求項1記載の方法であって、前記複数のデータパケットの前記符号化データセグメントと前記少なくとも1つの余剰符号化セグメントとは、前記符号化データセグメントと前記少なくとも1つの余剰符号化セグメントの順序を維持するようにインターリーブ及び伝送される、方法。
  7. 請求項6記載の方法であって、パッケージ化及びセグメント化された前記データパケットは、順序正しくそれぞれのサイズにしたがって記憶され、パッケージ化及びセグメント化された各データパケットからのセグメントが順に伝送される、方法。
  8. 請求項1記載の方法であって、前記複数のデータパケットのそれぞれの前記符号化データセグメントと前記少なくとも1つの余剰符号化セグメントとは、ランダムな順序で伝送される、方法。
  9. 請求項1記載の方法であって、前記符号化データセグメントの1つが前記符号化コンポーネントの前記他方で所定期間内に受けられなかった場合に、前記符号化データセグメントの1つが失われたと判定するステップをさらに含む、方法。
  10. 請求項9記載の方法であって、前記所定期間は、所与のデータパケットの第1符号化データセグメントを受けたときに設定されるタイマーの終了により判定される、方法。
  11. 請求項9記載の方法であって、前記所定期間は、リングバッファを参照することにより判定される、方法。
  12. 請求項10記載の方法であって、前記リングバッファは紛失した符号化データセグメントのシーケンス番号を追跡して、前記リングバッファが循環して所与の符号化データセグメントのシーケンス番号へ戻ったとき、前記所与の符号化データセグメントが失われたと判定する、方法。
  13. 請求項9記載の方法であって、所与のセグメント化及びパッケージ化されたデータパケットからの所定数の符号化データセグメントが失われたと判定されたときに、複数のデータパケットからの符号化データセグメントをインターリーブするステップをさらに含む、方法。
  14. 請求項1記載の方法であって、データパケットをセグメント化及びパッケージ化するステップは、前記データパケットをn個の符号化データセグメントにセグメント化及びパッケージ化するステップを含み、n>1である、方法。
  15. 請求項14記載の方法であって、nは前記データパケットのサイズに基づいて動的に調整される、方法。
  16. 請求項15記載の方法であって、nは、符号化データセグメントのサイズが所定の最大転送単位のサイズを超過しないようにして選択される、方法。
  17. 信頼できないネットワークを介したデータ通信の速度を上げる方法であって、該信頼できないネットワークは、第1エンドポイントから第2エンドポイントへデータパケットを運び、前記方法は、
    前記2つのエンドポイント間の通信セッションのために、第1符号化コンポーネントと第2符号化コンポーネントとの間に符号化チャネルを確立するステップであって、
    前記第1符号化コンポーネントで、前記2つのエンドポイントの前記第1のものから発され運ばれ前記2つのエンドポイントの他方へ向かう前記メッセージデータパケットの第1のものを検出するステップと、
    前記他方のエンドポイントに向かう検出した前記第1のデータパケットメッセージにマークを加えてあるマークをもつマークされたものを作成するステップであって、該あるマークは前記第1エンドポイントが前記データパケットを両方の符号化コンポーネントに既知のプロトコルに従ってセグメント化及び符号化することが可能であることを示し、前記あるマークは複数の使用可能なマークから選択されたものである、ステップと、
    前記マークされたメッセージデータパケットを前記他方のエンドポイントへ転送するステップと、
    事前に選択された時間期間内に前記第2符号化コンポーネントから前記マークされたメッセージデータパケットへの返信を受けたかを判定することを受けるステップであって、前記時間期間内に返信を受けない場合は、前記第1符号化コンポーネントで、前記第1エンドポイントから運ばれた前記第2エンドポイントへ向かう前記データパケットの第2のものを検出し、前記複数の使用可能なマークから選択された違うマークを、検出した前記第2のデータパケットに追加し、違うマークを付された前記データパケットを前記他方のエンドポイントへ転送する、ステップと、
    前記時間期間内に前記第2符号化コンポーネントから返信を受けたことに応答して、前記符号化コンポーネント間に通信チャネルを確立するために制御メッセージを交換するステップと
    により前記符号化チャネルを確立するステップと、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうち一方で前記通信に関係するデータパケットをインターセプトするステップと、
    前記データパケットをセグメント化及びパッケージ化して、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ伝送するために符号化データセグメントを提供するステップと、
    前記符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ、前記符号化チャネルを介して伝送するステップと、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方で、受けた前記符号化データセグメントに基づいて前記データパケットを復号及び再構築して、前記セグメントの前記損失を補償するステップであって、前記損失は前記信頼できないネットワークで発生する可能性があるものである、ステップと、
    再構築した前記データパケットを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方からその個々のエンドポイントへ伝送するステップと
    を含む方法。
  18. 請求項16記載の方法であって、前記符号化チャネルを確立するステップはさらに、前記通信セッションを一意に識別する情報を記憶するステップを含む、方法。
  19. 信頼できないネットワークを介したデータ通信の速度を上げる方法であって、
    2つのエンドポイント間の通信セッションのために、第1符号化コンポーネントと第2符号化コンポーネントとの間に符号化チャネルを確立するステップであって、
    前記第1符号化コンポーネントで、前記2つのエンドポイントの第1のものから発されて前記2つのエンドポイントの他方へ向かうメッセージを検出するステップと、
    前記他方のエンドポイントに向かうマークされたメッセージを作成するステップであって、前記マークされたメッセージはあるマークをもち、該あるマークは前記第1エンドポイントがデータパケットを両方の符号化コンポーネントに既知のプロトコルに従ってセグメント化及び符号化することが可能であることを示し、前記あるマークは複数の使用可能なマークから選択されたものである、ステップと、
    前記マークされたメッセージを前記他方のエンドポイントへ転送するステップと、
    事前に選択された時間期間内に前記第2符号化コンポーネントから前記マークされたメッセージへの返信を受けたかを決定することを受けるステップであって、前記時間期間内に返信を受けない場合は、前記複数の使用可能なマークから選択された違うマークをもつ新しいマークされたメッセージを作成し、該新しいマークされたメッセージを前記他方のエンドポイントへ転送する、ステップと、
    前記時間期間内に前記第2符号化コンポーネントから返信を受けたことに応答して、前記符号化コンポーネント間に通信チャネルを確立するために制御メッセージを交換するステップと
    により前記符号化チャネルを確立するステップと、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうち一方で、前記通信に関係するデータパケットをインターセプトするステップと、
    前記データパケットをセグメント化及びパッケージ化して、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの他方へ伝送するために符号化データセグメントを提供するステップと、
    前記符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ、前記符号化チャネルを介して伝送するステップと、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方で、受けた前記符号化データセグメントに基づいて、前記データパケットを復号及び再構築するステップと、
    再構築した前記データパケットを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方からその個々のエンドポイントへ伝送するステップと
    を含み、
    所定時間内に返信を受けない場合は、前記複数の使用可能なマークからさらなるマークを選択することにより、さらなるマークされたメッセージが作成され、
    前記複数の使用可能なマークのいずれについても返信を受けない場合は、ネットワークマネージャは、前記第2エンドポイントは前記第1エンドポイントとの通信の速度を上げることができないことを告げられる、方法。
  20. 請求項16記載の方法であって、後続の通信セッションで使用するために前記あるマークのアイデンティフィケーションを記憶するステップをさらに含む、方法。
  21. 請求項16記載の方法であって、符号化データパケットが所定タイムアウト期間内に伝送されない場合はテアダウン状態に入るステップをさらに含む、方法。
  22. 信頼できないネットワークを介したデータ通信の速度を上げる方法であって、
    2つのエンドポイント間の通信セッションのために、第1符号化コンポーネントと第2符号化コンポーネントとの間に符号化チャネルを確立するステップであって、
    前記第1符号化コンポーネントで、前記2つのエンドポイントの第1のものから発されて前記2つのエンドポイントの他方へ向かうメッセージを検出するステップと、
    前記他方のエンドポイントに向かうマークされたメッセージを作成するステップであって、前記マークされたメッセージはあるマークをもち、該あるマークは前記第1エンドポイントがデータパケットを両方の符号化コンポーネントに既知のプロトコルに従ってセグメント化及び符号化することが可能であることを示し、前記あるマークは複数の使用可能なマークから選択されたものである、ステップと、
    前記マークされたメッセージを前記他方のエンドポイントへ転送するステップと、
    事前に選択された時間期間内に前記第2符号化コンポーネントから前記マークされたメッセージへの返信を受けたかを判定することを受けるステップであって、前記時間期間内に返信を受けない場合は、前記複数の使用可能なマークから選択された違うマークをもつ新しいマークされたメッセージを作成し、該新しいマークされたメッセージを前記他方のエンドポイントへ転送する、ステップと、
    前記時間期間内に前記第2符号化コンポーネントから返信を受けたことに応答して、前記符号化コンポーネント間に通信チャネルを確立するために制御メッセージを交換するステップと
    により前記符号化チャネルを確立するステップと、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうち一方で前記通信に関係するデータパケットをインターセプトするステップと、
    前記データパケットをセグメント化及びパッケージ化して、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ伝送するために符号化データセグメントを提供するステップと、
    前記符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ、前記符号化チャネルを介して伝送するステップと、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方で、受けた前記符号化データセグメントに基づいて、前記データパケットを復号及び再構築するステップと、
    再構築した前記データパケットを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方からその個々のエンドポイントへ伝送するステップと、
    符号化データパケットが所定タイムアウト期間内に伝送されない場合はテアダウン状態に入るステップと
    を含み、
    前記テアダウン状態中は、新しく受けたデータパケットがセグメント化及びパッケージ化されない、方法。
  23. 請求項16記載の方法であって、前記第1符号化コンポーネント及び前記第2符号化コンポーネントは他の符号化コンポーネントに優先する、方法。
  24. 信頼できないネットワークを介したデータ通信の速度を上げる方法であって、
    2つのエンドポイント間の通信セッションのために、第1符号化コンポーネントと第2符号化コンポーネントとの間に符号化チャネルを確立するステップであって、
    前記第1符号化コンポーネントで、前記2つのエンドポイントの第1のものから発されて前記2つのエンドポイントの他方へ向かうメッセージを検出するステップと、
    前記他方のエンドポイントに向かうマークされたメッセージを作成するステップであって、前記マークされたメッセージはあるマークをもち、該あるマークは前記第1エンドポイントがデータパケットを両方の符号化コンポーネントに既知のプロトコルに従ってセグメント化及び符号化することが可能であることを示し、前記あるマークは複数の使用可能なマークから選択されたものである、ステップと、
    前記マークされたメッセージを前記他方のエンドポイントへ転送するステップと、
    事前に選択された時間期間内に前記第2符号化コンポーネントから前記マークされたメッセージへの返信を受けたかを判定することを受けるステップであって、前記時間期間内に返信を受けない場合は、前記複数の使用可能なマークから選択された違うマークをもつ新しいマークされたメッセージを作成し、該新しいマークされたメッセージを前記他方のエンドポイントへ転送する、ステップと、
    前記時間期間内に前記第2符号化コンポーネントから返信を受けたことに応答して、前記符号化コンポーネント間に通信チャネルを確立するために制御メッセージを交換するステップと
    により前記符号化チャネルを確立するステップと、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうち一方で前記通信に関係するデータパケットをインターセプトするステップと、
    前記データパケットをセグメント化及びパッケージ化して、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの他方へ伝送するために符号化データセグメントを提供するステップと、
    前記符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ、前記符号化チャネルを介して伝送するステップと、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方で、受けた前記符号化データセグメントに基づいて、前記データパケットを復号及び再構築するステップと、
    再構築した前記データパケットを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方からその個々のエンドポイントへ伝送するステップと
    を含み、前記第1符号化コンポーネント及び前記第2符号化コンポーネントは他の符号化コンポーネントに優先するものであり、前記方法は、
    前記第1符号化コンポーネントで、前記第1符号化コンポーネント及び前記第2符号化コンポーネント以外の符号化コンポーネントから、マークされたパケットを受けるステップと、
    優先を主張するステップであって、
    前記マークされたパケットからマーキングを除去するステップと、
    前記第1符号化コンポーネント及び第2符号化コンポーネント間に前記符号化チャネルを確立するステップと
    により、前記優先を主張するステップと
    を含む、方法。
  25. 信頼できないネットワークを介したデータ通信の速度を上げる方法であって、
    2つのエンドポイント間の通信セッションのために、第1符号化コンポーネントと第2符号化コンポーネントとの間に符号化チャネルを確立するステップであって、
    前記第1符号化コンポーネントで、前記2つのエンドポイントの第1のものから発されて前記2つのエンドポイントの他方へ向かうメッセージを検出するステップと、
    前記他方のエンドポイントに向かうマークされたメッセージを作成するステップであって、前記マークされたメッセージはあるマークをもち、該あるマークは前記第1エンドポイントがデータパケットを両方の符号化コンポーネントに既知のプロトコルに従ってセグメント化及び符号化することが可能であることを示し、前記あるマークは複数の使用可能なマークから選択されたものである、ステップと、
    前記マークされたメッセージを前記他方のエンドポイントへ転送するステップと、
    事前に選択された時間期間内に前記第2符号化コンポーネントから前記マークされたメッセージへの返信を受けたかを判定することを受けるステップであって、前記時間期間内に返信を受けない場合は、前記複数の使用可能なマークから選択された違うマークをもつ新しいマークされたメッセージを作成し、該新しいマークされたメッセージを前記他方のエンドポイントへ転送する、ステップと、
    前記時間期間内に前記第2符号化コンポーネントから返信を受けたことに応答して、前記符号化コンポーネント間に通信チャネルを確立するために制御メッセージを交換するステップと
    により前記符号化チャネルを確立するステップと、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうち一方で前記通信に関係するデータパケットをインターセプトするステップと、
    前記データパケットをセグメント化及びパッケージ化して、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの他方へ伝送するために符号化データセグメントを提供するステップと、
    前記符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ、前記符号化チャネルを介して伝送するステップと、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方で、受けた前記符号化データセグメントに基づいて、前記データパケットを復号及び再構築するステップと、
    再構築した前記データパケットを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方からその個々のエンドポイントへ伝送するステップと
    を含み、
    前記第1符号化コンポーネント及び前記第2符号化コンポーネントは、特定の符号化コンポーネントから受けたマークされたパケットを無視し、前記マークされたパケットを透過的に伝送するように構成された、方法。
  26. 請求項21記載の方法であって、前記符号化コンポーネントは、アクティブでない期間中にキープアライブメッセージをさらに伝送する、方法。
  27. 請求項16記載の方法であって、前記エンドポイントの1つはマスターエンドポイントとして指定され、前記方法は、前記マスターエンドポイントが、前記符号化チャネルのテアダウンが示されたかを判定するステップをさらに含む、方法。
  28. 請求項27記載の方法であって、前記マスターエンドポイントは、所定期間内に新しいデータパケットを受けなかった場合に、テアダウンが示されたと判定する、方法。
  29. 信頼できないネットワークにおいて2つのエンドポイント間のデータ通信の速度を上げるように、データを符号化するための符号化レートを設定する方法であって、該2つのエンドポイントはそれぞれ、個々に符号化コンポーネントと関連付けされており、前記方法は、
    前記エンドポイント間の通信セッションのために、前記符号化コンポーネント間に符号化チャネルを確立するステップと、
    前記符号化コンポーネントの一方で前記通信に関係するデータパケットをインターセプトするステップと、
    前記データパケットをセグメント化及びパッケージ化して、前記符号化コンポーネントの他方へ伝送するために符号化データセグメントを提供するステップと、
    前記符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、前記符号化コンポーネントの前記他方へ、前記符号化チャネルを介して伝送するステップと、
    前記符号化コンポーネントの前記他方で、受けた前記符号化データセグメントに基づいて、前記データパケットを復号及び再構築するステップと、
    再構築した前記データパケットを、前記符号化コンポーネントの前記他方からその個々のエンドポイントへ伝送するステップと、
    前記通信セッションのために重み付け損失比率を計算するステップと、
    前記重み付け損失比率に基づいて前記符号化レートを調節するステップと、
    を含む、方法。
  30. 請求項29記載の方法であって、前記重み付けされた比率を計算するステップは、前記重み付けされた比率を先行する通信セッションの平均損失比率に従って計算するステップを含む、方法。
  31. 請求項29記載の方法であって、前記重み付けされた比率を計算するステップは、前記重み付けされた比率を再送要求に従って計算するステップを含む、方法。
  32. 請求項29記載の方法であって、前記重み付け損失比率に従って現在の損失レベルを計算するステップをさらに含む、方法。
  33. 請求項32記載の方法であって、前記重み付け損失比率は正規化される、方法。
  34. 請求項32記載の方法であって、前記現在の損失レベルは前記符号化コンポーネントの前記他方へ通信される、方法。
  35. 請求項34記載の方法であって、前記現在の損失レベルは前記符号化データセグメントの1つのヘッダ部で通信される、方法。
  36. 請求項35記載の方法であって、前記ヘッダ部はさらに、所望のレベルの保護を識別する、方法。
  37. 請求項36記載の方法であって、前記所望のレベルの保護は、ネットワークポリシーに従って構成された損失目標に従って判定される、方法。
  38. 請求項34記載の方法であって、前記現在の損失レベルは、制御チャネルを介して通信される、方法。
JP2012555533A 2010-03-05 2011-03-03 スループットの高速化を達成するためのシステム及び方法 Pending JP2013526098A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/718,650 2010-03-05
US12/718,650 US7953114B2 (en) 2004-08-06 2010-03-05 System and method for achieving accelerated throughput
PCT/IB2011/050917 WO2011107963A1 (en) 2010-03-05 2011-03-03 System and method for achieving accelerated throughput

Publications (2)

Publication Number Publication Date
JP2013526098A true JP2013526098A (ja) 2013-06-20
JP2013526098A5 JP2013526098A5 (ja) 2014-04-17

Family

ID=44541705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012555533A Pending JP2013526098A (ja) 2010-03-05 2011-03-03 スループットの高速化を達成するためのシステム及び方法

Country Status (5)

Country Link
US (4) US7953114B2 (ja)
EP (1) EP2543156A4 (ja)
JP (1) JP2013526098A (ja)
CN (1) CN102859921A (ja)
WO (1) WO2011107963A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8009696B2 (en) 2004-08-06 2011-08-30 Ipeak Networks Incorporated System and method for achieving accelerated throughput
US8437370B2 (en) * 2011-02-04 2013-05-07 LiveQoS Inc. Methods for achieving target loss ratio
US7953114B2 (en) 2004-08-06 2011-05-31 Ipeak Networks Incorporated System and method for achieving accelerated throughput
US9189307B2 (en) 2004-08-06 2015-11-17 LiveQoS Inc. Method of improving the performance of an access network for coupling user devices to an application server
US9647952B2 (en) 2004-08-06 2017-05-09 LiveQoS Inc. Network quality as a service
US8782267B2 (en) * 2009-05-29 2014-07-15 Comcast Cable Communications, Llc Methods, systems, devices, and computer-readable media for delivering additional content using a multicast streaming
US9143386B1 (en) * 2010-09-27 2015-09-22 Sprint Communications Company L.P. Remote keep-alive message management in a wireless communication network
US8925027B2 (en) * 2011-01-20 2014-12-30 Vidyo, Inc. Participant aware configuration for video encoder
WO2012099589A1 (en) * 2011-01-20 2012-07-26 Vidyo, Inc. Participant aware configuration for video encoder
US10951743B2 (en) * 2011-02-04 2021-03-16 Adaptiv Networks Inc. Methods for achieving target loss ratio
US9590913B2 (en) 2011-02-07 2017-03-07 LiveQoS Inc. System and method for reducing bandwidth usage of a network
US8717900B2 (en) 2011-02-07 2014-05-06 LivQoS Inc. Mechanisms to improve the transmission control protocol performance in wireless networks
US10320951B2 (en) * 2011-10-31 2019-06-11 Hurricane Electric Systems and methods for establishing a virtual local area network
KR20130101598A (ko) * 2012-01-27 2013-09-16 한국전자통신연구원 중복응답 패킷 식별을 위한 패킷 처리장치 및 그 방법
US20130218768A1 (en) 2012-02-21 2013-08-22 Mike Leber Systems and Methods for Facilitating Secured Financial Transactions
US9965760B2 (en) 2012-06-29 2018-05-08 Hurricane Electric Systems and methods for facilitating electronic transactions utilizing a mobile computing device
US8990956B2 (en) 2012-08-06 2015-03-24 Hurricane Electric Systems and methods of exchanging information for a reward
US9143454B2 (en) 2012-10-03 2015-09-22 LiveQoS Inc. System and method for a TCP mapper
US8711690B2 (en) 2012-10-03 2014-04-29 LiveQoS Inc. System and method for a TCP mapper
US9407557B2 (en) * 2012-12-22 2016-08-02 Edgewater Networks, Inc. Methods and systems to split equipment control between local and remote processing units
EP2755342A1 (en) 2013-01-10 2014-07-16 LiveQoS Inc. Network Quality as a Service
CN105450967B (zh) * 2014-07-31 2019-05-03 杭州海康威视数字技术股份有限公司 对视频录像数据进行打包的方法及装置
CN107181780B (zh) * 2016-03-10 2020-07-14 阿里巴巴集团控股有限公司 通信通道处理方法和系统
US10397286B2 (en) 2017-05-05 2019-08-27 At&T Intellectual Property I, L.P. Estimating network data streaming rate
US10382517B2 (en) 2017-06-09 2019-08-13 At&T Intellectual Property I, L.P. Estimating network data encoding rate
CN108173755B (zh) * 2017-12-08 2020-07-28 同济大学 一种时间敏感网络的帧的复制和消除方法
CN108076070B (zh) * 2017-12-29 2020-09-15 哈尔滨工业大学 一种fasp协议阻断方法、装置及分析系统
US11621773B2 (en) 2018-02-15 2023-04-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for forwarding a digital signal

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290459A (ja) * 2001-03-27 2002-10-04 Nec Corp パケット転送装置および方法
JP2004187286A (ja) * 2002-11-20 2004-07-02 Victor Co Of Japan Ltd エンド−トゥ−エンドビットレート基準の輻輳制御を備えた、無線ネットワークにおけるmpeg−4ライブユニキャストビデオストリーミングシステム
US20060245384A1 (en) * 2005-05-02 2006-11-02 Talukdar Anup K Method and apparatus for transmitting data
JP2007184836A (ja) * 2006-01-10 2007-07-19 Nippon Telegr & Teleph Corp <Ntt> 通信方法および通信装置
US20080304483A1 (en) * 2004-08-06 2008-12-11 Ipeak Networks Incorporated System and method for achieving accelerated throughput

Family Cites Families (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4908827A (en) * 1987-07-27 1990-03-13 Tiw Systems, Inc. Forward error correction system
JP2001345854A (ja) 2000-03-27 2001-12-14 Matsushita Electric Ind Co Ltd ネットワーク間のパケット通信方法及びシステム並びに装置
US20010050943A1 (en) * 1989-08-03 2001-12-13 Mahany Ronald L. Radio frequency communication network having adaptive communication parameters
US5600663A (en) * 1994-11-16 1997-02-04 Lucent Technologies Inc. Adaptive forward error correction system
US5677918A (en) * 1995-07-28 1997-10-14 Motorola, Inc. Method and device for efficient error correction in a packet-switched communication system
US6012159A (en) * 1996-01-17 2000-01-04 Kencast, Inc. Method and system for error-free data transfer
US5857072A (en) * 1996-04-30 1999-01-05 Sprint Communications Co. L.P. System and method for distributing data simultaneously to multiple computers on a network, with advanced notice to intended recipients
US6172972B1 (en) * 1996-05-28 2001-01-09 Microsoft Corporation Multi-packet transport structure and method for sending network data over satellite network
DE19630343B4 (de) * 1996-07-26 2004-08-26 Telefonaktiebolaget L M Ericsson (Publ) Verfahren und Paket-Übertragungssystem unter Verwendung einer Fehlerkorrektur von Datenpaketen
US5751970A (en) * 1996-08-08 1998-05-12 International Business Machines Corp. Method for determining an optimal segmentation size for file transmission in a communications system
JPH10119426A (ja) 1996-10-15 1998-05-12 Dainippon Printing Co Ltd 記録用シート
US6038216A (en) 1996-11-01 2000-03-14 Packeteer, Inc. Method for explicit data rate control in a packet communication environment without data rate supervision
JPH10174069A (ja) 1996-12-13 1998-06-26 Victor Co Of Japan Ltd パケット多重化方法及び再生方法
US6000053A (en) * 1997-06-13 1999-12-07 Microsoft Corporation Error correction and loss recovery of packets over a computer network
JPH11163947A (ja) 1997-09-22 1999-06-18 Toshiba Corp ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法
US6272658B1 (en) * 1997-10-27 2001-08-07 Kencast, Inc. Method and system for reliable broadcasting of data files and streams
JPH11225161A (ja) 1998-02-05 1999-08-17 Matsushita Electric Ind Co Ltd データ処理方法およびデータ処理装置
US6188674B1 (en) * 1998-02-17 2001-02-13 Xiaoqiang Chen Method and apparatus for packet loss measurement in packet networks
US6278716B1 (en) * 1998-03-23 2001-08-21 University Of Massachusetts Multicast with proactive forward error correction
EP1005726B1 (en) * 1998-03-31 2003-10-15 Samsung Electronics Co., Ltd. TURBO ENCODING/DECODING DEVICE AND METHOD FOR PROCESSING FRAME DATA ACCORDING TO QoS
US6445717B1 (en) * 1998-05-01 2002-09-03 Niwot Networks, Inc. System for recovering lost information in a data stream
US6421387B1 (en) * 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6570843B1 (en) * 1998-05-22 2003-05-27 Kencast, Inc. Method for minimizing the number of data packets required for retransmission in a two-way communication system
US6336200B1 (en) * 1998-05-22 2002-01-01 Kencast, Inc. Method for validating communicated packets of data and for locating erroneous packets
US6771597B2 (en) * 1998-07-31 2004-08-03 International Business Machines Corporation Method and apparatus for transmitting messages
JP3054613B2 (ja) 1998-11-05 2000-06-19 沖電気工業株式会社 パケット通信システム
US6421805B1 (en) * 1998-11-16 2002-07-16 Exabyte Corporation Rogue packet detection and correction method for data storage device
US6600737B1 (en) 1999-02-11 2003-07-29 Mediaring Ltd. Bandwidth protection for voice over IP
US6529552B1 (en) * 1999-02-16 2003-03-04 Packetvideo Corporation Method and a device for transmission of a variable bit-rate compressed video bitstream over constant and variable capacity networks
US6973140B2 (en) * 1999-03-05 2005-12-06 Ipr Licensing, Inc. Maximizing data rate by adjusting codes and code rates in CDMA system
US6438108B1 (en) 1999-03-11 2002-08-20 Telefonaktiebolaget L M Ericsson (Publ) System for improved transmission of acknowledgements within a packet data network
US7102998B1 (en) * 1999-03-22 2006-09-05 Lucent Technologies Inc. Scaleable congestion control method for multicast communications over a data network
US6449251B1 (en) * 1999-04-02 2002-09-10 Nortel Networks Limited Packet mapper for dynamic data packet prioritization
US6609223B1 (en) * 1999-04-06 2003-08-19 Kencast, Inc. Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter
US6912276B1 (en) * 1999-04-12 2005-06-28 Silicon Laboratories, Inc. Modem on hold
CA2299022A1 (en) 1999-04-30 2000-10-30 Nortel Networks Corporation Method and apparatus for bandwidth management of aggregate data flows
US6996097B1 (en) * 1999-05-21 2006-02-07 Microsoft Corporation Receiver-driven layered error correction multicast over heterogeneous packet networks
US6925068B1 (en) 1999-05-21 2005-08-02 Wi-Lan, Inc. Method and apparatus for allocating bandwidth in a wireless communication system
JP3910770B2 (ja) 1999-10-15 2007-04-25 株式会社エヌ・ティ・ティ・ドコモ 誤り制御方法及びその方法を使用する受信機
US6728924B1 (en) * 1999-10-21 2004-04-27 Lucent Technologies Inc. Packet loss control method for real-time multimedia communications
US7522631B1 (en) 1999-10-26 2009-04-21 Qualcomm, Incorporated Method and apparatus for efficient data transmission control in a wireless voice-over-data communication system
US6901051B1 (en) * 1999-11-15 2005-05-31 Fujitsu Limited Server-based network performance metrics generation system and method
US6813252B2 (en) * 2000-01-07 2004-11-02 Lucent Technologies Inc. Method and system for interleaving of full rate channels suitable for half duplex operation and statistical multiplexing
US7133407B2 (en) * 2000-01-25 2006-11-07 Fujitsu Limited Data communications system
US6995128B2 (en) * 2000-03-24 2006-02-07 The Clorox Co. Mixed surfactant cleaning compositions with reduced streaking
US7310670B1 (en) * 2000-04-25 2007-12-18 Thomson Licensing S.A. Multi-channel power line exchange protocol
JP3718616B2 (ja) * 2000-05-12 2005-11-24 アルプス電気株式会社 ステアリング装置への回転コネクタの取り付け構造
EP1175047B1 (de) * 2000-07-14 2007-05-02 Siemens Aktiengesellschaft Verfahren und Anordnung zum Schutz gegen Paketverlusten bei einer paketorientierten Datenübertragung
CA2314405A1 (en) * 2000-07-24 2002-01-24 Catena Networks Canada Inc. An improved 8 bits/symbol messaging scheme for g.lite.bis and g.dmt.bis
FI112307B (fi) 2000-08-02 2003-11-14 Nokia Corp Viestintäpalvelu
WO2002017637A1 (fr) * 2000-08-25 2002-02-28 Matsushita Electric Industrial Co., Ltd. Procede de transmission de donnees et procede de relais de donnees
JP3752137B2 (ja) 2000-08-31 2006-03-08 三菱電機株式会社 データ送信装置及びデータ送信方法
US6968554B1 (en) 2000-10-03 2005-11-22 Network General Technology Multi-layer protocol reassembly that operates independently of underlying protocols, and resulting vector list corresponding thereto
US7131038B2 (en) * 2000-10-12 2006-10-31 3Com Corporation Performance evaluation of multicarrier channels
US7035217B1 (en) * 2000-10-20 2006-04-25 Cisco Technology, Inc. Router-assisted multicast congestion control
US7075936B2 (en) * 2000-11-02 2006-07-11 Agere Systems, Inc. Voice packet processor and method of operation thereof
US7739398B1 (en) * 2000-11-21 2010-06-15 Avaya Inc. Dynamic load balancer
US7050396B1 (en) * 2000-11-30 2006-05-23 Cisco Technology, Inc. Method and apparatus for automatically establishing bi-directional differentiated services treatment of flows in a network
GB2369746A (en) * 2000-11-30 2002-06-05 Ridgeway Systems & Software Lt Communications system with network address translation
US7103317B2 (en) * 2000-12-12 2006-09-05 The Directv Group, Inc. Communication system using multiple link terminals for aircraft
KR100467643B1 (ko) * 2000-12-28 2005-01-24 엘지전자 주식회사 무선 랜에서의 멀티미디어 데이터 전송 방법
US7319701B2 (en) * 2000-12-29 2008-01-15 Texas Instruments Incorporated Modem relay protocol redundancy for reliable low speed modem communications over IP networks with substantial packet loss
US6876669B2 (en) * 2001-01-08 2005-04-05 Corrigent Systems Ltd. Packet fragmentation with nested interruptions
US6868083B2 (en) * 2001-02-16 2005-03-15 Hewlett-Packard Development Company, L.P. Method and system for packet communication employing path diversity
US6934257B2 (en) * 2001-04-04 2005-08-23 Intel Corporation Transferring transmission control protocol packets
US7024609B2 (en) * 2001-04-20 2006-04-04 Kencast, Inc. System for protecting the transmission of live data streams, and upon reception, for reconstructing the live data streams and recording them into files
US7099346B1 (en) * 2001-05-15 2006-08-29 Golden Bridge Technology, Inc. Channel capacity optimization for packet services
US7012893B2 (en) 2001-06-12 2006-03-14 Smartpackets, Inc. Adaptive control of data packet size in networks
US7089478B2 (en) * 2001-06-22 2006-08-08 Broadcom Corporation FEC block reconstruction system, method and computer program product for mitigating burst noise in a communications system
US7315894B2 (en) * 2001-07-17 2008-01-01 Mcafee, Inc. Network data retrieval and filter systems and methods
US20030018793A1 (en) * 2001-07-19 2003-01-23 Oscar Mora Reliable transport layer protocol in low performance 8-bit microcontrollers
US7991006B2 (en) * 2001-08-02 2011-08-02 Oracle America, Inc. Filtering redundant packets in computer network equipments
US7542482B2 (en) 2001-08-16 2009-06-02 Qualcomm Incorporated Method and apparatus for message segmentation in a wireless communication system
US7251246B2 (en) * 2001-09-14 2007-07-31 Snowshore Networks, Inc. Selective packet processing in a packet based media processor for latency reduction
US7631084B2 (en) * 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
US7519030B2 (en) * 2001-11-19 2009-04-14 At&T Intellectual Property Ii, L.P. Adaptive MAC fragmentation and rate selection for 802.11 wireless networks
US20030108044A1 (en) * 2001-12-11 2003-06-12 Roland Hendel Stateless TCP/IP protocol
JP2003198618A (ja) 2001-12-26 2003-07-11 Mitsubishi Electric Corp パケットデータ通信システム及び携帯電話機並びにネットワーク側装置
US7120454B1 (en) * 2001-12-26 2006-10-10 Bellsouth Intellectual Property Corp. Auto sensing home base station for mobile telephone with remote answering capabilites
JP3573426B2 (ja) 2001-12-28 2004-10-06 東芝テック株式会社 カード処理装置及びカード決済システム
AU2003219812A1 (en) 2002-02-19 2003-09-09 Zyray Wireless, Inc. Method and apparatus optimizing a radio link
JP2003298560A (ja) 2002-04-04 2003-10-17 Communication Research Laboratory 送信機および送信方法、受信機および受信方法並びに光無線通信装置および光無線通信方法
US6744766B2 (en) * 2002-06-05 2004-06-01 Meshnetworks, Inc. Hybrid ARQ for a wireless Ad-Hoc network and a method for using the same
US6934776B2 (en) * 2002-07-16 2005-08-23 Intel Corporation Methods and apparatus for determination of packet sizes when transferring packets via a network
KR100537499B1 (ko) * 2002-07-26 2005-12-19 삼성전자주식회사 전송제어 파라미터 생성방법 및 프레임 특성에 따른선택적 자동 재전송 방법
KR100460429B1 (ko) * 2002-11-15 2004-12-08 삼성전자주식회사 우선순위 큐잉 장치 및 이를 이용한 우선순위 큐잉 방법
IL154739A0 (en) 2003-03-04 2003-10-31 Bamboo Mediacasting Ltd Segmented data delivery over non-reliable link
US20040196785A1 (en) 2003-04-01 2004-10-07 Gopalakrishnan Janakiraman Congestion notification process and system
US20040264396A1 (en) * 2003-06-30 2004-12-30 Boris Ginzburg Method for power saving in a wireless LAN
US7302491B2 (en) * 2003-07-31 2007-11-27 International Business Machines Corporation System and method of reducing data corruption due to recycled IP identification numbers
US7352700B2 (en) * 2003-09-09 2008-04-01 Lucent Technologies Inc. Methods and devices for maximizing the throughput of TCP/IP data along wireless links
US7447775B1 (en) * 2003-11-07 2008-11-04 Cisco Technology, Inc. Methods and apparatus for supporting transmission of streaming data
US7016409B2 (en) * 2003-11-12 2006-03-21 Sony Corporation Apparatus and method for use in providing dynamic bit rate encoding
US20050213586A1 (en) 2004-02-05 2005-09-29 David Cyganski System and method to increase network throughput
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
US7809011B2 (en) * 2004-04-05 2010-10-05 Broadcom Corporation Method and apparatus for establishing communication between entities in a communication system
US7478160B2 (en) * 2004-04-30 2009-01-13 International Business Machines Corporation Method and apparatus for transparent negotiations
US7720063B2 (en) 2004-07-02 2010-05-18 Vt Idirect, Inc. Method apparatus and system for accelerated communication
US7474619B2 (en) 2004-07-22 2009-01-06 International Business Machines Corporation Method and apparatus for providing fragmentation at a transport level along a transmission path
US9189307B2 (en) 2004-08-06 2015-11-17 LiveQoS Inc. Method of improving the performance of an access network for coupling user devices to an application server
US8437370B2 (en) 2011-02-04 2013-05-07 LiveQoS Inc. Methods for achieving target loss ratio
US7742501B2 (en) 2004-08-06 2010-06-22 Ipeak Networks Incorporated System and method for higher throughput through a transportation network
US7953114B2 (en) * 2004-08-06 2011-05-31 Ipeak Networks Incorporated System and method for achieving accelerated throughput
US7522606B1 (en) * 2004-11-09 2009-04-21 Network Equipment Technologies, Inc. Passive packet re-ordering and packet loss detection
CN101057439B (zh) * 2004-11-17 2011-07-27 夏普株式会社 发送器
JP5425397B2 (ja) * 2004-12-02 2014-02-26 トムソン ライセンシング 適応型前方誤り訂正を行う装置及び方法
US8214707B2 (en) * 2007-06-26 2012-07-03 Aspera, Inc. Method and system for reliable data transfer
US7889654B2 (en) * 2005-03-30 2011-02-15 At&T Intellectual Property Ii, L.P. Loss tolerant transmission control protocol
WO2007000744A1 (en) * 2005-06-28 2007-01-04 Koninklijke Philips Electronics, N.V. A handshaking method and apparatus for ofdm systems with unknown sub-channel availability
EP1755248B1 (en) 2005-08-19 2011-06-22 Hewlett-Packard Development Company, L.P. Indication of lost segments across layer boundaries
DE602005018274D1 (de) * 2005-09-01 2010-01-21 Ericsson Telefon Ab L M Verarbeitung von codierten echtzeitdaten
US7712005B2 (en) 2005-10-21 2010-05-04 Marvell World Trade Ltd. Encoding and error correction system for enhanced performance of legacy communications networks
WO2007052764A1 (ja) * 2005-11-07 2007-05-10 Nec Corporation セッション中継装置およびセッション中継方法
DE602006006346D1 (de) * 2005-12-16 2009-05-28 Dolby Sweden Ab Vorrichtung zum erzeugen und interpretieren eines datenstroms mit einer reihe von segmenten unter verwendung von daten in nachfolgenden datenrahmen
US7676733B2 (en) * 2006-01-04 2010-03-09 Intel Corporation Techniques to perform forward error correction for an electrical backplane
ATE526746T1 (de) * 2006-03-03 2011-10-15 Koninkl Philips Electronics Nv Verfahren und vorrichtung zum übertragen und empfangen eines datenblocks in einem drahtlosen kommunikationssystem
US7801044B2 (en) 2006-05-04 2010-09-21 Broadcom Corporation TCP acknowledge for aggregated packet
JP5183892B2 (ja) * 2006-07-03 2013-04-17 浜松ホトニクス株式会社 レーザ加工方法
ES2347278T3 (es) * 2006-09-05 2010-10-27 Telefonaktiebolaget Lm Ericsson (Publ) Distribucion de un servicio de flujo continuo de datos unidifusion ip.
AU2007312945A1 (en) * 2006-10-17 2008-04-24 Altec Lansing Australia Pty Ltd Media distribution in a wireless network
JP2008153778A (ja) 2006-12-14 2008-07-03 Mitsubishi Electric Corp パケット転送装置
JP2010522468A (ja) 2006-12-20 2010-07-01 トムソン ライセンシング Tcpackの管理によるlanにおけるスループット改善
JP4356742B2 (ja) * 2006-12-25 2009-11-04 ソニー株式会社 データ通信システム、データ送信装置およびデータ送信方法
US7821937B1 (en) * 2007-06-29 2010-10-26 Symantec Corporation Network protocol with damage loss resilient congestion control algorithm
EP2177073B1 (en) 2007-08-03 2023-07-19 Wireless Future Technologies Inc. Mobile station aggregation of acknowledgments and negative acknowledgments in wireless networks
KR101331366B1 (ko) * 2007-10-30 2013-11-19 교세라 가부시키가이샤 정보 처리 장치
US8045563B2 (en) 2007-12-27 2011-10-25 Cellco Partnership Dynamically adjusted credit based round robin scheduler
US7852242B2 (en) * 2008-05-15 2010-12-14 Taiwan Semiconductor Manufacturing Company, Ltd. Increasing 8B/10B coding speed using a disparity look-ahead table
US20100023842A1 (en) * 2008-07-25 2010-01-28 Nortel Networks Limited Multisegment loss protection
US8190848B2 (en) * 2008-07-28 2012-05-29 Lantiq Deutschland Gmbh Interleaver memory allocation method and apparatus
US8320364B2 (en) * 2009-12-15 2012-11-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Control of bit-rate and packet duplication in a real-time media stream
US10951743B2 (en) * 2011-02-04 2021-03-16 Adaptiv Networks Inc. Methods for achieving target loss ratio
US8717900B2 (en) * 2011-02-07 2014-05-06 LivQoS Inc. Mechanisms to improve the transmission control protocol performance in wireless networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290459A (ja) * 2001-03-27 2002-10-04 Nec Corp パケット転送装置および方法
JP2004187286A (ja) * 2002-11-20 2004-07-02 Victor Co Of Japan Ltd エンド−トゥ−エンドビットレート基準の輻輳制御を備えた、無線ネットワークにおけるmpeg−4ライブユニキャストビデオストリーミングシステム
US20080304483A1 (en) * 2004-08-06 2008-12-11 Ipeak Networks Incorporated System and method for achieving accelerated throughput
US20060245384A1 (en) * 2005-05-02 2006-11-02 Talukdar Anup K Method and apparatus for transmitting data
JP2007184836A (ja) * 2006-01-10 2007-07-19 Nippon Telegr & Teleph Corp <Ntt> 通信方法および通信装置

Also Published As

Publication number Publication date
US20210112148A1 (en) 2021-04-15
US7953114B2 (en) 2011-05-31
WO2011107963A1 (en) 2011-09-09
EP2543156A1 (en) 2013-01-09
EP2543156A4 (en) 2017-10-04
US11445052B2 (en) 2022-09-13
US20150350390A1 (en) 2015-12-03
CN102859921A (zh) 2013-01-02
US20100220728A1 (en) 2010-09-02
US20110206043A1 (en) 2011-08-25

Similar Documents

Publication Publication Date Title
US20210112148A1 (en) System and method for achieving accelerated throughput
JP5164123B2 (ja) スループットの向上を実現するシステム及び方法
CA2576038C (en) System and method for higher throughput through a transportation network
KR101610715B1 (ko) 단방향 데이터 송수신 시스템 및 방법
EP3084994A1 (en) Dynamic coding for network traffic by fog computing node
US7328393B2 (en) Forward error correction in packet networks
JP5060572B2 (ja) データ通信装置及び方法
WO2000072532A9 (en) System and method for network packet reduction
US11502986B2 (en) Reducing transmission delay of transmitting data in Wi-Fi
Wånggren et al. Live cloud ingest using open alternatives RIST & SRT
Lifen et al. The performance study of transmitting MPEG4 over SCTP
JP2014135724A (ja) サービスとしてのネットワーク品質
Coonjah et al. An Investigation of the TCP Meltdown Problem and Proposing Raptor Codes as a Novel to Decrease TCP

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140303

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150714