JP6983218B2 - データグラムベースのトランスポート層を介したカプセル化メディアトラフィックの効率的転送 - Google Patents

データグラムベースのトランスポート層を介したカプセル化メディアトラフィックの効率的転送 Download PDF

Info

Publication number
JP6983218B2
JP6983218B2 JP2019500884A JP2019500884A JP6983218B2 JP 6983218 B2 JP6983218 B2 JP 6983218B2 JP 2019500884 A JP2019500884 A JP 2019500884A JP 2019500884 A JP2019500884 A JP 2019500884A JP 6983218 B2 JP6983218 B2 JP 6983218B2
Authority
JP
Japan
Prior art keywords
transport layer
based transport
request
tunnel
stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019500884A
Other languages
English (en)
Other versions
JP2019525578A (ja
JP2019525578A5 (ja
Inventor
ヘレロ,ローランド
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2019525578A publication Critical patent/JP2019525578A/ja
Publication of JP2019525578A5 publication Critical patent/JP2019525578A5/ja
Application granted granted Critical
Publication of JP6983218B2 publication Critical patent/JP6983218B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/169Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

分野
一実施形態は概して通信ネットワークに向けられ、特に、通信ネットワークを介した、トンネル内のカプセル化メディアの伝送に向けられる。
背景情報
多くの企業環境は、自らの公衆スイッチ電話ネットワーク(Public Switched Telephone Network:PSTN)電話技術サービスを、インターネットプロトコル(Internet Protocol:IP)を使用する、ボイスオーバーIP(Voice over IP:VoIP)またはIP電話技術として広く知られている電話技術サービスと置き換えてきた。IP電話技術はそのバックボーンとしてIPネットワークを使用するため、それは、ビデオ会議、通話録音、および着信転送といった拡張機能を提供することができる。
最近、モバイルデータ加入者の成長ベース、インターネットアクセスの幅広い利用可能性、ならびに、固定ネットワークおよびモバイルネットワーク双方における帯域幅の高い利用可能性は、インターネットを介してアクセスされる先進サービス(オーバー・ザ・トップ(Over-the-Top:OTT)サービスとして公知)の人気をもたらしてきた。このため、競合するサービスプロバイダらはOTTサービスを提供し、よって、これらの新規サービスを実現する際に対応する課題に直面してきた。
概要
一実施形態は、カプセル化メディアを伝送するシステムである。システムは、ストリームベースのトランスポート層を用いてトンネルを確立するための第1の要求を受信し、第1の要求はタグを含む。システムは、データグラムベースのトランスポート層を用いてトンネルを確立するための第2の要求を受信し、第2の要求はタグを含む。システムは、ストリームベースのトランスポート層を用いてトンネルを確立し、ストリームベースのトランスポート層を介してカプセル化メディアを受信する。システムは、ストリームベースのトランスポート層に加えて、トンネルのためのデータグラムベースのトランスポート層を確立し、データグラムベースのトランスポート層を介してカプセル化メディアを受信する。システムは次に、ストリームベースのトランスポート層を解放(release)する。
本発明の実施形態を実現する、および/または本発明の実施形態と相互作用するネットワーク要素を含むネットワークの概略図である。 本発明の一実施形態に従ったコンピュータサーバ/システムのブロック図である。 一実施形態に従った、メディアトラフィックをカプセル化するためのトンネル化サービス制御機能トンネリング構成における例示的なプロトコル層を示す図である。 図1を参照してここに説明されるような、アプリケーションと通信するトンネリングクライアント、およびサービスプロバイダネットワークと通信するトンネリングサーバなどのネットワーク要素を含む図である。 本発明の実施形態に従った、効率的なカプセル化メディアトラフィック転送を行なう際の図2の効率的カプセル化メディアトラフィックトランスポートモジュール、および/または、図1のトンネリングクライアントおよびトンネリングサーバのフロー図である。
詳細な説明
一実施形態は、トンネル/呼出し設定時間に、連続する要求を介してほぼ同時に2つのトランスポート層に要求することにより、トンネルを介してカプセル化メディアを伝送する。一実施形態におけるトランスポート層のうちの一方は伝送制御プロトコル(Transmission Control Protocol:TCP)であり、トランスポート層のうちの一方は、カプセル化メディアトラフィックに対処するユーザデータグラムプロトコル(User Datagram Protocol:UDP)である。トンネルは、典型的にはUDPデータの伝送をブロックするであろうファイアウォールを含む制限的な通信ネットワークを介して、カプセル化メディアトラフィックを転送することができる。その結果、カプセル化メディアを伝送する呼出しまたは他の通信セッションのための設定時間が減少する。
図1は、本発明の実施形態を実現する、および/または本発明の実施形態と相互作用するネットワーク要素を含むネットワーク100の概略図である。ネットワーク100は、インターネットプロトコル(IP)ネットワーク114を介してサービスプロバイダネットワーク/バックボーン122とのリアルタイム通信(real-time communications:RTC)を行なうユーザ装置(user equipment:UE)102を含む。RTCでは、ユーザらは情報を瞬時に、または些細な待ち時間で交換する。RTCについての例示的なアプリケーションは、音声および/またはビデオ通話、アプリケーションストリーミング、ソフトフォン、およびリモートデスクトップアプリケーションを含む。UE102は、スマートフォン、ラップトップコンピュータ、タブレット、テレビなどといった、通信のためにエンドユーザによって使用されるあらゆるデバイスであってもよい。
RTCを行なう際、UE102は、サービスプロバイダネットワーク122におけるそれぞれのサーバ124と、シグナリングおよびメディアトラフィックを通信する。シグナリングトラフィックは、セッション初期化プロトコル(Session Initiation Protocol:SIP)などのアプリケーション層プロトコルに従って通信されてもよい。SIPは、下にあるトランスポート層とは独立して構成されている。したがって、SIPは、(たとえば、インターネット・エンジニアリング・タスク・フォース(Internet Engineering Task Force:IETF)リクエスト・フォー・コメンツ(request for comments:RFC)793およびRFC675に記載されるような)伝送制御プロトコル(TCP)、(たとえば、IETF RFC768に記載されるような)ユーザデータグラムプロトコル(UDP)などといった異なるトランスポートプロトコル上で実行可能である。
ネットワーク100はトンネリングサーバ116をさらに含み、それは、たとえば第3世代パートナーシッププログラム(3rd generation partnership program:3GPP)技術レポート(technical report:TR)33.830 V0.5.0(その開示はその全体がここに引用により援用される)に記載されるようなトンネル化サービス制御機能(Tunneled Services Control Function:TSCF)規格に従って、RTCを行なうための1つ以上のトンネルを確立し管理するための機能性を、UE102内のトンネリングクライアント106とともに提供する。一実施形態では、トンネリングクライアント106とトンネリングサーバ116とは、TSCFトンネル管理(たとえば3GPP TR33.830 V0.5.0によって規定されるような、たとえばトンネル初期化、維持、終了など)に準拠したTSCFトンネル108を確立し、トンネリングクライアント106とトンネリングサーバ116との間のTSCFトンネル108のネゴシエーションのためにTSCFトンネルトランスポートプロトコルがサポートされる。
TSCF規格は、RTCを行なうための管理されたトンネルを確立するためのクライアント側およびサーバ側ネットワーク要素(たとえば、図1におけるトンネリングクライアント106およびトンネリングサーバ116)を提供する。それはまた、TCPまたはトランスポート層セキュリティ(Transport Layer Security:TLS)を介するストリームベースの外部層トンネリングトランスポートと、UDPまたはデータグラムトランスポート層セキュリティ(Datagram Transport Layer Security:DTLS)を介するデータグラムベースの外部層トンネリングトランスポートという、2つのタイプの外部層トンネリングトランスポートを提供する。
TLSとは、たとえばIETF RFC2246、RFC4346、RFC5246、および/またはRFC6176において提供されるような暗号プロトコルである。DTLSとは、データグラムプロトコルのための通信プライバシーを提供するプロトコルである。TCPおよびTLSは、内部層トラフィックの、信頼でき、順序付けられた、エラーチェック済みの配送を提供するが、障害を経験する通信ネットワークを介して、RTCアプリケーションにとって有害な望ましくない待ち時間を生じさせる。一方、UDPおよびDTLSは信頼できる配送を保証しないため、待ち時間を最小化し、RTCにとって望ましい。
いくつかの実施形態では、IPネットワーク114は、それがあるトランスポートプロトコルのみ(たとえば、TCPのみ、UDPのみなど)のトラフィックを可能にするセキュリティデバイス(たとえば、ファイアウォール、プロキシなど)を含み得るという点で、制限的なネットワークであってもよい。したがって、トンネリングクライアント106およびトンネリングサーバ116は、UE102がTSCFトンネル108を使用してそのようなセキュリティデバイスを横断してトンネリングサーバ116に接続し、サービスプロバイダネットワーク122におけるサーバ124に到達するように、TSCFトンネル108を確立し管理してもよい。
TSCF規格はさらに、トンネリングクライアント106とトンネリングサーバ116との間で構成情報を交換するための制御メッセージを提供する。TSCF規格によれば、制御メッセージは「要求/応答」タイプのものであり、ある要求に対する制御メッセージ応答は、対応する返答か、または、その要求が受信側によって受付けられない理由を示すエラーコードのいずれかを含む。TSCF制御メッセージは、タイプ・長さ・値(Type Length Value:TLV)符号化を使用する。TLVとは、一意的なタイプと対応する値との可変長連結である。
たとえば3GPP TR33.830 V0.5.0に記載されるように、各TSCF制御メッセージは最初に制御メッセージ(control message:CM)ヘッダを含み、CMヘッダは、ヘッダのバージョンを識別し、TSCFトンネルの外部トランスポートプロトコルを示す「CM_Version」フィールドと、メッセージが制御メッセージであるか否かを識別する「CM_Indication」フィールドと、将来の使用のために予約される「予約」フィールドと、制御メッセージのタイプ(たとえば、それが要求であるか応答であるか、対応する機能性など)を識別する「CM_Type」フィールドと、対応する制御メッセージにおいてヘッダに続く、またはヘッダに添付されるTLVの数を示す「TLV_Count」フィールドと、TSCFトンネル108を一意的に識別するためにトンネリングサーバ116によって割当てられたトンネルセッション識別子(ID)を含む「トンネルセッションID」(Tunnel Session ID:TSID)フィールドと、メッセージごとにインクリメントされる「シーケンス」フィールドとを含む。
一実施形態では、TSCFトンネル108を確立するために、トンネリングクライアント106は、TSCFトンネル108についての構成情報を得るために「構成要求」メッセージをトンネリングサーバ116へ送信する。「構成要求」メッセージでは、TSIDヘッダフィールドビットは1に設定される(すなわちFFFF…)。これに応答して、トンネリングサーバ116はTSIDをTSCFトンネルに割当て、「構成応答」メッセージをトンネリングクライアント106へ送り返す。「構成応答」メッセージは、トンネリングサーバ116によってTSCFトンネル108に割当てられたTSIDを含む。トンネリングクライアント106とトンネリングサーバ116との間のその後のメッセージは、この割当てられたTSIDをそれらのヘッダに含む。
一実施形態では、ある制御メッセージがトンネリングクライアント106とトンネリングサーバ116との間で通信され、予想されるTSIDを含まない場合、その制御メッセージはドロップされ、対応するTSCFトンネルは終了される。これに代えて、一実施形態では、トンネリングクライアント106は、TSCFトンネルを終了させるために「構成解放要求」メッセージをトンネリングサーバ116へ送信してもよい。そのような「構成解放要求」メッセージに応答して、トンネリングサーバ116は「構成解放応答」メッセージをトンネリングクライアント106へ送信する。この時点で、TSCFトンネル108は終了される。
一実施形態では、UE102は、オラクル・コーポレイションからのトンネル化セッション管理(Tunneled Session Management:TSM)ソリューションによって提供されるソフトウェア開発キット(software development kit:SDK)などのライブラリに依拠するSIPベースのRTCアプリケーションであり得るアプリケーション104を実行する。TSMソリューションは、セッションボーダーコントローラ(session border controller:SBC)と、SDKを使用して開発され得るアプリケーション104などのクライアントアプリケーションとを使用する、クライアント/サーバアーキテクチャを採用する。クライアントアプリケーションは、インターネットを介したサービスプロバイダとの安全な通信セッションを開始する。ネットワークのエッジにある(たとえばトンネリングサーバ116によって実現された)セッションボーダーコントローラは、トンネルを終了させ制御してから、サービスプロバイダネットワーク122のサービスコアへ安全なトラフィックを渡す。一実施形態では、SDKは、クライアント側の効率的カプセル化メディアトラフィックトランスポートモジュール118、および/または、サーバ側の効率的カプセル化メディアトラフィックトランスポートモジュール120によって実現される。
カプセル化メディアデータ(たとえば、音声通話データトラフィック)をUDPトラフィックの形で伝送するいくつかのアプリケーションについては、データは、通常UDPトラフィックの横断を防止するであろうファイアウォールを横断する必要があるかもしれない。したがって一般に、トンネル108の機能性のために、クライアント側の効率的カプセル化メディアトラフィックトランスポートモジュール118、および/または、サーバ側の効率的カプセル化メディアトラフィックトランスポートモジュール120は、トンネル108を開始する際、TCPトランスポート層およびUDPトランスポート層の双方をほぼ同時に、一実施形態では介在する要求なく連続的に要求する。SDKは一般に、ここに開示される機能性を実現するために、「規格」のTSCF APIを越える追加のAPIを提供する。
一実施形態は、アプリケーション104が効率的なメディアトラフィック転送機能性を可能にできるようにアプリケーションプログラミングインターフェイス(application programming interface:API)をサポートするTSCF SDKを提供する。TSCF SDKは、tsc_sendto関数およびtsc_recvfrom関数をそれぞれ使用してカプセル化メディアを送信および受信するために使用され得る、BSD(Berkeley software distribution)状のソケットAPIを提供する。
図2は、本発明の一実施形態に従ったコンピュータサーバ/システム(すなわち、システム10)のブロック図である。システム10は、以下に詳細に開示されるこの発明の実施形態の機能性のいずれかを実現するために、図1に示すネットワーク要素のいずれかを実現するために必要に応じて使用され得る。単一のシステムとして図示されているが、システム10の機能性は分散型システムとして実現され得る。また、ここに開示される機能性は、ネットワークを介してともに結合され得る別々のサーバまたはデバイス上で実現され得る。また、システム10の1つ以上のコンポーネントが含まれていなくてもよい。たとえば、図1のトンネリングサーバ116の機能性のために、システム10は、一般に図2に示すディスプレイ24または1つ以上の他のコンポーネントを必要としないサーバであってもよい。
システム10は、情報を通信するためのバス12または他の通信メカニズムと、情報を処理するためにバス12に結合されたプロセッサ22とを含む。プロセッサ22は、あらゆるタイプの汎用または専用プロセッサであってもよい。システム10はさらに、プロセッサ22によって実行されるべき命令および情報を格納するためのメモリ14を含む。メモリ14は、RAM(random access memory)、ROM(read only memory)、磁気ディスクまたは光ディスクなどの静的記憶装置、もしくは他のあらゆるタイプのコンピュータ読取可能媒体のあらゆる組合せで構成され得る。システム10はさらに、ネットワークへのアクセスを提供するための、ネットワークインターフェイスカードなどの通信デバイス20を含む。したがって、ユーザは、システム10と直接、またはネットワークを介してリモートで、または他のあらゆる方法でインターフェイス接続してもよい。
コンピュータ読取可能媒体は、プロセッサ22によってアクセスされ得る利用可能なあらゆる媒体であってもよく、揮発性および不揮発性媒体の双方、リムーバブルおよび非リムーバブル媒体の双方、ならびに通信媒体を含む。通信媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、もしくは搬送波または他の転送メカニズムなどの変調データ信号における他のデータを含んでいてもよく、あらゆる情報配送媒体を含む。
プロセッサ22はさらに、液晶ディスプレイ(Liquid Crystal Display:LCD)などのディスプレイ24にバス12を介して結合されてもよい。ユーザが必要に応じてシステム10とインターフェイス接続することを可能にするように、キーボード26と、コンピュータマウスなどのカーソル制御デバイス28とが、さらにバス12に結合されてもよい。
一実施形態では、メモリ14は、プロセッサ22によって実行されると機能性を提供するソフトウェアモジュールを格納する。モジュールは、システム10のためのオペレーティングシステム機能性を提供するオペレーティングシステム15を含む。モジュールはさらに、制限的なファイアウォールを介してカプセル化メディアトラフィックを効率的に転送するための効率的カプセル化メディアトラフィックトランスポートモジュール16と、ここに開示される他のすべての機能性とを含む。例示的な一実施形態では、効率的メディアトラフィックトランスポートモジュール16は、図2の1つ以上の残りの要素とともに、図1のトンネリングサーバ116、またはトンネリングクライアント106を実現してもよい。システム10は、オラクル・コーポレイションからの「アクメ・パケット(Acme Packet)6300」セッションボーダーコントローラへの追加機能性といった、より大型のシステムの一部であってもよい。したがって、システム10は、追加機能性を含むための1つ以上の追加機能性モジュール18を含み得る。冗長符号化モジュール16および追加機能性モジュール18のための集中格納を提供するために、データベース17がバス12に結合される。
トンネリング構成では、カプセル化された(すなわち、パケット/フレーム内の)メディアは典型的には、(たとえば、IETF RFC3550において提供されるような)リアルタイムトランスポートプロトコル(real-time transport protocol:RTP)に従って通信される。TSCFトンネリング構成では、RTC(たとえば音声、ビデオなど)は、典型的にはTCP/TLSに従った外部トンネル層のレベルと、典型的にはUDPに従った内部トンネル層のレベルという、2つのレベルのトランスポートの対象となってもよい。図3は、一実施形態に従った、メディアトラフィックをカプセル化するためのTSCFトンネリング構成300における例示的なプロトコル層を示す。TSCFトンネリング構成300では、圧縮されたメディア(たとえば音声、ビデオなど)は、アプリケーション層のRTPに従って通信され、内部トランスポート層の内部UDPを介して内部ネットワーク層の内部IP内で転送される。これらの内部層は、外部トランスポート層の外部TCP/TLS内にあり、外部トランスポート層は、外部ネットワーク層の外部IP内にある。一実施形態では、多くのIPネットワークはストリームベースではないあらゆる外部トラフィックをブロックするため、配送を保証するために、TCP/TLSが、TSCFトンネル108の外部トランスポート層で使用される。
図1を再度参照して、一般に、ファイアウォールは、アクセスネットワークを横断できるトラフィックのタイプについて制限を課す。具体的には、ファイアウォールは典型的には、ストリーム(すなわち、TCP)トラフィックを可能にする。なぜなら、それは、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol:HTTP)などの信頼できるウェブ閲覧プロトコルにとって必要とされるためである。しかしながら、ファイアウォールは非常に頻繁に、データグラム(すなわち、UDP)トラフィックが横断するのを防止する。なぜなら、それは、データにとって信頼できないと考えられるためである。1つのソリューションは、メディアトラフィックがTCPトラフィックとして通過できるようにメディアトラフィックをカプセル化することである。しかしながら、カプセル化メディアが関与する場合、TCPトランスポートは可能性としてUDPよりもはるかに長い待ち時間を生じさせ、このため、ユーザ体験全体を劣化させる。
データグラムトンネリングは典型的にはストリームトンネリングよりも好まれるため、1つの可能なトンネル作成ソリューションは、データグラムトランスポートを使用し、データグラムベースのトンネルネゴシエーションが失敗した場合のみ、ストリームトランスポートを使用することを伴う。しかしながら、この失敗は、最終的にはトンネル作成を遅延させ、通信セッション(たとえば、電話呼出し)設定時間を劇的に増加させる。対照的に、実施形態は、設定時間を最小化するために、連続する要求を使用して複数のトンネルトランスポート層ネゴシエーションをほぼ同時に実現して、透過的に促進し、このため、可能な場合はいつでもデータグラムトランスポートが使用されることを保証する。
一実施形態では、トンネリングサーバ116は、(1)ストリームベースのインターフェイス(すなわち、TCP/TLS)、および(2)データグラムベースのインターフェイス(すなわち、UDP/DTLS)という、異なるタイプの少なくとも2つのトンネルサーバインターフェイスで構成される。一実施形態では、トンネル初期化時、トンネリングクライアント116は、複数のトランスポート、または利用可能な限り多くのトンネルサーバインターフェイスをほぼ同時に作成する。
一実施形態では、トンネリングクライアント106は、複数の構成要求CMを伝送することによって、1つ1つのトランスポート層を介してトンネルをネゴシエートする。各構成要求CMは、これらの要求のすべてについての一意識別子を有する新しいTLVまたはタグを含む。これに応答して、トンネリングサーバ116は、トンネリングサーバ116に到達したすべての着信要求に同じトンネル識別子(tunnel identifier:TID)および内部IPアドレスを割当てる構成応答CMで応答する。各要求に同じTIDが提供されるため、一般に、複数のトランスポート層(たとえば、TCPトランスポート層およびUDPトランスポート層)を含み得る単一のトンネルが作成される。しかしながら、一実施形態では、最終的には1つのトランスポート層のみが使用される。なぜなら、残りのトランスポート層がドロップされるためである。
一実施形態では、トンネリングクライアント106はすべての構成応答を処理し、最初に受信された構成応答CMのトランスポートにおけるカプセル化データの送受信を開始する。構成応答CMがUDPベースのトランスポートで受信されるや否や、それはトンネルのデフォルトトランスポートになり、他のすべてのトランスポートが除去される。一実施形態では、所与のタイムアウト後、構成応答CMがUDPベースのトランスポートで受信されない場合、応答が受信された最初のTCPベースのトランスポートがデフォルトトランスポートになり、他のすべてのトランスポートが除去される。
一実施形態では、TSCF SDKに存在するトンネル作成APIは、ここに開示される機能性を可能にするための新しいフラグを含む。
図4は、いくつかの実施形態に従った効率的なカプセル化メディアトラフィック転送のための、図1のアプリケーション104、トンネリングクライアント106、およびトンネリングサーバ116間で交換されるメッセージのシーケンスを含む、例示的なメッセージシーケンス図400である。図4は、図1を参照してここに説明されるような、アプリケーション104と通信するトンネリングクライアント106、およびサービスプロバイダネットワーク122と通信するトンネリングサーバ116などのネットワーク要素を含む。
401で、アプリケーション104は、「tsc_ctrl_new_tunnel」APIを実行することによってTSCFトンネル108を確立する。内部で、トンネリングクライアント106は、ストリームベースの(たとえば、TCP/TLS)トランスポートと、データグラムベースの(たとえば、UDP/DTLS)トランスポートという、2つのトランスポートを作成する。
402および403で、トンネリングクライアント106は、各トランスポートタイプ(すなわち、402ではUDP、403ではTCP)を介してトンネル構成要求CMを送出する。一実施形態では、各構成要求CMは、以下に詳細に説明される、同じ「タグ」TLV値を含む。402、403での要求は、一実施形態では、要求402および403が他の介在する要求なく連続的に送出されるという点で、ほぼ同時に送出される。
トンネリングサーバ116が403でストリームベースの構成要求CMを受信すると、トンネリングサーバ116はTIDおよびIPアドレスを割当て、それを着信タグに関連付ける。404で、トンネリングサーバ116は次に、TIDおよびIPアドレスを含む構成応答CMを送り返す。
トンネリングクライアント106は次に、トンネル108の状態を「確立済み」に変更し、TCPトランスポートのみが確立されたこの段階では、すべての着信および発信トラフィックはTCPトランスポートを介して送信される(たとえば、405〜408でのフレーム1および2)。
トンネリングサーバ116が402でデータグラムトランスポートを介して到着した構成要求CMを処理すると、トンネリングサーバ116は409で構成応答CMを発行する。それは、404と同じTIDおよびIPアドレスを含む。なぜなら、それは同じタグに関連付けられているためである。したがって、複数のトランスポート層で同じトンネルが使用される。
トンネリングクライアント106が409で構成応答CMを受信すると、トンネリングクライアント106は410で構成解放要求CMを送信することによってTCPトランスポートを解放する。構成解放要求CMは、411でトンネリングサーバ116によって構成解放応答CMで応答される。
トンネリングクライアント106が411で構成解放応答CMを受信すると、すべての着信および発信トラフィックはここで、TCPトランスポートの代わりにUDPトランスポートを介して送信される(たとえば、412〜417でのフレーム3、4、および5)。したがって、カプセル化メディアは、UDPを使用して、制限的なネットワーク114に存在し得るファイアウォールおよび他のセキュリティデバイスを迂回する。
一実施形態は、異なるトランスポートを介して構成要求を構成要求CMに結合する(すなわち、402および403)ために使用される「タグ」TLV値を含むようにTSCFを拡張することによって、効率的なカプセル化メディアトラフィック転送をサポートする。
以下の表1は、いくつかの実施形態に従った、効率的なメディアトラフィック転送機能性を提供するための例示的なTSCF TLVを提供する。
Figure 0006983218
一実施形態では、効率的なメディアトラフィック転送機能性を提供するために、以下の擬似コードによって示されるように、異なるトンネルトランスポートを介した接続がほぼ同時になされるはずであることを示す新しいブールパラメータ「multi_connection」を含むように、TSCF SDKの「tsc_tunnel_params」構造がアップグレードされる。
Figure 0006983218
上述の擬似コードにおける「connection_params」要素は、ほぼ同時に接続すべきサーバの接続パラメータおよびトランスポートパラメータのリストを規定する。「max_connections」要素は、それらのサーバのうちのいくつがリストにおいて提供されているかを示す。以下のように、トンネル作成時、「tsc_tunnel_params」構造はパラメータとして「tsc_ctrl_new_tunnel」APIへ渡される。
Figure 0006983218
ここで、「tsc_handle」は戻りコードであり、「requested_config」は、オプションの追加の一組の構成パラメータを提供する。
オラクル・コーポレイションからのアクメ・パケット6300といったSBCを使用して実現される一実施形態は、キーワード「multi-connection」を含むパラメータ「assigned-services」を含む構成オブジェクト「tscf-interface」を提供する。以下の表2は、一実施形態に従った、tscf-interface構成オブジェクトの一例を提供する。
Figure 0006983218
以下の機能性は、一実施形態に従った、効率的なメディアトラフィック転送を提供するための例示的なインターフェイス構成を提供する。複数のほぼ同時の連続的な接続をサポートするには、少なくとも2つのTSCFポートが必要とされる。
Figure 0006983218
以下は、一実施形態に従った、効率的なカプセル化メディアトラフィック転送を提供するための例示的な拡張マークアップ言語(extensible markup language:XML)機能性である。
Figure 0006983218
図5は、本発明の実施形態に従った、効率的なカプセル化メディアトラフィック転送を行なう際の図2の効率的カプセル化メディアトラフィックトランスポートモジュール16、および/または、図1のトンネリングクライアント106およびトンネリングサーバ116のフロー図である。一実施形態では、図5のフロー図の機能性は、メモリもしくは他のコンピュータ読取可能媒体または有形媒体に格納され、プロセッサによって実行されるソフトウェアによって実現される。他の実施形態では、機能性は、ハードウェアによって(たとえば、特定用途向け集積回路(application specific integrated circuit:ASIC)、プログラマブルゲートアレイ(programmable gate array:PGA)、フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)などの使用を介して)、または、ハードウェアとソフトウェアとのあらゆる組合せによって行なわれてもよい。
502で、トンネリングクライアント106およびトンネリングサーバ116は、トンネリングクライアント106に少なくとも2つのトンネル構成をほぼ同時に送出させることによって、TSCFトンネル108を確立する。トンネリングクライアント106は、トンネリングサーバ116によって受信される要求を、一実施形態では介在する要求なく連続的に送出する。一実施形態では、1つの要求はデータグラムUDPトランスポートに対するものであり、1つの要求はストリームベースのTCPトランスポートに対するものである。各構成要求は同じタグを含む。
504で、ストリームベースのTCPトランスポート要求に応答して、トンネリングサーバ116はトンネルIDおよびIPアドレスを割当て、それを着信タグと関連付けて構成応答を発行し、それがトンネル108を確立する。
506で、TCPトランスポートを使用して、すべてのトラフィックがTSCFトンネルを介して送信される。
508で、データグラムUDPトランスポート要求に応答して、UDPがファイアウォールによってブロックされていない場合、トンネリングサーバ116は504と同じトンネルIDおよびIPアドレスを割当て、構成応答を発行する。
510で、UDPが利用可能である場合、TCPトランスポートが解放される。TCPトランスポートが解放される前に、トラフィックがTCPトランスポート層およびUDPトランスポート層双方を介して送信され得る。
512で、TCPトランスポートの代わりにUDPトランスポートを使用して、すべてのトラフィックがここでTSCFトンネルを介して送信される。一実施形態では、トラフィックはカプセル化メディアトラフィックである。UDPトラフィックはトンネル108を介して送信されるため、それは、制限的なネットワーク114に存在し得るあらゆるファイアウォールなどを迂回する。
他の実現化例では、トンネル要求402、403に応答して、最初にUDP要求がサーバ116によって応答されてもよく、その場合、最初にUDPトランスポート層を用いてトンネル108が確立される。これが起こる場合、一実施形態では、すべてのメディアトラフィックがUDPを介して転送され、TCPを介したトンネルネゴシエーションがまだ進行中であっても、TCPトランスポートはすぐに解放される。
開示されたように、実施形態は、カプセル化メディアを伝送する際、UDPトランスポート層およびTSCFトランスポート層の双方を用いてトンネルを確立する。双方のトランスポート層は呼出し設定時間に要求され、それは設定遅延を減少させ、効率的な転送を提供する。UDPトランスポート層が利用可能である(たとえば、それがすべてのファイアウォールを迂回できる)場合、TSCFトランスポート層がドロップされ、カプセル化メディアはUDPトランスポート層上でのみ送信される。
いくつかの実施形態がここに具体的に例示され、および/または説明されている。しかしながら、開示された実施形態の変更および変形は上述の教示によって網羅されており、この発明の精神および意図された範囲から逸脱することなく、添付された請求項の範囲内にある、ということが理解されるであろう。

Claims (7)

  1. カプセル化メディアを伝送する方法であって、前記方法は、
    ストリームベースのトランスポート層を用いてトンネルを確立するための第1の要求を受信するステップを含み、前記第1の要求はタグを含み、前記方法はさらに、
    データグラムベースのトランスポート層を用いて前記トンネルを確立するための第2の要求を受信するステップを含み、前記第2の要求は前記タグを含み、前記方法はさらに、
    前記ストリームベースのトランスポート層を用いて前記トンネルを確立し、前記ストリームベースのトランスポート層を介して前記カプセル化メディアを受信するステップと、
    ユーザデータグラムプロトコル(UDP)がファイアウォールによってブロックされていない場合、前記ストリームベースのトランスポート層に加えて、前記トンネルのための前記データグラムベースのトランスポート層を確立し、前記データグラムベースのトランスポート層を介して前記カプセル化メディアを受信するステップと、
    前記トンネルのための前記データグラムベースのトランスポート層の確立後に前記ストリームベースのトランスポート層を解放するための第3の要求を受信するステップと、
    前記第3の要求の受信後に、前記ストリームベースのトランスポート層を解放するステップと、を含み、
    前記ストリームベースのトランスポート層は、伝送制御プロトコル(TCP)を使用して前記カプセル化メディアを伝送し、前記データグラムベースのトランスポート層は、ユーザデータグラムプロトコル(UDP)を使用して前記カプセル化メディアを伝送し、
    前記第1の要求および前記第2の要求は、介在する要求および応答なく連続的に受信される、方法。
  2. 前記トンネルは、トンネル化サービス制御機能(TSCF)規格に従って確立される、請求項1に記載の方法。
  3. 前記トンネルを確立するステップは、トンネル識別子およびインターネットプロトコルアドレスを前記トンネルに割当てるステップを含む、請求項1または2に記載の方法。
  4. 前記カプセル化メディアは、前記データグラムベースのトランスポート層が確立される前に、前記ストリームベースのトランスポート層を介して伝送される、請求項1〜3のいずれか1項に記載の方法。
  5. 前記カプセル化メディアは、前記ストリームベースのトランスポート層が解放された後に、前記データグラムベースのトランスポート層を介して伝送される、請求項4に記載の方法。
  6. 請求項1〜のいずれか1項に記載の方法をプロセッサに実行させるためのコンピュータ読取可能プログラム。
  7. トンネリングサーバとトンネリングクライアントとの間でカプセル化メディアを伝送するために前記トンネリングクライアントと通信する、トンネリングサーバであって、前記トンネリングサーバは、
    プロセッサと、
    前記プロセッサによって実行されると機能性を実現する命令を格納する、前記プロセッサに結合されたストレージデバイスとを含み、前記機能性は、
    ストリームベースのトランスポート層を用いてトンネルを確立するための第1の要求を受信することを含み、前記第1の要求はタグを含み、前記機能性はさらに、
    データグラムベースのトランスポート層を用いて前記トンネルを確立するための第2の要求を受信することを含み、前記第2の要求は前記タグを含み、前記機能性はさらに、
    前記ストリームベースのトランスポート層を用いて前記トンネルを確立し、前記ストリームベースのトランスポート層を介して前記カプセル化メディアを受信することと、
    ユーザデータグラムプロトコル(UDP)がファイアウォールによってブロックされていない場合、前記ストリームベースのトランスポート層に加えて、前記トンネルのための前記データグラムベースのトランスポート層を確立し、前記データグラムベースのトランスポート層を介して前記カプセル化メディアを受信することと、
    前記トンネルのための前記データグラムベースのトランスポート層の確立後に、前記ストリームベースのトランスポート層を解放するための第3の要求を受信することと、
    前記第3の要求の受信後に、前記ストリームベースのトランスポート層を解放することとを含み、
    前記ストリームベースのトランスポート層は、伝送制御プロトコル(TCP)を使用して前記カプセル化メディアを伝送し、前記データグラムベースのトランスポート層は、ユーザデータグラムプロトコル(UDP)を使用して前記カプセル化メディアを伝送し、
    前記第1の要求および前記第2の要求は、介在する要求および応答なく連続的に受信される、トンネリングサーバ。
JP2019500884A 2016-07-20 2017-04-27 データグラムベースのトランスポート層を介したカプセル化メディアトラフィックの効率的転送 Active JP6983218B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/214,958 2016-07-20
US15/214,958 US9998299B2 (en) 2016-07-20 2016-07-20 Efficient transport of encapsulated media traffic over restrictive networks
PCT/US2017/029781 WO2018017171A1 (en) 2016-07-20 2017-04-27 Efficient transport of encapsulated media traffic over a datagram based transport layer

Publications (3)

Publication Number Publication Date
JP2019525578A JP2019525578A (ja) 2019-09-05
JP2019525578A5 JP2019525578A5 (ja) 2020-02-06
JP6983218B2 true JP6983218B2 (ja) 2021-12-17

Family

ID=58739344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019500884A Active JP6983218B2 (ja) 2016-07-20 2017-04-27 データグラムベースのトランスポート層を介したカプセル化メディアトラフィックの効率的転送

Country Status (5)

Country Link
US (1) US9998299B2 (ja)
EP (1) EP3488581B1 (ja)
JP (1) JP6983218B2 (ja)
CN (1) CN109417548B (ja)
WO (1) WO2018017171A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7022540B2 (ja) * 2017-09-08 2022-02-18 キヤノン株式会社 情報処理装置およびその制御方法
US11323288B2 (en) * 2018-08-07 2022-05-03 Dh2I Company Systems and methods for server cluster network communication across the public internet
US11575757B2 (en) 2019-06-17 2023-02-07 Dh2I Company Cloaked remote client access
CN112243002B (zh) * 2020-10-10 2023-07-04 腾讯科技(深圳)有限公司 数据转发方法、装置、电子设备以及计算机可读介质
US11563802B2 (en) 2020-11-06 2023-01-24 Dh2I Company Systems and methods for hierarchical failover groups
US11888823B2 (en) * 2021-04-15 2024-01-30 Blackberry Limited Secured in-tunnel messages and access control

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7245917B2 (en) * 2003-09-08 2007-07-17 Research Foundation Of The State University Of New York System and method for IP handoff
US8855143B1 (en) * 2005-04-21 2014-10-07 Joseph Acampora Bandwidth saving system and method for communicating self describing messages over a network
US7716731B2 (en) * 2005-10-24 2010-05-11 Cisco Technology, Inc. Method for dynamically tunneling over an unreliable protocol or a reliable protocol, based on network conditions
US7697528B2 (en) * 2005-11-01 2010-04-13 Nortel Networks Limited Multilink trunking for encapsulated traffic
CN101188601B (zh) * 2006-11-15 2011-03-16 中兴通讯股份有限公司 一种多媒体数据快速发送和接收的方法
CN101207546A (zh) * 2006-12-18 2008-06-25 华为技术有限公司 一种动态建立隧道的方法、隧道服务器和***
US8418244B2 (en) * 2007-04-27 2013-04-09 Yahoo! Inc. Instant communication with TLS VPN tunnel management
US8825900B1 (en) * 2011-04-05 2014-09-02 Nicira, Inc. Method and apparatus for stateless transport layer tunneling
EP2839384B1 (en) * 2012-04-18 2018-10-24 Acme Packet, Inc. Redundancy for real time communications
CN102801628A (zh) * 2012-08-20 2012-11-28 神州数码网络(北京)有限公司 一种gre隧道中的数据转发方法及其***
US20140376558A1 (en) * 2013-06-19 2014-12-25 Alcatel-Lucent Usa Inc. Dynamic Network Service Association and On Demand Service Provisioning
US9781167B2 (en) 2013-06-21 2017-10-03 Verizon Patent And Licensing Inc. WebRTC data channel facilitating IMS support of RCS features
US9614890B2 (en) 2013-07-31 2017-04-04 Avaya Inc. Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media
EP2908491A1 (en) 2014-02-12 2015-08-19 HOB GmbH & Co. KG A communication system for transmitting data under a tunnel protocol
JP6194292B2 (ja) * 2014-08-11 2017-09-06 日本電信電話株式会社 通信システム、方法及びプログラム
US9444792B2 (en) * 2014-10-21 2016-09-13 Oracle International Corporation Dynamic tunnel for real time data communication
CN105635076B (zh) * 2014-10-31 2019-08-20 华为技术有限公司 一种媒体传输方法和设备
US10015287B2 (en) * 2015-03-04 2018-07-03 Oracle International Corporation Efficient tunneled streams for real-time communications
US9609035B2 (en) * 2015-03-04 2017-03-28 Oracle International Corporation Compressed headers for encapsulated real-time communications
US9614816B2 (en) * 2015-03-23 2017-04-04 Oracle International Corporation Dynamic encryption for tunneled real-time communications
US9332049B1 (en) 2015-04-28 2016-05-03 Oracle International Corporation Media compression for tunneled real-time communications
US9929879B2 (en) 2015-06-09 2018-03-27 Oracle International Corporation Multipath support of real-time communications
CN105099849B (zh) * 2015-06-23 2018-09-04 新华三技术有限公司 一种IPsec隧道的建立方法和设备
US10911413B2 (en) * 2015-09-16 2021-02-02 Oracle International Corporation Encapsulating and tunneling WebRTC traffic

Also Published As

Publication number Publication date
WO2018017171A1 (en) 2018-01-25
JP2019525578A (ja) 2019-09-05
US9998299B2 (en) 2018-06-12
EP3488581A1 (en) 2019-05-29
CN109417548A (zh) 2019-03-01
US20180026811A1 (en) 2018-01-25
EP3488581B1 (en) 2021-12-01
CN109417548B (zh) 2021-10-19

Similar Documents

Publication Publication Date Title
JP6983218B2 (ja) データグラムベースのトランスポート層を介したカプセル化メディアトラフィックの効率的転送
US10298627B2 (en) Concentration of independent tunneled encapsulated media
US9331967B2 (en) Browser/HTML friendly protocol for real-time communication signaling
US10608985B2 (en) Multihoming for tunneled encapsulated media
EP2932686B1 (en) Loading a re-directed web resource on a web browser of a client device in a communications system
US9307031B2 (en) Generic model for customizing protocol behavior through javascript
US11405969B2 (en) Enabling interface aggregation of mobile broadband network interfaces
US20140222957A1 (en) Java api for programming web real-time communication applications
US10911413B2 (en) Encapsulating and tunneling WebRTC traffic
JP6990649B2 (ja) 高速アクセステレコミュニケーショントンネルクローニング
EP2991318B1 (en) Hybrid cloud architecture for media communications
US12028382B2 (en) Communication method, communication apparatus, and communication system
US10015287B2 (en) Efficient tunneled streams for real-time communications
US9614816B2 (en) Dynamic encryption for tunneled real-time communications
US10148615B2 (en) Client side telecommunications tunnel persistence
US10263913B2 (en) Tunnel consolidation for real-time communications
US10334086B2 (en) Header redundancy removal for tunneled media traffic
US10158680B2 (en) Co-transported tunnels for encapsulated traffic
US10015209B2 (en) Rate control for data transmission using a tunnel

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210827

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20210827

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210930

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20211005

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211122

R150 Certificate of patent or registration of utility model

Ref document number: 6983218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150