JP5920903B2 - 遠隔ブラウジングセッション管理 - Google Patents

遠隔ブラウジングセッション管理 Download PDF

Info

Publication number
JP5920903B2
JP5920903B2 JP2014528467A JP2014528467A JP5920903B2 JP 5920903 B2 JP5920903 B2 JP 5920903B2 JP 2014528467 A JP2014528467 A JP 2014528467A JP 2014528467 A JP2014528467 A JP 2014528467A JP 5920903 B2 JP5920903 B2 JP 5920903B2
Authority
JP
Japan
Prior art keywords
computing device
content
client computing
persistent browsing
browsing context
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
JP2014528467A
Other languages
English (en)
Other versions
JP2014527676A (ja
Inventor
エイ. ジェンキンズ ジョナサン
エイ. ジェンキンズ ジョナサン
アール. テイラー ブレット
アール. テイラー ブレット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2014527676A publication Critical patent/JP2014527676A/ja
Application granted granted Critical
Publication of JP5920903B2 publication Critical patent/JP5920903B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • 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
    • 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/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Information Transfer Between Computers (AREA)

Description

一般的に説明されるならば、コンピューティングデバイスおよび通信ネットワークは、情報を交換するために利用され得る。一般的なアプリケーションにおいて、コンピューティングデバイスは、通信ネットワークを介して、別のコンピューティングデバイスからコンテンツを要求し得る。例えば、パーソナルコンピューティングデバイスにおけるユーザは、インターネットを介してサーバコンピューティングデバイスからウェブページを要求するために、ブラウザと典型的に称されるソフトウェアブラウザアプリケーションを利用し得る。そのような実施形態において、ユーザコンピューティングデバイスは、クライアントコンピューティングデバイスと称され得、サーバコンピューティングデバイスは、コンテンツプロバイダと称され得る。一般的に、ユーザは、ソフトウェアブラウザアプリケーションを通じて、同時にまたは順次に、いくつかの要求されたウェブページまたは他のコンテンツを要求し、それを得、それと対話してもよい。
例示的な実施例を参照して、クライアントコンピューティングデバイス上のブラウジング期間の一部として、ユーザは、インターネットを介するコンテンツプロバイダから、またはローカルソースから、1つ以上のウェブページまたは他のコンテンツを要求してもよい。1つの具体的な実施形態において、それぞれのウェブページまたは1つのコンテンツは、ソフトウェアブラウザアプリケーション内の1つ以上のウィンドウまたはタブにおいて表示されるように視覚的に表現されてもよい。例示的に、ユーザは、1つ以上のウェブページまたは他のコンテンツと対話してもよい。例えば、ユーザは、ウェブページ上のフォームにデータを入力しても、ウェブページまたは1つのコンテンツの属性を変更してもよい。ユーザは更に、ブラウジング期間中に、ソフトウェアブラウザアプリケーションにおいてタブまたはウィンドウを開くもしくは閉じても、リンクに従うかあるいは追加のウェブページもしくはコンテンツを要求しても、またはブラウザ、1つ以上のウェブページ、もしくは他のコンテンツの内部状態もしくは提示を修正し得る任意の数の他の活動を行ってもよい。ブラウズセッション中の時点で表示されたコンテンツ、コンテンツ状態、およびブラウザ状態は、ブラウジングコンテキストと称され得る。
一般的に、ソフトウェアブラウザアプリケーションを脱離することは、ブラウジング期間を終了し得、したがって、ブラウジング期間と関連付けられたブラウジングコンテキストが失われることになり得る。例えば、ウェブページに対応する複数の開いたタブと共にブラウザを閉じ、その後、ソフトウェアブラウザアプリケーションの新しいインスタンスを再び開くことは、新しいインスタンスに、デフォルトのウェブページを読み込ませるか、または元のブラウザの開いたタブに対応するウェブページのための新しい要求を送信させ得る。したがって、元のブラウザ内で表示されたウェブページの状態に対して行われる、任意のユーザ対話または変更は、新しいブラウザインスタンスにおいて表示されないであろう。依然として更には、異なるクライアントコンピューティングデバイス上でソフトウェアブラウザアプリケーションを開くユーザは、第1のクライアントコンピューティングデバイス上で開始されたブラウジング期間を継続することが不可能であり得る。
本発明の前述の態様およびそれらに付随する利点の多くは、それらが以下の詳細な説明を参照することによってより良く理解されるのと同様に、添付の図面と併せて読めば、より容易に理解されるであろう。
いくつかのクライアントコンピューティングデバイス、コンテンツプロバイダ、コンテンツ配信ネットワークサービスプロバイダ、およびネットワークコンピューティングプロバイダを含む、コンテンツ配信環境を例示するブロック図。 クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの、新しいブラウズセッション要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図。 ネットワークコンピューティングプロバイダからコンテンツプロバイダへの、ネットワークリソースのための要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図。 ネットワークコンピューティングプロバイダからコンテンツプロバイダおよびコンテンツ配信ネットワークへの、1つ以上の埋め込みリソースに対応する1つ以上の要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図。 ネットワークコンピューティングプロバイダとクライアントコンピューティングデバイスとの間のブラウズセッションデータおよびユーザ対話データの生成および処理を例示する、図1のコンテンツ配信環境のブロック図。 クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの、追加の新しいブラウズセッション要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図。 例示的なブラウザインターフェースおよびブラウズセッションコンテンツの表示を図示する、ユーザインターフェースの図。 一連の処理サブシステムとして例示的なブラウザコンテンツ処理行為を図示する図。 ネットワークコンピューティングプロバイダによって実装される新しいブラウズセッションルーチンを例示する流れ図。 クライアントコンピューティングデバイスによって実装されるクライアントの新しいブラウズセッション対話ルーチンを例示する流れ図。 クライアントコンピューティングデバイスによって実装される処理ユーザ対話ルーチンを例示する流れ図。 クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの、新しい持続的ブラウジングコンテキスト要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図。 クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの、既存の持続的ブラウジングコンテキストにアクセスする要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図。 クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの、追加の新しい持続的ブラウジングコンテキスト要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図。 例示的なブラウジングコンテキスト選択インターフェースを図示する、ユーザインターフェースの図。 クライアントコンピューティングデバイスによって実装されるクライアントの持続的ブラウジングルーチンを例示する流れ図。 ネットワークコンピューティングプロバイダによって実装される遠隔の持続的ブラウジングルーチンを例示する流れ図。
一般的に説明されるならば、本開示は、ネットワークコンピューティングプロバイダと連動した、クライアントコンピューティングデバイスとコンテンツプロバイダとの間での遠隔アプリケーションセッションの生成および管理を対象とする。具体的には、本開示の態様は、コンテンツプロバイダとのクライアントコンピューティングデバイスによる新しい持続的ブラウジングコンテキストのための要求に関して記載される。加えて、本開示の態様は、ネットワークコンピューティングプロバイダにおける遠隔の持続的ブラウジングコンテキストの確立に関して記載される。依然として更には、本開示の態様は、クライアントコンピューティングデバイスとネットワークコンピューティングプロバイダとの間の、ブラウザおよびクライアント状態データならびにクライアント対話データの伝送に関して記載される。本開示に記載される実施形態の態様は、例示の目的のために、ソフトウェアブラウジングアプリケーションに関連する持続的ブラウジングコンテキストの管理に焦点を当てているが、当業者であれば、本明細書に開示される技法が任意の数のソフトウェア処理またはアプリケーションに適用されてもよいことを理解するであろう。加えて、本開示は、説明される態様のいずれかの組み合わせを必要とするようには意図されない。更に、本開示の様々な態様は、例示的な実施例および実施形態に関して記載されるが、当業者であれば、開示される実施形態および実施例が限定するものとして解釈されるべきでないことを理解するであろう。
例示的な実施例を参照して、ユーザは、クライアントコンピューティングデバイスに、1つ以上のコンテンツプロバイダによって提供される、コンテンツにアクセスするためのソフトウェアブラウザアプリケーション(以下、「ブラウザ」と称される)を読み込ませてもよい。例示的には、アクセスされるコンテンツは、1つ以上のネットワークリソース(例えばウェブページ)、ならびに画像、ビデオ、オーディオ、テキスト、実行可能なコード、および他のリソース等の埋め込みリソースのコレクションを含んでもよい。一実施形態において、ブラウザは、ツールバー、メニュー、ボタン、または他のユーザインターフェース制御等の1つ以上のローカルインターフェースコンポーネントに加えて、コンテンツ表示区域またはアクセスされたネットワークコンテンツを表示するためのペインを有してもよい。ローカルインターフェースコンポーネントは、クライアントコンピューティングデバイスでローカルに実行するか、または実装されるソフトウェアブラウザアプリケーションもしくは任意の他の処理によって管理および制御されてもよい。例示的に、ユーザインターフェース制御をローカルに管理することは、ユーザによる対話がクライアントコンピューティングデバイス上でローカルに処理されるときに、応答性のユーザインターフェースを可能にし得る。
ブラウザが読み込まれた後、一実施形態において、クライアントコンピューティングデバイスは、持続的ブラウジングコンテキストと関連付けられるべき1つ以上の持続的ブラウジングコンテキスト選好または他のバックグラウンド情報(例えば、ブックマーク、ブラウザ履歴等)を定義または識別する、持続的ブラウジングコンテキスト環境情報を、ネットワークコンピューティングプロバイダと交換してもよい。更なる実施形態において、持続的ブラウジングコンテキスト環境情報は、クライアントコンピューティングデバイスにとってアクセス可能であり得るネットワークコンピューティングプロバイダにおいて、1つ以上の既存の持続的ブラウジングコンテキストを識別する情報を含んでもよい。持続的ブラウジングコンテキスト環境情報の交換の後、その前、またはそれと同時に、クライアントコンピューティングデバイスは、新しい持続的ブラウジングコンテキスト要求をネットワークコンピューティングプロバイダに提供してもよい。持続的ブラウジングコンテキスト要求にサービス提供することが可能なネットワークコンピューティングプロバイダのアドレスまたは位置は、ブラウザにハードコードされてもよく、ユーザによって構成可能であってもよく、ネットワークアドレスサービスから得られてもよく、または任意の他の様式で決定されてもよい。
例示的な実施形態において、クライアントコンピューティングデバイスから受信された持続的ブラウジングコンテキスト要求に応答して、ネットワークコンピューティングプロバイダは、ブラウザソフトウェアアプリケーションをホストするネットワークコンピューティングプロバイダと関連付けられた1つ以上のコンピューティングコンポーネントをインスタンス化するか、またはそれがインスタンス化されるようにしてもよい。例えば、ネットワークコンピューティングプロバイダは、持続的ブラウジングコンテキストを維持することが可能なソフトウェアブラウザアプリケーションを含む、仮想マシンのインスタンスをインスタンス化するか、またはそれがインスタンス化されるようにすることができる。別の例においては、ネットワークコンピューティングプロバイダは、持続的ブラウジングコンテキストを備える様々なコンテンツ、コンテンツ状態、およびブラウザ状態に対応するデータを記憶するためのデータストアをインスタンス化または識別してもよい。
例示的に、クライアントコンピューティングデバイスは、要求されたコンテンツのための1つ以上のソースを識別する情報を含む、1つ以上のコンテンツ要求をネットワークコンピューティングプロバイダに提供してもよい。識別子は、ウェブサイトまたは他のネットワークにアクセス可能な1つのコンテンツ等の、ネットワークリソースのネットワークアドレスの形態である可能性がある。例えば、ユーザは、URL(例えばhttp://www.xyzwebsite.com)を選択するか、またはそれをブラウザウィンドウに入力して、クライアントコンピューティングデバイスが、選択されたURLを含む新しいコンテンツのための要求をネットワークコンピューティングプロバイダに伝送するようにしてもよい。
1つ以上のコンテンツ要求に応答して、ネットワークコンピューティングプロバイダは、新しいコンテンツ要求のうちの1つ以上のための新しい遠隔ブラウズセッションを作成してもよい。ネットワークコンピューティングプロバイダは、1つ以上のコンテンツプロバイダ、コンテンツ配信ネットワーク、またはローカルもしくは関連付けられたキャッシュコンポーネントから、識別されたネットワークリソース(複数可)を要求してもよい。例えば、インスタンス化されたネットワークコンピューティングコンポーネント上のブラウザソフトウェアアプリケーションは、一次ネットワークリソースを処理し、次いで、1つ以上の埋め込みリソース識別子(例えば写真、ビデオファイル等)で識別されたコンテンツのための追加のコンテンツ要求を生成することができる。例示的に、他の非ブラウザによるアプリケーションの場合において、ネットワークリソースまたはコンテンツは、当該技術分野において既知の、特定のソフトウェアアプリケーションによってサポートされる、いずれのファイルの種類または形式も含んでもよい。
初期に要求されたコンテンツ(例えば、要求されたネットワークリソースおよび埋め込みリソース)を得た後に、ネットワークコンピューティングプロバイダは、クライアントコンピューティングデバイス上で実行されているブラウザと、コンピューティングおよびストレージプロバイダ上のインスタンス化されたネットワークコンピューティングコンポーネントで実行されているブラウザとの間の、要求されたコンテンツ、ユーザ対話データ、中間処理結果、および他の情報の伝送に使用するための遠隔セッション通信プロトコルを指定する遠隔セッションブラウジング構成を識別してもよい。インスタンス化されたネットワークコンピューティングコンポーネント上のブラウザとクライアントコンピューティングデバイス上のブラウザとの間で交換された情報は、「ブラウザセッション情報」と一般に称され得る。
クライアントコンピューティングデバイスとインスタンス化されたネットワークコンピューティングコンポーネントとの間で情報を伝送するために遠隔セッション通信プロトコルを指定することに加えて、一実施形態において、識別された遠隔セッションブラウジング構成は、要求されたコンテンツ上で実行される1つ以上の処理行為が、クライアントコンピューティングデバイスではなく、またはこれに加えて、ネットワークコンピューティングプロバイダで行われることを指定してもよい。選択された遠隔セッションブラウジング構成により、クライアントコンピューティングデバイスおよびインスタンス化されたネットワークコンピューティングコンポーネントは、処理結果等のブラウザセッション情報(例えば、要求されたコンテンツを表現する状態データまたは表示データ)、ユーザ対話情報、および後続のコンテンツ要求を交換してもよい。クライアントコンピューティングデバイスは、ユーザのために処理結果および他のブラウザセッション情報を表示し、ネットワークコンピューティングプロバイダに提供するためのユーザからの様々な入力および対話を承諾し得る。したがって、いくつかの実施形態において、ユーザは、あたかもユーザが要求されたコンテンツをクライアントコンピューティングデバイスでローカルに処理していたかの場合と同様に、要求されたコンテンツを経験し得る。
持続的ブラウジングコンテキストを確立し、コンテンツを要求した後、ユーザは、クライアントコンピューティングデバイスでブラウジング期間を終了することを選んでもよい。例えば、ユーザは、クライアントコンピューティングデバイス上でブラウザを閉じるもしくは離脱するか、クライアントコンピューティングデバイスの電源を切るか、またはクライアントコンピューティングデバイス上のブラウザで表示されたコンテンツから単に注意をそらしてもよい。例示的に、持続的ブラウジングコンテキストは、ユーザが、クライアントデバイスでブラウザアプリケーションとの対話を終了したかどうかに関わらず、ネットワークコンピューティングプロバイダにおいて維持されてもよい。例えば、ネットワークコンピューティングプロバイダは、ネットワークコンピューティングプロバイダで走っている持続的ブラウジングコンテキストと関連付けられたソフトウェアブラウザアプリケーションの1つ以上のコンポーネントを維持してもよく、持続的ブラウジングコンテキスト状態と関連付けられた情報を記憶してもよく、またはそれらの任意の組み合わせであってもよい。
例示的に、ユーザは、何らかの後の時点で更に、持続的ブラウジングコンテキストと対話することを選んでもよい。例えば、ユーザは、クライアントコンピューティングデバイスでソフトウェアブラウザアプリケーションの新しいインスタンスを開いてもよく、または第2のクライアントコンピューティングデバイス上でソフトウェアブラウザアプリケーションの新しいインスタンスを開き、持続的ブラウジングコンテキストへのアクセスを要求してもよい。したがって、クライアントコンピューティングデバイスは、ネットワークコンピューティングおよびストレージデバイスにおいて維持される持続的ブラウジングコンテキストへのアクセスを要求してもよい。ネットワークコンピューティングおよびストレージデバイスは、持続的ブラウジングコンテキストと関連付けられたブラウザセッション情報(例えば、コンテンツおよび状態と関連付けられた処理結果)を、ブラウザ内の表示のためにクライアントコンピューティングデバイスに提供してもよい。クライアントコンピューティングデバイスのブラウザは、ブラウザセッション情報を処理して、クライアントコンピューティングデバイスでコンテンツの表現を表示してもよい。例示的に、ユーザの観点から、クライアントコンピューティングデバイスで表示されたコンテンツの状態および外観はしたがって、複製であるように見えるか、またはユーザが先のブラウジング期間を終了する前のコンテンツの状態および外観と同様に見える場合がある。
図1は、コンテンツ要求の管理および処理のためのネットワーク化されたコンピューティング環境100を例示するブロック図である。図1で例示されるように、ネットワーク化されたコンピューティング環境100は、コンテンツプロバイダ104、CDNサービスプロバイダ106、またはネットワークコンピューティングプロバイダ107からのコンテンツおよびコンテンツ処理を要求するための、いくつかのクライアントコンピューティングデバイス102(クライアントと一般に称される)を含む。例示的な実施形態において、クライアントコンピューティングデバイス102は、パーソナルコンピューティングデバイス、ラップトップコンピューティングデバイス、携帯式コンピューティングデバイス、端末コンピューティングデバイス、携帯デバイス(例えば、携帯電話、タブレットコンピューティングデバイス等)無線デバイス、様々な電子デバイスおよび器具等を含む、広範なコンピューティングデバイスに対応することができる。後続の図において、クライアントコンピューティングデバイス102は、例示の目的のために、クライアントコンピューティングデバイス102Aおよびクライアントコンピューティングデバイス102Bとして個々にラベル付けされ得る。それぞれのクライアントコンピューティングデバイス102Aおよび102Bは、互いにまたは任意の他のクライアントコンピューティングデバイス102と同じであっても、それと異なってもよいことが理解されるべきである。更に、例示の目的のために、ここでは2つのクライアントコンピューティングデバイス102が図示されるが、任意の数のクライアントコンピューティングデバイス102が、開示される対象物と関連付けられて利用されてもよいことが理解されるべきである。例示的な実施形態において、クライアントコンピューティングデバイス102は、ワイドエリアネットワークまたはローカルエリアネットワーク等の通信ネットワーク108を介する通信を確立するために必要なハードウェアおよびソフトウェアコンポーネントを含む。例えば、クライアントコンピューティングデバイス102は、インターネットまたはイントラネットを介する通信を容易にする、ネットワーク化機器およびブラウザソフトウェアアプリケーションを装備されてもよい。クライアントコンピューティングデバイス102は、中央処理装置およびアーキテクチャ、メモリ、大容量ストレージ、グラフィック処理ユニット、通信ネットワークの利用可能性および帯域等の、様々なローカルコンピューティングリソースを有してもよい。
ネットワーク化されたコンピューティング環境100はまた、通信ネットワーク108を介して1つ以上のクライアントコンピューティングデバイス102または他のサービスプロバイダ(例えば、CDNサービスプロバイダ106、ネットワークコンピューティングプロバイダ107等)と通信する、コンテンツプロバイダ104も含み得る。図1で例示されるコンテンツプロバイダ104は、コンテンツプロバイダと関連付けられた1つ以上のコンピューティングデバイスの論理的関連付けに対応する。具体的には、コンテンツプロバイダ104は、クライアントコンピューティングデバイス102または他のサービスプロバイダからのコンテンツ(ウェブページ等)のための要求を得て、それを処理するための1つ以上のサーバコンピューティングデバイスに対応する、ウェブサーバコンポーネント110を含み得る。コンテンツプロバイダ104は、CDNサービスプロバイダからのネットワークリソースのための要求を得て、それを処理するための1つ以上のコンピューティングデバイスに対応する、元のサーバコンポーネント112および関連付けられたストレージコンポーネント114を更に含み得る。コンテンツプロバイダ104は、ストリーミングコンテンツ要求を処理するためのデータストリーミングサーバ等の、アプリケーションサーバコンピューティングデバイス111を依然として更に含み得る。当業者であれば、コンテンツプロバイダ104が、コンテンツおよびリソース、DNSネームサーバ等の管理のための追加のコンピューティングデバイス等の、様々な追加のコンピューティングリソースと関連付けられ得ることを理解するであろう。例えば、図1で例示されないが、コンテンツプロバイダ104は、コンテンツプロバイダのドメインに対応するクライアントコンピューティングデバイスのDNSクエリを解決する権限がある、1つ以上のDNSネームサーバコンポーネントと関連付けられ得る。
続けて図1を参照して、ネットワーク化されたコンピューティング環境100は、通信ネットワーク108を介して1つ以上のクライアントコンピューティングデバイス102および他のサービスプロバイダと通信する、CDNサービスプロバイダ106を更に含み得る。図1で例示されるCDNサービスプロバイダ106は、CDNサービスプロバイダと関連付けられた1つ以上のコンピューティングデバイスの論理的関連付けに対応する。具体的には、CDNサービスプロバイダ106は、通信ネットワーク108上のノードに対応する、いくつかのポイントオブプレゼンス(Point of Presence(「POP」))位置116、122、128を含み得る。それぞれのCDN POP116、122、128は、クライアントコンピュータ102からのDNSクエリを解決するためのいくつかのDNSサーバコンピューティングデバイスからなる、DNSコンポーネント118、124、130を含む。それぞれのCDN POP116、122、128はまた、コンテンツプロバイダからのリソースを記憶し、様々な要求リソースを様々なクライアントコンピュータに伝送するためのいくつかのキャッシュサーバコンピューティングデバイスからなる、リソースキャッシュコンポーネント120、126、132も含む。DNSコンポーネント118、124、および130、ならびにリソースキャッシュコンポーネント120、126、132は、負荷分散または負荷分割ソフトウェア/ハードウェアのコンポーネントを含むが、これらに限定されない、通信を容易にする、追加のソフトウェアおよび/またはハードウェアコンポーネントを更に含んでもよい。
例示的な実施形態において、DNSコンポーネント118、124、130およびリソースキャッシュコンポーネント120、126、132は、コンポーネントまたはコンポーネントの一部が物理的に別個であるかどうかに関わらず、論理的にグループ化されていると見なされる。加えて、CDN POP116、122、128は、CDNサービスプロバイダ106と論理的と関連付けられたものとして図1で例示されるが、CDN POPは、クライアントコンピューティングデバイス102の様々な人口統計を最良に機能させる様式で、通信ネットワーク108全体に地理的に分散されるであろう。加えて、当業者であれば、CDNサービスプロバイダ106がコンテンツおよびリソースの管理のための追加のコンピューティングデバイス等の、様々な追加のコンピューティングリソースと関連付けられ得ることを理解するであろう。
更に続けて図1を参照して、ネットワーク化されたコンピューティング環境100はまた、通信ネットワーク108を介して1つ以上のクライアントコンピューティングデバイス102、CDNサービスプロバイダ106、およびコンテンツプロバイダ104と通信する、ネットワークコンピューティングプロバイダ107も含み得る。図1で例示されるネットワークコンピューティングプロバイダ107はまた、ネットワークコンピューティングプロバイダと関連付けられた、1つ以上のコンピューティングデバイスの論理的関連付けにも対応する。具体的には、ネットワークコンピューティングプロバイダ107は、通信ネットワーク108上のノードに対応する、いくつかのポイントオブプレゼンス(「POP」)位置134、142、148を含み得る。それぞれのPOP134、142、148は、仮想マシンのいくつかのインスタンスを介する、データストリーミングアプリケーション等の、アプリケーションをホストするためのネットワークコンピューティングコンポーネント(NCC)136、144、150を含み、一般的に、NCCのインスタンスと称される。当業者であれば、NCC136、144、150が、仮想マシンの複数のインスタンスを提供するか、または仮想マシンのインスタンスの作成を動的に引き起こすための、物理的コンピューティングデバイスリソースおよびソフトウェアを含むことを理解するであろう。そのような作成は、クライアントコンピューティングデバイスから等の、特定の要求に基づくことができ、またはNCCは、独力で仮想マシンのインスタンスの動的作成を開始し得る。それぞれのNCC POP134、142、148はまた、NCC136、144、150のインスタンスによって処理され、様々なクライアントコンピュータ等に送信されるコンテンツプロバイダからのユーザデータ、状態情報、処理要件、履歴使用データ、およびリソースを備えるが、これらに限定されない、ネットワークまたはコンピューティングリソースの配信または処理において使用される任意の種類のデータを記憶するための、いくつかのストレージデバイスからなる、ストレージコンポーネント140、146、152も含む。いくつかの実施形態において、ネットワークコンピューティングプロバイダ107は、ネットワークコンピューティングおよびストレージプロバイダとして見なされてもよい。NCC136、144、150およびストレージコンポーネント140、146、152は、要求されたアプリケーションをサポートし、および/または情報をDNSネームサーバに提供し、要求ルーティングを容易にする、仮想マシンのインスタンスを選択するための負荷分散または負荷分割のソフトウェア/ハードウェアコンポーネントを含むが、これらに限定されない、通信を容易にする追加のソフトウェアおよび/またはハードウェアコンポーネントを更に含んでもよい。
例示的な実施形態において、NCC136、144、150およびストレージコンポーネント140、146、152は、コンポーネントまたはコンポーネントの一部が物理的に別個であるかどうかに関わらず、論理的にグループ化されていると見なされる。例えば、ネットワークコンピューティングプロバイダ107は、NCCおよびストレージコンポーネントを提供するための別個のPOPを維持してもよい。加えて、NCC POP134、142、148は、ネットワークコンピューティングプロバイダ107と論理的と関連付けられたものとして図1で例示されるが、NCC POPは、クライアントコンピューティングデバイス102の様々な人口統計を最良に機能させる様式で、通信ネットワーク108全体に地理的に分散されるであろう。加えて、当業者であれば、ネットワークコンピューティングプロバイダ107が、コンテンツおよびリソースの管理のための追加のコンピューティングデバイス等の、様々な追加のコンピューティングリソースと関連付けられ得ることを理解するであろう。なおも更に、当業者であれば、ネットワークコンピューティングプロバイダ107のコンポーネントおよびCDNサービスプロバイダ106のコンポーネントが同じまたは異なるエンティティによって管理され得ることを理解するであろう。
ここで図2〜6を参照して、図1のネットワーク化されたコンピューティング環境100の様々なコンポーネントの間の対話が例示される。具体的には、図2〜6は、ネットワークコンピューティングプロバイダ107を介する、クライアントコンピューティングデバイス102とコンテンツプロバイダ104との間のコンテンツの交換のためのネットワーク化されたコンピューティング環境100の様々なコンポーネントの間の対話を例示する。しかしながら、実施例の目的のために、図示は、簡略化されており、したがって、通信を容易にするために使用されるコンポーネントの多くは示されない。当業者であれば、そのようなコンポーネントが利用され得、それに応じて、本開示の趣旨および範囲を逸脱することなく追加の対話が行われることを理解するであろう。
図2を参照して、処理は、クライアントコンピューティングデバイス102からネットワークコンピューティングプロバイダ107へのブラウズセッション要求を生成および処理することから開始し得る。例示的に、クライアントコンピューティングデバイス102は、イベントまたはユーザ要求に応答してネットワークコンテンツを見るためのブラウザを読み込んでもよい。ブラウザが読み込まれた後、ブラウザは、新しいブラウズセッションを要求するために実装されてもよい。クライアントコンピューティングデバイスのユーザの観点から、新しいブラウズセッションのための要求は、要求を1つ以上の対応するコンテンツプロバイダ104に伝送するための意図される要求に対応する。例示的に、この要求は、ブラウザ読み込み(例えば、既定または「ホーム」ページのための要求)の結果として自動的に生成されてもよく、またはユーザがリンクに従うか、またはネットワークアドレスをアドレスバーに入力することの結果として生成されてもよい。図2で例示されるように、ブラウズセッション要求は、最初にネットワークコンピューティングプロバイダ107に伝送される。例示的な実施形態において、ネットワークコンピューティングプロバイダ107は、登録のアプリケーションプログラムインターフェース(「API」)を利用して、クライアントコンピューティングデバイス102からのブラウズセッション要求を承諾する。ブラウズセッション要求は、要求されたネットワークリソースに対応するネットワークアドレス情報を含むことができ、これは、インターネットプロトコル(「IP」)アドレス、URL、メディアアクセス制御(Media Access 制御(「MAC」))アドレス等を含むが、これらに限定されない、任意の形態であってもよい。
ブラウズセッション要求の受信後、ネットワークコンピューティングプロバイダ107は、ブラウズセッション要求にサービス提供するためのNCC POP142等の、関連付けられたネットワークコンピューティングコンポーネント(以下、「NCC」)のポイントオブプレゼンス(以下、「POP」)を選択してもよい。NCC POPの選択は、インスタンス化された仮想マシンに利用可能な、処理およびネットワークリソースを決定してもよい。NCC POPインスタンス時の処理およびネットワークリソースの選択およびソフトウェアの提供は、少なくともある程度、コンテンツプロバイダ104およびクライアントコンピューティングデバイス102との通信を最適化するために行われてもよい。
図3を参照して、ネットワークコンピューティングプロバイダ107からコンテンツプロバイダ104へのネットワークリソースのための要求の生成および処理のための例示的な対話が記載される。図3で例示されるように、選択されたNCC POP142は、上の図2に図示される例示的なブラウズセッション要求等の、ブラウズセッション要求に基づいて、1つ以上のコンテンツプロバイダに対応するブラウズセッションを生成してもよい。例示的に、新しいブラウズセッションインスタンスをインスタンス化することは、NCC POP142で新しい仮想マシンインスタンスおよび/またはブラウザインスタンスを読み込み、新しいブラウズセッションのためのデバイスメモリ、ストレージもしくはキャッシュ領域、プロセッサ時間、ネットワーク帯域、または他の計算的もしくはネットワークリソースを予約し、または割り当てることを含んでもよい。
新しいブラウズセッションインスタンスを初期化した後、NCC POP142は、ブラウズセッション要求に含まれるネットワークアドレスに基づいて、ネットワークリソースのための要求をコンテンツプロバイダ104に提供してもよい。例えば、ブラウズセッション要求は、「http://www.xyzsite.com/default.htm」等の、ウェブページのためのURLを含んでもよい。NCC POP142は、ネットワークコンピューティングプロバイダ(図示せず)と関連付けられたDNSリゾルバによって、URLをIPアドレスに解決してもよく、解決されたIPアドレスにおける、コンテンツプロバイダ104からのウェブページを要求してもよい。様々な実施形態において、ネットワークリソースは、コンテンツプロバイダ、コンテンツ配信ネットワーク(以下、「CDN」)サーバ、またはネットワークコンピューティングプロバイダ107と関連付けられたキャッシュのいずれかの組み合わせから取り出されてもよい。例えば、ネットワークコンピューティングプロバイダは、リソースが、ローカルキャッシュまたは別のサーバもしくはネットワークコンピューティングプロバイダ107と関連付けられたサービスプロバイダに記憶されているかどうかを確認してもよい。ネットワークリソースがローカルまたは関連付けられた位置に記憶される場合、NCC POP142は、第三者のコンテンツプロバイダ104またはCDNサービスプロバイダ106からではなく、ローカルまたは関連付けられた位置からネットワークリソースを取り出してもよい。例示的に、NCC POP142は、ブラウズセッション要求に含まれる任意の数のネットワークリソースのための要求を提供してもよく、任意の数の異なるソースからこれらのネットワークリソースを順次または並行して得てもよい。
図3で例示されるように、コンテンツプロバイダ104は、NCC POP142からのリソース要求を受信し、それに応じて要求を処理する。一実施形態において、コンテンツプロバイダ104は、あたかもそれが元々、クライアントコンピューティングデバイス102によって提供されたかのように、リソース要求を処理する。例えば、コンテンツプロバイダ104は、要求するクライアントコンピューティングデバイス102の要件に応じて、コンテンツの種類、コンテンツの並び順、またはコンテンツのバージョンを選択してもよい。別の実施形態において、コンテンツプロバイダ104は、要求されたコンテンツ(例えば、処理リソースまたはネットワーク帯域の利用可能量)を提供する際に利用するためのNCC POP142と関連付けられた情報を提供する、情報を提供されてもよい。
コンテンツプロバイダ104からの要求されたネットワークリソース(またはコンテンツプロバイダによって指定された他のソース)を得た後、NCC POP142は、ネットワークリソースを処理し、埋め込みリソース識別子を抽出し、遠隔セッションブラウジング構成の決定のための情報を集めてもよい。例えば、ウェブページ等のネットワークリソースは、埋め込みCSSスタイル情報およびJavascript、ならびにテキスト、画像、ビデオ、オーディオ、アニメーション、実行可能なコード、および他のHTML、CSS、およびJavascriptファイル等の追加のリソースに対する埋め込みリソース識別子を含んでもよい。埋め込みリソース識別子を抽出する処理において、NCC POP142は、図4を参照して下に論じられる、遠隔セッションブラウジング構成の決定の際に後で使用するための処理済みネットワークリソースについての情報を集めてもよい。
図4を参照して、ネットワークコンピューティングプロバイダからコンテンツプロバイダおよびコンテンツ配信ネットワークへの1つ以上の埋め込みリソースに対応する、1つ以上の要求の生成および処理のための例示的な対話が開示される。図4で例示されるように、選択されたNCC POP142は、コンテンツプロバイダ104およびCDN POP116等の、コンテンツの1つ以上のソースにリソース要求を提供してもよい。リソース要求は、上の図3に記載される要求されたネットワークリソース(例えば、ウェブページ)から抽出された1つ以上の埋め込みリソース識別子に基づいて、埋め込みリソースに対応してもよい。様々な実施形態において、埋め込みリソースは、ネットワークコンピューティングプロバイダ107と関連付けられたコンテンツプロバイダ、CDNサーバ、またはキャッシュのいずれかの組み合わせから取り出されてもよい。例えば、ネットワークコンピューティングプロバイダは、埋め込みリソースが、ローカルキャッシュまたは別のサーバもしくはネットワークコンピューティングプロバイダ107と関連付けられたサービスプロバイダに記憶されているかどうかを確認してもよい。埋め込みリソースがローカルまたは関連付けられた位置に記憶される場合、NCC POP142は、第三者のコンテンツプロバイダまたはCDNではなく、ローカルまたは関連付けられた位置から埋め込みリソースを取り出してもよい。例示的に、NCC POP142は、ネットワークリソースによって参照される、任意の数の埋め込みリソースのための要求を提供してもよく、任意の数の異なるソースからこれらの埋め込みリソースを順次または並行して得てもよい。要求されたリソースを得た後、NCC POP142は、リソースおよび要求されたコンテンツを処理し、クライアントコンピューティングデバイス102へのコンテンツの処理および通信のための遠隔セッションブラウジング構成を決定してもよい。
図5を参照して、ネットワークコンピューティングプロバイダとクライアントコンピューティングデバイスとの間の、処理結果およびユーザ対話データの生成および処理のための例示的な対話が開示される。前述のように、一実施形態において、インスタンス化されたネットワークコンピューティングコンポーネントおよびクライアントコンピューティングデバイス102上のそれぞれのブラウザは、インスタンス化されたネットワークコンピューティングコンポーネントおよびクライアントコンピューティングデバイスでの要求されたリソースの割り当ておよび処理に関する、ブラウザのセッション情報を交換し得る。図5で例示されるように、選択されたNCC POP142は、ネットワーク108を介して、初期処理結果をクライアントコンピューティングデバイス102に提供してもよい。初期処理結果は、上の図4に記載される選択された遠隔セッションブラウジング構成に従って、NCC POP142によって処理された、関連付けられた埋め込みリソースと共に、ウェブページ等の要求されたネットワークコンテンツに対応してもよい。NCC POP142は、どの追加の処理がNCC POP142、クライアントコンピューティングデバイス102、または両方で実行されるかの決定も行う。初期処理結果および処理の割り当てを受信した後、クライアントコンピューティングデバイス102は、選択された遠隔セッションブラウジング構成によって必要とされる初期処理結果に、任意の残存処理行為を行ってもよく、ブラウザのコンテンツ表示区域で完全に処理されたコンテンツを表示してもよい。クライアントコンピューティングデバイス102は、ローカルインターフェースコンポーネントまたはコンテンツ要素との任意のローカルユーザ対話をローカルに処理してもよく、遠隔処理を必要とするユーザ対話をネットワークコンピューティングプロバイダ107に提供してもよい。ネットワークコンピューティングプロバイダ107は、クライアントコンピューティングデバイスからのコンテンツまたは遠隔ユーザ対話データに対する変更に応答して、更新された処理結果をクライアントコンピューティングデバイスに提供してもよい。
図6を参照して、クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの追加の新しいブラウズセッション要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図が開示される。図6で例示されるように、第2の新しいブラウズセッション要求は、ネットワーク108をまたいで、クライアントコンピューティングデバイス102からネットワークコンピューティングプロバイダ107に送信されてもよい。例示的な実施形態において、ネットワークコンピューティングプロバイダ107は、登録APIを使用し、クライアントコンピューティングデバイス102からのブラウズセッション要求を承諾する。
追加のブラウズセッション要求は、ユーザが、新しいコンテンツ表示区域を有する新しいブラウザウィンドウを開くこと、既存のブラウザウィンドウで新しいコンテンツ表示区域を開くこと(例えば、ブラウザで新しいタブを開くこと)、既存のコンテンツ表示区域で新しいネットワークコンテンツを要求すること(例えば、新しいネットワークリソースへのリンクに従うこと、または新しいネットワークアドレスをブラウザに入力すること)、または任意の他のユーザ対話に応答して、クライアントコンピューティングデバイス102によって生成されてもよい。例えば、第1のブラウズセッションインスタンスに対応する第1のウェブページを閲覧するユーザは、第2のウェブページを表示するために新しいタブまたはブラウザウィンドウを開く、リンクに従ってもよい。一実施形態において、第2のウェブページと関連付けられたコンテンツを得て、それを処理する、いずれの要求されるステップも、ブラウザが両方のリソース要求の処理を扱い得る、現在インスタンス化されているネットワークコンピューティングコンポーネントによって行われてもよい。別の実施形態において、クライアントコンピューティングデバイス102の要求は、第2のウェブページのネットワークアドレスを含む、ネットワークコンピューティングプロバイダ107への新しいブラウズセッション要求として、処理されてもよい。この実施形態において、クライアントコンピューティングデバイス上のブラウザは、別個のブラウズセッションを具体的に要求しない場合があり、クライアントコンピューティングデバイス102上でのブラウザとのユーザの対話は、同じブラウジングセッションの一部であるように見える場合がある。図2および3に関して上述されるように、ネットワークコンピューティングプロバイダ107は、第2のウェブページと関連付けられたコンテンツを得て、それを処理するためのネットワークコンピューティングコンポーネントのインスタンス化を引き起こしてもよい。他の実施形態において、新しいブラウズセッション要求は、ネットワークリソース(例えば、ウェブページのフレーム)のセクション、個々のネットワークリソース、または埋め込みリソース自体、コンテンツの組に含まれたデータオブジェクト、もしくは個々のネットワークリソースに対応する、クライアントコンピューティングデバイス102によって生成されてもよい。
例示的に、追加のブラウズセッション要求は、ユーザと関連付けられた情報、クライアントコンピューティングデバイス102(例えば、ハードウェアもしくはソフトウェア情報、デバイスの物理的もしくは論理的位置等)と関連付けられた情報、ネットワーク108と関連付けられた情報、ユーザまたはブラウザの選好(例えば、要求された遠隔セッションブラウズプロトコル、選好一覧、決定ツリー、または他の情報)、ネットワークコンピューティングプロバイダ107と関連付けられた情報、1つ以上の要求されたネットワークコンテンツ(例えば、ネットワークリソースのネットワークアドレス)と関連付けられた情報等を含むが、これらに限定されない、任意の数のデータまたは情報を含んでもよい。要求されたコンテンツは、ウェブページもしくは他のドキュメント、テキスト、画像、ビデオ、オーディオ、実行可能なスクリプトもしくはコード、または任意の他の種類のデジタルリソースを含む、任意の様式のデジタルコンテンツを含んでもよい。
ブラウズセッション要求の受信後、ネットワークコンピューティングプロバイダ107は、NCC POP142等の、関連付けられたネットワークコンピューティングコンポーネントを選択し、ブラウズセッション要求にサービス提供してもよい。図2を参照して上述されるように、ネットワークコンピューティングプロバイダ107は、NCC POPを選択して、利用可能なNCC POPリソース(例えば、利用可能なメモリ、プロセッサ負荷、ネットワーク負荷等)、NCC POPでブラウズセッション要求にサービス提供する財務コスト、クライアントコンピューティングデバイス102に対するNCC POP位置、コンテンツプロバイダ112、またはCDN POP116、NCC POPキャッシュ状態(例えば、要求されたリソースがNCC POPキャッシュにすでに記憶されているかどうか)等を含むが、これらに限定されない、任意の数の要因に基づいて、ブラウズセッション要求にサービス提供してもよい。一実施形態において、ネットワークコンピューティングプロバイダ107は、ブラウズセッション要求にサービス提供するためにいくつかのNCC POPを選択してもよい。例示的に、ネットワークコンピューティングプロバイダ107は、例示の目的のために、ここではNCC POP142を選択しているものとして図示されるが、ネットワークコンピューティングプロバイダ107は、任意の現存するNCC POPを選択し、ブラウズセッション要求にサービス提供してもよい。例えば、単一のクライアントコンピューティングデバイス102は、異なるネットワークリソースに対応するネットワークコンピューティングプロバイダ107に、3つの異なるブラウズセッション要求を同時に、または順次に提供してもよい。ネットワークコンピューティングプロバイダ107は、それぞれのブラウズセッション要求のための異なるNCC POP、全ての3つのブラウズセッション要求のための同じNCC POP、またはそれらの任意の組み合わせを選択してもよい。上述のように、以前のブラウズセッション要求または同時に起こるブラウズセッション要求のために利用されたものとは異なるNCC POPを選択するかどうかの決定は、利用可能なシステムリソースに基づいて、無作為に、または上述のおよび図2に関して記載される任意の他の要因に従って行われてもよい。
図7は、例示的なブラウザインターフェースおよびブラウズセッションコンテンツの表示を図示する、ユーザインターフェース図である。図5を参照して上述されるように、ブラウザ700は、コンテンツ表示区域702、ならびに1つ以上のローカルインターフェースコンポーネントを有してもよい。これらのローカルインターフェースコンポーネントは、ツールバー、メニュー、ボタン、アドレスバー、スクロールバー、ウィンドウサイズ変更制御、または任意の他のユーザインターフェース制御を含んでもよい。例示的に、ローカルインターフェースコンポーネントは、コンテンツ表示区域とは別個のものとして表示されてもよく、またはコンテンツ表示区域内にオーバーレイされるか、または埋め込まれてもよい。
ローカルインターフェースコンポーネントとの対話は、対話および遠隔セッションブラウジング構成によって必要とされる処理に応じて、ローカルユーザ対話または遠隔ユーザ対話として扱われてもよい。例えば、ブラウザメニューでの選好オプションの選択は、完全にブラウザによるローカルユーザ対話として扱われてもよい。メニューを表示し、選択に関する視覚的フィードバックを提供し、選好ウィンドウを表示し、ブラウザ選好に対してなされた変更を処理するために必要とされる処理は、ローカルに行われてもよい。上述のように、ユーザ対話をローカルに処理することは、処理のためにユーザ対話データをNCC POP142に送信することとは異なり、ブラウザでのより大きな応答性を提供する場合がある。別の実施例として、NCC POP142(例えば、RDP等の遠隔セッション通信プロトコルを使用する遠隔セッションブラウジング構成)上で広範な処理を指定する遠隔セッションブラウジング構成を使用するとき、ブラウザツールバーにおけるコンテンツリフレッシュボタンの選択は、ローカルユーザ対話および遠隔ユーザ対話の両方として扱われてもよい。ボタン選択に対応するインターフェースフィードバックを提供するために必要とされる限定された処理は、インターフェース応答性の外観を提供するためにクライアントコンピューティングデバイス102で扱われてもよいが、一方でリフレッシュコマンドは、ブラウザのコンテンツ表示区域で表示されるネットワークコンテンツの処理を必要とする場合があり、処理用NCC POP142にユーザ対話データとして送信されてもよい。次いで、NCC POP142は、リフレッシュされたネットワークコンテンツに対応する更新された処理結果を表示のためにクライアントコンピューティングデバイス102に戻して伝送してもよい。
一実施形態において、ブラウザ700のウィンドウは、遠隔の持続的ブラウジングコンテキストに対応してもよい。この具体的な実施形態に関して、ブラウザ700は、持続的ブラウジングコンテキスト名706または現在の持続的ブラウジングコンテキストの他の識別する視覚的な印を含んでもよい。一実施形態において、持続的ブラウジングコンテキストは、ブラウザ700のウィンドウ内に、コンテンツタブ708として組織化された複数のウェブページまたは他のネットワークコンテンツを含んでもよい。例示的に、コンテンツタブ708において組織化されるコンテンツおよびコンテンツと関連付けられた表示状態は、ブラウザ700が閉じられるかまたは離脱された後に、ネットワークコンピューティングプロバイダ107において維持されてもよい。したがって、同じまたは異なるクライアントコンピューティングデバイス102上のブラウザの新しいインスタンスは、その後、既存の持続的ブラウジングコンテキストにアクセスすると、ストレージプロバイダ107によって提供される処理結果からコンテンツおよびコンテンツタブ708を再び読み込んでもよい。
図8は、一連の処理サブシステム800としての例示的なブラウザコンテンツ処理行為を図示する図である。多くの実施形態において、ブラウザは、一連の処理行為のコンテンツ(例えば、ウェブページおよび関連付けられた埋め込みリソース等のネットワークリソース)の組を処理してもよい。例示的に、かつ図3〜5を参照して記載されるように、遠隔セッションブラウジング構成は、ネットワークコンピューティングプロバイダ(例えば、NCC POP)で行われた処理行為とクライアントコンピューティングデバイス102で行われた処理行為との間の分割を指定してもよい。この分割は、NCC POPおよびクライアントコンピューティングデバイス102のそれぞれによって行われるいくつかの処理行為を指定してもよく、または全ての処理行為を単一のデバイスまたはコンポーネントに割り当ててもよい。例えば、NCC POPは、ブラウズセッションインスタンスでこれらの様々な処理行為の全てを行い、ビットマップアセンブリまたは表示のために、完全に処理されたRDP処理結果をクライアントコンピューティングデバイス102に送信してもよい。任意の数の異なる遠隔セッションブラウジング構成が、NCC POPで走っている1つ以上のブラウズセッションインスタンスによって使用されてもよい。
当業者であれば、ここに示されるサブシステムが例示の目的のために図示され、必要な順番またはブラウザサブシステムの最終的な列挙を記載するようには意図されないことを理解するであろう。様々なブラウザソフトウェアコンポーネントは、追加の、またはここに示されるより少ないブラウザサブシステムを実装してもよく、サブシステムまたは対応する処理行為を任意の数の異なる様式で指示してもよい。例示の目的のためにここに図示される処理サブシステム800は、ウェブページまたは他のウェブコンテンツの処理を対象とするが、当業者であれば、他のファイルの種類またはネットワークリソースの処理が同様の様式で分割されてもよいことを理解するであろう。例えば、当業者であれば、類似のスキーマが画像、ビデオ、オーディオ、データベース情報、3次元デザインデータ、または当該技術分野で既知の任意の他のファイル形式または種類のデータの処理のために開発されてもよいことを理解するであろう。類似のスキーマは、スケジューリング、メモリもしくはファイル管理、システムリソース管理、処理もしくはサービス実行または管理等の動作を処理する、任意の数のデバイスオペレーティングシステムまたはソフトウェアフレームワークのために開発されてもよい。更に、HTMLプロトコルおよびRDP遠隔セッション通信プロトコルは、本明細書で例示の目的のために論じられるが、当業者であれば、遠隔セッションブラウジング構成が任意の数の指定された処理行為のために任意の数の遠隔通信プロトコルを実装してもよく、遠隔セッションブラウジング構成が、クライアントコンピューティングデバイス102およびネットワークコンピューティングプロバイダ107の任意の組み合わせで下に識別される、行為の任意の部分または組み合わせを行うように公式化されてもよいことを理解するであろう。
例示的に、ネットワークコンテンツの処理および表示に関与する第1の処理サブシステムは、ネットワーク化サブシステム802である。例示的に、ネットワーク化サブシステム802は、ウェブコンテンツのローカルキャッシングを含む、ブラウザとコンテンツプロバイダとの間の全ての通信を担当してもよい。ネットワーク化サブシステムは、一般的に、ユーザのネットワークの性能によって限定される。ネットワーク化サブシステム802での処理行為を分割する遠隔セッションブラウジング構成は、HTML遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成を含んでもよく、1つ以上のキャッシングまたはリソース取り出し行為は、NCC POPで行われたが、コンテンツの構文解析および処理は、クライアントコンピューティングデバイスで行われた。
HTMLドキュメント等のネットワークリソースがサーバからダウンロードされるとき、ドキュメントを構文解析し、ネットワーク化サブシステムにおいて追加のダウンロードを開始し、ドキュメントの構造表現を作成する、HTMLサブシステム804に渡されてもよい。モダンブラウザは、XHTML、XML、およびSVGドキュメントのために使用される関連するサブシステムも含んでもよい。HTMLサブシステム804での処理行為を分割する遠隔セッションブラウジング構成は、HTML遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成を含んでもよく、初期HTMLページは、埋め込みリソース識別子を抽出するためにNCC POPで処理されるが、コンテンツの追加の構文解析および処理は、クライアントコンピューティングデバイスで行われる。別の実施形態において、HTMLサブシステム804での処理行為を分割する遠隔セッションブラウジング構成は、HTMLドキュメントの構造表現を作成するために初期処理を行い、構造表現および関連付けられた埋め込みリソースを備える処理結果を、処理用クライアントコンピューティングデバイスに提供してもよいであろう。
HTMLドキュメント内であれ、埋め込みCSSドキュメント内であれ、CSSに遭遇するとき、それは、スタイル情報を構文解析し、後で参照され得る構造表現を作成するために、CSSサブシステム806に渡されてもよい。例示的に、CSSサブシステム806での処理行為を分割する遠隔セッションブラウジング構成は、CSS構造表現およびHTML構造表現を含む処理結果を構築し、処理結果および関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
HTMLドキュメントは、しばしば、メタデータ、例えば、ドキュメントヘッダーに記載される情報または要素に適用される属性を含む。コレクションサブシステム808は、このメタデータを記憶し、それにアクセスすることを担当してもよい。コレクションサブシステム808での処理行為を分割する遠隔セッションブラウジング構成は、上述の任意の他の構造表現と共に処理済みメタデータを含む処理結果を構築し、処理結果および関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
Javascriptに遭遇するとき、それは、スクリプトを実行することを担当するJavaScriptサブシステム810に直接渡されてもよい。Javascriptサブシステム810は、年来、完全に検証されており、当技術分野において最も周知のブラウザサブシステムのうちの1つであり得る。Javascriptサブシステム810での処理行為を分割する遠隔セッションブラウジング構成は、ネイティブまたは中間形態のスクリプトの状態データまたは表現、ならびに上述の任意の他の処理済み構造またはデータを含むが、これらに限定されない、1つ以上のJavascriptスクリプトの内部表現を含む処理結果を構築し、処理結果および関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
多くのJavaScriptエンジンはブラウザに直接に統合されていないため、ブラウザとスクリプトエンジンとの間のマーシャリングサブシステム812を含む通信レイヤが存在する場合がある。この通信レイヤを通して情報を渡すことは、一般的に、マーシャリングと称される。マーシャリングサブシステム812での処理行為を分割する遠隔セッションブラウジング構成は、マーシャリングデータ、ならびに上述の任意の他の処理済み構造、スクリプト、またはデータを含む処理結果を構築し、処理結果および関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
いくつかの実施形態において、JavaScriptは、ドキュメントオブジェクトモデルAPIを介してウェブドキュメント等の基礎的ネットワークリソースと対話する。これらのAPIは、どのようにドキュメントにアクセスして操作するかを知り、スクリプトエンジンとブラウザとの間の一次対話地点である、ネイティブなオブジェクトモデルサブシステム814を介して提供されてもよい。例示的に、ネイティブなオブジェクトモデルサブシステム814での処理行為を分割する遠隔セッションブラウジング構成は、ネイティブなオブジェクトモデル状態データまたはAPI呼び出し、ならびに上述の任意の他の処理済み構造、スクリプト、またはデータを含む処理結果を構築してもよく、処理結果および任意の他の関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
一旦、ドキュメントが構築されると、ブラウザは、ユーザに対して表示され得る前にスタイル情報を適用する必要がある場合がある。書式設定サブシステム816は、HTMLドキュメントを取り出し、スタイルを適用する。例示的に、書式設定サブシステム816での処理行為を分割する遠隔セッションブラウジング構成は、適用されたスタイルを伴うHTML表現、ならびに上述の任意の他の処理済み状態データ、API呼び出し、構造、スクリプト、またはデータを含む処理結果を構築し、処理結果および任意の他の関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
一実施形態において、CSSは、ブロックに基づくレイアウトシステムである。ドキュメントがスタイル設定された後、ブロックビルドサブシステム818での次のステップは、ユーザに対して表示される矩形のブロックを構築することであってもよい。この処理は、ブロックのサイズ等の事柄を決定してもよく、次の段階、レイアウトと密接に統合されてもよい。ブロックビルドサブシステム818での処理行為を分割する遠隔セッションブラウジング構成は、ブロック情報、ならびに上述の任意の他の処理済み状態データ、API呼び出し、構造、スクリプト、またはデータを含む処理結果を構築し、処理結果および任意の他の関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
ブラウザがコンテンツをスタイル設定し、ブロックを構築した後、コンテンツをレイアウトする処理を経てもよい。レイアウトサブシステム820は、このアルゴリズム的に複雑な処理を担当する。例示的に、レイアウトサブシステム820での処理行為を分割する遠隔セッションブラウジング構成は、上述の様々な状態データ、API呼び出し、構造、スクリプト、またはデータを処理し、クライアントコンピューティングデバイスのためのレイアウト情報を含む処理結果を構築してもよい。例示的に、NCC POPは、クライアントコンピューティングデバイスのために好適なレイアウトを生成するために、(例えば、初期ブラウズセッション要求において提供される)クライアントコンピューティングデバイスまたはブラウザと関連付けられた様々なデータまたは設定を使用してもよい。例えば、携帯デバイスは、スクリーン解像度および表示モードをNCC POPに提供してもよい。NCC POPは、携帯デバイス上で走っているブラウザのために好適なコンテンツ表現に対応する処理結果を生成するために、このスクリーン解像度および表示モードにレイアウト計算を基づかせてもよい。例示的に、様々な実施形態において、NCC POPによって実装される任意の他のサブシステムは、クライアントのための処理結果を生成するときに、クライアントコンピューティングデバイスまたはブラウザと関連付けられたデータを使用してもよい。
本処理の最終段階は、最終コンテンツがユーザに対して表示される、表示サブシステム822内で行われてもよい。この処理は、しばしば、描画と称される。ネットワーク化サブシステム802での処理行為を分割する遠隔セッションブラウジング構成は、RDP遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成を含んでもよく、ほぼ全ての処理がNCC POPで行われ、ビットマップデータおよび低レベルインターフェースデータを含む処理結果が、表示のためにクライアントコンピューティングデバイスに渡される。
図9は、図1のネットワークコンピューティングプロバイダ107によって実装される新しいブラウズセッションルーチン900を例示する、流れ図である。新しいブラウズセッションルーチン900は、ブロック902で開始する。ブロック904で、ネットワークコンピューティングプロバイダ107は、クライアントコンピューティングデバイス102からの新しいブラウズセッション要求を受信する。前述のように、クライアントコンピューティングデバイス102は、イベントまたはユーザ要求に応答してネットワークコンテンツを表示するためのブラウザを読み込んでもよい。ブラウザが読み込まれた後、ブラウザは、新しいブラウズセッションを要求するために実装されてもよい。クライアントコンピューティングデバイスのユーザの観点から、新しいブラウズセッションのための要求は、要求を1つ以上の対応するコンテンツプロバイダ104に伝送するために意図される要求に対応する。例示的に、この要求は、ブラウザ読み込み(例えば、既定または「ホーム」ページのための要求)の結果として自動的に生成されてもよく、あるいはユーザがリンクに従うか、またはネットワークアドレスをアドレスバーに入力することの結果として生成されてもよい。このブラウズセッション要求は、クライアントコンピューティングデバイス102によって要求された様々なネットワークリソースまたは他のコンテンツに対する1つ以上のアドレスもしくは参照を含んでもよい。例示的な実施形態において、ブラウズセッション要求は、APIに従って伝送される。
ブロック906で、ネットワークコンピューティングプロバイダ107は、関連付けられたNCC POPを選択し、ブラウズセッション要求に基づいて新しいブラウズセッションをインスタンス化してもよい。図1を参照して上述されるように、ネットワークコンピューティングプロバイダ107は、任意の数の物理的または論理的位置にわたって分散された任意の数のNCC POPを含んでもよい。ネットワークコンピューティングプロバイダ107は、NCC POPを選択し、利用可能なNCC POPリソース(例えば、利用可能なメモリ、プロセッサ負荷、ネットワーク負荷等)、NCC POPでブラウズセッション要求にサービス提供する財務コスト、クライアントコンピューティングデバイス102、コンテンツプロバイダ104、またはCDN POP116に対するNCC POP位置、NCC POPキャッシュ状態(例えば、要求されたリソースがNCC POPキャッシュに既に記憶されているかどうか)等を含むが、これらに限定されない任意の数の要因に基づいてブラウズセッション要求にサービス提供してもよい。
一実施形態において、ネットワークコンピューティングプロバイダ107は、ブラウズセッション要求にサービス提供するためにいくつかのNCC POPを選択してもよい。例えば、ネットワークコンピューティングプロバイダ107は、ネットワーク内の異なる論理的位置を有する2つのNCC POPを選択してもよい。それぞれのNCC POPは、独立して、クライアントコンピューティングデバイス102の代わりにネットワークコンテンツを要求および処理してもよく、クライアントコンピューティングデバイス102は、第1のNCC POPからのデータを承諾して、処理結果を戻してもよい。ネットワークコンピューティングプロバイダ107によって選択された後、NCC POP142は、ブラウズセッション要求を得てもよい。一実施形態において、NCC POP142は、ネットワークコンピューティングプロバイダ107のコンポーネントによってブラウズセッション要求をNCC POP142に転送させてもよい。別の実施形態において、NCC POP142またはクライアントコンピューティングデバイス102は、接続情報を受信し、NCC POP142とクライアントコンピューティングデバイス102との間の直接の通信の確立を可能にし得る。例示的に、NCC POP142には、元々ネットワークコンピューティングプロバイダ107に提供されたブラウズセッション要求が提供されてもよく、情報のサブセット(例えば、要求されたコンテンツのネットワークアドレスのみ)が提供されてもよく、または元のブラウズセッション要求に含まれない追加の情報が提供されてもよい。
NCC POP142が選択された後、ネットワークコンピューティングプロバイダ107は、NCC POP142に新しいブラウズセッションをインスタンス化させてもよい。例示的に、新しいブラウズセッションインスタンスをインスタンス化することは、NCC POP142で新しい仮想マシンインスタンスおよび/またはブラウザインスタンスを読み込み、新しいブラウズセッションのためのデバイスメモリ、ストレージもしくはキャッシュ領域、プロセッサ時間、ネットワーク帯域、または他の計算的もしくはネットワークリソースを予約することまたは割り当てることを含んでもよい。例示的に、新しいブラウズセッションインスタンスおよび/またはブラウザインスタンスの1つ以上の特性は、ブラウズセッション要求に含まれるクライアントコンピューティングデバイス102の情報に基づいてもよい。例えば、ブラウズセッション要求は、デバイスの種類もしくはブラウザの種類、デバイススクリーン解像度、ブラウザ表示区域、またはクライアントコンピューティングデバイス102もしくはブラウザの表示選好もしくは能力を定義する他の情報を含んでもよい。NCC POP142は、それに応じて、仮想マシンインスタンスおよび/またはクライアントコンピューティングデバイス102と同一または同様の能力を有するブラウザインスタンスをインスタンス化してもよい。例示的に、クライアントコンピューティングデバイス102と同一または同様の能力を有する仮想マシンインスタンスおよび/またはブラウザを維持することは、NCC POP142が、特定のクライアントコンピューティングデバイス102上での表示に適切な寸法およびレイアウトに応じてネットワークコンテンツを処理することを可能にし得る。
いくつかの実施形態において、NCC POP142は、新しいブラウズセッションをインスタンス化することに加えて、またはこの代替として、既存の仮想マシンインスタンスおよび/またはブラウザインスタンスを利用してもよい。例えば、NCC POP142が選択された後、ネットワークコンピューティングプロバイダ107は、NCC POP142に、NCC POP142で以前にインスタンス化された1つ以上のインスタンス等の既存のブラウザインスタンスおよび/または仮想マシンインスタンスを新しいブラウズセッション要求と関連付けさせてもよい。例示的に、既存のブラウザセッションおよび/または仮想マシンインスタンスは、ユーザまたはクライアントコンピューティングデバイス102と関連付けられた別のブラウズセッション、遠隔アプリケーションセッション、または他の遠隔処理に対応してもよく、あるいは無関係のブラウズセッションまたは遠隔処理からの以前にインスタンス化されたソフトウェアインスタンスであってもよい。他の実施形態において、NCC POP142は、既存の仮想マシンインスタンスにおける新しいブラウザまたは他のアプリケーション処理をインスタンス化してもよく、あるいは任意の数の他の様式で、以前にインスタンス化されたソフトウェア処理および新たにインスタンス化されたソフトウェア処理の利用を組み合わせてもよい。なおも更なる実施形態において、ネットワークコンピューティングプロバイダまたはNCC POP142は、単一のブラウズセッション要求に基づいて、任意の数の新しい仮想マシンインスタンスおよび/またはブラウザインスタンスをインスタンス化(または既存のインスタンス化されたインスタンスを使用)してもよい。
ブロック908で、ネットワークコンピューティングプロバイダ107は、ブラウズセッション要求に含まれるネットワークアドレスに基づいて、1つ以上のネットワークリソースのための要求をコンテンツプロバイダまたはCDNサービスプロバイダに提供してもよい。様々な実施形態において、1つ以上のネットワークリソースは、NCC POP142に対してローカルのキャッシュから追加的にまたは交互に取り出され得るか、あるいはネットワークコンピューティングプロバイダ107と関連付けられ得る。当業者であれば、他の実施形態の場合において、リンクまたはネットワークアドレスが、デジタルファイルロッカー内もしくは他のネットワークストレージ位置、またはネットワークコンピューティングプロバイダ107もしくはクライアントコンピューティングデバイス102と関連付けられたキャッシュコンポーネントに記憶される、ドキュメントまたはファイルに対応してもよいことを理解するであろう。いくつかの実施形態において、新しいセッション要求は、ネットワークアドレスに加えて、またはその代替手段としてドキュメントまたはファイルを含んでもよい。ブロック910で、ネットワークコンピューティングプロバイダ107は、1つ以上のネットワークリソースを得る。要求されたネットワークリソースを得た後、NCC POP142は、埋め込みリソース識別子を抽出するためにネットワークリソースを処理してもよい。
ブロック912で、ネットワークコンピューティングプロバイダ107は、コンテンツプロバイダ、CDNサービスプロバイダ、およびキャッシュ等の、1つ以上のソースのコンテンツにリソース要求を提供してもよい。リソース要求は、上のブロック910に記載される1つ以上のネットワークリソースから抽出された1つ以上の埋め込みリソース識別子に基づく、埋め込みリソースに対応してもよい。ブロック914で、ネットワークコンピューティングプロバイダ107は、これらの埋め込みリソースを任意の数の異なるソースから順次または並行して得てもよい。
ブロック916で、ネットワークコンピューティングプロバイダ107は、1つ以上のネットワークリソースおよび関連付けられた埋め込みリソースを処理し、クライアントコンピューティングデバイス102へのコンテンツの処理および通信のための遠隔セッションブラウジング構成を決定してもよい。遠隔セッションブラウジング構成は、クライアントと遠隔サーバとの間のデータおよびユーザ対話もしくは要求の交換を可能にする、任意の独占のまたは公共の遠隔プロトコルを含んでもよい。遠隔セッションブラウジング構成は、例示的に、処理済み(または未処理)コンテンツをブラウザのコンテンツ表示区域での表示用にクライアントコンピューティングデバイスに提供するための遠隔セッション通信プロトコルおよび処理スキーマの両方を含んでもよい。
例示的に、遠隔セッションブラウジング構成は、ネットワークコンピューティングプロバイダとクライアントコンピューティングデバイスとの間の状態データ、ユーザ対話、ならびに他のデータおよびコンテンツの交換のためのネットワークプロトコル、信号化モデル、配送機構、またはカプセル化フォーマットを含むが、これらに限定されない、遠隔セッション通信プロトコルを定義または指定してもよい。当該技術分野において既知の遠隔セッション通信プロトコルの例としては、リモートデスクトッププロトコル(RDP)、X―ウィンドウズ(X−ウィンドウ)プロトコル、バーチャルネットワークコンピューティング(VNC)プロトコル、遠隔フレームバッファー(Remote Frame Buffer)プロトコル、HTML等が挙げられる。例えば、RDPは、例示的に、クライアント入力(例えば、マウス移動、キーボード入力等)を、遠隔コンピューティングデバイスに提供するためのプロトコルデータユニットへ符号化するためのいくつかの処理機構と、ビットマップ更新および低レベルインターフェース情報をクライアントデバイスに戻して送信するための対応する機構とを指定する。別の例として、HTMLプロトコルは、例示的に、インターフェース情報を定義し、サーバからクライアントへのリソース参照を含むファイルを提供するための機構と、クライアントコンピューティングデバイスがサーバへの追加のファイルおよびリソースのための要求を提供するための、対応する機構とを提供する。一実施形態において、NCC POP142は、遠隔セッション通信プロトコルを決定した後、初期通信をクライアントコンピューティングデバイス102に提供してもよい。この初期通信は、クライアントコンピューティングデバイス102が、選択された遠隔セッション通信プロトコルでの通信を受信するように準備することを可能にし得、HTTPのようなプル型遠隔セッション通信プロトコルの場合、クライアントコンピューティングデバイスに、初期リソース要求をNCC POP142上で走っているブラウズセッションインスタンスに送信させ得る。
それぞれの遠隔セッションブラウジング構成は、ネットワークコンピューティングおよびストレージサービス(例えば、NCC POP142)とクライアントコンピューティングデバイス(例えば、クライアントコンピューティングデバイス102)との間の処理行為の分割を追加的に定義してもよい。一実施形態において、処理行為の特定の分割は、特定の遠隔セッション通信プロトコルに基づき、またはこれによって委託されてもよい。別の実施形態において、遠隔セッション通信プロトコルは、プロトコルの実装または構成に応じて処理行為のいくつかの異なる分割を可能にし得る。例示の目的のために、多くのネットワークコンテンツ(例えば、ウェブページ、ビデオ、フラッシュドキュメント)は、コンピューティングデバイス上に表示される前に、様々な処理行為を必要としてもよい。例えば、ウェブページは、CSSスタイルシートおよびJavascript等の様々なHTMLレイアウト情報および関連付けられたリソースまたは埋め込みコンテンツへの参照、ならびに画像、ビデオ、オーディオ等の埋め込みコンテンツオブジェクトを処理するために、構文解析されてもよい。HTML、ならびにそれぞれの参照オブジェクトまたは1つのコードは、典型的に、ウェブページに対応する表現オブジェクトモデルが構築され得る前に、構文解析および処理されるであろう。次いで、このオブジェクトモデルは、クライアントコンピューティングデバイス102のブラウザのコンテンツ表示区域におけるレイアウトおよび表示のために更に処理されてもよい。例示的なブラウザ処理行為は、図8を参照して下により詳細に記載される。当業者であれば、別の実施形態またはアプリケーションの場合、様々な他の処理行為が必要とされ得ることを理解するであろう。
遠隔セッションブラウジング構成は、1つのネットワークコンテンツの表示のために要求される処理行為の様々なものが、クライアントコンピューティングデバイス102ではなく、NCC POP142等の遠隔のコンピューティングデバイスで行われることを指定してもよい。ネットワークコンピューティングプロバイダで部分的に(または全体的に)処理されたネットワークコンテンツは、処理結果と称されてもよい。下で論じられるように、処理行為の分割は、NCC POP142とクライアントコンピューティングデバイス102との間のデータおよびクライアント入力を交換するために使用される、遠隔セッション通信プロトコルと関連付けられるか、またはこれに連係されてもよい。
例えば、表示用に、クライアントコンピューティングデバイス142への低レベルインターフェース情報およびビットマップを含む処理結果を伝送する、RDP等の遠隔セッション通信プロトコルは、NCC POP142で必要なコンテンツ処理行為の全て、またはほぼ全てを行うことを指定する、遠隔セッションブラウジング構成と関連付けられてもよい。RDPを使用する間に、NCC POP142は、例えば、NCC POP142へのブラウザの完全なインスタンスを実行し、クライアントコンピューティングデバイス102への表示されたコンテンツの表現に対応するビットマップ更新からなる、処理結果を伝送してもよい。クライアントコンピューティングデバイス102は、この例において、ブラウザのコンテンツ表示区域での表示のために伝送されるビットマップ更新をアセンブルするために必要とされるのみであってもよく、例示的な1つのネットワークコンテンツの表示に関与する実際のHTML、Javascript、またはデータオブジェクトの処理のいずれも行わない場合がある。別の実施例として、HTML等の遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成は、ほぼ未処理の形態でネットワークコンテンツを伝送してもよい。したがって、クライアントコンピューティングデバイス102は、ネットワークコンテンツの表示のために必要とされる処理行為の全てを行ってもよいが、一方でNCC POP142は、処理をほとんどまたは全く行わない。
NCC POP142は、要求されたリソース、コンテンツプロバイダ104、またはCDNサービスプロバイダ106のうちの1つ以上の1つ以上の特性、コンテンツアドレスまたはドメインの1つ以上の特性、クライアントコンピューティングデバイス102、ブラウザ、もしくはアプリケーション、ユーザの1つ以上の特性、NCC POP142の1つ以上の特性、またはネットワークもしくはネットワーク接続等の1つ以上の特性を含むが、これらに限定されない任意の数の要因に、遠隔セッションブラウジング構成の決定を基づかせてもよい。要求されたリソースの特性には、データ形式、コンテンツの種類、サイズ、処理要件、リソース待機時間要件、対話要素の数または種類、セキュリティリスク、関連付けられたユーザ選好、ネットワークアドレス、ネットワークドメイン、関連付けられたコンテンツプロバイダ等が含まれてもよいが、これらに限定されない。コンテンツプロバイダ104、CDNサービスプロバイダ106、コンピューティングデバイス102、またはNCC POP142の特性としては、処理能力、メモリ、ストレージ、ネットワーク接続性(例えば、利用可能な帯域または待機時間)、物理的または論理的位置、予測される安定性または故障のリスク、ソフトウェアもしくはハードウェアのプロファイル、利用可能なリソース(例えば、利用可能なメモリもしくは処理、または同時に開いているソフトウェアアプリケーションの数)等を含んでもよいが、これらに限定されない。NCC POP142は、1つのコンテンツまたはドメインと関連付けられた認知されるセキュリティの脅威またはリスク、クライアントコンピューティングデバイスまたはコンテンツプロバイダの選好、コンピューティングまたはネットワークリソースコスト(例えば、処理もしくは帯域、リソース使用等の財務コスト)、所定の選好または選択情報、特定の遠隔セッションブラウジング構成によって必要とされる任意の追加的処理オーバーヘッド、キャッシュ状態(例えば、特定のリソースがNCC POP142で、クライアントコンピューティングデバイス102で、またはネットワークコンピューティングプロバイダと関連付けられた他のネットワークストレージでキャッシュされるかどうか)、要求されたネットワークコンテンツを取り出すために必要とされる予測される遅延または時間、特定の遠隔セッションブラウジング構成またはサービスレベルのために好ましいコンテンツプロバイダまたはコンテンツプロバイダとの契約、同じユーザによって別の(または現在の)ブラウズセッションのために使用されている遠隔セッションブラウジング構成、または任意の他の要因を更に考慮してもよい。
いくつかの実施形態において、NCC POP142は、遠隔セッションブラウジング構成の決定を過去の動作または習慣に基づかせてもよい。例えば、過去に特定のリソースについて遠隔ブラウズセッション構成を決定したことがあるNCC POP142は、リソースが同じ(または潜在的に異なる)ユーザによって要求されるとき、同じ遠隔ブラウズセッション構成を自動的に選択してもよい。別の実施例として、広範な処理要件を伴うウェブサイトに頻繁にアクセスする履歴を有するユーザは、NCC POP142で処理の大部分を行う遠隔セッションブラウジング構成を自動的に割り当てられてもよい。他の実施形態において、NCC POP142は、遠隔ブラウズセッション構成の決定を将来の動作の予測に基づかせてもよい。例えば、NCC POP142は、特定のウェブサイト、ネットワークドメイン、または関連するリソースの組について行われた過去の決定の分析に、特定のリソースについての遠隔ブラウズセッション構成の決定を基づかせてもよい。履歴上、ビデオの重いウェブページを提供したことがあるコンテンツプロバイダは、クライアントコンピューティングデバイス102でのビデオ性能に重点を置く遠隔セッションブラウジング構成と関連付けられてもよい。例示的に、過去の履歴分析および未来予測は、遠隔セッションブラウジング構成決定処理を基づかせるいくつかの要因のうちの1つ以上として見なされてもよく、または意思決定処理において最終的であってもよい。例えば、一旦、NCC POP142が、特定のコンテンツプロバイダについて遠隔セッションブラウジング構成を決定すると、それは、コンテンツプロバイダからサービス提供されるいずれの将来のリソースについても、遠隔セッションブラウジング構成決定処理をスキップしてもよい。例示的に、NCC POP142は、一定期間後、またはNCC POP142がコンテンツプロバイダによって使用されているコンテンツにおける変化を識別または決定した後、コンテンツプロバイダと関連付けられる遠隔セッションブラウジング構成を再決定してもよい。
他の実施形態において、ネットワークリソース、ウェブサイト、ネットワークドメイン、コンテンツプロバイダ、または他のネットワークエンティティは、リソースタグ、メタデータ、またはNCC POP142との他の通信における、特定の遠隔ブラウズセッション構成の使用を指定するか、あるいは要求してもよい。NCC POP142は、要求を最終的なものとして扱ってもよく、または意思決定処理において考慮される複数の要因の1つとして要求を考慮してもよい。
例えば、RDP等の遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成は、クライアントコンピューティングデバイス102ではなく、ネットワークコンピューティングプロバイダ107(例えば、NCC POP142で)で行われるように、広範な処理を指定してもよい。したがって、遠隔セッションブラウジング構成は、多くの前処理(例えば、ページレイアウトを定義する多くのCSSまたはJavascript情報を有するコンテンツ)を必要とするネットワークコンテンツを扱うとき、短い待機時間および提示遅延を達成するためにNCC POP142の処理能力を活用してもよい。したがって、NCC POP142は、ネットワークコンピューティングプロバイダ107で実質的量の処理を行い、処理に集中するコンテンツの通信のためのRDPまたは類似の遠隔セッション通信プロトコルを利用する、遠隔セッションブラウジング構成を選択してもよい。反対に、HTML等の遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成は、ネットワークコンピューティングプロバイダ107ではなく、クライアントコンピューティングデバイス102での広範な処理を指定してもよい。したがって、遠隔セッション通信プロトコルは、処理をほとんど必要としない単純なネットワークコンテンツ、または初期読み込み後、表示されるコンテンツにおける早急な変更を必要とするネットワークコンテンツを用いて提示されるとき、より小さい遅延およびより円滑な提示を達成し得る。例えば、埋め込みビデオを有するウェブページは、遠隔セッション通信プロトコルとしてのRDPではなく、処理の大部分をローカルに行い、HTMLを利用することでより良好に機能し得る。ネットワークコンピューティングプロバイダ107での広範な処理を指定する遠隔セッションブラウジング構成は、NCC POP142でビデオを処理し、スクリーン更新を(例えばRDPによって)クライアントコンピューティングデバイス102に早急に送信しなければならず、潜在的には多くの帯域を必要とし、ブラウザ内でむらのある再生を引き起こすが、一方でローカル処理を特定する遠隔セッションブラウジング構成は、加工されていないビデオ情報を表示(例えば、HTMLによる)のためにクライアントコンピューティングデバイス102に直接提供することができ、コンテンツのクライアント側のキャッシングおよびより円滑な再生を可能にする。
更なる例として、極めて限定された処理能力を有するクライアントコンピューティングデバイス102と通信するNCC POP142は、例えば、NCC POP142の処理済み結果を伝送するためにRDPを使用し、クライアントコンピューティングデバイスによる処理をほとんど必要としない遠隔セッションブラウジング構成を使用することを選択してもよい。逆に、極めて対話的なウェブページを提供するNCC POP142は、クライアントコンピューティングデバイス102が、例えば、実質的に未処理のデータを送信するためにHTMLを使用して、インターフェース応答性を保つために、ユーザ対話をローカルに扱うことを可能にする遠隔セッションブラウジング構成を使用することを選択してもよい。なおも更なる例として、NCC POP142は、クライアントコンピューティングデバイス102によって提供される選好に、遠隔セッションブラウズ構成の決定を基づかせてもよい。例示的に、クライアントコンピューティングデバイス102は、初期ブラウズセッション要求における、または任意の他の時点の遠隔セッションブラウズ構成のための選好を含んでもよい。NCC POP142は、任意の他の要因または決定メトリック値に対する代替手段として、またはこれらに加えて、これらの選好を使用してもよい。例示的に、クライアントコンピューティングデバイス102が遠隔セッションブラウズ構成の選択を設定し、またはこれに影響を与えることを可能にすることは、遠隔セッションブラウズ構成を決定するとき、NCC POP142がユーザ選好を考慮することを可能にする。例えば、初期ページ読み込み時間を懸念するユーザは、遠隔処理に重きを置き、RDP遠隔セッション通信プロトコルを利用する、遠隔セッションブラウジング構成を使用することを好む場合があるが、一方で極めて応答的なインターフェースを維持することを希望するユーザは、例えば、HTML遠隔セッション通信プロトコルを使用して、クライアントコンピューティングデバイス102上で処理の大部分を行う、遠隔セッションブラウジング構成を使用することを好む場合もある。
例示的に、NCC POP142は、遠隔ブラウジング構成の決定を任意の要因または要因の組み合わせに基づかせてもよい。例えば、NCC POP142は、単一の要因に基づいて遠隔セッションブラウジング構成を選択してもよく、または決定を行う際に1つ以上の要因に重みを割り当ててもよい。いくつかの実施形態において、NCC POP142の決定処理は、上の1つ以上の要因に基づいて変化する場合がある。例えば、余剰の未使用帯域でネットワークを介してクライアントコンピューティングデバイス102と通信するNCC POP142は、遠隔ブラウズセッションのネットワーク要件等の要因に低い重みを与えてもよく、ページ対話の待機時間等の要因に高い重みを与えてもよいが、一方で限定された帯域のネットワークを介してクライアントコンピューティングデバイス102と通信するNCC POP142は、ネットワークを介して遠隔セッションブラウズプロトコルの効率性を扱う要因に重みを与えてもよい。
一実施形態において、NCC POP142は、1組のネットワークコンテンツのために単一の遠隔セッションブラウジング構成を選択してもよい。例えば、NCC POP142は、ウェブページ等の要求されたネットワークリソースのために単一の遠隔セッションブラウジング構成を選択してもよい。したがって、NCC POP142は、選択された遠隔ブラウジングセッションプロトコルに基づいて、全ての埋め込みコンテンツと一緒にウェブページを処理し、遠隔ブラウジングセッションプロトコルを使用して、ウェブページと関連付けられた全ての埋め込みコンテンツについてのユーザ対話データおよび更新されたブラウズセッションデータを交換してもよい。別の実施形態において、NCC POP142は、1組のネットワークコンテンツにおける1つ以上のリソースのために、異なる遠隔セッションブラウジング構成を選択してもよい。例えば、ウェブページ等のネットワークリソースは、処理集中型埋め込みJavascriptもしくはCSSリソース、ならびに埋め込みビデオリソースを参照してもよい。NCC POP142は、埋め込みビデオリソースを除く、ウェブページおよび全ての埋め込みリソースのための第1の遠隔セッションブラウジング構成と、埋め込みビデオリソースのための第2の遠隔セッションブラウジング構成とを選択してもよい。例示的に、これはNCC POP142がRDPを利用し、処理結果をウェブページおよび関連付けられた埋め込みリソースの表示用のクライアントコンピューティングデバイス102に送信することをもたらし得るが、一方で、一実施形態において、HTTPを利用し、埋め込みビデオを別個の未処理ファイルとして送信して、クライアントコンピューティングデバイス102は、ウェブページおよび埋め込みリソースに対応するRDP処理結果を表示するために必要とされる最小限の処理を行ってもよく、また、埋め込みビデオを表示するために必要な追加の処理を行い、例えば、ウェブページの表示されたRDP表現の最上面でビデオをオーバーレイしてもよい。任意の数の遠隔セッションブラウジング構成は、リソースまたはオブジェクトが、1つ以上の論理ファイルまたはデータ構造において、コンテンツプロバイダ104から得られたか、またはCDNサービスプロバイダ106から得られたかに関わらず、1組のネットワークコンテンツに含まれる任意の数のリソースまたはオブジェクトに対応するように選択されてもよい。
遠隔セッションブラウジング構成の選択は、全てのネットワークリソースおよび関連付けられた埋め込みコンテンツがNCC POP142によって得られた後に行われるものとして本明細書に例示的に図示されるが、当業者であれば、遠隔セッションブラウジング構成の選択が任意の時点で行われてもよいことを理解するであろう。例えば、NCC POP142は、新しいブラウズセッション要求または関連する情報をクライアントコンピューティングデバイスから受信した後に、遠隔セッションブラウジング構成を選択してもよく、ネットワークリソースを得た後であるが、任意の関連付けられた埋め込みリソースを得る前に、または任意の他の時点に、遠隔セッションブラウジング構成を選択してもよい。いくつかの実施形態において、NCC POP142は、クライアントコンピューティングデバイス102が初期処理結果を得た後の何らかの時点で、新しい遠隔セッションブラウジング構成に切り替えてもよい。例示的に、新しい遠隔セッションブラウジング構成を選択するNCC POP142は、ある特定の期間もしくはイベント後、またはネットワーク状態、NCC POP142またはクライアントコンピューティングデバイス102の負荷もしくはコンピューティングリソース、または遠隔セッションブラウジング構成の選択に潜在的に影響するものとして上述される任意の他の要因の変化に応答して自動的に行われてもよい。例示的に、他の種類または形式の情報を扱うNCC POP142は、任意の数の類似の要因に基づいて遠隔セッションプロトコルを選択してもよい。例えば、当業者であれば、類似のスキーマが画像、ビデオ、オーディオ、データベース情報、3次元デザインデータ、または当該技術分野で既知の任意の他のファイル形式または種類のデータの処理のために開発されてもよいことを理解するであろう。
クライアントコンピューティングデバイス102は、様々な実施形態において、遠隔ブラウズセッションのための要求を用いて順次、または同時に並行なブラウジング処理を更にインスタンス化してもよい。一実施形態において、クライアントコンピューティングデバイス102は、NCC POP142を実行する1つ以上の遠隔ブラウズインスタンスに加えて、当技術分野で既知の従来のローカルブラウズセッション(例えば、コンテンツ要求をブラウザから提供することおよび得られたリソースをローカルに処理すること)をインスタンス化してもよい。別の実施形態において、クライアントコンピューティングデバイス102は、NCC POP142によって未処理のネットワークリソースを提供されてもよい。例示的に、ネットワークリソースは、NCC POP142によって1つ以上のコンテンツプロバイダ、CDN、またはキャッシュコンポーネントから取り出され得た。リソースは、クライアントコンピューティングデバイス102に提供され、NCC POP142で実行している遠隔ブラウズインスタンスと並行にローカルに処理してもよい。なおも更なる実施形態において、ネットワークコンピューティングプロバイダまたはNCC POP142は、任意の数の新しい仮想マシンインスタンスおよび/またはブラウザインスタンスインスタンス化し(または既存のインスタンス化されたインスタンスを使用する)、リソースを処理し、および/または処理結果をクライアントコンピューティングデバイス102に並行に送信してもよい。例示的に、クライアントコンピューティングデバイス102のローカルブラウズセッションおよびNCC POP142の遠隔ブラウズセッションインスタンスは、並行に実行してもよい。
一実施形態において、クライアントコンピューティングデバイス102で実行するローカルブラウズセッションは、ブラウズセッション要求に応答して、未処理のコンテンツ(例えば、htmlウェブページ、埋め込みコンテンツ、および他のネットワークリソース)をNCC POP142から得てもよい。例示的に、コンテンツは、ブラウズセッション要求に応答して、NCC POP142によって、コンテンツプロバイダ、CDN、またはキャッシュから取り出され得た。NCC POP142によって提供された未処理のコンテンツは、ブラウズセッション要求と関連付けられた全てのコンテンツを含み得るか、あるいはコンテンツプロバイダもしくはCDNから取り出されるか、またはいくつかの他のソースから得られるクライアントコンピューティングデバイスのキャッシュ内に存在するコンテンツを補足してもよい。一実施形態において、クライアントコンピューティングデバイス102は、全ての要求されたコンテンツをローカルキャッシュから得てもよく、いずれの未処理のリソースまたはコンテンツもNCC POP142から得ない場合がある。未処理のコンテンツを得た後、クライアントコンピューティングデバイス102は、NCC POP142で実行する遠隔ブラウズセッションと並行に、要求されたコンテンツを処理してもよい。例えば、クライアントコンピューティングデバイス102で実行するローカルブラウズセッションが要求されたコンテンツを処理しているとき、NCC POP142で実行する遠隔ブラウズセッションは、同じコンテンツを実質的に同時に処理している場合がある。一旦、NCC POP142が、コンテンツ上で1組の処理行為を行い、処理結果を生成すると(例えば、決定された遠隔セッションブラウジング構成によって指定されるように)、NCC POP142は、処理結果をクライアントコンピューティングデバイス102に提供してもよい。
例示の目的のために、クライアントコンピューティングデバイス102は、要求されたネットワークリソースを得て、それを処理するのに、NCC POP142で実行するブラウズセッションインスタンスよりも長い読み込み時間を必要とする場合がある。例えば、NCC POP142は、ネットワーク上でのNCC POP142の位置、および、NCC POP142と比較したローカルクライアントコンピューティングデバイスの相対的処理能力に起因して、コンテンツを迅速に得て、処理し得る。たとえNCC POP142がクライアントコンピューティングデバイス102に全ての要求されたネットワークコンテンツを提供しても、クライアントコンピューティングデバイス102は、依然として、ローカルブラウズセッションが要求されたリソースを処理することを完全に完了する前に、処理結果をNCC POP142から得てもよい。クライアントコンピューティングデバイス102は、コンテンツのローカル処理および表示を完了する前に、任意の更なる処理ステップを完了させ、得られた処理結果を表示してもよい。例示的に、これは、クライアントコンピューティングデバイス102が従来のローカルブラウズセッションに対するNCC POP142の早急なコンテンツ読み込み時間を利用することを可能にし得る。全ての要求されたリソースを処理することを完了するローカルブラウズセッションに先立って、ブラウザは、下の図5および11に記載されるように、任意のユーザ対話をローカルおよび/または遠隔に処理してもよい。
一旦、ローカルブラウズセッションが要求されたコンテンツに対応するリソースを完全に得て、処理すると、コンピューティングデバイス102は、決定された遠隔セッションブラウジング構成を使用して、NCC POP142から得られた結果を継続して表示する(かつNCC POP142でユーザ対話を処理する)か、またはユーザ対話をローカルに処理することに切り替えるかを決定してもよい。ユーザ対話をローカルに処理することに切り替えることは、NCC POP142から得られた処理結果に基づく要求されたリソースの表示された表現を要求されたリソースのローカル表示と置き換えることを含んでもよい。例えば、ブラウザは、ブラウザがウェブページをローカルに処理およびレンダリングすることを終了するまで、NCC POP142からの処理結果(例えば、レンダリングされたページを表現するRDP表示情報)に対応するウェブページの表現を表示してもよい。次いで、ブラウザは、NCC POP142からの表現をローカルにレンダリングされたウェブページの表現と置き換えてもよい。例示的に、1つの表現を別の表現と置き換えることは、ユーザにとって透過的であり得る。例えば、ウェブページのローカルおよびNCC POP142の表現は、同一または実質的に同一であり得る。一実施形態において、ウェブページのNCC POP142表現が表示されるとき、ブラウザは、表示されたページとの様々なユーザ対話を処理用NCC POP142に送信してもよい。ローカルにレンダリングされたバージョンのウェブページが表示されるとき、ユーザ対話は、ブラウザでローカルに処理されてもよい。例示的に、要求されたリソースのどの表現を表示すべきか(例えば、ローカルに、またはNCC POP142から)の決定は、上の遠隔セッションブラウズプロトコルを決定することを参照して記載されたものと同じ要因のいずれかに基づき得る。
一実施形態において、クライアントコンピューティングデバイス102は、ローカルリソースが完全に読み込まれるや否や、ユーザ対話のローカル処理に切り替えてもよい。例示的に、NCC POP142で実行する遠隔ブラウズセッションインスタンスは、ローカル処理に切り替えた後に終了してもよく、または遠隔ブラウズセッションインスタンスは、ローカルブラウズセッションに関する無応答または故障の場合のバックアップとして維持されてもよい。例えば、クライアントコンピューティングデバイス102は、ユーザ対話をローカルに処理し、ならびに選択された遠隔セッションブラウジング構成に従って遠隔ユーザ対話データをNCC POP142に送信してもよい。遠隔ユーザ対話データは、NCC POP142によって使用され、遠隔ブラウズセッションインスタンスを、クライアントコンピューティングデバイス102でブラウザによって実行されているローカルブラウズ処理と完全に並行に保持してもよい。ローカルブラウズセッションが継続してユーザ対話を扱う限り、NCC POP142は、更新された処理結果を送信することを抑制してもよく、またはクライアントコンピューティングデバイス102によって無視された、更新された処理結果を送信してもよい。クライアントコンピューティングデバイス102のローカルブラウズセッションについて問題が生じるとき、更新された処理結果は、ローカルブラウズセッションの代わりの処理および表示のためにNCC POP142からクライアントコンピューティングデバイス102に提供されてもよい。例示的に、ローカルブラウズセッションから遠隔処理へのこの切り替えは、ユーザにとって透過的であり得る。いくつかの実施形態において、クライアントコンピューティングデバイス102は、ローカルブラウザでの無応答または故障以外の要因に基づいて、ローカルブラウズセッションから遠隔ブラウズセッションインスタンスに切り替えてもよい。例えば、クライアントコンピューティングデバイス102またはネットワークコンピューティングおよびストレージコンポーネント107は、上の遠隔セッションブラウズプロトコルを決定することに関して列挙された要因のいずれかに基づいて、遠隔ブラウズセッションとローカルブラウズセッションとの間で選択されてもよい。
別の実施形態において、クライアントコンピューティングデバイス102は、ローカルブラウズセッションが要求されたコンテンツを完全に読み込んだ後でさえも、NCC POP142からの更新された処理結果を継続して処理し、表示してもよい。クライアントコンピューティングデバイス102は、ローカルブラウズセッションを終了してもよく、または上記で提供された例とは逆に、バックアップ処理としてローカルブラウズセッションを並行に実行させてもよい。ローカルブラウズセッションは、例示の目的のために、遠隔ブラウズセッションインスタンスより遅く読み込むものとしてここでは記載されているが、いくつかの実施形態において、ローカルブラウズセッションは、遠隔ブラウジングセッションよりコンテンツを早く読み込むことができ、この場合において、ブラウザは、遠隔ブラウズ処理が要求されたコンテンツを完全に読み込むまで、ユーザ対話をローカルに処理してもよいことを理解されたい。いくつかの実施形態において、クライアントコンピューティングデバイス102は、ブラウズセッションが初めに、どのユーザ対話を介して要求されたコンテンツをローカルまたは遠隔に読み込もうとも、そのユーザ対話を表示および処理してもよい。
様々な他の実施形態において、ネットワークコンピューティングプロバイダ107は、ローカルブラウズセッションをインスタンス化することに加えて、またはこの代替として、複数の遠隔ブラウズセッションインスタンスをインスタンス化し、並行に実行してもよい。例示的に、これらの並行なブラウズセッションインスタンスは、同じまたは異なる遠隔セッションブラウズプロトコルのいずれを利用してもよく、ローカルブラウズセッションに関して上の様式でのバックアップとして機能してもよく、またはクライアントコンピューティングデバイス102でのブラウザ性能を最大化するために、代替として使用され、その間で切り替えられてもよい。例えば、1つ以上のブラウズセッション要求に応答して、ネットワークコンピューティングプロバイダ107は、第1のNCC POP上で実行し、RDPプロトコルを使用するブラウズセッションインスタンス、ならびに第2のNCC POP上で実行し、X−ウィンドウプロトコルを使用するブラウズセッションインスタンスをインスタンス化してもよい。クライアントコンピューティングデバイス102またはネットワークコンピューティングプロバイダ107は、上の遠隔セッションブラウズプロトコルの決定に関して記載された性能またはリソース使用の考慮に基づいて、どのブラウズセッションインスタンスおよびプロトコルが使用されるべきかを決定してもよい。
続けて図9を参照して、ブロック918で、ネットワークコンピューティングプロバイダ107は、初期処理結果を生成するための決定された遠隔セッションブラウジング構成に従って、1つ以上の要求されたネットワークリソースおよび埋め込みネットワークリソースを含む、得られたコンテンツを処理してもよい。ブロック920で、ネットワークコンピューティングプロバイダ107は、更に処理するために初期処理結果をクライアントに提供し、ブラウザのコンテンツ表示区域に表示してもよい。更なる実施例の目的のために、クライアントコンピューティングデバイス102によって実装される例示的なクライアントの新しいブラウズセッション対話ルーチン1000が、図10を参照して下に記載される。ブロック922で、新しいブラウズセッション開始ルーチン900が終了する。
図10は、クライアントコンピューティングデバイス102によって実装されるクライアントの新しいブラウズセッション対話ルーチン1000を例示する、流れ図である。新しいブラウズセッション対話ルーチン1000は、クライアントコンピューティングデバイス102にネットワークコンテンツを表示するためのブラウザを読み込ませる、イベントまたはユーザ要求に応答して、ブロック1002で開始する。ブロック1004で、クライアントコンピューティングデバイスは、全てのローカルインターフェースコンポーネントを含む、ブラウザのローカルに管理されたコンポーネントを読み込む。図5および7を参照して上述されるように、ローカルインターフェースコンポーネントには、ツールバー、メニュー、ボタン、またはクライアントコンピューティングデバイスでローカルに実行し、もしくは実装されるソフトウェアブラウザアプリケーションもしくは任意の他の処理によって管理および制御される、他のユーザインターフェース制御が含まれてもよい。ブロック1006で、クライアントコンピューティングデバイス102は、新しいブラウズセッションインスタンスのための要求をネットワークコンピューティングプロバイダ107に提供する。クライアントコンピューティングデバイスのユーザの観点から、新しいブラウズセッションのための要求は、要求を1つ以上の対応するコンテンツプロバイダ104に伝送するための意図される要求に対応する。他の実施形態において、新しいセッション要求は、ファイルまたは他のドキュメントを読み込むための要求(例えば、写真編集アプリケーションで画像を読み込むための要求等)に対応してもよい。例示的に、要求は、ブラウザ読み込み(例えば、既定または「ホーム」ページのための要求)の結果として自動的に生成されてもよく、またはユーザがリンクに従うか、もしくはネットワークアドレスをアドレスバーに入力したことの結果として生成されてもよい。図2に関して記載されるように、ブラウズセッション要求は、最初にネットワークコンピューティングプロバイダ107に伝送される。例示的な実施形態において、ネットワークコンピューティングプロバイダ107は、登録APIを利用して、クライアントコンピューティングデバイス102からのブラウズセッション要求を承諾する。
ブラウズセッション要求は、ユーザと関連付けられた情報、クライアントコンピューティングデバイス102またはクライアントコンピューティングデバイス上のソフトウェアと関連付けられた情報(例えば、ハードウェアまたはソフトウェア情報、デバイスの物理的または論理的位置等)、ネットワーク108、ユーザ、またはブラウザ選好と関連付けられた情報(例えば、要求された遠隔セッションブラウズプロトコル、選好一覧、決定ツリー、または他の情報)、ネットワークコンピューティングプロバイダ107と関連付けられた情報、要求されたネットワークコンテンツの1つ以上と関連付けられた情報(例えば、ネットワークリソースのネットワークアドレス)等を含むが、これらに限定されない、任意の数のデータまたは情報を含んでもよい。例えば、クライアントコンピューティングデバイス102からのブラウズセッション要求は、とりわけ、特定のクライアントコンピューティングデバイスハードウェアの仕様またはハードウェア性能レベル、最近のコンテンツ要求と関連付けられた待機時間および帯域データ、異なる種類のコンテンツを処理するための所望のセキュリティレベル、遠隔セッションブラウズプロトコルの所定の選好一覧、および要求されたネットワークリソースに対応する1つ以上のネットワークアドレスを識別する情報を含んでもよい。別の実施例において、ブラウズセッション要求は、クライアントコンピューティングデバイス102のスクリーン解像度、アスペクト比を識別する情報を含むことができ、またはブラウズセッション要求におけるブラウザ表示区域は、ネットワークコンピューティングプロバイダ107がクライアントコンピューティングデバイス上で表示するために、ネットワークコンテンツの処理をカスタマイズすることを可能にし得る。前述のように、ブラウズセッション要求は、要求されたネットワークリソースに対応するネットワークアドレス情報を含むことができ、これは、インターネットプロトコル(「IP」)アドレス、URL、メディアアクセスコントロール(「MAC」)アドレス等を含むが、これらに限定されない、任意の形態であってもよい。一実施形態において、新しいブラウズセッションインスタンスのための要求は、上の図9のブロック904で新しいブラウズセッションインスタンスのための要求を受信する、ネットワークコンピューティングプロバイダに対応してもよい。
ブロック1008で、クライアントコンピューティングデバイス102は、初期処理結果をネットワークコンピューティングプロバイダ107から得る。例示的に、初期処理結果に含まれる形式およびデータは、ネットワークコンピューティングプロバイダ107によって選択された遠隔セッションブラウジング構成に基づいて変化してもよい。一実施形態において、初期処理結果は、クライアントコンピューティングデバイス102に遠隔セッションブラウジング構成の選択を伝え、かつ/または選択された遠隔セッションブラウジング構成に対応する遠隔セッション通信プロトコルを介して接続を確立するデータを含むか、またはこれによって先行されてもよい。図8および9を参照して上に論じられたように、得られた初期処理結果は、ネットワークコンピューティングプロバイダ107によって行われた1つ以上の処理行為を伴う要求されたコンテンツを含んでもよい。初期処理結果を得た後、クライアントコンピューティングデバイス102は、ブロック1010で、初期処理結果に任意の残存する処理行為を行ってもよい。
ブロック1012で、クライアントコンピューティングデバイス102は、処理済みの初期処理結果に対応するコンテンツを表示する。例えば、クライアントコンピューティングデバイス102は、上の図7に記載されるブラウザ700のコンテンツ表示区域702に処理済みのクライアントを表示してもよい。一実施形態において、処理結果は、ブラウザによって表示された、コンテンツに対応する表示データを含むのみであってもよく、例えば、NCC POP142でのブラウザインスタンスのインターフェース制御、ブラウズセッションに対応する仮想マシンインスタンスのデスクトップ、またはNCC POP142の任意の他のユーザインターフェースに対応する表示データを含まない場合がある。例えば、NCC POP142は、NCC POP142で仮想マシンインスタンスにおいて実行するブラウザインスタンスのRDPを介して、表示のためのウェブページおよび関連付けられたコンテンツを処理してもよい。ブラウザインスタンスは、表示されたウェブページに加えて、ツールバー、メニュー、スクロールバー等の1つ以上のインターフェース要素を有してもよい。NCC POP142は、ブラウザと関連付けられたインターフェース要素のいずれも伴わずに、表示されたウェブページのみに対応するRDP処理結果を送信してもよい。例示的に、表示されたウェブページのみに対応するRDP処理結果を含むことは、クライアントコンピューティングインスタンス102でのブラウザが、任意の更なる処理をせずに、ブラウザのコンテンツ表示区域においてRDP処理結果をアセンブルすることによって、ウェブページを表示することを可能にし得る。別の実施形態において、RDP処理結果は、NCC POP142のブラウズセッションインスタンスで表示される完全なインターフェースに対応する、完全な仮想マシンデスクトップおよびブラウザウィンドウを含んでもよい。クライアントコンピューティングデバイスは、要求されたコンテンツに対応するRDP処理結果の区域を自動的に識別してもよく、ブラウザのコンテンツ表示区域でこの区域のみを表示してもよい。
ブロック1014で、クライアントコンピューティングデバイス102は、ローカルおよび遠隔ユーザ対話を処理する。図11を参照して、ユーザ対話を処理するための例示的なルーチンが下に提供される。ブロック1016で、ルーチンは終了する。例示的に、ネットワークコンピューティングコンテンツプロバイダ107によってインスタンス化されたブラウズセッションインスタンスは、ブラウザウィンドウまたはコンテンツ表示区域が閉じられるときに終了してもよく、遠隔セッションブラウズプロトコルがクライアントコンピューティングデバイス102での並行処理によって置き換えられるときに終了してもよく、またはタイマーまたは他のイベントに従って終了しもよい。例示的に、ブラウズセッションがタイムアウトのために自動的に終了したが、関連付けられたコンテンツがクライアントコンピューティングデバイス102のブラウザ内でまだ表示されているとき、コンテンツと対話するためのユーザによる後の試みは、ネットワークコンピューティングおよびストレージサービスのプロバイダ107に提供される新しいブラウズセッション要求をもたらし、終了されたセッションの最後の状態に従って新しいブラウズセッションを開始し得る。例示的に、タイムアウト後に遠隔ブラウズセッションを終了することは、ネットワークコンピューティングストレージプロバイダ107がNCC POPでコンピューティングリソースを保存することを可能にし得る。一実施形態において、この処理は、たとえ遠隔ブラウズセッションがその間の期間中に終了されたとしても、クライアントコンピューティングデバイス102でユーザにとって透過的であり得る。
図11は、クライアントコンピューティングデバイス102によって実装される処理ユーザ対話ルーチン1100を例示する、流れ図である。処理ユーザ対話ルーチン1100は、ユーザによる対話に応答して、ブロック1102で開始する。例示的に、処理ユーザ対話ルーチン1100は、ブラウザインターフェースのコンテンツ表示区域におけるコンテンツの表示後に開始してもよい。例えば、処理ユーザ対話ルーチン1100は、上の図10のブロック1014に対応してもよい。
例示的に、表示されたコンテンツは、フォーム、ボタン、アニメーション等の1つ以上の対話要素を有してもよい。これらの対話要素とのユーザ対話は、コンテンツ表示区域における更新されたコンテンツの処理および表示を必要とする場合がある。例えば、ウェブページ上のドロップダウンメニューにおける要素を選択することは、処理を必要とする場合があり、ウェブページまたは埋め込みリソースの構成または視覚的外観を変更する場合がある。例示的に、表示されたコンテンツについてユーザ対話によって必要とされる処理は、使用する遠隔セッションブラウジング構成に応じて、クライアントコンピューティングデバイス102でのローカルユーザ対話として、またはNCC POP142での遠隔ユーザ対話として、扱われてもよい。例えば、遠隔セッションブラウジング構成が実質的なローカル処理(例えば、HTMLを介して未処理ファイルを送信する)を使用するとき、表示されたコンテンツとのユーザ対話は、典型的に、クライアントコンピューティングデバイス102でのローカルユーザ対話として扱われてもよい。例示的に、表示されたコンテンツとのユーザ対話をクライアントコンピューティングデバイス102でのローカルユーザ対話として扱うことは、対話に対応する対話データが処理用NCC POP142に送信される必要がないため、単純なユーザ対話(例えば、ラジオボタンの選択、またはフィールドにテキストを打ち込むこと)についてより良好な応答性およびより少ない遅延を可能にし得る。
更なる例示として、コンテンツの重い遠隔処理(例えば、RDPを介して処理済みビットマップデータを送信すること)を利用する遠隔セッションブラウジング構成が、遠隔セッションブラウジング構成として使用されているとき、表示されたコンテンツとの全てのユーザ対話は、遠隔ユーザ対話として扱われてもよい。例えば、ユーザ入力(例えば、キーボード入力およびカーソル位置)は、RDPプロトコルデータ単位でカプセル化され、ネットワーク108全体で処理用にNCC POP142に伝送されてもよい。例示的に、NCC POP142は、ユーザ対話をネットワークコンテンツに適用し、コンテンツの更新された表現に対応する更新されたビットマップおよびインターフェースデータからなる処理結果を、クライアントコンピューティングデバイス102に戻して伝送してもよい。例示的に、表示されたコンテンツとのユーザ対話をNCC POP142での遠隔ユーザ対話として扱うことは、データがネットワークを介して渡すように要求され、ネットワーク待機時間によって制限されるため、インターフェース応答性にマイナスの影響を有する場合があるが、実質的な量の処理を必要とするユーザ対話は、NCC POP142の処理待機時間がクライアントコンピューティングデバイス102の処理待機時間より実質的に短くなり得るため、遠隔ユーザ対話として扱われるとき、より良好に機能し得る。
ネットワークコンテンツを表示するためのコンテンツ表示区域に加えて、ブラウザは、ツールバー、メニュー、ボタン、または他のユーザインターフェース制御等の、1つ以上のローカルインターフェースコンポーネントを有してもよい。ローカルインターフェースコンポーネントとの対話は、例示的な図7に更に図示される対話および遠隔セッションブラウジング構成によって必要とされる処理に応じて、ローカルユーザ対話または遠隔ユーザ対話として扱われてもよい。例えば、いくつかのローカルインターフェースコンポーネントは、クライアントコンピューティングデバイス上で走っているブラウザコードによってローカルに管理されてもよいが、一方で他のローカルインターフェースコンポーネントは、1つ以上のローカルも管理されたアスペクト(例えば、ボタンクリックフィードバック、スクロールバー再描画等)、および遠隔ユーザ対話(例えば、ページリフレッシュ、アドレスバーにおいてアドレスのページを要求すること等)として扱われる1つ以上の遠隔管理されたアスペクトを有してもよい。
ブロック1104で、クライアントコンピューティングデバイス102は、ユーザ対話をそのユーザから得る。このユーザ対話は、図7に記載されかつ上述されるローカルインターフェースコンポーネントとの対話であってもよく、またはフォームフィールド、ボタン、アニメーション等の、ブラウザのコンテンツ表示区域において表示されるコンテンツの任意の対話要素との対話であってもよい。これらのローカルインターフェースコンポーネントまたは表示されたコンテンツの対話要素とのユーザ対話は、図7に記載されかつ上述されるコンポーネントもしくは要素の性質、ならびに遠隔セッションブラウジング構成によって指定された処理分割に応じて、ローカルおよび/または遠隔処理を必要とする場合がある。ブロック1106で、クライアントコンピューティングデバイス102は、得られたユーザ対話のための対話処理要件を決定する。決定ブロック1108で、ユーザ対話がローカルアスペクト(例えば、ボタンクリックフィードバック、ローカルブラウザ状態への変更、クライアントコンピューティングデバイスで処理されているコンテンツ要素等)を有するとき、ルーチン1102は、ブロック1110に移動し、クライアントコンピューティングデバイス102でローカルアスペクトまたはユーザ対話のアスペクトを処理し、次に、ブロック1112でローカルインターフェースコンポーネントを更新する。例示的に、そして上述のように、対話のアスペクトおよびインターフェースコンポーネントおよび要素を更新することは、ブラウザが応答性ユーザインターフェースおよびコンテンツを提供することをローカルに可能にする。ユーザ対話のローカルアスペクト(複数可)を処理した後、またはユーザ対話がローカル要素(例えば、専らサーバ側で処理し、RDP遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成を使用するとき、コンテンツ表示区域に表示されるコンテンツ要素とのユーザ対話)を有しないとき、ルーチン1102は、決定ブロック1114に移動する。ユーザ対話が処理を必要とする遠隔アスペクトを有するとき、ルーチン1102は、ブロック1116に移動し、遠隔ユーザ対話データをネットワークコンピューティングプロバイダ107に提供する。例示的に、RDP遠隔セッション通信プロトコルを利用する、重いサーバ側の遠隔セッションブラウジング構成の場合、遠隔ユーザ対話データは、1つ以上のRDPプロトコルデータ単位でカプセル化されたカーソル位置またはキーボード入力等の入力データを含んでもよい。RDPまたは他の遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成のいくつかの実施形態において、カーソル位置等の、遠隔ユーザ対話データの特定のアスペクトは、連続的ベースでネットワークコンピューティングプロバイダ107に提供されてもよいが、一方で遠隔セッションブラウズ構成の他の実施形態において、遠隔ユーザ対話データは、遠隔処理を必要とするユーザ対話と関連付けられるとき、ネットワークコンピューティングプロバイダ107に提供されるのみであってもよい。
ブロック1118で、クライアントコンピューティングデバイス102は、ネットワークコンピューティングプロバイダ107が遠隔ユーザ対話データを処理し、コンテンツの更新された表現を生成した後、更新された処理結果をネットワークコンピューティングプロバイダ107から得る。ブロック1120で、クライアントコンピューティングデバイス102は、更新された処理結果(遠隔セッションブラウジング構成に基づく)に必要とされる任意の追加処理を行い、ブロック1122で、ブラウザのコンテンツ表示区域において更新された処理結果を表示する。ブロック1124で、処理ユーザ対話ルーチン1102は終了する。例示的に、ルーチンは、ブラウザおよび表示されたコンテンツとの更なるユーザ対話に応答して、何回でも再び実行されてもよい。
ここで図12〜14を参照して、図1のネットワーク化されたコンピューティング環境100の様々なコンポーネントの間の対話が例示される。具体的には、図12〜14は、ネットワークコンピューティングプロバイダ107での1つ以上の持続的ブラウジングコンテキストネットワークの作成および維持のためのネットワーク化されたコンピューティング環境100の様々なコンポーネントの間の対話を例示する。しかしながら、例示の目的のために、図示は、簡略化されており、したがって、通信を容易にするために使用されるコンポーネントの多くは示されない。当業者であれば、そのようなコンポーネントが利用され得、それに応じて、追加の対話が本開示の趣旨および範囲を逸脱することなく行われることを理解するであろう。
図2を参照して、処理は、クライアントコンピューティングデバイス102Aからネットワークコンピューティングプロバイダ107への新しい持続的ブラウジングコンテキスト要求を生成および処理することから開始し得る。例示的に、クライアントコンピューティングデバイス102Aは、イベントまたはユーザ要求に応答してネットワークコンテンツを表示するためのブラウザを読み込んでもよい。ブラウザが読み込まれた後、ブラウザは、新しい持続的ブラウジングコンテキストを要求するように構成されてもよい。様々な実施形態において、新しい持続的ブラウジングコンテキストのための要求は、ブラウザが読み込まれると自動的であってもよく、またはクライアントコンピューティングデバイスのユーザからのコマンドもしくは要求等のイベントの結果であってもよい。他の実施形態において、ブラウザは、下の図4に論じられるように、ネットワークコンピューティングプロバイダでインスタンス化された既存の持続的ブラウジングコンテキストへのアクセスを要求するように構成されてもよい。
図12に例示されるように、クライアントコンピューティングデバイス102Aおよびネットワークコンピューティングプロバイダ107は、持続的ブラウジングコンテキスト環境情報を交換してもよい。例示的に、持続的ブラウジングコンテキスト環境情報は、構成情報、識別する情報、ブラウズ選好情報、現在アクティブな持続的ブラウジングコンテキストに関する情報等を含むが、これらに限定されない任意の数の種類の情報を含んでもよい。他の実施形態において、持続的ブラウジングコンテキスト環境情報は、持続的ブラウジングコンテキスト要求に含まれてもよく、または持続的ブラウジングコンテキスト要求の前、その後、もしくはそれと同時に交換されてもよい。
クライアントコンピューティングデバイス102Aは、持続的ブラウジングコンテキスト要求をネットワークコンピューティングプロバイダ107に送信してもよい。例示的な実施形態において、ネットワークコンピューティングプロバイダ107は、登録のアプリケーションプログラムインターフェース(「API」)を利用して、クライアントコンピューティングデバイス102からの持続的ブラウジングコンテキスト要求を承諾する。一実施形態において、持続的ブラウジングコンテキスト要求は、上の図2〜6に記載されるように、ブラウズセッション要求または要求されたコンテンツを識別する他の情報を含むことができる。
持続的ブラウジングコンテキスト要求の受信後、ネットワークコンピューティングプロバイダ107は、NCC POP 142等のNCC POPを選択して、持続的ブラウジングコンテキスト要求にサービス提供してもよい。NCC POPインスタンス時の処理およびネットワークリソースの選択およびソフトウェアの提供は、例えば、持続的ブラウジングコンテキスト環境情報または持続的ブラウジングコンテキスト要求に含まれる位置または性能情報に基づいて、少なくともある程度、コンテンツプロバイダ104およびクライアントコンピューティングデバイス102との通信を最適化するために行われてもよい。
選択されたNCC POP 142は、持続的ブラウジングコンテキスト要求、およびクライアントコンピューティングデバイス102Aとネットワークコンピューティングプロバイダ107との間で交換される任意の持続的ブラウジングコンテキスト環境情報に基づいて対応する、持続的ブラウジングコンテキストを生成してもよい。例示的に、新しい持続的ブラウジングコンテキストインスタンスをインスタンス化することは、NCC POP142で新しい仮想マシンインスタンスおよび/またはブラウザインスタンスを読み込み、新しい持続的ブラウジングコンテキストのためのデバイスメモリ、ストレージもしくはキャッシュ領域、プロセッサ時間、ネットワーク帯域、または他の計算的もしくはネットワークリソースを予約し、または割り当てることを含んでもよい。
明確さのためにここでは示されないが、新しい持続的ブラウジングコンテキストがNCC POP 142でインスタンス化された後に、クライアントコンピューティングデバイス102Aは、NCC POP 142に、新しいブラウズセッションのための要求または要求されたコンテンツに対応する他の要求を提供してもよい。NCC POP 142は、新しいブラウズセッション要求および/またはコンテンツ要求に対応する任意の数の新しいブラウズセッションを作成し、様々なブラウズセッション情報をクライアントコンピューティングデバイス102Aと交換してもよい。例えば、NCC POP 142は、上の図2〜6に記載されるように、初期処理結果をクライアントコンピューティングデバイス102Aに提供し、ユーザ対話データおよび更新された処理結果をクライアントコンピューティングデバイス102Aと交換してもよい。NCC POP 142は、ブラウザおよびその中のコンテンツの表示の状態、構成、または選好の変更に対応するブラウザおよびコンテンツ構成データをさらに受信してもよい。NCC POP 142は、構成データおよびブラウズセッション情報を処理してもよく、持続的ブラウジングコンテキストにおいてコンテンツおよび状態情報を維持してもよい。例示的に、要求されたコンテンツに対応する新しいブラウズセッションは、持続的ブラウジングコンテキストと同じNCC POP 142でインスタンス化されてもよく、または図11を参照して上述される任意の数の性能、コスト、もしくは選好要因に基づいて、任意の他のNCC POPでインスタンス化されてもよい。様々な実施形態において、ブラウズセッションは、持続的ブラウジングコンテキストと関連付けられたそれぞれの1つのコンテンツ、タブ、ウィンドウ、フレーム、コンテンツのグループ、またはそれらの任意の組み合わせのために作成されてもよい。例示的に、それぞれのブラウズセッションは、上の図8〜10を参照して記載される、同じまたは異なる遠隔セッションブラウズ構成と関連付けられてもよい。
図11を参照して、クライアントコンピューティングデバイス102Bからネットワークコンピューティングプロバイダ107への、既存の持続的ブラウジングコンテキストにアクセスする要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図が開示される。図11に例示されるように、第2のクライアントコンピューティングデバイス102Bは、ネットワーク108をまたいで、ネットワークコンピューティングプロバイダ107における既存の持続的ブラウジングコンテキスト要求にアクセスするよう試みてもよい。例示的な実施形態において、ネットワークコンピューティングプロバイダ107は、登録APIを利用して、クライアントコンピューティングデバイス102Bからの持続的ブラウジングコンテキスト要求および持続的ブラウジングコンテキスト環境情報を承諾する。
例示的に、図12を参照して上述される新しい持続的ブラウジングコンテキストの作成後に、クライアントコンピューティングデバイス102Aのユーザは、表示されたコンテンツと対話することを停止してもよく、あるいはクライアントコンピューティングデバイス102Aで走っているブラウザを脱離してもよい。例えば、ユーザは、クライアントコンピューティングデバイス102Aで走っているソフトウェアブラウザアプリケーションを閉じてもよく、クライアントコンピューティングデバイス102Aの電源を切ってもよく、または単に代替の活動に従事するようになってもよい。一実施形態において、NCC POP 142は、クライアントコンピューティングデバイス102Aとの接続が失われた後でさえも、持続的ブラウジングコンテキストと関連付けられたソフトウェアブラウザアプリケーションを維持してもよい。他の実施形態において、NCC POP 142は、コンテンツ表示データ、コンテンツまたはセッション状態データ、ブラウザ構成または状態データ等を含む、持続的ブラウジングコンテキストの現在の状態と関連付けられたデータを記憶してもよい。
クライアントコンピューティングデバイス102Aのユーザは、その後、先の持続的ブラウジングコンテキストに戻ることを決定してもよい。例示的に、クライアントコンピューティングデバイス102Aのユーザは、クライアントコンピューティングデバイス102Aとは異なるハードウェア、ソフトウェア、またはネットワークアクセスを有し得る第2のクライアントコンピューティングデバイス102Bを通じて、先の持続的ブラウジングコンテキストにアクセスすることを選んでもよい。クライアントコンピューティングデバイス102Bは、実施例の目的のために、第2のクライアントコンピューティングデバイスとしてここで記載されるが、この図における全ての説明は、元のクライアントコンピューティングデバイス102Aによる持続的ブラウジングコンテキストの後続のアクセスに適用されてもよいことが理解されるべきである。加えて、実施例の目的のために、クライアントコンピューティングデバイス102Bのユーザは、クライアントコンピューティングデバイス102Aのユーザと同じであるように記載されるが、様々な実施形態において、既存の持続的ブラウジングコンテキストは、ブラウザ情報、ユーザ情報(例えば、ID、ログイン、またはパスワード)、デバイス情報、環境識別子、持続的ブラウジングコンテキスト識別子等を含む、任意の種類の識別する情報に基づいて、任意の当事者によってアクセスされてもよいことが理解されるべきである。
持続的ブラウジングコンテキストにアクセスする要求は、上の図12を参照して記載される、持続的ブラウジングコンテキスト環境情報の交換から開始してもよい。持続的ブラウジングコンテキスト情報の交換は、ユーザが、新しいコンテンツ表示区域を有する新しいブラウザウィンドウを開くこと、既存のブラウザウィンドウで新しいコンテンツ表示区域を開くこと(例えば、ブラウザで新しいタブを開くこと)、既存のコンテンツ表示区域で新しいネットワークコンテンツを要求すること(例えば、新しいネットワークリソースへのリンクに従うこと、または新しいネットワークアドレスをブラウザに入力すること)、または任意の他のユーザ対話に応答して、クライアントコンピューティングデバイス102Bによって開始されてもよい。一実施形態において、クライアントコンピューティングデバイス102Bによってネットワークコンピューティングプロバイダ107に提供される、持続的ブラウジングコンテキスト環境情報は、ブラウザ情報、ユーザ情報(例えば、ID、ログイン、またはパスワード)、デバイス情報、環境識別子、持続的ブラウジングコンテキスト識別子等を含んでもよいが、これらに限定されない。この識別情報に応答して、ネットワークコンピューティングプロバイダ107は、クライアントコンピューティングデバイスに、識別情報と関連付けられた利用可能な持続的ブラウジングコンテキストの一覧を含む、利用可能なセッション情報を提供してもよい。例示的に、利用可能な持続的ブラウジングコンテキストの一覧は、NCC POP 142、またはNCC POPの任意の他の組み合わせ、またはネットワークコンピューティングプロバイダ107と関連付けられたネットワークコンピューティングもしくはストレージデバイス上の、アクティブなソフトウェア処理または記憶されたデータに対応してもよい。
クライアントコンピューティングデバイス102Bは、ネットワークコンピューティングプロバイダ107によって提供される利用可能な持続的ブラウジングコンテキストの一覧から、既存の持続的ブラウジングコンテキストを選択してもよく、持続的ブラウジングコンテキスト選択をネットワークコンピューティングプロバイダ107に伝送してもよい。既存の持続的ブラウジングコンテキストの選択のための例示説明となるユーザインターフェースは、下の図15を参照して提供される。明確さの目的のためにここでは図示されないが、持続的ブラウジングコンテキスト選択を受信すると、ネットワークコンピューティングプロバイダ107は、クライアントコンピューティングデバイス102Bを、NCC POP 142における既存の持続的ブラウジングコンテキストに接続させ得る。一実施形態において、これは、現在走っているソフトウェアブラウザアプリケーションにアクセスすること、またはコンテンツ、コンテンツ状態、および/もしくはブラウザ状態等の以前に記憶された持続的ブラウジングコンテキスト情報に基づいて、NCC POP 142において新しいソフトウェアブラウザアプリケーションを初期化することを含んでもよい。NCC POP 142は、新しいブラウズセッションを作成しても、持続的ブラウジングコンテキストと関連付けられたコンテンツに対応する既存のブラウズセッションにアクセスしてもよく、また持続的ブラウジングコンテキストと関連付けられたコンテンツの現在の状態および持続的ブラウジングコンテキストと関連付けられたブラウザの現在の状態に対応する初期処理結果を伝送してもよい。クライアントコンピューティングデバイス102BおよびNCC POP 142は、例えば上の図の2〜6および12に関して上述されるように、ユーザ対話データ、コンテンツ要求、処理結果、およびブラウザ構成情報の交換に進んでもよい。
図14を参照して、クライアントコンピューティングデバイス102Bからネットワークコンピューティングプロバイダ107への追加の新しい持続的ブラウジングコンテキスト要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図が開示される。例示的に、クライアントコンピューティングデバイス102Bは、ユーザが、新しいコンテンツ表示区域を有する新しいブラウザウィンドウを開くこと、既存のブラウザウィンドウで新しいコンテンツ表示区域を開くこと(例えば、ブラウザで新しいタブを開くこと)、既存のコンテンツ表示区域で新しいネットワークコンテンツを要求すること(例えば、新しいネットワークリソースへのリンクに従うこと、または新しいネットワークアドレスをブラウザに入力すること)、またはその他のユーザ対話に応答して、新しい持続的ブラウジングコンテキストを要求してもよい。
一実施形態において、第1の持続的ブラウジングコンテキストへの接続がすでに確立されている場合、クライアントコンピューティングデバイス102Bおよびネットワークコンピューティングプロバイダ107は、図12を参照して記載されるように、持続的ブラウジングコンテキスト環境情報を交換してもよい。図12に関して上述されるように、新しい持続的ブラウジングコンテキストのための要求の後に、ネットワークコンピューティングプロバイダ107は、新しい持続的ブラウジングコンテキストと関連付けられた状態およびコンテンツを維持するために、NCC POP 142で仮想マシン、データストア、および/またはソフトウェアブラウザアプリケーションのインスタンス化を引き起こし得る。図12を参照して上述されるように、ネットワークコンピューティングプロバイダ107は、NCC POPを選択して、利用可能なNCC POPリソース(例えば、利用可能なメモリ、プロセッサ負荷、ネットワーク負荷等)、NCC POPで持続的ブラウジングコンテキスト要求にサービス提供する財務コスト、クライアントコンピューティングデバイス102に対するNCC POP位置、コンテンツプロバイダ112、またはCDN POP116、NCC POPキャッシュ状態(例えば、要求されたコンテンツがNCC POPキャッシュにすでに記憶されているかどうか)等を含むが、これらに限定されない、任意の数の要因に基づいて、持続的ブラウジングコンテキスト要求にサービス提供してもよい。例示的に、ネットワークコンピューティングプロバイダ107は、例示の目的のために、ここではNCC POP142を選択しているものとして図示されるが、ネットワークコンピューティングプロバイダ107は、任意の現存するNCC POPを選択して、持続的ブラウジングコンテキスト要求にサービス提供してもよい。上述のように、以前の持続的ブラウジングコンテキストまたは同時に起こる持続的ブラウジングコンテキストのために利用されたものとは異なるNCC POPを選択するかの決定は、利用可能なシステムリソースに基づいて、無作為に、または上述のおよび図12に関するその他の要因に従って行われてもよい。例示的に、一旦、新しい持続的ブラウジングコンテキストが確立されると、クライアントコンピューティングデバイス102BおよびNCC POP 142は、例えば図12に関して上述されるように、ブラウズセッションの確立ならびにユーザ対話データ、コンテンツ要求、処理結果、およびブラウザ構成情報の交換に進んでもよい。
図15は、例示的なブラウジングコンテキスト選択インターフェース1500を図示する、ユーザインターフェースの図である。図13および16を参照して記載されるように、クライアントコンピューティングデバイスが、識別する情報をネットワークコンピューティングプロバイダ107に提供した後、ネットワークコンピューティングプロバイダ107は、識別情報に基づいて、クライアントコンピューティングデバイス102に、利用可能な持続的ブラウジングコンテキスト1502の一覧を提供してもよい。例えば、クライアントコンピューティングデバイス102は、ユーザが、ブラウザアプリケーションを開くか、あるいはアクセスするブラウズ環境を識別することに応答して、ブラウズ環境識別情報を提供してもよい。別の例においては、クライアントコンピューティングデバイス102は、ログインまたはパスワード等のユーザ識別情報をネットワークコンピューティングプロバイダ107に提供してもよい。ネットワークコンピューティングプロバイダ107は、利用可能な持続的ブラウジングコンテキスト1502の一覧をクライアントコンピューティングデバイス102に提供することによって、この識別情報に応答してもよい。一実施形態において、利用可能な持続的ブラウジングコンテキスト1502の一覧は、上述の識別情報に基づいて持続的ブラウジングコンテキスト環境(例えば、「Johnの家」)を識別する持続的ブラウジングコンテキスト選択インターフェース1500において、ユーザに提示されてもよい。例示的に、持続的ブラウジングコンテキスト選択インターフェース1500は、最後の持続的ブラウジングコンテキストアクセス日付等の付随する情報と共に、利用可能な持続的ブラウジングコンテキスト1502の一覧を提供してもよい。一実施形態において、持続的ブラウジングコンテキスト選択インターフェース1500は、それぞれ図12および図13を参照して記載されるように、ユーザが、新しい持続的ブラウジングコンテキストを作成すること、ならびに既存の持続的ブラウジングコンテキストにアクセスすることを可能にし得る。
図16は、図1のクライアントコンピューティングデバイス102によって実装されるクライアントの持続的ブラウジングルーチンを例示する流れ図である。クライアント持続的ブラウジングルーチン1600は、ブロック1602で開始する。例示的に、クライアント持続的ブラウジングルーチン1600は、ソフトウェアブラウザアプリケーションの新しいインスタンスが、クライアントコンピューティングデバイス102でインスタンス化されたこと、ユーザが、クライアントコンピューティングデバイス102で、以前にインスタンス化されたソフトウェアブラウザアプリケーションから持続的ブラウジングコンテキストへのアクセスを要求したこと、または任意の他のイベントに応答して開始してもよい。
ブロック1604で、クライアントコンピューティングデバイス102は、接続を確立し、持続的ブラウジングコンテキスト環境情報をネットワークコンピューティングプロバイダ107と交換する。例示的に、持続的ブラウジングコンテキスト環境情報は、構成情報、識別する情報、ブラウズ選好情報、現在アクティブな持続的ブラウジングコンテキストに関する情報等を含むが、これらに限定されない任意の数の種類の情報を含んでもよい。例えば、クライアントコンピューティングデバイス102は、デバイス情報、ソフトウェアブラウザ情報、位置情報、ユーザidもしくは他のユーザ情報、持続的ブラウジングコンテキスト環境識別子、持続的ブラウジングコンテキスト内で利用するための以前のブラウズ履歴もしくはブックマークの組を指定する情報、または任意の他の種類の情報を含む持続的ブラウジングコンテキスト環境情報を伝送してもよい。具体的には、例示の目的のために、クライアントコンピューティングデバイス102によってネットワークコンピューティングプロバイダ107に送信される持続的ブラウジングコンテキスト環境情報は、クライアントコンピューティングデバイス102と関連付けられたハードウェアおよびソフトウェア情報、ユーザを識別する情報(例えば、ログインおよびパスワード、ユーザid等)、ユーザと関連付けられた情報、持続的ブラウジングコンテキスト識別子、ブラウザ構成または選好、論理的または物理的デバイス位置等を含んでもよいが、これらに限定されない。
一実施形態において、持続的ブラウジングコンテキスト環境情報は、ネットワークコンピューティングプロバイダで記憶された1組の既存の持続的ブラウジングコンテキストまたは持続的ブラウジングコンテキスト選好と関連付けられた、持続的ブラウジングコンテキスト環境識別子を含んでもよい。例えば、クライアントコンピューティングデバイス102におけるユーザは、「Johnの家」と名付けられた持続的ブラウジングコンテキスト環境にアクセスすることを選んでもよい。この具体的な実施例に関して、クライアントコンピューティングデバイス102は、「Johnの家」の持続的ブラウジングコンテキスト環境と関連付けられた持続的ブラウジングコンテキスト環境識別子を、ブラウズ環境情報の一部としてネットワークコンピューティングプロバイダ107に提供してもよい。例示的に、「Johnの家」のブラウズ環境識別子は、下に論じられるように、ネットワークコンピューティングプロバイダ107で、いくつかの異なる持続的ブラウジングコンテキストと関連付けられてもよく、更に、ブックマークの組またはブラウジング履歴等の、関連付けられた持続的ブラウジングコンテキストに共通の選好または構成情報と関連付けられてもよい。様々な他の実施形態において、持続的ブラウジングコンテキストおよび様々な選好または構成情報は、ユーザ、クライアントコンピューティングデバイス102、論理的もしくは物理的位置、ソフトウェアブラウザアプリケーション、オペレーティングシステム、または他のソフトウェア、ネットワークアドレス、デバイス性能もしくはネットワーク特性に対応する識別情報、あるいは任意の他のエンティティ、デバイス、もしくは1つの情報と関連付けられてもよい。他の実施形態において、持続的ブラウジングコンテキスト環境情報は、持続的ブラウジングコンテキスト要求に含まれてもよく、または新しい持続的ブラウジングコンテキスト要求の前もしくはそれと同時に交換されてもよい。様々な実施形態において、持続的ブラウジングコンテキスト環境情報は、追加的にまたは代替的に、特定の現存する持続的ブラウジングコンテキストを識別する持続的ブラウジングコンテキスト識別子を含んでもよい。
例示的に、いくつかの実施形態において、ブラウズ環境識別子は、文字、数字、または他の記号からなる英数字列等のコンピュータ可読形式または人間が読める形式で実装されてもよく、かつ/あるいはバーコード、高周波id伝送器、または任意の他の符号もしくは伝送形式に符号化されてもよい。例示的に、クライアントコンピューティングデバイス102は、ブラウズ環境識別子を読み出し、ブラウズ環境識別子を利用して、ネットワークコンピューティングプロバイダ107で持続的ブラウジングコンテキストおよび関連する構成情報の組を識別するように構成されてもよい。具体的な実施例の目的のために、第1のユーザは、ブラウズリソース識別子、またはブラウズ環境識別子と共にネットワークコンピューティングプロバイダのアドレスに対応する情報を含む電子アドレス(例えば、ユニフォームリソースロケータ(URL))を得てもよい。例示的に、この電子アドレスまたはブラウズ環境識別子は、様々な実施形態において、クライアントコンピューティングデバイス102のブラウザ、ネットワークコンピューティングおよびストレージコンポーネント107、第1のユーザ、または任意の他のサービス、エンティティ、もしくはデバイスによって生成されてもよい。第1のユーザは、電子アドレスを第2のユーザに(例えば、電子メッセージによって)提供してもよい。第2のユーザは、ブラウズ環境識別子と関連付けられた持続的ブラウジングコンテキストおよび対応する構成情報にアクセスするために、第2のユーザと関連付けられたクライアントコンピューティングデバイス102上で走っているブラウザを通じて、電子アドレスをネットワークコンピューティングプロバイダ102に提供してもよい。例えば、電子アドレスは、一実施形態において、ネットワークコンピューティングプロバイダ107のアドレスおよびブラウズ環境識別子を含むハイパーリンクとして提示されてもよく、第2のユーザは、リンクをクリックするか、あるいはリンクに従うことによって、ブラウズ環境識別子をネットワークコンピューティングプロバイダ107に伝送させ得る。様々な他の実施形態において、持続的ブラウジングコンテキスト識別子は、QR符号、バーコード、高周波id符号、近距離無線通信、ブルートゥース、赤外線等を含むが、これらに限定されない、当該技術分野で既知の任意の他の技術を利用して、クライアントコンピューティングデバイスの間で転送されても、クライアントコンピューティングデバイスによって読み出しされてもよい。例示的に、他の実施形態において、ネットワークコンピューティングプロバイダ107で特定の現存する持続的ブラウジングコンテキストを識別する識別子は、ブラウズ環境識別子を参照して上述される手法と同じ手法のいずれを使用して伝送されてもよい。
ネットワークコンピューティングプロバイダ107は、指定されたデバイス/ユーザ/環境識別子、クライアントコンピューティングデバイスで走っているブラウザのための構成情報、持続的ブラウジングコンテキストのためのソフトウェアブラウザと関連付けるブックマークまたはブラウジング履歴等と関連付けられた、利用可能な既存の持続的ブラウジングコンテキストの一覧を有する、クライアントからの持続的ブラウジングコンテキスト情報に応答してもよい。一実施形態において、ブロック1606で、クライアントコンピューティングデバイスは、持続的ブラウジングコンテキスト環境認証情報をネットワークコンピューティングプロバイダ107に提供してもよい。例えば、クライアントコンピューティングデバイス102から受信された識別情報(例えば、持続的ブラウジングコンテキスト環境識別子、ユーザ、デバイス、またはブラウザ識別情報等)に応答して、ネットワークコンピューティングプロバイダ107は、ログインおよび/またはパスワード等の追加の認証情報を要求してもよい。例示的に、この認証情報は、当該技術分野で既知の任意のプロトコルまたは技術を利用する、安全な接続を介して要求または提供されてもよい。
ブロック1608で、クライアントコンピューティングデバイス102は、上のブロック1604において交換される識別情報の1つ以上のアスペクトと関連付けられた、現在アクティブな持続的ブラウジングコンテキストの一覧等の、現在のアクティブな持続的ブラウジングコンテキスト情報を得る。例示的に、現在のアクティブな持続的ブラウジングコンテキスト情報は、持続的ブラウジングコンテキスト名もしくは識別子、持続的ブラウジングコンテキストの最後にアクセスされた日付、持続的ブラウジングコンテキストブラウジングに費やした総時間、持続的ブラウジングコンテキストの作成日付、タグもしくは他の持続的ブラウジングコンテキストカテゴリ情報、それぞれの持続的ブラウジングコンテキストと関連付けられたコンテンツの一覧、ユーザにより生成されたメモ、デバイスもしくはブラウザアクセス記録、または任意の他の履歴もしくは識別する情報を含むが、これらに限定されない一覧における、持続的ブラウジングコンテキストのうちの1つ以上に関する様々な情報を含んでもよい。いくつかの実施形態において、ブロック1608は、行われない場合があり、別のブロックと組み合わせられる場合があり、またはルーチン1600に図示されるものよりも後もしくは先に行われる場合がある。例えば、ブロック1608は、クライアントコンピューティングデバイスが、持続的ブラウジングコンテキスト環境情報の一部として結合するための特定の持続的ブラウジングコンテキストを指定した場合、現在アクティブな持続的ブラウジングコンテキストが、識別情報の1つ以上のアスペクトと何ら関連付けられていない場合等には、必要でないことがある。
決定ブロック1610において、クライアントコンピューティングデバイス102は、上の図12および14に記載されるように、ブロック1612で新しい持続的ブラウジングコンテキスト要求をネットワークコンピューティングプロバイダ107に提供してもよく、または決定ブロック1614でアクセスするための現在アクティブな持続的ブラウジングコンテキストを識別してもよい。ブロック1612で、新しい持続的ブラウジングコンテキスト要求をネットワークコンピューティングプロバイダ107に提供することは、ネットワークコンピューティングプロバイダ107に、要求に対応する新しい持続的ブラウジングコンテキストをインスタンス化させ得る。例示的に、一実施形態において、新しい持続的ブラウジングコンテキスト要求は、クライアントコンピューティングデバイス102によって要求された様々なネットワークリソースまたは他のコンテンツに対する1つ以上のアドレスもしくは参照を含んでもよい。更なる実施形態において、持続的ブラウジングコンテキスト要求は、新しい持続的ブラウジングコンテキストを、ブロック1604を参照して上述される持続的ブラウジングコンテキスト環境情報に含まれる識別情報の1つ以上のアスペクトと関連付ける、関連付け情報を含んでもよい。例示的な実施形態において、持続的ブラウジングコンテキスト要求は、APIに従って伝送される。新しいブラウズ要求をネットワークコンピューティングプロバイダ107に提供した後に、クライアントコンピューティングデバイス102は、新しい持続的ブラウジングコンテキストを選択する持続的ブラウジングコンテキスト選択情報を、ネットワークコンピューティングプロバイダ107に提供してもよい。いくつかの実施形態において、ルーチン1600は、更なる選択情報を提供することなくブロック1616に直接進む。
ブロック1614で、クライアントコンピューティングデバイス102は、既存の持続的ブラウジングコンテキストを選択してもよい。例示的に、クライアントコンピューティングデバイス102は、持続的ブラウジングコンテキスト選択情報をネットワークコンピューティングプロバイダ107に提供してもよい。一実施形態において、持続的ブラウジングコンテキスト選択情報は、ブロック1608でクライアントコンピューティングデバイス102に提供される、現在のアクティブな持続的ブラウジングコンテキスト情報に含まれる1つ以上のアクティブな持続的ブラウジングコンテキストに対応してもよい。例示的に、ルーチン1600は、例えば、新しい持続的ブラウジングコンテキストが作成された場合、または特定の現存する持続的ブラウジングコンテキストが、上のブロック1604で交換された持続的ブラウジングコンテキスト環境情報において既に識別された場合、このブロックをスキップしてもよい。
ブロック1616で、クライアントコンピューティングデバイス102は、ネットワークコンピューティングプロバイダ107から、上のブロック1614で選択された持続的ブラウジングコンテキストのコンテンツに対応する、1つ以上の初期処理結果を得てもよい。初期処理結果は、上の図9〜11を参照して記載されるように、持続的ブラウジングコンテキストと関連付けられ、ネットワークコンピューティングプロバイダ107と関連付けられた1つ以上のNCC POPでインスタンス化された、ブラウズセッションに対応してもよい。初期処理結果は、持続的ブラウジングコンテキストと関連付けられたコンテンツの表現と関連付けられてもよい。例えば、新しい持続的ブラウジングコンテキストの場合には、初期処理結果は、新しい持続的ブラウジングコンテキストと関連付けられて要求されたコンテンツの表現と関連付けられてもよい。既存の持続的ブラウジングコンテキストの場合には、初期処理結果は、例えば、持続的ブラウジングコンテキストと関連付けられた開いたタブと対応するウェブページ等の、既存の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現と関連付けられてもよい。例示的に、既存の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現は、コンテンツの前の状態(すなわち、持続的ブラウジングコンテキストの最後のアクセス時点のコンテンツの状態)を含んでもよい。例えば、ネットワークコンピューティングプロバイダ107で持続的ブラウジングコンテキストにアクセスするクライアントコンピューティングデバイス102のユーザは、クライアントコンピューティングデバイス102のブラウザ内の異なるタブで複数のウェブページを開いた場合がある。ユーザは、更に、クライアントコンピューティングデバイス102のブラウザを閉じる前に、第1のウェブページにおいてウェブページコンテンツをスクロールダウンし、第2のウェブページ上でウェブフォームデータを入力した場合がある。この具体的な実施例に関して、ネットワークコンピューティングプロバイダ107における関連付けられた持続的ブラウジングコンテキストにアクセスするクライアントコンピューティングデバイス102のブラウザは、ブラウザが閉じられる前にそれらが表示されていたままのウェブページの表現に対応する処理結果を受信してもよい。実施例の目的のために、処理結果は、したがって、スクロールダウンされたウェブページの表示されたセクションに対応してもよく、また損なわれていないフォームデータを有する第2のウェブページ、ならびにクライアントコンピューティングデバイス102でブラウザが閉じられる前にそれらが表示されていたままの任意の他のコンテンツの表現に対応してもよい。例示的に、初期処理結果に含まれる形式およびデータは、図9〜11を参照して上述されるように、ネットワークコンピューティングプロバイダ107によって選択された遠隔セッションブラウジング構成に基づいて変化してもよい。持続的ブラウジングコンテキストにアクセスするクライアントコンピューティングデバイス102は、ブラウザ内のインターフェース要素のレイアウト、視聴状態またはスタイル(例えば、タブ、ウィンドウ、またはフレーム内でコンテンツを表示すること、およびそれぞれをいくつ表示すべきか)、ブラウザテーマまたは視覚スキン、ブラウザ選好、ブラウザ履歴、現存するクッキーまたは他の識別する情報、ブックマーク、およびブラウザと関連付けられた任意の他の構成、設定、または情報を含むが、これらに限定されない、元のブラウザが閉じられる前のブラウザ状態に対応するブラウザ構成情報を更に受信してもよい。
一実施形態において、ネットワークコンピューティングプロバイダ107から受信され、持続的ブラウジングコンテキストと関連付けられた初期処理結果は、いくつかの異なるリソースまたはコンテンツ(例えば、いくつかのウェブページ)に対応してもよい。図7を参照して上述されるように、リソースは、クライアントコンピューティングデバイス102のブラウザインターフェース内の異なるタブにおいて提示されてもよく、あるいは一連のウィンドウとして、単一ウィンドウ内のフレームとして、一覧における要素として、または任意の他の視覚もしくは組織的表現において提示されてもよい。例示的に、リソースの視覚または組織表現が、1つのリソースが初期に、つまり他のリソースの表示前に、表示されるようなものである場合(例えば、上の図7に示されるもの等の、タブにより組織化されるブラウザ内の現在開いているタブ)、このリソースの表現に対応する処理結果には、クライアントコンピューティングデバイス102でおよび/またはネットワークコンピューティングプロバイダ107で、処理または転送優先権が与えられてもよい。例えば、クライアントコンピューティングデバイス102は、ブラウザインターフェースによって隠されるであろうリソース(例えば、現在表示されていないタブ内のリソース)に対応する処理結果に対する処理ステップを行う前に、初期に表示されたリソースに対応する処理結果に対して任意の要求される処理ステップを行ってもよい。別の実施例として、ネットワークコンピューティングプロバイダ107は、初期に表示されたリソースと関連付けられた1つ以上のブラウズセッションを優先してもよい。例示的に、優先付けには、他のリソースに対応する処理結果を送信する前の、初期に表示されたリソースに対応する処理結果が含まれてもよい。他の実施形態において、処理結果の処理および/または転送は、ユーザもしくはブラウザによって生成されるタグ、コンテンツの種類、リソース符号でのタグ(例えば、HTMLタグまたはメタデータ)、コンテンツ重要度、ハードウェアもしくはネットワーク仕様もしくは要件、または任意の他の要因を含む、他の要因に基づいて優先されてもよい。
ブロック1618で、クライアントコンピューティングデバイス102は、ユーザ対話データまたは新しいリソース要求をネットワークコンピューティングプロバイダ107に提供することを含めて、持続的ブラウジングコンテキストのユーザ対話を処理してもよい。持続的ブラウジングコンテキストのユーザ対話は、図11を参照して上述されるように、対話されたまたは要求されたコンテンツの表現に関連する処理結果を処理および受信することに対応する。持続的ブラウジングコンテキストのユーザ対話の処理に関する、いくつかの例示説明となる実施形態が下に記載される。しかしながら、そのような実施形態は、限定するものとしても、または実施形態の要求される順序もしくは組み合わせを暗示するようにも見なされるべきでない。
一態様において、クライアントコンピューティングデバイス102は、持続的ブラウジングコンテキスト複製要求をネットワークコンピューティングプロバイダ107に提供することによって、既存の持続的ブラウジングコンテキストを複製してもよい。例示的に、ネットワークコンピューティングプロバイダ107は、持続的ブラウジングコンテキスト複製要求を処理し、元の持続的ブラウジングコンテキストと同一のコンテンツおよび状態と共に、ネットワークコンピューティングプロバイダで新しい持続的ブラウジングコンテキストをインスタンス化してもよい。一実施形態において、持続的ブラウジングコンテキスト複製要求は、既存の持続的ブラウジングコンテキストにアクセスするブラウザによって生成されてもよい。例えば、ユーザは、新しいクライアントコンピューティングデバイス102からまたはユーザによって以前に利用されたクライアントコンピューティングデバイス102を介して、既存の持続的ブラウジングコンテキストにアクセスしてもよい。ネットワークコンピューティングプロバイダ107は、既存の持続的ブラウジングコンテキストを複製し、ユーザに、既存の持続的ブラウジングコンテキストと関連付けられた、および今では複製の持続的ブラウジングコンテキストと関連付けられた元のコンテンツの表現を提供してもよい。この例の目的のために、ユーザは、新しいクライアントコンピューティングデバイスで、複製の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現と対話してもよく、それにより、複製の持続的ブラウジングコンテキストと関連付けられたコンテンツまたはコンテンツ状態を変更してもよい。
後の時点で、ユーザは、もう1度、元の既存の持続的ブラウジングコンテキストにアクセスしてもよい。例示的に、ネットワークコンピューティングプロバイダ107は、ユーザに、複製の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現またはコンテンツ状態ではなく、既存の持続的ブラウジングコンテキストと関連付けられた元のコンテンツの表現およびコンテンツ状態を提供してもよい。代替的に、ユーザは、その後に修正された複製の持続的ブラウジングコンテキストに引き続きアクセスすることを望んでもよい。
別の態様において、元の持続的ブラウジングコンテキストが、任意の特定の持続的ブラウジングコンテキスト環境情報(例えば、ブラウズ環境識別子または他の識別情報)と関連付けられた場合、新たにインスタンス化された複製の持続的ブラウジングコンテキストは、同じ持続的ブラウジングコンテキスト環境情報と関連付けられてもよく、または任意の特定の情報と関連付けられないものとして作成されてもよい。複製の持続的ブラウジングコンテキストは、元の持続的ブラウジングコンテキストと同じNCC POP 142上でインスタンス化されてもよく、またはネットワークコンピューティングプロバイダと関連付けられた任意の他のNCC POP上でインスタンス化されてもよい。
更なる態様において、クライアントコンピューティングデバイス102は、コンテンツおよび/または選好を持続的ブラウジングコンテキストの間でインポートまたはエクスポートしてもよい。例えば、クライアントコンピューティングデバイス102は、インポートのコンテンツ要求をネットワークコンピューティングプロバイダ107に提供してもよい。一実施形態において、インポートコンテンツ要求は、現在の持続的ブラウジングコンテキストにおける1つ以上のコンテンツ識別子およびインポート先の持続的ブラウジングコンテキスト識別子を含んでもよい。具体的な実施例として、インポートコンテンツ要求は、現在の持続的ブラウジングコンテキストにおいて表示されたウェブページに対応する2つのタブの識別子を含んでもよい。ネットワークコンピューティングプロバイダ107は、これらのタブを指定された現存する持続的ブラウジングコンテキストに追加してもよい。様々な実施形態において、これらのタブは、現在の持続的ブラウジングコンテキストから除去されても、またはそこに保持されてもよく、また、現在の持続的ブラウジングコンテキストにおけるコンテンツと関連付けられた任意のコンテンツ状態情報(例えば、データまたは状態等から入力された)を伴いまたは伴わずに、指定された持続的ブラウジングコンテキストに追加されてもよい。別の実施形態において、クライアントコンピューティングデバイス102は、インポートブラウザ構成要求をネットワークコンピューティングプロバイダ107に提供してもよい。例示的に、インポートブラウザ構成要求は、現在の持続的ブラウジングコンテキスト(例えば、ブックマーク、履歴、視覚選好等)にアクセスするブラウザの構成の1つ以上のアスペクトを指定してもよく、ネットワークコンピューティングプロバイダ107に、指定された構成を別の指定された現存する持続的ブラウジングコンテキストに追加させ得る。一実施形態において、指定された構成は、指定されたブラウザ内の任意の既存の構成を置き換えてもよい。
依然として別の態様において、クライアントコンピューティングデバイス102は、ブロック1604で持続的ブラウジングコンテキスト環境情報の交換を参照して上述されるように、既存の持続的ブラウジングコンテキストを、識別する情報(例えば、ブラウズ環境識別子、ユーザid、ブラウザ識別子等)と関連付けてもよい。例えば、クライアントコンピューティングデバイス102は、現在のブラウジングセッションが関連付けられる特定の識別する情報を指定し得る、関連のブラウジングセッション要求をネットワークコンピューティングプロバイダ107に提供してもよい。クライアントコンピューティングデバイス102は、持続的ブラウジングコンテキストを新しい識別子(例えば、新しい持続的ブラウジングコンテキスト識別子、またはブラウズ環境識別子)と関連付けるための要求を、ネットワークコンピューティングプロバイダ107に更に送信してもよい。一実施形態において、クライアントコンピューティングデバイス102は、特定のブラウザもしくはクライアントコンピューティングデバイス構成を特定の識別子または1つの識別する情報と関連付けるための要求を、ネットワークコンピューティングプロバイダ107に更に送信してもよい。例示的に、一実施形態において、特定の識別子または1つの識別する情報と関連付けられた全ての持続的ブラウジングコンテキストは、ブラウザもしくはクライアントコンピューティングデバイス構成の1つ以上のアスペクトを共有してもよい。例えば、特定のブラウズ環境識別子と関連付けられた全ての持続的ブラウジングコンテキストは、ブックマークの組またはブラウザ履歴を含むが、これらに限定されないブラウザ構成情報を共有してもよい。
図16に戻ると、ブロック1620で、ルーチン1600は終了する。一実施形態において、これは、持続的ブラウジングコンテキストとの対話を終了するクライアントコンピューティングデバイス102のユーザに対応してもよい。例示的に、同じまたは異なるクライアントコンピューティングデバイス102は、同じルーチン1600による後の時点で、持続的ブラウジングコンテキストへのアクセスを要求し、それと対話してもよい。上述のように、任意の数の異なるクライアントコンピューティングデバイス102またはユーザは、任意の数の持続的ブラウジングコンテキストにアクセスしてもよい。更なる、1つ以上のクライアントコンピューティングデバイス102またはユーザは、持続的ブラウジングコンテキストに、それが作成された後に何回でもアクセスしてもよい。
図17は、図1のネットワークコンピューティングプロバイダ107によって実装される遠隔の持続的ブラウジングルーチン1700を例示する、流れ図である。遠隔の持続的ブラウジングルーチン1700は、ブロック1702で開始する。ブロック1704で、ネットワークコンピューティングプロバイダ107は、持続的ブラウジングコンテキスト環境情報をクライアントコンピューティングデバイス102と交換する。図8を参照して上述されるように、持続的ブラウジングコンテキスト環境情報は、構成情報、識別する情報、ブラウズ選好情報、現在アクティブな持続的ブラウジングコンテキストに関する情報等を含むが、これらに限定されない任意の数の種類の情報を含んでもよい。例えば、ネットワークコンピューティングプロバイダ107は、デバイス情報、ソフトウェアブラウザ情報、位置情報、ユーザidまたは他のユーザ情報、持続的ブラウジングコンテキスト環境識別子等を含むが、これらに限定されない、様々な識別する情報を受信してもよい。一実施形態において、ネットワークコンピューティングプロバイダ107は、1つ以上の情報と関連付けられた既存の持続的ブラウジングコンテキストを決定してもよい。例えば、クライアントコンピューティングデバイス102におけるユーザは、複数の既存の持続的ブラウジングコンテキストと関連付けられてもよい。別の実施例として、持続的ブラウジングコンテキスト環境情報は、読み込むための単一の現存するブラウズセッションを指定してもよい。
更なる実施形態において、ネットワークコンピューティングプロバイダ107は、1つ以上の持続的ブラウジングコンテキスト環境情報と関連付けられた様々なブラウザ構成情報(例えば、ブラウザスタイル、レイアウト、テーマ、選好、履歴、ブックマーク等)を決定してもよい。例えば、クライアントコンピューティングデバイス102におけるユーザは、1組のブラウズ履歴およびブックマークと関連付けられてもよい。例示的に、一実施形態において、ユーザによって作成またはアクセスされる1つ以上の持続的ブラウズコンテンツは、それぞれの個々の持続的ブラウズセッションに対応する1組のブラウズ履歴およびブックマークと関連付けられるのではなく、関連付けられた1組のブラウズ履歴およびブックマークを共有してもよい。
持続的ブラウジングコンテキスト環境情報の交換の一部として、ブロック1704において、ネットワークコンピューティングプロバイダ107は、図16を参照して上述されるように、決定されたブラウザ構成情報または任意の他の情報をクライアントコンピューティングデバイス102に提供してもよい。ブロック1706において、ネットワークコンピューティングプロバイダは、持続的ブラウジングコンテキスト環境情報の1つ以上のアスペクトと関連付けられた1つ以上のアクティブな持続的ブラウジングコンテキストの一覧等の、アクティブな持続的ブラウジングコンテキスト情報を、クライアントコンピューティングデバイス102に提供してもよい。例示的に、ネットワークコンピューティングプロバイダ107は、持続的ブラウジングコンテキスト環境情報の1つ以上のアスペクトと関連付けられたアクティブな持続的ブラウジングコンテキストが何ら存在しない場合、または持続的ブラウジングコンテキスト環境情報が、アクセスするための特定の現存するもしくは新しい持続的ブラウジングコンテキストを指定する場合には、このステップに着手しない場合がある。
ブロック1708で、ネットワークコンピューティングプロバイダ107は、持続的ブラウジングコンテキスト選択情報をクライアントコンピューティングデバイス102から得る。一実施形態において、持続的ブラウジングコンテキスト選択情報は、現存するアクティブな持続的ブラウジングコンテキストを識別する。クライアントコンピューティングデバイス102におけるユーザの観点から、持続的ブラウジングコンテキストは、クライアントコンピューティングデバイス102で走っているブラウザまたは他のアプリケーションと関連付けられた状態データおよびコンテンツを表現してもよい。例えば、持続的ブラウジングコンテキストは、ブラウザのいくつかの開いたタブ、それらのタブにおいて表示されるコンテンツ、表示されたコンテンツの現在の状態、およびブラウザまたはコンテンツの表示と関連付けられた任意のブラウザまたはアプリケーション構成データと関連付けられてもよい。ネットワークコンピューティングプロバイダ107の観点から、持続的ブラウジングコンテキストは、クライアントコンピューティングデバイス102のブラウザで表示されたコンテンツに対応する、記憶されたまたはキャッシュされたコンテンツ、ならびにコンテンツ状態、および任意のブラウザ構成情報を含むブラウザ状態と関連付けられてもよい。
一実施形態において、ネットワークコンピューティングプロバイダ107は、ネットワークコンピューティングプロバイダ107と関連付けられた様々なNCC POPで、持続的ブラウジングコンテキストと関連付けられた1つ以上のブラウズセッションを維持してもよい。例示的に、それぞれのブラウズセッションは、上の図9〜11に記載されるように、クライアントコンピューティングデバイス102で走っているブラウザの、異なる1つのコンテンツ、ブラウザタブ、ウィンドウ、フレーム等と関連付けられてもよい。一実施形態において、それぞれのブラウズセッションは、任意の数の同じまたは異なる遠隔ブラウズセッション構成と関連付けられてもよい。更なる実施形態において、ネットワークコンピューティングプロバイダ107は、クライアントコンピューティングデバイス102が持続的ブラウジングコンテキストにアクセスする毎に、持続的ブラウジングコンテキストと関連付けられた1つ以上のブラウズセッションのための新しい遠隔ブラウズセッション構成を選択してもよい。例えば、限定された処理能力を有するクライアントコンピューティングデバイスが既存の持続的ブラウジングコンテキストにアクセスする場合、ネットワークコンピューティングプロバイダ107は、処理の大部分がネットワークコンピューティングプロバイダ107で行われることを可能にする、1つ以上の関連付けられたブラウズセッションのための遠隔ブラウズセッション構成を選択してもよい。
別の実施形態において、ネットワークコンピューティングプロバイダ107はまた、1つ以上のNCC POPで、クライアントコンピューティングデバイス102のブラウザの状態を説明するブラウザ構成情報を含むが、これらに限定されない、持続的ブラウジングコンテキストと関連付けられた追加の情報を維持してもよい。別の実施形態において、ネットワークコンピューティングプロバイダ107は、NCC POP 142で、持続的ブラウジングコンテキストと関連付けられたソフトウェアブラウザアプリケーションを維持してもよい。例えば、ネットワークコンピューティングプロバイダ107は、クライアントコンピューティングデバイス102で走っているブラウザと並行して、持続的ブラウズセッションと関連付けられたソフトウェアブラウザアプリケーションを走らせてもよい。例示的に、ネットワークコンピューティングプロバイダ107で走っているブラウザは、持続的ブラウズセッションと関連付けられたコンテンツ、コンテンツ状態、およびブラウザ状態を維持してもよい。
ブロック1710で、ネットワークコンピューティングプロバイダ107は、選択された持続的ブラウジングコンテキストと関連付けられたコンテンツへの更新が要求されるかどうかを決定してもよい。例示的に、選択された持続的ブラウジングコンテキストと関連付けられたコンテンツは、クライアントコンピューティングデバイス102によってアクセスされている間で変更されてもよい。具体的な実施例の目的のためには、ユーザは、第1の時点で最近のニュースを表示するウェブページを閲覧し、次いで最近のニュースのウェブページが変更された場合がある後の時点で持続的ブラウジングコンテキストにアクセスしてもよい。一実施形態において、ネットワークコンピューティングプロバイダ107は、コンテンツに対応する処理結果をクライアントコンピューティングデバイスに送信する前に、変更されたコンテンツを(例えば、コンテンツをコンテンツプロバイダ、CDN、またはキャッシュから再び要求することによって)更新してもよい。他の実施形態において、ネットワークコンピューティングプロバイダ107は、クライアントコンピューティングデバイスに提供するために、古いページコンテンツおよび/またはページ状態を保ってもよい。古いページコンテンツに対応する処理結果を提供することは、例えば、ニュース記事が、クライアントコンピューティングデバイス102による持続的ブラウジングコンテキストの最後のアクセス以来変更または削除されたときに所望され得る。
ネットワークコンピューティングプロバイダ107は、ユーザオプションまたは選好、コンテンツの属性(例えば、サイズ、埋め込みリソース、コンテンツの種類、コンテンツカテゴリ)、コンテンツと関連付けられたフラッグまたはタグ、あるいはネットワークコンピューティングプロバイダ107、クライアントコンピューティングデバイス102、ブラウザもしくはアプリケーション、オペレーティングシステム、CDNサービスプロバイダ106、コンテンツプロバイダ104、または他のエンティティもしくはシステムと関連付けられた選好を含むが、これらに限定されない任意の数の要因に基づいて、選択された持続的ブラウジングコンテキストと関連付けられたコンテンツを更新するかどうかを決定してもよい。一実施形態において、ネットワークコンピューティングプロバイダ107は、コンテンツを更新する要求に備えて、更新されたコンテンツを取り出しおよび前処理することに加えて、古いコンテンツと関連付けられた処理結果を、表示のためにクライアントコンピューティングデバイス102に提供してもよい。
ブロック1712で、ネットワークコンピューティングプロバイダ107は、ブロック1710において更新が必要であると決定された任意のコンテンツを更新してもよい。例示的に、これは、図3および4を参照して上述されるように、コンテンツを、CDNサービスプロバイダ106、コンテンツプロバイダ104、またはキャッシュから要求することを伴ってもよい。
ブロック1714で、ネットワークコンピューティングプロバイダ107は、上の図9〜11に記載されるように、持続的ブラウジングコンテキストと関連付けられたコンテンツを処理して、コンテンツの表現に対応する処理結果を生成してもよい。例示的に、ネットワークコンピューティングプロバイダ107は、処理結果が最後に閲覧されたコンテンツの表現に対応することを確実にするために、持続的ブラウジングコンテキストと関連付けられた任意の保存されたコンテンツ状態データを考慮して、コンテンツを処理してもよい。
例示的に、一実施形態において、異なる表示能力を有するいくつかの異なるクライアントコンピューティングデバイス102が、持続的ブラウズセッションにアクセスしてもよい。一実施形態において、ネットワークコンピューティングプロバイダ107は、持続的ブラウズセッションに現在アクセスしているクライアントコンピューティングデバイス上での表示専用に、持続的ブラウズセッションと関連付けられたコンテンツを処理してもよい。例示的に、特定のクライアントコンピューティングデバイス上での表示に不適切または不必要であり得る、持続的ブラウズセッションと関連付けられた任意のブラウザもしくはコンテンツ状態情報は、破棄されるか、または維持されるが、クライアントコンピューティングデバイスにおけるコンテンツの処理およびコンテンツの表示において利用されない場合がある。例えば、第1のクライアントコンピューティングデバイス102Aは、ネットワークコンピューティングプロバイダ107による新しい持続的ブラウズセッションを作成してもよい。この具体的な実施例の目的のためには、第1のクライアントコンピューティングデバイスは、大型スクリーン、キーボード、およびマウスを有するパーソナルコンピュータであってもよい。第1のクライアントコンピューティングデバイス102Aにおけるユーザは、複数のウェブページを、クライアントコンピューティングデバイスで走っており、持続的ブラウズセッションに接続された、ブラウザの異なるタブ中に読み込んでもよい。例示的に、クライアントコンピューティングデバイスで読み込まれたウェブページは、大型スクリーンブラウズウィンドウ用に書式設定されて表示されてもよい。
具体的な実施例を続けて、後の時点で、第2のクライアントコンピューティングデバイス102Bが、持続的ブラウズセッションにアクセスしてもよい。例示的に、第2のクライアントコンピューティングデバイス102Bは、限定されたスクリーンサイズおよび入力能力を有するスマートフォンまたは他のデバイスであってもよい。一実施形態において、ネットワークコンピューティングプロバイダは、処理結果を第2のクライアントコンピューティングデバイス102Bに提供してもよく、持続的ブラウズセッションと関連付けられたそのコンテンツは、小型スクリーン用に書式設定される。一実施形態において、第2のクライアントコンピューティングデバイス102Bが、タブ形式のブラウジング能力を有しない場合、ネットワークコンピューティングプロバイダ107は、持続的ブラウズセッションの最上部タブのみが表示されることを指定するブラウザ構成情報を提供してもよく、またはユーザが選択するために、持続的ブラウズセッションと関連付けられた開いたタブの一覧を第2のクライアントコンピューティングデバイス102Bに提供してもよい。
ブロック1716で、ネットワークコンピューティングプロバイダ107は、持続的ブラウジングコンテキストと関連付けられた任意の他のブラウザ構成情報と共に、初期処理結果をクライアントコンピューティングデバイスに提供してもよい。
ブロック1718で、ネットワークコンピューティングプロバイダ107は、上の図5および図11に関して例示的に記載されるように、クライアントコンピューティングデバイスとのユーザ対話を処理してもよい。
ブロック1720で、ルーチン1700は終了する。一実施形態において、ユーザは、ブラウザを閉じることまたはクライアントコンピューティングデバイス102の電源を切ることによって、持続的ブラウジングコンテキストとの接続を中断してもよい。いくつかの実施形態において、ネットワークコンピューティングおよびストレージデバイス107は、クライアントコンピューティングデバイス102と持続的ブラウジングとの間でアクティブな対話が何ら行われていないときには、持続的ブラウジングコンテキストをパッシブ状態に置いてもよい。例示的に、持続的ブラウジングコンテキストをパッシブ状態に置くことは、持続的ブラウジングコンテキストと関連付けられる、ネットワークコンピューティングおよびストレージデバイス107上で走っているソフトウェアブラウザアプリケーションを閉じること、持続的ブラウジングコンテキストと関連付けられた様々なコンテンツ、コンテンツ状態、またはブラウザ状態と関連付けられたデータをコピーすること、移動すること、または記憶すること等を含んでもよいが、これらに限定されない。一実施形態において、持続的ブラウジングコンテキストをパッシブ状態に置くときに行われる任意の変更は、持続的ブラウジングコンテキストがクライアントコンピューティングデバイス102によって後に要求されるときに、元に戻されてもよい。ネットワークコンピューティングおよびストレージデバイス107は、クライアントコンピューティングデバイス102からの対話データのタイムアウト、ユーザオプションまたは選好、コンテンツの属性(例えば、サイズ、埋め込みリソース、コンテンツの種類、コンテンツカテゴリ)、コンテンツと関連付けられたフラッグまたはタグ、あるいはネットワークコンピューティングプロバイダ107、クライアントコンピューティングデバイス102、ブラウザもしくはアプリケーション、オペレーティングシステム、CDN 106、コンテンツプロバイダ104、または他のエンティティもしくはシステムと関連付けられた選好を含むが、これらに限定されない任意の数の要因に基づいて、持続的ブラウジングコンテキストをパッシブ状態に置いてもよい。
本開示の様々な例となる実施形態は、以下の付記に関して記載され得る。
付記1.遠隔セッションブラウジングのためのコンピュータ実装方法であって、
第1のクライアントコンピューティングデバイスから、持続的ブラウジングコンテキストのための要求を得ることと、
持続的ブラウジングコンテキストのための要求に対応する新しいネットワークに基づくブラウザソフトウェアアプリケーションを初期化することと、
第1のクライアントコンピューティングデバイスによって要求されるコンテンツを得ることであって、コンテンツが、1つ以上の埋め込みリソースを参照するネットワークリソースを含む、得ることと、
コンテンツを処理して、第1の処理結果を生成することであって、第1の処理結果が、要求されたコンテンツの第1の状態と関連付けられ、第1の処理結果が、第1のコンピューティングデバイス上で表示するための要求されたコンテンツの第1の表現に対応する、生成することと、
第1の処理結果を第1のクライアントコンピューティングデバイスに提供することであって、第1のクライアントコンピューティングデバイスが、要求されたコンテンツの第1の表現を表示するように構成される、提供することと、
第2のクライアントコンピューティングデバイスから、持続的ブラウジングコンテキストにアクセスする要求を得ることと、
第2の処理結果を第2のクライアントコンピューティングデバイスに提供することであって、第2の処理結果が、少なくともある程度、要求されたコンテンツの第1の状態に基づいて生成され、第2の処理結果が、第2のクライアントコンピューティングデバイスにおいて表示するための要求されたコンテンツの第2の表現に対応し、第2のクライアントコンピューティングデバイスが、要求されたコンテンツの第2の表現を表示するように構成される、提供することと、を含む、コンピュータ実装方法。
付記2.第1のクライアントコンピューティングデバイスおよび第2のクライアントコンピューティングデバイスが、同じユーザと関連付けられる、付記1に記載のコンピュータ実装方法。
付記3.第2のクライアントが、後の時点で第1のクライアントコンピューティングデバイスと同じコンピューティングデバイスを備える、付記1に記載のコンピュータ実装方法。
付記4.第2の処理結果が、第1の処理結果を含む、付記1に記載のコンピュータ実装方法。
付記5.要求されたコンテンツの第1の状態が、第1のクライアントコンピューティングデバイスで表示された要求されたコンテンツ表現との1つ以上のユーザ対話に基づく、付記1に記載のコンピュータ実装方法。
付記6.
第3のクライアントコンピューティングデバイスによる、第2の持続的ブラウジングコンテキストのための要求を得ることと、
1つ以上の処理結果を、第3のクライアントコンピューティングデバイスに提供することと、を更に含み、1つ以上の処理結果が、第3のクライアントコンピューティングデバイスによって要求されるコンテンツの1つ以上の表現に対応し、第3のクライアントコンピューティングデバイスが、要求されたコンテンツの第1の1つ以上の表現を表示するように構成される、付記1に記載のコンピュータ実装方法。
付記7.遠隔セッションブラウジングのためのコンピュータ実装方法であって、
ネットワークコンピューティングプロバイダにおいて、第1のクライアントコンピューティングデバイスから、第1の持続的ブラウジングコンテキストのための要求を得ることと、
ネットワークコンピューティングプロバイダによって、処理結果を、第1のクライアントコンピューティングデバイスに提供することであって、処理結果が、初期の持続的ブラウジングコンテキストに応答したコンテンツの表現に対応する、提供することと、
ネットワークコンピューティングプロバイダにおいて、第2のクライアントコンピューティングデバイスによる、第2の持続的ブラウジングコンテキストにアクセスする要求を得ることであって、第1および第2の持続的コンテキストが、同じである、得ることと、
ネットワークコンピューティングプロバイダによって、第2の処理結果を、第2のクライアントコンピューティングデバイスに提供することであって、第2の処理結果が、第2の持続的ブラウジングコンテキストと関連付けられた前記コンテンツの第2の表現に対応する、提供することと、を含む、コンピュータ実装方法。
付記8.第2のクライアントが、第1のクライアントコンピューティングデバイスを備える、付記7に記載のコンピュータ実装方法。
付記9.第2の処理結果が、第1の処理結果を含む、付記7に記載のコンピュータ実装方法。
付記10.第1のクライアントコンピューティングデバイスによって要求されるコンテンツの第1の表現が、第1のクライアントコンピューティングデバイスによって要求されるコンテンツの1つ以上の状態に対応する、付記7に記載のコンピュータ実装方法。
付記11.第2のクライアントコンピューティングデバイスによって要求されるコンテンツの第2の表現が、第1のクライアントコンピューティングデバイスによって要求されるコンテンツの1つ以上の状態に対応する、付記10に記載のコンピュータ実装方法。
付記12.
ネットワークコンピューティングプロバイダにおいて、第3のクライアントコンピューティングデバイスによる、第3の持続的ブラウジングコンテキストのための要求を得ることと、
ネットワークコンピューティングプロバイダによって、第3の処理結果を、第3のクライアントコンピューティングデバイスに提供することと、を更に含み、第3の処理結果が、第3のクライアントコンピューティングデバイスによって要求されるコンテンツの第3の表現に対応する、付記7に記載のコンピュータ実装方法。
付記13.第1の持続的ブラウジングコンテキストを複製して、第3の持続的ブラウジングコンテキストを生成することを更に含む、付記12に記載のコンピュータ実装方法。
付記14.第3の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現とのユーザ対話が、第1の持続的ブラウジングコンテキストを修正しない、付記13に記載のコンピュータ実装方法。
付記15.第1の持続的ブラウジングコンテキストおよび第2の持続的ブラウジングコンテキストが、同じ共有ブラウザ構成情報と関連付けられる、付記12に記載のコンピュータ実装方法。
付記16.共有ブラウザ構成情報が、第1の遠隔の持続的ブラウジングコンテキストおよび第2の遠隔の持続的ブラウジングコンテキストに共通の、持続的ブラウジングコンテキスト表示選好、ブックマーク情報、ブラウザアプリケーション視覚的外観選好、およびブラウズ履歴のうちの少なくとも1つを含む、付記15に記載のコンピュータ実装方法。
付記17.第3のクライアントコンピューティングデバイスが、第1のクライアントコンピューティングデバイスおよび第2のクライアントコンピューティングデバイスのうちの少なくとも1つを備える、付記12に記載のコンピュータ実装方法。
付記18.第3のクライアントコンピューティングデバイスが、別個のソフトウェアブラウザアプリケーションウィンドウ、別個のブラウザフレーム、および別個のブラウザタブのうちの少なくとも1つにおいて、要求されたコンテンツの第1の1つ以上の表現および要求されたコンテンツの第3の1つ以上の表現を表示するように構成される、付記17に記載のコンピュータ実装方法。
付記19.遠隔セッションブラウジングのためのシステムであって、
1つ以上のコンピュータプロセッサと、
1つ以上のコンピュータプロセッサのうちの少なくとも1つによってアクセス可能な少なくとも1つのコンピュータメモリと、
1つ以上のコンピュータプロセッサによって実行される実行可能なソフトウェアモジュールを備える、ネットワークコンピューティングコンポーネントと、を備え、ネットワークコンピューティングコンポーネントが、
第1のクライアントコンピューティングデバイスから、持続的ブラウジングコンテキストのための要求を得ることと、
持続的ブラウジングコンテキストと関連付けられたコンテンツを処理して、第1の処理結果を生成することであって、第1の処理結果が、第1のクライアントコンピューティングデバイスにおいて表示するためのコンテンツの第1の表現に対応する、生成することと、
第2のクライアントコンピューティングデバイスから、持続的ブラウジングコンテキストにアクセスする要求を得ることと、
持続的ブラウジングコンテキストと関連付けられたコンテンツを処理して、第2の処理結果を生成することであって、第2の処理結果が、第2のクライアントコンピューティングデバイスにおいて表示するためのコンテンツの第2の表現に対応する、生成することと、を行うように動作可能である、システム。
付記20.第2のクライアントが、後の時点で第1のクライアントコンピューティングデバイスと同じコンピューティングデバイスを備える、付記19に記載のシステム。
付記21.第2の1つ以上の処理結果が、第1の1つ以上の処理結果を含む、付記19に記載のシステム。
付記22.持続的ブラウジングコンテキストと関連付けられたコンテンツの第1の表現が、持続的ブラウジングコンテキストと関連付けられたコンテンツの1つ以上の状態に対応する、付記19に記載のシステム。
付記23.持続的ブラウジングコンテキストと関連付けられたコンテンツの第2の表現が、持続的ブラウジングコンテキストと関連付けられたコンテンツの第1の1つ以上の状態に対応する、付記22に記載のシステム。
付記24.ネットワークコンピューティングコンポーネントが、
第3のクライアントコンピューティングデバイスによる、後続の持続的ブラウジングコンテキストのための要求を得ることと、
第3の処理結果を、第3のクライアントコンピューティングデバイスに提供することと、を行うように更に動作可能であり、第3の処理結果が、第3のクライアントコンピューティングデバイスによって要求されるコンテンツの第3の表現に対応し、第3のクライアントコンピューティングデバイスが、要求されたコンテンツの第3の表現を表示するように構成される、付記19に記載のシステム。
付記25.ネットワークコンピューティングコンポーネントが、持続的ブラウジングコンテキストを複製して、後続の持続的ブラウジングコンテキストを生成するように更に動作可能である、付記24に記載のシステム。
付記26.後続の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現とのユーザ対話が、持続的ブラウジングコンテキストを修正しない、付記25に記載のシステム。
付記27.第1の遠隔の持続的ブラウジングコンテキストおよび第2の持続的ブラウジングコンテキストが、共有ブラウザ構成情報と関連付けられる、付記24に記載のシステム。
付記28.共有ブラウザ構成情報が、第1の遠隔の持続的ブラウジングコンテキストおよび第2の遠隔の持続的ブラウジングコンテキストに共通の、持続的ブラウジングコンテキスト表示選好、ブックマーク情報、ブラウザアプリケーション視覚的外観選好、およびブラウズ履歴のうちの少なくとも1つを含む、付記27に記載のシステム。
付記29.第3のクライアントコンピューティングデバイスが、第1のクライアントコンピューティングデバイスおよび第2のクライアントコンピューティングデバイスのうちの少なくとも1つを備える、付記24に記載のシステム。
付記30.第3のクライアントコンピューティングデバイスが、別個のソフトウェアブラウザアプリケーションウィンドウ、別個のブラウザフレーム、および別個のブラウザタブのうちの少なくとも1つにおいて、要求されたコンテンツの第1の1つ以上の表現および要求されたコンテンツの第3の1つ以上の表現を表示するように構成される、付記29に記載のシステム。
例示的な実施形態が開示され、論じられているが、当業者であれば、追加または代替の実施形態が本発明の趣旨および範囲内で実装されてもよいことを理解するであろう。例えば、本明細書に記載される技法は、画像もしくはビデオ編集ソフトウェア、データベースソフトウェア、事務所生産性ソフトウェア、3次元デザインソフトウェア、オーディオおよびサウンド処理アプリケーション等を含むが、これらに限定されない、任意の数の他のソフトウェアアプリケーションおよび処理において遠隔処理管理を可能にするために、本発明の範囲を逸脱することなく利用され得る。加えて、多くの実施形態は、例示的なものとして示されているが、当業者であれば、例示的な実施形態が一緒に組み合わされるか、または実装される必要がないことを理解するであろう。したがって、いくつかの例示的な実施形態は、本開示への変形形態の範囲に従って利用または実装される必要はない。
とりわけ、「できる」、「できるであろう」、「してもよいであろう」、または「してもよい」等の条件的語法は、具体的に別途記述されるか、または使用される文脈内で別途理解されない限り、一般的に、ある特定の実施形態がある特定の特徴、要素、および/またはステップを含む一方で、他の実施形態がそれらを含まないことを伝達するように意図される。したがって、そのような条件的語法は、一般的に、特徴、要素、および/またはステップが1つ以上の実施形態にいずれの方式でも必要とされること、あるいは1つ以上の実施形態が、ユーザ入力またはプロンプトを用いてまたは用いずに、これらの特徴、要素、および/またはステップが任意の特定の実施形態に含まれるか、またはそれらが任意の特定の実施形態において行われるべきであるかどうかを決定するための論理を必ず含むことを示唆するようには意図されない。
本明細書に記載され、および/または添付された図に図示される流れ図の任意の処理の説明、要素、またはブロックは、処理における具体的な論理的機能またはステップを実装するための1つ以上の実行可能な命令を含む、モジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されるべきである。当業者によって理解されるであろうが、関与する機能性に応じて、要素または機能が削除され、実質的に同時にまたは逆の順序を含めて、示されるまたは論じられる順序から外れた順序で実行され得る、代替の実装形態が、本明細書に記載される実施形態の範囲内に含まれる。上述のデータおよび/またはコンポーネントは、CD−ROM、DVD−ROM、または更にネットワークインターフェース等のコンピュータ実行可能コンポーネントを格納する、コンピュータ可読と関連付けられたドライブ機構を使用して、コンピュータ可読媒体上に記憶され、コンピューティングデバイスのメモリに読み込まれてもよく、コンポーネントおよび/またはデータは、単一のデバイス内に含まれるか、または任意の様式で分散され得ることが、更に理解されるであろう。したがって、汎用コンピューティングデバイスは、上述の様々なデータおよび/またはコンポーネントの処理および/または実行と共に、本開示の処理、アルゴリズム、および手法を実装するように構成されてもよい。
多くの変形形態および改変形態が上述の実施形態に対して行われてもよく、それらの要素が他の許容される実施例のうちにあるものとして理解されるべきであることが強調されるべきである。全てのそのような改変形態および変形形態は、本明細書において本開示の範囲内に含まれ、以下の特許請求の範囲によって保護されることが意図される。

Claims (14)

  1. 遠隔セッションブラウジングのためのコンピュータ実装方法であって、
    1つまたは複数のサーバコンピューティングデバイスを具えるネットワークコンピューティングプロバイダにて実行される際、
    記方法は、前記ネットワークコンピューティングプロバイダにて実行するサーバ側ブラウザアプリケーションによって前記サーバ側ブラウザアプリケーションとは別個に、第1のクライアントコンピューティングデバイスにて実行する第1のクライアント側ブラウザアプリケーションから、第1の持続的ブラウジングコンテキストのための要求を取得するステップを含み、前記サーバ側ブラウザアプリケーションは、複数の処理行為を実行し、持続的ブラウジングコンテキストに関連付けられたコンテンツをレンダリングするように構成され、
    前記方法は、前記サーバ側ブラウザアプリケーションによって、前記複数の処理行為の少なくとも一部を実行し、前記第1の持続的ブラウジングコンテキストに関連付けられたコンテンツをレンダリングすることによって第1の処理結果を生成するステップを含み、
    前記方法は、前記ネットワークコンピューティングプロバイダによって、前記第1の処理結果を、前記第1のクライアントコンピューティングデバイスに提供するステップを含み、前記第1の処理結果が、前記第1の持続的ブラウジングコンテキストに応答したコンテンツの第1の表現に対応し、
    前記方法は、前記ネットワークコンピューティングプロバイダにて実行する前記サーバ側ブラウザアプリケーションによって前記第1クライアント側ブラウザアプリケーションとは別個に、第2のクライアントコンピューティングデバイスにて実行する第2のクライアント側ブラウザアプリケーションによる、第2の持続的ブラウジングコンテキストにアクセスする要求を取得するステップを含み、前記第1および第2のクライアントコンピューティングデバイスは別個であり、前記第1および第2の持続的コンテキストが、同一であり、
    前記方法は、前記サーバ側ブラウザアプリケーションによって、前記複数の処理行為の少なくとも一部を実行し、前記第2の持続的ブラウジングコンテキストに関連付けられたコンテンツをレンダリングすることによって第2の処理結果を生成するステップを含み、
    前記方法は、前記ネットワークコンピューティングプロバイダによって、前記第2の処理結果を、前記第2のクライアントコンピューティングデバイスに提供するステップを含み、前記第2の処理結果が、前記第2の持続的ブラウジングコンテキスト関連付けられた前記コンテンツの第2の表現に対応する、
    コンピュータ実装方法。
  2. 前記第1のクライアント側ブラウザアプリケーションによって要求される前記コンテンツの前記第1の表現が、前記第1のクライアント側ブラウザアプリケーションによって要求される前記コンテンツの1つ以上の状態に対応する、
    請求項1に記載のコンピュータ実装方法。
  3. 前記第2のクライアント側ブラウザアプリケーションによって要求される前記コンテンツの前記第2の表現が、前記第1のクライアント側ブラウザアプリケーションによって要求される前記コンテンツの前記1つ以上の状態に対応する、
    請求項2に記載のコンピュータ実装方法。
  4. 前記ネットワークコンピューティングプロバイダにて実行する前記サーバ側ブラウザアプリケーションによって、第3のクライアントコンピューティングデバイスにて実行する第3のクライアント側ブラウザアプリケーションによる、第3の持続的ブラウジングコンテキストのための要求を取得するステップと、
    前記ネットワークコンピューティングプロバイダによって、第3の処理結果を、前記第3のクライアントコンピューティングデバイスに提供するステップと、
    をさらに含み、
    前記第3の処理結果が、前記第3のクライアント側ブラウザアプリケーションによって要求されるコンテンツの第3の表現に対応する、
    請求項1に記載のコンピュータ実装方法。
  5. 前記第1の持続的ブラウジングコンテキストを複製して、前記第3の持続的ブラウジングコンテキストを生成するステップをさらに含み、
    前記第3の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現とのユーザ対話が、前記第1の持続的ブラウジングコンテキストを修正しない、
    請求項4に記載のコンピュータ実装方法。
  6. 前記第1の持続的ブラウジングコンテキストおよび前記第2の持続的ブラウジングコンテキストが、同一の共有ブラウザ構成情報と関連付けられ、
    前記共有ブラウザ構成情報は、前記第1の持続的ブラウジングコンテキストおよび前記第2の持続的ブラウジングコンテキストに共通の、持続的ブラウジングコンテキスト表示選好、ブックマーク情報、ブラウザアプリケーション視覚的外観選好、および、ブラウズ履歴のうちの少なくとも1つを含む、
    請求項4に記載のコンピュータ実装方法。
  7. 前記第3のクライアントコンピューティングデバイスが、別個のソフトウェアブラウザアプリケーションウィンドウ、別個のブラウザフレーム、および、別個のブラウザタブのうちの少なくとも1つにおいて、前記要求されたコンテンツの前記第1の表現および前記要求されたコンテンツの前記第3の表現を表示するように構成される、
    請求項6に記載のコンピュータ実装方法。
  8. 遠隔セッションブラウジングのためのシステムであって、
    1つ以上のコンピュータプロセッサと、
    前記1つ以上のコンピュータプロセッサのうちの少なくとも1つによってアクセス可能な少なくとも1つのコンピュータメモリと、
    前記1つ以上のコンピュータプロセッサによって実行される実行可能なソフトウェアモジュールを備える、ネットワークコンピューティングコンポーネントと、
    を備え、
    前記ネットワークコンピューティングコンポーネントは、
    複数の処理行為を実行し、持続的ブラウジングコンテキストに関連付けられたコンテンツをレンダリングするように構成されたサーバ側ブラウザアプリケーションを実行するステップと、
    前記サーバ側ブラウザアプリケーションとは別個に、第1のクライアントコンピューティングデバイスにて実行する第1のクライアント側ブラウザアプリケーションから、持続的ブラウジングコンテキストのための要求を取得するステップと、
    前記サーバ側ブラウザアプリケーションによって、前記複数の処理行為の少なくとも一部を実行し、前記持続的ブラウジングコンテキスト関連付けられたコンテンツをレンダリングすることによって、第1の処理結果を生成するステップと、
    を実行可能であり、
    前記第1の処理結果が、前記第1のクライアントコンピューティングデバイスにおいて表示するための前記コンテンツの第1の表現に対応し、
    前記ネットワークコンピューティングコンポーネントは、
    前記サーバ側ブラウザアプリケーションとは別個に、第2のクライアントコンピューティングデバイスにて実行する第2のブラウザアプリケーションから、前記持続的ブラウジングコンテキストにアクセスする要求を取得するステップを実行可能であり前記第1および第2のクライアントコンピューティングデバイスは別個であり、
    前記ネットワークコンピューティングコンポーネントは、
    前記サーバ側ブラウザアプリケーションによって、前記複数の処理行為の少なくとも一部を実行し、前記持続的ブラウジングコンテキスト関連付けられた前記コンテンツをレンダリングすることによって、第2の処理結果を生成するステップを実行可能であり、
    前記第2の処理結果が、前記第2のクライアントコンピューティングデバイスにおいて表示するための前記コンテンツの第2の表現に対応する、
    システム。
  9. 前記持続的ブラウジングコンテキストと関連付けられた前記コンテンツの前記第1の表現が、前記持続的ブラウジングコンテキストと関連付けられた前記コンテンツの1つ以上の状態に対応する、
    請求項8に記載のシステム。
  10. 前記持続的ブラウジングコンテキストと関連付けられた前記コンテンツの前記第2の表現が、前記持続的ブラウジングコンテキストと関連付けられた前記コンテンツの前記1つ以上の状態に対応する、
    請求項9に記載のシステム。
  11. 前記ネットワークコンピューティングコンポーネントは、
    第3のクライアントコンピューティングデバイスにて実行する第3のクライアント側ブラウザアプリケーションによる、後続の持続的ブラウジングコンテキストのための要求を取得するステップと、
    第3の処理結果を、前記第3のクライアントコンピューティングデバイスに提供するステップと、
    を実行可能であり、
    前記第3の処理結果が、前記第3のクライアントコンピューティングデバイスによって要求されるコンテンツの第3の表現に対応し、前記第3のクライアントコンピューティングデバイスが、前記要求されたコンテンツの前記第3の表現を表示するように構成される、
    請求項8に記載のシステム。
  12. 前記ネットワークコンピューティングコンポーネントが、前記持続的ブラウジングコンテキストを複製して、前記後続の持続的ブラウジングコンテキストを生成するように更に動作可能である、
    請求項11に記載のシステム。
  13. 前記後続の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現とのユーザ対話が、前記持続的ブラウジングコンテキストを修正しない、
    請求項12に記載のシステム。
  14. 記持続的ブラウジングコンテキストおよび前記後続の持続的ブラウジングコンテキストが、共有ブラウザ構成情報と関連付けられ、
    前記共有ブラウザ構成情報は、前記持続的ブラウジングコンテキストおよび前記後続の持続的ブラウジングコンテキストに共通の、持続的ブラウジングコンテキスト表示選好、ブックマーク情報、ブラウザアプリケーション視覚的外観選好、および、ブラウズ履歴のうちの少なくとも1つを含む、
    請求項11に記載のシステム。
JP2014528467A 2011-08-26 2012-08-23 遠隔ブラウジングセッション管理 Active JP5920903B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/219,521 US9195768B2 (en) 2011-08-26 2011-08-26 Remote browsing session management
US13/219,521 2011-08-26
PCT/US2012/052068 WO2013032857A1 (en) 2011-08-26 2012-08-23 Remote browsing session management

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016076520A Division JP6272933B2 (ja) 2011-08-26 2016-04-06 遠隔ブラウジングセッション管理

Publications (2)

Publication Number Publication Date
JP2014527676A JP2014527676A (ja) 2014-10-16
JP5920903B2 true JP5920903B2 (ja) 2016-05-18

Family

ID=46889430

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014528467A Active JP5920903B2 (ja) 2011-08-26 2012-08-23 遠隔ブラウジングセッション管理
JP2016076520A Active JP6272933B2 (ja) 2011-08-26 2016-04-06 遠隔ブラウジングセッション管理

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016076520A Active JP6272933B2 (ja) 2011-08-26 2016-04-06 遠隔ブラウジングセッション管理

Country Status (10)

Country Link
US (2) US9195768B2 (ja)
EP (1) EP2748725B1 (ja)
JP (2) JP5920903B2 (ja)
CN (1) CN103959285A (ja)
AU (1) AU2012300408C1 (ja)
BR (1) BR112014006589B1 (ja)
CA (1) CA2846389C (ja)
RU (1) RU2589306C2 (ja)
SG (1) SG2014012603A (ja)
WO (1) WO2013032857A1 (ja)

Families Citing this family (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US9195768B2 (en) 2011-08-26 2015-11-24 Amazon Technologies, Inc. Remote browsing session management
US9727643B2 (en) * 2011-11-30 2017-08-08 Red Hat, Inc. Managing loading of web pages
JP5496173B2 (ja) * 2011-12-14 2014-05-21 富士フイルム株式会社 サーバ装置、閲覧システム、配信方法及びプログラム
US10165036B1 (en) * 2011-12-21 2018-12-25 Amazon Technologies, Inc. Network resource remote process execution
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
JP5870840B2 (ja) * 2012-05-14 2016-03-01 ソニー株式会社 情報処理装置、情報処理方法、および情報処理プログラム
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US20130317808A1 (en) * 2012-05-24 2013-11-28 About, Inc. System for and method of analyzing and responding to user generated content
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
CN104969289B (zh) 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9112827B2 (en) * 2013-03-15 2015-08-18 Amazon Technologies, Inc. Determining appropriate browsing applications for selected network resources
US9317677B1 (en) * 2013-05-24 2016-04-19 Inkling Systems, Inc. Access control for content delivery networks
US9294391B1 (en) * 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101959188B1 (ko) * 2013-06-09 2019-07-02 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US10218633B2 (en) * 2014-03-28 2019-02-26 Amazon Technologies, Inc. Implementation of a service that coordinates the placement and execution of containers
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10182046B1 (en) 2015-06-23 2019-01-15 Amazon Technologies, Inc. Detecting a network crawler
US9712520B1 (en) * 2015-06-23 2017-07-18 Amazon Technologies, Inc. User authentication using client-side browse history
US9646104B1 (en) 2014-06-23 2017-05-09 Amazon Technologies, Inc. User tracking based on client-side browse history
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
IL237986A0 (en) * 2015-03-26 2015-11-30 Yaron Peretz Method and system for broadcasting surfing activities
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10290022B1 (en) 2015-06-23 2019-05-14 Amazon Technologies, Inc. Targeting content based on user characteristics
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
EP3340097B1 (en) * 2015-11-02 2019-08-07 Nippon Telegraph And Telephone Corporation Analysis device, analysis method, and analysis program
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
CN105786977B (zh) * 2016-02-05 2020-03-03 北京百度网讯科技有限公司 基于人工智能的移动搜索方法和装置
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10313359B2 (en) 2016-11-01 2019-06-04 Microsoft Technology Licensing, Llc Protocols for accessing hosts
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
CN107171947A (zh) * 2017-06-30 2017-09-15 胡玥莹 一种浏览器即时通讯消息接收方法和系统
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US11469941B2 (en) * 2017-10-13 2022-10-11 BLX.io LLC Configuration for IoT device setup
JP7098910B2 (ja) * 2017-11-02 2022-07-12 ブラザー工業株式会社 二次元コード生成プログラムおよび二次元コード印刷システム
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US20190394255A1 (en) * 2018-06-25 2019-12-26 Citrix Systems, Inc. Intermediated retrieval of networked content
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11165871B2 (en) * 2019-02-01 2021-11-02 Citrix Systems, Inc. Computer system providing context-based Software as a Service (SaaS) application session switching and related methods
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11405433B1 (en) * 2021-06-29 2022-08-02 Microsoft Technology Licensing, Llc Collaborative browsing

Family Cites Families (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2154951C (en) 1994-09-12 2004-05-25 John E. Warnock Method and apparatus for viewing electronic documents
US5872850A (en) 1996-02-02 1999-02-16 Microsoft Corporation System for enabling information marketplace
US5727159A (en) 1996-04-10 1998-03-10 Kikinis; Dan System in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers
US6108637A (en) 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
US6049812A (en) 1996-11-18 2000-04-11 International Business Machines Corp. Browser and plural active URL manager for network computers
US5961593A (en) 1997-01-22 1999-10-05 Lucent Technologies, Inc. System and method for providing anonymous personalized browsing by a proxy system in a network
US6671716B1 (en) 1997-11-28 2003-12-30 International Business Machines Corporation Processing extended transactions in a client-server system
US6195679B1 (en) 1998-01-06 2001-02-27 Netscape Communications Corporation Browsing session recording playback and editing system for generating user defined paths and allowing users to mark the priority of items in the paths
US6182133B1 (en) 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US6363421B2 (en) 1998-05-31 2002-03-26 Lucent Technologies, Inc. Method for computer internet remote management of a telecommunication network element
JP3665480B2 (ja) 1998-06-24 2005-06-29 富士通株式会社 文書整理装置および方法
US6249801B1 (en) 1998-07-15 2001-06-19 Radware Ltd. Load balancing
US6138156A (en) 1998-10-05 2000-10-24 International Business Machines Corporation Selecting and applying content-reducing filters based on dynamic environmental factors
US6397253B1 (en) * 1998-10-06 2002-05-28 Bull Hn Information Systems Inc. Method and system for providing high performance Web browser and server communications
US6449639B1 (en) 1998-12-23 2002-09-10 Doxio, Inc. Method and system for client-less viewing of scalable documents displayed using internet imaging protocol commands
EP1018689A3 (en) 1999-01-08 2001-01-24 Lucent Technologies Inc. Methods and apparatus for enabling shared web-based interaction in stateful servers
US6625624B1 (en) 1999-02-03 2003-09-23 At&T Corp. Information access system and method for archiving web pages
US6963850B1 (en) 1999-04-09 2005-11-08 Amazon.Com, Inc. Computer services for assisting users in locating and evaluating items in an electronic catalog based on actions performed by members of specific user communities
US6560620B1 (en) 1999-08-03 2003-05-06 Aplix Research, Inc. Hierarchical document comparison system and method
US6430624B1 (en) 1999-10-21 2002-08-06 Air2Web, Inc. Intelligent harvesting and navigation system and method
US7096417B1 (en) 1999-10-22 2006-08-22 International Business Machines Corporation System, method and computer program product for publishing interactive web content as a statically linked web hierarchy
US7031932B1 (en) 1999-11-22 2006-04-18 Aquantive, Inc. Dynamically optimizing the presentation of advertising messages
US6549941B1 (en) 1999-11-22 2003-04-15 Alexa Internet Software system and methods for resubmitting form data to related web sites
US6785864B1 (en) 1999-12-01 2004-08-31 International Business Machines Corporation System and method for notifying of changes in web page hyperlinked documents
US7054952B1 (en) 1999-12-09 2006-05-30 International Business Machines Corp. Electronic document delivery system employing distributed document object model (DOM) based transcoding and providing interactive javascript support
US6691163B1 (en) 1999-12-23 2004-02-10 Alexa Internet Use of web usage trail data to identify related links
US6654784B1 (en) 2000-01-14 2003-11-25 Nexaweb Technologies, Inc Computing architecture
US20010037359A1 (en) * 2000-02-04 2001-11-01 Mockett Gregory P. System and method for a server-side browser including markup language graphical user interface, dynamic markup language rewriter engine and profile engine
US6728763B1 (en) 2000-03-09 2004-04-27 Ben W. Chen Adaptive media streaming server for playing live and streaming media content on demand through web client's browser with no additional software or plug-ins
US20010039578A1 (en) 2000-03-31 2001-11-08 Hiroshi Tokumaru Content distribution system
US20010039490A1 (en) 2000-04-03 2001-11-08 Mikhail Verbitsky System and method of analyzing and comparing entity documents
US7509397B1 (en) 2000-04-06 2009-03-24 Yahoo! Inc. Web portholes: using web proxies to capture and enhance display real estate
US6912689B1 (en) 2000-04-17 2005-06-28 Micron Technology, Inc. Method and apparatus for facilitating substitution of digital images with line drawings
US7373313B1 (en) 2000-04-25 2008-05-13 Alexa Internet Service for enabling users to share information regarding products represented on web pages
US6678700B1 (en) 2000-04-27 2004-01-13 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
US7577754B2 (en) 2000-04-28 2009-08-18 Adara Networks, Inc. System and method for controlling access to content carried in a caching architecture
US20070118803A1 (en) 2000-05-08 2007-05-24 Walker Jay S Products and processes for providing one or more links in an electronic file that is presented to a user
US7082476B1 (en) 2000-05-24 2006-07-25 Cisco Technology, Inc. System and method of optimizing retrieval of network resources by identifying and substituting embedded symbolic host name references with network addresses in accordance with substitution policies
US7210099B2 (en) 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
AU2001270169A1 (en) 2000-06-30 2002-01-14 Plurimus Corporation Method and system for monitoring online computer network behavior and creating online behavior profiles
US6859217B2 (en) 2000-07-19 2005-02-22 Microsoft Corporation System and method to display and manage data within hierarchies and polyarchies of information
US20070027672A1 (en) 2000-07-31 2007-02-01 Michel Decary Computer method and apparatus for extracting data from web pages
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
JP2002091851A (ja) 2000-09-12 2002-03-29 Toshiba Corp 情報提供方法および中継サーバ装置
US7191211B2 (en) 2000-10-03 2007-03-13 Raja Tuli Portable high speed internet access device priority protocol
US6871213B1 (en) * 2000-10-11 2005-03-22 Kana Software, Inc. System and method for web co-navigation with dynamic content including incorporation of business rule into web document
US7051084B1 (en) 2000-11-02 2006-05-23 Citrix Systems, Inc. Methods and apparatus for regenerating and transmitting a partial page
US7483983B1 (en) 2000-11-13 2009-01-27 Telecommunication Systems, Inc. Method and system for deploying content to wireless devices
US6871236B2 (en) 2001-01-26 2005-03-22 Microsoft Corporation Caching transformed content in a mobile gateway
US7003726B2 (en) 2001-02-21 2006-02-21 Nanonation Incorporated Computer network having context sensitive and interactive multimedia applications and controls, forming dynamic user interfaces on local computer terminals
US7085736B2 (en) 2001-02-27 2006-08-01 Alexa Internet Rules-based identification of items represented on web pages
US7792948B2 (en) 2001-03-30 2010-09-07 Bmc Software, Inc. Method and system for collecting, aggregating and viewing performance data on a site-wide basis
WO2002082229A2 (en) * 2001-04-09 2002-10-17 America Online Incorporated Server-based browser system
US7047294B2 (en) 2001-05-02 2006-05-16 Microsoft Corporation Page-view recording with click-thru tracking
US7353252B1 (en) 2001-05-16 2008-04-01 Sigma Design System for electronic file collaboration among multiple users using peer-to-peer network topology
US6931439B1 (en) 2001-05-23 2005-08-16 Western Digital Ventures, Inc. Modifying web page links for display on a mobile terminal to indicate the cache status of linked web pages
US20030014478A1 (en) 2001-06-29 2003-01-16 Noble Alan C. Dynamically distributed client-server web browser
US7284191B2 (en) 2001-08-13 2007-10-16 Xerox Corporation Meta-document management system with document identifiers
US6944665B2 (en) 2001-09-24 2005-09-13 International Business Machines Corporation Method and system for delivering accessibility using a distributed environment
US20040110490A1 (en) 2001-12-20 2004-06-10 Steele Jay D. Method and apparatus for providing content to media devices
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US7260773B2 (en) 2002-03-28 2007-08-21 Uri Zernik Device system and method for determining document similarities and differences
US20030195963A1 (en) 2002-04-10 2003-10-16 Yu Song Session preservation and migration among different browsers on different devices
US7287054B2 (en) * 2002-05-31 2007-10-23 Microsoft Corporation Systems and methods for shared browsing among a plurality of online co-users
US20040010543A1 (en) 2002-07-15 2004-01-15 Steven Grobman Cached resource validation without source server contact during validation
US7624047B1 (en) 2002-07-31 2009-11-24 Amazon Technologies, Inc. Managing server load by varying responses to requests for dynamically-generated web pages
US20050246193A1 (en) 2002-08-30 2005-11-03 Navio Systems, Inc. Methods and apparatus for enabling transaction relating to digital assets
US20040049673A1 (en) * 2002-09-05 2004-03-11 Docomo Communications Laboratories Usa, Inc. Apparatus and method for a personal cookie repository service for cookie management among multiple devices
CA2402809A1 (en) 2002-09-11 2004-03-11 Ibm Canada Limited-Ibm Canada Limitee Ubiquitous visited links
US7171478B2 (en) 2002-10-25 2007-01-30 Sap Aktiengesellschaft Session coupling
US8176428B2 (en) 2002-12-03 2012-05-08 Datawind Net Access Corporation Portable internet access device back page cache
JP2004193979A (ja) 2002-12-11 2004-07-08 Canon Inc 映像配信システム
US20050278698A1 (en) 2003-02-03 2005-12-15 John Verco Multi-window based graphical user interface (GUI) for web applications
JP2004272662A (ja) 2003-03-10 2004-09-30 Ricoh Co Ltd コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法、コンテンツ管理方法をコンピュータに実行させるプログラム、記録媒体、およびコンテンツデータ
US7406459B2 (en) 2003-05-01 2008-07-29 Microsoft Corporation Concept network
JP2004355371A (ja) 2003-05-29 2004-12-16 Canon Inc 文書分類装置、その方法及び記憶媒体
GB0314782D0 (en) 2003-06-25 2003-07-30 Ibm A searchable personal browsing history
WO2005003998A1 (en) 2003-06-30 2005-01-13 International Business Machines Corporation Ibm A method and system for improving presentation of html pages in web devices
US20050060643A1 (en) 2003-08-25 2005-03-17 Miavia, Inc. Document similarity detection and classification system
US8103742B1 (en) 2003-11-24 2012-01-24 Amazon Technologies, Inc. Deferred and off-loaded rendering of selected portions of web pages to incorporate late-arriving service data
US7523315B2 (en) 2003-12-22 2009-04-21 Ingeo Systems, Llc Method and process for creating an electronically signed document
US8150824B2 (en) 2003-12-31 2012-04-03 Google Inc. Systems and methods for direct navigation to specific portion of target document
JP2005202766A (ja) 2004-01-16 2005-07-28 National Institute Of Information & Communication Technology 類似コンテンツの同時提示システム
US20050218739A1 (en) * 2004-04-01 2005-10-06 Microsoft Corporation System and method for sharing objects between computers over a network
US7603426B2 (en) * 2004-06-18 2009-10-13 Microsoft Corporation Flexible context management for enumeration sessions using context exchange
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7810035B2 (en) 2004-10-15 2010-10-05 Microsoft Corporation Browsing web content using predictive navigation links
US7689458B2 (en) 2004-10-29 2010-03-30 Microsoft Corporation Systems and methods for determining bid value for content items to be placed on a rendered page
US20060122889A1 (en) 2004-11-22 2006-06-08 Microsoft Corporation System and method for managing a plurality of content items displayed in a particular placement position on a rendered page
US8302011B2 (en) 2005-01-24 2012-10-30 A9.Com, Inc. Technique for modifying presentation of information displayed to end users of a computer system
US7975000B2 (en) 2005-01-27 2011-07-05 Fmr Llc A/B testing of a webpage
US8019749B2 (en) 2005-03-17 2011-09-13 Roy Leban System, method, and user interface for organizing and searching information
US8060463B1 (en) 2005-03-30 2011-11-15 Amazon Technologies, Inc. Mining of user event data to identify users with common interests
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
US7536641B2 (en) 2005-04-29 2009-05-19 Google Inc. Web page authoring tool for structured documents
JP2006318308A (ja) 2005-05-13 2006-11-24 Epson Avasys Corp 電子文書配信サーバおよび電子文書配信システム
US20060265472A1 (en) * 2005-05-17 2006-11-23 Yahoo! Inc. Systems and methods for providing short message service features and user interfaces therefor in network browsing applications
US20060277167A1 (en) 2005-05-20 2006-12-07 William Gross Search apparatus having a search result matrix display
BRPI0520273A2 (pt) 2005-06-02 2009-04-28 Thomson Licensing mÉtodo e sistema de sincronizaÇço de conteédo
JP2007011778A (ja) 2005-06-30 2007-01-18 Microsoft Corp 情報検索表示方法およびコンピュータ読み取り可能な記録媒体
US7403932B2 (en) 2005-07-01 2008-07-22 The Boeing Company Text differentiation methods, systems, and computer program products for content analysis
JP2005346734A (ja) 2005-07-25 2005-12-15 Flex-Firm Inc コンテンツ提供方法
US7831582B1 (en) 2005-08-23 2010-11-09 Amazon Technologies, Inc. Method and system for associating keywords with online content sources
US7814410B2 (en) 2005-09-12 2010-10-12 Workman Nydegger Initial server-side content rendering for client-script web pages
US7577665B2 (en) 2005-09-14 2009-08-18 Jumptap, Inc. User characteristic influenced search results
US8161044B2 (en) 2005-10-26 2012-04-17 International Business Machines Corporation Faceted web searches of user preferred categories throughout one or more taxonomies
US8001215B2 (en) 2005-11-29 2011-08-16 Microsoft Corporation Unlimited history store for navigational web applications
US7961188B2 (en) 2005-12-05 2011-06-14 Microsoft Corporation Persistent formatting for interactive charts
KR100754196B1 (ko) * 2005-12-10 2007-09-03 삼성전자주식회사 스트리밍 재생 중에 컨텐트 재생 장치를 변경하는 방법 및이를 위한 장치
US8935429B2 (en) 2006-12-19 2015-01-13 Vmware, Inc. Automatically determining which remote applications a user or group is entitled to access based on entitlement specifications and providing remote application access to the remote applications
US20070139430A1 (en) 2005-12-21 2007-06-21 Microsoft Corporation Rendering "gadgets" with a browser
US20070168535A1 (en) 2005-12-22 2007-07-19 Ilmo Ikonen System and method for data communication between devices
US8862551B2 (en) 2005-12-29 2014-10-14 Nextlabs, Inc. Detecting behavioral patterns and anomalies using activity data
US7792944B2 (en) 2006-03-31 2010-09-07 Amazon Technologies, Inc. Executing programs based on user-specified constraints
US8190682B2 (en) 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
JP2007280011A (ja) 2006-04-06 2007-10-25 Nippon Telegr & Teleph Corp <Ntt> Webページ閲覧履歴の提示方法および装置
US8001487B2 (en) 2006-04-12 2011-08-16 Laas & Sonder Pty Ltd Method and system for organizing and displaying data
RU2320002C2 (ru) * 2006-04-18 2008-03-20 Общество с ограниченной ответственностью "Юникор микросистемы" Способ переключения контекста задач и процедур в процессоре
US8527905B2 (en) 2006-06-07 2013-09-03 International Business Machines Corporsation Providing archived web page content in place of current web page content
US7610382B1 (en) 2006-06-30 2009-10-27 Amazon Technologies, Inc. System and method for marking content
US20080104502A1 (en) 2006-10-26 2008-05-01 Yahoo! Inc. System and method for providing a change profile of a web page
US8073850B1 (en) 2007-01-19 2011-12-06 Wordnetworks, Inc. Selecting key phrases for serving contextually relevant content
WO2008092104A2 (en) 2007-01-25 2008-07-31 Skyfire Labs, Inc. Dynamic client-server video tiling streaming
US7593928B2 (en) 2007-01-29 2009-09-22 Aol Llc Dynamically altering search result page layout to increase user response
US8250474B2 (en) 2007-03-31 2012-08-21 Topix Llc Chronology display and feature for online presentations and web pages
IL182702A0 (en) 2007-04-19 2007-09-20 90 Yitshak Barashi Method for changing visual modes of documents stored over a data network
US8370424B2 (en) 2007-06-22 2013-02-05 Aol Inc. Systems and methods for caching and serving dynamic content
US7831596B2 (en) 2007-07-02 2010-11-09 Hewlett-Packard Development Company, L.P. Systems and processes for evaluating webpages
US8185621B2 (en) 2007-09-17 2012-05-22 Kasha John R Systems and methods for monitoring webpages
JP5194673B2 (ja) * 2007-09-26 2013-05-08 株式会社日立製作所 携帯端末、及び情報の送受信方法
US8271836B2 (en) 2007-09-27 2012-09-18 Microsoft Corporation Capturing diagnostics in web browser applications
US8209378B2 (en) 2007-10-04 2012-06-26 Clearspring Technologies, Inc. Methods and apparatus for widget sharing between content aggregation points
US8015496B1 (en) 2007-10-26 2011-09-06 Sesh, Inc. System and method for facilitating visual social communication through co-browsing
US20100312788A1 (en) 2007-10-26 2010-12-09 Commonwealth Scientific And Industrial Research Or Method and system for information retrieval and processing
US8775391B2 (en) 2008-03-26 2014-07-08 Zettics, Inc. System and method for sharing anonymous user profiles with a third party
US20090158141A1 (en) 2007-12-18 2009-06-18 Frederic Bauchot Method and system to secure the display of a particular element of a markup file
US8849914B2 (en) * 2007-12-20 2014-09-30 The Vanguard Group, Inc. System and method for synchronized co-browsing by users in different web sessions
US8473836B2 (en) 2007-12-21 2013-06-25 The Invention Science Fund I, Llc Look ahead of links/alter links
US7664862B2 (en) 2008-01-14 2010-02-16 International Business Machines Corporation Browser-based proxy server for customization and distribution of existing applications
US10269024B2 (en) 2008-02-08 2019-04-23 Outbrain Inc. Systems and methods for identifying and measuring trends in consumer content demand within vertically associated websites and related content
JP5137641B2 (ja) 2008-03-19 2013-02-06 キヤノン株式会社 情報処理装置、画像処理システム及び画像処理方法並びにプログラム
GB0805695D0 (en) 2008-03-28 2008-04-30 British Telecomm Web content management
US20090254867A1 (en) 2008-04-03 2009-10-08 Microsoft Corporation Zoom for annotatable margins
US8112431B2 (en) 2008-04-03 2012-02-07 Ebay Inc. Method and system for processing search requests
US8886637B2 (en) 2008-05-12 2014-11-11 Enpulz, L.L.C. Web browser accessible search engine which adapts based on user interaction
US8078974B2 (en) 2008-06-27 2011-12-13 Microsoft Corporation Relating web page change with revisitation patterns
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US8271887B2 (en) 2008-07-17 2012-09-18 The Boeing Company Systems and methods for whiteboard collaboration and annotation
US8010545B2 (en) 2008-08-28 2011-08-30 Palo Alto Research Center Incorporated System and method for providing a topic-directed search
US20100057639A1 (en) 2008-08-30 2010-03-04 Yahoo! Inc. System and method for utilizing time measurements in advertising pricing
US20100082747A1 (en) * 2008-09-29 2010-04-01 College Of William & Mary Real-time collaborative browsing
US8316124B1 (en) 2008-09-29 2012-11-20 Amazon Technologies, Inc. Managing network data display
US20100125507A1 (en) 2008-11-17 2010-05-20 Escape Media Group, Inc. Method and system for presenting sponsored content
JP2010123073A (ja) 2008-11-21 2010-06-03 Toshiba Corp ページアクセス方法およびサーバ
US8249904B1 (en) 2008-12-12 2012-08-21 Amazon Technologies, Inc. Managing use of program execution capacity
US8195767B2 (en) 2008-12-22 2012-06-05 Sap Ag Method and software for reducing server requests by a browser
US8336049B2 (en) 2009-02-05 2012-12-18 Vmware, Inc. Virtual machine utility computing method and system
TW201032131A (en) 2009-02-24 2010-09-01 Ibm Device, method and computer program product for automatically selecting internet browser and providing web page service
JP2010205111A (ja) 2009-03-05 2010-09-16 Nippon Telegr & Teleph Corp <Ntt> コンテキスト再現システム、コンテキスト再現方法、第1端末装置、第2端末装置、コンテキスト取得装置、または蓄積装置、それらのプログラム
CN101847150A (zh) * 2009-03-26 2010-09-29 北京搜狗科技发展有限公司 浏览器状态同步方法及装置
GB0905953D0 (en) 2009-04-06 2009-05-20 Bowling Anthony Document editing method
WO2010127216A2 (en) 2009-05-01 2010-11-04 Telcodia Technologies, Inc. Automated determination of quasi-identifiers using program analysis
EP2430833A4 (en) 2009-05-13 2014-01-22 Coincident Tv Inc REPRODUCTION AND PROCESSING OF LINKED AND COMMENTED AUDIOVISUAL WORKS
US9330191B2 (en) 2009-06-15 2016-05-03 Microsoft Technology Licensing, Llc Identifying changes for online documents
EP2443574A4 (en) 2009-06-19 2014-05-07 Blekko Inc EVOLVING CLUSTER DATABASE
US9213780B2 (en) 2009-06-26 2015-12-15 Microsoft Technology Licensing Llc Cache and index refreshing strategies for variably dynamic items and accesses
KR20110011002A (ko) 2009-07-27 2011-02-08 삼성전자주식회사 웹 브라우징 방법 및 장치
US8335784B2 (en) 2009-08-31 2012-12-18 Microsoft Corporation Visual search and three-dimensional results
US8745039B2 (en) 2009-09-25 2014-06-03 International Business Machines Corporation Method and system for user guided search navigation
US8689225B2 (en) 2009-09-29 2014-04-01 Amazon Technologies, Inc. Attributing causality to program execution capacity modifications
US11102325B2 (en) 2009-10-23 2021-08-24 Moov Corporation Configurable and dynamic transformation of web content
US20110119352A1 (en) 2009-11-16 2011-05-19 Parrotview, Inc. Method of mutual browsing and computer program therefor
US8375316B2 (en) 2009-12-31 2013-02-12 Verizon Patent And Licensing Inc. Navigational transparent overlay
US20110173177A1 (en) 2010-01-11 2011-07-14 Flavio Junqueira Sightful cache: efficient invalidation for search engine caching
US8924982B2 (en) 2010-01-12 2014-12-30 Amazon Technologies, Inc. Managing private use of program execution capacity
US8875038B2 (en) 2010-01-19 2014-10-28 Collarity, Inc. Anchoring for content synchronization
US20110178868A1 (en) 2010-01-21 2011-07-21 Priyank Shanker Garg Enhancing search result pages using content licensed from content providers
US8782145B2 (en) 2010-01-28 2014-07-15 Microsoft Corporation Following content item updates via chat groups
US20110191327A1 (en) 2010-01-31 2011-08-04 Advanced Research Llc Method for Human Ranking of Search Results
US9514103B2 (en) 2010-02-05 2016-12-06 Palo Alto Research Center Incorporated Effective system and method for visual document comparison using localized two-dimensional visual fingerprints
US20110208822A1 (en) 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
US9009330B2 (en) 2010-04-01 2015-04-14 Cloudflare, Inc. Internet-based proxy service to limit internet visitor connection speed
US8555155B2 (en) 2010-06-04 2013-10-08 Apple Inc. Reader mode presentation of web content
US20120054316A1 (en) 2010-09-01 2012-03-01 Canon Kabushiki Kaisha Tcp multiplexing over a proxy
US20120084644A1 (en) 2010-09-30 2012-04-05 Julien Robert Content preview
EP2622490B1 (en) 2010-10-01 2018-12-05 Z124 Cross-environment communication framework
US8549138B2 (en) 2010-10-01 2013-10-01 Microsoft Corporation Web test generation
US20120137201A1 (en) 2010-11-30 2012-05-31 Alcatel-Lucent Usa Inc. Enabling predictive web browsing
US20120166922A1 (en) 2010-12-28 2012-06-28 Franklin Keith Rolles Content Management System for Resume and Portfolio Data for Producing Multiple Interactive Websites
US9367635B2 (en) * 2011-02-12 2016-06-14 International Business Machines Corporation Contact center co-browsing for a mobile device
US8667139B2 (en) 2011-02-22 2014-03-04 Intuit Inc. Multidimensional modeling of software offerings
US9009218B2 (en) 2011-02-23 2015-04-14 Broadcom Corporation Cloud server/thin client/gateway selective browser instantiation
US9225763B2 (en) 2011-06-07 2015-12-29 Cisco Technology, Inc. Distributed overlay browser for transparent streaming media support in virtualized desktop environment
US8769011B2 (en) 2011-06-21 2014-07-01 Cisco Technology, Inc. Survivable browsing in virtualized desktop environment when host connectivity is lost
US8706860B2 (en) 2011-06-30 2014-04-22 Amazon Technologies, Inc. Remote browsing session management
US8799412B2 (en) 2011-06-30 2014-08-05 Amazon Technologies, Inc. Remote browsing session management
WO2013003631A2 (en) 2011-06-30 2013-01-03 Amazon Technologies, Inc. Remote browsing session management
US8577963B2 (en) 2011-06-30 2013-11-05 Amazon Technologies, Inc. Remote browsing session between client browser and network based browser
CN102902693B (zh) 2011-07-29 2018-01-12 慧与发展有限责任合伙企业 检测在网页上的重复模式
US9195768B2 (en) 2011-08-26 2015-11-24 Amazon Technologies, Inc. Remote browsing session management
US8843608B2 (en) 2011-09-22 2014-09-23 Blue Coat Systems, Inc. Methods and systems for caching popular network content
US8914514B1 (en) 2011-09-27 2014-12-16 Amazon Technologies, Inc. Managing network based content

Also Published As

Publication number Publication date
JP2016146206A (ja) 2016-08-12
BR112014006589A2 (pt) 2018-09-18
JP6272933B2 (ja) 2018-01-31
US10063618B2 (en) 2018-08-28
EP2748725A1 (en) 2014-07-02
US20130054675A1 (en) 2013-02-28
AU2012300408B2 (en) 2016-01-14
CA2846389C (en) 2017-01-10
BR112014006589B1 (pt) 2021-07-20
US20160080467A1 (en) 2016-03-17
AU2012300408C1 (en) 2016-10-27
WO2013032857A1 (en) 2013-03-07
RU2589306C2 (ru) 2016-07-10
SG2014012603A (en) 2014-05-29
CN103959285A (zh) 2014-07-30
AU2012300408A1 (en) 2014-04-10
US9195768B2 (en) 2015-11-24
RU2014111494A (ru) 2015-10-10
CA2846389A1 (en) 2013-03-07
JP2014527676A (ja) 2014-10-16
EP2748725B1 (en) 2019-12-18

Similar Documents

Publication Publication Date Title
JP6272933B2 (ja) 遠隔ブラウジングセッション管理
JP5805867B2 (ja) 遠隔ブラウジングセッション管理
US9253284B2 (en) Historical browsing session management
US8849802B2 (en) Historical browsing session management
US8706860B2 (en) Remote browsing session management
US10296558B1 (en) Remote generation of composite content pages
US20130080576A1 (en) Historical browsing session management
US20130080577A1 (en) Historical browsing session management
US9152970B1 (en) Remote co-browsing session management
JP6073336B2 (ja) 履歴上のブラウジングセッション管理
US10057320B2 (en) Offline browsing session management
JP5937207B2 (ja) 遠隔ブラウジングセッション管理
US9383958B1 (en) Remote co-browsing session management

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150323

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150616

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150804

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

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160406

R150 Certificate of patent or registration of utility model

Ref document number: 5920903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250