(58)【調査した分野】(Int.Cl.,DB名)
前記ターゲットピアがオンラインであるかどうかを決定するための通信を送ることは、前記ターゲットピアがオンラインであるかどうかを決定するためにサーバが前記ターゲットピアに連絡を取ることを引き起こす通信を、前記サーバに送ることを含む、請求項4に記載の方法。
前記モバイルデバイスにおいて、前記ターゲットピアがターゲットプロキシをリアルタイム通信に使用しているかどうかを決定することをさらに備える、請求項1に記載の方法。
前記ターゲットピアが前記ターゲットプロキシをリアルタイム通信に使用していないと決定されたとき、リアルタイム通信に対する代替方法を使用して前記ターゲットピアとのリアルタイム通信セッションを開始することをさらに備える、請求項6に記載の方法。
前記ターゲットピアが前記ターゲットプロキシをリアルタイム通信に使用していると決定されたとき、前記ターゲットピアがアクティブなリアルタイム通信セッションを有しているかどうかを決定することと、
前記ターゲットピアが前記アクティブなリアルタイム通信セッションを有していると決定されたとき、前記ターゲットピアが前記リアルタイム通信セッションを開始することを引き起こすように、前記ターゲットピアに送られるべきメッセージをトリガすることと、
をさらに備える、請求項6に記載の方法。
前記ターゲットピアの1つまたは複数のキャッシュ済みの能力が第1の能力を含まないことを決定することに基づいて、前記ターゲットピアとのリアルタイム通信接続を開始するための1つまたは複数の通信を拒否することをさらに備える、請求項1に記載の方法。
前記通信モジュールは、前記モバイルデバイス上で実行しているクライアントアプリケーションから前記通信を受信し、前記クライアントアプリケーションはブラウザであり、前記モバイルデバイスは、スマートフォン、タブレット、ラップトップ、またはパーソナルデジタルアシスタントである、請求項14に記載のシステム。
前記ターゲットピアが前記ターゲットプロキシをリアルタイム通信に使用していないと決定されたとき、前記能力モジュールは、リアルタイム通信に対する代替方法を使用して、前記ターゲットピアとのリアルタイム通信セッションを開始する、請求項16に記載のシステム。
前記モバイルデバイスはLTEセルラーネットワークに結合され、前記ターゲットピアが前記ターゲットプロキシをリアルタイム通信に使用していないと決定されたとき、前記能力モジュールは、ボイスオーバーLTE接続を介して、前記ターゲットプロキシを通じて前記セッションをルーティングする、請求項17に記載のシステム。
【発明を実施するための形態】
【0011】
I.概説
II.例示的なシステムアーキテクチャ
III.プレゼンスを活用する例
A.ピアのアベイラビリティ
B.ピア能力の検出
C.セッション構成
IV.プレゼンスサーバ
V.例示的な方法
VI.例示的なワイヤレスデバイス
I.概説
[0018]以下の開示は、本開示の種々の特徴を実装するために、多数の種々の実施形態または例を提示するものであることを理解されたい。いくつかの実施形態は、これらの具体的な詳細の一部またはすべてがなくても実施され得る。本開示を簡略化にするために、コンポーネント、モジュール、および構成の具体例が以下に説明される。これらは当然、例にすぎず、限定的となることを意図したものではない。
【0012】
[0019]WebRTC技術は、ウェブ開発者が、ピアツーピアの意味でウェブブラウザ間におけるリアルタイム通信を確立することを可能にする。WebRTCは、2つのピアの間における双方向のリアルタイム通信機能を提供するアプリケーションである。一例において、WebRTCは、ブラウザにおけるリアルタイムのピアツーピア通信を提供する。WebRTC規格は、ブラウザおよびAPIの要件をもたらすが、ピア間におけるセッションネゴシエーションのためのシグナリングおよび能力の発見は、アプリケーションに委ねられ得る。最近に定義されたWebRTC規格は、セッションセットアップの間にピアの能力に関する情報を提供し得る他のいかなる機構も活用していない。したがって、WebRTCセッションは、ピアがセッションパラメータに関して同意するセッション開始の間に、ピア同士の間で付加的なメッセージングを要求し得る。
【0013】
[0020]第3世代パートナーシッププロジェクト(3GPP(登録商標))は、IPマルチメディアサブシステム(IMS)との審査官WebRTCのインターオペラビリティに対して、作業項目を開始している。3GPP定義のネットワークにおいて、IMSがコアネットワークの提供をなす。WebRTCは、IMSコアネットワークと相互運用可能となり得る。一例において、IMSの相互運用性は、WebRTCアプリケーション(たとえばウェブページ)のホスティングを提供する新しいコアネットワーク要素、ピア間の通信を調停し、ブラウザ互換のトランスポート(たとえばHTTPベースの)に優先してIMS調和型のSIP(セッションイニシャルプロトコル)トランスポートにクライアントシグナリングを変換するためのシグナリングサーバ、およびピア同士の間で異なるコーダおよび/またはデコーダ(コーデック)利用率に対処するトランスコーディングメディアゲートウェイを設けることによって達成され得る。別の例において、IMSの相互運用性は、呼設定のためにIMSネットワークと直接通信するオンデバイスプロキシを使用することによって達成され得る。そのような例の利点により、単にWebRTCサービスのために、IMSコアネットワークの増大を調査することが回避され得る。
【0014】
[0021]さらに、IMSは、リッチコミュニケーションスイート(RCS:Rich Communications Suite)を通じてテレフォニーなどのIMSベースのサービスにアクセスするためのクライアント側のソリューションによって達成され得る。RCSサービス用のイネーブラはプレゼンスである。プレゼンスソリューションは通常、ピアツーピアの相互作用を促進するためにユーザが他のユーザのプレゼンスクライアントのステータスを知ることが重要となる、インスタントメッセージングなどのサービスに使用される。RCSにおいては、IMS互換のプレゼンスソリューションが、ピアによって互いの能力を発見するために使用され得る。一例において、RCSはオープンモバイルアライアンス(OMA)シンプルプレゼンス(Simple Presence)規格を活用する。OMAシンプルプレゼンスは、プレゼンスサーバを使用してすべてのピアに関する正確な情報(たとえば機能および登録ステータス)を維持するものであり、それにより、著しいオーバージエアトラフィックが生じ得る。別の例において、RCSは、OMAシンプルプレゼンスなしで配備を可能にする。そのような例においてはSIPメッセージングが利用され得る(たとえば、ピアの機能を問い合わせるためにエンドツーエンドで送られるSIPオプション(SIP Options))。オンデバイスWebRTCプロキシは、セッションセットアップおよびメインテナンスの一部としてRCSプレゼンス機構を活用し得る。これがWebRTCのエクスペリエンス品質を改善し得る。
【0015】
[0022]本開示は、改善されたセッションネゴシエーションがブラウザベースのWebRTC実装形態で可能となるように相互運用性機能をもたらすプロキシを使用するための技術を提供する。既存のプレゼンスサービスを活用するプロキシに基づいて、プロキシは、ピアのアベイラビリティ、ピアの能力(たとえば、ターゲットピアがそのブラウザで、プロキシを有効化したWebRTCウェブページを最近に開いたかどうか)、およびリアルタイムメッセージ交換を用いないピアの能力を、キャッシュされた情報に基づいて決定し得る。
【0016】
[0023]簡潔のために、本開示はたとえば、ピア間で使用されるシグナリング通信プロトコルとしてアプリケーションとSIPとの間のリアルタイム通信を可能にする技術として、WebRTCを説明し得るが、これは限定的となることを意図したものではなく、またこれらの能力をもたらす他の技術も本開示の範囲内に入ることを理解されたい。
II.例示的なシステムアーキテクチャ
【0017】
[0024]
図1は、いくつかの実施形態による、ネットワーク102に結合されたターゲットピアとモバイルデバイスとを含むシステム100を示すブロック図である。
【0018】
[0025]ネットワーク102は、たとえばセルラーネットワークであってもよい。モバイルデバイス104、106、108、および110はネットワーク102に結合されており、互いおよび/またはネットワーク102に結合されたターゲットピアと通信し得る。モバイルデバイスの例は、スマートフォン、パーソナルデジタルアシスタント(PDA)、タブレット、およびラップトップである。他のモバイルデバイスも本開示の範囲内に入る。
【0019】
[0026]ネットワーク102は、ネットワーク122を介してオペレータコアネットワーク112に結合されている。ネットワーク122は、様々な構成を含み、また、インターネット、ワールドワイドウェブ、イントラネット、バーチャルプライベートネットワーク、ワイドエリアネットワーク、ローカルネットワーク、1つまたは複数の企業の専用の通信プロトコルを使用するプライベートネットワーク、セルラーおよび他のワイヤレスネットワーク、インターネットリレーチャットチャネル(IRC)、インスタントメッセージング、シンプルメールトランスファープロトコル(SMTP)、イーサネット(登録商標)、WiFi(登録商標)およびHTTP、ならびに前述の様々な組合せを含む様々なプロトコルを使用し得る。ネットワーク122はSIPをサポートし得る。一例において、ネットワーク122は、ロングタームエボリューション(LTE(登録商標))ネットワークを含む。LTEネットワークは、ワイヤレスブロードバンド技術であり、そのアーキテクチャはIPに基づいている。
【0020】
[0027]オペレータコアネットワーク112は、IP接続性を提供する種々のネットワークトポロジを介してボイスサービスを提供するために使用され得る。一例において、オペレータコアネットワーク112は、LTEを介してボイスサービスを提供するために使用され得る。一例において、オペレータコアネットワーク112は、1つまたは複数のP/I−CSCF(proxy/interrogating call state control function)114および1つまたは複数のS−CSCF(serving call state control function)116などの機能エンティティを含むIMSネットワークである。P/I−CSCF 114は、プロキシ呼状態制御機能(P−CSCF:proxy call state control function)と呼掛けCSCF(I−CSCF:interrogating CSCF)とを含み得る。機能エンティティは、IPホストがオペレータのIPインフラストラクチャに接続された状態で、IPホスト上に配備されるアプリケーションを構成し得る。1つのホストが複数の機能エンティティを含んでもよく、またそれらの機能エンティティがコロケートされてもよい。P/I−CSCF 114およびS−CSCF 116はコロケートされてもよく、あるいはコロケートされなくてもよい。加えて、P−CSCFとI−CSCFは、
図1に示す実施形態においてはコロケートされるものとして示されているが、P−CSCFとI−CSCFがコロケートされない(たとえば異なるデータセンター内にある)他の実施形態も本開示の範囲内に入る。機能エンティティが同じコンピューティングデバイス内にあるとき、コロケーションにより、IPメッセージはより短い経路を取ることになり得る。
【0021】
[0028]P−CSCFはモバイルデバイス110と通信し得る。一例において、モバイルデバイス110がオペレータコアネットワーク112にシグナリングメッセージを送るとき、そのメッセージは、モバイルデバイスに割り当てられたP−CSCFに送られる。P−CSCFは、オペレータコアネットワーク112内で稼働する唯一のプロセスとなり得る。ユーザがオペレータコアネットワーク112に接続するとき、各個々のユーザはP−CSCFを割り当てられ得る。したがって、あるモバイルデバイスに割り当てられたP−CSCFは、別のモバイルデバイスに割り当てられたP−CSCFとは異なる。S−CSCFは、2つのP−CSCF間の通信をブリッジし得る。エンドユーザおよび任意の呼に関する情報が、P−CSCFおよびS−CSCF内に記憶され得る。I−CSCFは、それ自体の特殊な機能を操作し得る。
【0022】
[0029]
図2は、いくつかの実施形態による、モバイルデバイスとターゲットピアとの間の通信を促進するためのシステム200を示すブロック図である。システム200は、プロキシ204、プレゼンスモジュール206、およびブラウザ202などのクライアントアプリケーションを実行することが可能なモバイルデバイス110を含んでいる。ブラウザ202は、ウェブページにアクセスし、モバイルデバイス110のディスプレイ上にそのウェブページを表示することが可能となり得る。ブラウザ202はまた、ボイスおよびビデオコーディングすること、ならびにモバイルデバイス上で実行しているターゲットアプリケーションとリアルタイムで通信を確立することが可能となり得る。
【0023】
[0030]一例において、ブラウザ202およびターゲットアプリケーションはそれぞれ、モバイルデバイス上で実行しているブラウザであり、これらのブラウザは互いにリアルタイムで通信する。そのような例において、モバイルデバイス110のユーザは、ウェブページによって提供されたオプションをユーザがクリックして電話をかけることができるウェブページに、ブラウザを向け得る。ユーザは、たとえば、ブラウザのアドレスバーにウェブページのユニフォームリソースロケーション(URL)をタイピングするか、またはサーバにウェブページを提供させるハイパーリンクを選択することによって、ウェブページにブラウザを向け得る。ブラウザは、電話回線を使用することなく電話をかけ得る。むしろ、ブラウザは、電話をかけるために、ネットワーク122を介してターゲットピアと接続を確立し得る。一例において、ネットワーク122はインターネットであり、ブラウザ202は、電話をかけるために、インターネットを介してIP接続をセットアップする。いくつかの実施形態において、ブラウザ202は、電話をかけるためにWRTC技術を使用する。通信の最適化などのために、プロキシ204は、モバイルデバイス110とターゲットピアとの間の通信を促進するために使用され得る。
【0024】
[0031]プロキシ204はプレゼンスモジュール206に結合され得る。一例において、プロキシ204は、プレゼンスモジュール206をプレゼンスクライアントとして有する。プレゼンスモジュール206は、ユーザのステータスを指示し得る。一例において、モバイルデバイス110のユーザは、ブラウザ202を開き、サービスと通信して、ユーザがオンラインであり、他のユーザからメッセージを受信する準備ができていることを示し得る。
【0025】
[0032]簡潔のために、本開示は、クライアントアプリケーションをブラウザとして説明し得るが、これは限定的となることを意図するものではなく、また、他のクライアントアプリケーションも本開示の範囲内に入ることを理解されたい。加えて、プロキシ204は、プレゼンスモジュール206に結合されるものとして説明されているが、プレゼンスモジュール206がプロキシ204に組み込まれる他の実施形態も本開示の範囲内に入る。
III.プレゼンスを活用する例
【0026】
[0033]WebRTCセッションのコンテキストでプレゼンスを活用する例示的な態様は、ピアのアベイラビリティ、ピア能力の検出、およびセッション構成を含み得る。プレゼンスを活用する際にオペレータコアネットワーク112の機能を活用することが望ましくなり得る。
A.ピアのアベイラビリティ
【0027】
[0034]いくつかの実施形態において、プロキシ204(たとえばWebRTCプロキシ)は、ピアのアベイラビリティを決定し、呼設定時間を改善する。そのような実施形態において、プロキシ204は、IMSによってすでにサポートされているRCSプレゼンスおよびプレゼンス登録機構を活用し得る。一例において、プロキシ204は、ブロック呼またはセッション開始を、それらが始まる前にもブロックすることによって、プレゼンス能力を活用する。
【0028】
[0035]
図3は、いくつかの実施形態による、モバイルデバイスとターゲットピアとの通信促進を示す部分的な呼設定のシグナリング線
図300である。線
図300は、ターゲットピアがネットワークに登録されていない場合の例示的なSIP呼フローを示している。
【0029】
[0036]
図3において、ブラウザ202は、ターゲットピアとのリアルタイム通信接続を開始するための通信を送り得る。一例において、この通信は、呼開始(XHR/WS)302である。プロキシ204は、ブラウザ202によって送られた通信を受信し得る。一例において、ブラウザ202は、直接プロキシ204に通信を送る。別の例において、プロキシ204は、通信を遮断してリアルタイム通信を開始する。
【0030】
[0037]ターゲットピアとのリアルタイム通信接続を開始するための通信に基づいて、プロキシ204は、ターゲットピアがオンラインであるかオフラインであるかを決定するためにサーバがターゲットピアに連絡することを引き起こす通信を、サーバに送り得る。一例において、プロキシ204は、オペレータコアネットワーク112にSIPオプションメッセージメッセージ304を送る。それに応答して、オペレータコアネットワーク112は、ターゲットピアにそのメッセージを中継して、ターゲットピアがオンラインであるかどうかを決定し得る。
【0031】
[0038]一例において、SIPオプションメッセージ304は、ターゲットピアがオンラインであるかどうかを決定するためのクエリである。モバイルデバイス110のユーザがブラウザ202を開くとき、そのブラウザ202はオペレータコアネットワーク112に登録し得、P/I−CSCF 114Aがモバイルデバイス110に割り当てられ得る。オペレータコアネットワーク112は、ターゲットピアへの到達が可能であることも、可能でないこともある。一例において、SIPオプションメッセージは、モバイルデバイス110からP/I−CSCF 114Aに送られる。P/I−CSCF 114Aは、S−SCSF 116にSIPオプションメッセージ304を送り得、S−SCSF 116は、ターゲットピアがオペレータコアネットワーク112に登録されていないことを決定し得る。
図3において、P/I−CSCFはターゲットピアに割り当てられていない。
【0032】
[0039]一例において、オペレータコアネットワーク112がターゲットピアに到達できない場合、オペレータコアネットワーク112は、ターゲットピアが到達可能でないことを示すメッセージを、プロキシ204に送り返し得る。別の例において、プロキシ204は、エラー480−リクエストタイムアウト(Error 480-Request Timeout)306を受信し、このエラーメッセージに基づいて、ターゲットピアが到達可能ではないと決定する。
【0033】
[0040]説明したように、ターゲットピアがオペレータコアネットワーク112(たとえばIMSネットワーク)に登録されていない場合、そのターゲットピアは到達可能にならないことがある。プロキシ204は、呼開始(XHR/WS)302が不成功となったことをブラウザ202に示すために、ブラウザ202に呼拒否(XHR/WS)メッセージを送り得る。プロキシの実施形態の利点により、複数のメッセージ交換のオーバーヘッドなしに、メッセージ(たとえば、呼開始メッセージ)が拒否されるようにし得る。したがって、追加の通信が、ネットワークからの形式的な拒否の呼と同じように遠く、オーバージエアで進むことはない。したがって、プロキシ204は、呼またはセッション開始を、それらが始まる前にもブロックし得る。
B.ピア能力の検出
【0034】
[0041]いくつかの実施形態において、プロキシ204は、ターゲットピアのピア能力を決定する。一例において、プロキシ204は、あるセッションをターゲットピアと開始し得るが、そのセッションは、ターゲットピアの1つまたは複数の決定された能力に基づくものである。
【0035】
[0042]
図4は、いくつかの実施形態による、モバイルデバイスとターゲットピアとの通信促進を示す部分的な呼設定のシグナリング線
図400である。線
図400は、ターゲットピアがオペレータコアネットワーク112に登録されている場合の例示的なSIP呼フローを示している。
【0036】
[0043]
図4において、ブラウザ402およびプロキシ406はターゲットピア上で実行し得る。ターゲットピア上で実行しているプロキシ406は、プロキシ204と類似していても同じであってもよい。一例において、ターゲットピアのユーザは、プロキシ406によって受信されるWEBRTCクライアントアクティブ(XHR/WS)呼404を送るアプリケーション(たとえばブラウザ402)を開く。WEBRTCクライアントアクティブ(XHR/WS)呼404は、ターゲットピアがアクティブまたは到達可能であることを示し得、また、WEBRTCクライアントアクティブ(XHR/WS)呼404に基づいて、プロキシ406はターゲットピアをオペレータコアネットワーク112に登録し得る。ターゲットピアがオペレータコアネットワーク112に登録するとき、P/I−CSCF 114Bがターゲットピアに割り当てられ得る。ターゲットピアがオペレータコアネットワーク112に登録するとき、ターゲットピアは、その能力をオペレータコアネットワーク112に登録し得る。他のモバイルデバイスは、オペレータコアネットワーク112に登録することによって、それらの能力を宣伝し得る。
【0037】
[0044]メッセージ302および304については、
図3に関連して説明した。
図4において、ターゲットピアは登録しているため、S−SCSF 116はSIPオプション(ターゲット)呼304をP/I−CSCF 114Bに送り得、P/I−CSCF 114Bは次いで、SIPオプションメッセージ304をターゲットピアのプロキシ406に送る。SIPオプションメッセージ304は、登録されたターゲットピアの能力を決定するためのクエリであってもよい。一例において、プロキシがRCSプレゼンスを活用する場合、インバンドのピア能力の検出が可能である。
【0038】
[0045]プロキシ406は、モバイルデバイス110にSIP 200 OK(ターゲット能力)の呼408で応答し得、この呼は、ターゲットピアの能力に関する情報を含み得る。一例において、呼408は、たとえば埋め込まれたセッション記述プロトコル(SDP:Session Description Protocol)フィールドを介して伝達され得る他のクライアント能力(たとえばコーデックがサポートされているかどうか)に加えて、ブラウザ402の現在の状態に関する情報(たとえば、WebRTCセッションがブラウザ402においてアクティブであるかどうか)を伝達する。WebRTC能力を伝達するために、SIPは種々の拡張性機構を提供し得る。一例において、IMS固有のpヘッダ(たとえば「P−WebRTC−Proxy−Enabled)など、SIP拡張ヘッダがWebRTC能力を伝達するために使用される。それに加えて、SIPトランスポートを介して運ばれるSDPメッセージ本体は、インターネット番号割当て機関(IANA:Internet Assigned Numbers Authority)への登録によって拡張可能となり得る。これらは例にすぎず、他のプロトコルも使用され得る。
【0039】
[0046]能力の例示的な指示は、ターゲットピアがWebRTCプロキシで有効化されているかどうか、ターゲットピアがWebRTCウェブページをブラウザ402内に開いているかどうか、ターゲットピアがブラウザ402(もしくは任意の他のアプリケーション)を通じてWebRTC呼を処理するかどうか、ならびに、ターゲットピアが、WebRTCまたはブラウザ402の非存在下でボイスおよび/またはビデオの呼を取ることが可能なアプリケーションを有しているかどうかを含み得る。プロキシ204は、呼408を受信し、メッセージ呼承認/呼構成(Call Accept/Call Config)(XHR/WS)410を転送して、ターゲットピアとのリアルタイム通信接続を開始するための呼開始が成功したことをブラウザ202に示し得る。
【0040】
[0047]プロキシ204は、ターゲットピアの能力に基づいて決定をし得る。一例において、ターゲットピアがWebRTCウェブページをブラウザ402内に開いていないとプロキシ204が決定した場合、プロキシ204は、ターゲットピア上で実行しているアプリケーションに、特定のウェブページを開くように命令し得る。そのような例において、プロキシ204は、ターゲットピアがウェブページをブラウジングしているかどうか、および、WebRTC呼を受信し得るウェブページが現在、開いているかどうかを決定し得る。WebRTC呼を受信し得る、開いているウェブページが現在、存在しない場合、プロキシ204は、ターゲットピア上のブラウザ402を起動し、特定のウェブアドレス(たとえばハイパーテキストトランスファープロトコル(HTTP)アドレス)に向けるように、プロキシ406にメッセージを送り得る。ターゲットピア上で実行しているブラウザ402が、命令された動作を実行する場合、ターゲットピアが最初にWebRTC互換のウェブページを開いていなくても、WebRTCセッションが開始され得る。
【0041】
[0048]異なるデバイス上で稼働しているブラウザに、特定のウェブアドレスを指すようにアプリケーションによって命令することは、セキュリティ問題となり得る。別の例において、ターゲットピア上で稼働しているプロキシ406は、特定のウェブアドレスを指すようにプロキシ406がブラウザ402に命令し得ないことを示すメッセージを、プロキシ204に送り得る。次いで、プロキシ204は、たとえば、ターゲットピアのブラウザではなくターゲットピアのボイスオーバーLTE(VoLTE)に呼をルーティングすることによって、VoLTEの呼を開始するように進み得る。別の例において、プロキシ204は、ブラウザではないがWebRTCセッションにおいて通信し得る、ターゲットピア上で実行しているアプリケーションに、開くように命令し得る。命令されるアプリケーションは、ターゲットピアのユーザが、たとえばアプリケーションストアからネットワークを介してダウンロードしたアプリケーションであってもよい。
【0042】
[0049]別の例において、モバイルデバイス110のユーザがWebRTCセッションを使用してメディア(たとえばオーディオおよび/またはビデオ)をターゲットピアに送る場合、プロキシ204は、ユーザがメッセージを送ることを希望するフォーマットをターゲットピアがサポートしているかどうかを決定することが可能となり得る。ユーザがビデオをMPEG−4フォーマットで送ることを希望し、ターゲットピアがH.264フォーマットのみを受け付ける場合、プロキシ204は、目的とするフォーマットをターゲットピアがサポートしていないと決定することに基づいて、動作を実行し得る。したがって、モバイルデバイス110のユーザがビデオを送る前に、モバイルデバイス110上で稼働しているソフトウェアが、ターゲットピアのプレゼンスをすでに検出し得、そのターゲットピアの能力を知るように、プロキシ204はターゲットピアのプレゼンスを活用し得る。プロキシ204は、ユーザに表示するように、あるメッセージをブラウザ202に送り得るが、そのメッセージは、意図されたフォーマットをターゲットピアが受け付けないことを、ユーザに示すものである。
【0043】
[0050]
図3の例を再び参照すると、ターゲットピアは登録されておらず、開始呼もオペレータコアネットワーク112を通じて完了されておらず、プロキシ204は、呼またはセッション開始を、それらが始まる前にもブロックし得る。いくつかの実施形態において、プロキシ204は、ターゲットピアが到達不可能であると決定されたとき、ターゲットピアの能力に基づいて、さらなる動作を実行し得る。たとえば、プロキシ204は、ターゲットピアが正規のボイスクライアントを有することを知り得、その情報をローディングして、呼をボイスクライアントにルーティングし得る。別の例において、モバイルデバイス110のユーザが送ることを希望する目的のフォーマットをターゲットピアが受け付けないと、プロキシ204が決定した場合、プロキシ204は、ターゲットピアに送られるように、ターゲットピアと互換性のあるフォーマットにメディア(たとえばオーディオおよび/またはビデオ)をトランスコードし得る。
【0044】
[0051]別の例において、プロキシ204は、ターゲットピアがターゲットピアのブラウザにおいて現在アクティブであるWebRTCセッションを有しているかどうか決定し、その決定に基づいて動作を実行し得る。一例において、ターゲットピアがターゲットピアのブラウザにおいて現在アクティブであるWebRTCセッションを有している場合、プロキシ204は、外部サーバを介したアウトオブバンドシグナリングの使用によって、ターゲットピアのブラウザと通信し得る。したがって、プロキシ204は、ターゲットピアのローカルプロキシをアクティブにし、オペレータコアネットワーク112に登録するように、ターゲットピアに要求し得る。発信元ピアはまた、オペレータコアネットワーク112を活用することなしに呼を進め得る。別の例において、プロキシ204は、プッシュ機構と結合された外部サーバを介したアウトオブバンドシグナリングの使用によって、ターゲットピアを起動し得る。アクティブ化されたターゲットピアは、所望のWebRTCアプリケーションを使用してブラウザセッションを開始し、ターゲットプロキシと通信してオペレータコアネットワーク112に登録するように、トリガされ得る。
【0045】
[0052]一実施形態において、プロキシ204は、呼408で返された情報をキャッシュする。プロキシ204は、ターゲットピアの能力をキャッシュし、それらを将来の参照のために使用し得る。一例において、プロキシ204は、キャッシュされた情報を使用して、ターゲットピアとのセッションを開始するが、そのセッションは、ターゲットピアの1つまたは複数の決定されたキャッシュ済みの能力に基づくものである。一例において、プロキシ204は、ターゲットピアが特定の能力(たとえば目的のフォーマットをサポートする)を有していないという、キャッシュ済みの情報に基づいて、呼を拒否する。これは限定的となることを意図するものではなく、プロキシ204がそのキャッシュ済みの情報を使用する他の例もまた考えられる。
C.セッション構成
【0046】
[0053]プロキシ204は、いかなるオーバージエアのメッセージングをも回避する一方で、ターゲットのキャッシュ済みの能力を活用してセッションを構成し得る。プロキシ204は、ターゲットピアのブラウザのステータス(およびWebRTCプロキシのプレゼンス)に関するプレゼンス由来の知識を活用して、呼を直接VoLTEクライアントに転送することもできる。これは、たとえばターゲットピアが検出されて登録される場合に生じ得るが、WebRTCプロキシのプレゼンスを示すわけではない。
【0047】
[0054]
図5は、いくつかの実施形態による、モバイルデバイスとターゲットピアとの通信促進を示す部分的な呼設定のシグナリング線
図500である。線
図500において、ターゲットピアは、WebRTCプロキシを有していないが、そのVoLTE/IMSクライアント502を通じて登録されている。プロキシ204は、ブラウザに、そしてブラウザから、VoLTEベアラにメディアを透過的にマッピングし得る。メディアオーバーVoLTEベアラ504は、プロキシ204とVoLTE/IMSクライアント502との間で送信され得る。それに加えて、メディア(RTP/UDP)メッセージ506は、ブラウザ202とプロキシ204との間で送信され得る。
【0048】
[0055]一実施形態において、プロキシ204は、ターゲットピアがターゲットプロキシをリアルタイム通信に使用しているかどうかを決定する。ターゲットピアがターゲットプロキシをリアルタイム通信に使用していないと決定されたとき、プロキシ204は、リアルタイム通信に対する代替方法を用いて、ターゲットピアとのリアルタイム通信セッションを開始する。一例において、プロキシ204は、ボイスオーバーLTE接続を介して、ターゲットプロキシを通じてセッションをルーティングすることによって、リアルタイム通信に対する代替方法を用いてターゲットピアとのリアルタイム通信セッションを開始し得る。別の例において、ターゲットピアがターゲットプロキシをリアルタイム通信に使用していると決定されたとき、プロキシ204は、リアルタイム通信に対する代替方法を用いて、ターゲットピアとのリアルタイム通信セッションを開始し得る。たとえば、プロキシ204は、代替方法がリアルタイム通信に関してはより高速であると決定するため、プロキシ204は、代替方法を用いてリアルタイム通信セッションを開始し得る。たとえば、プロキシ204は、ボイスオーバーLTE接続を介して、ターゲットプロキシを通じてセッションをルーティングするほうが高速であると決定し得る。
【0049】
[0056]別の例において、ターゲットピアがターゲットプロキシをリアルタイム通信に使用していると決定されたとき、プロキシ204は、ターゲットピアがアクティブなリアルタイム通信セッションを有しているかどうかを決定する。ターゲットピアがアクティブなリアルタイム通信セッションを有していると決定されたとき、プロキシ204は、ターゲットピアがリアルタイム通信セッションを開始することを引き起こすように、ターゲットピアに送られるべきメッセージをトリガする。たとえば、そのメッセージは、ターゲットピアがターゲットピア上で所定のURLに向けてブラウザを開くことを引き起こし得る。
【0050】
[0057]上記で説明したように、またここでさらに強調するように、
図1〜5は単なる例であり、これらが特許請求の範囲を不当に制限すべきではない。たとえば、プレゼンスは、プレゼンスオンデマンド技術を使用するものとして説明されてきた。種々のタイプのプレゼンスが、プロキシ204において中で活用されていてもよい。
IV.プレゼンスサーバ
【0051】
[0058]別の例において、プレゼンスを決定するために、プレゼンスサーバが使用される。そのような例において、モバイルデバイス110のユーザは、クライアントアプリケーションを開き、プレゼンスサーバに登録し得るが、そのプレゼンスサーバは、モバイルデバイス110のユーザに関する情報を有しており、ユーザが依然としてオンラインであるかどうかを決定するために、ユーザと連絡を取る。したがって、プレゼンスサーバおよびユーザは、その接続を周期的に「キープアライブ」することができる。
【0052】
[0059]
図6は、いくつかの実施形態による、モバイルデバイスとターゲットピアとの間の通信を促進するためのシステム600を示すブロック図である。システム600は、ネットワーク122を介して結合されたモバイルデバイス110とプレゼンスサーバ602とを含む。プロキシ204は、ネットワーク122を介してプレゼンスサーバ602と通信し得る。プレゼンスサーバ602は、上記で説明した情報(たとえば、ピアのアベイラビリティ、ピア能力、およびセッション構成)を記憶し、ユーザがプレゼンスサーバに登録できるようにし得る。
【0053】
[0060]一例において、プロキシ204は、SIPメッセージングを使用することなく、クエリをプレゼンスサーバ602に送って、ピアのアベイラビリティ、ピア能力、および/またはセッション構成に関する情報をプレゼンスサーバ602から取得し得る。そのような例において、プロキシ204は、ターゲットピアが登録されているかどうかを決定するために、呼開始(XHR/WS)302を送る必要がない。
III.例示的な方法
【0054】
[0061]
図7は、いくつかの実施形態による、モバイルデバイスとターゲットピアと間の通信を促進するための方法700を示す簡略フローチャートである。方法700は、限定的となることを意図するものではなく、他の用途にも使用され得る。
【0055】
[0062]方法700はブロック710〜730を含む。ブロック710では、モバイルデバイス上で実行しているプロキシにおいて、ターゲットピアとのリアルタイム通信接続を開始するための通信が受信される。一例において、モバイルデバイス110上で実行しているプロキシ204は、ターゲットピアとのリアルタイム通信接続を開始するための通信を受信する。
【0056】
[0063]ブロック420では、ターゲットピアの1つまたは複数の能力が決定される。一例において、プロキシ204は、ターゲットピアの1つまたは複数の能力を決定する。ブロック430では、セッションがターゲットピアと開始されるが、そのセッションは、ターゲットピアの1つまたは複数の決定された能力に基づいている。一例において、プロキシ204は、ターゲットピアとのセッションを開始するが、そのセッションは、ターゲットピアの1つまたは複数の決定された能力に基づいている。
【0057】
[0064]また、付加的な処理が、上記で説明したブロック710〜730の前、間、または後に実行され得ることも理解されたい。また、本明細書で説明する方法700のブロックのうちの1つまたは複数が、必要に応じて、異なる順序で省略、結合、または実行され得ることも理解されたい
IV.例示的なワイヤレスデバイス
【0058】
[0065]
図8は、いくつかの実施形態による、デジタル信号プロセッサを含むワイヤレスデバイス800を示すブロック図である。内部ネットワーク内に配置されたワイヤレスデバイス800とターゲットピアとの間の通信を促進するために、ワイヤレスデバイス800は、複数の命令を処理するためのデジタル信号プロセッサ(DSP)801などのプロセッサを含み、ここで内部ネットワークは1つまたは複数の外部ネットワークからNATによって分離されている。一例において、DSP 801は、方法700に従って命令を処理する。モバイルデバイス110は、ワイヤレスデバイス800として実装され得る。
【0059】
[0066]
図8はまた、DSP 801およびディスプレイ832に結合されたディスプレイコントローラ830を示している。コーダ/デコーダ(CODEC)834もまた、DSP 801に結合され得る。スピーカー836およびマイクロフォン838がCODEC 834に結合され得る。それに加えて、ワイヤレスコントローラ840が、DSP 801およびワイヤレスアンテナ848に結合され得る。いくつかの実施形態において、DSP 801、ディスプレイコントローラ830、メモリ850、CODEC 834、およびワイヤレスコントローラ840が、システムインパッケージまたはシステムオンチップデバイス856内に含められる。
【0060】
[0067]いくつかの実施形態において、入力デバイス831および電源860が、システムオンチップデバイス856に結合される。その上、いくつかの実施形態において、
図8に示すように、ディスプレイ832、入力デバイス831、スピーカー836、マイクロフォン838、ワイヤレスアンテナ848、および電源860は、システムオンチップデバイス856の外部にある。ディスプレイ832、入力デバイス831、スピーカー836、マイクロフォン838、ワイヤレスアンテナ848、および電源860の各々は、インターフェースまたはコントローラなど、システムオンチップデバイス856の構成要素に結合され得る。ワイヤレスデバイスのユーザは、マイクロフォン838に向かって話すこと、またはディスプレイ832を介して別のユーザを見ることによって、その別のユーザと通信し得る。
【0061】
[0068]本明細書で開示した実施形態に関して説明した様々な例示的な論理ブロック、構成、モジュール、回路、およびステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者はさらに諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップを、上記では概して、それらの機能に関して説明した。そのような機能性がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、システム全体に課される特定のアプリケーションおよび設計制約に依存する。当業者は、説明した機能性を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈すべきではない。
【0062】
[0069]本明細書で開示する実施形態に関して説明する方法のステップは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはそれら2つの組合せで具体化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD−ROM)、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体は特定用途向け集積回路(ASIC)中に存在し得る。ASICはコンピューティングデバイスまたはユーザ端末中に存在し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末に個別の構成要素として存在し得る。
【0063】
[0070]開示された実施形態の上記の説明は、当業者が、開示された実施形態を作成または使用することができるように与えられる。これらの実施形態に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義されている原理は、本開示の範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、本明細書に示されている実施形態に限定されることを意図されておらず、以下の特許請求の範囲によって定義される原理および新規な特徴と一致する可能な最も広い範囲を与えられるべきである。したがって、本開示は特許請求の範囲のみによって限定される。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
モバイルデバイスとターゲットピアとの間の通信を促進する方法であって、
モバイルデバイス上で実行しているプロキシにおいて、ターゲットピアとのリアルタイム通信接続を開始するための通信を受信することと、
前記ターゲットピアの1つまたは複数の能力を決定することと、
前記ターゲットピアとのセッションを開始することと、前記セッションは、前記ターゲットピアの前記1つまたは複数の決定された能力に基づく、
を備える方法。
[C2]
前記通信は、前記モバイルデバイス上で実行しているクライアントアプリケーションから送られる、C1に記載の方法。
[C3]
前記クライアントアプリケーションはブラウザである、C2に記載の方法。
[C4]
前記モバイルデバイスは、スマートフォン、タブレット、ラップトップ、またはパーソナルデジタルアシスタントである、C1に記載の方法。
[C5]
前記ターゲットピアがオンラインであるかどうかを決定するための通信を送ることと、 そのターゲットピアがオンラインであるかどうかを示す応答を受信することと、
をさらに備える、C1に記載の方法。
[C6]
前記ターゲットピアがオンラインであるかどうかを決定するための通信を送ることは、前記ターゲットピアがオンラインであるかどうかを決定するためにサーバが前記ターゲットピアに連絡を取ることを引き起こす通信を、前記サーバに送ることを含む、C5に記載の方法。
[C7]
前記モバイルデバイスはセルラーネットワークに結合される、C1に記載の方法。
[C8]
前記セルラーネットワークはLTEネットワークである、C7に記載の方法。
[C9]
前記ターゲットピアがターゲットプロキシをリアルタイム通信に使用しているかどうかを決定することをさらに備える、C1に記載の方法。
[C10]
前記ターゲットピアが前記ターゲットプロキシをリアルタイム通信に使用していると決定されたとき、リアルタイム通信に対する代替方法を使用して、前記ターゲットピアとのリアルタイム通信セッションを開始することをさらに備える、C9に記載の方法。
[C11]
前記ターゲットピアが前記ターゲットプロキシをリアルタイム通信に使用していないと決定されたとき、リアルタイム通信に対する代替方法を使用して前記ターゲットピアとのリアルタイム通信セッションを開始することをさらに備える、C9に記載の方法。
[C12]
リアルタイム通信に対する代替方法を使用して前記ターゲットピアとのリアルタイム通信セッションを開始することは、ボイスオーバーLTE接続を介して、前記ターゲットプロキシを通じて前記セッションをルーティングすることを含む、C11に記載の方法。
[C13]
前記ターゲットピアが前記ターゲットプロキシをリアルタイム通信に使用していると決定されたとき、前記ターゲットピアがアクティブなリアルタイム通信セッションを有しているかどうかを決定することと、
前記ターゲットピアが前記アクティブなリアルタイム通信セッションを有していると決定されたとき、前記ターゲットピアが前記リアルタイム通信セッションを開始することを引き起こすように、前記ターゲットピアに送られるべきメッセージをトリガすることと、をさらに備える、C9に記載の方法。
[C14]
前記メッセージは、前記ターゲットピアが前記ターゲットピア上で所定のURLに向けてブラウザを開くことを引き起こす、C13に記載の方法。
[C15]
モバイルデバイスとターゲットピアとの間の通信を促進するためのシステムであって、 モバイルデバイス上で実行可能な通信モジュールと、ここにおいて、前記通信モジュールは、ターゲットピアとのリアルタイム通信接続を開始するための通信を受信する、
前記モバイルデバイス上で実行可能な能力モジュールと、ここにおいて、前記能力モジュールは、前記ターゲットピアの1つまたは複数の能力を決定し、前記ターゲットピアとのセッションを開始し、前記セッションは、前記ターゲットピアの前記1つまたは複数の決定された能力に基づく、
を備えるシステム。
[C16]
前記通信モジュールは、前記モバイルデバイス上で実行しているクライアントアプリケーションから前記通信を受信し、前記クライアントアプリケーションはブラウザであり、前記モバイルデバイスは、スマートフォン、タブレット、ラップトップ、またはパーソナルデジタルアシスタントである、C15に記載のシステム。
[C17]
前記モバイルデバイスはセルラーネットワークに結合される、C15に記載のシステム。
[C18]
前記能力モジュールは、前記ターゲットピアがターゲットプロキシをリアルタイム通信に使用しているかどうかを決定する、C15に記載のシステム。
[C19]
前記ターゲットピアが前記ターゲットプロキシをリアルタイム通信に使用していないと決定されたとき、前記能力モジュールは、リアルタイム通信に対する代替方法を使用して、前記ターゲットピアとのリアルタイム通信セッションを開始する、C18に記載のシステム。
[C20]
前記モバイルデバイスはLTEセルラーネットワークに結合され、前記ターゲットピアが前記ターゲットプロキシをリアルタイム通信に使用していないと決定されたとき、前記能力は、ボイスオーバーLTE接続を介して、前記ターゲットプロキシを通じて前記セッションをルーティングする、C19に記載のシステム。
[C21]
モバイルデバイス上で実行しているプロキシにおいて、ターゲットピアとのリアルタイム通信接続を開始するための通信を受信することと、
前記ターゲットピアの1つまたは複数の能力を決定することと、
前記ターゲットピアとのセッションを開始することと、前記セッションは、前記ターゲットピアの前記1つまたは複数の決定された能力に基づく、
を備える動作を実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読媒体。
[C22]
モバイルデバイスとターゲットピアとの間の通信を促進するための装置であって、
ターゲットピアとのリアルタイム通信接続を開始するための通信を受信するための手段と、
前記ターゲットピアの1つまたは複数の能力を決定するための手段と、
前記ターゲットピアとのセッションを開始するための手段と、前記セッションは、前記ターゲットピアの前記1つまたは複数の決定された能力に基づく、
を備える装置。