JP6325570B2 - 通信システムにおけるクライアントデバイスのウェブブラウザでのリダイレクトされたウェブリソースの読み込み - Google Patents

通信システムにおけるクライアントデバイスのウェブブラウザでのリダイレクトされたウェブリソースの読み込み Download PDF

Info

Publication number
JP6325570B2
JP6325570B2 JP2015547571A JP2015547571A JP6325570B2 JP 6325570 B2 JP6325570 B2 JP 6325570B2 JP 2015547571 A JP2015547571 A JP 2015547571A JP 2015547571 A JP2015547571 A JP 2015547571A JP 6325570 B2 JP6325570 B2 JP 6325570B2
Authority
JP
Japan
Prior art keywords
web resource
cookie
web
redirect
client device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015547571A
Other languages
English (en)
Other versions
JP2016510445A (ja
JP2016510445A5 (ja
Inventor
ジョシュア・ハーシュバーグ
ガブリエル・ベレールジス
エイタン・ミズロツキー
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2016510445A publication Critical patent/JP2016510445A/ja
Publication of JP2016510445A5 publication Critical patent/JP2016510445A5/ja
Application granted granted Critical
Publication of JP6325570B2 publication Critical patent/JP6325570B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities

Description

米国特許法第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 ローカルユーザ入力を受信するように構成されたロジック

Claims (16)

  1. プロキシサーバを運用する方法であって、
    クライアントデバイスから初期のウェブリソースに対する要求を受信するステップと、
    前記クライアントデバイスの要求に応じて、前記クライアントデバイスに代わって前記初期のウェブリソースを要求するステップと、
    前記クライアントデバイスとの対話に依存せず、(i)前記初期のウェブリソースから代替ウェブリソースにリダイレクトする1つまたは複数のリダイレクトメッセージを受信するステップと、(ii)前記1つまたは複数のリダイレクトメッセージに基づいてサーバに前記代替ウェブリソースを要求するステップと、(iii)前記代替ウェブリソースに関連する前記サーバからウェブリソースコンテンツを受信するステップとを含むウェブリソースのリダイレクト手順を前記プロキシサーバで実行するステップと、
    前記代替ウェブリソースに対する前記プロキシサーバの要求に応じて、前記代替ウェブリソースに対して前記サーバからリダイレクトクッキーを取得し、前記リダイレクトクッキーに基づくラップされたクッキーを生成し、前記クライアントデバイスのプロキシクライアントアプリケーションとモバイルウェブブラウザとの間で前記代替ウェブリソースの前記ウェブリソースのリダイレクト手順を前記クライアントデバイスでシミュレーションするための1組の命令とともに、前記クライアントデバイスの前記プロキシクライアントアプリケーションに前記ラップされたクッキーと前記ウェブリソースコンテンツを伝達するステップと
    を含み、
    前記ウェブリソースのリダイレクト手順をシミュレーションするための前記1組の命令は、前記プロキシクライアントアプリケーションが、前記初期のウェブリソースの所与のクッキーとして前記モバイルウェブブラウザに前記ラップされたクッキーを供給するように指示するように構成される、
    方法。
  2. 前記初期のウェブリソースは、ウェブページであるか、または
    前記初期のウェブリソースは、1組の1つまたは複数のネットワークアドレス指定可能な要素またはオブジェクトである
    請求項1に記載の方法。
  3. 前記クライアントデバイスから前記初期のウェブリソースに対する補足的な要求を受信するステップであって、前記補足的な要求は前記ラップされたクッキーを含むステップと、
    前記代替ウェブリソースに対する前記取得されたクッキーに対応するラップを解除されたクッキーを生成するために、前記ラップされたクッキーのラップを解除するステップと、
    前記クライアントデバイスの補足的な要求に応じて、前記クライアントデバイスに代わって前記初期のウェブリソースを要求するステップと、
    前記クライアントデバイスとの対話に依存せず、(i)前記初期のウェブリソースから前記代替ウェブリソースにリダイレクトする1つまたは複数の補足的なリダイレクトメッセージを受信するステップと、(ii)前記1つまたは複数の補足的なリダイレクトメッセージに基づいて前記サーバに前記代替ウェブリソースを要求するステップであって、前記代替ウェブリソースに対する前記プロキシサーバの要求は、前記ラップを解除されたクッキーを含むように構成されたステップと、(iii)前記代替ウェブリソースに関連する前記サーバから補足的なウェブリソースコンテンツを受信するステップとを含む前記プロキシサーバでの補足的なウェブリソースのリダイレクト手順を実行するステップと、
    前記プロキシクライアントアプリケーションと前記モバイルウェブブラウザとの間で、前記補足的なウェブリソースのリダイレクト手順を前記クライアントデバイスでシミュレーションするための補足的な命令とともに、前記クライアントデバイスの前記プロキシクライアントアプリケーションに前記代替ウェブリソースに関連する前記補足的なウェブリソースコンテンツを伝達するステップと
    をさらに含む請求項1に記載の方法。
  4. 前記伝達は、前記クライアントデバイスでの前記シミュレーションされたウェブリソースのリダイレクト手順の間に、前記初期のウェブリソースの所与のクッキーとして使用されるラップされたクッキーに関連する前記命令を伝達する、請求項1に記載の方法。
  5. 前記クライアントデバイスから前記初期のウェブリソースに対する補足的な要求を受信するステップであって、前記補足的な要求は前記ラップされたクッキーを含むステップと、
    前記ウェブリソースのリダイレクト手順の間に、前記代替ウェブリソースに対する前記プロキシサーバによって受信されたリダイレクトクッキーを生成するために、前記ラップされたクッキーのラップを解除するステップと
    をさらに含む、請求項4に記載の方法。
  6. 補足的なウェブリソースのリダイレクト手順に関連する前記代替ウェブリソースを要求するために、前記サーバに前記リダイレクトクッキーを供給するステップをさらに含む請求項5に記載の方法。
  7. プロキシクライアントアプリケーションを実行するように構成されたクライアントデバイスを運用する方法であって、
    プロキシサーバに初期のウェブリソースに対する要求を送信するステップと、
    前記送信された要求に応じて前記プロキシサーバから、(i)前記初期のウェブリソースと異なる代替ウェブリソースに関連するウェブリソースコンテンツと、(ii)前記プロキシサーバで発生した前記代替ウェブリソースのウェブリソースのリダイレクト手順をシミュレーションするための1組の命令と、(iii)前記プロキシサーバで発生した前記代替ウェブリソースの前記ウェブリソースのリダイレクト手順の間に前記プロキシサーバで受信された前記代替ウェブリソースに対するリダイレクトクッキーに基づくラップされたクッキーとを含むデータを受信するステップと、
    (i)前記初期のウェブリソースの所与のクッキーとして前記ラップされたクッキーを識別し前記初期のウェブリソースから前記代替ウェブリソースにモバイルウェブブラウザをリダイレクトする前記クライアントデバイスの前記モバイルウェブブラウザに1つまたは複数のリダイレクトメッセージを送信するステップと、(ii)前記1つまたは複数のリダイレクトメッセージに応じて前記モバイルウェブブラウザから前記代替ウェブリソースに対する要求を受信するステップと、(iii)前記モバイルウェブブラウザからの前記受信された要求に応じて、前記送信された要求に応じて、前記プロキシサーバから前記プロキシクライアントアプリケーションによって受信された前記代替ウェブリソースに関連する前記ウェブリソースコンテンツを伝達するステップとによって、前記1組の命令に応じて前記プロキシサーバで発生した前記代替ウェブリソースの前記ウェブリソースのリダイレクト手順をシミュレーションするステップと
    を含む方法。
  8. 前記初期のウェブリソースは、ウェブページであるか、または
    前記初期のウェブリソースは、1組の1つまたは複数のネットワークアドレス指定可能な要素またはオブジェクトである
    請求項7に記載の方法。
  9. 前記1つまたは複数のリダイレクトメッセージは、前記初期のウェブリソースから前記代替ウェブリソースに直接的にリダイレクトする単一のリダイレクトメッセージを含むか、または、
    前記1つまたは複数のリダイレクトメッセージは、前記初期のウェブリソースから前記代替ウェブリソースに累積的にリダイレクトするように機能する複数のリダイレクトメッセージを含む
    請求項7に記載の方法。
  10. 前記プロキシサーバに前記初期のウェブリソースに対する補足的な要求を送信するステップであって、前記送信された補足的な要求は、前記ラップされたクッキーを含むステップをさらに含む請求項7に記載の方法。
  11. 前記ラップされたクッキーは、リダイレクトクッキーの前記プロキシサーバによる再構成を許可するように構成される請求項7に記載の方法。
  12. 請求項1乃至6の何れか1項に記載の方法を実施するように構成された手段を備えた、プロキシサーバ。
  13. 請求項7乃至11の何れか1項に記載の方法を実施するように構成された手段を備えた、プロキシクライアントアプリケーションを実行するように構成されたクライアントデバイス。
  14. 請求項1乃至6の何れか1項に記載の方法を実施するように構成された命令を含む、非一時的コンピュータ可読記憶媒体。
  15. 請求項7乃至11の何れか1項に記載の方法を実施するように構成された命令を含む、非一時的コンピュータ可読記憶媒体。
  16. 代替ウェブリソースに直接的にリダイレクトする単一のリダイレクトメッセージを含むか、または、
    前記1つまたは複数のリダイレクトメッセージは、前記初期のウェブリソースから前記
    代替ウェブリソースに累積的にリダイレクトするように機能する複数のリダイレクトメッ
    セージを含む、
    請求項1に記載の方法。
JP2015547571A 2012-12-13 2013-12-12 通信システムにおけるクライアントデバイスのウェブブラウザでのリダイレクトされたウェブリソースの読み込み Active JP6325570B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261736981P 2012-12-13 2012-12-13
US61/736,981 2012-12-13
US14/103,437 2013-12-11
US14/103,437 US9344512B2 (en) 2012-12-13 2013-12-11 Loading a re-directed web resource on a web browser of a client device in a communications system
PCT/US2013/074805 WO2014093704A1 (en) 2012-12-13 2013-12-12 Loading a re-directed web resource on a web browser of a client device in a communications system

Publications (3)

Publication Number Publication Date
JP2016510445A JP2016510445A (ja) 2016-04-07
JP2016510445A5 JP2016510445A5 (ja) 2017-01-12
JP6325570B2 true JP6325570B2 (ja) 2018-05-16

Family

ID=50932236

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015547570A Expired - Fee Related JP6138964B2 (ja) 2012-12-13 2013-12-12 通信システムにおけるクライアントデバイスのウェブブラウザでのリダイレクトされたウェブページの読み込み
JP2015547571A Active JP6325570B2 (ja) 2012-12-13 2013-12-12 通信システムにおけるクライアントデバイスのウェブブラウザでのリダイレクトされたウェブリソースの読み込み

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015547570A Expired - Fee Related JP6138964B2 (ja) 2012-12-13 2013-12-12 通信システムにおけるクライアントデバイスのウェブブラウザでのリダイレクトされたウェブページの読み込み

Country Status (9)

Country Link
US (2) US9344512B2 (ja)
EP (2) EP2932691B1 (ja)
JP (2) JP6138964B2 (ja)
KR (2) KR20150095791A (ja)
CN (2) CN104854843B (ja)
EC (1) ECSP15030071A (ja)
SA (1) SA515360579B1 (ja)
TW (2) TWI508507B (ja)
WO (2) WO2014093704A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1224201A (en) 1999-10-22 2001-05-08 Nomadix, Inc. Systems and methods for dynamic bandwidth management on a per subscriber basis in a communications network
WO2008042804A2 (en) 2006-09-29 2008-04-10 Nomadix, Inc. Systems and methods for injecting content
US20110030037A1 (en) 2009-07-07 2011-02-03 Vadim Olshansky Zone migration in network access
US9137281B2 (en) 2012-06-22 2015-09-15 Guest Tek Interactive Entertainment Ltd. Dynamically enabling guest device supporting network-based media sharing protocol to share media content over local area computer network of lodging establishment with subset of in-room media devices connected thereto
US9344512B2 (en) * 2012-12-13 2016-05-17 Qualcomm Incorporated Loading a re-directed web resource on a web browser of a client device in a communications system
US9609575B2 (en) 2012-12-31 2017-03-28 T-Mobile Usa, Inc. Intelligent routing of network packets on telecommunication devices
US10375629B2 (en) * 2012-12-31 2019-08-06 T-Mobile Usa, Inc. Service preferences for multiple-carrier-enabled devices
WO2014188049A1 (en) * 2013-05-20 2014-11-27 Nokia Corporation Access to data source via proxy
WO2014193950A1 (en) * 2013-05-28 2014-12-04 Convida Wireless, Llc Data aggregation
US10592920B2 (en) * 2013-09-19 2020-03-17 Liveramp, Inc. Method and system for tracking user engagement on multiple third-party sites
EP3074863B1 (en) * 2013-11-27 2019-07-31 GMC Software AG System and method for testing data representation for different mobile devices
US9509661B2 (en) * 2014-10-29 2016-11-29 Aruba Networks, Inc. Method and apparatus for displaying HTTPS block page without SSL inspection
CN104408135B (zh) * 2014-11-27 2017-12-19 北京国双科技有限公司 网页热力图的加载方法和装置
CN104484399B (zh) * 2014-12-12 2017-11-21 北京国双科技有限公司 网页页面的跳转处理方法和装置
US10404808B2 (en) * 2015-09-14 2019-09-03 Colorado Code Craft Patent Holdco, LLC Secure, anonymous browsing with a remote browsing server
CN105306442B (zh) * 2015-09-17 2018-12-25 物联智慧科技(深圳)有限公司 代理服务器及其指令传输方法
US9832229B2 (en) 2015-12-14 2017-11-28 Bank Of America Corporation Multi-tiered protection platform
US9832200B2 (en) 2015-12-14 2017-11-28 Bank Of America Corporation Multi-tiered protection platform
US9992163B2 (en) 2015-12-14 2018-06-05 Bank Of America Corporation Multi-tiered protection platform
CN105978939A (zh) * 2016-04-25 2016-09-28 乐视控股(北京)有限公司 一种数据下载方法及设备
JP6786967B2 (ja) 2016-09-02 2020-11-18 コニカミノルタ株式会社 情報処理装置およびプログラム
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
WO2018058566A1 (en) * 2016-09-30 2018-04-05 Intel Corporation Extended memory for smm transfer monitor
CN106934019B (zh) * 2017-03-10 2020-02-14 深圳市商舟网科技有限公司 访问网站的方法和装置
GB2566341A (en) * 2017-04-03 2019-03-13 Google Llc Reducing redirects
US11025724B2 (en) * 2017-07-24 2021-06-01 Facebook, Inc. Transport of control data in proxy-based network communications
CN107959727B (zh) * 2017-12-14 2021-10-29 腾讯科技(深圳)有限公司 网页与客户端之间进行通讯的方法及装置
US11962665B2 (en) * 2018-06-07 2024-04-16 Cloudflare, Inc. Automatically redirecting mobile client devices to optimized mobile content
CN109726344A (zh) * 2018-11-26 2019-05-07 国云科技股份有限公司 一种服务器端对客户端识别后重定向到对应页面的方法
CN110401597B (zh) * 2019-07-11 2022-02-01 上海易点时空网络有限公司 单域名多子项目的路由方法及装置、存储介质
CN110890982B (zh) * 2019-11-22 2023-07-04 青岛海尔科技有限公司 一种用于配网的方法和接入设备、物联设备
CN111459589A (zh) * 2020-03-30 2020-07-28 深信服科技股份有限公司 重定向处理方法、虚拟桌面基础架构及可读存储介质
US11356502B1 (en) 2020-04-10 2022-06-07 Wells Fargo Bank, N.A. Session tracking
US11514129B1 (en) 2020-10-13 2022-11-29 Cisco Technology, Inc. Customizable redaptor extensions for single-page web applications
CN112351103B (zh) * 2020-11-10 2022-12-27 上海哔哩哔哩科技有限公司 资源管理方法及装置
KR102444356B1 (ko) * 2021-11-19 2022-09-16 주식회사 제론소프트엔 보안 강화 인트라넷 접속 방법 및 시스템

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080158B1 (en) * 1999-02-09 2006-07-18 Nortel Networks Limited Network caching using resource redirection
US7401115B1 (en) * 2000-10-23 2008-07-15 Aol Llc Processing selected browser requests
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US7099915B1 (en) 2000-06-30 2006-08-29 Cisco Technology, Inc. Server load balancing method and system
US6865605B1 (en) * 2000-10-04 2005-03-08 Microsoft Corporation System and method for transparently redirecting client requests for content using a front-end indicator to preserve the validity of local caching at the client system
US20020059371A1 (en) 2000-11-16 2002-05-16 Jamail John M. Caching proxy streaming appliance systems and methods
US6981210B2 (en) * 2001-02-16 2005-12-27 International Business Machines Corporation Self-maintaining web browser bookmarks
US6986047B2 (en) * 2001-05-10 2006-01-10 International Business Machines Corporation Method and apparatus for serving content from a semi-trusted server
US8108524B2 (en) * 2001-12-18 2012-01-31 Perftech, Inc. Internet connection user communications system
US7970816B2 (en) * 2002-03-01 2011-06-28 NetSuite Inc. Client-side caching of pages with changing content
US20030182424A1 (en) 2002-03-22 2003-09-25 Steve Odendahl Scriptable proxy server
US7441026B2 (en) * 2003-07-10 2008-10-21 Sun Microsystems, Inc. System and method for guarding against infinite loops from multi-point redirects in a multi-threaded environment
US20050060410A1 (en) 2003-09-11 2005-03-17 Nokia Corporation System and method for proxy-based redirection of resource requests
US9032096B2 (en) 2003-12-17 2015-05-12 Cisco Technology, Inc. Reducing the impact of network latency on application performance
US7873707B1 (en) * 2004-10-27 2011-01-18 Oracle America, Inc. Client-side URL rewriter
EP1829284B1 (en) 2004-12-22 2009-05-20 Research In Motion Limited System and method for enhancing network-browsing speed by setting a proxy server on a handheld device
US7647424B2 (en) * 2005-06-15 2010-01-12 Hostway Corporation Multi-level redirection system
US9009838B2 (en) * 2008-07-24 2015-04-14 Front Porch, Inc. Method and apparatus for effecting an internet user's privacy directive
US9268871B2 (en) * 2008-10-16 2016-02-23 Qualcomm Incorporated Methods and apparatus for obtaining content with reduced access times
CN101729328B (zh) 2008-10-27 2012-04-04 中兴通讯股份有限公司 自动配置服务器重定向方法及自动配置服务器
US8682327B2 (en) 2009-03-13 2014-03-25 Qualcomm Incorporated Resource search in a communication network
US8335819B2 (en) * 2009-12-31 2012-12-18 Nokia Corporation Method and apparatus for providing client-side caching
JP5581820B2 (ja) * 2010-06-04 2014-09-03 富士通株式会社 中継サーバ装置、クッキー制御方法およびクッキー制御プログラム
WO2012005636A1 (en) * 2010-07-05 2012-01-12 Telefonaktiebolaget L M Ericsson (Publ) Power consumption reduction in a user terminal
WO2012018556A2 (en) * 2010-07-26 2012-02-09 Ari Backholm Mobile application traffic optimization
US10296653B2 (en) * 2010-09-07 2019-05-21 F5 Networks, Inc. Systems and methods for accelerating web page loading
US8484373B2 (en) * 2010-10-25 2013-07-09 Google Inc. System and method for redirecting a request for a non-canonical web page
US8868638B2 (en) 2010-11-09 2014-10-21 Usablenet Inc. Methods for reducing latency in network connections using automatic redirects and systems thereof
US8984164B2 (en) 2010-11-09 2015-03-17 Usablenet Inc. Methods for reducing latency in network connections and systems thereof
US20150207660A1 (en) * 2011-12-12 2015-07-23 Google Inc. Client-side url redirection
US9344512B2 (en) * 2012-12-13 2016-05-17 Qualcomm Incorporated Loading a re-directed web resource on a web browser of a client device in a communications system

Also Published As

Publication number Publication date
EP2932686A1 (en) 2015-10-21
WO2014093704A1 (en) 2014-06-19
CN104854843A (zh) 2015-08-19
EP2932691B1 (en) 2016-09-07
US20140172945A1 (en) 2014-06-19
JP2016509277A (ja) 2016-03-24
CN104854844B (zh) 2018-05-22
CN104854844A (zh) 2015-08-19
KR20150095791A (ko) 2015-08-21
JP2016510445A (ja) 2016-04-07
JP6138964B2 (ja) 2017-05-31
US20140172946A1 (en) 2014-06-19
US9374436B2 (en) 2016-06-21
TW201431340A (zh) 2014-08-01
EP2932691A1 (en) 2015-10-21
ECSP15030071A (es) 2016-01-29
WO2014093699A1 (en) 2014-06-19
US9344512B2 (en) 2016-05-17
KR101756567B1 (ko) 2017-07-10
KR20150095790A (ko) 2015-08-21
TWI529540B (zh) 2016-04-11
TW201435618A (zh) 2014-09-16
TWI508507B (zh) 2015-11-11
EP2932686B1 (en) 2016-09-21
CN104854843B (zh) 2018-10-09
SA515360579B1 (ar) 2017-01-25

Similar Documents

Publication Publication Date Title
JP6325570B2 (ja) 通信システムにおけるクライアントデバイスのウェブブラウザでのリダイレクトされたウェブリソースの読み込み
US10813154B2 (en) Enabling interface aggregation of mobile broadband network interfaces
US11323502B2 (en) Transport method selection for delivery of server notifications
US20140250204A1 (en) Virtual channel joining
US20140344437A1 (en) Method and system for implementing a transparent proxy of an ios system
JP2016502177A (ja) 短縮urlにアクセスするためのプリエンプティブフレームワーク
US9900368B2 (en) Method for optimising downloading of data
EP4024955A1 (en) Path switching method, communication apparatus, and communication system
US20220132381A1 (en) User plane adaptation for mobile integrated access and backhaul
US11722858B2 (en) Domain selection for short message delivery including in 5G or other next generation networks
EP3213479A1 (en) Efficient group communications leveraging lte-d discovery for application layer contextual communication
US11917477B2 (en) Managing mobile device voice over Wi-Fi handover

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180220

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180412

R150 Certificate of patent or registration of utility model

Ref document number: 6325570

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150