(57)【要約】  カプセル化メディアを伝送するシステムは、ストリームベースのトランスポート層を用いてトンネルを確立するための第１の要求を受信し、第１の要求はタグを含む。システムは、データグラムベースのトランスポート層を用いてトンネルを確立するための第２の要求を受信し、第２の要求はタグを含む。システムは、ストリームベースのトランスポート層を用いてトンネルを確立し、ストリームベースのトランスポート層を介してカプセル化メディアを受信する。システムは、ストリームベースのトランスポート層に加えて、トンネルのためのデータグラムベースのトランスポート層を確立し、データグラムベースのトランスポート層を介してカプセル化メディアを受信する。システムは次に、ストリームベースのトランスポート層を解放する。
2019525578.tif 000002
【特許請求の範囲】
【請求項１】
カプセル化メディアを伝送する方法であって、前記方法は、
ストリームベースのトランスポート層を用いてトンネルを確立するための第１の要求を受信するステップを含み、前記第１の要求はタグを含み、前記方法はさらに、
データグラムベースのトランスポート層を用いて前記トンネルを確立するための第２の要求を受信するステップを含み、前記第２の要求は前記タグを含み、前記方法はさらに、
前記ストリームベースのトランスポート層を用いて前記トンネルを確立し、前記ストリームベースのトランスポート層を介して前記カプセル化メディアを受信するステップと、
前記ストリームベースのトランスポート層に加えて、前記トンネルのための前記データグラムベースのトランスポート層を確立し、前記データグラムベースのトランスポート層を介して前記カプセル化メディアを受信するステップと、
前記ストリームベースのトランスポート層を解放するステップとを含む、方法。
【請求項２】
前記トンネルは、トンネル化サービス制御機能（ＴＳＣＦ）規格に従って確立される、請求項１に記載の方法。
【請求項３】
前記ストリームベースのトランスポート層は、伝送制御プロトコル（ＴＣＰ）を使用して前記カプセル化メディアを伝送する、請求項１に記載の方法。
【請求項４】
前記データグラムベースのトランスポート層は、ユーザデータグラムプロトコル（ＵＤＰ）を使用して前記カプセル化メディアを伝送する、請求項１に記載の方法。
【請求項５】
前記トンネルを確立するステップは、トンネル識別子およびインターネットプロトコルアドレスを前記トンネルに割当てるステップを含む、請求項１に記載の方法。
【請求項６】
前記カプセル化メディアは、前記データグラムベースのトランスポート層が確立される前に、前記ストリームベースのトランスポート層を介して伝送される、請求項１に記載の方法。
【請求項７】
前記カプセル化メディアは、前記ストリームベースのトランスポート層が解放された後に、前記データグラムベースのトランスポート層を介して伝送される、請求項６に記載の方法。
【請求項８】
前記第１の要求および前記第２の要求は、介在する要求なく連続的に受信される、請求項１に記載の方法。
【請求項９】
プロセッサによって実行されると前記プロセッサにカプセル化メディアを伝送させる命令を格納する、コンピュータ読取可能媒体であって、伝送は、
ストリームベースのトランスポート層を用いてトンネルを確立するための第１の要求を受信することを含み、前記第１の要求はタグを含み、前記伝送はさらに、
データグラムベースのトランスポート層を用いて前記トンネルを確立するための第２の要求を受信することを含み、前記第２の要求は前記タグを含み、前記伝送はさらに、
前記ストリームベースのトランスポート層を用いて前記トンネルを確立し、前記ストリームベースのトランスポート層を介して前記カプセル化メディアを受信することと、
前記ストリームベースのトランスポート層に加えて、前記トンネルのための前記データグラムベースのトランスポート層を確立し、前記データグラムベースのトランスポート層を介して前記カプセル化メディアを受信することと、
前記ストリームベースのトランスポート層を解放することとを含む、コンピュータ読取可能媒体。
【請求項１０】
前記トンネルは、トンネル化サービス制御機能（ＴＳＣＦ）規格に従って確立される、請求項９に記載のコンピュータ読取可能媒体。
【請求項１１】
前記ストリームベースのトランスポート層は、伝送制御プロトコル（ＴＣＰ）を使用して前記カプセル化メディアを伝送する、請求項９に記載のコンピュータ読取可能媒体。
【請求項１２】
前記データグラムベースのトランスポート層は、ユーザデータグラムプロトコル（ＵＤＰ）を使用して前記カプセル化メディアを伝送する、請求項９に記載のコンピュータ読取可能媒体。
【請求項１３】
前記トンネルを確立することは、トンネル識別子およびインターネットプロトコルアドレスを前記トンネルに割当てることを含む、請求項９に記載のコンピュータ読取可能媒体。
【請求項１４】
前記カプセル化メディアは、前記データグラムベースのトランスポート層が確立される前に、前記ストリームベースのトランスポート層を介して伝送される、請求項９に記載のコンピュータ読取可能媒体。
【請求項１５】
前記カプセル化メディアは、前記ストリームベースのトランスポート層が解放された後に、前記データグラムベースのトランスポート層を介して伝送される、請求項１４に記載のコンピュータ読取可能媒体。
【請求項１６】
前記第１の要求および前記第２の要求は、介在する要求なく連続的に受信される、請求項９に記載のコンピュータ読取可能媒体。
【請求項１７】
トンネリングサーバとトンネリングクライアントとの間でカプセル化メディアを伝送するために前記トンネリングクライアントと通信する、トンネリングサーバであって、前記トンネリングサーバは、
プロセッサと、
前記プロセッサによって実行されると機能性を実現する命令を格納する、前記プロセッサに結合されたストレージデバイスとを含み、前記機能性は、
ストリームベースのトランスポート層を用いてトンネルを確立するための第１の要求を受信することを含み、前記第１の要求はタグを含み、前記機能性はさらに、
データグラムベースのトランスポート層を用いて前記トンネルを確立するための第２の要求を受信することを含み、前記第２の要求は前記タグを含み、前記機能性はさらに、
前記ストリームベースのトランスポート層を用いて前記トンネルを確立し、前記ストリームベースのトランスポート層を介して前記カプセル化メディアを受信することと、
前記ストリームベースのトランスポート層に加えて、前記トンネルのための前記データグラムベースのトランスポート層を確立し、前記データグラムベースのトランスポート層を介して前記カプセル化メディアを受信することと、
前記ストリームベースのトランスポート層を解放することとを含む、トンネリングサーバ。
【請求項１８】
前記トンネルは、トンネル化サービス制御機能（ＴＳＣＦ）規格に従って確立される、請求項１７に記載のトンネリングサーバ。
【請求項１９】
前記ストリームベースのトランスポート層は、伝送制御プロトコル（ＴＣＰ）を使用して前記カプセル化メディアを伝送する、請求項１７に記載のトンネリングサーバ。
【請求項２０】
前記データグラムベースのトランスポート層は、ユーザデータグラムプロトコル（ＵＤＰ）を使用して前記カプセル化メディアを伝送する、請求項１７に記載のトンネリングサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
分野
一実施形態は概して通信ネットワークに向けられ、特に、通信ネットワークを介した、トンネル内のカプセル化メディアの伝送に向けられる。
【背景技術】
【０００２】
背景情報
多くの企業環境は、自らの公衆スイッチ電話ネットワーク（Public Switched Telephone Network：ＰＳＴＮ）電話技術サービスを、インターネットプロトコル（Internet Protocol：ＩＰ）を使用する、ボイスオーバーＩＰ（Voice over IP：ＶｏＩＰ）またはＩＰ電話技術として広く知られている電話技術サービスと置き換えてきた。ＩＰ電話技術はそのバックボーンとしてＩＰネットワークを使用するため、それは、ビデオ会議、通話録音、および着信転送といった拡張機能を提供することができる。
【０００３】
最近、モバイルデータ加入者の成長ベース、インターネットアクセスの幅広い利用可能性、ならびに、固定ネットワークおよびモバイルネットワーク双方における帯域幅の高い利用可能性は、インターネットを介してアクセスされる先進サービス（オーバー・ザ・トップ（Over-the-Top：ＯＴＴ）サービスとして公知）の人気をもたらしてきた。このため、競合するサービスプロバイダらはＯＴＴサービスを提供し、よって、これらの新規サービスを実現する際に対応する課題に直面してきた。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
一実施形態は、カプセル化メディアを伝送するシステムである。システムは、ストリームベースのトランスポート層を用いてトンネルを確立するための第１の要求を受信し、第１の要求はタグを含む。システムは、データグラムベースのトランスポート層を用いてトンネルを確立するための第２の要求を受信し、第２の要求はタグを含む。システムは、ストリームベースのトランスポート層を用いてトンネルを確立し、ストリームベースのトランスポート層を介してカプセル化メディアを受信する。システムは、ストリームベースのトランスポート層に加えて、トンネルのためのデータグラムベースのトランスポート層を確立し、データグラムベースのトランスポート層を介してカプセル化メディアを受信する。システムは次に、ストリームベースのトランスポート層を解放（release）する。
【図面の簡単な説明】
【０００５】
【図１】本発明の実施形態を実現する、および／または本発明の実施形態と相互作用するネットワーク要素を含むネットワークの概略図である。
【図２】本発明の一実施形態に従ったコンピュータサーバ／システムのブロック図である。
【図３】一実施形態に従った、メディアトラフィックをカプセル化するためのトンネル化サービス制御機能トンネリング構成における例示的なプロトコル層を示す図である。
【図４】図１を参照してここに説明されるような、アプリケーションと通信するトンネリングクライアント、およびサービスプロバイダネットワークと通信するトンネリングサーバなどのネットワーク要素を含む図である。
【図５】本発明の実施形態に従った、効率的なカプセル化メディアトラフィック転送を行なう際の図２の効率的カプセル化メディアトラフィックトランスポートモジュール、および／または、図１のトンネリングクライアントおよびトンネリングサーバのフロー図である。
【発明を実施するための形態】
【０００６】
詳細な説明
一実施形態は、トンネル／呼出し設定時間に、連続する要求を介してほぼ同時に２つのトランスポート層に要求することにより、トンネルを介してカプセル化メディアを伝送する。一実施形態におけるトランスポート層のうちの一方は伝送制御プロトコル（Transmission Control Protocol：ＴＣＰ）であり、トランスポート層のうちの一方は、カプセル化メディアトラフィックに対処するユーザデータグラムプロトコル（User Datagram Protocol：ＵＤＰ）である。トンネルは、典型的にはＵＤＰデータの伝送をブロックするであろうファイアウォールを含む制限的な通信ネットワークを介して、カプセル化メディアトラフィックを転送することができる。その結果、カプセル化メディアを伝送する呼出しまたは他の通信セッションのための設定時間が減少する。
【０００７】
図１は、本発明の実施形態を実現する、および／または本発明の実施形態と相互作用するネットワーク要素を含むネットワーク１００の概略図である。ネットワーク１００は、インターネットプロトコル（ＩＰ）ネットワーク１１４を介してサービスプロバイダネットワーク／バックボーン１２２とのリアルタイム通信（real-time communications：ＲＴＣ）を行なうユーザ装置（user equipment：ＵＥ）１０２を含む。ＲＴＣでは、ユーザらは情報を瞬時に、または些細な待ち時間で交換する。ＲＴＣについての例示的なアプリケーションは、音声および／またはビデオ通話、アプリケーションストリーミング、ソフトフォン、およびリモートデスクトップアプリケーションを含む。ＵＥ１０２は、スマートフォン、ラップトップコンピュータ、タブレット、テレビなどといった、通信のためにエンドユーザによって使用されるあらゆるデバイスであってもよい。
【０００８】
ＲＴＣを行なう際、ＵＥ１０２は、サービスプロバイダネットワーク１２２におけるそれぞれのサーバ１２４と、シグナリングおよびメディアトラフィックを通信する。シグナリングトラフィックは、セッション初期化プロトコル（Session Initiation Protocol：ＳＩＰ）などのアプリケーション層プロトコルに従って通信されてもよい。ＳＩＰは、下にあるトランスポート層とは独立して構成されている。したがって、ＳＩＰは、（たとえば、インターネット・エンジニアリング・タスク・フォース（Internet Engineering Task Force：ＩＥＴＦ）リクエスト・フォー・コメンツ（request for comments：ＲＦＣ）７９３およびＲＦＣ６７５に記載されるような）伝送制御プロトコル（ＴＣＰ）、（たとえば、ＩＥＴＦ  ＲＦＣ７６８に記載されるような）ユーザデータグラムプロトコル（ＵＤＰ）などといった異なるトランスポートプロトコル上で実行可能である。
【０００９】
ネットワーク１００はトンネリングサーバ１１６をさらに含み、それは、たとえば第３世代パートナーシッププログラム（3rd generation partnership program：３ＧＰＰ）技術レポート（technical report：ＴＲ）３３．８３０  Ｖ０．５．０（その開示はその全体がここに引用により援用される）に記載されるようなトンネル化サービス制御機能（Tunneled Services Control Function：ＴＳＣＦ）規格に従って、ＲＴＣを行なうための１つ以上のトンネルを確立し管理するための機能性を、ＵＥ１０２内のトンネリングクライアント１０６とともに提供する。一実施形態では、トンネリングクライアント１０６とトンネリングサーバ１１６とは、ＴＳＣＦトンネル管理（たとえば３ＧＰＰ  ＴＲ３３．８３０  Ｖ０．５．０によって規定されるような、たとえばトンネル初期化、維持、終了など）に準拠したＴＳＣＦトンネル１０８を確立し、トンネリングクライアント１０６とトンネリングサーバ１１６との間のＴＳＣＦトンネル１０８のネゴシエーションのためにＴＳＣＦトンネルトランスポートプロトコルがサポートされる。
【００１０】
ＴＳＣＦ規格は、ＲＴＣを行なうための管理されたトンネルを確立するためのクライアント側およびサーバ側ネットワーク要素（たとえば、図１におけるトンネリングクライアント１０６およびトンネリングサーバ１１６）を提供する。それはまた、ＴＣＰまたはトランスポート層セキュリティ（Transport Layer Security：ＴＬＳ）を介するストリームベースの外部層トンネリングトランスポートと、ＵＤＰまたはデータグラムトランスポート層セキュリティ（Datagram Transport Layer Security：ＤＴＬＳ）を介するデータグラムベースの外部層トンネリングトランスポートという、２つのタイプの外部層トンネリングトランスポートを提供する。
【００１１】
ＴＬＳとは、たとえばＩＥＴＦ  ＲＦＣ２２４６、ＲＦＣ４３４６、ＲＦＣ５２４６、および／またはＲＦＣ６１７６において提供されるような暗号プロトコルである。ＤＴＬＳとは、データグラムプロトコルのための通信プライバシーを提供するプロトコルである。ＴＣＰおよびＴＬＳは、内部層トラフィックの、信頼でき、順序付けられた、エラーチェック済みの配送を提供するが、障害を経験する通信ネットワークを介して、ＲＴＣアプリケーションにとって有害な望ましくない待ち時間を生じさせる。一方、ＵＤＰおよびＤＴＬＳは信頼できる配送を保証しないため、待ち時間を最小化し、ＲＴＣにとって望ましい。
【００１２】
いくつかの実施形態では、ＩＰネットワーク１１４は、それがあるトランスポートプロトコルのみ（たとえば、ＴＣＰのみ、ＵＤＰのみなど）のトラフィックを可能にするセキュリティデバイス（たとえば、ファイアウォール、プロキシなど）を含み得るという点で、制限的なネットワークであってもよい。したがって、トンネリングクライアント１０６およびトンネリングサーバ１１６は、ＵＥ１０２がＴＳＣＦトンネル１０８を使用してそのようなセキュリティデバイスを横断してトンネリングサーバ１１６に接続し、サービスプロバイダネットワーク１２２におけるサーバ１２４に到達するように、ＴＳＣＦトンネル１０８を確立し管理してもよい。
【００１３】
ＴＳＣＦ規格はさらに、トンネリングクライアント１０６とトンネリングサーバ１１６との間で構成情報を交換するための制御メッセージを提供する。ＴＳＣＦ規格によれば、制御メッセージは「要求／応答」タイプのものであり、ある要求に対する制御メッセージ応答は、対応する返答か、または、その要求が受信側によって受付けられない理由を示すエラーコードのいずれかを含む。ＴＳＣＦ制御メッセージは、タイプ・長さ・値（Type Length Value：ＴＬＶ）符号化を使用する。ＴＬＶとは、一意的なタイプと対応する値との可変長連結である。
【００１４】
たとえば３ＧＰＰ  ＴＲ３３．８３０  Ｖ０．５．０に記載されるように、各ＴＳＣＦ制御メッセージは最初に制御メッセージ（control message：ＣＭ）ヘッダを含み、ＣＭヘッダは、ヘッダのバージョンを識別し、ＴＳＣＦトンネルの外部トランスポートプロトコルを示す「CM_Version」フィールドと、メッセージが制御メッセージであるか否かを識別する「CM_Indication」フィールドと、将来の使用のために予約される「予約」フィールドと、制御メッセージのタイプ（たとえば、それが要求であるか応答であるか、対応する機能性など）を識別する「CM_Type」フィールドと、対応する制御メッセージにおいてヘッダに続く、またはヘッダに添付されるＴＬＶの数を示す「TLV_Count」フィールドと、ＴＳＣＦトンネル１０８を一意的に識別するためにトンネリングサーバ１１６によって割当てられたトンネルセッション識別子（ＩＤ）を含む「トンネルセッションＩＤ」（Tunnel Session ID：ＴＳＩＤ）フィールドと、メッセージごとにインクリメントされる「シーケンス」フィールドとを含む。
【００１５】
一実施形態では、ＴＳＣＦトンネル１０８を確立するために、トンネリングクライアント１０６は、ＴＳＣＦトンネル１０８についての構成情報を得るために「構成要求」メッセージをトンネリングサーバ１１６へ送信する。「構成要求」メッセージでは、ＴＳＩＤヘッダフィールドビットは１に設定される（すなわちＦＦＦＦ…）。これに応答して、トンネリングサーバ１１６はＴＳＩＤをＴＳＣＦトンネルに割当て、「構成応答」メッセージをトンネリングクライアント１０６へ送り返す。「構成応答」メッセージは、トンネリングサーバ１１６によってＴＳＣＦトンネル１０８に割当てられたＴＳＩＤを含む。トンネリングクライアント１０６とトンネリングサーバ１１６との間のその後のメッセージは、この割当てられたＴＳＩＤをそれらのヘッダに含む。
【００１６】
一実施形態では、ある制御メッセージがトンネリングクライアント１０６とトンネリングサーバ１１６との間で通信され、予想されるＴＳＩＤを含まない場合、その制御メッセージはドロップされ、対応するＴＳＣＦトンネルは終了される。これに代えて、一実施形態では、トンネリングクライアント１０６は、ＴＳＣＦトンネルを終了させるために「構成解放要求」メッセージをトンネリングサーバ１１６へ送信してもよい。そのような「構成解放要求」メッセージに応答して、トンネリングサーバ１１６は「構成解放応答」メッセージをトンネリングクライアント１０６へ送信する。この時点で、ＴＳＣＦトンネル１０８は終了される。
【００１７】
一実施形態では、ＵＥ１０２は、オラクル・コーポレイションからのトンネル化セッション管理（Tunneled Session Management：ＴＳＭ）ソリューションによって提供されるソフトウェア開発キット（software development kit：ＳＤＫ）などのライブラリに依拠するＳＩＰベースのＲＴＣアプリケーションであり得るアプリケーション１０４を実行する。ＴＳＭソリューションは、セッションボーダーコントローラ（session border controller：ＳＢＣ）と、ＳＤＫを使用して開発され得るアプリケーション１０４などのクライアントアプリケーションとを使用する、クライアント／サーバアーキテクチャを採用する。クライアントアプリケーションは、インターネットを介したサービスプロバイダとの安全な通信セッションを開始する。ネットワークのエッジにある（たとえばトンネリングサーバ１１６によって実現された）セッションボーダーコントローラは、トンネルを終了させ制御してから、サービスプロバイダネットワーク１２２のサービスコアへ安全なトラフィックを渡す。一実施形態では、ＳＤＫは、クライアント側の効率的カプセル化メディアトラフィックトランスポートモジュール１１８、および／または、サーバ側の効率的カプセル化メディアトラフィックトランスポートモジュール１２０によって実現される。
【００１８】
カプセル化メディアデータ（たとえば、音声通話データトラフィック）をＵＤＰトラフィックの形で伝送するいくつかのアプリケーションについては、データは、通常ＵＤＰトラフィックの横断を防止するであろうファイアウォールを横断する必要があるかもしれない。したがって一般に、トンネル１０８の機能性のために、クライアント側の効率的カプセル化メディアトラフィックトランスポートモジュール１１８、および／または、サーバ側の効率的カプセル化メディアトラフィックトランスポートモジュール１２０は、トンネル１０８を開始する際、ＴＣＰトランスポート層およびＵＤＰトランスポート層の双方をほぼ同時に、一実施形態では介在する要求なく連続的に要求する。ＳＤＫは一般に、ここに開示される機能性を実現するために、「規格」のＴＳＣＦ  ＡＰＩを越える追加のＡＰＩを提供する。
【００１９】
一実施形態は、アプリケーション１０４が効率的なメディアトラフィック転送機能性を可能にできるようにアプリケーションプログラミングインターフェイス（application programming interface：ＡＰＩ）をサポートするＴＳＣＦ  ＳＤＫを提供する。ＴＳＣＦ  ＳＤＫは、tsc_sendto関数およびtsc_recvfrom関数をそれぞれ使用してカプセル化メディアを送信および受信するために使用され得る、ＢＳＤ（Berkeley software distribution）状のソケットＡＰＩを提供する。
【００２０】
図２は、本発明の一実施形態に従ったコンピュータサーバ／システム（すなわち、システム１０）のブロック図である。システム１０は、以下に詳細に開示されるこの発明の実施形態の機能性のいずれかを実現するために、図１に示すネットワーク要素のいずれかを実現するために必要に応じて使用され得る。単一のシステムとして図示されているが、システム１０の機能性は分散型システムとして実現され得る。また、ここに開示される機能性は、ネットワークを介してともに結合され得る別々のサーバまたはデバイス上で実現され得る。また、システム１０の１つ以上のコンポーネントが含まれていなくてもよい。たとえば、図１のトンネリングサーバ１１６の機能性のために、システム１０は、一般に図２に示すディスプレイ２４または１つ以上の他のコンポーネントを必要としないサーバであってもよい。
【００２１】
システム１０は、情報を通信するためのバス１２または他の通信メカニズムと、情報を処理するためにバス１２に結合されたプロセッサ２２とを含む。プロセッサ２２は、あらゆるタイプの汎用または専用プロセッサであってもよい。システム１０はさらに、プロセッサ２２によって実行されるべき命令および情報を格納するためのメモリ１４を含む。メモリ１４は、ＲＡＭ（random access memory）、ＲＯＭ（read only memory）、磁気ディスクまたは光ディスクなどの静的記憶装置、もしくは他のあらゆるタイプのコンピュータ読取可能媒体のあらゆる組合せで構成され得る。システム１０はさらに、ネットワークへのアクセスを提供するための、ネットワークインターフェイスカードなどの通信デバイス２０を含む。したがって、ユーザは、システム１０と直接、またはネットワークを介してリモートで、または他のあらゆる方法でインターフェイス接続してもよい。
【００２２】
コンピュータ読取可能媒体は、プロセッサ２２によってアクセスされ得る利用可能なあらゆる媒体であってもよく、揮発性および不揮発性媒体の双方、リムーバブルおよび非リムーバブル媒体の双方、ならびに通信媒体を含む。通信媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、もしくは搬送波または他の転送メカニズムなどの変調データ信号における他のデータを含んでいてもよく、あらゆる情報配送媒体を含む。
【００２３】
プロセッサ２２はさらに、液晶ディスプレイ（Liquid Crystal Display：ＬＣＤ）などのディスプレイ２４にバス１２を介して結合されてもよい。ユーザが必要に応じてシステム１０とインターフェイス接続することを可能にするように、キーボード２６と、コンピュータマウスなどのカーソル制御デバイス２８とが、さらにバス１２に結合されてもよい。
【００２４】
一実施形態では、メモリ１４は、プロセッサ２２によって実行されると機能性を提供するソフトウェアモジュールを格納する。モジュールは、システム１０のためのオペレーティングシステム機能性を提供するオペレーティングシステム１５を含む。モジュールはさらに、制限的なファイアウォールを介してカプセル化メディアトラフィックを効率的に転送するための効率的カプセル化メディアトラフィックトランスポートモジュール１６と、ここに開示される他のすべての機能性とを含む。例示的な一実施形態では、効率的メディアトラフィックトランスポートモジュール１６は、図２の１つ以上の残りの要素とともに、図１のトンネリングサーバ１１６、またはトンネリングクライアント１０６を実現してもよい。システム１０は、オラクル・コーポレイションからの「アクメ・パケット（Acme Packet）６３００」セッションボーダーコントローラへの追加機能性といった、より大型のシステムの一部であってもよい。したがって、システム１０は、追加機能性を含むための１つ以上の追加機能性モジュール１８を含み得る。冗長符号化モジュール１６および追加機能性モジュール１８のための集中格納を提供するために、データベース１７がバス１２に結合される。
【００２５】
トンネリング構成では、カプセル化された（すなわち、パケット／フレーム内の）メディアは典型的には、（たとえば、ＩＥＴＦ  ＲＦＣ３５５０において提供されるような）リアルタイムトランスポートプロトコル（real-time transport protocol：ＲＴＰ）に従って通信される。ＴＳＣＦトンネリング構成では、ＲＴＣ（たとえば音声、ビデオなど）は、典型的にはＴＣＰ／ＴＬＳに従った外部トンネル層のレベルと、典型的にはＵＤＰに従った内部トンネル層のレベルという、２つのレベルのトランスポートの対象となってもよい。図３は、一実施形態に従った、メディアトラフィックをカプセル化するためのＴＳＣＦトンネリング構成３００における例示的なプロトコル層を示す。ＴＳＣＦトンネリング構成３００では、圧縮されたメディア（たとえば音声、ビデオなど）は、アプリケーション層のＲＴＰに従って通信され、内部トランスポート層の内部ＵＤＰを介して内部ネットワーク層の内部ＩＰ内で転送される。これらの内部層は、外部トランスポート層の外部ＴＣＰ／ＴＬＳ内にあり、外部トランスポート層は、外部ネットワーク層の外部ＩＰ内にある。一実施形態では、多くのＩＰネットワークはストリームベースではないあらゆる外部トラフィックをブロックするため、配送を保証するために、ＴＣＰ／ＴＬＳが、ＴＳＣＦトンネル１０８の外部トランスポート層で使用される。
【００２６】
図１を再度参照して、一般に、ファイアウォールは、アクセスネットワークを横断できるトラフィックのタイプについて制限を課す。具体的には、ファイアウォールは典型的には、ストリーム（すなわち、ＴＣＰ）トラフィックを可能にする。なぜなら、それは、ハイパーテキスト転送プロトコル（Hypertext Transfer Protocol：ＨＴＴＰ）などの信頼できるウェブ閲覧プロトコルにとって必要とされるためである。しかしながら、ファイアウォールは非常に頻繁に、データグラム（すなわち、ＵＤＰ）トラフィックが横断するのを防止する。なぜなら、それは、データにとって信頼できないと考えられるためである。１つのソリューションは、メディアトラフィックがＴＣＰトラフィックとして通過できるようにメディアトラフィックをカプセル化することである。しかしながら、カプセル化メディアが関与する場合、ＴＣＰトランスポートは可能性としてＵＤＰよりもはるかに長い待ち時間を生じさせ、このため、ユーザ体験全体を劣化させる。
【００２７】
データグラムトンネリングは典型的にはストリームトンネリングよりも好まれるため、１つの可能なトンネル作成ソリューションは、データグラムトランスポートを使用し、データグラムベースのトンネルネゴシエーションが失敗した場合のみ、ストリームトランスポートを使用することを伴う。しかしながら、この失敗は、最終的にはトンネル作成を遅延させ、通信セッション（たとえば、電話呼出し）設定時間を劇的に増加させる。対照的に、実施形態は、設定時間を最小化するために、連続する要求を使用して複数のトンネルトランスポート層ネゴシエーションをほぼ同時に実現して、透過的に促進し、このため、可能な場合はいつでもデータグラムトランスポートが使用されることを保証する。
【００２８】
一実施形態では、トンネリングサーバ１１６は、（１）ストリームベースのインターフェイス（すなわち、ＴＣＰ／ＴＬＳ）、および（２）データグラムベースのインターフェイス（すなわち、ＵＤＰ／ＤＴＬＳ）という、異なるタイプの少なくとも２つのトンネルサーバインターフェイスで構成される。一実施形態では、トンネル初期化時、トンネリングクライアント１１６は、複数のトランスポート、または利用可能な限り多くのトンネルサーバインターフェイスをほぼ同時に作成する。
【００２９】
一実施形態では、トンネリングクライアント１０６は、複数の構成要求ＣＭを伝送することによって、１つ１つのトランスポート層を介してトンネルをネゴシエートする。各構成要求ＣＭは、これらの要求のすべてについての一意識別子を有する新しいＴＬＶまたはタグを含む。これに応答して、トンネリングサーバ１１６は、トンネリングサーバ１１６に到達したすべての着信要求に同じトンネル識別子（tunnel identifier：ＴＩＤ）および内部ＩＰアドレスを割当てる構成応答ＣＭで応答する。各要求に同じＴＩＤが提供されるため、一般に、複数のトランスポート層（たとえば、ＴＣＰトランスポート層およびＵＤＰトランスポート層）を含み得る単一のトンネルが作成される。しかしながら、一実施形態では、最終的には１つのトランスポート層のみが使用される。なぜなら、残りのトランスポート層がドロップされるためである。
【００３０】
一実施形態では、トンネリングクライアント１０６はすべての構成応答を処理し、最初に受信された構成応答ＣＭのトランスポートにおけるカプセル化データの送受信を開始する。構成応答ＣＭがＵＤＰベースのトランスポートで受信されるや否や、それはトンネルのデフォルトトランスポートになり、他のすべてのトランスポートが除去される。一実施形態では、所与のタイムアウト後、構成応答ＣＭがＵＤＰベースのトランスポートで受信されない場合、応答が受信された最初のＴＣＰベースのトランスポートがデフォルトトランスポートになり、他のすべてのトランスポートが除去される。
【００３１】
一実施形態では、ＴＳＣＦ  ＳＤＫに存在するトンネル作成ＡＰＩは、ここに開示される機能性を可能にするための新しいフラグを含む。
【００３２】
図４は、いくつかの実施形態に従った効率的なカプセル化メディアトラフィック転送のための、図１のアプリケーション１０４、トンネリングクライアント１０６、およびトンネリングサーバ１１６間で交換されるメッセージのシーケンスを含む、例示的なメッセージシーケンス図４００である。図４は、図１を参照してここに説明されるような、アプリケーション１０４と通信するトンネリングクライアント１０６、およびサービスプロバイダネットワーク１２２と通信するトンネリングサーバ１１６などのネットワーク要素を含む。
【００３３】
４０１で、アプリケーション１０４は、「tsc_ctrl_new_tunnel」ＡＰＩを実行することによってＴＳＣＦトンネル１０８を確立する。内部で、トンネリングクライアント１０６は、ストリームベースの（たとえば、ＴＣＰ／ＴＬＳ）トランスポートと、データグラムベースの（たとえば、ＵＤＰ／ＤＴＬＳ）トランスポートという、２つのトランスポートを作成する。
【００３４】
４０２および４０３で、トンネリングクライアント１０６は、各トランスポートタイプ（すなわち、４０２ではＵＤＰ、４０３ではＴＣＰ）を介してトンネル構成要求ＣＭを送出する。一実施形態では、各構成要求ＣＭは、以下に詳細に説明される、同じ「タグ」ＴＬＶ値を含む。４０２、４０３での要求は、一実施形態では、要求４０２および４０３が他の介在する要求なく連続的に送出されるという点で、ほぼ同時に送出される。
【００３５】
トンネリングサーバ１１６が４０３でストリームベースの構成要求ＣＭを受信すると、トンネリングサーバ１１６はＴＩＤおよびＩＰアドレスを割当て、それを着信タグに関連付ける。４０４で、トンネリングサーバ１１６は次に、ＴＩＤおよびＩＰアドレスを含む構成応答ＣＭを送り返す。
【００３６】
トンネリングクライアント１０６は次に、トンネル１０８の状態を「確立済み」に変更し、ＴＣＰトランスポートのみが確立されたこの段階では、すべての着信および発信トラフィックはＴＣＰトランスポートを介して送信される（たとえば、４０５〜４０８でのフレーム１および２）。
【００３７】
トンネリングサーバ１１６が４０２でデータグラムトランスポートを介して到着した構成要求ＣＭを処理すると、トンネリングサーバ１１６は４０９で構成応答ＣＭを発行する。それは、４０４と同じＴＩＤおよびＩＰアドレスを含む。なぜなら、それは同じタグに関連付けられているためである。したがって、複数のトランスポート層で同じトンネルが使用される。
【００３８】
トンネリングクライアント１０６が４０９で構成応答ＣＭを受信すると、トンネリングクライアント１０６は４１０で構成解放要求ＣＭを送信することによってＴＣＰトランスポートを解放する。構成解放要求ＣＭは、４１１でトンネリングサーバ１１６によって構成解放応答ＣＭで応答される。
【００３９】
トンネリングクライアント１０６が４１１で構成解放応答ＣＭを受信すると、すべての着信および発信トラフィックはここで、ＴＣＰトランスポートの代わりにＵＤＰトランスポートを介して送信される（たとえば、４１２〜４１７でのフレーム３、４、および５）。したがって、カプセル化メディアは、ＵＤＰを使用して、制限的なネットワーク１１４に存在し得るファイアウォールおよび他のセキュリティデバイスを迂回する。
【００４０】
一実施形態は、異なるトランスポートを介して構成要求を構成要求ＣＭに結合する（すなわち、４０２および４０３）ために使用される「タグ」ＴＬＶ値を含むようにＴＳＣＦを拡張することによって、効率的なカプセル化メディアトラフィック転送をサポートする。
【００４１】
以下の表１は、いくつかの実施形態に従った、効率的なメディアトラフィック転送機能性を提供するための例示的なＴＳＣＦ  ＴＬＶを提供する。
【００４２】
【表１】
2019525578.tif 000003
【００４３】
一実施形態では、効率的なメディアトラフィック転送機能性を提供するために、以下の擬似コードによって示されるように、異なるトンネルトランスポートを介した接続がほぼ同時になされるはずであることを示す新しいブールパラメータ「multi_connection」を含むように、ＴＳＣＦ  ＳＤＫの「tsc_tunnel_params」構造がアップグレードされる。
【００４４】
【数１】
2019525578.tif 000004
【００４５】
上述の擬似コードにおける「connection_params」要素は、ほぼ同時に接続すべきサーバの接続パラメータおよびトランスポートパラメータのリストを規定する。「max_connections」要素は、それらのサーバのうちのいくつがリストにおいて提供されているかを示す。以下のように、トンネル作成時、「tsc_tunnel_params」構造はパラメータとして「tsc_ctrl_new_tunnel」ＡＰＩへ渡される。
【００４６】
【数２】
2019525578.tif 000005
【００４７】
ここで、「tsc_handle」は戻りコードであり、「requested_config」は、オプションの追加の一組の構成パラメータを提供する。
【００４８】
オラクル・コーポレイションからのアクメ・パケット６３００といったＳＢＣを使用して実現される一実施形態は、キーワード「multi-connection」を含むパラメータ「assigned-services」を含む構成オブジェクト「tscf-interface」を提供する。以下の表２は、一実施形態に従った、tscf-interface構成オブジェクトの一例を提供する。
【００４９】
【表２】
2019525578.tif 000006
【００５０】
以下の機能性は、一実施形態に従った、効率的なメディアトラフィック転送を提供するための例示的なインターフェイス構成を提供する。複数のほぼ同時の連続的な接続をサポートするには、少なくとも２つのＴＳＣＦポートが必要とされる。
【００５１】
【表３】
2019525578.tif 000007
【００５２】
以下は、一実施形態に従った、効率的なカプセル化メディアトラフィック転送を提供するための例示的な拡張マークアップ言語（extensible markup language：ＸＭＬ）機能性である。
【００５３】
【数３】
2019525578.tif 000008
【００５４】
図５は、本発明の実施形態に従った、効率的なカプセル化メディアトラフィック転送を行なう際の図２の効率的カプセル化メディアトラフィックトランスポートモジュール１６、および／または、図１のトンネリングクライアント１０６およびトンネリングサーバ１１６のフロー図である。一実施形態では、図５のフロー図の機能性は、メモリもしくは他のコンピュータ読取可能媒体または有形媒体に格納され、プロセッサによって実行されるソフトウェアによって実現される。他の実施形態では、機能性は、ハードウェアによって（たとえば、特定用途向け集積回路（application specific integrated circuit：ＡＳＩＣ）、プログラマブルゲートアレイ（programmable gate array：ＰＧＡ）、フィールドプログラマブルゲートアレイ（field programmable gate array：ＦＰＧＡ）などの使用を介して）、または、ハードウェアとソフトウェアとのあらゆる組合せによって行なわれてもよい。
【００５５】
５０２で、トンネリングクライアント１０６およびトンネリングサーバ１１６は、トンネリングクライアント１０６に少なくとも２つのトンネル構成をほぼ同時に送出させることによって、ＴＳＣＦトンネル１０８を確立する。トンネリングクライアント１０６は、トンネリングサーバ１１６によって受信される要求を、一実施形態では介在する要求なく連続的に送出する。一実施形態では、１つの要求はデータグラムＵＤＰトランスポートに対するものであり、１つの要求はストリームベースのＴＣＰトランスポートに対するものである。各構成要求は同じタグを含む。
【００５６】
５０４で、ストリームベースのＴＣＰトランスポート要求に応答して、トンネリングサーバ１１６はトンネルＩＤおよびＩＰアドレスを割当て、それを着信タグと関連付けて構成応答を発行し、それがトンネル１０８を確立する。
【００５７】
５０６で、ＴＣＰトランスポートを使用して、すべてのトラフィックがＴＳＣＦトンネルを介して送信される。
【００５８】
５０８で、データグラムＵＤＰトランスポート要求に応答して、ＵＤＰがファイアウォールによってブロックされていない場合、トンネリングサーバ１１６は５０４と同じトンネルＩＤおよびＩＰアドレスを割当て、構成応答を発行する。
【００５９】
５１０で、ＵＤＰが利用可能である場合、ＴＣＰトランスポートが解放される。ＴＣＰトランスポートが解放される前に、トラフィックがＴＣＰトランスポート層およびＵＤＰトランスポート層双方を介して送信され得る。
【００６０】
５１２で、ＴＣＰトランスポートの代わりにＵＤＰトランスポートを使用して、すべてのトラフィックがここでＴＳＣＦトンネルを介して送信される。一実施形態では、トラフィックはカプセル化メディアトラフィックである。ＵＤＰトラフィックはトンネル１０８を介して送信されるため、それは、制限的なネットワーク１１４に存在し得るあらゆるファイアウォールなどを迂回する。
【００６１】
他の実現化例では、トンネル要求４０２、４０３に応答して、最初にＵＤＰ要求がサーバ１１６によって応答されてもよく、その場合、最初にＵＤＰトランスポート層を用いてトンネル１０８が確立される。これが起こる場合、一実施形態では、すべてのメディアトラフィックがＵＤＰを介して転送され、ＴＣＰを介したトンネルネゴシエーションがまだ進行中であっても、ＴＣＰトランスポートはすぐに解放される。
【００６２】
開示されたように、実施形態は、カプセル化メディアを伝送する際、ＵＤＰトランスポート層およびＴＳＣＦトランスポート層の双方を用いてトンネルを確立する。双方のトランスポート層は呼出し設定時間に要求され、それは設定遅延を減少させ、効率的な転送を提供する。ＵＤＰトランスポート層が利用可能である（たとえば、それがすべてのファイアウォールを迂回できる）場合、ＴＳＣＦトランスポート層がドロップされ、カプセル化メディアはＵＤＰトランスポート層上でのみ送信される。
【００６３】
いくつかの実施形態がここに具体的に例示され、および／または説明されている。しかしながら、開示された実施形態の変更および変形は上述の教示によって網羅されており、この発明の精神および意図された範囲から逸脱することなく、添付された請求項の範囲内にある、ということが理解されるであろう。
【図１】
2019525578.tif 000009
【図２】
2019525578.tif 000010
【図３】
2019525578.tif 000011
【図４】
2019525578.tif 000012
【図５】
2019525578.tif 000013
【国際調査報告】
2019525578.tif 000014
2019525578.tif 000015
2019525578.tif 000016