(57)【要約】【課題】ユーザデバイスをアプリケーションサーバに結合するためのアクセスネットワークの性能改善するためのシステムが実現される。【解決手段】システムは、アクセスネットワークを介して中間サーバに結合されたユーザデバイスを備える。ユーザデバイスは、ネットワーク性能増強コーディング（ＮＰＥＣ）を使用してデータを符号化し、符号化されたデータをアクセスネットワークを介して中間サーバに送信するように適合されたプロセッサを有する。中間サーバは符号化データを受信するように適合され、ＮＰＥＣを使用して符号化データを復号化し、復号化データをアプリケーションサーバに送信するように適合されたプロセッサを有する。【選択図】図１
2014135724.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデバイスをアプリケーションサーバに結合するためのアクセスネットワークの性能を改善する方法であって、
ネットワーク性能増強コーディング（ＮＰＥＣ）を使用してユーザデバイスにおいてデータを符号化するステップと、
符号化された前記データを前記アプリケーションサーバに結合されている中間サーバに送信するステップと、
前記ＮＰＥＣを使用して前記中間サーバにおいて符号化された前記データを復号化し、復号化された前記データを前記アプリケーションサーバに送信するステップと
を含む方法。
【請求項２】
請求項１に記載の方法であって、前記中間サーバは、プロキシサーバである、方法。
【請求項３】
請求項２に記載の方法であって、前記プロキシサーバは、前記アプリケーションサーバと同一の場所に置かれる、方法。
【請求項４】
請求項１に記載の方法であって、前記中間サーバは、プロキシサーバ、Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙｓ−Ａｒｏｕｎｄ−Ｎｅｔｗｏｒｋ−Ａｄｄｒｅｓｓ−Ｔｒａｎｓｌａｔｏｒ（ＴＵＲＮ）サーバ、および仮想プライベートネットワーク（ＶＰＮ）サーバからなる群から選択される、方法。
【請求項５】
請求項１に記載の方法であって、前記中間サーバは、１つまたは複数のＮＰＥＣを使用して符号化および復号化を行うことができる、方法。
【請求項６】
請求項１に記載の方法であって、
前記中間サーバにおいて前記アプリケーションサーバからアプリケーションデータを受信するステップと、
前記ＮＰＥＣを使用して前記アプリケーションサーバにおいて前記アプリケーションデータを符号化するステップと、
符号化された前記アプリケーションデータを前記ユーザデバイスに送信するステップと、
前記ＮＰＥＣを使用して、前記ユーザデバイスにおいて、符号化された前記アプリケーションデータを復号化するステップと
をさらに含む方法。
【請求項７】
請求項１に記載の方法であって、前記中間サーバは、プロキシサーバと同一の場所に置かれているＮＰＥＣサーバを含む、方法。
【請求項８】
請求項１に記載の方法であって、前記中間サーバは、プロキシサーバ、Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙｓ−Ａｒｏｕｎｄ−Ｎｅｔｗｏｒｋ−Ａｄｄｒｅｓｓ−Ｔｒａｎｓｌａｔｏｒ（ＴＵＲＮ）サーバ、および仮想プライベートネットワーク（ＶＰＮ）サーバからなる群から選択される、方法。
【請求項９】
ユーザデバイスをアプリケーションサーバに結合するためのアクセスネットワークの性能を改善するためのシステムであって、
前記アクセスネットワークを介して結合されたユーザデバイスおよび中間サーバを備え、
前記ユーザデバイスは、ネットワーク性能増強コーディング（ＮＰＥＣ）を使用してデータを符号化し、符号化された前記データを前記アクセスネットワークを介して前記中間サーバに送信するように構成されたプロセッサを有し、
前記中間サーバは符号化された前記データを受信するように構成され、前記ＮＰＥＣを使用して符号化された前記データを復号化し、複合化された前記データを前記アプリケーションサーバに送信するように構成されたプロセッサを有する、
システム。
【請求項１０】
請求項９に記載のシステムであって、前記中間サーバは、プロキシサーバである、システム。
【請求項１１】
請求項１０に記載のシステムであって、前記プロキシサーバは、前記アプリケーションサーバと同一の場所に置かれる、システム。
【請求項１２】
請求項９に記載のシステムであって、前記中間サーバは、プロキシサーバ、Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙｓ−Ａｒｏｕｎｄ−Ｎｅｔｗｏｒｋ−Ａｄｄｒｅｓｓ−Ｔｒａｎｓｌａｔｏｒ（ＴＵＲＮ）サーバ、および仮想プライベートネットワーク（ＶＰＮ）サーバからなる群から選択される、システム。
【請求項１３】
請求項９に記載のシステムであって、前記中間サーバは、１つまたは複数のＮＰＥＣを使用して符号化および復号化を行うことができる、システム。
【請求項１４】
請求項９に記載のシステムであって、
前記中間サーバの前記プロセッサは、前記アプリケーションサーバからアプリケーションデータを受信し、前記ＮＰＥＣを使用して前記アプリケーションデータを符号化し、符号化された前記アプリケーションデータを前記ユーザデバイスに送信するようにさらに構成され、
前記ユーザデバイスの前記プロセッサは、前記ＮＰＥＣを使用して符号化された前記アプリケーションデータを復号化するようにさらに構成された、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は、通信データネットワークに関するものである。より具体的には、本発明は、ネットワークのエッジから見たときにネットワークを通るデータ伝送のスループットを高めるためのシステムおよび方法に関するものである。
【背景技術】
【０００２】
[0002]パケットベースのネットワークでは、送信元エンドステーションまたはネットワークから送信先エンドステーションまたはネットワークへのデータ通信を可能にするために、データストリームをより小さなデータパケットに分割する。これらのパケットがネットワークを横断するときに、輻輳または他のネットワーク制限のせいでこれらのパケットの一部の損失が生じることがある。このパケット損失は、送信元エンドステーションと送信先エンドステーションとの間の通信チャネルを利用するアプリケーションに甚大な影響を及ぼしうる。理想的には、ネットワークは、多くのアプリケーションの観点から、決定論的パケット遅延を有し、パケット損失がない、完全な性能を備えていなければならない。しかし、完全なネットワーク性能を達成するための資本コストと運用コストは、ほとんどのサービスプロバイダおよびエンタープライズネットワークプロバイダにとって実際的ではない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0003]したがって、アプリケーションに高いネットワーク性能をもたらすために低コストのネットワークで使用できるシステムおよび方法が必要である。一アプローチでは、損失および遅延へのレスポンスを改善するためにエンドステーション側にインストールされる新しい符号化プロトコルスタックを作成する。しかし、このアプローチは、送信元ネットワークおよび送信先ネットワーク内のすべてのエンドステーションが新しい符号化プロトコルスタックを使用するためにアップグレードされなければならないため自明なアプローチとは言えない。
【０００４】
[0004]別のアプローチでは、標準プロトコルをインターセプトするネットワークデバイス、およびインターセプトネットワークデバイス（intercepting network devices）間の符号化プロトコルを使用して、ネットワーク損失から復旧する。これらのデバイスは、常駐するアプリケーションがネットワークそれ自体において一般的に利用可能であるものに比べてよいネットワーク性能を必要とするネットワークの領域内に展開される。このようなデバイスは、米国特許第７，７４２，５０１号の一部継続出願である、米国特許第８，００９，６９６号の一部継続出願である、米国特許第７，９５３，１１４号において説明されている。
【０００５】
[0005]符号化プロトコルは、損失を低減することを目的としている。この目標を達成するために、符号化プロトコルではネットワーク内で必要な全帯域幅を増大させる。帯域幅が増大すると実際には結果として、ネットワーク制約により代わりに損失が増大しうる。インターセプトネットワークデバイスは、この問題を検知し、通信するエンドステーションが望むアプリケーション性能を確実に達成するよう反応する必要がある。
【０００６】
[0006]既存のアクセスネットワークの品質は、一般的に、悪く、信頼性がない。一般に、その結果の性能は信頼できず、品質は予測不可能である。他方、バックボーンネットワークは、高速リンクでアップグレードされており、一般的に、十分な容量を有し、エンジニアリングはより信頼性が高い。
【０００７】
[0007]コンテンツに到達するために低品質のネットワーク上に留まらなくてすむように、キャッシングの実装が広範になされている。キャッシングは、データがアプリケーションにより近くなるように複数のロケーションでデータを複製することによって性能を改善する一解決手段であり、これにより、ホップが長いことによるネットワークの品質問題がある程度軽減される。
【０００８】
[0008]しかし、すべてのコンテンツをキャッシュできるわけではなく（例えば、リアルタイムアプリケーション、ユーザ生成コンテンツ）、キャッシングのコストはひどく高くつく可能性がある。最後に、キャッシュのロケーションがなおも送信元から遠く離れすぎていて、そのため結果としていぜんとして性能が低下するおそれもある。
【０００９】
[0009]キャッシュできない、またはキャッシングに対応できない、または近接性が達成されえないアプリケーションの性能を改善する必要がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許第７，９５３，１１４号
【特許文献２】米国特許第８，００９，６９６号
【特許文献３】米国特許第７，７４２，５０１号
【特許文献４】米国特許出願第１２／１９３，３４５号
【特許文献５】米国特許第７，７０６，３６５号
【特許文献６】米国特許公開第２０１１／０１４９０８７号
【００１１】
[0010]一実施形態によれば、ユーザデバイスをアプリケーションサーバに結合するためのアクセスネットワークの性能改善するためのシステムが実現される。システムは、アクセスネットワークを介して結合されたユーザデバイスおよび中間サーバ（intermediate server）を備える。ユーザデバイスは、ネットワーク性能増強コーディング（network performance enhancing coding）（ＮＰＥＣ）を使用してデータを符号化し、符号化されたデータをアクセスネットワークを介して中間サーバに送信するように適合されたプロセッサを有する。中間サーバは、符号化されたデータを受信するように適合され、符号化されたデータをＮＰＥＣを使用して復号化し、復号化されたデータをアプリケーションサーバに送信するように適合されたプロセッサを有する。好ましい実装では、中間サーバは、プロキシサーバ、Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙｓ−Ａｒｏｕｎｄ−Ｎｅｔｗｏｒｋ−Ａｄｄｒｅｓｓ−Ｔｒａｎｓｌａｔｏｒ（ＴＵＲＮ）サーバ、または仮想プライベートネットワーク（ＶＰＮ）サーバである。これらの中間サーバはどれも、アプリケーションサーバと同一の場所に配置できる。
【００１２】
[0011]中間サーバ内のプロセッサは、好ましくは、アプリケーションサーバからアプリケーションデータを受信し、ＮＰＥＣを使用してアプリケーションデータを符号化し、符号化されたアプリケーションデータをユーザデバイスに送信するようにさらに適合され、ユーザデバイス内のプロセッサは、好ましくは、ＮＰＥＣを使用して符号化されたアプリケーションデータを復号化するようにさらに適合される。
【図面の簡単な説明】
【００１３】
[0012]次に、本発明の実施形態について、添付されている図を参照しつつ、例としてのみ説明する。
【図１】本発明を実施することができる環境のブロック図である。
【図２】図１で使用されているインターセプトネットワークデバイス内のコンポーネントを例示するブロック図である。
【図３】標準パケットの例示的なセグメント化および符号化を示す図である。
【図４】損失を評価する第１のアルゴリズム例を示す図である。
【図５】平均損失を考慮する例示的な一実施形態を示す図である。
【図６】符号化レベルバックオフの一例を示す図である。
【図７】損失の著しい増加が検知され、符号化レベルバックオフが有効化されたときに実行されるステップを示す流れ図である。
【図８】符号化レベルバックオフが有効化された後に損失率安定化を検知するため実行されるステップを示す流れ図である。
【図９】損失の著しい増加が検知され、符号化レベルバックオフが有効化されたときに実行される代替的アルゴリズムを示す流れ図である。
【図１０】バースト損失による符号化レベルを制限する一例の流れ図である。
【図１１】符号化チャネルが開いたままでいる残り時間の間に制限された符号化レベルを処理する一例の流れ図である。
【図１２】期間ｄの間に制限された符号化レベルを処理する一例の流れ図である。
【図１３】制限された符号化レベルを処理する一例の流れ図である。この場合、符号化レベルは、制限された符号化レベルと一致するように一定期間にわたって増大される。
【図１４】本発明の一実施形態によるインタリーブモードの一例の流れ図である。
【図１５】本発明の一実施形態によるマルチレベルインタリーブモードの一例の流れ図である。
【図１６】インターセプトネットワークデバイスがバースト損失を処理しているときに実行されるステップを示す流れ図である。
【図１７】インターセプトネットワークデバイスがバースト損失を処理していて、インタリーブモードが有効化されているときに実行されるステップを示す流れ図である。
【図１８】インターセプトネットワークデバイスがインタリーブモードを出て、ランダムモードが有効化されているときに実行されるステップを示す流れ図である。
【図１９】インターセプトネットワークデバイスがインタリーブモードを出て、ランダムモードが有効化されているときに実行される代替的アルゴリズムを示す流れ図である。
【図２０】インターセプトネットワークデバイスがインタリーブモードを出て、ランダムモードが有効化されているときに実行される別の代替的アルゴリズムを示す流れ図である。
【図２１】インターセプトネットワークデバイスがインタリーブモードを出て、ランダムモードが有効化されているときに実行される別の代替的アルゴリズムを示す流れ図である。
【図２２】インターセプトネットワークデバイスがインタリーブモードおよび符号化レベルバックオフを使用してバースト損失を処理しているときに実行されるステップを示す流れ図である。
【図２３】バースト損失を処理するときに符号化レベルバックオフが必要かどうかを判定するために実行されるステップを示す流れ図である。
【図２４】性能増強のない既存のネットワークを示す表現図である。
【図２５】性能増強を実現するプロキシサーバの一例を示す図である。
【図２６】性能増強を加えたＴＵＲＮサーバの一例を示す図である。
【発明を実施するための形態】
【００１４】
[0039]本発明は、いくつかの好ましい実施形態に関して説明されるけれども、本発明はそれらの特定の実施形態に制限されないことは理解されるであろう。それどころか、本発明は、付属の請求項によって定められるような本発明の精神と範囲のうちにあるものとしてよいようなすべての代替形態、修正形態、および等価配置構成を対象とすることが意図されている。
【００１５】
[0040]図１は、送信元エンドステーション１０および送信先エンドステーション３０が標準プロトコル（例えば、パケットベースのプロトコル）を使用して通信するアプリケーションを有するネットワーク環境を例示している。このプロトコルは、例えば、インターネットまたは他の何らかの通信ネットワークとすることができるネットワーク２０を通して伝送される。エンドステーション１０および３０は、モデム、ローカルもしくはワイドエリアネットワーク、またはネットワーク２０にアクセスできる他のデバイスもしくはシステムを通じて接続されているパーソナルコンピュータなどの端末とすることができる。エンドステーション１０および３０上に常駐するいくつかのアプリケーションについては、さらによいネットワーク性能が必要となり、これらのアプリケーションに関係するパケットは、ネットワークデバイス４０および５０によってインターセプトされる。「インターセプト」ネットワークデバイスと言う場合、これは、ネットワークデバイス４０および５０がネットワーク性能を高める符号化プロトコルを使用して標準パケットを符号化することである。このネットワークの動作の仕方を例示するために、標準パケットフローは、送信元エンドステーション１０から送信先エンドステーション３０（すなわち、図１において左から右）であると仮定される。インターセプトネットワークデバイス４０は、送信元エンドステーション１０からの標準パケットを符号化し、それらの符号化されたパケットをネットワーク２０を通じてインターセプトネットワークデバイス５０に転送する。インターセプトネットワークデバイス５０は、パケットを復号化し、再構成された標準パケットを送信先エンドステーション３０に転送する。逆方向では、送信先エンドステーション３０から送信元エンドステーション１０へ流れるパケットは、インターセプトネットワークデバイス５０によって符号化され、ネットワーク２０越しにインターセプトネットワークデバイス５０に転送される。インターセプトネットワークデバイス４０は、これらのパケットを復号化し、再構成された標準パケットは、送信元エンドステーション１０に転送される。
【００１６】
[0041]図２は、ネットワーク性能を改善するために符号化プロトコルを実装するのに必要なモジュールを備えるインターセプトネットワークデバイス４０の例示的な一実施形態を示している。これらのモジュールは、単一のデバイス内にあるか、または複数のデバイス間に分散させることができる。図２の例示的な実施形態では、インターセプトネットワークデバイス４０は、ネイティブインターフェース６０、符号化インターフェース７０、復号器８０、および符号器９０を備える。ネイティブインターフェース６０は、送信元エンドステーション１０との間で標準パケットの送受信を行い、符号化インターフェース７０は、ネットワーク２０との間で符号化パケットの送受信を行う。
【００１７】
[0042]符号器８０は、ネイティブインターフェース６０から標準パケットを受信し、パケットを１つまたは複数のセグメントに分割することによって符号化パケットを生成し、この後、これらのセグメントは符号化インターフェース７０を使ってネットワーク２０に送信できる状態にある。復号器９０は、符号化インターフェース７０から符号化パケットを受信し、ネイティブインターフェース６０を使って送信元エンドステーション１０に送信するため標準パケットを生成する。
【００１８】
[0043]符号化パケットから標準パケットを作成し直す作業を補助するために、符号器９０は、付加的符号化パケットも作成することができる。これらの付加的符号化パケットは、標準パケットおよび符号化パケットから導出される。付加的符号化パケットは、１つまたは複数の符号化パケットがネットワーク２０を通しての送信中に失われた場合に送信先のインターセプトネットワークデバイス５０内の復号器が元の標準パケットを作成し直すか、または組み立て直すのを補助する。
【００１９】
[0044]一実施形態による標準パケットの符号化が図３に例示されている。説明を簡単にするため、元の標準パケットおよび符号化パケットからヘッダを省いてある。符号器において受信された標準パケット４００は、ｌバイト分のパケットペイロードを有しており、ｎ個のセグメント４０２にセグメント分割される。ｎがｌの整数係数として選択された場合、ｎ個のセグメントのそれぞれは、図示されているようにｌ／ｎバイトを有する。それに加えて、ｍ個の付加的符号化パケットが作成される。図３に示されている例では、ｍ＝１および追加すなわち付加的セグメント４０４は、論理関数（例えば、ＸＯＲ関数）をｎ個のセグメントのすべてに適用することによって作成されるパリティセグメントである。
【００２０】
[0045]符号器がセグメントおよび付加的符号化セグメントを作成するプロセスを完了した後、パケットにヘッダが追加され、符号化パケットおよび付加的符号化パケットを作成する。ヘッダでは、ネットワーク内に専用操作機能が期待されないように標準プロトコルを使用する。したがって、符号化パケットおよび付加的符号化パケットは、ネットワークを通して復号化インターセプトネットワーク要素に伝送される。符号器では、パケットのサイズを考慮し、標準プロトコルヘッダが符号化パケットに追加されるとネットワークの最大転送単位（ＭＴＵ）を超えることになるサイズの符号化パケットを送信するのを回避するためｎを自動的に増分することができる。この機能は、ジャンボフレームを取り扱えないネットワークに入る前にジャンボフレームを分割するのにも有用な場合がある。
【００２１】
[0046]復号器が符号化パケットおよび付加的符号化パケットから標準パケットを組み立て直すときに、復号器は符号化パケットの損失を処理することができる。十分な情報が付加的符号化パケットに含まれる場合、失われた符号化パケットによって引き起こされた欠落セグメントが作成し直される。損失が大きすぎる場合には、符号器はオプションを有する。標準パケットが制限された寿命を有する場合（ビデオパケットなど）、影響を受ける標準パケットは破棄される。アプリケーションがネイティブ機能としてパケット損失に対する回復性を備える場合、ここでもまた、標準パケットは破棄されうる。標準パケットが妥当な寿命を有し、アプリケーションがネイティブ機能として回復性を備えていない場合、復号器は、符号器に欠落セグメントの再送を要求することができる。これは、符号器は、ネットワークの他端で復号化に成功するまで標準パケットをバッファリングすると仮定する。
【００２２】
[0047]通信するアプリケーションに対するより高いネットワーク性能を可能にするために、インターセプトネットワークデバイス間で符号化チャネルが確立される。これらのチャネルの作成例は、米国特許出願第１２／１９３，３４５号において説明されている。本出願の目的に関して、インターセプトネットワークデバイス４０と５０との間の符号化チャネルは、ネゴシエーションに成功すると仮定される。符号化チャネルは、データと制御情報の両方を搬送するために使用され、符号化パケットおよび付加的符号化パケットは、インターセプトネットワークデバイス間で送受信することができる。
【００２３】
[0048]上記のネットワーク内のエンドステーション上に常駐するアプリケーションは、通信ネットワーク内の異なるレベルのパケット損失を許容することができる。インターセプトネットワークデバイスは、標準プロトコル信号伝達要素に基づきこれらのアプリケーションを区別することができる。ＦＴＰを使用するファイル転送の信号伝達にはＴＣＰポートが使用される。これは、６４０００の範囲内のＴＣＰポートを開いて、エンドステーション間でファイルをトランスポートする。ＴＣＰは、ネットワーク内の損失および遅延時間の変動に対する回復性を有する。転送の重要な目標は、ファイルが損なわれることなく、ネットワークに可能な適切なタイミングで届くことを確実にすることである。このアプリケーションは、テレビ会議アプリケーションとは対照的なものである。これらは、ＵＤＰポート５０６０上のセッション開始プロトコルを使用して信号伝達を行うことができ、また会議に関連するビデオ、音声、およびデータセッションに対する情報を含む。ビデオセッションは、損失に対する許容度が低く、アイフレーム（画面の完全な画像）の損失は、ビデオ圧縮アルゴリズムを大きく損なう可能性がある。ビデオストリームに必要な帯域幅が大きければ大きいほど、損失に対する許容度は低いが、それは、それぞれの標準パケットがビデオストリームに関係するより多くの情報を搬送しているからである。音声セッションは、人間の話言葉の予測的な性質のせいで損失に対して比較的高い許容度を有する。音声コーデックは、連続する音声ストリームを保証するためギャップを埋めることができる。いずれの場合も、ビデオおよび音声セッションは、ビデオブロッキングまたは音声クリッピングを回避するために１％未満の標準パケット損失を有する必要があり、ほとんどのプロバイダが、標準パケット損失を０．５％未満に抑えようとしている。
【００２４】
[0049]与えられているセッションに関する文脈内で、異なるストリームは、異なる損失目標で処理されうる。ディープパケットインスペクション（ＤＰＩ）は、アプリケーションの種類（ビデオ／音声／データ）を検知し、アプリケーションのその種類に対する構成済みネットワークポリシーに従って損失目標を設定するため、インターセプトネットワークデバイス内で使用されうる。最終的に、それぞれの標準パケットは、必要な保護レベルを識別するヘッダ内に用意された情報に基づきそれ専用の損失目標を有することができる（例えば、ＳＶＣ（スケーラブルビデオコーデック））。この損失目標は、ターゲット損失率（Target Loss Ratio）（ＴＬＲ）として定義される。
【００２５】
[0050]ＴＬＲは、ｎとｍの両方によって決定される符号化率を決定するために使用されうる。符号化率は、与えられたインターセプトネットワークデバイスに関連する符号化コンポーネントで終端する１つまたはすべての符号化チャネルに対して観察された、および／または報告されたネットワーク性能に基づき調整されうる。目標は、符号化チャネルがセッションに対するＴＬＲを達成するように、またはそれ以上に、符号化レベルを設定することである。
【００２６】
[0051]図４を参照すると、観察された損失率の決定は、インターセプトネットワークデバイスＡ１１０６とインターセプトネットワークデバイスＢ１１０７との間の符号化チャネルに関して、特に、インターセプトネットワークデバイスＡからインターセプトネットワークデバイスＢへの方向でチャネルを見て、説明されることがわかる。「無損失」、または許容可能な損失の状態の下で、符号化は、必要ないときにネットワーク内の付加的帯域幅を使用することを回避するためにｎ＝１およびｍ＝０に設定されうる。インターセプトネットワークデバイスＢ１１０７の復号器１１０９は、図４に例示されているサブルーチンを使用して、受信したパケットの数ＰｘおよびＷ時間単位の間隔（例えば、Ｗ＝８秒）で損失したパケットの数ＬＰｘをカウントする。この時間間隔は、特定の数のパケットの受信として定義することもできる。あるいは、ＬＰｘは、再送要求の数を表すことができ、回復に成功した損失は、損失率の一部としてはカウントされない。それぞれの間隔の終わりは、ステップ１１００で検知され、損失率Ｌｘは、例えば、
【００２７】
【数１】
2014135724.tif 000003
【００２８】
を使用して、ステップ１１０１で計算される。
[0052]式１の中のＰｘは、期間Ｗで送信された標準パケットの数とすることができる。この場合、ＬＰｘは、失われた標準パケットの数である。これは、ＳＰＬｘと称される。Ｐｘに対する別のオプションは、期間Ｗで標準パケットを組み立て直すために復号器に届いているべきである符号化セグメントおよび付加的符号化セグメントの数をカウントすることである。次いで、ＬＰｘは、期間Ｗでネットワーク内の失われたセグメントおよび付加的セグメントの数である。これは、ＥＰＬｘと称される。一般に、ＳＰＬｘは、符号化スキームが復号器による損失からの回復を助けるという事実によりＥＰＬｘより低く、そのため、標準パケットに関係する符号化パケットが失われたとしても標準パケットを再現することができる。その観点から、ＥＰＬｘは、ネットワークの性能のより正確な指標である。
【００２９】
[0053]現在の損失率（Ｌｘ）は、標準パケットの測定結果から計算される損失を指すものとしてよい（ＳＰＬｘ）。これは、符号化および付加的符号化セグメントから計算された現在の損失を指すものとしてよい（ＥＰＬｘ）。これは、ＳＰＬｘとＥＰＬｘとの組み合わせから計算された現在の損失率を指すものとしてもよい。この組み合わせの一例は、
【００３０】
【数２】
2014135724.tif 000004
【００３１】
であるが、ただし式中、ωｓは標準パケットの損失に付与された重みであり、ωＥは、符号化セグメントの損失に付与された重みである。
[0054]偶発的に発生する事象への反応を回避するために、ステップ１１０２では、最近のＺ回の損失測定結果にわたって平均損失を計算する。最近のネットワークステータスを考慮するために、例えば、式
【００３２】
【数３】
2014135724.tif 000005
【００３３】
を使用して、加重平均をとり、最近の現在の損失率の測定に重み付けすることができるが、ただし式中、ＷＬｘは、間隔ｘに対する最近の損失の測定結果の加重平均を表す。重みは、ｉ＜ｊ≦ｘに対してωｉ＜ωｊとなるような重みである。
【００３４】
[0055]多数の損失測定の経過を追うのを回避するために、例えば、式
【００３５】
【数４】
2014135724.tif 000006
【００３６】
を使用し、前の加重損失を使用して、新しい加重損失を評価することもできるが、ただし式中、ωｏｌｄおよびωｎｅｗは、一般にωｏｌｄ＜ωｎｅｗとなるように設定された重みである。
【００３７】
[0056]適宜、加重損失率をステップ１１０３で正規化し、整数のみを使用してルックアップを簡素化することができる。正規化損失ＮＬｘは、式
【００３８】
【数５】
2014135724.tif 000007
【００３９】
を使用して計算することができるが、ただし式中、Ｎは、正規化係数である（例えば、Ｎ＝１００００）。
[0057]次いで、現在の符号化レベルを抽出するためステップ１１０４でＮＬｘを使用して符号化レベルテーブルのインデックスを作成する。符号化レベルテーブルの一例が以下に示されているが、これは８つのレベルを構成するが、ただし表中、ＩＮＴ＿ｍａｘは、最大整数または大きな値（例えば、１００００）である。
【００４０】
【表１】
2014135724.tif 000008
【００４１】
[0058]次いで、インターセプトネットワークデバイスＢ１１０７の符号器１１１１は、抽出された符号化レベル１１０５をインターセプトネットワークデバイスＡ１１０６にそのセッションのために送信されたそれぞれの符号化パケットのヘッダ内に挿入する。インターセプトネットワークデバイスＡ１１０６内の復号器１１１２は、受信したパケットから符号化レベルを読み取る。次いで、ＩおよびＭａｘ＿ｎの値を得るために符号化レベルで新しいパラメータテーブルのインデックスを作成するが、この値は現在の符号化レベルが与えられた場合にｎが設定されるべき最大値である。複数の新しいパラメータテーブルを使用して、アプリケーション要件および許容可能なオーバーヘッドに基づき異なるＴＬＲを達成することができる。８個の損失率を使用するこのような新しいパラメータテーブルの一例を以下に示す。
【００４２】
【表２】
2014135724.tif 000009
【００４３】
ただし表中、ＩＮＴ＿ｍａｘは、最大整数（無限大）であるものとしてよい。
[0059]インターセプトネットワークデバイスＡ１１０６の符号器１１０８がサイズｓのパケットを符号化する前に、Ｒｅｃ＿ｎを得るために、ｓで事前構成されたパケットサイズテーブルのインデックスを作成するが、この値はパケットサイズが与えられた場合にｎの推奨値を表す。パケットサイズテーブルの一例を以下に示す。
【００４４】
【表３】
2014135724.tif 000010
【００４５】
[0060]このテーブルを使用すると、サイズｓ＜８８バイトのパケットは、Ｒｅｃ＿ｎ＝１を返すことがわかる。ｓ＞５２８バイトであれば、Ｒｅｃ＿ｎ＝４である。次いで、パケットを符号化するために使用されるｎの値が、ｎ＝ｍｉｎ（Ｒｅｃ＿ｎ，Ｍａｘ＿ｎ）で決定される。
【００４６】
[0061]別の実施形態では、復号器１１０９は、上記の式（３）または（４）を使用して加重損失率ＷＬｘを計算する。式（５）を使用し、適宜正規化してＮＬｘを計算する。正確な損失値（ＷＬｘまたはＮＬｘ）が、セッションに対する符号化チャネル内に挿入された制御メッセージにより規則正しい間隔で（例えば、１秒おきに）復号器１１１２に送られる。復号器１１１２は、制御メッセージから正確な損失値を抽出する。符号器１１０８は、正確な損失値を使用して、新しいパラメータテーブルのインデックスを作成し、Ｍａｘ＿ｎおよびｍを求める。
【００４７】
【表４】
2014135724.tif 000011
【００４８】
[0062]ｎの値は、ｎ＝ｍｉｎ（Ｒｅｃ＿ｎ，Ｍａｘ＿ｎ）として導出される。異なるターゲット損失率を反映するように複数の新しいパラメータテーブルを構成することができ、符号器１１０８は、アプリケーションのターゲット損失率に基づき適切なテーブルを使用する。現在の損失率の代わりに実際の損失率を送信することで、符号化側でパラメータテーブルを構成することができ、したがって、構成が簡素化される。
【００４９】
[0063]前の式は、個別のストリームに対する損失率の計算の仕方を示している。例として図５を取りあげると、インターセプトネットワークデバイスＤ１２０３は、インターセプトネットワークデバイスＡ１２０２、Ｂ１２０７、およびＣ１２０８をそれぞれ発信元とする３つのフロー１２０４、１２０５、および１２０６の損失率を計算することがわかる。フローについて測定された損失率を返すことに加えて、受信側インターセプトネットワークデバイスは、間隔ｘで送られる３つのフローから、加重損失率ＡＬｘの平均を計算することができる。
【００５０】
[0064]間隔期間は、単一のフローに対する損失率を計算するために使用される間隔期間と同じであってよい。平均損失率は、例えば、
【００５１】
【数６】
2014135724.tif 000012
【００５２】
で計算することができるが、ただし式中、ＷＬｉは上記の式（３）または（４）を使用して計算できる。次いで、上記の式（５）を使用してＡＬｘを正規化し、正規化された平均損失率ＮＡＬｘを求めることができる。次いで、符号化レベルテーブル内でＮＡＬｘをインデックス付けして、遠端における平均損失率（ＡＬＦＥｘ）を得る。符号化レベルテーブルは、上に例示されているか、または異なる数で事前構成されているものと同じであってよい。ＡＬＦＮｘが、上で説明されているように計算されたフロー毎の現在の損失率とともにインターセプトネットワークデバイスＤ１２０３の復号器によって各インターセプトネットワークデバイス１２０２、１２０７、および１２０８に送信される符号化パケットのパケットヘッダに加えられる。
【００５３】
[0065]集約情報がパケットヘッダ内に含まれる場合、インターセプトネットワークデバイス１２０２、１２０７、または１２０８は、その情報を使用してその符号化レベルを変更するかどうかを決定することができる。インターセプトネットワークデバイスＡ１２０２の復号器は、測定期間ｘにおいてアクティブであるｇ個の符号化されたセッション１２１１、１２１２、および１２０４から符号化チャネルで受信された現在の損失率の平均である近端における平均損失（ＡＬＮＥｘ）も
【００５４】
【数７】
2014135724.tif 000013
【００５５】
で計算する。
[0066]図５の例において、インターセプトネットワークデバイスＡ１２０２で計算されたＡＬＮＥｘは、インターセプトネットワークデバイスＤ１２０３、Ｅ１２０９、およびＦ１２１０から受信された現在の損失率の平均を表す。
【００５６】
[0067]セッションに対する現在の損失率とＡＬＦＥｘとの差が所定の閾値より低い場合、上で説明されているように、現在の損失率を使用して符号化レベルを設定する。この場合、現在の損失率が計算されたＡＬＮＥｘよりもよいか、またはわずかに悪いので、セッションは上流ネットワークを輻輳させていることはありえなと想定される。
【００５７】
[0068]現在の損失率とＡＬＦＥｘとの差が所定の閾値以上であり、かつ現在の損失率−ＡＬＮＥｘが所定の閾値以上である場合、その現在の損失率は無視され、符号化レベルは、パケットサイズテーブルにのみ従って設定され、与えられたパケットに対する最も帯域幅効率の高い符号化方法を選択することによって帯域幅の使用度を最小限度に抑える。所定の閾値は異なっていることもあり、またネットワークポリシーおよびトポロジに従って設定することが可能である。
【００５８】
[0069]ｎがどのように決定されようと（現在の損失または平均損失）、ｎの値の増加は、オーバーヘッドの増分が大きくならないように徐々に行われうる。テーブルによってｎのより大きな値が推奨される場合、これはその後の標準パケットの部分集合にのみ適用することができ、次に到来するｗ個の標準パケットのうちのｖ個の標準パケットのみがｎの増加された値を使用し、他のｗ−ｖ個のパケットはｎに対して前の低い値を使用する。ｖおよびｗの値は、測定された損失率が増加し続ける場合、または測定された損失率が次のレベルに近づくときにも変化しうる。
【００５９】
[0070]例えば、測定された損失（加重または正規化）が０％の場合、ｎ＝１、ｍ＝０、およびｖ＝ｗ＝１である。したがって、すべてのパケットは、ｎ＝１、ｍ＝０で符号化される。測定された損失が０％より大きく、０．０５％より小さい値まで増加する場合、ｎ＝４、ｍ＝１であるが、ｖ＝１およびｗ＝３であり、３つのパケットのうちの１つのみがｎ＝４で符号化され、他は、前の符号化レベルｎ＝１、ｍ＝０を使用する。測定された損失が０．０５％を超えるが、０．１％未満である場合、ｖ＝１およびｗ＝２に変化し、２つおきのパケットがｎ＝４で符号化され、他は、前の符号化レベルｎ＝１、ｍ＝０を使用する。測定された損失が０．１％を超えるが、０．２％以下である場合、ｖ＝１およびｗ＝１を使用し、すべてのパケットがｎ＝４で符号化される。ｖおよびｗの異なる値は、異なる所定の損失率でオーバーヘッドの増加を平滑化するように構成されうる。これができると、異なる損失率の間の伝達関数が著しく平滑化されうる。
【００６０】
[0071]インターセプトネットワークデバイスは、符号化レベルが上がるにつれネットワーク損失が減少するという理論に基づき動作する。しかし、ｎおよび／またはｍが増加するにつれ、インターセプトネットワークデバイスによって生成され、ネットワークを横断する、パケットの数が増加する。この結果、アプリケーション通信を達成するために必要な帯域幅が増大する。
【００６１】
[0072]帯域幅の増大は、場合によっては、損失の増大につながりうる。経路内の１つまたは複数のリンクが制約された帯域幅である場合、追加されるパケットは、実際にこの時点で輻輳を増大させる。送信用のリンクにパケットが到来しても、すぐに送信される場合も送信できない場合もある。パケットが送信できない場合のために、ほとんどのデバイスにおいて後で送信できるようにパケットをバッファリングするキューが実装される。いくつかのデバイスでは、このリンクに関連付けられているキューが特定のレベルまで大きくなると、ネットワーク輻輳制御機構（例えば、ＲＥＤ、ＷＲＥＤなど）が呼び出され、このリンク上の輻輳を処理することができる。このリンクに到来するパケットの数が増えると、符号化パケットの１つが破棄される可能性が高まる。この確率は、符号化チャネルによって加えられる追加のオーバーヘッドによっても高まる。追加のオーバーヘッドは、キューの深さをたちまち大きくし、したがって、パケットが破棄される確率も高まる。
【００６２】
[0073]輻輳の別の原因として、コンテキストのスイッチングがある。送信元エンドステーションと送信先エンドステーションとの間の経路内のネットワークデバイスは、期間毎に限られた数のパケットを転送することしかできない。したがって、符号化パケットをトランスポートするのに十分なリンク帯域幅が利用可能であっても、ネットワークデバイスはすべてのフレームを転送できるわけではなく、そのため損失が生じる。
【００６３】
[0074]したがって、経路内のパケットの数を増やす符号化レベル、およびオーバーヘッドの量を大きくすることによって、損失率が高まりうる。インターセプトネットワークデバイスは、この状況に対応するためのアルゴリズムを必要とする。最初に、インターセプトデバイスが、符号化チャネル上の損失率の著しい増加を検知する必要がある。これは、例えば、一定期間にわたる損失率の結果を追跡することによって、行える。これは、式（１）または（２）によって計算された現在の損失率、式（３）または（４）によって計算された加重損失率、式（５）によって計算された正規化された損失率、または損失を求める任意の他の方法によるものであってよい。
【００６４】
[0075]著しい増加を検知する方法の１つは、損失率の瞬間的変化を使用するものである。これは、現在の損失率と前の損失率との差を見るものである。
ΔＣＬＲｘ＝ＣＬＲｘ−ＣＬＲｘ−１    （８）
この差がＳＩＴとして定義される著しい増加の閾値を超える場合、損失率の著しい増加が検知される。著しい増加が生じたと誤って宣言するのを回避するため、送信元インターセプトネットワークデバイスと送信先インターセプトネットワークデバイスとの間で送信される符号化パケットの数は、統計的に関連性を有していなければならない。これは、以下の式の場合に取り込まれる。
【００６５】
【数８】
2014135724.tif 000014
【００６６】
[0076]瞬間的損失率を使用する代わりに、前の式において平均損失率を使用することができる（式（３）および（４）のように）。変化は、式（１０）を使用して計算することができる。
【００６７】
ΔＷＬｘ＝ＷＬｘ−ＷＬｘ−１    （１０）
次いで、著しい増加を以下のように決定することができる。
【００６８】
【数９】
2014135724.tif 000015
【００６９】
[0077]別のアプローチでは、増加が符号化レベルであって有効化されている場合に損失率を記録する。損失率の変化（ＣＬＲｏｒｉｇｉｎａｌ）が記録され、現在の瞬間的な損失率との比較の基準として使用される。現在の損失率が、例えば元の損失率の１０倍である場合、損失の著しい増加が検知されている。
【００７０】
【数１０】
2014135724.tif 000016
【００７１】
[0078]損失率の著しい増加が検知された後、インターセプトネットワークデバイスは、符号化レベルバックオフスキームを使用して反応する。この場合、インターセプトネットワークデバイスは、符号化レベルを増加させる代わりに減少させることによって損失に反応する。図６は、損失率の著しい増加の検出に応答して符号化レベルを減少させる一技術の流れ図である。最初に、ステップ１３００において、損失率の増加を停止する符号化レベルを見つけようとする。このレベルが達成された後、ステップ１３０１において、損失率が安定していることを確認してからインターセプトネットワークデバイスを損失率の通常処理に戻す。
【００７２】
[0079]図７は、図６のステップ１３００の一実装を示している。このアルゴリズムは、損失率の増加を停止する符号化レベルを見つけるステップを定義する。このアルゴリズムは、ステップ１４００で現在の損失率を記録することから開始し、次いで、チャネルの符号化レベルが、ステップ１４０１で下げられる。符号化レベルの低下は、いくつかの方法で実行できる。例えば、符号化レベルは、アルゴリズムの反復毎に直線的に低下させるか、または指数関数的に減少させることができる。一実装では、両方の方法をサポートし、符号化チャネルが確立されるときにこれらの方法のうちの１つを選択することができる。別の例では、符号化チャネルが作成される前に設定されている構成ポリシーを使用する。
【００７３】
[0080]ステップ１４０１で符号化レベルが低減された後、ステップ１４０２において、符号化レベルが０より大きいかどうかを判定する。ステップ１４０２で否定的な答えであれば、現在の損失率は開始時の損失率よりいぜんとして高く、符号化バックオフアルゴリズムが動作していないことを示し、そのため、アルゴリズムはステップ１４０３で打ち切られる。次いで、符号化チャネルは、通常の損失率処理に戻るか、またはｎ＝１およびｍ＝０に戻り、ユーザおよび／またはシステムに通知する。
【００７４】
[0081]ステップ１４０２での答えが肯定的である場合、システムはステップ１４０４に進み、そこで、インターセプトネットワークデバイスは一定期間ｄの間待ってから、ステップ１４０５で現在の損失率を再びサンプリングする。次いで、ステップ１４０６は、現在の損失率がステップ１４０６の開始時の損失率より高い、すなわち、損失率が所定のある量だけ変わらず増加しているかどうかを判定し、アルゴリズムは、ステップ１４０６からステップ１４０１および１４０２に戻り、チャネルに対する符号化レベルを再び下げる。ステップ１４０６での答えが否定的である場合、システムはステップ１４０７に進み、現在の符号化レベルの結果損失率が安定しているかどうかを判定する。
【００７５】
[0082]図８は、図６のステップ１３０１の一実装を示している。このアルゴリズムは、現在の符号化レベルの結果安定した損失率をもたらしているかどうかを判定するステップを定義する。このアルゴリズムは、ステップ１５００で初期化されたループ内で実行される。次いで、インターセプトネットワークデバイスは、ステップ１５０１で一定期間ｄの間待ってから、ステップ１５０２で現在の損失率を再びサンプリングする。現在の損失率が開始時の損失率より著しく高い場合、ステップ１５０３でアルゴリズムは終了し、符号化レベルのバックオフに戻る。ステップ１５０３において、現在の損失率が開始時の損失率より低いままであるかどうかを判定し（ステップ１５０３）、次いで、アルゴリズムがループカウンタをインクリメントし（ステップ１５０４）、最大反復回数に達するまで現在の損失率のサンプリングを続ける（ステップ１５０５）。この時点で、損失率の著しい増加が処理されたため、アルゴリズムは終了する。
【００７６】
[0083]図６のアルゴリズムの他の実装がある。例えば、図９は、符号化レベルバックオフスキームの代替的実装を示している。この場合、アルゴリズムは、ステップ１６００で開始時の損失率を現在の損失率の値に設定し、次いで、ステップ１６０１において、最初に、損失率が下げられるかどうかを判定するため符号化レベルを上げる。ステップ１６０４で、損失率の低下を検知した場合、アルゴリズムは終了して、損失率が安定していることを確認するステップに進み、その後、通常の損失率処理に戻る。ステップ１６０４で、損失率の低下が検知されない場合、アルゴリズムはステップ１６０５および１６０６に進み、符号化レベルを２レベル下げ、次いで、ステップ１６０２に進み、一定期間待ってから現在の損失率を再びチェックする。これが成功した場合（ステップ１６０３および１６０４）、アルゴリズムは、損失率が安定していることを確認してから通常の損失率処理に戻る。ステップ１６０４において、現在の損失率が開始時の損失率よりいぜんとして高いと判定し、ステップ１６０５において、これが最初の反復でないと判定した場合、アルゴリズムは図７のアルゴリズムを使用して符号化レベルのバックオフを続ける。
【００７７】
[0084]損失率の著しい増加を処理する別のアプローチ（図６のステップ１３００における）では、図１０のアルゴリズムを使用して、著しい増加を引き起こしている符号化レベルを制限する。ステップ１７００において、現在の符号化レベルは制限された符号化レベルとして記録され、次いで、現在の符号化レベルが、ステップ１７０１で下げられる。次いで、ステップ１７０２において、現在の符号化レベルが制限された符号化レベル未満に留まることを確認する。
【００７８】
[0085]図６のステップ１３０１において、符号化レベルの制限が損失率を安定化させるかどうかを判定する方法が多数ある。図１１に示されている方法の１つは、符号化チャネルがアクティブである間に符号化レベルが再度使用されることのないようにアルゴリズムを単に終了するというものである。図１２は、ステップ１８０１で符号化チャネルに対する符号化レベルを再有効化する前にステップ１８００で一定期間ｄだけ遅延する代替的技術を示している。図１３は、符号化レベルがゆっくりと調整されて制限された符号化レベルに戻る別の代替的形態を示している。これが行われる期間は、ステップ１９００で設定された遅延期間ｄ、およびステップ１９０２で符号化レベルを増加させるために使用される増分に依存する。ステップ１９０１は、現在の符号化レベルを制限された符号化レベルと比較して、現在の符号化レベルが制限された符号化レベルより小さいかどうかを判定する。答えが肯定的である限りにおいて、システムはステップ１９０２に進み、符号化レベルを上げる。制限されたレベルが達成された後、アルゴリズムはステップ１９０３で終了する。
【００７９】
[0086]高レベルのネットワーク損失を処理するための別の戦略は、インタリーブ方式（「インタリーブモード」と称される）で符号化パケットを送信するように符号器を構成することであり、これにより、異なる標準パケットにまたがって複数の符号化パケットを失うリスクを分散させ、符号化パケットを組み立て直しできる確率を高めることができる。したがって、符号化パケットのグループをそれぞれのグループが単一の標準パケットに対応するように順次送信する代わりに、異なる標準パケットからの符号化パケット同士をインタリーブする。図１４は、インタリーブモードの一例を示す。この例では、標準パケットＡ、Ｂ、およびＣがそれぞれ符号化パケットＡ１、Ａ２とＢ１、Ｂ２、Ｂ３とＣ１、Ｃ２、Ｃ３、Ｃ４とにセグメント化されると仮定している。符号化パケットＡ２、Ｂ３、およびＣ４は、付加的符号化パケットである。各標準パケットに従ってグループ化されたこれらの符号化パケットを送信する代わりに、これらは、ｋ個の標準パケットのグループによってインタリーブされる。図１４の例では、ｋ＝３である。符号器は、ｋ個の標準パケットに対応する符号化パケットをバッファ１３０３内に格納する。あるいは、符号器は、所定の期間に、または時間依存の情報が検知されるまで（例えば、ディープパケットインスペクションを介して）、到来する多数のパケットを格納する。並べ替えを回避するために、符号化パケットの集合を、それぞれの標準パケットの最後の２番目のデータがテールにあり、最後に送信され、それぞれの標準パケットの第１の符号化パケットがヘッドにあり、最初に送信されるように左に揃えられる。符号器は、物理的インターフェース１３０４上で、ヘッドにあるデータ単位を上から下への順序により、または同じ標準パケットからの２つの連続する符号化パケットの送信を最小にする順序により、送信する。図１４の例では、符号化パケットは、Ｃ１、Ｂ１、Ｃ２、Ａ１、Ｂ２、Ｃ３、Ａ２、Ｂ３、およびＣ４の順序で送信されうる。すべての付加的符号化パケットを最後に送信することで遅延を最小にすることができる。このインタリーブは、ランダムに実行することもできる。インタリーブするパケットのグループは、インターフェースから送信されるすべての符号化パケットを含みうるか、またはインタリーブするグループは、同じアプリケーション（例えば、テレビ会議の同じチャネル）、同じ送信先、または事前構成されたグルーピングの符号化パケットを含みうる。
【００８０】
[0087]図１５では、インタリーブされた符号化パケットの異なるインタリーブされたグループ１４０１、１４０２、１４０３の符号化パケットをインタリーブすることによって別のレベルのインタリーブが達成される。このようなインタリーブによって、データ単位の大きな損失の影響を最小限度に抑えることができ、採用されている符号化および戦略に応じて、この種類の損失は回復可能であるものとしてよい。
【００８１】
[0088]「インタリーブモード」は、バースト損失に対処する場合にも使用することができる。バースト損失は、現在の損失率（すなわち、式（１）、（２）、（３）、または（４）の結果）が所定の量（例えば、２倍）だけターゲット損失率を超えている場合に検知することができる。バースト損失を処理する一技術は、図１６に例示されている。バースト損失が最初に検知されると、損失率の跳ね返りが抑制される。バースト損失が持続すると仮定すると、インタリーブモードへの遷移がステップ２０００で実行される。インタリーブモードが有効化されている場合、ステップ２００１でランダムモードに戻る条件がチェックされ、検証される。
【００８２】
[0089]インタリーブモードへの遷移の一例は、図１７に示されている。アルゴリズムは、インタリーブモードを有効化する前に問題が持続していることを確認するために現在の損失率の跳ね返りを抑制する。この実装では、ステップ２１００で初期化されるループを使用し、次いで、ステップ２１０１で一定期間ｄの間遅延する。現在の損失率は、ステップ２１０２で取り出され、ステップ２１０３でチェックされて、現在の損失率が、この標準的なプロトコルタイプに対して許容可能である、ターゲット損失率の２倍を超えているかどうかを判定する。ステップ２１０３で答えが肯定的である場合、ステップ２１０４でループカウンタがインクリメントされ、次いでステップ２１０５で、ループカウントが最大反復回数に達したかどうかを判定する。答えが否定的である場合、システムはステップ２１０１に戻り、ステップ２１０２および２１０３を繰り返す。ステップ２１０３で答えが否定的であれば、ルーチンは終了し、ステップ２１０５で答えが肯定的であれば、ステップ２１０６でインタリーブモードが有効化される。
【００８３】
[0090]したがって、遅延期間ｄ×最大反復回数において損失率が維持されると仮定すると、キューはインタリーブモードに設定され、アルゴリズムはランダムモードへの復帰を処理するに続く。損失率が引き続きアプリケーションに対するＴＬＲの２倍を超えていなければ、アルゴリズムは終了し、インタリーブモードが無効化される。
【００８４】
[0091]ランダムモードへの復帰は、図１８〜２１に例示されているいくつかの異なる方法のうちのどれかによって実行されうる。符号化チャネルに実際に使用される方法は、いくつかの方法で選択されうる。インターセプトネットワークデバイスは、すべての符号化チャネルに使用する方法で構成されうる。また、インターセプトネットワークデバイスは、符号化される標準プロトコルに適合するポリシーを有するものとしてよい。あるいは、インターセプトネットワークデバイスは、符号化チャネルが確立されるときに使用する方法をネゴシエートすることができる。
【００８５】
[0092]図１８は、ランダムモードに復帰するための最も直接的方法を例示している。この場合、符号化チャネルがインタリーブモードに入っているときにステップ２２００でタイマーが起動される。タイマーがタイムアウトになると、ステップ２２０１でチャネルがランダムモードに戻る。
【００８６】
[0093]図１９において、アルゴリズムは、キューがランダムモードに戻る前にインタリーブモードが現在の損失率に影響を及ぼすことを確実にする。現在の損失率は、ランダムモードが有効化される前に期間ｄ×最大反復回数の間にターゲット損失率の２倍より低くなければならない。これを完全にするために、ループを使用して現在の損失率をサンプリングする。ループは、ステップ２３００で初期化され、次いで、ステップ２３０１で一定遅延期間ｄの間待つ。現在の損失率は、ステップ２３０２で取り出され、ステップ２３０３でチェックされて、現在の損失率が、ターゲット損失率の２倍を超えているかどうかを判定する。ステップ２３０３で答えが肯定的である場合、ステップ２３０４でループカウンタがインクリメントされ、次いでステップ２３０５で、ループカウントが最大反復回数に達したかどうかを判定する。答えが否定的である場合、システムはステップ２３０１に戻り、ステップ２３０２および２３０３を繰り返す。ステップ２３０５で答えが肯定的であれば、ステップ２３０６でランダムモードが有効化される。
【００８７】
[0094]図２０は、現在の損失率を使用する代わりに、平均損失率が使用されることを除き、図１９に類似している。ループは、ループカウンタを０に設定し、開始時の平均損失を現在の平均損失に設定することによってステップ２４００で初期化され、次いで、システムが、ステップ２４０１で一定遅延期間ｄの間待つ。現在の平均損失率は、ステップ２４０２で取り出され、ステップ２４０３でチェックされて、現在の平均損失率が、開始時の平均損失を超えているかどうかを判定する。ステップ２４０３で答えが肯定的である場合、ステップ２４０４でループカウンタがインクリメントされ、次いでステップ２４０５で、ループカウントが最大反復回数に達したかどうかを判定する。答えが否定的である場合、システムはステップ２４０１に戻り、ステップ２４０２および２４０３を繰り返す。ステップ２４０５で答えが肯定的であれば、ステップ２４０６でランダムモードが有効化される。
【００８８】
[0095]図２１は、符号化レベルを変更することも許されていることを除き、図２０に類似している。ループは、ループカウンタを０に設定し、開始時の平均損失を現在の平均損失に設定することによってステップ２５００で初期化され、次いで、システムが、ステップ２５０１で一定期間ｄの間待つ。現在の平均損失率は、ステップ２５０２で取り出され、ステップ２５０３でチェックされて、現在の平均損失率が、開始時の平均損失を超えているかどうかを判定する。ステップ２５０３で答えが否定的であれば、ステップ２５６０７で現在の平均損失率を処理するように符号化レベルが調整され、ステップ２５００に戻る。ステップ２５０３で答えが肯定的である場合、ステップ２５０４でループカウンタがインクリメントされ、次いでステップ２５０５で、ループカウントが最大反復回数に達したかどうかを判定する。答えが否定的である場合、システムはステップ２５０１に戻り、ステップ２５０１〜２５０３を繰り返す。ステップ２５０５で答えが肯定的であれば、ステップ２５０６でランダムモードが有効化される。
【００８９】
[0096]図２２は、ＴＬＲの２倍を超える現在の損失率またはバースト損失の両方の著しい変化を処理することを組み合わせたアルゴリズムを示している。この実施形態では、アルゴリズムは、符号化チャネルがインタリーブモードに遷移することを必要としているかどうかを判定することによってステップ３００から開始する。これが必要であると仮定して、アルゴリズムは、ステップ３００１で符号器レベルバックオフが必要かどうかをチェックして確認する。バックオフが必要かどうかに関係なく、アルゴリズムは、ステップ３００２で符号化チャネルがランダムモードにいつ戻るかを決定する。
【００９０】
[0097]ステップ３０００でインタリーブモードへの遷移を処理することは、図１８と同じようにして行える。ステップ３００２で、図１８〜２１に例示されているアルゴリズムのうちのどれかを使用して、ランダムモードに戻る遷移を見る。
【００９１】
[0098]ステップ３００２でバックオフが必要かどうかを判定することは図２３に例示されている。このアルゴリズムは、ランダムモードからインタリーブモードへの遷移の効果の跳ね返りを抑制する。この測定は、符号化レベルの増加の後に実行すべきである。これは、一定遅延期間ｄ×最大反復回数の間ループして、現在の損失率をチェックする。ループは、ステップ３１００で初期化され、ステップ３１０１で一定遅延期間ｄを有する。この遅延期間が終了すると、現在の損失率がステップ３１０２でサンプリングされ、ステップ３１０３でＴＬＲの２倍と比較される。現在の損失率がＴＬＲの２倍より大きい場合、超過カウンタがステップ３１０４でインクリメントされる。そうでない場合、ループカウンタは、ステップ３１０５でインクリメントされる。このプロセスは、ループカウンタがステップ２５０６で最大反復回数に達するまで続く。この時点で、超過カウンタがステップ２５０７でチェックされ、それが最大反復回数に等しければ、ステップ３５０８で符号化レベルバックオフは有効化される。そうでない場合、アルゴリズムは、ランダムモードへの復帰の処理に進む。
【００９２】
[0099]図２４において、デバイス２４０１、２４０２は、信頼できないネットワーク性能を有するネイティブの、品質の悪い、ネットワーク接続２４０４を使用して、アプリケーションサーバ２４０３（例えば、Ｙｏｕｔｕｂｅ（商標）サーバ）にアクセスする。
【００９３】
[00100]いくつかのネットワーク性能増強コーティング技術（ＮＰＥＣ）が存在する。ＮＰＥＣは、一方のロケーションにある符号器および第２のロケーションにある復号器を使用するネットワーク符号化技術を備え、符号器と復号器との間に配置されているセグメント内のネットワークの性能が改善される。ＮＰＥＣは、例えば、上で説明されているＮＰＥＣ、さらには、米国特許第７，７０６，３６５号および米国特許公開第２０１１／０１４９０８７号で説明されているもの、または他の類似の方法を含む。ＮＰＥＣは、一般的に、双方向接続を処理するため一端の符号器／復号器の対および他端の復号器／符号器の対がある必要があることを意味するブックエンディングを必要とするが、それは、これらの技術が一般的に標準プロトコルを修正し、パケットは他方の側に適合する復号器がないと回復可能でないからである。
【００９４】
[00101]図２５は、アプリケーションサーバ端にＮＰＥＣを置くことが可能でない一実施形態を示している。プロキシサーバ２５０１が、ネットワークに追加され、１つまたは複数のＮＰＥＣ機構の符号化／復号化を実行する。トラヒックは、プロキシサーバを介してルーティングされ、デバイス２４０１、２４０２とプロキシサーバ２５０１の間のネットワークセグメント２５０２（通常はアクセスネットワーク）は、プロキシサーバ２４０４内に実装されている選択されたＮＰＥＣ仕様に基づき符号化／復号化される。その結果、ネットワークセグメントは、性能および信頼性を高めている。
【００９５】
[00102]プロキシサーバ２０１は、さらなる性能低下が最小となるようにアプリケーションサーバ２４０３と同一の場所に置くことができる。別の実施形態では、ＮＰＥＣサーバは、プロキシサーバと同一の場所に展開される。
【００９６】
[00103]プロキシサーバ内で上述のＮＰＥＣを使用することで、バックアップアプリケーションは、バックアップ時間を８０％短縮することができる。障害回復は、５倍改善され、大きなファイルの転送は、６倍短縮されうる。
【００９７】
[00104]Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙｓ  ａｒｏｕｎｄ  ＮＡＴ（ＴＵＲＮ）は、ネットワークアドレス変換器（ＮＡＴ）またはファイアウォールの背後にある要素がＴＣＰまたはＵＤＰ接続を介して入ってくるデータを受信することを可能にするプロトコルである。図２６は、ＴＵＲＮサーバ２６０１がＮＰＥＣサービスを実装し、かつクライアント２６０２、２６０３のうちの一方または両方がＮＰＥＣで保護されているネットワークセグメント２６０４内の増強された／信頼できる品質を利用することができる一例を示している。
【００９８】
[00105]性能依存のアプリケーションは、ＮＰＥＣの符号化／復号化を実装し、次いでプロキシサーバまたはＴＵＲＮサーバを通じてＮＰＥＣサービスにアクセスするように設計されうる。あるいは、デバイスは、すでに、１つまたは複数のＮＰＥＣ対応ドライバを備えている場合がある。
【００９９】
[00106]サービスとして品質を提供する別の実施形態は、ＶＰＮサーバを使用するものである。１つまたは複数のＮＰＥＣ符号化／復号化機構は、ＶＰＮサーバ内に、およびＶＰＮクライアント内に実装することができ、これにより、クライアントとＶＰＮサーバとの間の少なくとも一部が品質を高める。
【０１００】
[00107]プロキシサーバ実施形態は、ＮＰＥＣ管理セグメントの性能が適切であることを保証するため適宜測定結果を集め、ネットワークエンジニアリングが適切であることを保証するため測定結果に基づき性能解析を実行することができる。
【０１０１】
[00108]以下の説明では、説明を目的として、本発明を完全に理解できるようにする多数の詳細を述べている。しかし、当業者には、本発明の実施形態を実施するためにこれらの具体的詳細事項は必要ないということは明白であろう。他の場合には、本発明をわかりにくくしないために、よく知られている電気的構造および回路はブロック図形式で示されている。例えば、本明細書で説明されている発明の実施形態がソフトウェアルーチン、ハードウェア回路、ファームウェア、またはこれらの組み合わせとして実装されるかどうかに関して、具体的詳細を述べていない。
【０１０２】
[00109]本発明の実施形態は、サーバまたは他のコンピューティングデバイスなどのエンドポイント、および関連する符号化コンポーネントを有するネットワーク内に実装されうる。符号化コンポーネントおよび説明されている方法は、ハードウェア、ソフトウェア、またはこれらの組み合わせで実装することができる。ソフトウェアで実装される部分は、機械可読媒体（コンピュータ可読媒体、プロセッサ可読媒体、またはコンピュータ可読プログラムコードが中に具現化されているコンピュータ使用可能媒体とも称される）内に格納されているソフトウェア製品として表現することができる。機械可読媒体は、ディスケット、コンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、メモリデバイス（揮発性または不揮発性）、または類似の記憶装置機構を含む磁気記憶媒体、光記憶媒体、または電気的記憶媒体を含む好適な有形の媒体とすることができる。機械可読媒体は、実行されたときに方法の中のステップをプロセッサに実行させる、さまざまな命令セット、コード列、構成情報、または他のデータを収めることができる。当業者であれば、説明されている実施形態を実装するために必要な他の命令および演算も機械可読媒体に格納できることを理解するであろう。機械可読媒体から実行しているソフトウェアは、記述されているタスクを実行する回路とインターフェースすることができる。
【０１０３】
[00110]本発明の特定の実施形態およびアプリケーションが図示され説明されているが、本発明が本明細書に開示されている正確な構造および構成に限定されないこと、および付属の請求項で定められている発明の精神および範囲から逸脱することなくさまざまな修正、変更、および改変は前記の説明から明らかであることは理解されるであろう。
【符号の説明】
【０１０４】
１０  送信元エンドステーション
２０  ネットワーク
３０  送信先エンドステーション
４０  ネットワークデバイス
５０  ネットワークデバイス
６０  ネイティブインターフェース
７０  符号化インターフェース
８０  復号器
９０  符号器
４００  標準パケット
４０２  セグメント
４０４  追加セグメント
１１０６  インターセプトネットワークデバイス
１１０７  インターセプトネットワークデバイス
１１０８  符号器
１１０９  復号器
１２０２  インターセプトネットワークデバイス
１２０３  インターセプトネットワークデバイス
１２０４  フロー
１２０５  フロー
１２０６  フロー
１２０７  インターセプトネットワークデバイス
１２０８  インターセプトネットワークデバイス
１２０９  インターセプトネットワークデバイス
１２１０  インターセプトネットワークデバイス
１２１１  セッション
１２１２  セッション
１３０３  バッファ
１３０４  物理的インターフェース
【図１】
2014135724.tif 000017
【図２】
2014135724.tif 000018
【図３】
2014135724.tif 000019
【図４】
2014135724.tif 000020
【図５】
2014135724.tif 000021
【図６】
2014135724.tif 000022
【図７】
2014135724.tif 000023
【図８】
2014135724.tif 000024
【図９】
2014135724.tif 000025
【図１０】
2014135724.tif 000026
【図１１】
2014135724.tif 000027
【図１２】
2014135724.tif 000028
【図１３】
2014135724.tif 000029
【図１４】
2014135724.tif 000030
【図１５】
2014135724.tif 000031
【図１６】
2014135724.tif 000032
【図１７】
2014135724.tif 000033
【図１８】
2014135724.tif 000034
【図１９】
2014135724.tif 000035
【図２０】
2014135724.tif 000036
【図２１】
2014135724.tif 000037
【図２２】
2014135724.tif 000038
【図２３】
2014135724.tif 000039
【図２４】
2014135724.tif 000040
【図２５】
2014135724.tif 000041
【図２６】
2014135724.tif 000042
【外国語明細書】
2014135724000001.pdf