"信頼できないネットワークを介したデータ通信の速度を上げる方法であって、通信の2つのエンドポイントのそれぞれに関連付けされた符号化コンポーネントを提供するステップと、前記エンドポイント間の通信セッションのために前記符号化コンポーネント間に符号化チャネルを確立するステップと、前記通信に関係する複数のデータパケットを、前記符号化コンポーネントの一方でインターセプトするステップと、前記複数のデータパケットのそれぞれをセグメント化及びパッケージ化して、セグメント化及びパッケージ化されたデータパケットを提供するステップであって、セグメント化及びパッケージ化された前記データパケットは、前記符号化コンポーネントの他方へ伝送するために、少なくとも1つの符号化データセグメントと少なくとも1つの余剰符号化セグメントとを有する、ステップと、セグメント化及びパッケージ化された前記データパケットを、前記符号化コンポーネントの前記一方で記憶するステップと、セグメント化及びパッケージ化された前記データパケットを、所定条件を満たすときに前記符号化チャネルを介して前記符号化コンポーネントの前記他方へ伝送するステップと、受けた符号化データセグメント及び受けた余剰符号化セグメントに基づいて、前記符号化コンポーネントの前記他方で、前記複数のデータパケットを復号及び再構築するステップと、再構築した前記データパケットを、前記符号化コンポーネントの前記他方からその個々のエンドポイントへ伝送するステップとを含む方法。請求項1記載の方法であって、前記所定条件はタイマーの終了である、方法。請求項2記載の方法であって、前記タイマーは、前記複数のデータパケットの個々の1つがインターセプトされるときに起動する、方法。請求項1記載の方法であって、前記所定条件は、リアルタイム性のデータを含むパケットのインターセプトである、方法。請求項1記載の方法であって、前記所定条件は、所定数のセグメント化及びパッケージ化された前記データパケットの記憶である、方法。請求項1記載の方法であって、前記複数のデータパケットの前記符号化データセグメントと前記少なくとも1つの余剰符号化セグメントとは、前記符号化データセグメントと前記少なくとも1つの余剰符号化セグメントの順序を維持するようにインターリーブ及び伝送される、方法。請求項6記載の方法であって、パッケージ化及びセグメント化された前記データパケットは、順序正しくそれぞれのサイズにしたがって記憶され、パッケージ化及びセグメント化された各データパケットからのセグメントが順に伝送される、方法。請求項1記載の方法であって、前記複数のデータパケットのそれぞれの前記符号化データセグメントと前記少なくとも1つの余剰符号化セグメントとは、ランダムな順序で伝送される、方法。請求項1記載の方法であって、前記符号化データセグメントの1つが前記符号化コンポーネントの前記他方で所定期間内に受けられなかった場合に、前記符号化データセグメントの1つが失われたと判定するステップをさらに含む、方法。請求項9記載の方法であって、前記所定期間は、所与のデータパケットの第1符号化データセグメントを受けたときに設定されるタイマーの終了により判定される、方法。請求項9記載の方法であって、前記所定期間は、リングバッファを参照することにより判定される、方法。請求項10記載の方法であって、前記リングバッファは紛失した符号化データセグメントのシーケンス番号を追跡して、前記リングバッファが循環して所与の符号化データセグメントのシーケンス番号へ戻ったとき、前記所与の符号化データセグメントが失われたと判定する、方法。請求項9記載の方法であって、所与のセグメント化及びパッケージ化されたデータパケットからの所定数の符号化データセグメントが失われたと判定されたときに、複数のデータパケットからの符号化データセグメントをインターリーブするステップをさらに含む、方法。請求項1記載の方法であって、データパケットをセグメント化及びパッケージ化するステップは、前記データパケットをn個の符号化データセグメントにセグメント化及びパッケージ化するステップを含み、n>1である、方法。請求項14記載の方法であって、nは前記データパケットのサイズに基づいて動的に調整される、方法。請求項15記載の方法であって、nは、符号化データセグメントのサイズが所定の最大転送単位のサイズを超過しないようにして選択される、方法。信頼できないネットワークを介したデータ通信の速度を上げる方法であって、該信頼できないネットワークは、第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符号化コンポーネントのうちの前記他方からその個々のエンドポイントへ伝送するステップとを含む方法。請求項16記載の方法であって、前記符号化チャネルを確立するステップはさらに、前記通信セッションを一意に識別する情報を記憶するステップを含む、方法。信頼できないネットワークを介したデータ通信の速度を上げる方法であって、2つのエンドポイント間の通信セッションのために、第1符号化コンポーネントと第2符号化コンポーネントとの間に符号化チャネルを確立するステップであって、前記第1符号化コンポーネントで、前記2つのエンドポイントの第1のものから発されて前記2つのエンドポイントの他方へ向かうメッセージを検出するステップと、前記他方のエンドポイントに向かうマークされたメッセージを作成するステップであって、前記マークされたメッセージはあるマークをもち、該あるマークは前記第1エンドポイントがデータパケットを両方の符号化コンポーネントに既知のプロトコルに従ってセグメント化及び符号化することが可能であることを示し、前記あるマークは複数の使用可能なマークから選択されたものである、ステップと、前記マークされたメッセージを前記他方のエンドポイントへ転送するステップと、事前に選択された時間期間内に前記第2符号化コンポーネントから前記マークされたメッセージへの返信を受けたかを決定することを受けるステップであって、前記時間期間内に返信を受けない場合は、前記複数の使用可能なマークから選択された違うマークをもつ新しいマークされたメッセージを作成し、該新しいマークされたメッセージを前記他方のエンドポイントへ転送する、ステップと、前記時間期間内に前記第2符号化コンポーネントから返信を受けたことに応答して、前記符号化コンポーネント間に通信チャネルを確立するために制御メッセージを交換するステップとにより前記符号化チャネルを確立するステップと、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうち一方で、前記通信に関係するデータパケットをインターセプトするステップと、前記データパケットをセグメント化及びパッケージ化して、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの他方へ伝送するために符号化データセグメントを提供するステップと、前記符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ、前記符号化チャネルを介して伝送するステップと、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方で、受けた前記符号化データセグメントに基づいて、前記データパケットを復号及び再構築するステップと、再構築した前記データパケットを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方からその個々のエンドポイントへ伝送するステップとを含み、所定時間内に返信を受けない場合は、前記複数の使用可能なマークからさらなるマークを選択することにより、さらなるマークされたメッセージが作成され、前記複数の使用可能なマークのいずれについても返信を受けない場合は、ネットワークマネージャは、前記第2エンドポイントは前記第1エンドポイントとの通信の速度を上げることができないことを告げられる、方法。請求項16記載の方法であって、後続の通信セッションで使用するために前記あるマークのアイデンティフィケーションを記憶するステップをさらに含む、方法。請求項16記載の方法であって、符号化データパケットが所定タイムアウト期間内に伝送されない場合はテアダウン状態に入るステップをさらに含む、方法。信頼できないネットワークを介したデータ通信の速度を上げる方法であって、2つのエンドポイント間の通信セッションのために、第1符号化コンポーネントと第2符号化コンポーネントとの間に符号化チャネルを確立するステップであって、前記第1符号化コンポーネントで、前記2つのエンドポイントの第1のものから発されて前記2つのエンドポイントの他方へ向かうメッセージを検出するステップと、前記他方のエンドポイントに向かうマークされたメッセージを作成するステップであって、前記マークされたメッセージはあるマークをもち、該あるマークは前記第1エンドポイントがデータパケットを両方の符号化コンポーネントに既知のプロトコルに従ってセグメント化及び符号化することが可能であることを示し、前記あるマークは複数の使用可能なマークから選択されたものである、ステップと、前記マークされたメッセージを前記他方のエンドポイントへ転送するステップと、事前に選択された時間期間内に前記第2符号化コンポーネントから前記マークされたメッセージへの返信を受けたかを判定することを受けるステップであって、前記時間期間内に返信を受けない場合は、前記複数の使用可能なマークから選択された違うマークをもつ新しいマークされたメッセージを作成し、該新しいマークされたメッセージを前記他方のエンドポイントへ転送する、ステップと、前記時間期間内に前記第2符号化コンポーネントから返信を受けたことに応答して、前記符号化コンポーネント間に通信チャネルを確立するために制御メッセージを交換するステップとにより前記符号化チャネルを確立するステップと、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうち一方で前記通信に関係するデータパケットをインターセプトするステップと、前記データパケットをセグメント化及びパッケージ化して、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ伝送するために符号化データセグメントを提供するステップと、前記符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ、前記符号化チャネルを介して伝送するステップと、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方で、受けた前記符号化データセグメントに基づいて、前記データパケットを復号及び再構築するステップと、再構築した前記データパケットを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方からその個々のエンドポイントへ伝送するステップと、符号化データパケットが所定タイムアウト期間内に伝送されない場合はテアダウン状態に入るステップとを含み、前記テアダウン状態中は、新しく受けたデータパケットがセグメント化及びパッケージ化されない、方法。請求項16記載の方法であって、前記第1符号化コンポーネント及び前記第2符号化コンポーネントは他の符号化コンポーネントに優先する、方法。信頼できないネットワークを介したデータ通信の速度を上げる方法であって、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符号化コンポーネント間に前記符号化チャネルを確立するステップとにより、前記優先を主張するステップとを含む、方法。信頼できないネットワークを介したデータ通信の速度を上げる方法であって、2つのエンドポイント間の通信セッションのために、第1符号化コンポーネントと第2符号化コンポーネントとの間に符号化チャネルを確立するステップであって、前記第1符号化コンポーネントで、前記2つのエンドポイントの第1のものから発されて前記2つのエンドポイントの他方へ向かうメッセージを検出するステップと、前記他方のエンドポイントに向かうマークされたメッセージを作成するステップであって、前記マークされたメッセージはあるマークをもち、該あるマークは前記第1エンドポイントがデータパケットを両方の符号化コンポーネントに既知のプロトコルに従ってセグメント化及び符号化することが可能であることを示し、前記あるマークは複数の使用可能なマークから選択されたものである、ステップと、前記マークされたメッセージを前記他方のエンドポイントへ転送するステップと、事前に選択された時間期間内に前記第2符号化コンポーネントから前記マークされたメッセージへの返信を受けたかを判定することを受けるステップであって、前記時間期間内に返信を受けない場合は、前記複数の使用可能なマークから選択された違うマークをもつ新しいマークされたメッセージを作成し、該新しいマークされたメッセージを前記他方のエンドポイントへ転送する、ステップと、前記時間期間内に前記第2符号化コンポーネントから返信を受けたことに応答して、前記符号化コンポーネント間に通信チャネルを確立するために制御メッセージを交換するステップとにより前記符号化チャネルを確立するステップと、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうち一方で前記通信に関係するデータパケットをインターセプトするステップと、前記データパケットをセグメント化及びパッケージ化して、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの他方へ伝送するために符号化データセグメントを提供するステップと、前記符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方へ、前記符号化チャネルを介して伝送するステップと、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方で、受けた前記符号化データセグメントに基づいて、前記データパケットを復号及び再構築するステップと、再構築した前記データパケットを、前記第1符号化コンポーネント及び前記第2符号化コンポーネントのうちの前記他方からその個々のエンドポイントへ伝送するステップとを含み、前記第1符号化コンポーネント及び前記第2符号化コンポーネントは、特定の符号化コンポーネントから受けたマークされたパケットを無視し、前記マークされたパケットを透過的に伝送するように構成された、方法。請求項21記載の方法であって、前記符号化コンポーネントは、アクティブでない期間中にキープアライブメッセージをさらに伝送する、方法。請求項16記載の方法であって、前記エンドポイントの1つはマスターエンドポイントとして指定され、前記方法は、前記マスターエンドポイントが、前記符号化チャネルのテアダウンが示されたかを判定するステップをさらに含む、方法。請求項27記載の方法であって、前記マスターエンドポイントは、所定期間内に新しいデータパケットを受けなかった場合に、テアダウンが示されたと判定する、方法。信頼できないネットワークにおいて2つのエンドポイント間のデータ通信の速度を上げるように、データを符号化するための符号化レートを設定する方法であって、該2つのエンドポイントはそれぞれ、個々に符号化コンポーネントと関連付けされており、前記方法は、前記エンドポイント間の通信セッションのために、前記符号化コンポーネント間に符号化チャネルを確立するステップと、前記符号化コンポーネントの一方で前記通信に関係するデータパケットをインターセプトするステップと、前記データパケットをセグメント化及びパッケージ化して、前記符号化コンポーネントの他方へ伝送するために符号化データセグメントを提供するステップと、前記符号化データセグメントと少なくとも1つの余剰符号化セグメントとを、前記符号化コンポーネントの前記他方へ、前記符号化チャネルを介して伝送するステップと、前記符号化コンポーネントの前記他方で、受けた前記符号化データセグメントに基づいて、前記データパケットを復号及び再構築するステップと、再構築した前記データパケットを、前記符号化コンポーネントの前記他方からその個々のエンドポイントへ伝送するステップと、前記通信セッションのために重み付け損失比率を計算するステップと、前記重み付け損失比率に基づいて前記符号化レートを調節するステップと、を含む、方法。請求項29記載の方法であって、前記重み付けされた比率を計算するステップは、前記重み付けされた比率を先行する通信セッションの平均損失比率に従って計算するステップを含む、方法。請求項29記載の方法であって、前記重み付けされた比率を計算するステップは、前記重み付けされた比率を再送要求に従って計算するステップを含む、方法。請求項29記載の方法であって、前記重み付け損失比率に従って現在の損失レベルを計算するステップをさらに含む、方法。請求項32記載の方法であって、前記重み付け損失比率は正規化される、方法。請求項32記載の方法であって、前記現在の損失レベルは前記符号化コンポーネントの前記他方へ通信される、方法。請求項34記載の方法であって、前記現在の損失レベルは前記符号化データセグメントの1つのヘッダ部で通信される、方法。請求項35記載の方法であって、前記ヘッダ部はさらに、所望のレベルの保護を識別する、方法。請求項36記載の方法であって、前記所望のレベルの保護は、ネットワークポリシーに従って構成された損失目標に従って判定される、方法。請求項34記載の方法であって、前記現在の損失レベルは、制御チャネルを介して通信される、方法。[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]本発明の他の態様及び特徴は、以下の本発明の特定の実施形態の記載及び添付図面を見れば、当業者には明らかであろう。[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データ単位を再構築モジュールが依然として再構成できるよう、冗長情報を符号化することが可能である。周知の方法及び符号化技術、たとえばリードソロモン、前方消失訂正ForwardErasureCorrection技術、ボースチョードリオッカンガム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、並びに送信元ポート及び宛先ポートであり得る。イーサネットフレームについては、VLANIDを用いることもできる。[0057]マークされたパケットRmを用いて、符号化コンポーネント302に、符号化コンポーネント304が本発明に従ってセグメント化及び符号化されたパケットの送出及び受取できることを信号で知らせる。パケットのマーキングは、例えば、パケットのIPヘッダにオプションを設定すること、及びIP識別フィールドを既知の値に設定すること、の一方又は双方からなり得る。伝送中、公衆ネットワーク300のルータ及び他の装置はIP識別フィールドを変更しないでおいてもよい。他の適宜のマーキング方式又は信号伝達方式、例えばIPアドレスフラグをタイムスタンプに設定する等、を用いることができるが、ただし、考慮中のプロトコルに従って通信することができない装置をなるべく破壊及び停止させないものを用いる。[0058]次に符号化コンポーネント304がマークされたパケットRmを、公衆ネットワーク300を介してエンドポイントAへ転送する。マークされたパケットRmは符号化コンポーネント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は、オプションで、さまざまなタイプの可能なマーキングテーブルを維持する。マークされたパケットRmが、符号化コンポーネント302がマークを認識しないため、又はルータ又は経路上の他の装置がマークを除去したためのいずれかの理由で、符号化コンポーネント302により検出されない場合は、ハロー返信は符号化コンポーネント304へ返送されない。なんらかの所定遅延後、符号化コンポーネント304は、さまざまなタイプのマーキングテーブルのうちの違うタイプのマークで別のパケットRm2をマークし、この符号化コンポーネントは、符号化コンポーネント302がハローメッセージを送出してマークの受取を確認するまで、マークを変更し続けることができる。符号化コンポーネント304は、どのマークが別の符号化コンポーネントへ首尾よく到達したかを追跡して、今後またその符号化コンポーネントへの到達を試みるときには、そのマークを最初に使用することができる。全てのタイプのマークを用いてもチャネル確立の試みが失敗に終わった場合は、符号化コンポーネント304は、ネットワーク管理システム又はインターフェースに対し、所与の符号化コンポーネント302がマークを理解できないこと、又はネットワークに存在していないことを示すことができる。さらなる符号化ソフトウェアのインストールに優先度をつけるために、どのくらいの頻度で他方の符号化コンポーネント302が符号化チャネルの一部であったかに関して、符号化コンポーネント304又は外部システムにより統計を収集することができる。[0061]符号化チャネルは、所定タイムアウト期間が経過するまでアクティブなままであり、所定タイムアウト期間中は、符号化コンポーネントは任意のさらなるパケットを受けることができない。そして、双方が符号化チャネルをテアダウンteardownする。通信チャネルの両端のタイマーは同期を取られていないので、エンドポイントは、所定タイムアウト期間後はテアダウン状態に入り得る。テアダウン状態中は、入って来るパケットは引き続き復号されるが、出て行くパケットは符号化されなくなる。テアダウン状態は所定期間又は符号化パケットを受けなくなるまでアクティブである。エンドポイントは、トラフィックがなくてもチャネルを存続させるためにキープアライブメッセージを送出することができる。所定期間トラフィックが送出されないと、その後キープアライブを停止することができ、チャネルは所定タイムアウト期間後にテアダウンされる。あるいは、エンドポイントの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秒で受けたパケット数Pxと損失したパケット数LPxをカウントする1100。あるいは、LPxは、再送要求数を表すことができ、首尾よく回復した損失が損失比率の一部としてカウントされないようにできる。損失比率Lxは、例えば次の比率を用いて計算することができる1101。Lx=LPx/PxLPx1[0071]ランダムなイベントに反応することを避けるために、最後のz個の損失測定値に対して平均損失を計算することができる1102。最新のネットワーク状態を考慮するために、次式により加重平均を行い最新の測定値を重み付けすることができる。ここでWLXは、間隔xにおける最新の損失測定値の加重平均を示す。重みwiは、i<j<=xに対してwi<wjである。[0072]多数の損失測定値を追跡することを避けるために、すでに重み付けされた損失を用いて新しい重み付け損失を評価することもできる。ここでwold及びwnewは重みであり、一般にwold<wnewになるように設定される。[0073]オプションで、重み付け損失比率を正規化することができ1103整数のみを用いることでルックアップを簡素化することができる。正規化損失NLXは、次式を用いて計算することができる。ここでNは正規化因数例えば、N=10000である。[0074]次にNLxを用いて損失レベルテーブル1104をインデクスし、現在の損失レベルを抽出できるようにする。以下に示すのは損失レベルテーブルの例であり、8つの損失レベルが提供されており、INT_maxは最大整数又は大きな値例えば、10000を表す。[0075]次に符号化コンポーネントB1107の送出処理1111が、そのセッションのために符号化コンポーネントA1106へ送出される各第2データ単位のヘッダに、現在の損失レベルを挿入する1105。符号化コンポーネントA1106の受取処理1112が、受けたパケットから現在の損失レベルを読み取る。そして受取処理1112は、新しいパラメータテーブルを現在の損失レベルでインデクスしてn及びMax_nの値が得られるようにする。Max_nは、現在の損失レベルを所与として設定されるべきnの値として最大のものを示す。アプリケーション要求及び許容範囲のオーバーヘッドに基づいてさまざまな損失目標を達成するために、複数の新しいパラメータテーブルを用いることができる。新しいパラメータテーブルの例として、8つの損失レベルを用いたものを以下に示す。[0076]ここでINT_maxは最大整数無限大を示す。符号化コンポーネントA1106の送出処理1108は、サイズsのパケットを符号化する前に、事前に構成されたパケットサイズテーブルをsでインデクスしてrec_nを得られるようにし、rec_nは、このパケットサイズを所与としたmの推奨値を表す。パケットサイズテーブルの例を以下に示す。[0077]このテーブルを用いると、s<88バイトのパケットはRec_n=1を返す。s>528バイトであれば、Rec_n=4である。パケットを符号化するために用いられるnの値は、n=minRec_n,Max_nと求められる。[0078]本発明の別の実施形態では、受取処理1109が、重み付け損失比率WLxを、上述した式2又は3により計算する。オプションでこれを正規化して式4によりNLxを計算することができる。正確な損失値WLx又はNLxは制御メッセージに入れて一定間隔例えば、毎秒で受取処理1112へ送出され、制御メッセージはそのセッションの符号化チャネルへ挿入されている。受取処理1112は、制御メッセージから正確な損失値を抽出する。送出側の符号化コンポーネント1108は、正確な損失値を用いて新しいパラメータテーブルをインデクスして、Max_n及びmを得られるようにする。[0079]nの値はn=minRec_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個のフローから、重み付け損失比率平均ALxも計算する。[0082]この間隔期間は、1つのフローの損失比率を計算するために用いた間隔期間と同じであってよい。平均損失比率は例えば、次式で計算することができる。[0083]ここでWLiは上記の式2又は3により計算することができる。そしてALxを式4により正規化して正規化平均損失比率NALxを作成することができる。次にNALXを損失レベルテーブルにインデクスして、ファーエンドの平均損失レベルALFEXが得られるようにする。損失レベルテーブルは上記のものと同じであってもよいし、さまざまな数を用いて事前に構成することもできる。ALFNXは上述したように計算されたフロー毎の現在の損失レベルとともに、第2データ単位のパケットヘッダに追加され、第2データ単位のパケットヘッダは、符号化コンポーネントD1203の送出処理によりそれぞれの符号化コンポーネント1202、1207、1208へ伝送される。[0084]全ての情報がパケットヘッダに含まれる場合は、送出側符号化コンポーネント1202、1207、1208はその情報を用いて自身の符号化レベルを変更すべきかを決定することができる。符号化コンポーネントA1202の受取処理はニアエンドの平均損失ALNEXを計算することもでき、ニアエンドの平均損失ALNEXは、測定期間xの間アクティブなg個の符号化セッション1211、1212、1204からの戻りチャネルで受けた現在の損失レベルの平均である。[0085]図12の例では、符号化コンポーネントAで計算されるALNExは、符号化コンポーネントD1203、符号化コンポーネントE1209、及び符号化コンポーネントF1210から受けた現在の損失レベルの平均を示す。[0086]セッションの現在の損失レベルとALFExとの差が所定閾値より下であれば、上述したように現在の損失レベルを用いてm及びnを設定する。この場合、セッションは上流ネットワークを混雑させていないであろうと仮定され、これは現在の損失レベルが計算されたALFExよりも良い又は劣っていてもわずかであるためである。[0087]現在の損失レベルとALFExとの差が所定閾値以上であり、なおかつ現在の損失レベルからALNExを差し引いたものが所定閾値以上である場合は、現在の損失レベルは無視されて、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]上述した本発明の実施形態は例示にすぎない。当業者であれば本発明の範囲を逸脱することなく特定の実施形態に対し代替、修正及び変更を行うことができ、本発明の範囲は添付の請求項によってのみ定められる。"