JP5969689B2 - リアルタイム通信のための冗長性 - Google Patents

リアルタイム通信のための冗長性 Download PDF

Info

Publication number
JP5969689B2
JP5969689B2 JP2015507179A JP2015507179A JP5969689B2 JP 5969689 B2 JP5969689 B2 JP 5969689B2 JP 2015507179 A JP2015507179 A JP 2015507179A JP 2015507179 A JP2015507179 A JP 2015507179A JP 5969689 B2 JP5969689 B2 JP 5969689B2
Authority
JP
Japan
Prior art keywords
tunnel
redundant
media packet
rtse
rtscf
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
JP2015507179A
Other languages
English (en)
Other versions
JP2015519801A (ja
Inventor
カッツ,ヘンリー
クマール,プラシャント
ヘレロ,ローランド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Acme Packet Inc
Acme Packet Inc
Original Assignee
Acme Packet Inc
Acme Packet Inc
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 Acme Packet Inc, Acme Packet Inc filed Critical Acme Packet Inc
Publication of JP2015519801A publication Critical patent/JP2015519801A/ja
Application granted granted Critical
Publication of JP5969689B2 publication Critical patent/JP5969689B2/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • 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/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • 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/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

関連出願の相互参照
本願は、2012年4月18日に出願された米国仮出願番号第61/625,838号の利益を主張し、当該米国仮出願番号第61/625,838号は引用によって本明細書に援用される。
技術分野
本開示は、インターネット音声およびデータサービスに関する。
背景
多くの企業が、従来の電話会社によって提供される公衆交換電話網(Public Switched Telephone Network:PSTN)を用いた電話サービスから、インターネットプロトコル(Internet Protocol:IP)電話サービスプロバイダによって提供されるIPを用いた電話サービスに移行してきた。このようなサービスは、ボイスオーバーIP(VoIP)またはIP電話として一般に知られている。
今や、制約のあるPSTNではなく、パブリックインターネットまたはプライベートIPネットワークなどのIPネットワークが基幹回線として使用可能であるので、IP電話は、数例を挙げると、ビデオ会議、通話記録および着信転送などの高度な機能を提供できる能力がある。しかし、IP電話サービスの主な用途は、依然としてIP電話発信者をPSTN発信者に接続することである。
この理由のために、IP電話サービスプロバイダが利用するシグナリングインフラストラクチャ(例えば、プロキシ、アプリケーションサーバなど)は、多くの異なるタイプのエンドポイントが、PSTNゲートウェイによって提供される、それほど機能が豊富でないサービスにアクセスできるように設計される。サービスプロバイダは、しばしば、トラフィックを操作および/または標準化する。このような操作としては、例えば最小公分母コーデックへの変換、特定のSIPヘッダの操作/除去などが挙げられ得る。このような操作は、IP電話をPSTN電話と区別する働きをする高度なIP電話サービスと干渉する可能性がある。
本開示の多くの局面は、以下の図面を参照してよりよく理解され得る。図面中の構成要素は、必ずしも一定の比率に応じているわけではなく、その代わりに本開示の原理を明らかに示すことに重きが置かれている。
本明細書に開示されているいくつかの実施例に係るリアルタイム通信(real time communication:RTC)サービスのためのネットワーク環境のシステム図である。 本明細書に開示されているいくつかの実施例に係る時間をずらした冗長メカニズムを用いて伝送されるパケットの例示的なシーケンスを示す図である。 本明細書に開示されているいくつかの実施例に係る時間をずらした冗長メカニズムを用いた構成およびパケット伝送を示すメッセージフロー図である。 本明細書に開示されているいくつかの実施例に係るラウンドロビン冗長メカニズムを用いて伝送されるパケットの例示的なシーケンスを示す図である。 本明細書に開示されているいくつかの実施例に係るラウンドロビン冗長メカニズムを用いた構成およびパケット伝送を示すメッセージフロー図である。 本明細書に開示されているいくつかの実施例に係るストライピング冗長メカニズムを用いて伝送されるパケットの例示的なシーケンスを示す図である。 本明細書に開示されているいくつかの実施例に係るストライピング冗長メカニズムを用いた構成およびパケット伝送を示すメッセージフロー図である。 本明細書に開示されているいくつかの実施例に係る冗長トンネルシステムによって用いられるプロトコルスタックのブロック図である。 本明細書に開示されているいくつかの実施例に係る冗長パケットのフォーマットを示す図である。 本明細書に開示されているいくつかの実施例に係る冗長およびトンネリングカプセル化後のメディアパケットを示す図である。 本明細書に開示されているいくつかの実施例に係るアプリケーションペイロードを有する冗長パケットのフォーマットをより詳細に示す図である。 本明細書に開示されているいくつかの実施例に係る冗長トンネル接続状態マシンのフローチャートである。 本明細書に開示されているいくつかの実施例に係る図1のネットワーク化されたシステムの構成要素を実現するために使用可能なネットワークコンピューティング装置のブロック図である。
詳細な説明
図1は、リアルタイム通信(RTC)サービスを安全な態様で提供するネットワーク環境のシステム図である。本明細書において用いられるリアルタイム通信(RTC)とは、全てのユーザが、瞬時にまたは待ち時間を無視できる状態で、情報をやり取りすることができる任意の通信モードである。したがって、この文脈において、「リアルタイム」という用語は、「ライブ」と同義である。このようなリアルタイム通信の応用例としては、例えば音声通話、ビデオ通話、アプリケーションストリーミングおよびリモートデスクトップアプリケーションが挙げられ得る。エンドユーザトラフィックのためのセキュリティは、ファイアウォール、プロキシ、およびネットワーク内にある他のセキュリティ装置によって保証され得る。ネットワークは、エンドユーザトラフィックに対する制御をアサートするために管理者権限も利用し得る。本明細書に記載の技術により、指定のアプリケーショントラフィックは、ファイアウォールなどのセキュリティ装置も横断しながら、エンドユーザとリモートサーバとの間を安全に行き交うことができる。さらに、本明細書に記載の技術は、さまざまな冗長メカニズムを設けることによって、通話品質、待ち時間および/またはジッターに対処する。
図1に示されるネットワーク環境100は、冗長なトンネリングされたサービス制御機能110(Redundant Tunneled Services Control Function:RTSCF)と、冗長なトンネリングされたサービス要素120(Redundant Tunneled Services Element:RTSE)とを含んでいる。RTSCF 110はネットワーク側に位置しており、RTSE 120はユーザ側に位置している。より具体的には、RTSCF 110は、ユーザ要素130(user element:UE)の一部であるか、またはUE 130と同一の側にあり、RTSCF 110は、プロキシ呼セッション制御機能140(proxy call session control function:P−CSCF)の一部であるか、またはP−CSCF 140と同一の側にある。さらに、P−CSCFは、アプリケーションサーバ150−Aまたはリモート認証ダイヤルインユーザサービス(Remote Authentication Dial In User Service:RADIUS)サーバ150−Rなどのサーバであり得る1つ以上のコアネットワーク要素150と通信する。このようなコアネットワーク要素150は、サービスプロバイダコアネットワーク155を構成する。ユーザ要素側で、RTSE 120は、SIPまたはリッチコミュニケーションサービスアプリケーションなどのリアルタイム通信(RTC)アプリケーション160と通信し得る。
RTSCF 110およびRTSE 120は、冗長で安全なトンネル165を確立および維持するように協働する。RTSCF 110とRTSE 120との間の通信は、RTSCF制御プロトコルによって支配される。さらに、冗長で安全なトンネル165の各々は、1つ以上の安全なトンネルを用いて実現される。すなわち、RTSCF 110およびRTSE 120は、トランスポート層セキュリティ(Transport Layer Security:TLS)トンネルまたはデータグラムトランスポート層セキュリティ(Datagram Transport Layer Security:DTLS)トンネルなどの特定の安全なトンネルに冗長性を提供する。本明細書において用いられる「TLS」という用語は、RFC2246、RFC4346またはRFC5246に規定されたプロトコルを用いて作成された接続を指し、「DTLS」は、RFC6347またはRFC5248に規定されたプロトコルを用いて作成された接続を指す。
冗長で安全なトンネル165は、UE 130からインターネット170を介してサービスプロバイダネットワークエッジ175まで延びている。RTSCF 110およびRTSE 120は、これらの冗長で安全なトンネル165を介してさまざまなメディアフロー180またはストリームをUE 130に伝送する。より具体的には、RTSCF 110およびRTSE 120は、これらのメディアフロー180のペイロードを伝送し、これらのペイロードは、IPマルチメディアサブシステムトラフィック、ボイスオーバーIPトラフィックまたはリッチコミュニケーションサービス(Rich Communication Services:RCS)トラフィックなどのリアルタイムトラフィックを含む。RTSCF 110およびRTSE 120は、リアルタイムトラフィックに何らかの形態の冗長性を提供する。また、RTSCF 110は、プロキシ呼セッション制御機能(P−CSCF)メッセージの形態をとり得る制御メッセージを冗長で安全なトンネル165を介して中継する。
いくつかの実施例では、冗長で安全なトンネル165は、とりわけセッション開始プロトコル(Session Initiation Protocol:SIP)、リアルタイム伝送プロトコル(Real-time Transport Protocol:RTP)およびメッセージシステムリレープロトコル(Message System Relay Protocol:MSRP)を用いるものなどのリアルタイム通信(real-time communication:RTCO)サービスを提供する複数のアプリケーション間で共有され得る。他の実施例では、UE 130上の各々のRTCアプリケーション160は、それ自体の冗長で安全なトンネル165を利用する。
インターネットなどのベストエフォート型ネットワークを介してリアルタイム通信を伝送することにより、パケットロスおよびジッターのために、通話品質が下がる可能性がある。G.729aなどのいくつかのVoIPコーデックは、音声品質の大幅な劣化なしにある程度のパケットベースのエラーを音声またはスピーチストリームに隠すことができる内蔵型回復メカニズムを有している。しかし、これらのコーデック隠蔽アルゴリズムは、ジッターの影響を無くすことができず、大量の残余のジッターがスピーチ品質を大幅に低下させる。さらに、厳重な(すなわち、IMSを認識しない)ファイアウォールを横断するためにTCP/TLS伝送が用いられる場合、伝送メカニズムの特性は、自然な量のバースト性またはジッターをさらに悪化させる。このジッターがジッターバッファ許容値を超えると、音声品質がさらに低下したパケットロスが生じることになる。
本明細書に記載の実施例は、冗長な態様で安全なトンネルを介してユーザペイロードを伝えるために選択されたメカニズムを用いる冗長で安全なトンネル165を提供することによって、音声品質およびジッターに対処する。TLSおよびDTLSなどのトンネル伝送とともに使用される複数のメカニズムが、本明細書に記載されている。TLSおよびDTLSの実現例が本明細書に記載されているが、本明細書に開示されている技術は、他のトンネル伝送メカニズムにも適用可能である。さらに、本明細書に記載の実施例は、任意の特定のリアルタイムプロトコルに特有のものではなく、いかなるタイプのリアルタイム通信(RTC)トラフィックにも使用可能である。
RTSCF 110は、安全なトンネルに対して、または安全なトンネル上で、冗長なサービスを提供する。冗長で安全なトンネル165の基礎を構成する安全なトンネルは、RTSCF 110によってソケットとして指定され得る。いくつかの実施例では、安全で冗長なサービスは、ソケット作成時に要求される。他の実施例では、RTSCF 110は、既に作成されているソケット上にソケットオプションを設定することによって、安全な冗長性を有効にする。いくつかの実施例では、RTSE 120は、ソケットについての特定のRTC冗長性ファクタまたは冗長度を指定し得る。冗長性ファクタについては、以下でさらに詳細に説明する。
RTSE 120のいくつかの実施例は、例えばジッターバッファが空であるか、または空に達しているときに、ソケットの冗長性を動的に有効にする。次いで、このようなRTSE 120の実施例は、当該機能が必要でないときには、冗長機能を無効にし得る。同様に、RTSE 120のいくつかの実施例は、安全で冗長なトンネル機能を使用しているリアルタイム通信アプリケーションが経験する条件に応答してソケットの冗長度を動的に修正する。
単一のトンネル上のパケットの、時間をずらしたコピー、複数のトンネルにまたがるパケットのラウンドロビン送信、および複数のトンネルにまたがる時間ずらしまたはストライピングを含むさまざまな冗長メカニズムが本明細書に記載されている。RTSCF 110のいくつかの実施例は、ネットワーク条件およびトンネル伝送タイプによって適切なメカニズムを選択および設定可能であるように複数の冗長メカニズムをサポートする。本明細書では安全なトンネルを参照して説明しているが、本明細書に開示されている冗長性の技術は、セキュリティを持たないトンネルにも適用可能である。
ここで、冗長なトンネリングの概要について説明する。初めに、クライアントアプリケーション(例えば、SIPまたはリッチコミュニケーションサービスアプリケーション)がRTSE 120上に冗長メカニズムを設定する。次いで、RTSE 120は、RTSCF 110の方へのクライアントサービス要求メッセージを起動する。クライアントサービス要求メッセージは、接続情報(例えば、アプリケーションに割り当てられたIPアドレスおよびポート)、特定の冗長メカニズムおよび(任意に)特定の冗長性ファクタを指定する。いくつかの実施例では、接続は、ソケット識別子を用いて指定可能である。RTSCF 110は、このサービスを提供および受け付ける準備が整っていることを示すためのクライアントサービス応答メッセージにより、サービス要求に応答する。いくつかの実施例では、特定のRTC冗長メカニズムは、TSEとTSCFとの間に現在確立されているトンネルのトンネルタイプ(TLSまたはDTLS)に基づいて、RTSCF 110によって利用可能にされ得る。したがって、いくつかのシナリオでは、クライアントサービス要求は、冗長メカニズムが現在のトンネルタイプに適切でなければ、失敗し得る。トンネルの伝送タイプがTLS/TCPである場合、RTSCF 110は、当該要求によって作成される各々の補助(冗長な)トンネルごとに1つのTSID(トンネルセッション識別子)のリストをRTSE 120に提供し得る。当該識別子リストは、クライアントサービス応答の一部として提供されてもよく、または別個のメッセージで提供されてもよい。
図2は、単一のトンネル上でパケットの時間をずらしたコピーを使用する1つの冗長メカニズムを示す図である。このモードでは、追加の冗長なトンネルが必要とされることはなく、または作成されることはなく、既存の安全なトンネルが冗長なトンネル165として動作する。例えば、基礎をなすトンネルがトランスポートとしてDTLS/UDPを用いる場合に、時間をずらした単一トンネルメカニズムが使用され得る。この冗長モードでは、(RTSCF 110またはRTSE 120のいずれかに対応する)送出側は、複数のカプセル化されたRTCパケット220を結合するフレーム210を送信する。各フレーム210は、N個の以前に送信されたカプセル化されたRTCパケット220のコピーとともに、最新の(以前に送信されていない)カプセル化されたRTCパケット220を含む。ここで、Nは、冗長性ファクタまたは冗長度としてクライアントによって指定される追加の(時間をずらした)コピーの数である。
図2に示される例示的なシナリオでは、冗長性ファクタが2であるため、送出側は、単一のトンネル165を用いて、最新のパケット220とともに2つの以前に送信されたパケット220を送信する。この例では、パケット番号5(すなわち、シーケンス番号5)が最新であり、パケット番号3および4が既に送信されている。したがって、フレーム210−Aは、パケット220−3(シーケンス番号3)、パケット220−4(シーケンス番号4)およびパケット220−5(シーケンス番号5)を含む。同様に、次に送信されるフレームは、フレーム210−Bであり、当該フレーム210−Bは、パケット220−4、パケット220−5およびパケット220−6を含む。次は、フレーム210−Cであり、当該フレーム210−Cは、パケット220−5、パケット220−6およびパケット220−7を含む。示されているシーケンスの中の最後のフレームは、フレーム210−Dであり、当該フレーム210−Dは、パケット220−6、パケット220−7およびパケット220−8を含む。
時間をずらした単一トンネルメカニズムは、スライドウィンドウ手法に基づいて冗長パケットを選択する。受信側は、受信すると予想される最後のN個のパケットシーケンス(ここで、Nは、予め構成されたパラメータである)を追跡する。
スライドウィンドウアルゴリズムは、以下の疑似コードによって記載され得る。
Figure 0005969689
図3は、図2に関連付けて上記した時間をずらした単一トンネルメカニズムのための例示的なメッセージフローを示すメッセージ図である。シーケンスは、安全なトンネルを構築するためにRTSCF 110またはRTSE 120の間で一連のメッセージ(305)がやり取りされることから開始する。例えば、TLSプロトコルを用いて安全なトンネルを提供する実施例では、トンネルを作成および設定するためにTLSハンドシェイクが用いられる。当業者によって理解されるであろう適切なハンドシェイキングとともに、安全なトンネルを作成および維持するための他のメカニズムも利用可能である。
安全なトンネルが確立されると、RTSCF 110およびRTSE 120は、それらのそれぞれのエンドポイントであるRTCアプリケーション160およびP−CSCF 140の代わりに、安全なトンネルを介してリアルタイムトラフィックを伝える。RTSCF 110およびRTSE 120は、構成要求および応答メッセージ310および315をやり取りし得る。ある時点で、RTCアプリケーション160は、安全なトンネル上で冗長性を要求するメッセージ320をRTSE 120に送る。RTSE 120は、冗長性要求をクライアントサービス要求メッセージ325としてRTSCF 110に伝え、当該クライアントサービス要求メッセージ325は、特定の冗長メカニズムおよび特定の冗長性ファクタを示すパラメータを含み得る。この例では、冗長メカニズムとしてTime_Staggeredが指定され、冗長性ファクタは1である。このようなパラメータが含まれていない場合、RTSCF 110は、適切なデフォルト値を利用し得る。
RTSCF 110は、要求が成功したか否かを示すクライアントサービス応答メッセージ330により応答する。この通知は、RTSE 120が次いで、冗長性要求が成功したか否かの応答332によってRTCアプリケーション160に通知することを含み得る。この時点で、RTSCF 110とRTSE 120との間には、冗長で安全なトンネル165が確立されている。
次いで、以下のように、冗長で安全なトンネル165を通してリアルタイム通信トラフィックが伝えられる。この例では、リアルタイム通信トラフィックは、RTPパケットに対応するが、他のタイプのメディアパケットもサポートされる。RTCアプリケーション160は、第1のメディアパケット335をRTSE 120に供給し、冗長で安全なトンネル165を通して伝える。RTSE 120は、シーケンス番号を含む冗長ヘッダによりこのメディアパケット335をカプセル化し、フレーム340を生成する。これは一連のパケットの中の第1のパケットであるので、冗長で安全なトンネル165を通して送られるフレーム340は、第1のメディアパケット335のみを含む。RTSCF 110は、冗長ヘッダを除去することによってフレーム340の脱カプセル化を行い、結果として生じるメディアパケット335をプロキシ呼セッション制御機能(P−CSCF)140に供給する。次いで、P−CSCF 140は、SIPサーバまたはRADIUSサーバなどのRTCアプリケーション160に対するピアとしての役割を果たすサーバ150−A(図示せず)にメディアパケット335を供給する。
RTCアプリケーション160が第2のメディアパケット345を供給すると、RTSE 120は、次のシーケンス番号を含む冗長ヘッダによりこのメディアパケットをカプセル化する。これは一連のパケットの中の第1のパケットではないので、冗長で安全なトンネル165を通して送られるフレーム350は、以前のN個のメディアパケットのコピー(ここで、Nは、当該トンネルについての冗長性ファクタである)と、新たなメディアパケットとを含む。この例では、N=1であり、そのためフレーム350は、(既に送信されている)第1のメディアパケット335のコピーを含み、第2のメディアパケット345も含む。RTSCF 110は、フレーム350の脱カプセル化を行い、スライドウィンドウ(上記)を用いて、第1のメディアパケット335のコピーが、送信が成功したメディアパケットの複製であることを発見し、そのため第1のメディアパケット335のコピーを廃棄する。スライドウィンドウは、フレーム350内の他のメディアパケット345が複製ではないが、その代わりにこの特定のメディアパケットの第1の発生であることも示し、そのためRTSCF 110は、メディアパケット345をP−CSCF 140に供給する。次いで、P−CSCF 140は、メディアパケット345をサーバ150−Aに転送する。
RTSE 120は、RTCアプリケーション160から別のメディアパケット355を受取り、次のシーケンス番号を有する冗長ヘッダによりメディアパケット355をカプセル化する。冗長で安全なトンネル165を通して送られるフレーム360は、以前のN個のメディアパケット(すなわち、メディアパケット345)のコピーと、まだ送信されていないメディアパケット355とを含む。RTSCF 110は、フレーム360の脱カプセル化を行い、スライドウィンドウ(上記)を用いて、第2のメディアパケット345のコピーが、送信が成功したメディアパケットの複製であることを発見し、そのため第1のメディアパケット345のコピーを廃棄する。スライドウィンドウは、フレーム350内の他のメディアパケット355が複製ではないことも示し、そのためRTSCF 110は、メディアパケット355をP−CSCF 140に供給する。次いで、P−CSCF 140は、メディアパケット355をサーバ150−Aに転送する。
続いて、RTSE 120は、RTCアプリケーション160から別のメディアパケット365を受取り、次のシーケンス番号を有する冗長ヘッダによりメディアパケット365をカプセル化する。冗長で安全なトンネル165を通して送られるフレーム370は、メディアパケット355のコピーと、まだ送信されていないメディアパケット365とを含む。この例示的なシナリオでは、メディアパケット365は失われる。すなわち、メディアパケット365は、冗長で安全なトンネル165を通して上手く送信されず、RTSCF 110は、フレーム370を受取らない。代替的なシナリオでは、RTSCF 110はフレーム370を受取り得るが、フレーム370内のメディアパケット365は破損している恐れがある。
続いて、RTSE 120は、RTCアプリケーション160から別のメディアパケット375を受取り、次のシーケンス番号を有する冗長ヘッダによりメディアパケット375をカプセル化する。冗長で安全なトンネル165を通して送られるフレーム380は、メディアパケット365のコピーと、まだ送信されていないメディアパケット375とを含む。RTSCF 110は、フレーム380の脱カプセル化を行い、スライドウィンドウにより、第4のメディアパケット365のコピーが予想通り複製ではないが、その代わりに新たに送信されたメディアパケットであることを知る。したがって、複製としての第4のメディアパケット365のコピーを廃棄する代わりに、RTSCF 110は、メディアパケット365およびメディアパケット375の両方をP−CSCF 140に転送する。次いで、P−CSCF 140は、メディアパケット355をサーバ150−Aに転送する。
図2および図3に記載されている実施例は、単一の安全なトンネルに沿ってメディアパケットの複数のコピーを送信することによって当該トンネルを介して冗長性を提供する。言い換えれば、図2および図3の実施例では、メディアパケットが時間的にずらされる。ここで、複数の安全なトンネルを利用して冗長性を提供する他の実施例について説明する。下記のように、いくつかの実施例は、複製パケットと複数のトンネルとを組み合わせ得る。
図4は、複数のトンネルを通したパケットのラウンドロビン送信を使用する別の冗長メカニズムを示すブロック図である。いくつかの実施例では、このメカニズムは、トンネルがトランスポートとしてTLS/TCPを用いる場合にサポートされる。この冗長モードでは、RTSCF 110およびRTSE 120は、追加の安全なトンネルを構築するように協働する。このような追加のトンネルは、本明細書では「補助トンネル」と呼ばれてもよく、冗長性要求時に存在しているトンネルは、「主トンネル」または「主要トンネル」と呼ばれる。そして、主要トンネルおよび補助トンネルは、全体で冗長性を提供するように協働する。この実施例では、トンネルの数Nは、クライアントサービス要求における冗長性ファクタとして指定される。
(RTSCF 110またはRTSE 120のいずれかに対応する)送出側は、一連のフレーム410を送信し、各々の後続のフレーム410は、ラウンドロビンまたは循環する態様で次のトンネル(1〜N+1)に沿って送られる。図4に示される例示的なシナリオでは、冗長性ファクタは2であり、これは、合計3つのトンネル、すなわち1つの主要トンネルおよび2つの補助トンネルを示している。この特定の例では、パケット420−5(すなわち、シーケンス番号5)を含む第1のフレーム410−Aが、主要トンネル165−Pに沿って送信される。次いで、フレーム410−Bが補助トンネル165−A1に沿って送信され、フレーム410−Bは、次のパケット420−6(すなわち、シーケンス番号6)を含む。その後、フレーム410−B(すなわち、シーケンス番号8)が、次のトンネルである補助トンネル165−A2に沿って送信される。フレーム410−Cは、次のパケット420−7(すなわち、シーケンス番号8)を含む。次いで、N個のトンネルを通るシーケンシングがラウンドロビンの態様で繰り返される。すなわち、パケット420−8を有するフレーム410−Dが主要トンネル165−Pに沿って送信され、パケット420−9を有するフレーム410−Eが補助トンネル165−A1に沿って送信され、パケット420−10を有するフレーム410−Fが補助トンネル165−A2に沿って送信される。
図4に示される例示的なシナリオでは、厳密なラウンドロビンの態様でシーケンシングが行われ、そのためトンネルのシーケンスは固定される。他の実施例では、シーケンスは変化し得て、例えば1からNまでシーケンスが増加し、続いてN−1から1までシーケンスが減少するというものであってもよい。このようなシーケンスは、時には「スネーク(snake)」または「ジグザグ」と呼ばれる。また、図4に示される実施例では各フレーム410内に単一のRTCパケット420のみが担持されるが、他の実施例ではフレーム410当たり2つ以上のRTCパケット420が担持されてもよい。
図5は、図4に関連付けて上記したラウンドロビン複数トンネルメカニズムのための例示的なメッセージフローを示すメッセージ図である。シーケンスは、主要トンネルとして動作する第1の安全なトンネルを構築するためにRTSCF 110とRTSE 120との間で一連のメッセージ(505)がやり取りされることから開始する。TLSプロトコルを用いて安全なトンネルを提供する実施例は、トンネルを作成および設定するためにTLSハンドシェイクを使用し得る。当業者によって理解されるであろう適切なハンドシェイキングとともに、安全なトンネルを作成および維持するための他のメカニズムも利用可能である。
安全なトンネルが確立されると、RTSCF 110およびRTSE 120は、それらのそれぞれのエンドポイントであるRTCアプリケーション160およびP−CSCF 140の代わりに、安全なトンネルを介してリアルタイムトラフィックを伝える。RTSCF 110およびRTSE 120は、構成要求および応答メッセージ510および515をやり取りし得る。ある時点で、RTCアプリケーション160は、安全なトンネル上で冗長性を要求するメッセージ520をRTSE 120に送る。RTSE 120は、冗長性要求をクライアントサービス要求メッセージ525としてRTSCF 110に伝え、当該クライアントサービス要求メッセージ525は、特定の冗長メカニズムおよび特定の冗長性ファクタを示すパラメータを含み得る。この例では、冗長メカニズムとしてRound_Robinが指定され、冗長性ファクタは2である。このようなパラメータが含まれていない場合、RTSCF 110は、適切なデフォルト値を利用し得る。
RTSCF 110は、要求が成功したか否かを示すクライアントサービス応答メッセージ530により応答する。クライアントサービス応答530は、新たに作成される補助トンネルについてのトンネルセッション識別子のリストを含み得る。クライアントサービス応答530を受取った後、RTSE 120は、冗長性要求が成功したか否かをRTCアプリケーション160に通知する。この時点で、RTSCF 110とRTSE 120との間には冗長で安全なトンネル165が確立されており、冗長で安全なトンネル165は、主要トンネルと、冗長性ファクタによって規定される数の補助トンネルとを含む。最後に、RTSCF 110およびRTSE 120は、補助トンネルを構成するためにTLSハンドシェイク540を実行し得る。
次いで、以下のように、冗長で安全なトンネル165を通してリアルタイム通信トラフィックが伝えられる。この例では、リアルタイム通信トラフィックは、RTPパケットに対応するが、他のタイプのメディアパケットもサポートされる。RTCアプリケーション160は、第1のメディアパケット545をRTSE 120に供給し、冗長で安全なトンネル165を通して伝える。RTSE 120は、シーケンス番号を含む冗長ヘッダによりこのメディアパケット545をカプセル化し、結果として生じるフレーム550を主要トンネル165−Pを通して送信する。RTSCF 110は、冗長ヘッダを除去することによってフレーム550の脱カプセル化を行い、結果として生じるメディアパケット545をプロキシ呼セッション制御機能(P−CSCF)140に供給する。次いで、P−CSCF 140は、SIPサーバまたはRADIUSサーバなどのRTCアプリケーション160に対するピアとしての役割を果たすサーバ150−A(図示せず)にメディアパケット545を供給する。
後の時点で、RTCアプリケーション160は、第2のメディアパケット555を供給し、RTSE 120は、次のシーケンス番号を含む冗長ヘッダによりこのメディアパケットをカプセル化し、結果として生じるフレーム560を第1の補助トンネル165−A1を通して送信する。RTSCF 110は、フレーム560の脱カプセル化を行って555を明らかにし、555は、プロキシ呼セッション制御機能(P−CSCF)140に伝えられ、次いでサーバ150−A(図示せず)に伝えられる。図5から分かるように、第3のメディアパケット565は同様に処理される。すなわち、メディアパケット565は、カプセル化され、その結果フレーム570が得られ、フレーム570は、第2の補助トンネル165−A2を介して送信される。RTSCF 110は、フレーム570の脱カプセル化を行って565を明らかにし、565は、プロキシ呼セッション制御機能(P−CSCF)140に伝えられ、次いでサーバ150−A(図示せず)に伝えられる。図5から分かるように、連続的なパケットが、異なるトンネルに沿って送信されるだけでなく、時間の点で切り離されてもいる。これは、パケット番号2がパケット番号1の後に送信を開始し、パケット番号3がパケット番号2の後に送信を開始するなどの理由からである。これらの差異化の各々は、全体の誤り率を減少させる。このラウンドロビンメカニズムはパケットを複製しないので、より高いレベル、例えばTCPまたはTLSで誤り検出および/または訂正を処理することができる。
図6は、複数のトンネルにまたがる時間ずらしまたはストライピングを使用する別の冗長メカニズムを示すブロック図である。ストライピング複数トンネルメカニズムは、例えばトンネルがトランスポートとしてTLS/TCPを用いる場合に使用され得る。この冗長モードでは、RTSCF 110およびRTSE 120は、既に存在している主要トンネルに加えて安全な補助トンネルを構築するように協働する。この実施例では、トンネルの数Nは、クライアントサービス要求における冗長性ファクタとして指定される。メディアパケットは、トンネルをまたがって複製され、当該複製は、時間がずらされている。ストライピング複数トンネルモードでは、RTSCF 110もRTSE 120も、(メディアパケットのカプセル化中に追加される冗長ヘッダに設けられる)最後に受取られるRTCシーケンスを追跡する。受信側は、冗長ヘッダを取除き、ペイロード(元のパケット)を対応するアプリケーションに転送する。受取られるパケットRTCシーケンスが以前に受取られたもの以下であれば、当該パケットは廃棄される。
この動作モードは、図6に示されている。(RTSCF 110またはRTSE 120のいずれかに対応する)送出側は、一連のフレーム610を送信し、各々の後続のフレーム610は、各トンネルに沿って送られるが、時間がずらされる。図6に示される例示的なシナリオでは、冗長性ファクタは2であり、これは、合計3つのトンネル、すなわち1つの主要トンネルおよび2つの補助トンネルを示している。この特定の例では、メディアパケット620−5(すなわち、シーケンス番号5)を含む第1のフレーム610−Aが、最初に主要トンネル165−Pに沿って送信され、その後補助トンネル165−A1に沿って送信され、さらにその後補助トンネル165−A2に沿って送信される。主要トンネル165−Pに沿って(パケットメディア620−5を含む)フレーム610−Aを送信した後、送出側は次いで、次のメディアパケット630−6(すなわち、シーケンス番号6)を含むフレーム610−Bを、全てのトンネル、すなわち主要トンネル165−P、続いて補助トンネル165−A1、続いて補助トンネル165−A2に沿って送信する。図6から分かるように、フレーム610−C、610−Dおよび610−Eは、同様に処理される。
図7は、ストライピング複数トンネルメカニズムのための例示的なメッセージフローを示すメッセージ図である。シーケンスは、主要トンネルとして動作する第1の安全なトンネルを構築するためにRTSCF 110またはRTSE 120の間で一連のメッセージ(705)がやり取りされることから開始する。TLSプロトコルを用いて安全なトンネルを提供する実施例は、トンネルを作成および設定するためにTLSハンドシェイクを使用し得る。当業者によって理解されるであろう適切なハンドシェイキングとともに、安全なトンネルを作成および維持するための他のメカニズムも利用可能である。
安全なトンネルが確立されると、RTSCF 110およびRTSE 120は、それらのそれぞれのエンドポイントであるRTCアプリケーション160およびP−CSCF 140の代わりに、安全なトンネルを介してリアルタイムトラフィックを伝える。RTSCF 110およびRTSE 120は、構成要求および応答メッセージ710および715をやり取りし得る。ある時点で、RTCアプリケーション160は、安全なトンネル上で冗長性を要求するメッセージ720をRTSE 120に送る。RTSE 120は、冗長性要求をクライアントサービス要求メッセージ725としてRTSCF 110に伝え、当該クライアントサービス要求メッセージ725は、特定の冗長メカニズムおよび特定の冗長性ファクタを示すパラメータを含み得る。この例では、冗長メカニズムとしてStripe_Across_Multipleが指定され、冗長性ファクタは1である。このようなパラメータが含まれていない場合、RTSCF 110は、適切なデフォルト値を利用し得る。
RTSCF 110は、要求が成功したか否かを示すクライアントサービス応答メッセージ730により応答する。クライアントサービス応答730は、新たに作成される補助トンネルについてのトンネルセッション識別子のリストを含み得る。クライアントサービス応答730を受取った後、RTSE 120は、冗長性要求が成功したか否かをRTCアプリケーション160に通知する。この時点で、RTSCF 110とRTSE 120との間には冗長で安全なトンネル165が確立されており、冗長で安全なトンネル165は、主要トンネルと、冗長性ファクタによって規定される数の補助トンネルとを含む。最後に、RTSCF 110およびRTSE 120は、補助トンネルを構成するためにTLSハンドシェイク740を実行し得る。
次いで、以下のように、冗長で安全なトンネル165を通してリアルタイム通信トラフィックが伝えられる。この例では、リアルタイム通信トラフィックは、RTPパケットに対応するが、他のタイプのメディアパケットもサポートされる。RTCアプリケーション160は、第1のメディアパケット745をRTSE 120に供給し、冗長で安全なトンネル165を通して伝える。RTSE 120は、シーケンス番号を含む冗長ヘッダによりこのメディアパケット745をカプセル化し、結果として生じるフレーム750を主要トンネル165−Pを通して送信する。また、RTSE 120は、結果として生じるフレーム750を、このシナリオでは単一の補助トンネル165−A1である補助トンネルを通して送信する。例示的なシナリオでは、この送信は実質的に同時に行われるが、他の実施例では、遅延が生じ得る。
フレーム750の第1のインスタンスが到着すると、RTSCF 110は、冗長ヘッダを除去することによってフレーム750を受取ってフレーム750の脱カプセル化を行い、結果として生じるメディアパケット745をプロキシ呼セッション制御機能(P−CSCF)140に供給する。フレーム750の第2のインスタンスが到着すると、RTSCF 110は、スライドウィンドウを用いて、後続の到着が、送信が成功したフレームの複製であることを発見し、そのため後続のインスタンスを廃棄する。より具体的には、RTSCF 110もRTSE 120も、(冗長ヘッダに見られる)最後に受取られるRTCシーケンス番号を追跡し、RTCシーケンス番号が以前に受取られたRTCシーケンス番号以下であればRTCパケットを廃棄する。
このシナリオでは、次のメディアパケットは、RTSE 120ではなくRTSCF 110によって送られる。P−CSCF 140は、第2のメディアパケット755番号2を供給し、RTSCF 110は、次のシーケンス番号を含むように冗長ヘッダによりこのメディアパケットをカプセル化する。結果として生じるフレーム760番号2は、両方のトンネル、すなわち主要トンネル165−Pおよび補助トンネル165−A1を通して送信される。フレーム760番号2の第1のインスタンスが到着すると、受け手であるRTSE 120は、冗長ヘッダを除去することによって760番号2の脱カプセル化を行い、結果として生じるメディアパケット755番号2をプロキシ呼セッション制御機能(P−CSCF)140に供給する。フレーム760番号2の第2のインスタンスが到着すると、RTSCF 110は、スライドウィンドウを用いて、後続の到着が、送信が成功したフレームの複製であることを発見し、そのため後続のインスタンスを廃棄する。この例示的なシナリオでは、フレーム750は、送信される最初のフレームであるが、主要トンネル165−Pにおける遅延のために、フレーム760番号2よりも遅くに受取られる。
図8は、RTSCF 110およびRTSE 120のいくつかの実施例に係るさまざまなプロトコルスタックおよび層を通るメディアパケットの移動を示す。メディアパケットは、ユーザ側スタック810−U、RTSCFスタック810−R、P−CSCFスタック810−PおよびCNEスタック810−Cを横断する。パケットは、最初に冗長で安全なトンネル165を介して伝えられてP−CSCF 140に到達し、次いでP−CSCF 140からCNE 150までクリアテキスト経路を進む。
(図3、図5および図7に関連付けて前で参照した)トンネル構築およびネゴシエーション手順中に、RTSCF 110は、内側(リモート)IPアドレスをUE 130に割り当てる。内側アドレスは、RTSCF 110上で局所的に構成されてもよく、または、RTSCF 110が、IPマルチメディアサービス(IP Multimedia Services:IMS)ネットワークに位置する認証、承認およびアカウンティング(authentication, authorization and accounting:AAA)サーバなどの3GPP AAAサーバを介してリモートIPアドレスを取得してもよい。
リアルタイム通信(RTC)アプリケーション160によって実現される全ての上位層プロトコルは、RTSCF 110によって割り当てられたリモートIPアドレスを用いて、コアネットワーク要素150と通信する。RTCアプリケーション160によって生成されたメディアパケットは、ユーザ側スタック810−Uを通って、最初に層820−Uによって内側IPアドレスを備える。次いで、TLSトンネリング層830−Uが、メディアパケットに対してトンネリングカプセル化を行う。次いで、外側トランスポートIP層840−Uが、外側IPアドレスを付加する。最後に、メディアパケットは、L2/L1層850−Uを通過して、リンク上に送信される。
RTSCF 110では、このプロセスの逆のプロセスが行われる。パケットは、リンクに沿ってRTSCF 110によって受取られ、L2/L1層850−RにおいてRTSCFスタック810−Rに入る。パケットは、外側トランスポート層840−Rに伝えられ、そこで外側IPアドレスが取除かれる。パケットは、続いてTLSトンネリング層830−Rを通り、次いで内側IP層820−Rを通り、そこで内側IPアドレスが取除かれる。
冗長で安全なトンネル165を横断すると、パケットは次いで、方向転換して、P−CSCFスタック810−Pを下がっていく。脱トンネリングされたメディアパケットは、最初にRTCアプリケーション160−Pによって処理され、次いでリモートIP層820−Pによって処理される。この時点で、パケットは、クリアテキストであり、L2/L1層850−Pによって処理されて、リンク上に送信される。なお、P−CSCF 140とCNE 150との間にはトンネルが関与していないので、1つの(リモート)IP層のみが使用される。パケットは、CNE 150において受取られ、逆のプロセスが行われる。すなわち、最初にL2/L1層850−Cによって処理され、次いでリモートIP層820−Cによって処理される。最後に、メディアパケットは、リアルタイム通信(RTC)アプリケーション160−Cに送達される。
このように、RTSCF 110は、IMSパケットをトンネリングおよび脱トンネリングし、冗長で安全なトンネル165からCNE 150に内側パケットを転送する。RTSCF 110がIMSメッセージをP−CSCF 140に転送すると、P−CSCF 140は、3GPP IMS仕様(3GPP TS 24.229)に規定されているようにIMSメッセージを処理する。
図9は、本明細書に記載のさまざまな実施例に係る冗長パケットのフォーマットを示す。RTSCF 110が特定のアプリケーションソケット上で冗長性を有効にし、設定するたびに、当該ソケットに沿って送信される各々のメディアパケットは、冗長ヘッダ910を元のメディアパケットに追加することによってカプセル化され、したがってこれは、ペイロード920であると考えられる。冗長ヘッダ910は、シーケンス番号フィールド930と、ペイロード長フィールド940とを含む。冗長ヘッダ910は、1つ以上の予備のフィールド950も含み得る。
図10は、冗長性およびトンネリングカプセル化後に送信リンク上に現れるメディアパケットの分解組立図である。UE 130から生じたパケットが、ユーザ側スタック810−Uを横断し、リンク上での送信の準備が整ったとき、このようなパケットは、TLSトンネルヘッダ1030によって切り離される内側ヘッダ部分1010および外側ヘッダ部分1020から構成されている。外側ヘッダ部分1020およびペイロード920は、冗長で安全なトンネル165内で暗号化されるが、残りの部分は暗号化されない。
最初に「電話線で」送信される外側ヘッダ部分1020は、外側L2ヘッダ1040と、それに続く外側L3ヘッダ1050と、それに続く外側L4ヘッダ1060とを含む。次に、TLSトンネルヘッダ1030が送信される。次に送信されるのは、内側ヘッダ部分1010であり、当該内側ヘッダ部分1010は、内側L3ヘッダ1070と、内側L4ヘッダ1080とを含む。ペイロード920が最後に送信される。トンネルの存在は、アプリケーション/P−CSCF層にトランスペアレントであるか、またはアプリケーション/P−CSCF層に直交している。言い換えれば、内側IPアドレスは、TLSトンネルを収容するようには修正されておらず、まるでトンネルが存在しないように動作する。
図11は、RTSCF 110およびRTSE 120によって使用される制御パケットの分解組立図である。制御メッセージは、キープアライブメカニズム、プロトコルのバージョン、UE内側IPアドレスの割り当て、ヘッダ圧縮および認証メカニズムなどのパラメータをネゴシエートするために使用され得る。制御パケットは、TLSトンネルヘッダ1130によって切り離される制御メッセージ1110および外側ヘッダ部分1120から構成されている。最初に「電話線で」送信される外側ヘッダ部分1120は、外側L2ヘッダ1140と、それに続く外側L3ヘッダ1150と、それに続く外側L4ヘッダ1160とを含む。次に、TLSトンネルヘッダ1130が送信される。制御メッセージ1110が最後に送信される。
図12は、RTSE 120のいくつかの実施例によって使用される接続状態マシンのためのフローチャートである。このような状態マシンは、IMSを認識しないファイアウォールの存在を検出し、このファイアウォールを横断するために使用され得る。初めに、ブロック1210において、IMSアプリケーションは、3GPP仕様TS 24.229に規定された通常の手順に従ってレジスタを試みる。ブロック1220において、レジスタの成功が確認される。レジスタが成功すると、処理はブロック1230に進み、ブロック1230において、RTSE 120は、トンネルを維持する状態に入る。いくつかの実施例では、RTSE 120は、NAT横断のための3GPPに規定された代替的な手順を用いてレジスタを試みてもよい。
しかし、レジスタが失敗すると、処理はブロック1240に進み、ブロック1240において、RTSE 120は、RTSCF 110上の特定の宛先ポート(例えば、80/443)にTLSトンネルを確立しようと試みる。ブロック1250において、確立が成功したか否かについて確認される。TLSトンネルの確立が成功すると、処理はブロック1230に進み、ブロック1230において、RTSE 120は、トンネルを維持する状態に入る。トンネルが確立されると、RTSE 120は、IMSを認識しない(すなわち、厳密な)ファイアウォールの存在もIMS制御プレーンおよびユーザプレーンプロトコルに示し得る。この時点で、全てのIMSプロトコルは、確立された安全なトンネルを介して全てのそれらのトラフィックを送る。任意に、エンド・ツー・エンドセキュリティが有効にされない場合には、IMSプロトコルは、プロトコルレベルでセキュリティを無効にすることができる。なぜなら、TLSトンネリングメカニズムが、パケットレベル暗号化および認証メカニズムを提供することになるからである。
TLSトンネルの確立が成功しなければ、処理はブロック1260に進む。このような失敗は、明示的なHTTPプロキシが存在する可能性があることを示し得る。したがって、RTSE 120は、HTTP CONNECTメソッド(RFC2616)はネットワーク内のデフォルトHTTPプロキシ(例えば、ポート80/443)に送る。ブロック1270において、RTSE 120は、HTTP CONNECTに対する応答を得る。HTTP CONNECTに対する応答が失敗であれば、処理はブロック1280に進み、ブロック1280において、RTSE 120は、遅延期間の間、待機し、次いで処理を再び開始させる。予め定められたいくつかの失敗は、ネットワークにおける不適当な構成を示し、その結果、IMSサービスはこのネットワークを通ることはない。
ブロック1270においてHTTP CONNECTに対する応答が成功を示すと、RTSE 120はブロック1290に進み、ブロック1290において、RTSCF 110にTLSトンネルを構築しようとする別の試みがなされる。ブロック1295において構築の成功が確認され、成功すると、処理はブロック1230に進み、ブロック1230において、RTSE 120は、トンネルを維持する状態に入る。ブロック1295においてTLSトンネルの確立が成功しなかったと判断されると、処理はブロック1280に進み、RTSE 120は、処理を再び開始する前に、遅延期間の間、待機する。
図13は、本明細書に開示されているRTSCF 110および/またはRTSE 120の実施例を実現するために使用可能なネットワーク装置のブロック図である。ネットワーク装置は、プロセッサ1310と、メモリ1320と、ネットワークインターフェイス1330と、記憶装置1340(例えば、不揮発性メモリまたはディスクドライブ)と、1つ以上の入出力(I/O)インターフェイス1350とを含む。これらのハードウェアコンポーネントは、バス1360によって結合されている。ネットワーク装置の動作を説明するために不必要ないくつかのコンポーネントは、図13からは省略されている。
冗長メカニズムは、ソフトウェア(すなわち、プロセッサ上で実行される命令)で実現可能である。図13は、ソフトウェア実現例を示しており、メモリ1320が冗長コード1370およびプロトコルコード1380を格納している。
冗長メカニズムは、専門のハードウェア論理でも実現可能である。ハードウェア実現例としては、プログラマブル論理素子(programmable logic device:PLD)、プログラマブルゲートアレイ(programmable gate array:PGA)、フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)、特定用途向け集積回路(application-specific integrated circuit:ASIC)、システムオンチップ(system on chip:SoC)およびシステム・イン・パッケージ(system in package:SiP)が挙げられる(しかし、これらに限定されるものではない)。当業者は、これらのコンポーネントがハードウェアおよびソフトウェアの任意の組合せを用いて実現されてもよいということも理解すべきである。
ネットワーク装置のいくつかの実施例では、ソフトウェアによって実現される冗長メカニズムは、コンピュータ読取可能媒体上に格納され、コンピュータ読取可能媒体は、本開示の文脈では、プロセッサによって実行可能な命令を収容、格納または実施し得る任意の構造を指す。コンピュータ読取可能媒体は、例えば電子技術、磁気技術、光学技術、電磁気技術、赤外線技術または半導体技術に基づくものであり得るが、これらに限定されるものではない。電子技術を用いたコンピュータ読取可能媒体の具体的な例としては、ランダムアクセスメモリ(random access memory:RAM)、リードオンリーメモリ(read-only memory:ROM)および消去可能プログラマブルリードオンリーメモリ(erasable programmable read-only memory:EPROMまたはフラッシュメモリ)が挙げられるであろう(しかし、これらに限定されるものではない)。磁気技術を用いた具体的な例としては、ディスクドライブおよび携帯型コンピュータディスケットが挙げられる(しかし、これらに限定されるものではない)。光学技術を用いた具体的な例としては、コンパクトディスクリードオンリーメモリ(compact disk read-only memory:CD−ROM)またはデジタルビデオディスクリードオンリーメモリ(digital video disk read-only memory:DVD−ROM)が挙げられる(しかし、これらに限定されるものではない)。
フローチャート内のいかなるプロセス説明またはブロックも、プロセスにおいて具体的な機能またはステップを実現するための1つ以上の実行可能な命令を含むモジュール、セグメントまたはコードの一部を表わすものとして理解されるであろう。ソフトウェア開発の分野における当業者によって理解されるであろうように、代替的な実現例も本開示の範囲内に包含される。これらの代替的な実現例では、機能は、関係する機能に応じて、実質的に同時または逆の順序を含む、示されているまたは記載されている順序とは異なるばらばらの順序で実行されてもよい。
上記の説明は、例示および説明の目的で提示されてきた。上記の説明は、網羅的であるように意図したものではなく、開示されている厳密な形態に本開示を限定することを意図したものでもない。上記の教示に鑑みて、自明な変形または変更が可能である。しかし、記載の実現例は、本開示の原理およびその実際的な適用を示すことによって、当業者が、意図されている特定の用途に合うように、さまざまな実現例において、さまざまな変形例とともに、本開示を利用できるようにするために、選択および記載された。すべてのこのような変形例および変更例は、公正かつ法的に認められる広がりに従って解釈される場合に、添付の特許請求の範囲によって規定される本開示の範囲内である。

Claims (9)

  1. 送信側と受信側との間に第1のトンネルを確立するステップと、
    前記送信側と前記受信側との間に少なくとも1つの第2のトンネルを確立するステップと、
    メディアパケットのストリームの第1のメディアパケットと、前記第1のメディアパケットに続く第2のメディアパケットとの各々を、前記第1のトンネルおよび前記第2のトンネルを介して、所定の規則に従って、前記受信側へ複数回送信するステップとを備える、方法。
  2. 前記送信するステップは、前記第1のメディアパケットを前記第1のトンネルを介して複数回送信するとともに、前記第2のメディアパケットを前記第2のトンネルを介して複数回送信するステップを含む、請求項1に記載の方法。
  3. 前記送信するステップは、前記第1のメディアパケットおよび前記第2のメディアパケットを前記第1のトンネルを介して送信するとともに、前記第1のメディアパケットおよび前記第2のメディアパケットを前記第2のトンネルを介しても送信するステップを含む、請求項1に記載の方法。
  4. 前記第2のトンネルを介した前記第1のメディアパケットの送信は、前記第1のトンネルを介した前記第1のメディアパケットの送信に対して遅延させられる、請求項3に記載の方法。
  5. 冗長なトンネリングされたサービス要素(RTSE)を含む第1の装置と、
    前記RTSEと通信し、前記RTSEに対して冗長で安全なトンネルを確立するように動作可能な冗長なトンネリングされたサービス制御機能(RTSCF)を含む第2の装置とを備える冗長なリアルタイム通信システムであって、
    前記RTSEは、
    前記RTSCFに対して第1の冗長で安全なトンネルおよび少なくとも1つの第2の冗長で安全なトンネルを確立するように動作可能であり、
    メディアパケットのストリームの第1のメディアパケットと、前記第1のメディアパケットに続く第2のメディアパケットとの各々を、前記第1の冗長で安全なトンネルおよび前記第2の冗長で安全なトンネルを介して、所定の規則に従って、前記RTSCFへ複数回送信するように動作可能である、システム。
  6. 前記RTSEは、前記第1のメディアパケットおよび前記第2のメディアパケットの送信に関して、複数の冗長モードをサポートする、請求項5に記載のシステム。
  7. 前記複数の冗長モードは、時間をずらしたモード、ラウンドロビンモード、ストライピング複数トンネルモード、またはそれらの組合せを含む、請求項6に記載のシステム。
  8. 前記RTSEは、前記冗長で安全なトンネルの確立を前記RTSCFから要求するように動作可能である、請求項6または7に記載のシステム。
  9. 前記要求は、前記複数の冗長モードのうちの1つを特定する、請求項8に記載のシステム。
JP2015507179A 2012-04-18 2013-04-18 リアルタイム通信のための冗長性 Active JP5969689B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261625838P 2012-04-18 2012-04-18
US61/625,838 2012-04-18
PCT/US2013/037176 WO2013158882A1 (en) 2012-04-18 2013-04-18 Redundancy for real time communications

Publications (2)

Publication Number Publication Date
JP2015519801A JP2015519801A (ja) 2015-07-09
JP5969689B2 true JP5969689B2 (ja) 2016-08-17

Family

ID=49381269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015507179A Active JP5969689B2 (ja) 2012-04-18 2013-04-18 リアルタイム通信のための冗長性

Country Status (5)

Country Link
US (1) US9531503B2 (ja)
EP (1) EP2839384B1 (ja)
JP (1) JP5969689B2 (ja)
CN (1) CN104272290B (ja)
WO (1) WO2013158882A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218467B2 (en) 2009-12-23 2019-02-26 Pismo Labs Technology Limited Methods and systems for managing error correction mode
US9584443B2 (en) * 2014-08-08 2017-02-28 Pismo Labs Technology Limited Methods and systems for transmitting data through an aggregated connection
US9787501B2 (en) 2009-12-23 2017-10-10 Pismo Labs Technology Limited Methods and systems for transmitting packets through aggregated end-to-end connection
GB2532587B (en) * 2014-08-08 2021-08-04 Pismo Labs Technology Ltd Methods and systems for transmitting data through an aggregated connection
US9787776B2 (en) * 2014-08-29 2017-10-10 Pismo Labs Technology Limited Methods and systems for transmitting packets through an aggregated connection
CN105765943B (zh) 2014-10-20 2019-08-23 Lg 电子株式会社 发送广播信号的装置、接收广播信号的装置、发送广播信号的方法和接收广播信号的方法
US9444792B2 (en) 2014-10-21 2016-09-13 Oracle International Corporation Dynamic tunnel for real time data communication
US9647982B2 (en) * 2015-03-03 2017-05-09 Oracle International Corporation Peer tunneling for real-time communications
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
US10142229B2 (en) * 2015-03-13 2018-11-27 Oracle International Corporation Concealed datagram-based tunnel for real-time communications
US9913128B2 (en) 2015-03-17 2018-03-06 Oracle International Corporation Subscriber data federation in a telecommunications network
US9614816B2 (en) * 2015-03-23 2017-04-04 Oracle International Corporation Dynamic encryption for tunneled real-time communications
US10263913B2 (en) * 2015-04-08 2019-04-16 Oracle International Corporation Tunnel consolidation for real-time communications
US9332049B1 (en) * 2015-04-28 2016-05-03 Oracle International Corporation Media compression for tunneled real-time communications
CN105071897B (zh) * 2015-07-03 2018-05-29 东北大学 一种网络实时音频会话媒体数据多径冗余传输方法
US10015209B2 (en) * 2015-07-15 2018-07-03 Oracle International Corporation Rate control for data transmission using a tunnel
US9742587B2 (en) 2015-07-29 2017-08-22 Oracle International Corporation Negative acknowledgment of tunneled encapsulated media
US10608985B2 (en) * 2015-08-14 2020-03-31 Oracle International Corporation Multihoming for tunneled encapsulated media
US9762412B2 (en) * 2015-08-20 2017-09-12 Oracle International Corporation Redundant traffic encoding of encapsulated real time communications
US10911413B2 (en) * 2015-09-16 2021-02-02 Oracle International Corporation Encapsulating and tunneling WebRTC traffic
US9866384B2 (en) 2015-10-13 2018-01-09 Oacle International Corporation Media detection of encrypted tunneled data
US10334086B2 (en) 2015-10-29 2019-06-25 Oracle International Corporation Header redundancy removal for tunneled media traffic
US10158680B2 (en) * 2016-01-20 2018-12-18 Oracle International Corporation Co-transported tunnels for encapsulated traffic
US10298627B2 (en) 2016-02-01 2019-05-21 Oracle International Corporation Concentration of independent tunneled encapsulated media
US9998299B2 (en) * 2016-07-20 2018-06-12 Oracle International Corporation Efficient transport of encapsulated media traffic over restrictive networks
CN107666375A (zh) * 2016-07-28 2018-02-06 北京数码视讯科技股份有限公司 一种数据传输方法及装置
US10015097B2 (en) 2016-08-19 2018-07-03 Oracle International Corporation Fast access telecommunication tunnel cloning
US10306181B2 (en) * 2016-10-11 2019-05-28 Cisco Technology, Inc. Large scale media switching: reliable transport for long term reference frames
US10148615B2 (en) 2016-10-20 2018-12-04 Oracle International Corporation Client side telecommunications tunnel persistence
CN108632896B (zh) * 2017-03-15 2020-09-29 华为技术有限公司 一种数据传输方法及相关设备
MX2020004745A (es) * 2017-11-20 2020-10-28 Mako Networks Nz Ltd Método y sistema para la transmisión de datos.
KR102656508B1 (ko) 2018-12-31 2024-04-12 구글 엘엘씨 사용자 네트워크 인터페이스 프록시를 통한 캐리어 통합
US11196715B2 (en) * 2019-07-16 2021-12-07 Xilinx, Inc. Slice-aggregated cryptographic system and method
US11785005B2 (en) * 2020-09-23 2023-10-10 Apple Inc. Secure tunneling with implicit device identification
CA3113015A1 (en) * 2021-03-02 2022-09-02 Grass Valley Canada System and method of streaming content between peer devices in a broadcast environment
US11888823B2 (en) * 2021-04-15 2024-01-30 Blackberry Limited Secured in-tunnel messages and access control

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63181549A (ja) * 1987-01-23 1988-07-26 Fujitsu Ltd 多ル−ト通信方式
US6167060A (en) * 1997-08-08 2000-12-26 Clarent Corporation Dynamic forward error correction algorithm for internet telephone
JPH11163926A (ja) * 1997-11-26 1999-06-18 Toshiba Corp パケット中継装置及び記録媒体
US6728924B1 (en) * 1999-10-21 2004-04-27 Lucent Technologies Inc. Packet loss control method for real-time multimedia communications
US7574351B2 (en) * 1999-12-14 2009-08-11 Texas Instruments Incorporated Arranging CELP information of one frame in a second packet
US7263106B2 (en) * 2000-09-13 2007-08-28 Fortinet, Inc. System and protocol for frame relay service over the internet
SG97934A1 (en) * 2000-09-13 2003-08-20 Mediaring Ltd Quality of transmission across packet-based networks
JP3902762B2 (ja) * 2001-03-29 2007-04-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 信号を伝送するためのデータの減少されたデータストリーム
JP3672517B2 (ja) * 2001-10-05 2005-07-20 沖電気工業株式会社 通信装置
JP4277189B2 (ja) * 2003-02-19 2009-06-10 株式会社 インテック・ネットコア ルータ装置及びパケット転送制御方法
JP4347227B2 (ja) * 2005-01-18 2009-10-21 Necインフロンティア株式会社 警備監視システム、仮想専用線アダプタ、および警備監視方法
KR100750166B1 (ko) * 2005-11-15 2007-08-21 삼성전자주식회사 무선 네트워크 환경에서 효율적인 데이터 재전송 장치 및방법
FR2895181B1 (fr) * 2005-12-16 2008-12-05 Mediatvcom Sarl Procede et systeme de transmission d'un flux de donnees multimedia
KR100843310B1 (ko) * 2006-09-26 2008-07-03 인하대학교 산학협력단 Ofdma/tdd 셀룰러 시스템에서의 하향링크의 동적 자원 할당 방법
CN101083779A (zh) * 2007-05-22 2007-12-05 深圳市智林机电技术有限公司 实现廉价冗余网络阵列的方法及其设备
US8272046B2 (en) * 2007-11-13 2012-09-18 Cisco Technology, Inc. Network mobility over a multi-path virtual private network
JP4969421B2 (ja) * 2007-11-20 2012-07-04 三菱電機株式会社 受信装置及び通信システム
CN101714908A (zh) * 2008-10-07 2010-05-26 中兴通讯股份有限公司 信道冗余发送增强多媒体终端抗丢包能力的系统和方法
US9137209B1 (en) * 2008-12-10 2015-09-15 Amazon Technologies, Inc. Providing local secure network access to remote services
US8397064B2 (en) * 2009-01-05 2013-03-12 Pmc Sierra Ltd. Implementing IEEE 802.1AE and 802.1 af security in EPON (1GEPON and 10GEPON) networks
US8595479B2 (en) * 2009-02-25 2013-11-26 Cisco Technology, Inc. Aggregation of cryptography engines
US7961599B2 (en) * 2009-03-03 2011-06-14 Alcatel Lucent Pseudowire tunnel redundancy
JP2010278845A (ja) * 2009-05-29 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> パケット無中断伝送システムおよびパケット無中断切替装置並びにパケット無中断切替方法
CN101604270B (zh) * 2009-07-10 2011-04-06 西安电子科技大学 基于vxworks操作系统的ARINC429通信冗余方法
JP5408445B2 (ja) * 2010-03-15 2014-02-05 オムロン株式会社 プログラマブルコントローラおよびマスタ通信回路

Also Published As

Publication number Publication date
EP2839384B1 (en) 2018-10-24
US9531503B2 (en) 2016-12-27
CN104272290B (zh) 2017-08-15
WO2013158882A1 (en) 2013-10-24
EP2839384A4 (en) 2015-12-16
JP2015519801A (ja) 2015-07-09
EP2839384A1 (en) 2015-02-25
US20130283037A1 (en) 2013-10-24
CN104272290A (zh) 2015-01-07

Similar Documents

Publication Publication Date Title
JP5969689B2 (ja) リアルタイム通信のための冗長性
US10694005B2 (en) Hardware-based packet forwarding for the transport layer
EP3459217B1 (en) Transporting udp packets over an mptcp connection
CN112911027B (zh) 用于建立媒体会话的方法和装置
Fairhurst et al. Services provided by IETF transport protocols and congestion control mechanisms
US8914522B2 (en) Systems and methods for facilitating a peer to peer route via a gateway
US7921282B1 (en) Using SYN-ACK cookies within a TCP/IP protocol
Jesup et al. RFC 8831: WebRTC Data Channels
US20160380966A1 (en) Media Relay Server
US20070283429A1 (en) Sequence number based TCP session proxy
US10911413B2 (en) Encapsulating and tunneling WebRTC traffic
US20160380789A1 (en) Media Relay Server
WO2012122832A1 (zh) 网络地址转换表项的热备份方法及装置
WOZNIAK et al. The Need for New Transport Protocols on the INTERNET
US20240171641A1 (en) Data service management of proxy devices
West et al. Implications of security mechanisms on performance enhancing proxies
Fairhurst et al. RFC 8095: Services Provided by IETF Transport Protocols and Congestion Control Mechanisms
CN117459964A (zh) 用于通过住宅网关进行的网络接入的组合pfcp会话模型
CN117459965A (zh) 用于通过住宅网关进行的网络接入的单独pfcp会话模型

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160519

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: 20160628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160707

R150 Certificate of patent or registration of utility model

Ref document number: 5969689

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250