(57)【特許請求の範囲】
【請求項１】
プロキシサーバを運用する方法であって、
クライアントデバイスから初期のウェブリソースに対する要求を受信するステップと、
前記クライアントデバイスの要求に応じて、前記クライアントデバイスに代わって前記初期のウェブリソースを要求するステップと、
前記クライアントデバイスとの対話に依存せず、(i)前記初期のウェブリソースから代替ウェブリソースにリダイレクトする1つまたは複数のリダイレクトメッセージを受信するステップと、(ii)前記1つまたは複数のリダイレクトメッセージに基づいてサーバに前記代替ウェブリソースを要求するステップと、(iii)前記代替ウェブリソースに関連する前記サーバからウェブリソースコンテンツを受信するステップとを含むウェブリソースのリダイレクト手順を前記プロキシサーバで実行するステップと、
前記代替ウェブリソースに対する前記プロキシサーバの要求に応じて、前記代替ウェブリソースに対して前記サーバからリダイレクトクッキーを取得し、前記リダイレクトクッキーに基づくラップされたクッキーを生成し、前記クライアントデバイスのプロキシクライアントアプリケーションとモバイルウェブブラウザとの間で前記代替ウェブリソースの前記ウェブリソースのリダイレクト手順を前記クライアントデバイスでシミュレーションするための1組の命令とともに、前記クライアントデバイスの前記プロキシクライアントアプリケーションに前記ラップされたクッキーと前記ウェブリソースコンテンツを伝達するステップと
を含み、
前記ウェブリソースのリダイレクト手順をシミュレーションするための前記1組の命令は、前記プロキシクライアントアプリケーションが、前記初期のウェブリソースの所与のクッキーとして前記モバイルウェブブラウザに前記ラップされたクッキーを供給するように指示するように構成される、
方法。
【請求項２】
前記初期のウェブリソースは、ウェブページであるか、または
前記初期のウェブリソースは、1組の1つまたは複数のネットワークアドレス指定可能な要素またはオブジェクトである、
請求項1に記載の方法。
【請求項３】
前記クライアントデバイスから前記初期のウェブリソースに対する補足的な要求を受信するステップであって、前記補足的な要求は前記ラップされたクッキーを含むステップと、
前記代替ウェブリソースに対する前記取得されたクッキーに対応するラップを解除されたクッキーを生成するために、前記ラップされたクッキーのラップを解除するステップと、
前記クライアントデバイスの補足的な要求に応じて、前記クライアントデバイスに代わって前記初期のウェブリソースを要求するステップと、
前記クライアントデバイスとの対話に依存せず、(i)前記初期のウェブリソースから前記代替ウェブリソースにリダイレクトする1つまたは複数の補足的なリダイレクトメッセージを受信するステップと、(ii)前記1つまたは複数の補足的なリダイレクトメッセージに基づいて前記サーバに前記代替ウェブリソースを要求するステップであって、前記代替ウェブリソースに対する前記プロキシサーバの要求は、前記ラップを解除されたクッキーを含むように構成されたステップと、(iii)前記代替ウェブリソースに関連する前記サーバから補足的なウェブリソースコンテンツを受信するステップとを含む前記プロキシサーバでの補足的なウェブリソースのリダイレクト手順を実行するステップと、
前記プロキシクライアントアプリケーションと前記モバイルウェブブラウザとの間で、前記補足的なウェブリソースのリダイレクト手順を前記クライアントデバイスでシミュレーションするための補足的な命令とともに、前記クライアントデバイスの前記プロキシクライアントアプリケーションに前記代替ウェブリソースに関連する前記補足的なウェブリソースコンテンツを伝達するステップと
をさらに含む請求項1に記載の方法。
【請求項４】
前記伝達は、前記クライアントデバイスでの前記シミュレーションされたウェブリソースのリダイレクト手順の間に、前記初期のウェブリソースの所与のクッキーとして使用されるラップされたクッキーに関連する前記命令を伝達する、請求項1に記載の方法。
【請求項５】
前記クライアントデバイスから前記初期のウェブリソースに対する補足的な要求を受信するステップであって、前記補足的な要求は前記ラップされたクッキーを含むステップと、
前記ウェブリソースのリダイレクト手順の間に、前記代替ウェブリソースに対する前記プロキシサーバによって受信されたリダイレクトクッキーを生成するために、前記ラップされたクッキーのラップを解除するステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
補足的なウェブリソースのリダイレクト手順に関連する前記代替ウェブリソースを要求するために、前記サーバに前記リダイレクトクッキーを供給するステップをさらに含む請求項5に記載の方法。
【請求項７】
プロキシクライアントアプリケーションを実行するように構成されたクライアントデバイスを運用する方法であって、
プロキシサーバに初期のウェブリソースに対する要求を送信するステップと、
前記送信された要求に応じて前記プロキシサーバから、(i)前記初期のウェブリソースと異なる代替ウェブリソースに関連するウェブリソースコンテンツと、(ii)前記プロキシサーバで発生した前記代替ウェブリソースのウェブリソースのリダイレクト手順をシミュレーションするための1組の命令と、(iii)前記プロキシサーバで発生した前記代替ウェブリソースの前記ウェブリソースのリダイレクト手順の間に前記プロキシサーバで受信された前記代替ウェブリソースに対するリダイレクトクッキーに基づくラップされたクッキーとを含むデータを受信するステップと、
(i)前記初期のウェブリソースの所与のクッキーとして前記ラップされたクッキーを識別し前記初期のウェブリソースから前記代替ウェブリソースにモバイルウェブブラウザをリダイレクトする前記クライアントデバイスの前記モバイルウェブブラウザに1つまたは複数のリダイレクトメッセージを送信するステップと、(ii)前記1つまたは複数のリダイレクトメッセージに応じて前記モバイルウェブブラウザから前記代替ウェブリソースに対する要求を受信するステップと、(iii)前記モバイルウェブブラウザからの前記受信された要求に応じて、前記送信された要求に応じて、前記プロキシサーバから前記プロキシクライアントアプリケーションによって受信された前記代替ウェブリソースに関連する前記ウェブリソースコンテンツを伝達するステップとによって、前記1組の命令に応じて前記プロキシサーバで発生した前記代替ウェブリソースの前記ウェブリソースのリダイレクト手順をシミュレーションするステップと
を含む方法。
【請求項８】
前記初期のウェブリソースは、ウェブページであるか、または
前記初期のウェブリソースは、1組の1つまたは複数のネットワークアドレス指定可能な要素またはオブジェクトである
請求項7に記載の方法。
【請求項９】
前記1つまたは複数のリダイレクトメッセージは、前記初期のウェブリソースから前記代替ウェブリソースに直接的にリダイレクトする単一のリダイレクトメッセージを含むか、または、
前記1つまたは複数のリダイレクトメッセージは、前記初期のウェブリソースから前記代替ウェブリソースに累積的にリダイレクトするように機能する複数のリダイレクトメッセージを含む
請求項7に記載の方法。
【請求項１０】
前記プロキシサーバに前記初期のウェブリソースに対する補足的な要求を送信するステップであって、前記送信された補足的な要求は、前記ラップされたクッキーを含むステップをさらに含む請求項7に記載の方法。
【請求項１１】
前記ラップされたクッキーは、リダイレクトクッキーの前記プロキシサーバによる再構成を許可するように構成される請求項7に記載の方法。
【請求項１２】
請求項1乃至6の何れか1項に記載の方法を実施するように構成された手段を備えた、プロキシサーバ。
【請求項１３】
請求項7乃至11の何れか1項に記載の方法を実施するように構成された手段を備えた、プロキシクライアントアプリケーションを実行するように構成されたクライアントデバイス。
【請求項１４】
請求項1乃至6の何れか1項に記載の方法を実施するように構成された命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項１５】
請求項7乃至11の何れか1項に記載の方法を実施するように構成された命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項１６】
代替ウェブリソースに直接的にリダイレクトする単一のリダイレクトメッセージを含むか、または、
前記1つまたは複数のリダイレクトメッセージは、前記初期のウェブリソースから前記
代替ウェブリソースに累積的にリダイレクトするように機能する複数のリダイレクトメッ
セージを含む、
請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第119条に基づく優先権の主張
本特許出願は、その譲受人に譲渡され、その全体が参照によって本明細書に明示的に組み込まれている、対象の出願と同じ発明者らによって2012年12月13日に出願した仮出願第61/736,981号「LOADING A RE-DIRECTED WEB PAGE ON A WEB BROWSER OF A CLIENT DEVICE IN A COMMUNICATIONS SYSTEM」の優先権を主張するものである。
【０００２】
本発明の実施形態は、通信システムにおいてクライアントデバイスのウェブブラウザでリダイレクトされたウェブリソースを読み込むことに関する。
【背景技術】
【０００３】
ワイヤレス通信システムは、第1世代のアナログワイヤレス電話サービス(1G)、第2世代(2G)のデジタルワイヤレス電話サービス(中間的な2.5Gおよび2.75Gネットワークを含む)、および第3世代(3G)の高速データを含む、様々な世代を通じて、インターネット対応のワイヤレスサービスを発展させてきた。セルラーシステムおよびパーソナル通信サービス(PCS:Personal Communications Service)システムを含めて、現在、多くの異なるタイプのワイヤレス通信システムが使用されている。既知のセルラーシステムの例としては、セルラーアナログ先進モバイル電話システム(AMPS:cellular Analog Advanced Mobile Phone System)、ならびに符号分割多元接続(CDMA)、周波数分割多元接続(FDMA)、時分割多元接続(TDMA)、TDMAのグローバルシステムフォーモバイルアクセス(GSM)の変形形態、およびTDMA技術とCDMA技術の両方を使用する、より新しいハイブリッドデジタル通信システムに基づくデジタルセルラーシステムが挙げられる。
【０００４】
上記の通信システムまたは他のタイプのアクセスネットワーク(たとえばWiFiなど)を使用するクライアントデバイス(たとえばセル式電話などのモバイルデバイス)が、インターネットを介して1つまたは複数のウェブサーバからウェブページを読み込むウェブブラウジングアプリケーションを実行するのは典型である。ウェブページの初期の読み込みでは、典型的には、所与のクライアントデバイスにウェブページを読み込むことができる前に、所与のクライアントデバイスだけでなく、ウェブページを提供するウェブサーバでの処理が必要である(たとえばDNS解決、ウェブページのリダイレクトなど)。ウェブページのリダイレクトの場合には、所与のクライアントデバイスは、典型的には、ウェブサーバから初期のウェブページを要求し、ウェブサーバからリダイレクトコマンドを受信し、次いで、その後、リダイレクトコマンドに基づいて別のウェブページを要求する。ウェブページに対して2つの個別の要求が発行されるので(つまり初期の要求および次いでリダイレクト要求)、このウェブページのリダイレクト手順は、ウェブページの読み込みを遅らせ、また、追加のリソースを消費する。
【発明の概要】
【課題を解決するための手段】
【０００５】
一実施形態では、クライアントデバイスは、プロキシサーバに初期のウェブリソースに対する要求を送信する。プロキシサーバは、クライアントデバイスの要求に応じて、クライアントデバイスに代わって初期のウェブリソースを要求する。次いで、プロキシサーバは、クライアントデバイスとの対話に依存しない(1つまたは複数のリダイレクトを含む)ウェブリソースのリダイレクト手順を実行し、プロキシサーバは、ウェブリソースコンテンツを取得する結果となる。プロキシサーバは、クライアントデバイスのプロキシクライアントアプリケーションとモバイルウェブブラウザとの間のウェブリソースのリダイレクト手順をクライアントデバイスでシミュレーションするための命令とともに、クライアントデバイスのプロキシクライアントアプリケーションにウェブリソースコンテンツを送る。次いで、クライアントデバイスのプロキシクライアントアプリケーションは、指示されたようにプロキシサーバで発生したウェブリソースのリダイレクト手順をシミュレーションする。
【０００６】
本発明の実施形態のより完全な認識およびそれに付随する利点の多くは、本発明を制限することではなく説明のみを目的として提示される添付の図面に関して考慮されたときに、以下の詳細な記述を参照することによって、それをより理解されることで容易に得られるであろう。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態によるワイヤレス通信システムの高レベルのシステムアーキテクチャを示す図である。
【図２Ａ】本発明の実施形態によるクライアントサーバアーキテクチャを示す図である。
【図２Ｂ】本発明の別の実施形態によるクライアントサーバアーキテクチャを示す図である。
【図３】本発明の実施形態によるユーザ機器(UE)の例を示す図である。
【図４Ａ】本発明の実施形態による機能を実行するように構成されたロジックを含む通信デバイスを示す図である。
【図４Ｂ】本開示の様々な態様に従った代表的なサーバを示す図である。
【図５】クライアントデバイスのモバイルウェブブラウザを介してウェブページを読み込む従来のプロセスを示す図である。
【図６】クライアントデバイスのモバイルブラウザを介してウェブページを読み込む従来のプロセスを示す図であり、HTTPプロキシサーバは、要求されたウェブページの代わりにモバイルデバイスにリダイレクトウェブページを返す。
【図７Ａ】本発明の実施形態によるウェブページに対するプロキシリダイレクト手順を示す図である。
【図７Ｂ】本発明の実施形態によるウェブリソースに対するプロキシリダイレクト手順を示す図である。
【図８】2度目にウェブページを読み込むプロセスの間の図5のプロセスの続きを示す図である。
【図９Ａ】本発明の実施形態による図7Aのプロセスの続きを示す図である。
【図９Ｂ】本発明の実施形態による図7Bのプロセスの続きを示す図である。
【図１０】本発明の実施形態により、代替ウェブページの2度目(またはその後)の読み込みのために、リダイレクト手順の間に、プロキシサーバが代替ウェブページまたはリダイレクトウェブページのクッキーを取得することを許可する図7Aのプロセスの修正された実装を示す図である。
【図１１】本発明の実施形態により、代替ウェブページの2度目(またはその後)の読み込みのために、リダイレクト手順の間に、プロキシサーバが代替ウェブページまたはリダイレクトウェブページのクッキーを取得することを許可する図9Aのプロセスの修正された実装を示す図である。
【図１２】本発明の実施形態により、代替ウェブリソースの2度目(またはその後)の読み込みのために、リダイレクト手順の間に、プロキシサーバが代替ウェブリソースまたはリダイレクトウェブリソースのクッキーを取得することを許可する図7Bのプロセスの修正された実装を示す図である。
【図１３】本発明の実施形態により、代替ウェブリソースの2度目(またはその後)の読み込みのために、リダイレクト手順の間に、プロキシサーバが代替ウェブリソースまたはリダイレクトウェブリソースのクッキーを取得することを許可する図9Bのプロセスの修正された実装を示す図である。
【発明を実施するための形態】
【０００８】
本発明の態様について、本発明の特定の実施形態に導く以下の記述および関連する図で開示している。本発明の範囲から逸脱することなく、代替実施形態を考案することができる。さらに、本発明のよく知られている要素については、本発明の関連する詳細を不明瞭にしないために、詳細には記述されないか、または省略される。
【０００９】
本明細書において、「代表的(exemplary)」および/または「例示的(example)」という言葉は、「実施例、事例、または実例として機能する」ことを意味するために使用される。本明細書において、「代表的(exemplary)」および/または「例示的(example)」と記述した実施形態は、必ずしも他の実施形態より好ましかったり、または有利だったりするものと解釈されるべきではない。同様に、「本発明の実施形態」という言葉は、本発明のすべての実施形態が、記述された機能、利点、または動作モードを含むことを必要としない。
【００１０】
さらに、多くの実施形態について、たとえばコンピューティングデバイスの要素によって実行される連続する動作に関して記述する。本明細書に記述した様々な動作は、特定の回路によって(たとえば、特定用途向け集積回路(ASIC))、1つまたは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実行できることを認識されるであろう。さらに、本明細書に記述したこれら一連の動作は、実行時に、関連するプロセッサに本明細書に記述した機能を実行させるコンピュータ命令の対応する組をそこに格納したコンピュータ可読記憶媒体の任意の形態に完全に具体化されるものと考えることができる。したがって、本発明の様々な態様は、多数の異なる形態で具体化することができ、そのすべては、請求された主題の範囲内にあるものと考えられている。さらに、本明細書に記述した実施形態のそれぞれについて、そのような実施形態の対応する形態は、本明細書において、たとえば、記述された動作を実行する「ように構成されたロジック」として記述する場合がある。
【００１１】
本明細書においてユーザ機器(UE)と呼ばれるクライアントデバイスは、モバイル型または静止型の場合があり、無線アクセスネットワーク(RAN:radio access network)と通信することができる。本明細書で使用する場合、用語「UE」は、「アクセス端末」または「AT」、「ワイヤレスデバイス」、「加入者デバイス」、「加入者端末」、「加入者局」、「ユーザ端末」またはUT、「モバイル端末」、「移動局」およびそれらの変形形態と区別なく参照することができる。一般的に、UEは、RANを介してコアネットワークで通信することができ、コアネットワークを通じて、UEは、インターネットなど外部ネットワークと接続することができる。もちろん、有線アクセスネットワーク、(たとえば、IEEE802.11に基づく)WiFiネットワークなどを通じてなど、コアネットワークおよび/またはインターネットに接続する他のメカニズムもまたUEにとって可能である。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は、エアインターフェース104、106、108、および/または直接的な有線接続として図1に示されている、物理的な通信用インターフェースまたはレイヤを通じて、アクセスネットワーク(たとえばRAN120、アクセスポイント125など)と通信するように構成されている。エアインターフェース104および106は、所与のセルラー通信プロトコル(たとえばCDMA、EVDO、eHRPD、GSM（登録商標）、EDGE、W-CDMA、LTEなど)に準拠することができる一方、エアインターフェース108は、ワイヤレスIPプロトコル(たとえばIEEE802.11)に準拠することができる。RAN120は、エアインターフェース104および106など、エアインターフェースを通じてUEにサービスを提供する複数のアクセスポイントを含む。RAN120のアクセスポイントは、アクセスノードまたはAN、アクセスポイントまたはAP、基地局またはBS、ノードB、eNodeBなどと呼ぶことができる。これらのアクセスポイントは、地上アクセスポイント(または地上局)、または衛星アクセスポイントとされ得る。RAN120は、RAN120によってサービスを提供されるUEと、RAN120または異なるRANによって完全にサービスを提供される他のUEとの間で回線交換型(CS)のコールをブリッジするなど、様々な機能を実行できるコアネットワーク140に接続するように構成され、また、インターネット175など外部ネットワークとパケット交換型(PS)のデータの交換を調停することができる。インターネット175は、多数のルーティングエージェントおよび処理エージェントを含む(便宜上、図1に図示せず)。図1において、UE Nは、インターネット175に直接的に接続するものとして示されている(つまり、WiFiのイーサネット（登録商標）接続または802.11ベースのネットワークを通じてなど、コアネットワーク140から離れている)。インターネット175は、それによって、コアネットワーク140を介してUE NとUE1…Nとの間のパケット交換型データ通信をブリッジするように機能することができる。また、図1に、RAN120から離れたアクセスポイント125を示している。アクセスポイント125は、コアネットワーク140に関係なくインターネット175接続することができる(たとえば、FiOS、ケーブルモデムなどの光通信システムを介して)。エアインターフェース108は、一例ではIEEE802.11など、ローカルワイヤレス接続を通じて、UE4またはUE5にサービスを提供することができる。UE Nは、一例ではアクセスポイント125自体に対応する場合がある、モデムまたはルータへの直接接続など、インターネット175への有線接続を持つデスクトップ型コンピュータとして示されている(たとえば、有線および無線の接続を持つWiFiルータについて)。
【００１４】
図1を参照すると、サーバ170は、インターネット175、コアネットワーク140、または両方に接続されているものと示されている。サーバ170は、複数の構造的に個別のサーバとして実装することができるか、またはあるいは単一のサーバに対応することができる。より詳細には以下に記述するように、コアネットワーク140および/またはインターネット175を介して、サーバ170は、サーバ170に接続できるUEについて、(たとえばボイスオーバーインターネットプロトコル(VoIP)セッション、プッシュツートーク(PTT)セッション、グループ通信セッション、ソーシャルネットワーキングサービスなど)1つまたは複数の通信サービスをサポートするように、および/またはUEにコンテンツを提供するように(たとえばウェブページダウンロード)構成される。
【００１５】
図2Aは、本発明の実施形態によるクライアントサーバアーキテクチャを示す図である。図2Aを参照すると、クライアントデバイス200(たとえばUE)は、複数のモバイルアプリケーション1…Nおよびトランスポートレイヤ205を含む。トランスポートレイヤ205は、モバイルアプリケーション1…Nからのデータをアクセスネットワーク220(たとえばRAN120、AP125など)に送信するためにパケットへと変換し、かつ/またはモバイルアプリケーション1…Nの1つなど、上位レイヤに送るためにアクセスネットワーク220からパケットを受信するように構成される。トランスポートレイヤ205は、従来の伝送制御プロトコル(TCP)/インターネットプロトコル(IP)レイヤまたはスタック210を含む。当技術分野で既知のように、データは、モバイルアプリケーション1…NのいずれかによってTCP/IPスタック210に転送することができ、次いで、クライアントデバイス200によって、指定されたターゲットサーバ(たとえばFacebookサーバ、Netflixサーバなど)に送信するためにキューに入れられるデータパケットに変換することができ、クライアントデバイス200の入力データパケットは、モバイルアプリケーション1…Nの1つなど、上位レイヤに送るためにTCP/IPスタック210で処理することができる。トランスポートレイヤ205は、以下にデバイスのプロキシ(POD:proxy on device)215と呼ぶ、クライアントアプリケーションのマネージャアプリケーション215をさらに含む。より詳細には以下に記述するように、POD215は、少なくともモバイルウェブブラウジングアプリケーションを含む、モバイルアプリケーション1…Nの1つまたは複数とインターフェースをとるように構成される。POD215の機能の1つは、以下にモバイル最適化データ(MOD:Mobile Optimized Data)サーバ225と呼ばれる、外部プロキシサーバ225との調整を介して、モバイルウェブブラウジングアプリケーションに代わって、専門化されたリダイレクト処理手順を実行することである。
【００１６】
図2Aでは、POD215は、クライアントデバイス200に存在する各モバイルアプリケーションおよび/またはモバイルアプリケーション1…Nに対するネットワークアクセスの各インスタンスと必ずしも対話しない。そのため、図2Aに示す例では、アプリケーション1に対して、クライアントデバイス200とアクセスネットワーク220との間で交換されるデータは、TCP/IPスタック210によって処理される一方、アプリケーション2…N対して、クライアントデバイスとアクセスネットワーク220との間で交換されるデータ(たとえばウェブページ要求の送信、ウェブページに対するリダイレクトコマンドの受信など)は、TCP/IPスタック210の代わりにPOD215によって処理される。
【００１７】
さらに、図2Aに示しているのはアクセスネットワーク220であり、これは、RAN120、AP125、ワイヤードイーサネット（登録商標）ルータまたはモデム(図示せず)などに対応することができる。アクセスネットワーク220の構造的な構成要素(たとえばノードBなど)は、図2Aには詳細に示していないが、アクセスネットワーク220は、MOD225を含むものとして示している。アクセスネットワーク220は、次に、インターネット175に接続されて、ここで、アプリケーションサーバ170A〜170Bおよびウェブサーバ170C〜170Dなど、様々なサーバにアクセスされ得る。MOD225は、限定しないが、クライアントデバイス200のサービスを提供するノードB(または基地局もしくはeNodeB)、RNC(またはBSC)などを含む、アクセスネットワーク220の異なるネットワークの場所で実装することができる。より詳細には以下に記述するように、MOD225は、クライアントデバイス200のPOD215とインターフェースをとり、そこで実行される1つまたは複数のモバイルアプリケーションに代わって、クライアントデバイス200とデータパケットを交換することを担当する。MOD225は、また、(リダイレクト前に)初期のウェブページに対する要求を発行したクライアントデバイス220にリダイレクトコマンドを転送し返すことなく、ターゲットウェブサーバからのリダイレクトコマンドに応答するなど、クライアントデバイス200のモバイルウェブブラウジングアプリケーションに代わって、ウェブページのリダイレクトに関連する動作を実行することができる。クライアントデバイス200で実行するモバイルウェブブラウジングアプリケーションとウェブページコンテンツを提供するターゲットウェブサーバの両方の観点から、POD215およびMOD225の動作は透過的であるため、専門化されたMOD-POD手順は、モバイルウェブブラウジングアプリケーションおよび/またはターゲットウェブサーバの標準的な動作への修正を必ずしも必要としない。
【００１８】
図2Bは、本発明の別の実施形態によるクライアントサーバアーキテクチャを示す図である。図2Bは、MOD225が、たとえば、インターネット175を介して到達可能なインターネットの宛先として、アクセスネットワーク220の外部に位置するという点を除いて、図2Aに似ている。図2Bは、他の点では図2Aに似ており、簡潔さのためにこれ以上は記述しない。
【００１９】
図3は、本発明の実施形態によるUE(つまりクライアントデバイス)の例を示している。図3を参照すると、UE300Aは、呼出し電話として示されており、UE300Bは、タッチスクリーンデバイスとして示されている(たとえばスマートフォン、タブレットコンピュータなど)。図3に示すように、UE300Aの外部ケーシングは、当技術分野で既知のように、他の構成要素の中でもアンテナ305A、ディスプレイ310A、少なくとも1つのボタン315A(たとえばPTTボタン、電源ボタン、音量調節ボタンなど)、およびキーパッド320Aで構成されている。また、UE300Bの外部ケーシングは、当技術分野で既知のように、他の構成要素の中でも、タッチスクリーンディスプレイ305B、周辺のボタン310B、315B、320B、および325B(たとえばパワー制御ボタン、音量または振動制御ボタン、飛行機モードトグルボタンなど)、少なくとも1つのフロントパネルボタン330B(たとえばホームボタンなど)で構成されている。UE300Bの一部として明示的に示していないが、UE300Bは、限定しないが、WiFiアンテナ、セルラーアンテナ、衛星測位システム(SPS)アンテナ(たとえば全地球測位システム(GPS)アンテナ)などを含む、1つまたは複数の外付けアンテナおよび/またはUE300Bの外部ケーシングに組み込まれた1つまたは複数の統合アンテナを含むことができる。
【００２０】
UE300Aおよび300BなどUEの内部コンポーネントは、異なるハードウェア構成で具体化することができるが、内部ハードウェア構成要素のための基本的な高レベルのUE構成は、図3のプラットフォーム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つの個別の構成要素に組み込むことができる。したがって、図3のUE300Aおよび300Bの機能は、単に説明のためと考えるべきであり、本発明は、図示する機能または構成物に制限されるものではない。
【００２２】
UE300Aおよび/または300BとRAN120との間のワイヤレス通信は、CDMA、W-CDMA、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多重(OFDM)、GSM（登録商標）、またはワイヤレス通信ネットワークもしくはデータ通信ネットワークで使用できる他のプロトコルなど、異なる技術に基づくことができる。すでに記述し当技術分野で知られているように、音声送信および/またはデータは、様々なネットワークおよび構成を使用して、RANからUEに送信することができる。したがって、本明細書で提供する具体例は、本発明の実施形態を制限することを意図するものではなく、本発明の実施形態の態様の記述を単に支援するためのものである。
【００２３】
図4Aは、機能を実行するように構成されたロジックを含む通信デバイス400を示している。通信デバイス400は、限定しないが、UE300Aもしくは300B、RAN120の任意の構成要素、コアネットワーク140の任意の構成要素、コアネットワーク140に結合された任意の構成要素、および/またはインターネット175(たとえばサーバ170)などを含む、上記の通信デバイスのいずれかに対応することができる。したがって、通信デバイス400は、図1のワイヤレス通信システム100を通じて、1つまたは複数の他のエンティティと通信(または通信を促進)するように構成されている任意の電子デバイスに対応することができる。
【００２４】
図4Aを参照すると、通信デバイス400は、情報を受信および/または送信するように構成されたロジック405を含む。一実施例では、通信デバイス400がワイヤレス通信デバイス(たとえばUE300Aまたは300B、AP125、BS、RAN120のノードBまたはeNodeBなど)に対応する場合、情報を受信および/または送信するように構成されたロジック405は、無線トランシーバおよび関連するハードウェアなど(たとえばRFアンテナ、モデム、変調器、および/または復調器など)、ワイヤレス通信インターフェース(たとえばBluetooth（登録商標）、WiFi、2G、CDMA、W-CDMA、3G、4G、LTEなど)を含むことができる。別の例では、情報を受信および/または送信するように構成されたロジック405は、有線通信インターフェース(たとえば、シリアル接続、USBまたはFirewire接続、インターネット175にアクセスできるイーサネット（登録商標）接続など)に対応することができる。したがって、通信デバイス400が一部のタイプのネットワークベースのサーバ(たとえばサーバ170など)に対応する場合、情報を受信および/または送信するように構成されたロジック405は、一実施例では、イーサネット（登録商標）プロトコルを介して、他の通信エンティティにネットワークベースのサーバを接続するイーサネット（登録商標）カードに対応することができる。他の例では、情報を受信および/または送信するように構成されたロジック405は、通信デバイス400がそのローカル環境を監視できる、感覚ハードウェアまたは計測ハードウェアを含むことができる(たとえば、加速度計、温度センサー、光センサー、ローカルRFシグナルを監視するためのアンテナなど)。情報を受信および/または送信するように構成されたロジック405は、また、実行されたときに、情報を受信および/または送信するように構成されたロジック405の関連するハードウェアが、その受信および/または送信の機能を実行することを許可するソフトウェアを含むことができる。しかしながら、情報を受信および/または送信するように構成されたロジック405は、ソフトウェアのみには対応せず、情報を受信および/または送信するように構成されたロジック405は、その機能を達成するためにハードウェアに少なくとも部分的に依存している。
【００２５】
図4Aを参照すると、通信デバイス400は、情報を処理するように構成されたロジック410をさらに含む。一実施例では、情報を処理するように構成されたロジック410は、少なくともプロセッサを含むことができる。情報を処理するように構成されたロジック410によって実行できる処理のタイプの例示的な実装は、限定しないが、決定を実行するステップと、接続を確立するステップと、異なる情報オプション間で選択するステップと、データに関係する評価を実行するステップと、測定操作を実行するために通信デバイス400に結合されたセンサーと対話するステップと、情報をある形式から別の形式に変換するステップと(たとえば.wmvから.aviなど異なるプロトコル間で)などを含む。たとえば、情報を処理するように構成されたロジック410に含まれるプロセッサは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、ASIC、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブルロジックデバイス、個別のゲートもしくはトランジスタロジック、個別のハードウェアコンポーネント、または本明細書に記述した機能を実行するために設計されたそれらの任意の組合せに対応することができる。汎用プロセッサは、マイクロプロセッサでもよいが、代替案では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンでもよい。また、プロセッサは、たとえば、DSPおよびマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアに関連する1つまたは複数のマイクロプロセッサ、または他のそのような構成の組合せなど、コンピューティングデバイスの組合せとして実装することができる。情報を処理するように構成されたロジック410は、また、実行されたときに、情報を処理するように構成されたロジック410の関連するハードウェアが、その処理機能を実行することを許可するソフトウェアを含むことができる。しかしながら、情報を処理するように構成されたロジック410は、ソフトウェアのみには対応せず、情報を処理するように構成されたロジック410は、その機能を達成するためにハードウェアに少なくとも部分的に依存している。
【００２６】
図4Aを参照すると、通信デバイス400は、情報を格納するように構成されたロジック415をさらに含む。一実施例では、情報を格納するように構成されたロジック415は、少なくとも非一時的メモリおよび関連するハードウェア(たとえばメモリコントローラなど)を含むことができる。たとえば、情報を格納するように構成されたロジック415に含まれる非一時的メモリは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で既知の他の形態の記憶媒体に対応することができる。情報を格納するように構成されたロジック415は、また、実行されたときに、情報を格納するように構成されたロジック415の関連するハードウェアが、その格納機能を実行することを許可するソフトウェアを含むことができる。しかしながら、情報を格納するように構成されたロジック415は、ソフトウェアのみには対応せず、情報を格納するように構成されたロジック415は、その機能を達成するためにハードウェアに少なくとも部分的に依存している。
【００２７】
図4Aを参照すると、通信デバイス400は、オプションとして、情報を提示するように構成されたロジック420をさらに含む。一実施例では、情報を提示するように構成されたロジック420は、少なくとも出力デバイスおよび関連するハードウェアを含むことができる。たとえば、出力デバイスは、ビデオ出力デバイス(たとえば表示画面、USB、HDMI（登録商標）などビデオ情報を運ぶことができるポート)、音声出力デバイス(たとえばスピーカ、マイクロフォン端子、USB、HDMI（登録商標）などオーディオ情報を運ぶことができるポート)、振動デバイスおよび/または情報を出力用に整形できるか、または通信デバイス400のユーザまたは事業者によって実際に出力できる他のデバイスを含むことができる。たとえば、通信デバイス400が、図3に示すようにUE300AまたはUE300Bに対応する場合、情報を提示するように構成されたロジック420は、UE300Aのディスプレイ310AまたはUE300Bのタッチスクリーンディスプレイ305Bを含むことができる。他の例では、情報を提示するように構成されたロジック420は、ローカルユーザがいないネットワーク通信デバイスなど、特定の通信デバイスに対して省略することができる(たとえば、ネットワークスイッチまたはルータ、サーバ170などのリモートサーバなど)。情報を提示するように構成されたロジック420は、また、実行されたときに、情報を提示するように構成されたロジック420の関連するハードウェアが、その提示機能を実行することを許可するソフトウェアを含むことができる。しかしながら、情報を提示するように構成されたロジック420は、ソフトウェアのみには対応せず、情報を提示するように構成されたロジック420は、その機能を達成するためにハードウェアに少なくとも部分的に依存している。
【００２８】
図4Aを参照すると、通信デバイス400は、オプションとして、ローカルユーザ入力を受信するように構成されたロジック425をさらに含む。一実施例では、ローカルユーザ入力を受信するように構成されたロジック425は、少なくともユーザ入力デバイスおよび関連するハードウェアを含むことができる。たとえば、ユーザ入力デバイスは、ボタン、タッチスクリーンディスプレイ、キーボード、カメラ、オーディオ入力デバイス(たとえば、マイクロフォン端子などオーディオ情報を運ぶことができるマイクロフォンまたはポート)、および/または通信デバイス400のユーザまたは事業者から情報を受信できる他のデバイスを含むことができる。たとえば、通信デバイス400が、図3に示すようにUE300AまたはUE300Bに対応する場合、ローカルユーザ入力を受信するように構成されたロジック425は、キーパッド320A、ボタン315Aまたは310Bから325Bのいずれか、タッチスクリーンディスプレイ305Bなどを含むことができる。他の例では、ローカルユーザ入力を受信するように構成されたロジック425は、ローカルユーザがないネットワーク通信デバイスなど、特定の通信デバイスに対して省略することができる(たとえば、ネットワークスイッチまたはルータ、サーバ170などリモートサーバなど)。ローカルユーザ入力を受信するように構成されたロジック425は、また、実行されたときに、ローカルユーザ入力を受信するように構成されたロジック425の関連するハードウェアが、その入力受信機能を実行することを許可するソフトウェアを含むことができる。しかしながら、ローカルユーザ入力を受信するように構成されたロジック425は、ソフトウェアのみには対応せず、ローカルユーザ入力を受信するように構成されたロジック425は、その機能を達成するためにハードウェアに少なくとも部分的に依存している。
【００２９】
図4Aを参照すると、405から425の構成されたロジックは、図4Aに個別または別個のブロックとして示されているが、それぞれの構成されたロジックがその機能を実行するハードウェアおよび/またはソフトウェアは、部分的に重複する場合があることを理解されるであろう。たとえば、405から425の構成されたロジックの機能を促進するために使用されるソフトウェアは、情報を格納するように構成されたロジック415に関連する非一時的メモリに格納できるため、405から425の構成されたロジックはそれぞれ、情報を格納するように構成されたロジック415によって格納されたソフトウェアの動作に部分的に基づいて、それらの機能(つまりこの場合ソフトウェア実行)を実行する。同様に、構成されたロジックの1つと直接に関連するハードウェアは、ときには他の構成されたロジックによって借りるか、または使用することができる。たとえば、情報を処理するように構成されたロジック410のプロセッサは、情報を受信および/または送信するように構成されたロジック405によって送信される前に、適切な形式へとデータを整形できるため、情報を受信および/または送信するように構成されたロジック405は、情報を処理するように構成されたロジック410に関連するハードウェア(つまりプロセッサ)の動作に部分的に基づいて、その機能(つまりこの場合データの送信)を実行する。
【００３０】
様々な実施形態は、図4Bに示すサーバ400Bなど、様々な市販のサーバデバイスに実装することができる。一実施例では、サーバ400Bは、上記のIoTサーバ170の1つの例示的な構成に対応することができる。図4Bでは、サーバ400Bは、揮発性メモリ402Bに結合されたプロセッサ401B、およびディスクドライブ403Bなど大容量の不揮発性メモリを含む。サーバ400Bは、また、プロセッサ401Bに結合されたフロッピー（登録商標）ディスクドライブ、コンパクトディスク(CD)、またはDVDディスクドライブ406Bを含む。サーバ400Bは、また、他のブロードキャストシステムコンピュータおよびサーバまたはインターネットに結合されたローカルエリアネットワークなど、ネットワーク407Bとのデータ接続を確立するためにプロセッサ401Bに結合されたネットワークアクセスポート404Bを含むことができる。図4Aの状況において、図4Bのサーバ400Bは、通信デバイス400の1つの例示的な実装を示し、それによって、情報を送信および/または受信するように構成されたロジック405は、ネットワーク407Bと通信するためにサーバ400Bによって使用されるネットワークアクセスポイント404Bに対応し、情報を処理するように構成されたロジック410は、プロセッサ401Bに対応し、情報を格納するように構成されたロジック415は、揮発性メモリ402B、ディスクドライブ403B、および/またはディスクドライブ406Bの任意の組合せに対応することを理解されるであろう。情報を提示するように構成されたオプションのロジック420、およびローカルユーザ入力を受信するように構成されたオプションのロジック425は、図4Bには明示的に示しておらず、そこに含まれていても含まれていなくてもよい。したがって、図4Bは、図4Aの通信デバイス400がサーバとして実装できることを実証するのを支援する。
【００３１】
一般的に、明示的に記述していない限り、本開示の全体で使用する「ように構成されたロジック」という言葉は、少なくとも部分的にハードウェアで実装された実施形態について述べることを意図するものであり、ハードウェアに依存しないソフトウェアのみの実装に対応付けることを意図するものではない。また、様々なブロックにおける構成されたロジックまたは「ように構成されたロジック」は、特定の論理ゲートまたは要素に制限されるものではないが、一般的に、(ハードウェアまたはハードウェアおよびソフトウェアの組合せのいずれかを介して)本明細書に記述した機能を実行する能力を表していることを理解されるであろう。したがって、様々なブロックに示した構成されたロジックまたは「ように構成されたロジック」は、「ロジック」という単語を共有しているが、論理ゲート(logic gate)または論理要素(logic element)として必ずしも実装されない。様々なブロックのロジック間の他の対話または協調は、より詳細には以下に記述する実施形態を評価することで、当業者には明瞭になるであろう。
【００３２】
図5は、クライアントデバイスのモバイルウェブブラウザを介してウェブページを読み込む従来のプロセスを示す図である。図5を参照すると、モバイルウェブブラウザは、500で所与のウェブページを取得することを決定する。説明の便宜上、図5では、HTTPプロキシサーバが、クライアントデバイスと所与のウェブページをホストするターゲットサーバとの間の対話を調停しているように示しており、図5において所与のウェブページは、www.cnn.com(またはcnn.com)に対応するものとして示されている。しかしながら、他の従来のウェブページ読み込み手順は、HTTPプロキシサーバをすべて回避することができ、他のウェブページを読み込むように指図できることを理解されるであろう。図5において、モバイルウェブブラウザは、500で所与のウェブページのリダイレクトについて特別な知識を持たないことを想定する(たとえば、リダイレクトは、一般的に、一時的なものであると考えられ、従来のモバイルウェブブラウザは、典型的には、再使用のためにリダイレクト情報をキャッシュしない)。モバイルウェブブラウザは、HTTPプロキシサーバに所与のウェブページに対する要求を送信し(505)、HTTPプロキシサーバは、所与のウェブページに関連するターゲットサーバに所与のウェブページに対する要求を転送する(510)。ターゲットサーバは、所与のウェブページのモバイルバージョン(たとえば、www.edition.cnn.comまたはedition.cnn)など、代替ウェブページへの302リダイレクトで要求に応答する(515)。302リダイレクトの「302」は、単にリダイレクト応答コードの例にすぎないことを理解されるであろう。一般的に、整合性のために、以下の記述では応答コードとして302を再使用するが、本明細書に記述したリダイレクトのいずれにも、他の応答コードを使用できることを容易に理解されるであろう。ターゲットサーバからの302リダイレクトに応じて、HTTPプロキシサーバは、クライアントデバイスのモバイルウェブブラウザに代替ウェブページへの新しい要求を発行する(520)。リダイレクトメッセージに応じて、モバイルウェブブラウザは、HTTPプロキシサーバに代替ウェブページに対する要求を送信し(525)、HTTPプロキシサーバは、代替ウェブページに関連するターゲットサーバに代替ウェブページに対する要求を転送する(530)。図5において、所与のウェブページおよび代替ウェブページに関連するターゲットサーバは、同じサーバとして示しているが、それぞれのウェブページは、代わりに、異なるサーバによってホストすることができる。ターゲットサーバは、200 OKメッセージ、代替ウェブページに対する要求されたコンテンツ、および代替ウェブページに対するクッキー(たとえばウェブページwww.edition.cnn.comのCookie[edition.cnn.com])で代替ウェブページに対する要求に応答する(535)。HTTPプロキシサーバは、200 OKメッセージ、代替ウェブページに対する要求されたコンテンツ、および代替ウェブページに対するクッキーをクライアントデバイスのモバイルウェブブラウザに転送し(540)、モバイルウェブブラウザは、ページコンテンツを使用して、代替ウェブページを読み込み、代替ウェブページを読み込むための将来的な試みのために、代替ウェブページに対するクッキーをキャッシュする(545)。
【００３３】
理解されるであろうように、リダイレクトメッセージをクライアントデバイスのモバイルウェブブラウザに送り返すのは比較的、非能率的であるため、モバイルウェブブラウザは、代替ウェブページを読み込むための別の個別の試みを開始することができる。しかしながら、図6に関して記述するように、HTTPプロキシサーバが、クライアントデバイスのモバイルウェブブラウザを関与させずに、302リダイレクトメッセージ自体に応答することを単に試みる場合、結果として問題が生じる場合がある。
【００３４】
図6を参照すると、600から615は、500から515に対応し、簡潔さのためにそれ以上は記述しない。620で、図5の520のようにクライアントデバイスのモバイルウェブブラウザにリダイレクトメッセージを送り返す代わりに、HTTPプロキシサーバは、代わりに、代替ウェブページ自体を要求する。したがって、ターゲットサーバは、200 OKメッセージ、代替ウェブページに対する要求されたコンテンツ、および代替ウェブページに対するクッキー(たとえばウェブページwww.edition.cnn.comのCookie[edition.cnn.com])で代替ウェブページに対するHTTPプロキシサーバの要求に応答する(625)。HTTPプロキシサーバは、200 OKメッセージ、代替ウェブページに対する要求されたコンテンツ、および代替ウェブページに対するクッキーをクライアントデバイスのモバイルウェブブラウザに転送する(630)。
【００３５】
しかしながら、当業者には理解されるであろうように、HTMLページを含む多くのウェブリソースは、モバイルウェブブラウザが、リソースがダウンロードされた正確なURLを認識していることを必要とする。この理由の1つは、モバイルウェブブラウザは、埋め込まれたリソースの相対的なURLを正確にダウンロードすることができることである。図6において、モバイルウェブブラウザは、605で所与のウェブページ(たとえばwww.cnn.com)を求めたが、モバイルウェブブラウザは、630で、異なるウェブページ(たとえばwww.edition.cnn.com)に対するコンテンツを受信した。したがって、モバイルウェブブラウザが実際にはwww.edition.cnn.comのコンテンツを読み込んでいるときに、モバイルウェブブラウザは、www.cnn.comのコンテンツを読み込んでいると考えるように騙されてしまう。この理由から、代替ウェブページが読み込まれている間に、モバイルウェブブラウザは、635で埋め込まれたリソースの相対的なURLに対する要求を発行することができ、HTTPプロキシサーバは、所与のウェブページについてターゲットサーバに相対的なリソース要求を転送する(640)。しかしながら、リソースは、(所与のウェブページではなく)代替ウェブページに関連するため、ターゲットサーバは、404 Not Foundエラーメッセージを返す(645)。この理由から、モバイルウェブブラウザは、そのディスプレイに代替ウェブページの相対的なリソースを読み込むことができない(650)。
【００３６】
図7Aは、本発明の実施形態によるプロキシ(またはMOD)リダイレクトのMOD-POD実装を示している。図6と異なり、MODは、代替(またはリダイレクトされた)ウェブページのために相対的なリソースの読み込み問題が生じない方法で、PODとの調整を介してクライアントデバイスに代わってリダイレクトを実装することができる。
【００３７】
図7Aを参照すると、クライアントデバイスは、クライアントデバイス200に関して図2Aまたは図2Bに示すように実装されることを想定しているため、クライアントデバイスにはPOD215が供給され、POD215は、MOD225と通信するように構成されている。700で、モバイルウェブブラウザは、500での所与のウェブページを取得することを決定する。図5〜図6と同様に、説明の便宜上、所与のウェブページは、www.cnn.comに対応するものとして図7Aに示している。図7Aの700で、所与のウェブページは、モバイルウェブブラウザによって、これ以前、または少なくともモバイルウェブブラウザのキャッシュがクリアされてからは要求されていないことを想定する。したがって、モバイルウェブブラウザは、700で所与のウェブページのリダイレクトまたはクッキーについて特別な知識を持っていない。モバイルウェブブラウザは、関連するターゲットサーバまたはHTTPプロキシサーバ705に、所与のウェブページに対する要求を送信する(705)ことを試みるが、POD215は、試みられた要求を傍受し、MOD225に要求を送信する(710)。MOD225は、所与のウェブページに関連するターゲットサーバに所与のウェブページに対する要求を転送する(715)。この時点で、(さらに別のリダイレクトとは対照的に)モバイルウェブブラウザに返される実際のウェブページコンテンツを提供する代替ウェブページに到着する前に、MOD225が1つまたは複数の介在するウェブページにリダイレクトされることが可能である(718)。あるいは、ターゲットサーバが、(介在するリダイレクトなしで)ウェブページコンテンツを提供する代替ウェブページにMOD225を直接的にリダイレクトすることが可能である。したがって、介在するリダイレクト動作は、介在するリダイレクトが実装されるかどうかに基づいてオプションであることを伝達するために、718は図7Aに点線で示している。介在するリダイレクトが使用される場合、MOD225は、可能性として、ターゲットサーバから異なるサーバにすべてリダイレクトできることを理解されるであろう。ターゲットサーバ(または異なるサーバにMOD225をリダイレクトするために、介在するリダイレクトメッセージが使用される場合の異なるサーバ)は、715からの要求(または、ある場合は、以前の介在するリダイレクトによって促された718からの別の要求)に、所与のウェブページのモバイルバージョン(たとえばwww.edition.cnn.com)など、代替ウェブページへの302リダイレクトで応答する(720)。
【００３８】
725で、図5の520のようにクライアントデバイスのモバイルウェブブラウザにリダイレクトメッセージを送信し返す代わりに、MOD225は、代わりに、代替ウェブページ自体を要求する。したがって、ターゲットサーバは、200 OKメッセージで代替ウェブページ、および代替ウェブページに対する要求されたコンテンツに対するMODの要求に応答する(730)。同様に、介在するリダイレクトメッセージは(718で使用される場合)、また、クライアントデバイスに送り返されず、MOD225は、介在するウェブページ自体も同様に独自に要求する。
【００３９】
図6の630で、HTTPプロキシサーバは、モバイルウェブブラウザでウェブページを読み込むときにエラーとなった、最初に要求されたウェブページのコンテンツを提供するかのように、リダイレクトされたコンテンツを単にモバイルウェブブラウザに転送する。したがって、MOD225は、クライアントデバイスで代替ウェブページの302リダイレクト手順を模倣するために1組の命令(または「スクリプト」)とともに、200 OKメッセージおよび代替ウェブページに対する要求されたコンテンツをPOD215に転送する(735)。したがって、それが最初に要求されたコンテンツであるかのように、リダイレクトされたコンテンツをモバイルウェブブラウザに提示する代わりに、MOD225は、モバイルウェブブラウザを用いるクライアントデバイスで、720〜730からのリダイレクト手順を再作成(または模倣)するようにPOD215に依頼する。735で提供できるスクリプトのタイプの一例は、次のとおりである。
HTTP/1.1 200 OK
Server:nginx/1.2.1
Date:Sun, 08 Jul 2012 14:12:53 GMT
Content-Length:21442
Connection:close
Content-Type:application/MOD-WebScript
IskNextResponse:http://www.cnn.com/
HTTP/1.1 302 Moved Temporarily
Server:nginx
Date:Sun, 08 Jul 2012 14:12:58 GMT
Set-Cookie:CG=IL:--:--; path=/
Cache-Control:private, no-cache
Vary:*
Location:http://edition.cnn.com/
IskNextResponse:http://edition.cnn.com/
HTTP/1.1 200 OK
Server:nginx
Date:Sun, 08 Jul 2012 14:12:58 GMT
Content-Type:text/html; charset=UTF-8
IskContenType:text/html; charset=UTF-8
Connection:keep-alive
Set-Cookie:CG=IL:--:--; path=/
Cache-Control:max-age=60, private
Vary:Accept-Encoding, User-Agent
X-UA-Profile:desktop
Content-Length:20798
【００４０】
図7Aを参照すると、POD215は、718、738からの介在するリダイレクト手順を(オプションとして)模倣することによって、および代替ウェブページに対する302リダイレクトメッセージをモバイルウェブブラウザに送信することによって(740)、735の送信を受信し、「詐称(spoof)」されたリダイレクト手順を実装し、これによって、代替ウェブページに対する要求で応答するようにモバイルウェブブラウザに促し(745)、代替ウェブページに対する要求は、POD215によって傍受され、POD215は、200 OKメッセージ、および代替ウェブページに対する要求されたコンテンツで要求に応答する(750)。この時点で、モバイルウェブブラウザは、代替ウェブページにリダイレクトされたということを理解してウェブページを読み込むため(755)、図6からの読み込みエラーは発生しない。
【００４１】
図6からのHTTPプロキシサーバなどプロキシサーバに、クライアントデバイス自体からリダイレクト手順をアウトソーシングすることは実装が難しい可能性がある別の理由は、クッキー管理に関係している。ウェブサーバは、図8に示すように、典型的には、200 OKメッセージおよびページコンテンツとともに、そのウェブページの新しいリクエスタにウェブページのクッキーを提供する(たとえば、図5の535、図6の625、図7Aの730など)。図8〜図11に対するコンテキストを提供するために、従来のクッキー管理プロトコルでは、クッキーは、クッキーを作り出した特定のドメインに範囲が定められ(scope)、クッキーを受信するウェブブラウザは、それぞれの発信元のサーバに排他的に送信することを理解されたい。
【００４２】
図7Aでは、ウェブページのリダイレクト動作について記述しているが、ウェブページだけでなく、任意のタイプのウェブリソースに関して、他のタイプのリダイレクトも発生する可能性があることを理解されたい。本明細書で使用する場合、用語「ウェブリソース」は、ウェブページだけでなく、ネットワークアドレス指定可能な要素またはオブジェクトを表すために使用される(たとえば、画像ファイルまたはビデオファイルなどのデータファイル、ストリーミングセッションにマップするURLなど)。これを念頭に、図7Bは、本発明の実施形態によるウェブリソースのためのプロキシリダイレクト手順を示す図である。
【００４３】
一般的に、図7Bのプロセスは、取得されるターゲットウェブリソースが、(これは確かに可能であるが)必ずしもウェブページである必要がないという点を除いて、図7Aのプロセスに似ている。図7Bに示す特定の例では、モバイルウェブブラウザは、www.cnn.com/image1.jpegというURLで画像ファイルを取得することを試みており、モバイルウェブブラウザは、最終的には、POD215によってモバイルウェブブラウザでローカルにシミュレーションされている前述のリダイレクト手順に基づいて、www.edition.cnn.com/image1.mpegというURLで画像ファイルを受信する。したがって、上に記述したウェブページとウェブリソースとの間の差異を除いて、図7Bの700Bから755Bは、それぞれ図7Aの700から755に実質的に対応するため、簡潔さのために、これ以上は詳細には記述しない。
【００４４】
図8は、2度目に所与のウェブページを読み込むプロセスの間の図5のプロセスの続きを示す図である。図8は、図5の代替ウェブページ525および530に対する要求とは異なり、825および830で送信された要求は、540でモバイルウェブブラウザによって取得され、545でキャッシュされた代替ウェブページのクッキー(たとえばCookie[edition.cnn.com])を含むという点を除いて図5に似ている。830でターゲットサーバにクッキーを提供することによって、ターゲットサーバは、代替ウェブサイトへの繰返し訪問としてモバイルウェブブラウザを識別することができ、ユーザに特有の設定を読み込むことができる(たとえばコンテンツに対する適切な言語など)。
【００４５】
しかしながら、図6または図7Aなど、プロキシサーバがクライアントデバイスに代わってリダイレクトを処理するシステムでは、プロキシサーバは、リダイレクト手順を処理することになり、プロキシサーバは、必ずしも代替ウェブページのクッキーを認識しない。たとえば、HTTPプロキシサーバが、図6の630でモバイルウェブブラウザに、200 OKメッセージおよびページコンテンツを転送するが、HTTPプロキシサーバは、代替ウェブページ自体の関連するクッキーをキャッシュせず、そのため、次にHTTPプロキシサーバが、モバイルウェブブラウザに代わって代替ウェブページを読み込むことを試みるときに、このクッキーを使用することができない。
【００４６】
このシナリオから生じる可能性がある潜在的な問題について記述するために、図9Aは、図7Aのプロセスの間に交換されたクッキーの記録を維持するMOD225なしで、図7Aが実行する想定で、図7Aの続きとして記述している。
【００４７】
図9Aを参照すると、図7Aの755の後に、クライアントデバイスのモバイルウェブブラウザは、(リダイレクトにより)所与のウェブページではなく、代替ウェブページのクッキーを持っていること(たとえばCookie[edition.cnn.com])(900)、およびMOD225は、図7Aのプロセスの間に交換されたクッキーの記録を維持していなかったこと(905)を想定する。これらの想定では、モバイルウェブブラウザが、所与のウェブページを再び要求することを決定すると(910)、モバイルブラウザは、915で所与のウェブページを要求することを試みるが、その要求で所与のウェブページのクッキーを提供せず(使用可能ではないので)、また、その要求で代替ウェブページのクッキーを提供しない(代替ウェブページはまだ要求されていないので)。POD215は、試みられた要求を傍受し、MOD225に要求を送信する(920)が、送信された要求は、また、915に関して上に記述したのと同じ理由からクッキーを含んでいない。MOD225は、所与のウェブページに関連するターゲットサーバに所与のウェブページに対する要求を転送する(925)。この時点で、図7Aの718と同様に、MOD225は、(さらに別のリダイレクトとは対照的に)モバイルウェブブラウザに返される実際のウェブページコンテンツを提供する代替ウェブページに到着する前に、1つまたは複数の介在するウェブページにリダイレクトされることが可能である(928)。あるいは、ターゲットサーバは、(介在するリダイレクトなしで)ウェブページコンテンツを提供する代替ウェブページにMOD225を直接的にリダイレクトすることが可能である。したがって、928は、介在するリダイレクト動作は、介在するリダイレクトが実装されるかどうかに基づいてオプションであることを伝達するために図9Aに点線で示している。介在するリダイレクトが使用される場合、MOD225は、可能性として、ターゲットサーバから異なるサーバにすべてリダイレクトできることを理解されるであろう。ターゲットサーバ(または異なるサーバにMOD225をリダイレクトするために、介在するリダイレクトメッセージが使用される場合の異なるサーバ)は、925からの要求(または、ある場合は、以前の介在するリダイレクトによって促される928からの別の要求)に、所与のウェブページ(たとえばwww.edition.cnn.com)のモバイルバージョンなど、代替ウェブページへの302リダイレクトで応答する(930)。この時点で、クライアントデバイスのモバイルウェブブラウザがそれをキャッシュしているが、MOD225は、代替ウェブページのクッキーを認識しない(たとえば、905を参照)。したがって、935から965は、725から755に実質的に対応するため、ターゲットサーバは、前回、図7Aで代替ウェブページが読み込まれたときからのクライアントデバイスのクッキーについての知識なしで、ページコンテンツを提供する。
【００４８】
図9Aでは、図7Aのプロセスの続きについて記述し、ウェブページに対する補足的な要求を示しているが、ウェブページだけでなく、任意のタイプのウェブリソースに関して、他のタイプのリダイレクトも発生する可能性があることを理解されるであろう。これを念頭に、図9Bでは、図7Bのプロセスの続きを示し、本発明の実施形態により、プロキシリダイレクト手順を含むウェブリソースに対する補足的な要求について示している。
【００４９】
一般的に、図9Bのプロセスは、図9Aが図7Aの続きであるという点を除いて図9Aのプロセスに似ているが、図9Bは、図7Bの続きであり、図9Bで取得されるターゲットウェブリソースは、(これは確かに可能であるが)必ずしもウェブページである必要がない。図9Bに示す特定の例では、モバイルウェブブラウザは、www.cnn.com/image1.jpegというURLで画像ファイルを取得することを試みており、モバイルウェブブラウザは、最終的には、POD215によってモバイルウェブブラウザでローカルにシミュレーションされている前述のリダイレクト手順に基づいて、www.edition.cnn.com/image1.mpegというURLで画像ファイルを受信する。したがって、上に記述したウェブページとウェブリソースとの間の差異を除いて、図9Bの900Bから965Bは、それぞれ図9Aの900から965に実質的に対応するため、簡潔さのために、これ以上は詳細には記述しない。
【００５０】
図10および図11は、本発明の実施形態により、代替ウェブページの第2の(またはその後の)読み込みのためにリダイレクト手順の間に、代替ウェブページのクッキーを取得することをMOD225に許可する、図7Aおよび図9Aのプロセスの修正された実装を示している。
【００５１】
図10を参照すると、1000から1030は、図7Aの700から730に対応するため、簡潔さのためにそれ以上は記述しない。1035で、MOD225は、所与のウェブページに対して「ラップ(wrap)」されたクッキーを生成する(たとえば、Cookie[***cnn.com])。1035で生成されたラップされたクッキーは、所与のウェブページをホストするウェブサーバから提供される実際のクッキーではなく、代替ウェブページのクッキーを識別できるようにMOD225によって使用される偽のクッキーである。したがって、MOD225は、オリジナルのクッキーのラップを解除(unwrap)(または再構築)するために、ラップされたクッキーに適用できる機能またはアルゴリズムへのアクセスを維持する。一実施例では、ラップされたクッキーは、代替ウェブページのクッキーにbase64を適用することによって、MOD225で生成することができ、ラップされたクッキーは、代替ウェブページのクッキーを再構築するために、後でラップを解除することができる(図11の1125を参照)。他の例では、ラップされたクッキーは、代替ウェブページのクッキーに、(たとえば、一実装ではbase64に基づく場合がある)暗号機能またはアルゴリズムを適用することによって、MOD225で生成することができ、ラップされたクッキーは、代替ウェブページのクッキーを再構築するために復号機能またはアルゴリズムを適用することによって、後でラップを解除することができる(図11の1125を参照)。
【００５２】
1040で、MOD225は、200 OKメッセージ、代替ウェブページに対する要求されたコンテンツ、POD215への代替ウェブページに対するクッキー、およびラップされたクッキーとともに、クライアントデバイスで代替ウェブページに対する302リダイレクト手順を模倣するための1組の命令(または「スクリプト」)を転送する。1040は、1040の送信がラップされたクッキーをさらに含むという点を除いて図7Aの735に似ており、ラップされたクッキーは、モバイルウェブブラウザによって、所与のウェブページのクッキーとして解釈されるように構成されている(つまり、最初に要求されたウェブページまたはwww.cnn.comであり、代替ウェブページまたはwww.edition.cnn.comではない)。
【００５３】
図10を参照すると、POD215は、1040の送信を受信し、1つまたは複数の介在するリダイレクト(たとえば図7Aの738など)を(オプションとして)シミュレーションし(1042)、モバイルウェブブラウザに代替ウェブページ対する302リダイレクトメッセージを送信することによって(1045)、「詐称」されたリダイレクト手順を実装する。しかしながら、ラップされたクッキーが所与のウェブページのクッキーであるかのように、1045の302リダイレクトメッセージは、ラップされたクッキーをさらに含む。したがって、1045の302リダイレクトメッセージ内にラップされたクッキーを含めることで、モバイルウェブブラウザによって受信された302リダイレクトメッセージは、1020でウェブサーバからMOD225で受信された302リダイレクトメッセージとは異なるものになる。
【００５４】
モバイルウェブブラウザは、所与のウェブページのラップされたクッキーをキャッシュする(1050)。モバイルウェブブラウザは、また、代替ウェブページに対する要求で302リダイレクトメッセージに応答し(1055)、代替ウェブページに対する要求は、POD215によって傍受され、POD215は、200 OKメッセージ、代替ウェブページに対する要求されたコンテンツ、およびPOD215への代替ウェブページにするクッキーで要求に応答する(1060)。この時点で、モバイルウェブブラウザは、それが代替ウェブページにリダイレクトされたということを理解してウェブページを読み込む(1065)。
【００５５】
図10を参照すると、図10の1065の後に、クライアントデバイスのモバイルウェブブラウザは、代替ウェブページのクッキー(たとえばCookie[edition.cnn.com])および所与のウェブページのクッキーとしてモバイルウェブブラウザが解釈するラップされたクッキー(たとえばCookie[***cnn.com])を持つと想定する(1100)。これらの想定では、モバイルウェブブラウザが、所与のウェブページを再び要求することを決定すると(1110)、その要求での所与のウェブページのクッキーとしてラップされたクッキーを提供しながら、モバイルブラウザは、1115で所与のウェブページを要求することを試みる。POD215は、試みられた要求を傍受し、ラップされたクッキーとともにMOD225に要求を送信する(1120)。MOD225はラップされたクッキーを検出し、代替ウェブページのクッキーを検索するためにラップされたクッキーを使用する(1125)(たとえば、代替ウェブページのクッキーを取得または再構築するために、ラップされたクッキーに、base64に基づく機能など、アルゴリズムまたは機能を適用することによって)。上記のように、クッキーを再構築または「ラップを解除」するために使用するアルゴリズムまたは機能は、初期のラッピング手順の間にクッキーに以前に適用された暗号化を逆転する復号機能の場合がある。
【００５６】
MOD225は、所与のウェブページに関連するターゲットサーバに所与のウェブページに対する要求を転送する(1130)(ラップされたクッキーはターゲットサーバによって認識されないためラップされたクッキーなし)。1つまたは複数の介在するリダイレクトを(オプションとして)実行した後(1133)、(たとえば図10の1018のように)、ターゲットサーバ(または先行する介在するリダイレクトに関連する別のサーバ)は、所与のウェブページのモバイルバージョンなど(たとえばwww.edition.cnn.com)、代替ウェブページへの302リダイレクトで要求に応答する(1135)。この時点で、MOD225は、1125からの検索動作に基づいて代替ウェブページのクッキーを認識している。したがって、MOD225は、代替ウェブページのクッキーを提供しながら(たとえば、Cookie[edition.cnn.com])、関連するターゲットサーバから代替ウェブページを要求する。図11に明示的に示していないが、クッキーに1140の要求を提供することで、何よりも、代替ウェブページのページコンテンツが、クライアントデバイスに対して選択的な方法で読み込まれることを許可する。したがって、ターゲットサーバは、200 OKメッセージおよび代替ウェブページに対する要求されたコンテンツで、代替ウェブページに対するMODの要求に応答する(1145)。この時点で、図11の1150から1170は、(ターゲットサーバにこのクッキーが提供されるため、要求側クライアントデバイスがすでにクッキーを持っていることを認識しているので、代替ウェブページのクッキーを含めることがオプションである以外は)図9Aの945から965に実質的に対応し、簡潔さのために、これ以上は記述しない。
【００５７】
図12および図13は、それぞれ、本発明の実施形態により、代替ウェブリソースの2度目の(またはその後の)読み込みのために、リダイレクト手順の間に、プロキシサーバが代替ウェブリソースまたはリダイレクトウェブリソース(つまり必ずしもウェブページではない)のクッキーを取得することを許可する図7Bおよび図9Bのプロセスの修正された実装を示す図である。
【００５８】
一般的に、図12〜図13のプロセスは、図12〜図13では、取得されるターゲットウェブリソースは、(これは確かに可能であるが)必ずしもウェブページである必要がないというシナリオに関係するという点を除いて図10〜図11のプロセスに似ている。図12〜図13に示す特定の例では、モバイルウェブブラウザは、www.cnn.com/image1.jpegというURLで画像ファイルを取得することを試みており、モバイルウェブブラウザは、最終的には、POD215によってモバイルウェブブラウザでローカルにシミュレーションされている前述のリダイレクト手順に基づいて、www.edition.cnn.com/image1.mpegというURLで画像ファイルを受信する。図10〜図11では、クッキーは、ウェブページwww.cnn.comおよびwww.edition.cnn.comに対するものであるが、図12〜図13のクッキーは、より明確にはwww.cnn.com/image1.jpeg(たとえば図12〜図13の***cnn.com)およびwww.edition.cnn.com/image1.jpegのウェブリソースに対するものである。したがって、上に記述したウェブページとウェブリソースとの間の差異を除いて、図10の1000から1065は、それぞれ図12の1200から1265に実質的に対応し、図11の1100から1170は、それぞれ図13の1300から1370に実質的に対応し、簡潔さのために図12および図13については、これ以上は詳細には記述しない。
【００５９】
情報および信号は、様々な異なる技術および手法のいずれかを使用して表していることを当業者は理解されるであろう。たとえば、上の記述の全体にわたって使われているデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは電磁粒子、光学的フィールドもしくは光学的粒子、またはそれらの任意の組合せによって表すことができる。
【００６０】
さらに、本明細書に開示した実施形態に関して記述した様々な実例となる論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを当業者なら自明であろう。ハードウェアおよびソフトウェアのこの互換性を明白に示すために、様々な実例となるコンポーネント、ブロック、モジュール、回路、およびステップを、それらの機能の点から一般的に記述した。そのような機能をハードウェアとして実装するかソフトウェアとして実装するかは、全体的なシステムに課された特定の用途および設計制約に依存している。熟練者であれば、特定の各用途に対して様々な方法で記述した機能を実装することができるが、そのような実装の決定は、本発明の範囲から逸脱するものとして解釈するべきでない。
【００６１】
本明細書に開示した実施形態に関して記述した様々な説明の論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(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)、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、ディスク(disk)は通常、磁気的にデータを再生する一方、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれている。
【００６４】
前述の開示は、本発明の説明的な実施形態を示していているが、添付された請求項によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正が可能であることに注意されたい。本明細書に記述した本発明の実施形態による方法の請求項の機能、ステップ、および/または動作は、特定の順序で実行する必要はない。さらに、本発明の要素は、単数形で記述または請求されている場合があるが、単数に制限することが明示的に述べられていない限り、複数が意図されるものである。
【符号の説明】
【００６５】
100  ワイヤレス通信システム
104  エアインターフェース
106  エアインターフェース
108  エアインターフェース
120  RAN
125  アクセスポイント
140  コアネットワーク
170  アプリケーションサーバ
170A  アプリケーションサーバ1
170B  アプリケーションサーバ2
170C  ウェブサーバ1
170D  ウェブサーバ2
175  インターネット
200  クライアントデバイス
205  トランスポートレイヤ
210  TCP/IPスタック
215  クライアントアプリケーションマネージャ[POD]
220  アクセスネットワーク
225  プロキシサーバ[MOD]
300A  UE
300B  UE
302  プラットフォーム
305A  アンテナ
305B  タッチスクリーンディスプレイ
306  送受信装置
308  特定用途向け集積回路(ASIC)
310  アプリケーションプログラミングインターフェース(API)
310A  ディスプレイ
310B  周辺のボタン
312  メモリ
314  ローカルデータベース
315A  ボタン
315B  周辺のボタン
320A  キーパッド
320B  周辺のボタン
325B  周辺のボタン
330B  フロントパネルボタン
400  通信デバイス
401B  プロセッサ
400B  サーバ
402B  揮発性メモリ
403B  ディスクドライブ
404B  ネットワークアクセスポイント
405  情報を受信および/または送信するように構成されたロジック
406B  DVDディスクドライブ
407B  ネットワーク
410  情報を処理するように構成されたロジック
415  情報を格納するように構成されたロジック
420  情報を提示するように構成されたロジック
400B  サーバ
425  ローカルユーザ入力を受信するように構成されたロジック
【図１】
0006325570.tif 000002
【図２Ａ】
0006325570.tif 000003
【図２Ｂ】
0006325570.tif 000004
【図３】
0006325570.tif 000005
【図４Ａ】
0006325570.tif 000006
【図４Ｂ】
0006325570.tif 000007
【図５】
0006325570.tif 000008
【図６】
0006325570.tif 000009
【図７Ａ】
0006325570.tif 000010
【図７Ｂ】
0006325570.tif 000011
【図８】
0006325570.tif 000012
【図９Ａ】
0006325570.tif 000013
【図９Ｂ】
0006325570.tif 000014
【図１０】
0006325570.tif 000015
【図１１】
0006325570.tif 000016
【図１２】
0006325570.tif 000017
【図１３】
0006325570.tif 000018