(57)【特許請求の範囲】
【請求項１】
所与のユーザに関連してサーバに登録されたクライアントアプリケーションを実行するように構成されたクライアントデバイスを動作させる方法であって、
前記クライアントアプリケーションが前記所与のユーザに関連して前記サーバに登録されているクライアントデバイスのリストを取得するステップと、
ローカル通信インターフェースを介して、クライアントデバイスの前記リストからの1つまたは複数の他のクライアントデバイスが前記クライアントデバイスに近接していることを検出するステップと、
前記クライアントデバイスあるいは前記1つまたは複数の他のクライアントデバイスによる前記クライアントアプリケーションを更新する決定に応答して、前記クライアントデバイスと前記1つまたは複数の他のクライアントデバイスの両方のために、前記サーバへの前記クライアントアプリケーションの登録を更新するための集約された登録要求メッセージを送ることを担う所与のクライアントデバイスを識別するために、前記ローカル通信インターフェースを介して前記1つまたは複数の他のクライアントデバイスと通信するステップと
を含む、方法。
【請求項２】
前記クライアントデバイスが、前記集約された要求メッセージを送ることを担う前記所与のクライアントデバイスとして識別され、前記方法が、
(i)前記クライアントデバイスの、前記サーバへの前記クライアントアプリケーションの登録を更新するための要求、および(ii)前記1つまたは複数の他のクライアントデバイスのために前記サーバへの前記クライアントアプリケーションの1つまたは複数の登録を更新するための1つまたは複数の要求を含むように、前記集約された登録要求メッセージを構成するステップと、
前記集約された登録要求メッセージを前記サーバに送信するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記サーバから、前記クライアントデバイスおよび前記1つまたは複数の他のクライアントデバイス上の前記クライアントアプリケーションの前記登録が更新されたことを示すメッセージを受信するステップと、
前記ローカル通信インターフェースを介して、前記1つまたは複数の他のクライアントデバイスに、前記1つまたは複数の他のクライアントデバイスのための前記サーバへの前記クライアントアプリケーションの前記1つまたは複数の登録が更新されたことを通知しようと試みるステップと
をさらに含む、請求項2に記載の方法。
【請求項４】
前記クライアントデバイスが、前記集約された登録要求メッセージを送ることを担う前記所与のクライアントデバイスとして識別されず、前記方法が、
前記所与のクライアントデバイスが前記集約された登録要求メッセージを送信するという予想に基づいて、前記サーバに登録要求メッセージを送信することを控えるステップ
をさらに含む、請求項1に記載の方法。
【請求項５】
前記ローカル通信インターフェースを介して、前記所与のクライアントデバイスから、前記クライアントデバイスのための前記サーバへの前記クライアントアプリケーションの前記登録が更新されたことを示す通知を受信するステップ
をさらに含む、請求項4に記載の方法。
【請求項６】
前記クライアントデバイスのための前記クライアントアプリケーション用の有効期間(TTL)タイマーの満了に基づいて、前記クライアントアプリケーションを更新することを決定するステップ
をさらに含み、
前記検出するステップおよび前記通信するステップが、前記決定に応じて実施される、
請求項1に記載の方法。
【請求項７】
前記検出するステップおよび前記通信するステップが、前記1つまたは複数の他のクライアントデバイスのうちの1つによって行われる、前記クライアントアプリケーションを更新するとの決定に応じて実施される、請求項1に記載の方法。
【請求項８】
クライアントデバイスの前記リストのうちの2つ以上のクライアントデバイスが、前記クライアントアプリケーションの異なるバージョンを実行するように構成される、請求項1に記載の方法。
【請求項９】
クライアントデバイスの前記リスト中の各クライアントデバイスが、前記クライアントアプリケーションの同じバージョンを実行するように構成される、請求項1に記載の方法。
【請求項１０】
クライアントアプリケーションをサポートするように構成されたサーバを動作させる方法であって、
複数の異なるクライアントデバイスの各々において所与のユーザに対して前記クライアントアプリケーションを登録するステップと、
前記複数の異なるクライアントデバイスのリストを前記複数の異なるクライアントデバイスのうちの少なくとも1つに提供するステップと、
前記提供に応じて、前記複数の異なるクライアントデバイスのうちの所与のクライアントデバイスから、(i)前記サーバへの前記クライアントアプリケーションの前記所与のクライアントデバイスの登録を更新するための要求、および(ii)前記所与のクライアントデバイスに近接している前記複数の異なるクライアントデバイスのうちの1つまたは複数の他のクライアントデバイスのために前記サーバへの前記クライアントアプリケーションの1つまたは複数の登録を更新するための1つまたは複数の要求を含む、集約された登録要求メッセージを受信するステップと
を含む、方法。
【請求項１１】
前記1つまたは複数の他のクライアントデバイスは、前記1つまたは複数の他のクライアントデバイスが、ローカル通信インターフェースを介して通信するための予想されるまたは実際の容量に基づいて前記所与のクライアントデバイスに近接していることを検出する、請求項10に記載の方法。
【請求項１２】
クライアントアプリケーションをサポートするように構成されたサーバを動作させる方法であって、
複数の異なるクライアントデバイスの各々において所与のユーザに関連して前記クライアントアプリケーションを登録するステップと、
前記複数の異なるクライアントデバイスの中からのクライアントデバイスから、前記クライアントデバイスの前記クライアントアプリケーションの登録を更新する要求を受信するステップと、
前記複数の異なるクライアントデバイスの中からの少なくとも1つの他のクライアントデバイスに前記クライアントデバイスが近接していることを、前記サーバで取得される前記クライアントデバイスおよび前記少なくとも1つの他のクライアントデバイスに関連する位置情報に基づいて検出するステップと、
前記少なくとも1つの他のクライアントデバイスの前記クライアントアプリケーションの登録を先んじて更新することを決定するステップと、
前記決定に応じて前記クライアントデバイスに、前記クライアントデバイスと前記少なくとも1つの他のクライアントデバイスの両方のための前記クライアントアプリケーションの前記登録が更新されるという表示を送信するステップと
を含む、方法。
【請求項１３】
前記少なくとも1つの他のクライアントデバイスに前記クライアントアプリケーションの登録更新を通知しようとする試みが成功したことを示す報告を前記クライアントデバイスから受信するステップと、
前記報告に応答して、前記少なくとも1つの他のクライアントデバイスの前記クライアントアプリケーションの登録を更新するステップと
をさらに含む、請求項12に記載の方法。
【請求項１４】
前記少なくとも1つの他のクライアントデバイスに前記クライアントアプリケーションの登録更新を通知しようとする試みが失敗したことを示す報告を前記クライアントデバイスから受信するステップと、
前記報告に応答して、前記少なくとも1つの他のクライアントデバイスの前記クライアントアプリケーションの登録を更新することを控えるステップと
をさらに含む、請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、異なる近接したクライアントデバイスにインストールされたクライアントアプリケーションの登録を更新することに関する。
【背景技術】
【０００２】
ワイヤレス通信システムは、第1世代アナログワイヤレス電話サービス(1G)、第2世代(2G)デジタルワイヤレス電話サービス(暫定の2.5Gおよび2.75Gネットワークを含む)、および第3世代(3G)高速データ、インターネット対応ワイヤレスサービスを含む、様々な世代を通じて発展してきた。現在、セルラーシステムおよびパーソナル通信サービス(PCS)システムを含む、多くの異なるタイプのワイヤレス通信システムが使用されている。知られているセルラーシステムの例には、セルラーアナログ高度移動電話システム(AMPS)、ならびに、符号分割多元接続(CDMA)、周波数分割多元接続(FDMA)、時分割多元接続(TDMA)、TDMAのモバイル用グローバルシステム接続(GSM(登録商標))変形体、およびTDMA技術とCDMA技術の両方を使用するより新しいハイブリッドデジタル通信システムに基づくデジタルセルラーシステムがある。
【０００３】
上述の通信システムまたは他のタイプのアクセスネットワーク(たとえば、WiFiなど)を使用するクライアントデバイス(たとえば、携帯電話などのモバイルデバイス)が、1つまたは複数のホストサーバへのクライアントアプリケーションの登録を維持することは一般的である。たとえば、ユーザは、ユーザの携帯電話上のFacebookクライアントアプリケーション、ユーザのタブレットコンピュータ上のFacebookクライアントアプリケーション、ユーザのラップトップコンピュータまたはデスクトップコンピュータ上のFacebookクライアントアプリケーション、ユーザのスマートTV上のFacebookクライアントアプリケーションなどを介して、FacebookホストサーバとのユーザのFacebookアカウントにログインする場合がある。これらのクライアントアプリケーション登録は、一般に一時的なものであり、定期的な更新を必要とし、さもなければ、クライアントアプリケーションは、それらのそれぞれのホストサーバによって登録解除されることになる。2つ以上のクライアントアプリケーションが、同じホストサーバへのアクティブな登録を維持することも可能である。この場合、2つ以上のクライアントアプリケーションを実行するそれぞれのデバイスは、一般に、それぞれのクライアントアプリケーションの登録を延長または更新するための独立した登録更新要求を送信することが必要になる。
【発明の概要】
【課題を解決するための手段】
【０００４】
一実施形態では、クライアントデバイスが、特定のクライアントアプリケーションに関連して登録されたクライアントデバイスのリストを取得し、次いで、ローカル通信インターフェースを介して、リストに記載されたクライアントデバイスを近接しているとして検出する。近接したクライアントデバイスのうちの1つが、サーバへのそれらのそれぞれのアプリケーション登録を更新するための集約された登録要求メッセージを送信することを担うものとして識別される。別の実施形態では、サーバは、クライアントデバイスからクライアントアプリケーションの登録メッセージを受信し、そのクライアントアプリケーションのための少なくとも1つの他の登録されたクライアントデバイスが、要求中のクライアントデバイスに近接していることを検出する。サーバは、近接検出に基づいて、要求中のクライアントデバイスと少なくとも1つの他の登録されたクライアントデバイスの両方のための登録を先んじて更新しようと試みる。
【０００５】
本発明の実施形態およびその付随する利点の多くのより完全な理解は、本発明を限定するためではなく単に例示するために提示される添付の図面とともに考察するときに、以下の詳細な説明を参照することによって、理解が深まるのに応じて容易に得られるであろう。
【図面の簡単な説明】
【０００６】
【図１】本発明の一実施形態によるワイヤレス通信システムのハイレベルシステムアーキテクチャを示す図である。
【図２】本発明の実施形態によるユーザ機器(UE)の例を示す図である。
【図３】本発明の一実施形態による、機能を実行するように構成された論理を含む通信デバイスを示す図である。
【図４】本発明の一実施形態による、所与のユーザに関連して登録されるクライアントデバイス内のアプリケーション構成を示す図である。
【図５】図4に示すそれぞれのクライアントデバイス上の所与のクライアントアプリケーションのために実施することができる例示的な登録手順を示す図である。
【図６】図5のプロセスの実行後にそれぞれのデバイス上の所与のクライアントアプリケーションの登録を更新または延長するための従来の機構を示す図である。
【図７】本発明の一実施形態による、クライアントデバイスを動作させるプロセスを示す図である。
【図８】本発明の一実施形態による、サーバを動作させるプロセスを示す図である。
【図９】本発明の一実施形態による、図5のプロセスの継続として図7および図8のプロセスの例示的な実装形態を示す図である。
【図１０】本発明の一実施形態による、サーバを動作させるプロセスを示す図である。
【図１１】本発明の一実施形態による、クライアントデバイスを動作させるプロセスを示す図である。
【図１２】本発明の一実施形態による、図5のプロセスの継続として図10および図11のプロセスの例示的な実装形態を示す図である。
【図１３】本発明の一実施形態による、図5のプロセスの継続として図10および図11のプロセスの別の例示的な実装形態を示す図である。
【発明を実施するための形態】
【０００７】
本発明の態様は、本発明の特定の実施形態を対象とする以下の説明および関係する図面において開示される。本発明の範囲を逸脱することなく、代替実施形態が考案されてもよい。加えて、本発明のよく知られた要素については、本発明の関連する詳細を曖昧にしないように、詳細に説明されず、または省略される。
【０００８】
「例示的」および/または「例」という言葉は、本明細書では「例、事例、または例示として機能すること」を意味するために使用される。本明細書で「例示的」および/または「例」として説明するいかなる実施形態も、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、説明する特徴、利点、または動作モードを含むことを必要としない。
【０００９】
さらに、多くの実施形態は、たとえばコンピューティングデバイスの要素によって実施されるアクションのシーケンスの観点から説明される。本明細書において説明される様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つもしくは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実施できることが認識されよう。加えて、本明細書で説明するこれらの一連のアクションは、実行されると、関連するプロセッサに本明細書で説明する機能を実行させる、対応するコンピュータ命令のセットを記憶した任意の形態のコンピュータ可読記憶媒体内において完全に具現化されるものと見なすことができる。したがって、本発明の様々な態様はいくつかの異なる形態において実施されてもよく、そのすべてが、特許請求する主題の範囲内に入ると考えられる。加えて、本明細書で説明する実施形態ごとに、任意のそのような実施形態の対応する形式は、本明細書では、たとえば、説明したアクションを実行する「ように構成された論理」として説明され得る。
【００１０】
本明細書ではユーザ機器(UE)と呼ばれるクライアントデバイスは、モバイルであってもまたは固定されていてもよく、かつ無線アクセスネットワーク(RAN)と通信してもよい。本明細書で使用する「UE」という用語は、互換的に「アクセス端末」または「AT」、「ワイヤレスデバイス」、「加入者デバイス」、「加入者端末」、「加入者局」、「ユーザ端末」またはUT、「モバイル端末」、「移動局」、およびそれらの変形形態と呼ばれることがある。概して、UEは、RANを介してコアネットワークと通信することができ、コアネットワークを通じてUEはインターネットなどの外部ネットワークに接続することができる。当然、UEには、ワイヤードアクセスネットワーク、(たとえば、IEEE 802.11などに基づく)WiFiネットワークなどを介してなど、コアネットワークおよび/またはインターネットに接続する他の機構も考えられる。UEは、限定はしないが、PCカード、コンパクトフラッシュ(登録商標)デバイス、外付けまたは内蔵のモデム、ワイヤレスフォンまたは有線フォンなどを含むいくつかのタイプのデバイスのいずれかによって具現化され得る。UEが信号をRANに送ることができる通信リンクは、アップリンクチャネル(たとえば、逆方向トラフィックチャネル、逆方向制御チャネル、アクセスチャネルなど)と呼ばれる。RANが信号をUEに送ることができる通信リンクは、ダウンリンクチャネルまたは順方向リンクチャネル(たとえば、ページングチャネル、制御チャネル、ブロードキャストチャネル、順方向トラフィックチャネルなど)と呼ばれる。本明細書で使用するトラフィックチャネル(TCH)という用語は、アップリンク/逆方向トラフィックチャネル、またはダウンリンク/順方向トラフィックチャネルのいずれかを指すことができる。
【００１１】
図1は、本発明の実施形態によるワイヤレス通信システム100のハイレベルシステムアーキテクチャを示す図である。ワイヤレス通信システム100はUE1...Nを含む。UE1...Nは、セルラー電話、携帯情報端末(PDA)、ページャ、ラップトップコンピュータ、デスクトップコンピュータなどを含むことができる。たとえば、図1において、UE1...2は発呼側セルラーフォンとして示され、UE3...5はタッチスクリーンセルラーフォンまたはスマートフォンとして示され、UE NはデスクトップコンピュータまたはPCとして示されている。
【００１２】
図1を参照すると、UE1...Nは、図1にエアインターフェース104、106、108および/または直接ワイヤード接続として示されている物理通信インターフェースまたは物理通信レイヤを介してアクセスネットワーク(たとえば、RAN120、アクセスポイント125など)と通信するように構成される。エアインターフェース104および106は所与のセルラー通信プロトコル(たとえば、CDMA、EVDO、eHRPD、GSM(登録商標)、EDGE、W-CDMA、LTEなど)に準拠することができ、一方、エアインターフェース108はワイヤレスIPプロトコル(たとえば、IEEE 802.11)に準拠することができる。RAN120は、エアインターフェース104および106などのエアインターフェースを介してUEにサービスする複数のアクセスポイントを含む。RAN120内のアクセスポイントは、アクセスノードまたはAN、アクセスポイントまたはAP、基地局またはBS、ノードB、eノードBなどと呼ばれることがある。これらのアクセスポイントは、地上アクセスポイント(もしくは地上局)、または衛星アクセスポイントであり得る。RAN120は、RAN120によってサービスされるUEとRAN120または異なるRANによってサービスされる他のUEとの間の回線交換(CS)呼を完全にブリッジングすることを含む様々な機能を実施することができ、かつインターネット175などの外部ネットワークとのパケット交換(PS)データの交換を仲介することもできるコアネットワーク140に接続するように構成される。インターネット175は、いくつかのルーティングエージェントおよび処理エージェント(便宜上、図1には示されていない)を含む。図1では、UE Nはインターネット175に直接接続する(すなわち、WiFiまたは802.11ベースネットワークのイーサネット(登録商標)接続を介してインターネット175に接続するなど、コアネットワーク140から分離されてインターネット175に接続する)ように示されている。それによって、インターネット175は、コアネットワーク140を介してUE NとUE1...Nとの間のパケット交換データ通信をブリッジングするように機能することができる。図1には、RAN120から分離されたアクセスポイント125も示されている。アクセスポイント125は、コアネットワーク140とは無関係に(たとえば、FiOS、ケーブルモデムなどの光通信システムを介して)インターネット175に接続されてよい。エアインターフェース108は、一例では、IEEE 802.11などのローカルワイヤレス接続を介してUE4またはUE5にサービスしてもよい。UE Nは、一例では(たとえば、ワイヤード接続性とワイヤレス接続性の両方を有するWiFiルータ用の)アクセスポイント125自体に対応することができるモデムまたはルータとの直接接続など、インターネット175とのワイヤード接続を有するデスクトップコンピュータとして示されている。
【００１３】
図1を参照すると、アプリケーションサーバ170は、インターネット175、コアネットワーク140、またはその両方に接続されるものとして示されている。アプリケーションサーバ170は、構造的に分離された複数のサーバとして実装することができ、または代替的に単一のサーバに対応する場合がある。以下でさらに詳しく説明するように、アプリケーションサーバ170は、コアネットワーク140および/またはインターネット175を介してアプリケーションサーバ170に接続することのできるUEに対して1つまたは複数の通信サービス(たとえば、ボイスオーバーインターネットプロトコル(VoIP: Voice-over-Internet Protocol)セッション、プッシュツートーク(PTT)セッション、グループ通信セッション、ソーシャルネットワーキングサービスなど)をサポートするように、および/またはUEにコンテンツ(たとえば、ウェブページダウンロード)を提供するように構成される。
【００１４】
図2は、本発明の実施形態によるUE(すなわち、クライアントデバイス)の例を示す。図2を参照すると、UE300Aは発呼側電話として示され、UE300Bはタッチスクリーンデバイス(たとえば、スマートフォン、タブレットコンピュータなど)として示されている。図2に示すように、UE300Aの外部ケーシングは、当技術分野で知られているように、特に、アンテナ305A、ディスプレイ310A、少なくとも1つのボタン315A(たとえば、PTTボタン、電源ボタン、音量調節ボタンなど)、キーパッド320Aなどの構成要素で構成される。また、UE300Bの外部ケーシングは、当技術分野で知られているように、特に、タッチスクリーンディスプレイ305B、周辺ボタン310B、315B、320B、および325B(たとえば、電力制御ボタン、音量または振動制御ボタン、飛行機モードトグルボタンなど)、少なくとも1つのフロントパネルボタン330B(たとえば、Homeボタンなど)などの構成要素で構成される。UE300Bの一部として明示的に示されてはいないが、UE300Bは、限定はしないが、WiFiアンテナ、携帯アンテナ、衛星位置システム(SPS)アンテナ(たとえば全地球測位システム(GPS)アンテナ)などを含む1つもしくは複数の外部アンテナおよび/またはUE300Bの外部ケーシングに内蔵された1つもしくは複数の集積アンテナを含み得る。
【００１５】
UE300AおよびUE300BなどのUEの内部構成要素は異なるハードウェア構成によって具現化され得るが、内部ハードウェア構成要素のための基本的なハイレベルUE構成は図2にプラットフォーム302として示されている。プラットフォーム302は、最終的にコアネットワーク140、インターネット175、ならびに/あるいは他のリモートサーバおよびネットワーク(たとえば、アプリケーションサーバ170、ウェブURLなど)から得ることのできるRAN120から送信されたソフトウェアアプリケーション、データ、および/またはコマンドを受信し実行することが可能である。プラットフォーム302は、ローカルに記憶されたアプリケーションをRAN対話なしに独立して実行することもできる。プラットフォーム302は、特定用途向け集積回路(ASIC)308または他のプロセッサ、マイクロプロセッサ、論理回路、または他のデータ処理デバイスに動作可能に結合されたトランシーバ306を含むことができる。ASIC308または他のプロセッサは、ワイヤレスデバイスのメモリ312内の任意の常駐プログラムとインターフェースするアプリケーションプログラミングインターフェース(API)310レイヤを実行する。メモリ312は、読取り専用メモリもしくはランダムアクセスメモリ(RAMおよびROM)、EEPROM、フラッシュカード、またはコンピュータプラットフォームに共通する任意のメモリから構成することができる。プラットフォーム302はまた、メモリ312内でアクティブに使用されないアプリケーション、ならびに他のデータを記憶することができるローカルデータベース314も含むことができる。ローカルデータベース314は、一般的にフラッシュメモリセルであるが、磁気媒体、EEPROM、光学媒体、テープ、ソフトまたはハードディスクなどの、当技術分野で知られている任意の二次記憶デバイスであってもよい。
【００１６】
したがって、本発明の実施形態は、本明細書で説明する機能を実施する能力を含むUE(たとえば、UE300A、300Bなど)を含むことができる。当業者が諒解するように、様々な論理要素は、本明細書において開示する機能を実現するために、個別の要素、プロセッサ上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアの任意の組合せにおいて具体化することができる。たとえば、ASIC308、メモリ312、API310およびローカルデータベース314をすべて協働的に使用して、本明細書で開示する様々な機能をロードし、記憶し、実行してもよく、したがって、これらの機能を実施するための論理が様々な要素に分散されてもよい。代替として、機能は1つの個別構成要素に組み込むことができる。したがって、図2のUE300Aおよび300Bの特徴は例示的なものにすぎないと見なすべきであり、本発明は図示の特徴または構成に制限されない。
【００１７】
UE300Aおよび/または300BとRAN120との間のワイヤレス通信は、CDMA、W-CDMA、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多重(OFDM)、GSM(登録商標)、またはワイヤレス通信ネットワークもしくはデータ通信ネットワークで使用され得る他のプロトコルなどの異なる技術に基づき得る。上記で説明し、当技術分野で知られているように、音声送信および/またはデータは、様々なネットワークおよび構成を使用してRANからUEに送信することが可能である。したがって、本明細書において提示される例は、本発明の実施形態を限定するものではなく、単に本発明の実施形態の態様の説明を助けるためのものにすぎない。
【００１８】
図3は、機能を実行するように構成された論理を含む通信デバイス400を示す。通信デバイス400は、限定はしないが、UE300AまたはUE300B、RAN120の任意の構成要素、コアネットワーク140の任意の構成要素、コアネットワーク140および/またはインターネット175に結合された任意の構成要素(たとえば、アプリケーションサーバ170)などを含む、上記の通信デバイスのうちのいずれかに対応することができる。したがって、通信デバイス400は、図1のワイヤレス通信システム100を介して1つもしくは複数の他のエンティティと通信する(または通信を容易にする)ように構成された任意の電子デバイスに対応することができる。
【００１９】
図3を参照すると、通信デバイス400は、情報の受信および/または送信を行うように構成された論理405を含む。一例では、通信デバイス400がワイヤレス通信デバイス(たとえば、RAN120内のUE300AもしくはUE300B、AP125、BS、ノードBまたはeノードB)に対応する場合には、情報を受信および/または送信するように構成された論理405は、ワイヤレストランシーバおよび関連ハードウェア(たとえば、RFアンテナ、モデム、変調器および/または復調器など)のようなワイヤレス通信インターフェース(たとえば、Bluetooth(登録商標)、WiFi、2G、CDMA、W-CDMA、3G、4G、LTEなど)を含むことができる。別の例では、情報を受信および/または送信するように構成された論理405は、ワイヤード通信インターフェース(たとえば、インターネット175にアクセスする手段となり得るシリアル接続、USBまたはFirewire接続、イーサネット(登録商標)接続など)に対応することができる。したがって、通信デバイス400が、何らかのタイプのネットワークベースのサーバ(たとえば、アプリケーションサーバ170)に対応する場合には、情報を受信および/または送信するように構成された論理405は、一例では、イーサネット(登録商標)プロトコルによってネットワークベースのサーバを他の通信エンティティに接続するイーサネット(登録商標)カードに対応し得る。さらなる例では、情報を受信および/または送信するように構成された論理405は、通信デバイス400が、そのローカル環境を監視する手段となり得る感知または測定ハードウェア(たとえば、加速度計、温度センサー、光センサー、ローカルRF信号を監視するためのアンテナなど)を含むことができる。情報を受信および/または送信するように構成された論理405はまた、実行されると、情報を受信および/または送信するように構成された論理405の関連ハードウェアがその受信機能および/または送信機能を実施することを可能にするソフトウェアを含むことができる。しかしながら、情報を受信および/または送信するように構成された論理405は、ソフトウェアだけに対応するのではなく、情報を受信および/または送信するように構成された論理405は、その機能性を実現するために少なくとも部分的にハードウェアに依拠する。
【００２０】
図3を参照すると、通信デバイス400は、情報を処理するように構成された論理410をさらに含む。一例では、情報を処理するように構成された論理410は、少なくともプロセッサを含むことができる。情報を処理するように構成された論理410によって実行され得るタイプの処理の例示的な実施態様は、限定はしないが、判断を行うこと、接続を確立すること、異なる情報オプション間で選択を行うこと、データに関係する評価を行うこと、測定演算を実行するために通信デバイス400に結合されたセンサーとやりとりすること、情報をあるフォーマットから別のフォーマットに(たとえば、.wmvから.aviへなど、異なるプロトコル間で)変換することなどを含む。たとえば、情報を処理するように構成された論理410中に含まれるプロセッサは、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、ASIC、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書において説明される機能を実行するように設計されたそれらの任意の組合せに対応することができる。汎用プロセッサはマイクロプロセッサであってよいが、代替として、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実現される場合もある。情報を処理するように構成された論理410はまた、実行されると、情報を処理するように構成された論理410の関連ハードウェアがその処理機能を実施することを可能にするソフトウェアを含むことができる。しかしながら、情報を処理するように構成された論理410は、ソフトウェアだけに対応するのではなく、情報を処理するように構成された論理410は、その機能を実現するために少なくとも部分的にハードウェアに依拠する。
【００２１】
図3を参照すると、通信デバイス400は、情報を記憶するように構成された論理415をさらに含む。一例では、情報を記憶するように構成された論理415は、少なくとも非一時的メモリおよび関連ハードウェア(たとえば、メモリコントローラなど)を含むことができる。たとえば、情報を記憶するように構成された論理415に含まれる非一時的メモリは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形の記憶媒体に対応することができる。情報を記憶するように構成された論理415はまた、実行されると、情報を記憶するように構成された論理415の関連ハードウェアがその記憶機能を実施することを可能にするソフトウェアを含むことができる。しかしながら、情報を記憶するように構成された論理415は、ソフトウェアだけに対応するのではなく、情報を記憶するように構成された論理415は、その機能を実現するために少なくとも部分的にハードウェアに依拠する。
【００２２】
図3を参照すると、通信デバイス400は、場合によっては、情報を提示するように構成された論理420をさらに含む。ある例では、情報を提示するように構成された論理420は、少なくとも出力デバイスおよび関連ハードウェアを含むことができる。たとえば、出力デバイスは、ビデオ出力デバイス(たとえば、ディスプレイスクリーン、USB、HDMI(登録商標)のようなビデオ情報を搬送することができるポートなど)、オーディオ出力デバイス(たとえば、スピーカー、マイクロフォンジャック、USB、HDMI(登録商標)のようなオーディオ情報を搬送することができるポートなど)、振動デバイス、および/または、情報がそれによって出力のためにフォーマットされ得る、もしくは通信デバイス400のユーザもしくはオペレータによって実際に出力され得る任意の他のデバイスを含むことができる。たとえば、通信デバイス400が、図2に示すようにUE300AまたはUE300Bに対応する場合、情報を提示するように構成された論理420は、UE300Aのディスプレイ310AまたはUE300Bのタッチスクリーンディスプレイ305Bを含むことができる。さらなる一例では、情報を提示するように構成された論理420は、ローカルユーザを有しないネットワーク通信デバイス(たとえば、ネットワークスイッチまたはルータ、アプリケーションサーバ170のようなリモートサーバなど)のようないくつかの通信デバイスでは省くことができる。情報を提示するように構成された論理420は、実行されると、情報を提示するように構成された論理420の関連ハードウェアがその提示機能を実行することを可能にするソフトウェアも含むことができる。しかしながら、情報を提示するように構成された論理420は、ソフトウェアだけに対応するのではなく、情報を提示するように構成された論理420は、その機能を実現するために少なくとも部分的にハードウェアに依拠する。
【００２３】
図3を参照すると、通信デバイス400は、場合によっては、ローカルユーザ入力を受信するように構成された論理425をさらに含む。一例では、ローカルユーザ入力を受信するように構成された論理425は、少なくともユーザ入力デバイスおよび関連ハードウェアを含むことができる。たとえば、ユーザ入力デバイスは、ボタン、タッチスクリーンディスプレイ、キーボード、カメラ、オーディオ入力デバイス(たとえば、マイクロフォン、またはマイクロフォンジャックなど、オーディオ情報を搬送することができるポートなど)、および/または情報がそれによって通信デバイス400のユーザもしくは操作者から受信され得る任意の他のデバイスを含むことができる。たとえば、通信デバイス400が図2に示すようなUE300AまたはUE300Bに対応する場合、ローカルユーザ入力を受信するように構成された論理425は、キーパッド320A、ボタン315Aまたは310Bから325Bのうちのいずれか、タッチスクリーンディスプレイ305Bなどを含むことができる。さらなる一例では、ローカルユーザ入力を受信するように構成された論理425は、ローカルユーザを有しないネットワーク通信デバイス(たとえば、ネットワークスイッチまたはネットワークルータ、アプリケーションサーバ170のようなリモートサーバなど)のようないくつかの通信デバイスでは省くことができる。また、ローカルユーザ入力を受信するように構成された論理425は、実行されると、ローカルユーザ入力を受信するように構成された論理425の関連ハードウェアがその入力受信機能を実施することを認めるソフトウェアを含むことができる。しかしながら、ローカルユーザ入力を受信するように構成された論理425は、ソフトウェアだけに対応するのではなく、ローカルユーザ入力を受信するように構成された論理425は、その機能を実現するために少なくとも部分的にハードウェアに依拠する。
【００２４】
図3を参照すると、405〜425の構成された論理は、図3では別個のまたは相異なるブロックとして示されているが、それぞれの構成された論理がその機能を実行する手段であるハードウェアおよび/またはソフトウェアは、部分的に重複できることは諒解されよう。たとえば、405〜425の構成された論理の機能を容易にするために使用されるいずれのソフトウェアも、情報を記憶するように構成された論理415に関連する非一時的メモリに記憶することができ、そうすることによって、405〜425の構成された論理はそれぞれ、その機能(すなわち、この場合、ソフトウェア実行)を、情報を記憶するように構成された論理415によって記憶されたソフトウェアの動作に部分的に基づいて実行する。同様に、構成された論理のうちの1つに直接関連付けられたハードウェアは、場合によっては、他の構成された論理によって借用または使用することができる。たとえば、情報を処理するように構成された論理410のプロセッサは、データが、情報の受信および/または送信を行うように構成された論理405によって送信される前に、適切な形式にフォーマットすることができるので、情報の受信および/または送信を行うように構成された論理405は、その機能(すなわち、この場合、データの送信)を、情報を処理するように構成された論理410に関連付けられたハードウェア(すなわち、プロセッサ)の動作に部分的に基づいて実行する。
【００２５】
概して、別段に明示的に記載されていない限り、本開示全体にわたって使用される「ように構成された論理」という語句は、ハードウェアによって少なくとも部分的に実装される実施形態を引き合いに出すものとし、ハードウェアから独立したソフトウェアだけの実装形態に位置づけるものではない。また、様々なブロックにおける構成された論理または「ように構成された論理」は、特定の論理ゲートまたは論理要素に限定されるのではなく、概して、本明細書で説明する機能を(ハードウェアまたはハードウェアとソフトウェアの組合せのいずれかを介して)実行するための能力を指すことが諒解されよう。したがって、様々なブロックに示す構成された論理または「ように構成された論理」は、「論理」という語を共有しているにもかかわらず、必ずしも論理ゲートまたは論理要素として実装されない。様々なブロックにおける論理間の他の対話または協働が、以下でより詳細に説明する実施形態の検討から、当業者には明らかになるであろう。
【００２６】
上述の通信システムまたは他のタイプのアクセスネットワーク(たとえば、WiFiなど)を使用するクライアントデバイス(たとえば、携帯電話などのモバイルデバイス)が、1つまたは複数のホストサーバへのクライアントアプリケーションの登録を維持することは一般的である。たとえば、ユーザは、ユーザの携帯電話上のFacebookクライアントアプリケーション、ユーザのタブレットコンピュータ上のFacebookクライアントアプリケーション、ユーザのラップトップコンピュータまたはデスクトップコンピュータ上のFacebookクライアントアプリケーション、ユーザのスマートTV上のFacebookクライアントアプリケーションなどを介して、FacebookホストサーバとのユーザのFacebookアカウントにログインする場合がある。これらのクライアントアプリケーション登録は、一般に一時的なものであり、定期的な更新を必要とし、さもなければ、クライアントアプリケーションは、それらのそれぞれのホストサーバによって登録解除されることになる。2つ以上のクライアントアプリケーションが、同じホストサーバへのアクティブな登録を維持することも可能である。この場合、2つ以上のクライアントアプリケーションを実行するそれぞれのデバイスは、一般に、それぞれのクライアントアプリケーションの登録を延長または更新するための独立した登録更新要求を送信することが必要になる。
【００２７】
図4は、本発明の一実施形態による、所与のユーザ(「ユーザA」)に関連して登録されているクライアントデバイス内のアプリケーション構成を示す。図4を参照すると、ユーザAが、クライアントデバイス400A(たとえば、携帯電話またはハンドセット)と、クライアントデバイス410A(たとえば、タブレットコンピュータ)と、クライアントデバイス420A(たとえば、ラップトップコンピュータ)と、クライアントデバイス430A(たとえば、別の携帯電話またはハンドセット)とを制御すると仮定する。クライアントデバイス400A、410A、420A、および430Aの各々が、それぞれクライアントアプリケーションのセット405A、415A、425A、および435Aを実行するように構成される。詳細には、クライアントアプリケーションX(「アプリX」)が、クライアントアプリケーションのそれぞれのセット405A、415A、425A、および435Aの各々の中に組み込まれる。アプリXがそれぞれのクライアントデバイスにインストールされていると言及するが、実際には、アプリXの異なるバージョンがインストールされていることがある。たとえば、ハンドセットバージョンのアプリXが、クライアントアプリケーションのセット405Aおよび435Aの中に組み込まれることがあり、タブレットバージョンのアプリXが、クライアントアプリケーションのセット415Aに組み込まれることがあり、ラップトップバージョンのアプリXが、クライアントアプリケーションのセット425Aの中に組み込まれることがある。したがって、異なるデバイスユーザインターフェース、フォームファクタ、および/またはオペレーティングシステムが、アプリXの異なるバージョンを必要とする場合がある。さらに、アプリXの異なるバージョンが、同様の構成を有するデバイスにインストールされていることがある(たとえば、ハンドセットデバイス1およびハンドセットデバイス2は同じ物理的構成を有し、各々がアプリXをインストールされている場合があるが、デバイス2のユーザは、アップグレードがリリースされているアプリXをアップグレードしておらず、したがってアプリXの上位またはより最新のバージョンがデバイス1上で動作しているなど)。以下でより詳細に説明するように、アプリXを登録することを担うサーバが、登録を受けるそれ
ぞれのデバイスでバージョンが異なる可能性があるにもかかわらず、各アプリXインスタンスをユーザAと関連付けることができる。
【００２８】
図5は、図4に示すクライアントデバイス400Aおよび410AそれぞれにおけるアプリXのために実施することができる例示的な登録手順を示す。図5では、アプリXは、同じホストサーバ(「アプリケーションサーバ170」)によってサポートされ、これに登録されるように構成されると仮定する。しかしながら、この仮定は、クライアントデバイス400Aおよび/または410Aで展開される他のクライアントアプリケーションには必ずしも当てはまらない。
【００２９】
図5を参照すると、クライアントデバイス400Aが、アプリケーションサーバ170に登録メッセージを送信する、500。図5では、500の登録メッセージは、登録のために関連するユーザを識別するユーザアドレス、アプリX識別子(ID)、クライアントデバイス400A上のアプリXによって使用されるIPアドレスおよびポート番号、クライアントデバイス400Aのデバイス識別子(ID)を含むセッション開始プロトコル(SIP)REGISTERメッセージにより実現されるように示されている。一例では、アプリXによって使用されるポート番号は、アプリXに一意であってもよいが、アプリXによって使用されるIPアドレスは、クライアントデバイス400A上で動作している他のクライアントアプリケーションと共有されることもあり、したがってクライアントアプリケーションは、それらのポート番号で区別することができる。アプリケーションサーバは、それにより、アプリXのポート番号と併せてIPアドレスを使用して、外部デバイスからのメッセージをクライアントデバイス400A上のアプリXにルーティングすることができる。一例では、アプリX IDは、アプリXを他のクライアントアプリケーションと区別するグローバル一意IDとして実装されてもよい。この場合、インストールされた任意のバージョンのアプリXを有する他のどのクライアントデバイスも、アプリXに同じアプリX IDを使用することができ、バージョン情報は、場合によっては、登録メッセージの別個のフィールドにより示されてもよい。代替例では、アプリX IDは、アプリXの異なるバージョンと各々関連付けられる、複数のグローバル一意のアプリX IDを含んでもよい(たとえば、タブレットバージョンのアプリXが第1のアプリX IDを有してもよく、デスクトップバージョンのアプリXが第2のアプリX IDを有してもよく、スマートTVバージョンのアプリXが第3のアプリX IDを有してもよいなど)。この場合、登録メッセージによりバージョン情報を示すための別個のフィールドは、必要ではない。また、デバイスIDは、MACアドレスなど、クライアントデバイス400Aを他のクライアントデバイスと区別する、クライアントデバイス400Aのグローバル一意識別子に対応することができる。説明の便宜上、本出願全体を通して説明する登録メッセ
ージは、SIPに従ってSIP REGISTERメッセージを指すことになるが、他の実施形態はSIPでない実装形態を対象とし得ることは諒解されよう。
【００３０】
図5を参照すると、505において、アプリケーションサーバ170は、500のSIP REGISTERメッセージによるクライアントデバイス400AのIPアドレスおよびアプリXのポート番号に基づいて、クライアントデバイス400A上のアプリXに200 OKメッセージを送ることによって、500によるSIP REGISTERメッセージを確認応答する(ACK)。また、500によるSIP REGISTERメッセージに応答して、アプリケーションサーバ170は、場合によっては、アプリXのSIP REGISTERメッセージを認証する、510。500によるSIP REGISTERメッセージが510において適切に認証される場合(または認証がスキップされる場合)、アプリケーションサーバ170は、(i)アプリXのID、(ii)アプリXに関連するIPアドレスおよびポート番号、(iii)クライアントデバイス400Aに関連するデバイスIDを含む、ユーザアドレスによって識別されたユーザに関連してアプリX用のレコードを作ることによってアプリXを登録する、515。アプリケーションサーバ170はまた、アプリXの登録のための満了タイマーを開始し、520、それによってアプリケーションサーバ170は、アプリXの満了タイマーが満了すると、アプリXを登録解除するように構成される。
【００３１】
アプリケーションサーバ170は、アプリXにサービスが利用可能であることを示すメッセージをクライアントデバイス400A上のアプリXに送り、525、アプリXは、サービス利用可能メッセージに応答してACKを送る、530。一例では、サービス利用可能メッセージ525は、クライアントデバイス400A上のアプリXの現在の登録期間が満了するまで有効である認証キーを含む。535において、アプリXは、クライアントデバイス400Aのためにアプリケーションサーバ170で動作しているアプリX用の満了タイマーの前に満了するように構成されている有効期間(TTL)タイマーを開始する。アプリXのTTLタイマーが満了すると、クライアントデバイス400A上のアプリXをトリガして、クライアントデバイス400A用のアプリXの満了タイマーをリセットすることによってアプリケーションサーバ170とのアプリXの登録を更新または延長するための、別のSIP REGISTERメッセージを送信することになる。
【００３２】
ある後の時点において、クライアントデバイス410A上のアプリXは、登録のために関連するユーザを識別するユーザアドレス、アプリX ID、クライアントデバイス410A上でアプリXによって使用されるIPアドレスおよびポート番号、ならびにクライアントデバイス410AのデバイスIDを含むSIP REGISTERメッセージ540をアプリケーションサーバに送信する。545において、アプリケーションサーバ170は、540のSIP REGISTERメッセージによるクライアントデバイス410AのIPアドレスおよびアプリXのポート番号に基づいて、クライアントデバイス410A上のアプリXに200 OKメッセージを送ることによって、540のSIP REGISTERメッセージをACKする。また、540によるSIP REGISTERメッセージに応答して、アプリケーションサーバ170は、場合によっては、アプリXのSIP REGISTERメッセージを認証する、550。540によるSIP REGISTERメッセージが550において適切に認証される場合(または認証がスキップされる場合)、アプリケーションサーバ170は、(i)アプリXのID、(ii)アプリXに関連するIPアドレスおよびポート番号、(iii)クライアントデバイス410Aに関連するデバイスIDを含む、ユーザアドレスによって識別されたユーザに関連してアプリX用のレコードを作ることによってアプリXを登録する、555。アプリケーションサーバ170はまた、クライアントデバイス410A上でアプリXの登録のための満了タイマーを開始し、560、それによってアプリケーションサーバ170は、アプリXの満了タイマーが満了すると、クライアントデバイス410A上でアプリXを登録解除するように構成される。
【００３３】
アプリケーションサーバ170は、アプリXにサービスが利用可能であることを示すメッセージをクライアントデバイス410A上のアプリXに送り、565、アプリXは、サービス利用可能メッセージに応答してACKを送る、570。一例では、サービス利用可能メッセージ565は、クライアントデバイス410A上のアプリXの現在の登録期間が満了するまで有効である認証キーを含む。575において、クライアントデバイス410A上のアプリXは、アプリケーションサーバ170で動作しているアプリX用の満了タイマーの前に満了するように構成されているTTLタイマーを開始する。クライアントデバイス410A上のアプリXのTTLタイマーが満了すると、クライアントデバイス410A上のアプリXをトリガして、アプリXの満了タイマーをリセットすることによってアプリケーションサーバ170とのクライアントデバイス410A上のアプリXの登録を更新または延長するために、別のSIP REGISTERメッセージを送信することになる。
【００３４】
図6は、図5のプロセスの実行後にクライアントデバイス400Aおよび410A上のアプリXの登録を更新または延長するための従来の機構を示す。図6を参照すると、575後のある時点において、クライアントデバイス400Aは、535において開始されたアプリXのTTLタイマーが満了したと決定する、600。これは、クライアントデバイス400Aをトリガして、605において、アプリケーションサーバ170にアプリケーションサーバ170とのクライアントデバイス400AのためのアプリXの登録を延長または更新するように要求する機能を果たす別のSIP REGISTERメッセージを送信する。アプリケーションサーバ170は、200 OK messageで605によるSIP REGISTERメッセージをACKし、610、アプリケーションサーバ170はまた、アプリXの満了タイマーをリセットまたは延長することによって、クライアントデバイス400AのためにアプリXの登録を更新する、615。諒解されるように、615の動作は、クライアントデバイス400A上のアプリXの登録が本来であれば満了する時点を延期する。アプリケーションサーバ170は、クライアントデバイス400A上のアプリXに、更新された認証キーともにサービス利用可能メッセージを送ることによってその登録が更新されたことを通知し、620、クライアントデバイス400Aは、サービス利用可能メッセージをACKする、625。クライアントデバイス400A上のアプリXは、630においてアプリX TTLタイマーをリセットまたはリスタートし、したがってクライアントデバイス400Aは、次にアプリX TTLタイマーがクライアントデバイス400Aで満了するときなどに、アプリケーションサーバ170とのアプリXの登録を更新するために別のSIP REGISTERメッセージを送ることになる。
【００３５】
図6を参照すると、クライアントデバイス410Aは、アプリXのTTLタイマーが満了したと決定する、635。これは、クライアントデバイス410Aをトリガして、640において、アプリケーションサーバ170にクライアントデバイス410Aのためにアプリケーションサーバ170とのアプリXの登録を延長または更新するように要求する機能を果たす別のSIP REGISTERメッセージを送信する。アプリケーションサーバ170は、200 OK messageで640によるSIP REGISTERメッセージをACKし、645、アプリケーションサーバ170はまた、アプリXの満了タイマーをリセットまたは延長することによって、クライアントデバイス410A上のアプリXの登録を更新する、650。諒解されるように、650の動作は、クライアントデバイス410AのためのアプリXの登録が本来であれば満了する時点を延期する。アプリケーションサーバ170は、クライアントデバイス410A上のアプリXに、更新された認証キーともにサービス利用可能メッセージを送ることによってその登録が更新されたことを通知し、655、クライアントデバイス410Aは、サービス利用可能メッセージをACKする、660。クライアントデバイス410A上のアプリXは、665においてアプリX TTLタイマーをリセットまたはリスタートし、したがってクライアントデバイス410Aは、次にアプリX TTLタイマーが満了するときなどに、アプリケーションサーバ170とのクライアントデバイス410AのためのアプリXの登録を更新するために別のSIP REGISTERメッセージを送ることになる。
【００３６】
ユーザが互いに近接している複数のクライアントデバイスに同じクライアントアプリケーションをインストールすることが、より一般的になっている。たとえば、特定のユーザが、ビデオコンテンツをストリーミングするための様々なバージョンのクライアントアプリケーション(たとえば、Netflix、YouTube(登録商標)など)を、ホーム環境のスマートTV、携帯電話、タブレットコンピュータ、および/またはラップトップもしくはデスクトップコンピュータなど、ホーム環境のいくつかの近接したクライアントデバイスにインストールしている場合がある。図6に示す従来の手法では、各それぞれのクライアントデバイス上の各クライアントアプリケーションが独立してそれ自体の登録更新手順に関与するが、近接したクライアントデバイスに同じクライアントアプリケーションの複数のバージョンがインストールされているとき、リソース使用の観点から無駄が多い可能性がある。したがって、本発明の実施形態は、異なる複数の近接したクライアントデバイスのための登録更新要求を単一の送信に統合または集約することによって、同じユーザに関連して複数の近接したクライアントデバイスにインストールされた所与のクライアントアプリケーションの登録を更新するために使用されるメッセージングの量を減らすことに関する。
【００３７】
図7は、本発明の一実施形態による、クライアントデバイス(たとえば、クライアントデバイス400A、410A、420A、または430Aなど)を動作させるプロセスを示す。図7を参照すると、700において、クライアントデバイスは、クライアントアプリケーション(たとえば、アプリX)が所与のユーザに関連してサーバに登録されている(たとえば、各クライアントアプリケーションインスタンスがアプリケーションサーバに同じユーザアドレスで登録されている)クライアントデバイスのリストを取得する。本明細書で使用する、リストに記載されたクライアントデバイスのそれぞれが実行するように構成された「クライアントアプリケーション」は、同じ内在するサービス(たとえば、Facebook、Netflixなど)に関連しているが、バージョンが異なることがある。たとえば、デスクトップコンピュータ、ハンドセットデバイス、およびスマートTVは、各々、クライアントアプリケーションの異なるバージョンを実行する場合があるが、これらのデバイスの各々は、700で取得されるリストに記載される。
【００３８】
図7を参照すると、クライアントデバイスは、ローカル通信インターフェース(たとえば、ピアツーピアインターフェース、Bluetooth(登録商標)インターフェース、WiFi-Directインターフェース、LTE-Dインターフェースなど)を介して、クライアントデバイスのリストからの1つまたは複数の他のクライアントデバイスがクライアントデバイスに近接していることを検出する、705。たとえば、700で取得されたクライアントデバイスのリストは、リストに記載された各クライアントデバイスに対して、識別情報(たとえば、MAC IDなどのデバイスID、IPアドレス、SSIDなど)を含むことができ、それによってリストに記載された各クライアントデバイスは、ローカル通信インターフェースを通じてそのそれぞれの識別情報を定期的にブロードキャストすることを予想され、クライアントデバイスは、リストに記載されたいずれかのクライアントデバイスが近接しているかどうかを検出するためにローカル通信インターフェースを監視することができる。同様に、クライアントデバイスは、リストに記載されたクライアントデバイスでの検出を容易にするために、ローカル通信インターフェースを通じてそれ自体の識別情報を定期的にブロードキャストすることもできる。
【００３９】
本明細書で使用する「ローカル通信インターフェース」は、アプリケーションサーバを含むことなく異なるクライアントデバイス間にブリッジすることができる任意の通信パスに対応することができる。これは、直接的なP2P、Bluetooth(登録商標)、WiFi-Direct、LTE-Dなどの、任意の直接(またはポイントツーポイント)通信インターフェースを含み、また、アクセスポイントによって仲介される間接的なP2Pなどの間接通信インターフェースも含むことができる。ローカル通信インターフェースは、したがって、アプリケーションサーバによって仲介される通信と比べてオーバーヘッドがより少ない通信を行うことができる任意のインターフェースであり、アプリケーションサーバへのメッセージを集約するとともに、間接的にサーバに/サーバからメッセージを中継するためにローカル通信インターフェースを使用することが、システムリソース利用の観点から利益をもたらす。さらに、本明細書で使用する「近接した」という用語は、間接的に、ローカル通信インターフェースを介して通信するための2つ以上のクライアントデバイスの予想されるまたは実際の容量を指す。たとえば、Bluetooth(登録商標)能力を有する2つのクライアントデバイスは、2つのクライアントデバイス間に現在実際のBluetooth(登録商標)接続が存在しない場合でも、2つのクライアントデバイスが互いから5フィート離れている場合、近接している(すなわち、予想される通信容量により近接している)と考えられてもよい。同様に、確立されたLTE-D接続を有する2つのクライアントデバイスは、確立されたLTE-D接続により近接している(すなわち、実際の通信容量により近接している)と考えられてもよい。したがって、物理的距離の観点から「近接した」クライアントデバイスを構成するものの範囲は、インターフェースタイプによって異なることがある(たとえば、Bluetooth(登録商標)では10〜30フィート、LTE-Dでは数百メートルなど)。
【００４０】
図7を参照すると、710において、クライアントデバイス、あるいは705において検出された1つまたは複数の他のクライアントデバイスのいずれかによって、インストールされたそれぞれのクライアントアプリケーションを更新するための決定が行われる。一例では、この決定は、ローカル通信インターフェースを通じた検索をトリガすることができ、705の検出をもたらすが、705の検出はまた、間近の登録更新手順によって直接にトリガされない定期的またはバックグラウンドのプロセスとして行われることもある。この決定に応答して、図6の1つの特定のクライアントデバイス上のクライアントアプリケーションのために登録更新を要求する登録更新要求を送信するだけではなく、クライアントデバイスおよび705において検出された1つまたは複数の他のクライアントデバイスは、クライアントデバイスと1つまたは複数の他のクライアントデバイスの両方のためにサーバへのクライアントアプリケーションの登録を更新するための集約された登録要求メッセージを送ることを担う所与のクライアントデバイスを識別するために通信する、710。たとえば、710における通信は、1つまたは複数のデバイス選択ルールに基づいているデバイス選択プロトコルを実行するために使用することができる。たとえば、1つまたは複数のデバイス選択ルールは、バッテリー電力を節約するためにバッテリー電源式デバイスよりもプラグインデバイスを選択すること、セルラー輻輳を減らすためにセルラー接続デバイスよりもWiFi接続デバイスを選択すること、アプリXに対して最も間近のTTLタイマー満了時間を有するデバイスを選択すること、またはそれらの任意の組合せを含むことができる。
【００４１】
715において、クライアントデバイスは、クライアントデバイスが710において集約された登録要求メッセージを送ることを担うものとして識別されるかどうかを決定する。クライアントデバイスが710において集約された登録要求メッセージを送ることを担うものとして識別されない場合、クライアントデバイスは、別のクライアントデバイスが集約された登録要求メッセージを送信することになるという予想に基づいて、アプリXのための登録更新要求を送信するのを控える、720。そうではなく、クライアントデバイスが710において集約された登録要求メッセージを送ることを担うものとして識別される場合、クライアントデバイスは、集約された登録要求メッセージを構成し、725、集約された登録要求メッセージをアプリケーションサーバに送信する、730。諒解されるように、アプリX登録更新要求を送信する必要がある近接したクライアントデバイスの数を減らすことは、関連するネットワーク上の物理層インターフェースおよび/またはバックホール輻輳を制限する。
【００４２】
図8は、本発明の一実施形態による、サーバ(たとえば、アプリケーションサーバ170など)を動作させるプロセスを示す。詳細には、図8は、図7に関して上記で説明したクライアント側の動作とともに実施されるサーバ側の動作を示す。
【００４３】
図8を参照すると、800において、サーバは、複数の異なるクライアントデバイスの各々において所与のユーザに対してクライアントアプリケーションを登録する。サーバは、複数の異なるクライアントデバイスのリストを複数の異なるクライアントデバイスのうちの少なくとも1つに提供する、805。たとえば、サーバは、所与のユーザに対して新しいクライアントデバイスにクライアントアプリケーションを登録する間に、またはある後の時点に、805のリストを提供することができる。サーバは、クライアントデバイスが所与のユーザに対してクライアントアプリケーションを登録または登録解除するときはいつでも、または定期的に、現在登録されているクライアントデバイスに更新されたリストを提供することができる。さらなる一例では、サーバ自体は、805のリストを登録された各クライアントデバイスに伝える必要がない。たとえば、2つの登録されたクライアントデバイスが近接しており、ローカル通信インターフェース(たとえば、P2P、Bluetooth(登録商標)、WiFi Direct、LTE-Dなど)を介して接続される場合、サーバは、登録されたクライアントデバイスのうちの1つのクライアントデバイスにリストを提供することができ、1つのクライアントデバイスは次いでリストを他の近接したクライアントデバイスに中継することができる。
【００４４】
810において、805のリストプロビジョニングに応じて、サーバは、複数の異なるクライアントデバイスのうちの所与のクライアントデバイスから、(i)所与のクライアントデバイスの、サーバへのクライアントアプリケーションの登録を更新するための要求、および(ii)クライアントデバイスに近接している1つまたは複数の他のクライアントデバイスのためにサーバへのクライアントアプリケーションの1つまたは複数の登録を更新するための1つまたは複数の要求を含む、集約された登録要求メッセージを受信する。
【００４５】
図9は、本発明の一実施形態による、図5のプロセスの継続として図4のクライアントデバイス400Aおよび410Aに関して実施される図7および図8のプロセスの例示的な実装形態を示す。図9の実施形態では、クライアントデバイス400Aおよび410Aが互いに近接していると仮定する。図9を参照すると、アプリケーションサーバは、クライアントデバイス400Aおよび410Aに、ユーザAに対してアプリXが登録されているクライアントデバイスのリストを提供する、900(たとえば、図7の700または図8の805と同様)。900のプロビジョニングは、図5のプロセスの前、後、または間に行われ得る。
【００４６】
図9を参照すると、575後のある時点において、クライアントデバイス400Aは、535において開始されたアプリXのTTLタイマーが満了したと決定する、905。図6の605において別のSIP REGISTERメッセージを送信する代わりに、クライアントデバイス400Aは、900のリスト中に提供されるクライアントデバイス410Aに対する識別情報を使用してローカル通信インターフェースを介してクライアントデバイス410Aを検出する、910(たとえば、図7の705と同様)。クライアントデバイス400Aおよび410Aは次いで、サーバへのそれらのそれぞれのアプリX登録の両方を更新するために集約された登録要求メッセージを送信することをどちらのクライアントデバイスが担うかを識別するために互いに通信する、915(たとえば、図7の710と同様)。図9の実施形態では、クライアントデバイス400Aが担当するクライアントデバイスとして識別されると仮定する。
【００４７】
920において(たとえば、図7の730または図8の805と同様)、クライアントデバイス400Aは、登録のために関連するユーザを識別するユーザアドレス(「User Address」)と、アプリX ID(「App X ID」)と、両方のクライアントデバイス400Aおよび410AのアプリXによって使用されるIPアドレスおよびポート番号(「IP address_#1」および「App X Port_#1」ならびに「IP address_#2」および「App X Port_#2」)と、両方のクライアントデバイス400Aおよび410AのデバイスID(「Device ID_#1」および「Device ID_#2」)とを含む集約された登録要求メッセージを構成し、送信する。925において、アプリケーションサーバ170は、920のSIP REGISTERメッセージによるクライアントデバイス410AのIPアドレスおよびアプリXのポート番号に基づいて、クライアントデバイス400A上のアプリXに200 OKメッセージを送ることによって、920のSIP REGISTERメッセージをACKする。920によるSIP REGISTERメッセージに応答して、アプリケーションサーバは、両方のクライアントデバイス400Aおよび410AのためにアプリX登録を更新する、930および935。
【００４８】
図9の実施形態では、アプリケーションサーバ170は、クライアントデバイス400Aとクライアントデバイス410 Aの両方のための更新された認証キーとともにサービス利用可能メッセージを送ることによって、クライアントデバイス400Aとクライアントデバイス410 Aの両方に対するアプリX登録が更新されたことを、クライアントデバイス400A上のアプリXに通知し、940、クライアントデバイス400Aは、サービス利用可能メッセージをACKする、945。サービス利用可能メッセージに応答して、クライアントデバイス400Aは、ローカル通信インターフェースを介して、クライアントデバイス410上のアプリXのための更新された認証キーとともにクライアントデバイス410Aにサービス利用可能メッセージを転送することによって、やはりその登録が更新されたクライアントデバイス410A上のアプリXに通知する、950。クライアントデバイス400A上のアプリXは、アプリX TTLタイマーをリセットまたはリスタートし、955、クライアントデバイス410A上のアプリXは同様に、それ自体のアプリX TTLタイマーをリセットまたはリスタートする、960。
【００４９】
図7〜図9に関して上記で説明した実施形態は、同じユーザ用の異なるデバイス上のアプリXの複数のインスタンスに対する登録更新を要求する集約された登録要求メッセージを送信するために互いに協調する近接したクライアントデバイスに関するが、図10〜図12は、サーバが、2つ以上のクライアントデバイスに対して、それ自体の近接検出を行い、次いで、登録更新を明示的に要求していなかった少なくとも1つのクライアントデバイスに対して、その少なくとも1つのクライアントデバイスが要求中のクライアントデバイスに近接していることにより、登録更新を先んじて発行するシナリオを対象とする。
【００５０】
図10は、本発明の一実施形態による、サーバ(たとえば、アプリケーションサーバ170など)を動作させるプロセスを示す。図10を参照すると、サーバは、複数の異なるクライアントデバイスの各々で所与のユーザに関連するクライアントアプリケーション(たとえば、アプリX)を登録する、1000。ある後の時点において、サーバは、登録されたクライアントデバイスのうちの1つからクライアントアプリケーションの登録を更新する要求を受信する、1005。図7〜図9に関して上記で説明した登録更新要求とは異なり、1005の登録更新要求は、集約された登録要求メッセージではなく、クライアントデバイス自体にあるクライアントアプリケーションの登録更新を要求するにすぎない。要求中のクライアントデバイスのためにアプリケーション登録を更新するだけではなく、サーバは、クライアントデバイスが、登録されたクライアントデバイスのうちの少なくとも1つの他のクライアントデバイスに近接していることを検出する、1010。1010の検出は、様々な方法で実施することができる。たとえば、サーバは、1つまたは複数の登録されたクライアントデバイスから、位置情報(たとえば、登録されたクライアントデバイスが現在接続されているアクセスポイント、緯度経度座標、クライアントデバイスによってローカル通信インターフェースを介して少なくとも1つの他のクライアントデバイスが検出されたという報告など)を報告する位置報告を受信してもよく、これらは、登録されたクライアントデバイスのどれが互いに近接しているかを決定するために、サーバによって評価される。たとえば、同じアクセスポイントに接続されたクライアントデバイスが、近接していると考えられてもよく、緯度経度座標に基づく互いのしきい値距離内のクライアントデバイスが、近接していると考えられてもよく、またはローカル通信インターフェースにより互いに接続されているクライアントデバイスが、近接していると考えられてもよい。さらなる一例では、1010の検出は、最近の登録履歴情報に基づいてサーバで実施することができる。たとえば、第1のクライアントデバイスから届いた前の登録メッセージが、第2のクライアントデバイスのための登録更新要求も含んだ集約された登録要求メッセージであった場合、サーバは、しきい値時間期間の間、第1および第2のクライアントデバイスは依然として近接していると仮定してもよい。この場合、しきい値時間期間内に受信される第1のクライアントデバイスまたは第2のクライアントデバイスのいずれかから1005において受信された(集約された、または集約されていない)別の登録更新メッセージが、他のクライアントデバイスは依然として近接しているという仮定により、1010の検出をトリガしてもよい。さらなる一例では、1010の検出は、発見的(heuristic)情報に基づいてサーバで実施することができる。たとえば、真夜中には、ユーザは一般的に、ユーザのそれぞれのデバイスを少なくともユーザが起きるまで同じ位置に置いたまま眠っており、したがって夜中に近接しているいずれのデバイスも、午前2時、午前4時などに、やはり同様に近接している。このシナリオでは、サーバは、真夜中に近接していると確実に識別される2つのデバイスが、所与の時間量の間(たとえば、過去のユーザ指定のユーザ起床��間に関する履歴情報またはデフォルトのユーザ起床時間に基づくことができる、ユーザについての予測される起床まで)近接していると単純に仮定されるなど、近接に関していくつかの仮定を行うことができる。
【００５１】
1010の検出の後、サーバは、1000においてアプリケーション登録更新を要求したクライアントデバイスに近接していると検出される少なくとも1つの他のクライアントデバイスのためにアプリケーション登録を先んじて更新することを決定する、1015。したがって、サーバは、1015の決定に応じて要求中のクライアントデバイスに、クライアントデバイスと少なくとも1つの他のクライアントデバイスの両方のためのクライアントアプリケーションの登録が更新されるという表示を、任意の関連する認証キーとともに送信する、1020。1015の送信は、図11の1110に関して以下で説明するように、要求中のクライアントデバイスがローカル通信インターフェースを介して少なくとも1つの他のクライアントデバイスに登録更新通知を中継しようと試みるための暗黙的または明示的命令として機能する。この点において、サーバは、場合によっては、クライアントデバイスがローカル通信インターフェースを介して少なくとも1つの他のクライアントデバイスに対する更新表示を正常に伝えたという表示を待った後に、少なくとも1つの他のクライアントデバイス上のクライアントアプリケーションに対する関連する登録を更新してもよい、1025。1025の代替として、サーバは、少なくとも1つの他のクライアントデバイス上のクライアントアプリケーションの登録を更新してもよく、クライアントデバイスがその後に登録更新通知失敗を報告する場合、登録更新を取り消してもよい。
【００５２】
図11は、本発明の一実施形態による、クライアントデバイス(たとえば、クライアントデバイス400A、410A、420A、または430Aなど)を動作させるプロセスを示す。詳細には、図11は、図10に関して上記で説明したサーバ側の動作とともに実施されるクライアント側の動作を示す。
【００５３】
図11を参照すると、1100において、クライアントデバイスは、サーバへのクライアントアプリケーションのその登録を更新するための要求を送信する。図7〜図9に関して上記で説明した登録更新要求とは異なり、1100の登録更新要求は、集約された登録要求メッセージではない。1100の登録更新要求に応答して、クライアントデバイスは、クライアントデバイスと、クライアントデバイスに近接している少なくとも1つの他のクライアントデバイスの両方のためのクライアントアプリケーションの登録が更新されるという表示を、任意の関連する認証キーとともに受信する、1105。
【００５４】
1110において、クライアントデバイスは、ローカル通信インターフェースを介してクライアントデバイスに近接している少なくとも1つの他のクライアントデバイスに、少なくとも1つの他のクライアントデバイスのクライアントアプリケーションの登録が更新されることを通知しようと試みる。クライアントデバイスは、1110の試みが成功であるか、それとも失敗であるかに関してサーバに報告する、1115。
【００５５】
図12は、本発明の一実施形態による、図5のプロセスの継続として図4のクライアントデバイス400Aおよび410Aに関して実施される図10および図11のプロセスの例示的な一実装形態を示す。図12の実施形態では、クライアントデバイス400Aおよび410Aが互いに近接していると仮定する。
【００５６】
図12を参照すると、575後のある時点において、クライアントデバイス400Aは、535において開始されたアプリXのTTLタイマーが満了したと決定する、1200。クライアントデバイス400Aは、次いで、クライアントデバイス400A上のアプリXのための更新を要求するSIP REGISTERメッセージを送り、1205(たとえば、図6の605、または図10の1005と同様)、アプリケーションサーバは、SIP REGISTERメッセージをACKする、1210。クライアントデバイス400AのためにアプリX登録を更新するだけではなく、アプリケーションサーバは、クライアントデバイス400Aが、同じユーザに対して登録されたアプリXをやはり有するクライアントデバイス410Aに近接していることを検出する、1215(たとえば、図10の1010と同様)。アプリケーションサーバは、クライアントデバイス400AのためにアプリX登録を更新し、関連するアプリX満了タイマーをリセットし、1220、クライアントデバイス400Aに、クライアントデバイス400Aとクライアントデバイス410Aの両方のためにアプリX登録が更新されることを示すサービス利用可能メッセージを、クライアントデバイス400Aおよび410A上のアプリXのための更新された認証キーとともに送信する、1225。クライアントデバイス400Aは、サービス利用可能メッセージをACKし、1230、それ自体のアプリX TTLタイマーをリセットする、1235。クライアントデバイス400Aは、クライアントデバイス410 Aに、そのアプリX登録もまた更新されたことを通知し、ならびにクライアントデバイス410A上のアプリXのための更新された認証キーを提供しようと試みる、1240(たとえば、図11の1110と同様)。たとえば、クライアントデバイス400Aは、図12に示すようにローカル通信インターフェースを介してクライアントデバイス410にサービス利用可能メッセージを転送しようと試みることができる。
【００５７】
図12の実施形態では、クライアントデバイス410Aは、クライアントデバイス400AからのアプリX登録更新通知をACKし、1245、そのアプリX TTLタイマーをリセットする、1250。クライアントデバイス400Aは次いで、成功したアプリX登録更新通知をアプリケーションサーバに報告し、1255、アプリケーションサーバはクライアントデバイス410のためのアプリX登録を更新し、関連するアプリX満了タイマーをリセットする、1260。
【００５８】
図13は、本発明の一実施形態による、図5のプロセスの継続として図4のクライアントデバイス400Aおよび410Aに関して実施される図10および図11のプロセスの別の例示的な実装形態を示す。図13のプロセスは、アプリXのためのピギーバックされた登録更新通知が、クライアントデバイス410Aに正常に届かないことを除いて、図12のプロセスと同様である。図12と同様に、図13の実施形態では、クライアントデバイス400Aおよび410Aが互いに近接していると仮定する。
【００５９】
図13を参照すると、1300〜1340は、それぞれ図12のブロック1200〜1240に実質的に対応する。1345において、図12の1245とは対照的に、クライアントデバイス410Aは、クライアントデバイス400AからのアプリX登録更新通知をNACKする。1345のNACKは、明示的NACK(たとえば、1340の送信が失敗したことを示す実際のメッセージがクライアントデバイス410Aから送られる)または暗黙的NACK(たとえば、クライアントデバイス410Aがしきい値時間期間内に1340の送信をACKしない)のいずれかとすることができる。したがって、クライアントデバイス410Aは、そのアプリX TTLタイマーをリセットせず、1350、クライアントデバイス400Aは、アプリX登録更新通知失敗をアプリケーションサーバに報告し、1355、したがってアプリケーションサーバは、クライアントデバイス410AのためのアプリX登録を更新せず、関連するアプリX満了タイマーをリセットしない、1360。
【００６０】
当業者には、情報および信号が、様々な異なる技術および技法のいずれを使用して表現されてもよいことが諒解されよう。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表される場合がある。
【００６１】
さらに、本明細書で開示する実施形態に関して説明した種々の例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェアまたは両方の組合せとして実装されてもよいことが、当業者には諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、上記では、種々の例示的な構成要素、ブロック、モジュール、回路、およびステップについて、全般的にそれらの機能に関して説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例およびシステム全体に課される設計制約によって決まる。当業者は、特定の適用例ごとに様々な方法で説明した機能を実装してもよいが、そのような実施態様の決定は、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００６２】
本明細書で開示した実施形態に関連して説明した、様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブルロジックデバイス、個別のゲート論理もしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明した機能を実施するように設計された、それらの任意の組合せを用いて実装されてもよく、実施されてもよい。汎用プロセッサはマイクロプロセッサであってよいが、代替として、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実現される場合もある。
【００６３】
本明細書で開示する実施形態に関して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェア内で直接具現化されてもよく、あるいはプロセッサにより実行されるソフトウェアモジュールにおいて具現化されてもよく、あるいはその2つの組合せにおいて具現化されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形の記憶媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替的に、記憶媒体は、プロセッサと一体であってもよい。プロセッサおよび記憶媒体は、ASICに存在する場合がある。ASICはユーザ端末(たとえば、UE)内に存在してもよい。代替として、プロセッサおよび記憶媒体は、ユーザ端末内の個別構成要素として存在する場合がある。
【００６４】
1つまたは複数の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装されてもよい。ソフトウェアに実装される場合、それらの機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信される場合がある。コンピュータ可読媒体は、コンピュータ記憶媒体と、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体の両方を含む。記憶媒体は、コンピュータがアクセスすることができるどんな利用可能な媒体であってもよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を含むことができる。また、任意の接続をコンピュータ可読媒体と呼ぶことは妥当である。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者線(DSL)、または、赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバケーブル、より対線、DSL、または、赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ディスク(disk)およびディスク(disc)は、本明細書で使用される場合、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびblu-rayディスクを含み、ディスク(disk)は、通常データを磁気的に再生し、ディスク(disc)は、レーザを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるものとする。
【００６５】
前述の開示は、本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって定められる本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行うことができることに留意されたい。本明細書で説明する本発明の実施形態による方法クレームの機能、ステップ、および/または、アクションは、任意の特定の順序で実行される必要はない。さらに、本発明の要素は、単数形で説明または請求される場合があるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
【符号の説明】
【００６６】
100  ワイヤレス通信システム
104  エアインターフェース
106  エアインターフェース
108  エアインターフェース
120  RAN
125  アクセスポイント
140  コアネットワーク
170  アプリケーションサーバ
175  インターネット
300A  UE
300B  UE
302  プラットフォーム
305A  アンテナ
305B  タッチスクリーンディスプレイ
306  トランシーバ
308  特定用途向け集積回路(ASIC)
310  アプリケーションプログラミングインターフェース(API)
310A  ディスプレイ
310B  周辺ボタン
312  メモリ
314  ローカルデータベース
315A  ボタン
315B  周辺ボタン
320A  キーパッド
320B  周辺ボタン
325B  周辺ボタン
330B  フロントパネルボタン
400A  クライアントデバイス
405A  クライアントアプリケーション
410A  クライアントデバイス
415A  クライアントアプリケーション
420A  クライアントデバイス
425A  クライアントアプリケーション
430A  クライアントデバイス
435A  クライアントアプリケーション
【図１】
0006704939.tif 000002
【図２】
0006704939.tif 000003
【図３】
0006704939.tif 000004
【図４】
0006704939.tif 000005
【図５】
0006704939.tif 000006
【図６】
0006704939.tif 000007
【図７】
0006704939.tif 000008
【図８】
0006704939.tif 000009
【図９】
0006704939.tif 000010
【図１０】
0006704939.tif 000011
【図１１】
0006704939.tif 000012
【図１２】
0006704939.tif 000013
【図１３】
0006704939.tif 000014