(57)【要約】  システムは、第１のソケットを使用してトンネリングクライアントとトンネリングサーバとの間にメイントンネルを構築し、メイントンネルは、対応するトンネル識別子およびインターネットプロトコル（「ＩＰ」）アドレスを含む。上記システムは、テレコミュニケーションセッション中にメイントンネルを介してカプセル化されたメディアを通過させ、次いで、クローントンネルがテレコミュニケーションセッションに必要であることを判断する。上記システムは、クローントンネル候補として印付けされた第２のソケットを使用してトンネリングクライアントとトンネリングサーバとの間にクローントンネルを構築し、クローントンネルは、メイントンネルの対応するトンネル識別子およびＩＰアドレスを含む。次いで、上記システムは、テレコミュニケーションセッション中にメイントンネルの代わりにクローントンネルを介してカプセル化されたメディアを通過させる。
2019528488.tif 000002
【特許請求の範囲】
【請求項１】
テレコミュニケーションセッション中にカプセル化されたメディアを伝送する方法であって、
第１のソケットを使用してトンネリングクライアントとトンネリングサーバとの間にメイントンネルを構築するステップを備え、前記メイントンネルは、対応するトンネル識別子およびインターネットプロトコル（ＩＰ）アドレスを備え、前記方法はさらに、
前記テレコミュニケーションセッション中に前記メイントンネルを介して前記カプセル化されたメディアを通過させるステップと、
クローントンネルが前記テレコミュニケーションセッションに必要であることを判断するステップと、
クローントンネル候補として印付けされた第２のソケットを使用して前記トンネリングクライアントと前記トンネリングサーバとの間にクローントンネルを構築するステップとを備え、前記クローントンネルは、前記メイントンネルの前記対応するトンネル識別子およびＩＰアドレスを備え、前記方法はさらに、
前記テレコミュニケーションセッション中に前記メイントンネルの代わりに前記クローントンネルを介して前記カプセル化されたメディアを通過させるステップを備える、方法。
【請求項２】
前記メイントンネルおよび前記クローントンネルは、トンネル化サービス制御機能（ＴＳＣＦ）基準に従って構築される、請求項１に記載の方法。
【請求項３】
前記メイントンネルは、第１のサーバに関連付けられる第１のインターフェイスにおいて終了し、前記クローントンネルは、前記第１のサーバとは異なる第２のサーバに関連付けられる第２のインターフェイスにおいて終了する、請求項１に記載の方法。
【請求項４】
前記クローントンネルは、ＴＳＣＦサービスメッセージを使用することなく構築される、請求項２に記載の方法。
【請求項５】
前記メイントンネルおよび前記クローントンネルは、伝送制御プロトコル（ＴＣＰ）トランスポートまたはユーザデータグラムプロトコル（ＵＤＰ）トランスポートのいずれかを備える、請求項１に記載の方法。
【請求項６】
前記メイントンネルおよび前記クローントンネルは、同一の内側層と、異なる外側層とを備える、請求項１に記載の方法。
【請求項７】
前記メイントンネルの代わりに前記クローントンネルを介してシグナリングトラフィックを通過させるステップをさらに備える、請求項１に記載の方法。
【請求項８】
前記クローントンネルが前記テレコミュニケーションセッションに必要であることを判断するステップは、前記テレコミュニケーションセッションの品質劣化のレベルを判断するステップを備える、請求項１に記載の方法。
【請求項９】
命令を格納するコンピュータ読取可能な媒体であって、前記命令は、プロセッサによって実行されたときに、前記プロセッサにテレコミュニケーションセッション中にカプセル化されたメディアを伝送させ、前記伝送は、
第１のソケットを使用してトンネリングクライアントとトンネリングサーバとの間にメイントンネルを構築することを備え、前記メイントンネルは、対応するトンネル識別子およびインターネットプロトコル（ＩＰ）アドレスを備え、前記伝送はさらに、
前記テレコミュニケーションセッション中に前記メイントンネルを介して前記カプセル化されたメディアを通過させることと、
クローントンネルが前記テレコミュニケーションセッションに必要であることを判断することと、
クローントンネル候補として印付けされた第２のソケットを使用して前記トンネリングクライアントと前記トンネリングサーバとの間にクローントンネルを構築することとを備え、前記クローントンネルは、前記メイントンネルの前記対応するトンネル識別子およびＩＰアドレスを備え、前記伝送はさらに、
前記テレコミュニケーションセッション中に前記メイントンネルの代わりに前記クローントンネルを介して前記カプセル化されたメディアを通過させることを備える、コンピュータ読取可能な媒体。
【請求項１０】
前記メイントンネルおよび前記クローントンネルは、トンネル化サービス制御機能（ＴＳＣＦ）基準に従って構築される、請求項９に記載のコンピュータ読取可能な媒体。
【請求項１１】
前記メイントンネルは、第１のサーバに関連付けられる第１のインターフェイスにおいて終了し、前記クローントンネルは、前記第１のサーバとは異なる第２のサーバに関連付けられる第２のインターフェイスにおいて終了する、請求項９に記載のコンピュータ読取可能な媒体。
【請求項１２】
前記クローントンネルは、ＴＳＣＦサービスメッセージを使用することなく構築される、請求項１０に記載のコンピュータ読取可能な媒体。
【請求項１３】
前記メイントンネルおよび前記クローントンネルは、伝送制御プロトコル（ＴＣＰ）トランスポートまたはユーザデータグラムプロトコル（ＵＤＰ）トランスポートのいずれかを備える、請求項９に記載のコンピュータ読取可能な媒体。
【請求項１４】
前記メイントンネルおよび前記クローントンネルは、同一の内側層と、異なる外側層とを備える、請求項９に記載のコンピュータ読取可能な媒体。
【請求項１５】
前記伝送は、前記メイントンネルの代わりに前記クローントンネルを介してシグナリングトラフィックを通過させることをさらに備える、請求項９に記載のコンピュータ読取可能な媒体。
【請求項１６】
前記クローントンネルが前記テレコミュニケーションセッションに必要であることを判断することは、前記テレコミュニケーションセッションの品質劣化のレベルを判断することを備える、請求項９に記載のコンピュータ読取可能な媒体。
【請求項１７】
ユーザ機器装置であって、
アプリケーションと、
トンネリングクライアントとを備え、
前記トンネリングクライアントは、第１のソケットを使用してトンネリングクライアントとトンネリングサーバとの間にメイントンネルを構築するように構成され、前記メイントンネルは、対応するトンネル識別子およびインターネットプロトコル（ＩＰ）アドレスを備え、
前記トンネリングクライアントは、前記テレコミュニケーションセッション中に前記メイントンネルを介して前記カプセル化されたメディアを通過させるように構成され、
前記アプリケーションは、クローントンネルが前記テレコミュニケーションセッションに必要であることを判断するように構成され、
前記トンネリングクライアントは、クローントンネル候補として印付けされた第２のソケットを使用して前記トンネリングクライアントと前記トンネリングサーバとの間にクローントンネルを構築するように構成され、前記クローントンネルは、前記メイントンネルの前記対応するトンネル識別子およびＩＰアドレスを備え、
前記トンネリングクライアントは、前記テレコミュニケーションセッション中に前記メイントンネルの代わりに前記クローントンネルを介して前記カプセル化されたメディアを通過させるように構成される、ユーザ機器装置。
【請求項１８】
前記メイントンネルおよび前記クローントンネルは、トンネル化サービス制御機能（ＴＳＣＦ）基準に従って構築される、請求項１７に記載のユーザ機器装置。
【請求項１９】
前記メイントンネルは、第１のサーバに関連付けられる第１のインターフェイスにおいて終了し、前記クローントンネルは、前記第１のサーバとは異なる第２のサーバに関連付けられる第２のインターフェイスにおいて終了する、請求項１７に記載のユーザ機器装置。
【請求項２０】
前記クローントンネルは、ＴＳＣＦサービスメッセージを使用することなく構築される、請求項１８に記載のユーザ機器装置。
【発明の詳細な説明】
【技術分野】
【０００１】
分野
一実施形態は、一般に通信ネットワークに向けられ、特に通信ネットワークを介したトンネル内でのカプセル化されたメディアの伝送に向けられる。
【背景技術】
【０００２】
背景情報
多くの企業環境は、公衆交換電話網（「ＰＳＴＮ」）電話通信サービスを、ボイスオーバーＩＰ（「ＶｏＩＰ」）またはＩＰ電話通信として一般に知られている、インターネットプロトコル（「ＩＰ」）を使用する電話通信サービスと置き換えてきた。ＩＰ電話通信は、その根幹としてＩＰネットワークを使用するので、ビデオ会議、通話録音および着信転送などの高度な特徴を提供することができる。
【０００３】
最近では、モバイルデータ加入者の基盤が増大し、インターネットアクセスが広く利用でき、固定ネットワークでもモバイルネットワークでも帯域幅の可用性が高いことにより、（オーバーザトップ（「ＯＴＴ」）サービスとして知られている）インターネットを介してアクセスされる高度なサービスが人気を博している。これにより、競合するサービスプロバイダはＯＴＴサービスを提供するようになり、そのためこれらの新たなサービスを実施する際に対応する課題に直面するようになっている。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
一実施形態は、システムであって、上記システムは、第１のソケットを使用してトンネリングクライアントとトンネリングサーバとの間にメイントンネルを構築し、上記メイントンネルは、対応するトンネル識別子およびインターネットプロトコル（「ＩＰ」）アドレスを含む。上記システムは、テレコミュニケーションセッション中に上記メイントンネルを介して上記カプセル化されたメディアを通過させ、次いで、クローントンネルが上記テレコミュニケーションセッションに必要であることを判断する。上記システムは、クローントンネル候補として印付けされた第２のソケットを使用して上記トンネリングクライアントと上記トンネリングサーバとの間にクローントンネルを構築し、上記クローントンネルは、上記メイントンネルの上記対応するトンネル識別子およびＩＰアドレスを含む。次いで、上記システムは、上記テレコミュニケーションセッション中に上記メイントンネルの代わりに上記クローントンネルを介して上記カプセル化されたメディアを通過させる。
【図面の簡単な説明】
【０００５】
【図１】本発明の実施形態を実現する、および／または、本発明の実施形態と相互作用するネットワーク要素を含むネットワークの概略図である。
【図２】本発明の実施形態に係るコンピュータサーバ／システムのブロック図である。
【図３】実施形態に係るメディアトラフィックをカプセル化するためのトンネル化サービス制御機能トンネリング構成における例示的なプロトコル層を示す。
【図４】図１を参照して本明細書に記載されている、アプリケーションと通信するトンネリングクライアントおよびサービスプロバイダネットワークと通信するトンネリングサーバなどのネットワーク要素を含む。
【図５】本発明の実施形態に係るカプセル化されたメディアトラフィックを運ぶためのクローントンネルを作成する際の図２の高速アクセストンネルクローニングモジュールならびに／または図１のトンネリングクライアントおよびトンネリングサーバのフロー図である。
【発明を実施するための形態】
【０００６】
詳細な説明
一実施形態では、カプセル化されたメディアまたはシグナリングトラフィックのためのメインテレコミュニケーショントンネルが構築される。テレコミュニケーションセッション（たとえば、音声通話）中に、品質の低下が検出されると、またはその他の理由で、メイントンネルと同一のＩＰアドレスを有する第２の「クローン」トンネルが構築され、当該第２のクローントンネルは、メイントンネルとは異なるトランスポート層を使用し得て、メイントンネルとは異なるサーバに接続し得る。次いで、トラフィックは、第２のクローントンネルに移行される。
【０００７】
図１は、本発明の実施形態を実現する、および／または、本発明の実施形態と相互作用するネットワーク要素を含むネットワーク１００の概略図である。ネットワーク１００は、インターネットプロトコル（「ＩＰ」）ネットワーク１１４を介してサービスプロバイダネットワーク／バックボーン１２２とリアルタイム通信（「ＲＴＣ」）を行うユーザ機器（「ＵＥ」）１０２を含む。ＲＴＣでは、ユーザは、瞬時にまたは短い待ち時間で情報をやりとりする。ＲＴＣのための例示的なアプリケーションとしては、音声通話および／またはビデオ通話、アプリケーションストリーミング、ソフトフォンおよびリモートデスクトップアプリケーションが挙げられる。ＵＥ１０２は、スマートフォン、ラップトップコンピュータ、タブレット、テレビなどの、通信のためにエンドユーザによって使用されるいずれかの装置であってもよい。
【０００８】
ＲＴＣを行う際に、ＵＥ１０２は、サービスプロバイダネットワーク１２２におけるそれぞれのサーバ１２４，１２５（さらなるサーバが含まれていてもよい。図示せず。）とシグナリングトラフィックおよびメディアトラフィックを通信する。シグナリングトラフィックは、セッション開始プロトコル（「ＳＩＰ」）などのアプリケーション層プロトコルに従って通信されてもよい。ＳＩＰは、下部のトランスポート層から独立しているように構成されている。したがって、ＳＩＰは、伝送制御プロトコル（たとえば、インターネット技術タスクフォース（「ＩＥＴＦ」）リクエストフォーコメンツ（「ＲＦＣ」）７９３およびＲＦＣ６７５に記載されているような「ＴＣＰ」）、ユーザデータグラムプロトコル（たとえば、ＩＥＴＦ  ＲＦＣ７６８に記載されているような「ＵＤＰ」）などのさまざまなトランスポートプロトコルで実行可能である。
【０００９】
ネットワーク１００は、ＵＥ１０２内のトンネリングクライアント１０６とともに、１つ以上のトンネルを構築して管理するための機能を提供するトンネリングサーバ１１６をさらに含み、当該１つ以上のトンネルは、たとえば第三世代パートナーシッププログラム（「３ＧＰＰ」）技術報告書（「ＴＲ」）３３．８３０  Ｖ０．５．０に記載されているようなトンネル化サービス制御機能（「ＴＳＣＦ」）基準に従ってＲＴＣを行うためのものであり、その開示は全文が引用によって本明細書に援用される。一実施形態では、トンネリングクライアント１０６およびトンネリングサーバ１１６は、ＴＳＣＦトンネル管理（たとえば３ＧＰＰ  ＴＲ  ３３．８３０  Ｖ０．５．０によって規定される、たとえばトンネル初期化、メンテナンス、終了など）に準拠したメインＴＳＣＦトンネル１０８を構築し、ＴＳＣＦトンネルトランスポートプロトコルは、トンネリングクライアント１０６とトンネリングサーバ１１６との間のＴＳＣＦトンネル１０８のネゴシエーションのためにサポートされ、その後、以下でさらに説明する第２のクローンＴＳＣＦトンネル１０９を構築する。
【００１０】
ＴＳＣＦ基準は、ＲＴＣを行うための管理されたトンネルを構築するためのクライアント側のネットワーク要素およびサーバ側のネットワーク要素（たとえば、図１では、トンネリングクライアント１０６およびトンネリングサーバ１１６）を提供する。また、ＴＳＣＦ基準は、２つのタイプの外側層トンネリングトランスポート、すなわちＴＣＰまたはトランスポート層セキュリティ（「ＴＬＳ」）によるストリームベースの外側層トンネリングトランスポート、およびＵＤＰまたはデータグラムトランスポート層セキュリティ（「ＤＴＬＳ」）によるデータグラムベースの外側層トンネリングトランスポート、を提供する。
【００１１】
ＴＬＳは、たとえばＩＥＴＦ  ＲＦＣ２２４６、ＲＦＣ４３４６、ＲＦＣ５２４６および／またはＲＦＣ６１７６に規定されている暗号プロトコルである。ＤＴＬＳは、データグラムプロトコルに通信プライバシを提供するプロトコルである。ＴＣＰおよびＴＬＳは、内側層トラフィックの確実な、順序付けされた、エラーチェックされた伝送を提供するが、望ましくない待ち時間を生じさせ、これは通信ネットワークを介したＲＴＣアプリケーションにとっては好ましいものではなく、障害になる。一方、ＵＤＰおよびＤＴＬＳは、信頼性のある伝送を保証しないが、待ち時間を最小限にし、ＲＴＣにとって望ましい。
【００１２】
いくつかの実施形態では、ＩＰネットワーク１１４は、特定のトランスポートプロトコルのみ（たとえば、ＴＣＰのみ、ＵＤＰのみなど）のトラフィックを可能にするセキュリティデバイス（たとえば、ファイアウォール、プロキシなど）を含み得るという点で制限的なネットワークであり得る。したがって、トンネリングクライアント１０６およびトンネリングサーバ１１６は、ＵＥ１０２がＴＳＣＦトンネル１０８，１０９を使用してこのようなセキュリティデバイスを通過してトンネリングサーバ１１６に接続してサービスプロバイダネットワーク１２２におけるサーバ１２４，１２５に到達することができるように、ＴＳＣＦトンネル１０８，１０９を構築して管理し得る。
【００１３】
ＴＳＣＦ基準は、トンネリングクライアント１０６とトンネリングサーバ１１６との間で構成情報をやりとりするための制御メッセージをさらに提供する。ＴＳＣＦ基準に従って、制御メッセージは、「要求／応答」タイプのものであり、要求に対する制御メッセージ応答は、対応する回答、または、なぜ受信側が要求を受け付けることができないかを示すエラーコードを含む。ＴＳＣＦ制御メッセージは、型−長さ−値（「ＴＬＶ」）符号化を使用する。ＴＬＶは、固有のタイプと対応する値との可変長連結である。
【００１４】
各々のＴＳＣＦ制御メッセージは、制御メッセージ（「ＣＭ」）ヘッダを冒頭に含み、当該制御メッセージヘッダは、ヘッダのバージョンを識別してＴＳＣＦトンネルの外側トランスポートプロトコルを示す「CM_Version」フィールドと、メッセージが制御メッセージであるか否かを識別する「CM_Indication」フィールドと、将来使用するために取っておく「Reserved」フィールドと、制御メッセージのタイプ（たとえば、それが要求であるか応答であるか、対応する機能など）を識別する「CM_Type」フィールドと、対応する制御メッセージにおけるヘッダの後に続くまたは添付されるＴＬＶの数を示す「TLV_Count」フィールドと、ＴＳＣＦトンネル１０８（および後続のクローントンネル）を固有に識別するためにトンネリングサーバ１１６によって割り当てられるトンネルセッション識別子（「ＩＤ」）または（「ＴＩＤ」）を含む「Tunnel Session ID」（「ＴＳＩＤ」）フィールドと、メッセージ当たりインクリメントされる「Sequence」フィールドとを含み、これらはたとえば３ＧＰＰ  ＴＲ  ３３．８３０  Ｖ０．５．０に記載されている。
【００１５】
一実施形態では、ＴＳＣＦトンネル１０８を構築するために、トンネリングクライアント１０６は、「構成要求」メッセージをトンネリングサーバ１１６に送信して、ＴＳＣＦトンネル１０８のための構成情報を取得する。「構成要求」メッセージにおいて、ＴＳＩＤヘッダフィールドビットは、１（すなわち、ＦＦＦＦ...）に設定される。これに応答して、トンネリングサーバ１１６は、ＴＳＩＤをＴＳＣＦトンネルに割り当てて、「構成応答」メッセージをトンネリングクライアント１０６に戻す。「構成応答」メッセージは、トンネリングサーバ１１６によってＴＳＣＦトンネル１０８に割り当てられるＴＳＩＤを含む。トンネリングクライアント１０６とトンネリングサーバ１１６との間の後続のメッセージは、それらのヘッダの中にこの割り当てられたＴＳＩＤを含む。
【００１６】
一実施形態では、制御メッセージがトンネリングクライアント１０６とトンネリングサーバ１１６との間で通信され、予想されたＴＳＩＤを含まない場合、当該制御メッセージは廃棄され、対応するＴＳＣＦトンネルは終了される。代替的に、一実施形態では、トンネリングクライアント１０６は、「構成リリース要求」メッセージをトンネリングサーバ１１６に送信してＴＳＣＦトンネルを終了してもよい。このような「構成リリース要求」メッセージに応答して、トンネリングサーバ１１６は、「構成リリース応答」メッセージをトンネリングクライアント１０６に送信する。このとき、ＴＳＣＦトンネル１０８は終了される。
【００１７】
一実施形態では、ＵＥ１０２は、オラクル社からのトンネル化セッション管理（「ＴＳＭ」）ソリューションによって提供されるソフトウェア開発キット（「ＳＤＫ」）などのライブラリに依拠するＳＩＰベースのＲＴＣアプリケーションであり得るアプリケーション１０４を実行する。ＴＳＭソリューションは、セッションボーダーコントローラ（「ＳＢＣ」）と、ＳＤＫを使用して開発され得るアプリケーション１０４などのクライアントアプリケーションとを使用して、クライアント／サーバアーキテクチャを利用する。クライアントアプリケーションは、インターネットを介したサービスプロバイダとのセキュリティ保護された通信セッションを開始させる。ネットワークの端縁における（たとえば、トンネリングサーバ１１６によって実現される）セッションボーダーコントローラは、セキュリティ保護されたトラフィックをサービスプロバイダネットワーク１２２のサービスコアに渡す前にトンネルを終了および制御する。一実施形態では、ＳＤＫは、クライアント高速トンネルクローニングモジュール１１８および／またはサーバ高速トンネルクローニングモジュール１２０によって実現される。
【００１８】
ＳＤＫは、一般に、本明細書に開示されている機能を実現するために、「標準的な」ＴＳＣＦ  ＡＰＩを超えたさらなるＡＰＩを提供する。一実施形態では、アプリケーション１０４が高速トンネルクローニング機能をイネーブルにすることができるようにアプリケーションプログラミングインターフェイス（「ＡＰＩ」）をサポートするＴＳＣＦ  ＳＤＫが提供される。ＴＳＣＦ  ＳＤＫは、tsc_sendtoおよびtsc_recvfrom機能をそれぞれ使用して、カプセル化されたメディアを送受信するのに使用できるバークレーソフトウェア配信（「ＢＳＤ」）のようなソケットＡＰＩを提供する。
【００１９】
図２は、本発明の実施形態に係るコンピュータサーバ／システム（すなわち、システム１０）のブロック図である。システム１０は、以下に詳細に開示される本発明の実施形態の機能のうちのいずれかを実現するために、図１に示されるネットワーク要素のうちのいずれかを必要に応じて実現するように使用することができる。システム１０の機能は、単一のシステムとして示されているが、分散型システムとして実現されてもよい。さらに、本明細書に開示されている機能は、ネットワークを介して結合され得る別々のサーバまたは装置上で実現されてもよい。さらに、システム１０の１つ以上のコンポーネントは含まれていなくてもよい。たとえば、図１のトンネリングサーバ１１６の機能のために、システム１０は、一般にディスプレイ２４または図２に示される１つ以上の他のコンポーネントを必要としないサーバであってもよい。
【００２０】
システム１０は、情報を通信するためのバス１２または他の通信機構と、バス１２に結合されて情報を処理するためのプロセッサ２２とを含む。プロセッサ２２は、いずれかのタイプの汎用または特殊目的プロセッサであってもよい。システム１０は、情報およびプロセッサ２２によって実行される命令を格納するためのメモリ１４をさらに含む。メモリ１４は、ランダムアクセスメモリ（「ＲＡＭ」）、リードオンリメモリ（「ＲＯＭ」）、磁気ディスクもしくは光ディスクなどのスタティックストレージ、またはその他のタイプのコンピュータ読取可能な媒体のいずれかの組み合わせで構成され得る。システム１０は、ネットワークへのアクセスを提供するためにネットワークインターフェイスカードなどの通信装置２０をさらに含む。したがって、ユーザは、直接、またはネットワークを介してリモートで、またはその他の方法で、システム１０と接続することができる。
【００２１】
コンピュータ読取可能な媒体は、プロセッサ２２によってアクセスすることができるいずれかの入手可能な媒体であってもよく、揮発性媒体および不揮発性媒体、リムーバブルメディアおよび非リムーバブルメディア、ならびに通信媒体を含む。通信媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュール、または搬送波もしくは他の伝送機構などの変調データ信号の形態の他のデータを含み得て、いずれかの情報伝送媒体を含む。
【００２２】
プロセッサ２２は、バス１２によって、液晶ディスプレイ（「ＬＣＤ」）などのディスプレイ２４にさらに結合され得る。ユーザが必要に応じてシステム１０と接続できるように、キーボード２６およびコンピュータマウスなどのカーソル制御装置２８がバス１２にさらに結合され得る。
【００２３】
一実施形態では、メモリ１４は、プロセッサ２２によって実行されたときに機能を提供するソフトウェアモジュールを格納する。当該モジュールは、システム１０にオペレーティングシステム機能を提供するオペレーティングシステム１５を含む。当該モジュールは、カプセル化されたメディアトラフィックを伝送するためのクローントンネルを作成するための高速アクセストンネルクローニングモジュール１６、および本明細書に開示されている全ての他の機能をさらに含む。１つの例示的な実施形態では、高速アクセストンネルクローニングモジュール１６は、図２の１つ以上の残りの要素とともに、図１のトンネリングサーバ１１６またはトンネリングクライアント１０６を実現し得る。システム１０は、オラクル社からの「Acme Packet 6300」セッションボーダーコントローラに対する追加機能などの、より大きなシステムの一部であってもよい。したがって、システム１０は、さらなる機能を含むように１つ以上のさらなる機能モジュール１８を含み得る。高速アクセストンネルクローニングモジュール１６およびさらなる機能モジュール１８に集中型ストレージを提供するために、データベース１７がバス１２に結合されている。
【００２４】
トンネリング構成では、カプセル化された（すなわち、パケット／フレームの形態の）メディア（媒体）は、一般に、リアルタイムトランスポートプロトコル（たとえば、ＩＥＴＦ  ＲＦＣ３５５０に規定されている「ＲＴＰ」）に従って通信される。ＴＳＣＦトンネリング構成では、ＲＴＣ（たとえば、音声、映像など）は、２つのトランスポートレベル、すなわち一般にＴＣＰ／ＴＬＳに従った外側トンネル層におけるトランスポートレベルおよび一般にＵＤＰに従った内側トンネル層における別のトランスポートレベル、の影響下にあり得る。図３は、実施形態に従ったメディアトラフィックをカプセル化するためのＴＳＣＦトンネリング構成３００における例示的なプロトコル層を示す。ＴＳＣＦトンネリング構成３００では、圧縮されたメディア（たとえば、音声、映像など）は、アプリケーション層においてＲＴＰに従って通信され、内側ネットワーク層における内側ＩＰ内の内側トランスポート層における内側ＵＤＰを介して伝送される。内側層は外側トランスポート層における外側ＴＣＰ／ＴＬＳ内にあり、さらに、当該外側ＴＣＰ／ＴＬＳは外側ネットワーク層における外側ＩＰ内にある。一実施形態では、ほとんどのＩＰネットワークがストリームベースではないいかなる外側トラフィックも阻止するので、伝送を保証するためにＴＳＣＦトンネル１０８の外側トランスポート層においてＴＣＰ／ＴＬＳが使用される。
【００２５】
短い待ち時間およびトラフィックの確実な伝送をサポートするために、特定の状況では、トランスポートタイプおよび／または所与の内側ソケットに関連付けられるデータの経路を動的に切り替えることが望ましい。たとえば、内側ソケットＴＣＰベースのシグナリングトラフィックが内側ソケットＴＣＰベースのインスタントメッセージトラフィックとは異なる経路を辿ることが時として必要である。ダイナミックデータグラムトンネル（「ＤＤＴ」）などの、ＴＳＣＦに対して提供される公知のソリューションは、２つの理由で、すなわち（１）それらがメディアのみを対象としているという理由および（２）それらがデータグラムトランスポートのみに依拠しているという理由で、この問題に対処することができない。
【００２６】
再び図１を参照して、短い待ち時間および確実なファイアウォール通過、ならびに前方誤り訂正（「ＦＥＣ」）の機構を提供するために、さまざまなトランスポート層および経路多様性に依拠してメイントンネル（たとえば、メイントンネル１０８）と同一の内部ＩＰアドレスを保持する１つ以上のさらなるトンネル（たとえば、クローントンネル１０９）を構築または「クローンを作る」ことが必要であり得る。パケットロスおよび待ち時間を最小限にするために、クローントンネルは、できる限り速く構築する必要があり、同時にアプリケーション１０４のニーズに従って効率的にトラフィックをルーティング可能にする必要がある。したがって、実施形態は、トランスポートおよびルーティング要件に基づいた動的なメイントンネルクローニングのための透過的な機構を含む。
【００２７】
一実施形態では、実現するために、新たなソケットオプションが「tsc_setsockopt」ＡＰＩに追加されて、アプリケーション１０４が１つ以上のクローントンネル１０９によって新たなトランスポートをイネーブルにすることを可能にする。一実施形態におけるクローントンネルは、メイントンネル１０８と同一であり、ソケットバインディング時に作成された内部ＩＰアドレスを有する。
【００２８】
一実施形態では、クローントンネル作成をイネーブルにするために、新たなＴＳＣＦ  ＣＭ構成要求パラメータが構築される。クローントンネルを構築できない場合、またはクローントンネルが構築されるまでは、その関連のソケットに属する全てのトラフィックは、メイントンネル１０８を通過することになる。さらに、サーバ１１６およびクライアント１０６は、それらの関連のクローントンネルを介して、特定のソケットに属するトラフィックをルーティングする。
【００２９】
一実施形態では、クローントンネル１０９は、それらの関連のソケットがアプリケーション１０４によって除去されるとすぐにインフラストラクチャによって終了される。クローントンネル１０９は、メイントンネル１０８が除去されると終了される。
【００３０】
図４は、いくつかの実施形態に係る高速アクセストンネルクローニングのための、図１のアプリケーション１０４とトンネリングクライアント１０６とトンネリングサーバ１１６との間でやりとりされるメッセージのシーケンスを含む例示的なメッセージシーケンス図４００である。図４は、図１を参照して本明細書で説明するように、アプリケーション１０４と通信するトンネリングクライアント１０６およびサービスプロバイダネットワーク１２２と通信するトンネリングサーバ１１６などのネットワーク要素を含む。
【００３１】
アプリケーション１０４からのトンネル作成要求４０１に応答して、「tsc_ctrl_new_tunnel」ＡＰＩを実行することによってＴＳＣＦトンネル１０８（すなわち、「メイン」トンネル）が構築される。内部では、トンネリングクライアント１０６が４０２においてトンネル構成要求ＣＭを生成し、当該トンネル構成要求ＣＭは、４０３においてトンネル構成応答ＣＭを用いて、対応するＴＩＤおよびＩＰアドレスを有するトンネリングサーバ１１６によって応答される。
【００３２】
次いで、アプリケーション１０４は、４２０においてtsc_socket  ＡＰＩを実行し、４２１においてtsc_bind  ＡＰＩを実行することによって、ソケット♯１（すなわち、第１のソケット）を作成してバインドする。
【００３３】
次いで、アプリケーション１０４は、４２２および４２３においてtsc_sendto  ＡＰＩを呼び出して、４０４，４０５においてメイントンネル１０８を介してソケット♯１を使用して２つのフレーム（１および２）を送信する。
【００３４】
４２４において、アプリケーション１０４は、tsc_socket  ＡＰＩを実行することによってソケット♯２（すなわち、第２のソケット）を作成し、次いで、４２５においてtsc_setsockopt  ＡＰＩを実行することによってソケット♯２をクローントンネルでのトランスポートのための候補として印付けする。アプリケーション１０４は、ソケット♯２を作成して、多くの考えられる要因に基づいて、クローントンネルが必要であることを判断してもよく、当該要因は、メイントンネル１０８を使用する既存のテレコミュニケーションセッション（たとえば、電話呼び出し）の品質が十分に劣化したことを判断することを含む。たとえば、パケットロス、ジッターなどの測定を使用して当該品質を判断してもよい。
【００３５】
一実施形態では、テレコミュニケーションセッションの劣化は、トンネルサーバにおいてループバックされるプローブパケットを使用してＴＳＣＦインフラストラクチャによって取得される平均オピニオンスコア（「ＭＯＳ」）値を介して測定される。当該機構は、待ち時間、ジッターおよびパケットロスを測定して、後にアプリケーション１０４に報告される品質スコアを計算する。次いで、アプリケーション１０４は、クローントンネルを使用して通信を向上させることができる。
【００３６】
４２６において、アプリケーション１０４は、tsc_bind  ＡＰＩを呼び出すことによってソケット♯２をバインドする。内部では、トンネリングクライアント１０６が、４０７において、クローニング要求を含むトンネル構成要求ＣＭを生成することによってクローントンネル１０９を構築し、当該トンネル構成要求ＣＭは、４１０においてトンネル構成応答ＣＭを用いてトンネリングサーバ１１６によって応答される。構築されたクローントンネルは、４０２，４０３において構築されたメイントンネルと同一の対応するＴＩＤおよび内部ＩＰアドレスを有する。一実施形態では、クローントンネルは、ＴＳＣＦサービスメッセージを使用することなく構築される。ＴＳＣＦサービスメッセージは、トンネルが構築されるとサービスをイネーブルにするために使用されるタイプの制御メッセージ（「ＣＭ」）である。
【００３７】
次いで、アプリケーション１０４は、４２７および４２８においてtsc_sendto  ＡＰＩを呼び出して、４１１，４１３においてクローントンネル１０９を介してソケット♯２を使用して２つのフレーム（３および４）を送信する。フレームは、メイントンネルにおけるフレームと同一の、サービスプロバイダネットワーク１２２（たとえば、サーバ１２４）におけるサーバに進む場合もあれば、メイントンネルにおけるフレームとは異なるサーバに進む場合もある（たとえば、メイントンネル１０８のフレームはサーバ１２４に進み、クローントンネル１０９のフレームはサーバ１２５に進む）。
【００３８】
４２９において、アプリケーション１０４は、tsc_close  ＡＰＩを実行することによってソケット♯２を閉じる。内部では、トンネリングクライアント１０６が４１５においてトンネル構成リリース要求ＣＭを生成し、当該トンネル構成リリース要求ＣＭは、４１７においてトンネル構成リリース応答ＣＭを用いてトンネリングサーバ１１６によって応答される。
【００３９】
図４の機能の結果、実施形態では、ストリームまたはデータグラムなどのいずれかのトランスポートタイプに依拠する無制限の数のクローントンネルの作成が可能であり、サービスプロバイダネットワーク１２２の一部であるかまたは他の場所に位置するいずれかの予め構成されたサーバにアクセスすることができる。したがって、実施形態では、メイントンネル１０８の内部ＩＰアドレスなどの内側層パラメータを維持しながら経路を動的に変更することが可能である。
【００４０】
一実施形態は、新たなトンネルが構成要求ＣＭ（すなわち、図４の４０７）のＴＩＤに示されるメイントンネルのクローンであることを示すために使用される「クローン」ＴＬＶ値を含むようにＴＳＣＦを拡張することによって高速アクセストンネルクローニングをサポートする。
【００４１】
以下の表１は、いくつかの実施形態に係る高速アクセストンネルクローニング機能を提供するための例示的なＴＳＣＦ  ＴＬＶを提供する。
【００４２】
【表１】
2019528488.tif 000003
【００４３】
一実施形態では、所与のソケットがクローントンネルを介したトラフィックを実施するとき、クライアントアプリケーション１０４は、以下の疑似コードに示されるようにtsc_setsockopt  ＡＰＩ（すなわち、図４の４２５）を使用して正しいオプションを設定する。
【００４４】
【数１】
2019528488.tif 000004
【００４５】
ここで、上記の「transport」変数は、一実施形態では以下の考えられる定義に従ったクローントンネル１０９の所望のトランスポートタイプを示し、トランスポートタイプはＵＤＰまたはＴＣＰのいずれかである。
【００４６】
【数２】
2019528488.tif 000005
【００４７】
「tsc_setsockopt」が−１を返すと、オプションは正しく設定されなかったことになる。「tsc_setsockopt」が０を返すと、オプションは正しく設定されたが、クローントンネルがネゴシエーションされるまで機能はアクティブにならない。新たな通知「tsc_notification_new_transport」を使用して、この活性化についてクライアントに通知することができる。以下の疑似コードは、通知がどのようにしてイネーブルにされ、通知コールバック機能がどのようなものであるかを示す。
【００４８】
【数３】
2019528488.tif 000006
【００４９】
「tsc_notification_enable」における４番目のＮＵＬＬパラメータは、コールバック時に「tsc_notification_data」構造において回復可能な不透明な／プライベートなデータポインタである。
【００５０】
オラクル社からのAcme Packet 6300などのＳＢＣを使用して実現される一実施形態は、キーワード「cloned_tunnels」を含むパラメータ「assigned-services」を含む構成オブジェクト「tscf-interface」を提供する。以下の表２は、一実施形態に係るtscf-interface構成オブジェクトの一例を提供する。
【００５１】
【表２】
2019528488.tif 000007
【００５２】
以下の機能は、一実施形態に係る高速アクセストンネルクローニングを提供するための例示的なインターフェイス構成を提供する。
【００５３】
【数４】
2019528488.tif 000008
【００５４】
以下は、一実施形態に係る高速アクセストンネルクローニングを提供するための例示的な拡張マークアップ言語（「ＸＭＬ」）機能である。
【００５５】
【数５】
2019528488.tif 000009
【００５６】
図５は、本発明の実施形態に係るカプセル化されたメディアトラフィックを伝送するためのクローントンネルを作成する際の図２の高速アクセストンネルクローニングモジュール１６ならびに／または図１のトンネリングクライアント１０６およびトンネリングサーバ１１６のフロー図である。一実施形態では、図５のフロー図の機能は、メモリまたは他のコンピュータ読取可能なもしくは有形の媒体に格納されたソフトウェアによって実現され、プロセッサによって実行される。他の実施形態では、機能は、ハードウェアによって（たとえば、特定用途向け集積回路（「ＡＳＩＣ」）、プログラマブルゲートアレイ（「ＰＧＡ」）、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）などを使用することによって）、またはハードウェアとソフトウェアとのいずれかの組み合わせによって実行されてもよい。
【００５７】
５０２において、テレコミュニケーションセッション中に、第１のソケットを使用してトンネリングクライアント１０６とトンネリングサーバ１１６との間にメイントンネルを構築する。一実施形態では、メイントンネルは、対応するトンネルＩＤおよびＩＰアドレスを有するＴＳＣＦベースのトンネルである。
【００５８】
５０４において、カプセル化されたメディアがメイントンネルを通過する。別の実施形態では、シグナリングトラフィックなどの他のタイプのデータがメイントンネルを通過してもよい。
【００５９】
５０６において、アプリケーション１０４は、クローントンネルが必要であることを判断する。たとえば、５０４のカプセル化されたメディアを含むセッションの品質の測定値が、予め定められた閾値を下回る可能性がある（たとえば、音声電話が劣化し、その結果、音声電話の最中にクローントンネルが構築される）。トンネリングサーバ１１６またはトンネリングクライアント１０６も、アプリケーション１０４から判断結果を受信することによって、クローントンネルが必要であるか否かを判断し得る。
【００６０】
５０８において、クローントンネル候補として印付けされた第２のソケットを使用して、トンネリングクライアント１０６とトンネリングサーバ１１６との間にクローントンネルを構築する。一実施形態では、クローントンネルは、５０２のメイントンネルと同一の対応するトンネルＩＤおよびＩＰアドレスを有するＴＳＣＦベースのトンネルである。クローントンネルは、メイントンネルとは異なるトランスポート層（たとえば、ＴＣＰの代わりにＵＤＰ）を有していてもよく、フレーム内のデータは、メイントンネルとは異なるサービスプロバイダネットワークのサーバに進んでもよい。たとえば、各トンネル（たとえば、メイントンネル１０８およびクローントンネル１０９）は、ネットワークを下ってトンネル化されていない側まで情報を伝える２つの異なるインターフェイス（たとえば、トンネルサーバ１２４，１２５）において終了し得る。各トンネルサーバが異なるインターフェイスに関連付けられるので、それらも異なる障害を有する異なるネットワークに関連付けられる。
【００６１】
一実施形態では、クローントンネルは、ＴＳＣＦサービスメッセージを使用することなく構築される。一実施形態では、第２の異なるサーバが最初に決定され、次いで対応する第２のソケットが選択される。一実施形態では、クローントンネルは、メイントンネルの同一の内側層と、異なる外側層とを有する。たとえば、ＵＤＰトラフィックを伝送する２つのアプリケーションソケット♯１および♯２は、２つの異なるトンネルに沿って伝送する。ソケット♯１のトラフィックはＴＣＰトランスポートトンネル内であってもよく、ソケット♯２のトラフィックはＵＤＰトランスポートトンネル内であってもよい。たとえば、一実施形態では、ソケット♯１は、以下の４つの層、すなわち外側ＩＰ＋外側ＴＣＰ＋内側ＩＰ＋内側ＵＤＰを有し、ソケット♯２は、以下の４つの層、すなわち外側ＩＰ＋外側ＵＤＰ＋内側ＩＰ＋内側ＵＤＰを有する。
【００６２】
５１０において、さらなるカプセル化されたメディアが、テレコミュニケーションセッション中にメイントンネルの代わりにクローントンネルを通過する。
【００６３】
開示されているように、テレコミュニケーションセッション中に、第１のソケットを使用してメイントンネルが構築される。たとえば品質の劣化により、セッション中のある時点で、クローントンネルのために印付けされた第２のソケットを使用してクローントンネルが構築される。クローントンネルは、メイントンネルと同一のトンネルＩＤおよびＩＰアドレスを有する。次いで、クローントンネルは、メイントンネルの代わりにカプセル化されたメディアを伝送するために使用される。
【００６４】
いくつかの実施形態が本明細書に具体的に示され、および／または、記載されている。しかし、開示されている実施形態の変形例および変更例は、本発明の精神および意図される範囲から逸脱することなく、上記の教示によってカバーされ、添付の特許請求の範囲の範囲内である、ということが理解されるであろう。
【図１】
2019528488.tif 000010
【図２】
2019528488.tif 000011
【図３】
2019528488.tif 000012
【図４】
2019528488.tif 000013
【図５】
2019528488.tif 000014
【国際調査報告】
2019528488.tif 000015
2019528488.tif 000016