一般的に説明されるならば、本開示は、ネットワークコンピューティングプロバイダと連動した、クライアントコンピューティングデバイスとコンテンツプロバイダとの間での遠隔アプリケーションセッションおよび履歴上のブラウズコンテンツの生成および管理を対象とする。具体的には、本開示の態様は、クライアントコンピューティングデバイスとネットワークコンピューティングプロバイダとの間の履歴上のブラウズコンテンツ記録の生成および管理、ならびに履歴上のブラウズコンテンツ記録の索引付けおよび検索に関して記載される。本開示に記載される実施形態の態様は、例示説明の目的のために、遠隔ブラウズセッションおよび履歴上のブラウズストレージコンポーネントの管理に焦点を当てるが、当業者であれば、本明細書に開示される技法が任意の数のソフトウェアプロセスまたはアプリケーションに適用されてもよく、また、任意の数の異なるドキュメントおよびデータの種類の履歴上のコンテンツを保存することに適用されてもよいことを理解するであろう。更に、本開示の様々な態様は、例示的な実施例および実施形態に関して記載されるが、当業者であれば、開示される実施形態および実施例が限定するものとして解釈されるべきでないことを理解するであろう。
例示的な実施例を参照すると、ユーザは、クライアントコンピューティングデバイスに、1つ以上のコンテンツプロバイダによって提供されるコンテンツにアクセスするためのソフトウェアブラウザアプリケーション(以下、「ブラウザ」と称される)を読み込ませてもよい。一実施形態において、ブラウザは、ツールバー、メニュー、ボタン、または他のユーザインターフェース制御等の1つ以上のローカルインターフェースコンポーネントに加えて、コンテンツ表示領域またはアクセスされたネットワークコンテンツを表示するためのペインを有してもよい。ローカルインターフェースコンポーネントは、クライアントコンピューティングデバイスでローカルに実行するか、または実装されるソフトウェアブラウザアプリケーションもしくは任意の他の処理によって管理および制御されてもよい。例示的に、ユーザインターフェース制御をローカルに管理することは、ユーザによる対話がクライアントコンピューティングデバイス上でローカルに処理されるので、応答性の良いユーザインターフェースを可能にし得る。
ブラウザが読み込まれた後、ユーザまたは自動化ブラウザ処理は、プライベートまたは公衆ネットワーク全域でネットワークコンピューティングプロバイダとのブラウズセッションを確立することによって、クライアントコンピューティングデバイスに、コンテンツプロバイダからのコンテンツにアクセスするための要求を伝送させてもよい。ブラウズセッション要求は、要求されたコンテンツのための1つ以上のソースを識別する情報を含んでもよい。例えば、ユーザは、URL(例えばhttp://www.xyzwebsite.com)を選択するか、またはそれをブラウザウィンドウに入力して、クライアントコンピューティングデバイスが、選択されたURLを含む新しいブラウズセッションのための要求をネットワークコンピューティングプロバイダに伝送するようにしてもよい。ブラウズセッション要求は、ユーザ、ブラウザ、またはクライアントコンピューティングデバイスを識別する情報等の識別情報を更に含んでもよい。
例示的な実施形態において、ネットワークコンピューティングプロバイダは、ブラウズセッション要求に含まれる識別情報を処理して、ブラウズセッションと関連付けるための履歴上のブラウズストレージコンポーネントを決定してもよい。履歴上のブラウズストレージコンポーネントは、クライアントコンピューティングデバイスによって要求されたコンテンツの表現を含む、履歴上のリソース表現を記憶してもよい。更に、かつクライアントコンピューティングデバイスから受信されたブラウズセッション要求に応答して、ネットワークコンピューティングプロバイダは、ブラウザソフトウェアアプリケーションをホストするであろうネットワークコンピューティングプロバイダと関連付けられた1つ以上のコンピューティングコンポーネントをインスタンス化するか、またはそれがインスタンス化されるようにしてもよい。例えば、ネットワークコンピューティングプロバイダは、通信ネットワークからリソースを要求することが可能なソフトウェアブラウザアプリケーションを含む、仮想マシンのインスタンスをインスタンス化するか、またはそれがインスタンス化されるようにすることができる。
インスタンス化されたネットワークコンピューティングコンポーネントを使用して、ネットワークコンピューティングプロバイダは、1つ以上のコンテンツプロバイダ、コンテンツ配信ネットワーク、またはローカルもしくは関連付けられたキャッシュコンポーネントもしくはデータストアから、識別されたネットワークリソース(複数可)を要求してもよい。例えば、インスタンス化されたネットワークコンピューティングコンポーネント上のブラウザソフトウェアアプリケーションは、一次ネットワークリソースを処理し、次いで、1つ以上の埋め込みリソース識別子(例えば写真、ビデオファイル等)で識別されたコンテンツのための追加のコンテンツ要求を生成することができる。例示的に、他の非ブラウザによるアプリケーションの場合において、ネットワークリソースまたはコンテンツは、当該技術分野において既知の、特定のソフトウェアアプリケーションによってサポートされる、いずれのファイルの種類または形式も含んでもよい。
要求されたコンテンツ(例えば、要求されたネットワークリソースおよび埋め込みリソース)を得た後に、ネットワークコンピューティングプロバイダは、クライアントコンピューティングデバイス上で実行されているブラウザと、コンピューティングプロバイダ上のインスタンス化されたネットワークコンピューティングコンポーネントで実行されているブラウザとの間の、要求されたコンテンツ、ユーザ対話データ、中間処理結果、および他の情報の伝送に使用するための遠隔セッション通信プロトコルを指定するクライアント遠隔セッションブラウズ構成を識別してもよい。インスタンス化されたネットワークコンピューティングコンポーネント上のブラウザとクライアントコンピューティングデバイス上のブラウザとの間で交換される情報は、「ブラウザセッション情報」と一般に称され得る。ネットワークコンピューティングプロバイダは、要求されたコンテンツによって参照される任意のコンテンツ(例えば、要求されたウェブページによって連結されるウェブページ)を取り出し、処理するために、追加的に、任意の数の更なるコンテンツ要求を行い、かつ/または追加の遠隔セッションのインスタンス化を引き起こしてもよい。最大で指定されたまたは決定された深度までの、任意の数の連結されたリソースが取り出され、ストレージおよび索引付けのために、履歴上のブラウズストレージコンポーネントに提供されてもよい。
クライアントコンピューティングデバイスとインスタンス化されたネットワークコンピューティングコンポーネントとの間で情報を伝送するために遠隔セッション通信プロトコルを指定することに加えて、一実施形態において、識別された遠隔セッションブラウズ構成は、要求されたコンテンツ上で実行される1つ以上の処理行為が、クライアントコンピューティングデバイスではなく、またはこれに加えて、ネットワークコンピューティングプロバイダで行われることを指定してもよい。例えば、ウェブページは、CSSスタイルシートおよびJavascript等の様々なHTMLレイアウト情報および関連付けられたリソースまたは埋め込みコンテンツへの参照、ならびに画像、ビデオ、オーディオ等の埋め込みコンテンツオブジェクトを処理するために、構文解析されてもよい。それぞれのオブジェクトまたは1つのコードは、ウェブページに対応する表現オブジェクトモデルが、レイアウトおよび表示のために更に構築および処理される得る前に、構文解析および処理されてもよい。クライアント遠隔セッションブラウズ構成は、これらの行為のうちのどれがネットワークコンピューティングコンポーネントで行われるべきであり、どれがクライアントコンピューティングデバイスで行われるべきであるかを識別してもよい。
履歴上のブラウズストレージコンポーネントと関連付けられた遠隔セッションは、追加の履歴上の遠隔セッションブラウズ構成を指定してもよい。この履歴上の遠隔セッションブラウズ構成は、ネットワークコンピューティングコンポーネントからの中間処理結果をカプセル化し、それを履歴上のブラウズストレージコンポーネントに提供するための、遠隔セッション通信プロトコルを指定してもよく、また更に、クライアント遠隔セッションブラウズ構成を参照して上述の、ネットワークコンピューティングコンポーネントで行われるべき任意の処理行為を指定してもよい。例示的に、履歴上のブラウズストレージコンポーネントで記憶された処理結果に対応するコンテンツの表現は、履歴上のコンテンツ表現と称され得る。例示的に、履歴上の遠隔セッションブラウズ構成において指定される処理の、遠隔セッション通信プロトコルおよび/または分割は、決定されたクライアント遠隔セッションブラウズ構成と同じであっても異なってもよい。
クライアントコンピューティングデバイスおよびインスタンス化されたネットワークコンピューティングコンポーネントは、ブラウザセッション情報(例えば、要求されたコンテンツ結果を表示する状態データまたは表示データ)を介して、クライアント遠隔セッションブラウズ構成に従って、処理結果を交換してもよい。ネットワークコンピューティングコンポーネントは、ストレージのために、遠隔セッションブラウズ構成に従って、要求されたコンテンツの履歴上のコンテンツ表現を、履歴上のブラウズストレージコンポーネントクライアントに更に提供してもよい。
後の時点で、クライアントコンピューティングデバイスは、履歴上のブラウズストレージコンポーネントで記憶されたコンテンツを検索してもよい。一実施形態において、クライアントコンピューティングデバイスは、目的となる具体的なキャッシュされたリソースまたは履歴上のブラウズセッションに基づいて、記憶されたコンテンツを検索してもよい。更なる実施形態において、クライアントコンピューティングデバイスは、ユーザが元のブラウズセッションにおいて閲覧しなかった、記憶されたコンテンツ(例えば、閲覧されたリソースによって連結され、履歴上のブラウズストレージコンポーネントで記憶されるリソース)のみを検索してもよい。
図1は、コンテンツ要求の管理および処理のためのネットワーク化されたコンピューティング環境100を例示するブロック図である。図1に例示されるように、ネットワーク化されたコンピューティング環境100は、コンテンツプロバイダ104、CDNサービスプロバイダ106、またはネットワークコンピューティングプロバイダ107からのコンテンツおよびコンテンツ処理を要求するための、いくつかのクライアントコンピューティングデバイス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も含む。NCC136、144、150およびストレージコンポーネント140、146、152は、要求されたアプリケーションをサポートし、および/または情報をDNSネームサーバに提供して、要求ルーティングを容易にする、仮想マシンのインスタンスを選択するための負荷分散または負荷分割のソフトウェア/ハードウェアコンポーネントを含むが、これらに限定されない、通信を容易にする、追加のソフトウェアおよび/またはハードウェアコンポーネントを更に含んでもよい。
例示的な実施形態において、NCC136、144、150およびストレージコンポーネント140、146、152は、コンポーネントまたはコンポーネントの一部が物理的に別個であるかどうかに関わらず、論理的にグループ化されていると見なされる。例えば、ネットワークコンピューティングプロバイダ107は、NCCおよびストレージコンポーネントを提供するために別個のPOPを維持してもよい。さらに、NCC POP 134、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、メディアアクセスコントロール(「MAC」)アドレス等を含むが、これらに限定されない、任意の形態であってもよい。ブラウズセッション要求は、ユーザ、ブラウザ、クライアントコンピューティングデバイス102、および/または任意の他のブラウジングエンティティを識別する情報を更に含んでもよい。
ブラウズセッション要求の受信後、ネットワークコンピューティングプロバイダ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へのコンテンツの処理および通信のための遠隔セッションブラウズ構成を決定してもよい。NCC POP 142は、更に、取り出されたコンテンツのいずれにおける参照をも識別し、履歴上のブラウズストレージコンポーネントにおける取り出しおよびキャッシングのための任意の追加のリソース要求を決定してもよい。
図5を参照して、ネットワークコンピューティングプロバイダとクライアントコンピューティングデバイスとの間の、履歴上のコンテンツ表現、ブラウズセッションデータ、およびユーザ対話データの生成および処理のための例示的な対話が開示される。前述のように、一実施形態において、インスタンス化されたネットワークコンピューティングコンポーネントおよびクライアントコンピューティングデバイス102上のそれぞれのブラウザは、インスタンス化されたネットワークコンピューティングコンポーネントおよびクライアントコンピューティングデバイスでの要求されたリソースの割り当ておよび処理に関する、クライアント遠隔セッションブラウズ構成情報等のブラウザのセッション情報を交換し得る。一実施形態において、履歴上のブラウズストレージコンポーネントは、追加的に、上述のクライアント遠隔セッションブラウズ構成情報と同じまたは異なり得る、履歴上の遠隔セッションブラウズ構成情報と関連付けられてもよい。
図5に例示されるように、選択されたNCC POP 142は、上述のクライアント遠隔セッションブラウズ構成情報および履歴上の遠隔セッションブラウズ構成情報に基づいて、初期処理結果を生成してもよい。クライアント遠隔セッションブラウズ構成情報および履歴上の遠隔セッションブラウズ構成情報がそれぞれ、処理結果の異なる形式および/または処理を指定する場合、選択されたNCC POP 142は、2つの異なる処理結果を生成してもよい。例示的に、履歴上の遠隔セッションブラウズ構成に基づいて生成される処理結果は、履歴上のコンテンツ表現と称され得る。NCC POP 142は、履歴上の遠隔セッションブラウズ構成情報に従って生成される処理結果(すなわち、履歴上のコンテンツ表現)を、識別された履歴上のブラウズストレージコンポーネントに提供してもよい。例示的に、履歴上のブラウズストレージコンポーネントは、ネットワークコンピューティングプロバイダ107の1つ以上のNCC POPを介して実現されてもよく、または任意の他のネットワークストレージ位置もしくはコンポーネントを含んでもよい。
選択されたNCC POP 142は、ネットワーク108を介して、初期処理結果をクライアントコンピューティングデバイス102に提供してもよい。初期処理結果は、上の図4に記載されるように、選択されたクライアント遠隔セッションブラウズ構成に従ってNCC POP 142によって処理された、関連付けられた埋め込みリソースと共に、ウェブページ等の要求されたネットワークコンテンツに対応してもよい。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 POP 142等の関連付けられたネットワークコンピューティングコンポーネントを選択してもよい。図2を参照して上に論じられたように、ネットワークコンピューティングプロバイダ107は、NCC POPを選択して、利用可能なNCC POPリソース(例えば、利用可能なメモリ、プロセッサ負荷、ネットワーク負荷等)、NCC POPでブラウズセッション要求にサービス提供する財務コスト、クライアントコンピューティングデバイス102に対するNCC POP位置、コンテンツプロバイダ104、またはCDN POP116、NCC POPキャッシュ状態(例えば、要求されたリソースがNCC POPキャッシュにすでに記憶されているかどうか)等を含むが、これらに限定されない、任意の数の要因に基づいて、ブラウズセッション要求にサービス提供してもよい。一実施形態において、ネットワークコンピューティングプロバイダ107は、ブラウズセッション要求にサービス提供するためにいくつかのNCC POPを選択してもよい。例示的に、ネットワークコンピューティングプロバイダ107は、例示説明の目的のために、本明細書ではNCC POP142を選択しているものとして図示されるが、ネットワークコンピューティングプロバイダ107は、任意の現存するNCC POPを選択し、ブラウズセッション要求にサービス提供してもよい。例えば、単一のクライアントコンピューティングデバイス102が、3つの異なるブラウズセッション要求を、異なるネットワークリソースに対応するネットワークコンピューティングプロバイダ107に同時にまたは順次に提供してもよい。ネットワークコンピューティングプロバイダ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は、コンテンツタブ708A〜Cにおいて組織化される1つ以上のコンテンツ表示領域702を含んでもよい。例示的に、コンテンツ表示領域702は、ライブブラウジングセッションの結果としてNCC POP 142によって提供される処理結果に対応するコンテンツの表現を表示してもよく、または履歴上のコンテンツ表現に対応するコンテンツの表現を表示してもよい。履歴上のコンテンツ表現と関連付けられたタブ708Aおよび708Cは、履歴上のコンテンツ表現が閲覧されているという1つ以上の印を有してもよく、また更に、日付、時間、または他の関連付けられた情報もしくは識別情報を含んでもよい。
例示的に、ブラウザ700は、本明細書に示されないが、履歴上のコンテンツ表現の閲覧、処理、または維持と関連付けられた、任意の数の他の制御を含んでもよい。例えば、ブラウザ700は、履歴上のコンテンツ表現に対応するコンテンツの現在のバージョンを示すための制御、履歴上のナビゲーションパスにおいて前後に移動するための制御、例示説明の目的のために、図13および14に示されるもの等の一覧またはツリービューにおいて履歴上のコンテンツ表現および/または履歴上のナビゲーションパスを示すための制御を含んでもよい。ブラウザ700は、図15を参照して後述されるように、現在の1つの表示されるコンテンツまたは履歴上のコンテンツ表現に基づいて履歴上のブラウズストレージコンポーネントの検索を可能にするための制御を更に含んでもよい。様々な他の実施形態において、ブラウザ700は、表示される履歴上のコンテンツ表現内のリソース参照(例えば、ハイパーリンク)が、履歴上のブラウズストレージコンポーネントで記憶された完全な履歴上のコンテンツ表現と関連付けられているかどうかを視覚的に示してもよい。なおも更なる実施形態において、ブラウザ700は、例えば、参照されたリソースに従ったか、または参照されたリソースから継続してブラウズした、何人かの他のユーザに基づいて、表示される履歴上のコンテンツ表現内のリソース参照の人気のレベルを視覚的に示してもよい。
図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での処理行為を分割するクライアント遠隔セッションブラウズ構成または履歴上の遠隔セッションブラウズ構成は、1つ以上のキャッシングまたはリソース取り出し行為がNCC POPで行われたが、コンテンツの構文解析および処理がクライアントコンピューティングデバイスで行われた、HTML遠隔セッション通信プロトコルを利用するクライアント遠隔セッションブラウズ構成または履歴上の遠隔セッションブラウズ構成を含んでもよい。
HTMLドキュメント等のネットワークリソースがサーバからダウンロードされるとき、ドキュメントを構文解析し、ネットワーク利用サブシステムにおいて追加のダウンロードを開始し、ドキュメントの構造表現を作成する、HTMLサブシステム804に渡されてもよい。現在のブラウザは、XHTML、XML、およびSVGドキュメントのために使用される関連するサブシステムも含んでもよい。HTMLサブシステム804での処理行為を分割するクライアント遠隔セッションブラウズ構成または履歴上の遠隔セッションブラウズ構成は、初期のHTMLページが埋め込みリソース識別子を抽出するためにNCC POPで処理されるが、コンテンツの追加の構文解析および処理がクライアントコンピューティングデバイスで行われる、HTML遠隔セッション通信プロトコルを利用するクライアント遠隔セッションブラウズ構成または履歴上の遠隔セッションブラウズ構成を含んでもよい。別の実施形態において、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は、ブラウズセッション要求に含まれる識別情報の1つ以上のアスペクトと関連付けられた、履歴上のブラウズストレージコンポーネントを識別してもよい。例示的に、履歴上のブラウズストレージコンポーネントは、ネットワークコンピューティングプロバイダ107(例えば、1つ以上のNCC POP上で実装される)、と関連付けられても、第3者ネットワークストレージコンポーネントまたはデータストアと関連付けられるかまたはそれによって提供されてもよい。
ブロック908で、ネットワークコンピューティングプロバイダ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 POP 142は、それに応じて、仮想マシンインスタンスおよび/またはクライアントコンピューティングデバイス102と同一または同様の能力を有するブラウザインスタンスをインスタンス化してもよい。例示的に、クライアントコンピューティングデバイス102と同一または同様の能力を有する仮想マシンインスタンスおよび/またはブラウザを維持することは、NCC POP142が、特定のクライアントコンピューティングデバイス102上での表示に適切な寸法およびレイアウトに応じてネットワークコンテンツを処理することを可能にし得る。
いくつかの実施形態において、NCC POP142は、新しいブラウズセッションをインスタンス化することに加えて、またはこの代替として、既存の仮想マシンインスタンスおよび/またはブラウザインスタンスを利用してもよい。例えば、NCC POP142が選択された後、ネットワークコンピューティングプロバイダ107は、NCC POP142に、NCC POP142で以前にインスタンス化された1つ以上のインスタンス等の既存のブラウザインスタンスおよび/または仮想マシンインスタンスを新しいブラウズセッション要求と関連付けさせてもよい。例示的に、既存のブラウザセッションおよび/または仮想マシンインスタンスは、ユーザまたはクライアントコンピューティングデバイス102と関連付けられた別のブラウズセッション、遠隔アプリケーションセッション、または他の遠隔処理に対応してもよく、あるいは無関係のブラウズセッションまたは遠隔処理からの以前にインスタンス化されたソフトウェアインスタンスであってもよい。他の実施形態において、NCC POP142は、既存の仮想マシンインスタンスにおける新しいブラウザまたは他のアプリケーション処理をインスタンス化してもよく、あるいは任意の数の他の様式で、以前にインスタンス化されたソフトウェア処理および新たにインスタンス化されたソフトウェア処理の利用を組み合わせてもよい。なおも更なる実施形態において、ネットワークコンピューティングプロバイダまたはNCC POP142は、単一のブラウズセッション要求に基づいて、任意の数の新しい仮想マシンインスタンスおよび/またはブラウザインスタンスをインスタンス化(または既存のインスタンス化されたインスタンスを使用)してもよい。
ブロック910で、ネットワークコンピューティングプロバイダ107は、ブラウズセッション要求に含まれるネットワークアドレスに基づいて、1つ以上のネットワークリソースのための要求をコンテンツプロバイダまたはCDNサービスプロバイダに提供してもよい。様々な実施形態において、1つ以上のネットワークリソースは、NCC POP142に対してローカルのキャッシュから追加的にまたは交互に取り出され得るか、あるいはネットワークコンピューティングプロバイダ107と関連付けられ得る。当業者であれば、他の実施形態の場合において、リンクまたはネットワークアドレスが、デジタルファイルロッカー内もしくは他のネットワークストレージ位置、またはネットワークコンピューティングプロバイダ107もしくはクライアントコンピューティングデバイス102と関連付けられたキャッシュコンポーネントに記憶される、ドキュメントまたはファイルに対応してもよいことを理解するであろう。いくつかの実施形態において、新しいセッション要求は、ネットワークアドレスに加えて、またはその代替としてドキュメントまたはファイルを含んでもよい。
ブロック912で、ネットワークコンピューティングプロバイダ107は、1つ以上のネットワークリソースを得る。要求されたネットワークリソースを得た後、NCC POP142は、埋め込みリソース識別子を抽出するためにネットワークリソースを処理してもよい。ネットワークコンピューティングプロバイダ107は、埋め込みリソース識別子に基づいて、コンテンツプロバイダ、CDNサービスプロバイダ、およびキャッシュまたはデータストア等の、コンテンツの1つ以上のソースにリソース要求を提供してもよい。ネットワークコンピューティングプロバイダ107は、これらの埋め込みリソースを任意の数の異なるソースから順次にまたは並行して得てもよい。
ブロック914で、ネットワークコンピューティングプロバイダ107は、上のブロック912において得られたネットワークリソースを処理して、履歴上のブラウズストレージコンポーネントのための任意の追加のリソース要求を決定してもよい。一実施形態において、ネットワークコンピューティングプロバイダ107は、要求されたネットワークリソースによって直接または間接的に参照されるネットワークリソースを処理し、対応する履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに提供するように構成されてもよい。要求および参照されたネットワークリソースの例示的な実施例は、下の図13に関して提供される。
例えば、クライアントコンピューティングデバイス102は、ウェブページに対応する新しいブラウズセッションインスタンスのための要求を提供してもよい。上述のように、ネットワークコンピューティングプロバイダ107はウェブページおよび関連付けられた埋め込みリソースを取り出してもよい。例示的に、ウェブページは、ウェブページに埋め込まれたHTMLタグを通じて、任意の数の他のウェブページまたは他のリソースを参照してもよい。実施例の目的のために、ネットワークコンピューティングプロバイダ107は、最大で3つのレベルの深度での全ての参照されたリソースを取り出すように構成されてもよい。この実施例において、ネットワークコンピューティングプロバイダ107は、要求されたウェブページを処理して、参照されるウェブページまたは他のリソースのURLを抽出してもよい。ネットワークコンピューティングプロバイダ107は次いで、参照されたウェブページまたは他のリソースのための要求を送信してもよい。これらの要求されたウェブページが処理されてもよく、要求されたウェブページに対応する履歴上のコンテンツ表現が、ストレージおよび索引付けのために履歴上のブラウズストレージコンポーネントに提供されてもよい。ネットワークコンピューティングプロバイダ107は、次に、これらの参照されたウェブページまたは他のリソースを処理して、任意の2次的に参照されたウェブページまたは他のリソースを決定および要求してもよい。したがって、2次的に要求されたウェブページに対応する履歴上のコンテンツ表現が、ストレージおよび索引付けのために履歴上のブラウズストレージコンポーネントに提供されてもよい。リソースへの更なる参照を決定するために、参照されたリソースを要求し、要求されたリソースを処理するプロセスは、何回でも反復されてもよい。具体的には、上の実施例を参照すると、ネットワークコンピューティングプロバイダ107は、この実施例に記載される3レベル深度の設定を満たすために、2次的に参照されたウェブページにおける参照に従って、3次的に参照されたウェブページを得、それをキャッシュしてもよい。
参照に従うべきレベルの数の決定は、ユーザ、ブラウザ、履歴上のブラウズストレージコンポーネント、ネットワークコンピューティングプロバイダ107、または他のエンティティもしくはデバイスによってあらかじめ決定されてもよい。別の実施形態において、参照に従うべきレベルの数の決定は、要求されたリソース、時間帯もしくは日付、遠隔セッションに割り当てられた関心もしくは重要度のレベル、または任意の他の要因と関連付けられた特性に基づいて、動的に決定されてもよい。
一実施形態において、ネットワークコンピューティングプロバイダ107は、追加のブラウズセッションのインスタンス化を引き起こして、参照されたリソースを要求および処理するようにし得る。例示的に、これらの追加のブラウズセッションは、更なるブラウズセッションをインスタンス化して、参照リソースを2次的に処理してもよく、適切なレベルの参照の取り出しに到達するまで、以降も再帰的に同様である。
例示的に、様々な実施形態において、どのリソースが履歴上のコンテンツ表現へと処理され、履歴上のコンピューティングおよびストレージコンポーネントで記憶されるかについて、異なる要因が影響を及ぼす場合がある。例えば、ネットワークコンピューティングプロバイダ107は、リソースのコンテンツの種類、リソースと関連付けられたタグまたは他のメタデータ、リソース内に現れるテキストターム、ネットワークコンピューティングプロバイダ107を介してブラウズしている他のユーザの選好に基づくリソースの人気度等を含むが、これらに限定されない任意の数の要因に基づいて、リソースを処理および記憶しない、かつ/または参照されたリソースからの参照に従わない場合がある。一実施形態において、ネットワークコンピューティングプロバイダ107は、参照されたネットワークリソースを得るときに、前に遭遇したネットワークリソースまたは循環参照を無視してもよい。他の実施形態において、履歴上のブラウズストレージコンポーネントは、ネットワークコンピューティングプロバイダ107に加えて、またはその代替として、参照されたネットワークリソースを取り出してもよい。
一実施形態において、ネットワークコンピューティングプロバイダ107は、決定または指定された参照深度閾値を超えては、限定されたリソースのアスペクトを取り出す、かつ/または処理するのみであり得る。例えば、2つのレベルの参照に従った後、ネットワークコンピューティングプロバイダ107は、htmlおよび他のテキストのコンテンツのために、対応する履歴上のコンテンツ表現を要求、処理、および/または履歴上のブラウズストレージコンポーネントに提供するのみであり、かつ画像または他の埋め込みリソースのいずれの表現も含まない場合がある。例示的に、ネットワークコンピューティングプロバイダ107は、限定されたコンテンツ要求、処理、および/またはストレージに対応する任意の数の閾値を有して構成されてもよい。更に、ネットワークコンピューティングプロバイダ107は、要求、処理、および/またはストレージを、html、テキスト、メタデータ、URLもしくは参照、または任意の他のカテゴリまたは種類のリソースのコンテンツ、情報、もしくは特性を含むが、これらに限定されない、取り出されたコンテンツの任意の数の異なるアスペクトに限定する場合がある。
ブロック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 POP 142は、要求されたリソースのうちの1つ以上、コンテンツプロバイダ104、もしくはCDNサービスプロバイダ106のうちの1つ以上の特性、コンテンツアドレスもしくはドメインのうちの1つ以上の特性、クライアントコンピューティングデバイス102、ブラウザもしくはアプリケーション、ユーザのうちの1つ以上の特性、NCC POP 142のうちの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で)で行われるように、広範な処理を指定してもよい。したがって、遠隔セッションブラウズ構成は、多くの前処理(例えば、ページレイアウトを定義する多くのCSまたは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がクライアントコンピューティングデバイス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つ以上の要求されたネットワークリソースおよび埋め込みネットワークリソースを含む、得られたコンテンツを処理してもよい。ネットワークコンピューティングプロバイダ107は更に、履歴上のコンテンツ表現に対応する初期処理結果を生成するために決定された履歴上の遠隔セッションブラウズ構成に従って、1つ以上の要求されたネットワークリソースおよび埋め込みネットワークリソースを含む、得られたコンテンツを処理してもよい。一実施形態において、ネットワークコンピューティングプロバイダ107は、得られたコンテンツを1回処理するのみであり得る。例えば、ネットワークコンピューティングプロバイダ107は、クライアント遠隔セッションブラウズ構成によって指定された処理ステップを行って、第1の処理結果を得てもよく、次いで、任意の残りの処理ステップを行って、履歴上のコンテンツ表現を得てもよく、または逆もまた同様である。
一実施形態において、履歴上のコンテンツ表現は、ネットワークリソース要求、ネットワークリソース、ネットワークリソースと関連付けられた情報、クライアントコンピューティングデバイス102、ユーザ、ネットワークコンピューティングプロバイダ107と関連付けられたコンテンツ、または任意の他のエンティティ、コンテンツ、もしくはコンポーネントを含むが、これらに限定されない、追加の情報を含んでもよい。一実施形態において、履歴上のコンテンツ表現は、図13を参照して後述されるように、ブラウジングまたはナビゲーションパス上の位置と関連付けられた情報を含んでもよい。例えば、第2の履歴上のコンテンツ表現は、クライアントコンピューティングデバイスが、第1のネットワークリソース(例えば、第1の履歴上のコンテンツ表現に対応する)からの参照に従って、第2の履歴上のコンテンツ表現に対応するネットワークリソースに到達したことを指定する情報を含んでもよい。
更なる実施形態において、履歴上のコンテンツ表現は、次のものを含むが、それらに限定されない、任意の数の種類の情報を含んでもよい:履歴上のコンテンツ表現に対応するコンテンツを閲覧するもしくはそれと対話するのに費やした時間の量;履歴上のコンテンツ表現と関連付けられたメモ、マークアップ、または他のユーザにより生成されるコンテンツもしくは情報;ネットワークコンピューティングプロバイダ107もしくはクライアントコンピューティングデバイス102における履歴上のコンテンツ表現に対応するコンテンツの処理と関連付けられたリソース使用状況もしくは性能尺度;履歴上のコンテンツ表現に対応するコンテンツの伝送と関連付けられた待機時間もしくは他のネットワーク性能尺度;ネットワークリソースのための要求と関連付けられた物理的もしくは論理的位置;履歴上のコンテンツ表現に対応するコンテンツと関連付けられた識別子;履歴上のコンテンツ表現に対応するコンテンツと関連付けられた広告;および/または任意の他の種類の情報。例えば、一実施形態において、ユーザは、メモをウェブページに追加するためのインターフェースを提供されてもよい。例示的に、これらのメモは、上述のウェブページと関連付けられた任意の他の種類の情報と共に、ウェブページの履歴上のコンテンツ表現を伴って、またはその内に記憶されてもよい。
ブロック920で、ネットワークコンピューティングプロバイダ107は、更に処理するために初期処理結果をクライアントに提供し、ブラウザのコンテンツ表示領域に表示してもよい。更なる実施例の目的のために、クライアントコンピューティングデバイス102によって実装される例示的なクライアントの新しいブラウズセッション対話ルーチン1000が、図10を参照して下に記載される。
一実施形態において、ネットワークコンピューティングプロバイダ107は、任意の数の要因に基づいて、コンテンツを処理して履歴上のコンテンツ表現を生成すること、および/または処理された履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに提供することを控えるべきかどうかを決定してもよい。例示的に、ネットワークコンピューティングプロバイダ107は、限定なしに、ブロック916で論じられる遠隔ブラウズセッション構成の決定を参照して上に論じられる要因等のうちのいずれかを含む要因に基づいて、履歴上のコンテンツ表現を処理および/または記憶することを控える場合がある。例えば、ネットワークコンピューティングプロバイダ107は、ネットワーク上の特定のウェブサイトまたはドメインに対応する履歴上のコンテンツ表現を記憶することを控える場合がある。別の実施例において、ネットワークコンピューティングプロバイダ107は、クライアントコンピューティングデバイス102のユーザと関連付けられた機密情報または保護必要情報と関連付けられた、履歴上のコンテンツ表現を記憶することを控える場合がある。更なる実施形態において、履歴上のコンテンツ表現を処理または記憶するべきかどうかの決定は、ネットワークコンピューティングプロバイダ107、履歴上のブラウズストレージコンポーネント、または任意の他の第3者と関連付けられた、履歴上のコンテンツフィルタコンポーネントまたはサービスによってなされてもよい。
ブロック922で、ネットワークコンピューティングプロバイダ107は、履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに提供してもよい。例示的に、履歴上のブラウズストレージコンポーネントは、当該技術分野で既知の任意のシステムまたはプロセスに従って、履歴上のコンテンツ表現を記憶するように構成されてもよく、また更に、当該技術分野で既知の任意の種類のデータ保護、ミラーリング、キャッシング等を組み込んでもよい。履歴上のコンテンツ表現は、取り出された状態のネットワークリソースに基づいてもよく、または、取り出されたネットワークリソースとのユーザ対話に関連する、状態データの様々なアスペクトのうちのいずれかを有するネットワークリソースに基づいてもよい。ブロック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 POP 142は、ユーザ対話をネットワークコンテンツに適用し、コンテンツの更新された表現に対応する更新されたビットマップおよびインターフェースデータからなる処理結果を、クライアントコンピューティングデバイス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を参照して、クライアントコンピューティングデバイス102からネットワークコンピューティングプロバイダ107への新しい履歴上のコンテンツ要求の生成および処理を例示する、図1のコンテンツ配信環境のブロック図が記載される。プロセスは、クライアントコンピューティングデバイス102からネットワークコンピューティングプロバイダ107への履歴上のコンテンツ要求を生成および処理することから開始し得る。例示的に、この要求は、下の図15を参照して記載されるように、履歴上のコンテンツに対する検索の結果として、自動的に生成されてもよく、あるいは、ユーザが1つの履歴上のコンテンツへの参照に従うこと、一覧もしくはツリー図から履歴上のコンテンツを選択すること、または任意の他のユーザ対話もしくはシステムもしくはブラウザ要求に応答することの結果として、生成されてもよい。例えば、一実施形態において、第1のユーザは、履歴上のコンテンツ表現に対応する識別子またはネットワークアドレス情報等の参照を、クライアントコンピューティングデバイス102における第2のユーザに提供してもよい。例示的に、履歴上のコンテンツ表現は、第1のユーザによって前にアクセスまたは閲覧されたウェブページまたは他のネットワークリソースに対応してもよい。この実施例に関して、クライアントコンピューティングデバイス102は、参照を処理して、履歴上のコンテンツ要求を生成してもよい。
図12に戻ると、クライアントコンピューティングデバイス102が履歴上のコンテンツ要求を生成したかまたはそれを得た後、履歴上のコンテンツ要求は、最初にネットワークコンピューティングプロバイダ107に伝送されてもよい。例示的な実施形態において、ネットワークコンピューティングプロバイダ107は、登録アプリケーションプログラムインターフェース(「API」)を利用して、クライアントコンピューティングデバイス102からの履歴上のコンテンツ要求を承認する。履歴上のコンテンツ要求は、履歴上のコンテンツ表現に対応する識別子またはネットワークアドレス情報を含み得、それは、文字の任意の組み合わせからなる英数字コード、インターネットプロトコル(「IP」)アドレス、URL、メディアアクセスコントロール(「MAC」)アドレス等を含むが、これらに限定されない任意の形態であってもよい。履歴上のコンテンツ要求は、ユーザ、ブラウザ、クライアントコンピューティングデバイス102、および/または任意の他のブラウジングエンティティを識別する情報を更に含んでもよい。
ブラウズセッション要求の受信後、ネットワークコンピューティングプロバイダ107は、ブラウズセッション要求における履歴上のコンテンツ表現に対応する、識別情報および識別子またはネットワークアドレス情報の任意の組み合わせに基づいて、履歴上のブラウズストレージコンポーネントを識別してもよい。一実施形態において、ネットワークコンピューティングおよびストレージコンポーネントは、識別情報を処理するか、またはクライアントコンピューティングデバイス102からの追加の情報を要求して、クライアントコンピューティングデバイス102が履歴上のコンテンツ表現を要求する権限を与えられていることを決定してもよい。
例示的に、かつ図12に関する実施例の目的のために、我々は、ネットワークコンピューティングプロバイダが、NCC POP 142で実装される履歴上のブラウズストレージコンポーネントを識別することを想定することができる。上述のように、履歴上のブラウズストレージコンポーネントは、様々な実施形態において、デバイスおよび/またはエンティティの任意の組み合わせによって実装され、関連付けられ、および/または提供されてもよい。一実施形態において、NCC POP 142は、要求された履歴上のコンテンツ表現の来たる伝送および処理に関連する履歴上の遠隔セッションブラウズ構成情報を、クライアントコンピューティングデバイス102に提供してもよい。
NCC POP 142は、履歴上の遠隔セッションブラウズ構成情報に基づいて、要求された履歴上のコンテンツ表現をクライアントコンピューティングデバイスに提供してもよい。履歴上のコンテンツ表現は、ウェブページ等の要求された履歴上のコンテンツに対応し得る。一実施形態において、履歴上のコンテンツ表現は、履歴上のコンテンツ(例えば、要求されたウェブページ上の埋め込みコンテンツ)と関連付けられた任意の埋め込みリソースの表現を含んでもよい。別の実施形態において、履歴上のコンテンツ表現は、クライアントコンピューティングデバイス102による取り出しのために埋め込みコンテンツと関連付けられた、他の履歴上のコンテンツ表現への埋め込み参照を含んでもよい。履歴上のコンテンツ表現を受信した後、クライアントコンピューティングデバイス102は、履歴上の遠隔セッションブラウズ構成によって要求されるように、初期処理結果に任意の残りの処理行為を行ってもよく、また、ブラウザのコンテンツ表示領域において完全に処理されたコンテンツを表示してもよい。
別の実施形態において、履歴上のコンテンツ要求は、履歴上のコンテンツ結果を削除あるいは除去する要求に対応し得る。例えば、クライアントコンピューティングデバイス102は、ストレージから履歴上のコンテンツ結果を削除する要求を提供してもよい。例示的に、履歴上のコンテンツ結果を削除する要求に応答して、ネットワークコンピューティングおよびストレージプロバイダ107および/またはNCC POP 142は、1つ以上のデータストアから指定された履歴上のコンテンツ結果を削除し、かつ/またはクライアントコンピューティングデバイス102または関連付けられたユーザと、履歴上のコンテンツ結果との間の関連付けを削除してもよい。
図13を参照して、ネットワークリソースナビゲーションパス1300を示す分岐図が記載される。例示的に、上述のように、クライアントコンピューティングデバイス102は、ネットワークリソース1302〜1314等のネットワークコンテンツの表現を得、表示してもよい。一実施形態において、ネットワークリソース1302〜1304のうちの1つ以上は、他のネットワークリソースへの1つ以上の参照を含んでもよい。具体的な実施例の目的のために、ネットワークリソース1302は、一実施形態において、他のウェブページへのいくつかのハイパーリンクを有するウェブページであってもよい。一実施形態において、ユーザは、ブラウザからのネットワークリソースからの参照に従って、参照されたネットワークリソースの表現を得てもよい。上述のように、それぞれのネットワークリソース1302〜1314は、ネットワークコンピューティングプロバイダ107において1つ以上の同じまたは異なる遠隔ブラウズセッションと関連付けられてもよい。
例示的に、ユーザは、クライアントコンピューティングデバイス102のブラウザ内のリンクに順次従ってもよい。例えば、ユーザは、ネットワークリソース1302の表現におけるリンクをクリックしてもよく、それは、ブラウザが、ブラウザのコンテンツ表示領域におけるネットワークリソース1302の表現を、ネットワークリソース1304の表現と置き換えるようにし得る。このようにして、ユーザは、ネットワークコンテンツを通じて順次ブラウズし得る。例示的に、我々は、この参照の連鎖をブラウジングパスまたはナビゲーションパスと称しすることができる。例えば、ユーザは、ネットワークリソース1302、続いてネットワークリソース1304、続いて1306、および続いて1308の表現を閲覧することによって、順次のナビゲーションパスに従ってもよい。
別の実施形態において、ユーザは、順次のナビゲーションパス1302〜1308と並行してリンクに従ってもよい。例えば、ユーザは、ウェブページ上のリンクに従って、クライアントコンピューティングデバイス102のブラウザ上で新しいタブ、フレーム、ウィンドウ、または他の組織的グループを開いてもよい。したがって、ユーザは、ネットワークリソース1304からの参照に従って、ネットワークリソース1312の表現を表示する新しいタブを開いてもよく、また、その後ネットワークリソース1314への参照に順次に従ってもよい。別の実施例として、ユーザは、ネットワークリソース1306からの参照に従って、ネットワークリソース1310の表現を表示する新しいタブを開いてもよい。
一実施形態において、履歴上のブラウズストレージコンポーネントは、図13に例示説明の目的のために図示されるブラウズパス等の論理的ブラウズパスの再作成を可能にするデータを得、それを記憶してもよい。一実施形態において、1つのコンテンツへとおよび/またはそこから従われた参照は、そのコンテンツに対応する履歴上のコンテンツ表現と共に記憶されてもよい。別の実施形態において、履歴上のブラウズストレージコンポーネントは、履歴上のナビゲーションパスと関連付けられた参照および/またはパスを独立して維持してもよい。
例示的に、クライアントコンピューティングデバイス102のブラウザは、一実施形態において、履歴上のブラウズパスの表示を可能にするインターフェース制御または機能を有してもよい。例示的に、履歴上のブラウズパスは、本明細書で例示説明の目的のために図示される分岐もしくはツリー図、一覧、表として、または当該技術分野で既知の任意の他の表現において表示されてもよい。一実施形態において、ネットワークリソース間またはネットワークリソース表現自体の間の参照は、コンテンツの種類の視覚的指示、1つ以上の検索語の出現、前に閲覧された状態、他のユーザの閲覧行動に基づく人気度、または任意の他の特性もしくは関連する情報のアスペクトと共に表示されてもよい。
図14を参照して、ネットワークリソース参照レベルを図示する、ネットワークリソースナビゲーションパス1400を示す分岐図が記載される。例示的に、図13を参照して上述のように、クライアントコンピューティングデバイス102におけるユーザブラウジングネットワークコンテンツは、ナビゲーションパスにおけるネットワークリソース間の参照に従ってもよい。一実施形態において、それぞれのネットワークリソースは、他のネットワークリソースへの任意の数の参照を有してもよい。図9を参照して記載されるように、ネットワークコンピューティングおよびストレージコンポーネント107または履歴上のブラウズストレージコンポーネントは、クライアントコンピューティングデバイス102によって要求されたネットワークリソースによって直接または間接的に参照されるネットワークリソースの表現を取り出し、記憶するように構成されてもよい。
例示説明の目的のために、クライアントコンピューティングデバイス102のブラウザにおけるユーザは、ブラウズパスにおいて、ネットワークリソース1402から、ネットワークリソース1406へ、ネットワークリソース1418へ、ネットワークリソース1430へと、ネットワークリソースをブラウズしてもよい。一実施形態において、これらのネットワークリソース1402、1406、1418、および1430のそれぞれの表現は、履歴上のブラウズストレージコンポーネントにおいて記憶および索引付けされてもよい。それぞれのネットワークリソース1402、1406、1418、および1430は、ネットワークリソース1404、1408、1416、1420、1432、および1434のうちの1つ以上等の、任意の数の他のネットワークリソースを参照してもよい。例示的に、要求されたネットワークリソース1402、1406、1418、および1430によって直接参照される、ネットワークリソース1404、1408、1416、1420、1432、および1434は、第1レベルの参照または第1レベルの参照されたネットワークリソースと称することができる。第1レベルの参照されたネットワークリソース1404、1408、1416、1420、1432、および1434によって参照される、ネットワークリソース1410、1412、1422、1424、および1436は、第2レベルの参照または第2レベルの参照されたネットワークリソースと称することができる。したがって、第2レベルのネットワークリソース1410、1412、1422、および1424によって参照される、ネットワークリソース1414、1426、および1428は、第3レベルの参照または第3レベルの参照されたネットワークリソースと称することができる。
一実施形態において、履歴上のブラウズストレージコンポーネントで記憶された1つ以上のレベルの参照されたネットワークリソースの表現を有した後、クライアントコンピューティングデバイス102におけるユーザは、ブラウザまたはアプリケーションにおいて1つ以上のレベルの参照されたネットワークリソースの表現を閲覧することが可能であり得る。例示的に、履歴上のブラウズパスから参照されたネットワークリソースのレベルは、本明細書で例示説明の目的のために図示される分岐もしくはツリー図、一覧、表として、または当該技術分野で既知の任意の他の表現において表示されてもよい。一実施形態において、ネットワークリソース間またはネットワークリソース表現自体の間の参照は、コンテンツの種類の視覚的指示、1つ以上の検索語の出現、前に閲覧された状態、他のユーザの閲覧行動に基づく人気度、または任意の他の特性もしくは関連する情報のアスペクトと共に表示されてもよい。
図15に関して、例示的なブラウズ検索履歴インターフェー1500を図示する、ユーザインターフェースの図が記載される。一実施形態において、検索インターフェース1500は、クライアントコンピューティングデバイス102、または任意の他のアプリケーションもしくはサービス上で実行しているブラウザからアクセス可能であり得る。検索インターフェース1500に対応する機能性の様々なアスペクトは、1つ以上のインターフェース、API、ブラウザプラグイン、または他のアクセス手段を通じて、任意の数の異なるソフトウェアアプリケーション、ネットワークコンポーネント、および/またはサービスプロバイダによって提供されてもよい。一実施形態において、検索インターフェース1500は、ユーザが、履歴上のブラウズストレージコンポーネントで記憶され、かつ過去に閲覧されたおよび/または参照されたネットワークリソースに対応する、履歴上のコンテンツ表現を検索することを可能にし得る。
例示的な検索インターフェース1500は、記憶された履歴上のコンテンツ表現または対応するネットワークリソースの任意の数の特性を検索するためのフィールドを含んでもよい。記憶された履歴上のコンテンツ表現の特性を検索するための検索フィールドは、テキスト検索フィールド1502、および日付検索フィールド1504を含んでもよいが、これらに限定されない。様々な他の実施形態において、検索インターフェース1500は、コンテンツの種類、具体的なブラウズセッション、ソフトウェアブラウザ、ユーザ、メタデータ、タグ、またはネットワークリソースと関連付けられた任意の他の特性の任意の組み合わせに基づいて検索するための手段(図示されず)を更に含んでもよい。
例示的な検索インターフェース1500は、ネットワークリソースを閲覧するために元々使用されたクライアントコンピューティングデバイスを指定するための、ブラウジングデバイス検索フィールド1506を含んでもよい。例えば、ユーザは、元々、彼の家のコンピュータ上でネットワークリソースを閲覧および/または要求した場合がある。ユーザは、その後、彼が家のコンピュータ上で元々閲覧したコンテンツによる結果をフィルタリングして、ネットワークリソースの履歴上のコンテンツ表現を検索し得る。例示的に、クライアントコンピューティングデバイスは、MAC IDもしくはIPアドレス、シリアル番号、ブラウザクッキー、および/またはクライアントコンピューティングデバイスハードウェアもしくはソフトウェアと関連付けられた任意の数の識別子による識別を含むが、これらに限定されない、当該技術分野で既知の任意の数の方式で識別されてもよい。一実施形態において、ユーザが特定のデバイスを容易に指定することを可能にするために、1つ以上の代替の識別子(例えば、説明、名称、アイコン等)が、1つ以上のデバイスと関連付けられてもよい。
例示的な検索インターフェース1500は、ネットワークリソースが元々閲覧されたまたは要求された場所を指定するための、位置検索フィールド1508を更に含んでもよい。様々な実施形態において、場所検索フィールドは、ユーザが物理的または論理的場所を入力すること可能にし得る。例示的に、検索結果は、指定される場所で元々閲覧されたコンテンツに対してフィルタリングされてもよい。一実施形態において、ユーザが特定の場所を容易に指定することを可能にするために、1つ以上の代替の識別子(例えば、説明、名称、アイコン等)が、1つ以上の物理的または論理的場所と関連付けられてもよい。他の実施形態において、ユーザは、グローバルポジショニングシステム(GPS)座標、緯度および経度、アドレス、IPアドレス、ネットワークドメイン等を含むが、これらに限定されない、任意の数の他の場所識別子を入力してもよい。
例示的な検索インターフェース1500は、特定の履歴上のコンテンツ表現またはネットワークリソースに基づいて検索するための制御1510を更に含んでもよい。例えば、一実施形態において、ユーザは、ブラウザ内に表示される履歴上のコンテンツ表現またはネットワークリソースの表現上で右クリックし、ページオプションに基づく検索を選択してもよい。例示的に、制御1510に提供されるネットワークリソースに対する識別情報には、検索インターフェース1500におけるネットワークリソースプレビュー1514または他のネットワークリソースの表現が付随してもよい。例示的に、ページに基づく検索は、検索されたページと共有または同様の、任意の数の特性または情報と関連付けられた履歴上のコンテンツ表現を返してもよい。これらの特性または情報は、テキストコンテンツ、日付、コンテンツの種類、ネットワークリソースに遭遇したブラウズセッション、タグ、メタデータ、ユーザID、ブラウザ、クライアントコンピューティングデバイス、共通の順次または並列ナビゲーションパス等を含んでもよい。例えば、例示的な検索インターフェース1500は、ナビゲーションパス結果制御1512を更に含んでもよい。例示的に、ナビゲーションパス結果制御1512は、ユーザが、元々、制御1510において選択されたネットワークリソースまたは履歴上のコンテンツ表現と同じナビゲーションパスであるコンテンツの履歴上のコンテンツ表現によって、検索結果をフィルタリングすることを可能にし得る。一実施形態において、ユーザは、ナビゲーションパスで選択されたネットワークリソースまたは履歴上のコンテンツ表現の前または後のいずれのコンテンツの履歴上のコンテンツ表現に対する検索結果をフィルタリングしてもよい。
明確さの目的のために本明細書では示されないが、例示的な検索インターフェース1500は、ユーザが、制御1510において選択された結果をページの過去のバージョンに制限またはフィルタリングすることを可能にする、オプションまたは制御を更に含んでもよい。例えば、ユーザは、最新のニュースに特化したウェブページを過去に何回か訪れた場合がある。したがって、ウェブページは、閲覧された度に、異なる情報を含んでいた場合がある。例示的に、ユーザは、具体的なストーリーまたは新しい項目を見出すために、検索を、ウェブページの過去のバージョンの記憶された履歴上のコンテンツ表現に限定することを選んでもよい。
例示的な検索インターフェース1500は、ユーザが、ネットワーク(例えば、現在のWeb検索)から、履歴上のコンテンツ表現のみを返すことと、履歴上のコンテンツ表現および現在のコンテンツの組み合わせを返すこととの間で選択することを可能にする、制御1512を更に含んでもよい。一実施形態において、検索フィールド1514の深度は、図9および14を参照して上に論じられたように、ユーザが、検索するべき参照されたネットワークリソースのレベルの数を指定することを可能にし得る。例えば、ゼロレベルは、検索が、実際に閲覧されたネットワークリソースに対応する履歴上のコンテンツ表現のみを返すべきであることを指定し得る。
なおも更に、例示的な検索インターフェース1500は、推奨結果が検索によって返されるべきであることを指定するための、推奨結果制御1516を含んでもよい。一実施形態において、推奨結果は、他のユーザによって、ネットワークコンピューティングおよびストレージコンポーネント107によって、クライアントコンピューティングデバイス102におけるユーザによって、履歴上のブラウズストレージコンポーネント自体、または任意の他のエンティティによって高位に順位付けされた、ネットワークリソースの履歴上のコンテンツ表現に対応してもよい。更なる実施形態において、推奨結果は、過去のユーザのブラウジング行動に基づいてもよい。
例示的な検索インターフェース1500は、見られていない結果のみが検索によって返されるべきであることを指定するための、見られていない結果制御1518を更に含んでもよい。例示的に、このオプションを選択することは、検索が、参照されたネットワークリソースに対応する(例えば、最大で、上の制御1514において指定される参照のレベルで)履歴上のコンテンツ表現のみを返すようにし得、かつ、クライアントコンピューティングデバイス102が実際に表示したネットワークリソース(例えば、ユーザの履歴上のブラウズパス上のネットワークリソース)に対応する履歴上のコンテンツ表現を表示しないようにし得る。
明確さの目的のために本明細書では図示されないが、例示的な検索インターフェース1500は、ユーザが、過去にユーザまたはクライアントコンピューティングデバイスによってネットワークリソースまたは他の1つのコンテンツが閲覧された回数によって、フィルタリングすることを可能にし得る、1つ以上の制御またはユーザインターフェースオプションを更に含んでもよい。例示的な検索インターフェース1500は、ユーザが、ネットワークリソースまたは他の1つのコンテンツを閲覧するまたはそれと対話するのに費やした時間の量によって、検索することを可能にし得る、1つ以上の制御またはユーザインターフェースオプションをなおも更に含んでもよい。例示的な検索インターフェース1500は、ユーザが、支配色もしくは配色、ネットワークリソースもしくは1つのコンテンツにおける1つ以上の広告の関連付けもしくは組み込み、ネットワークリソースにおける1つ以上もしくは1種類以上の埋め込みコンテンツの関連付けもしくは組み込み、または任意の他の種類の検索フィルタまたは語によって、検索結果をフィルタリングすることをなおも更に可能にし得る。
本開示の、とりわけ様々な実施形態は、以下の付記によって記載され得る。
付記1.遠隔セッションブラウジングのためのコンピュータ実装方法であって、
ネットワークコンピューティングコンポーネントによって、クライアントコンピューティングデバイスからのブラウズセッション要求に含まれるネットワークリソースの識別子に基づいて、コンテンツプロバイダからネットワークリソースを得ることであって、ネットワークリソースが、複数の処理行為により処理され得る、得ることと、
ネットワークコンピューティングコンポーネントによって、ネットワークリソースと関連付けられたクライアント遠隔セッションブラウジング構成および履歴上の遠隔セッションブラウジング構成を決定することであって、クライアント遠隔セッションブラウジング構成および履歴上の遠隔セッションブラウジング構成のそれぞれが、少なくとも通信プロトコルおよびネットワークコンピューティングコンポーネントで行われるべき複数の処理行為のうちの1組の処理行為を識別する、決定することと、
ネットワークコンピューティングコンポーネントによって、ネットワークリソースを処理して、決定されたクライアント遠隔セッションブラウジング構成に対応する処理結果、および決定された履歴上の遠隔セッションブラウジング構成に対応する履歴上のコンテンツ表現を生成することであって、処理結果および履歴上のコンテンツ表現が、ネットワークリソースの表現に対応し、処理結果が、ネットワークコンピューティングコンポーネントでクライアント遠隔セッションブラウジング構成によって識別される1組の処理行為を行うことによって生成され、履歴上のコンテンツ表現が、ネットワークコンピューティングコンポーネントで履歴上の遠隔セッションブラウジング構成によって識別される1組の処理行為を行うことによって生成される、生成することと、
ネットワークコンピューティングコンポーネントによって、処理結果をクライアントコンピューティングデバイスに提供することであって、クライアントコンピューティングデバイスが、ネットワークリソースの表現の表示を引き起こすように構成され、表現の表示を引き起こすことが、クライアント遠隔セッションブラウジング構成によって識別される1組の処理行為に含まれない複数の処理行為のそれぞれを行うことを含む、提供することと、
ネットワークコンピューティングコンポーネントによって、履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに提供することであって、履歴上のブラウズストレージコンポーネントが、履歴上のコンテンツ表現を記憶するように構成される、提供することと、を含む、コンピュータ実装方法。
付記2.クライアント遠隔セッションブラウジング構成によって識別される通信プロトコルが、履歴上の遠隔セッションブラウジング構成によって識別される通信プロトコルとは異なる、付記1に記載のコンピュータ実装方法。
付記3.クライアント遠隔セッションブラウジング構成によって識別される通信プロトコルおよび履歴上の遠隔セッションブラウジング構成によって識別される通信プロトコルのうちの少なくとも1つが、HTMLプロトコル、リモートデスクトッププロトコル、バーチャルネットワークコンピューティングプロトコル、遠隔フレームバッファー(Remote Frame Buffer)プロトコル、またはX−ウィンドウプロトコルを含む、付記1に記載のコンピュータ実装方法。
付記4.ネットワークリソースと関連付けられた履歴上の遠隔セッションブラウジング構成を決定することが、リソースデータ形式、リソースコンテンツの種類、リソースサイズ、ソフトウェアブラウザ、リソース処理要件、リソース待機時間要件、対話要素の数もしくは種類、リソースセキュリティリスク、履歴上のリソース使用状況データ、リソース使用状況予測、関連付けられたユーザ選好、関連付けられたネットワークアドレス、関連付けられたネットワークドメイン、履歴上のコンテンツプロバイダ使用状況データ、またはコンテンツプロバイダ構成データに基づいて、履歴上の遠隔セッションブラウジング構成を決定することを含む、付記1に記載のコンピュータ実装方法。
付記5.ネットワークリソースと関連付けられた履歴上の遠隔セッションブラウジング構成を決定することが、履歴上のブラウズストレージコンポーネントから得られた情報に基づいて、履歴上の遠隔セッションブラウジング構成を決定することを含む、付記1に記載のコンピュータ実装方法。
付記6.遠隔セッションブラウジングのためのシステムであって、
1つ以上のコンピュータプロセッサと、
1つ以上のコンピュータプロセッサのうちの少なくとも1つによってアクセス可能な少なくとも1つのコンピュータメモリと、
1つ以上のコンピュータプロセッサによって実行される実行可能なソフトウェアモジュールを備える、ネットワークコンピューティングコンポーネントと、を備え、ネットワークコンピューティングコンポーネントが、
クライアントコンピューティングデバイスから、第1のネットワークリソースのための要求を得ることと、
1つ以上の履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに伝送することであって、1つ以上の履歴上のコンテンツ表現が、第1のネットワークリソースおよび第1のネットワークリソースと関連付けられたコンテンツのうちの少なくとも1つに対応する、伝送することと、
処理結果をクライアントコンピューティングデバイスに伝送することであって、処理結果が、第1のネットワークリソースおよびクライアントコンピューティングデバイスで表示されるべき第1のネットワークリソースと関連付けられたコンテンツのうちの少なくとも1つの表現に対応する、伝送することと、を行うように動作可能である、システム。
付記7.ネットワークコンピューティングコンポーネントが、履歴上の遠隔セッションブラウジング構成を決定するように更に動作可能であり、履歴上の遠隔セッションブラウジング構成が、1つ以上の履歴上のコンテンツ表現を生成するためにネットワークコンピューティングコンポーネントで行われるべき1組の処理行為を識別する、付記6に記載のシステム。
付記8.ネットワークコンピューティングコンポーネントが、履歴上のブラウズストレージコンポーネントから得られた情報に基づいて、ネットワークリソースと関連付けられた履歴上の遠隔セッションブラウジング構成を決定するように更に動作可能である、付記7に記載のシステム。
付記9.遠隔セッションブラウジング履歴構成が、クライアントコンピューティングデバイスで行われるべき1つ以上の処理行為を識別する、付記7に記載のシステム。
付記10.クライアントコンピューティングデバイスが、履歴上の遠隔セッションブラウジング構成によって識別される1つ以上の処理行為を行うように構成される、付記9に記載のシステム。
付記11.ネットワークコンピューティングコンポーネントが、クライアント遠隔セッションブラウジング構成を決定するように更に動作可能であり、クライアント遠隔セッションブラウジング構成が、処理結果を生成するためにネットワークコンピューティングコンポーネントで行われるべき1組の処理行為を識別する、付記6に記載のシステム。
付記12.ネットワークコンピューティングコンポーネントが、リソースデータ形式、リソースコンテンツの種類、リソースサイズ、リソース処理要件、リソース待機時間要件、対話要素の数もしくは種類、リソースセキュリティリスク、履歴上のリソース使用状況データ、リソース使用状況予測、関連付けられたユーザ選好、関連付けられたネットワークアドレス、関連付けられたネットワークドメイン、履歴上のコンテンツプロバイダ使用状況データ、またはコンテンツプロバイダ構成データに基づいて、ネットワークリソースと関連付けられたクライアント遠隔セッションブラウジング構成を決定するように更に動作可能である、付記11に記載のシステム。
付記13.クライアント遠隔セッションブラウジング構成によって識別される1組の処理行為が、1つ以上の履歴上のコンテンツ表現の生成中に行われる少なくとも1つの共有の処理行為を含む、付記11に記載のシステム。
付記14.1つ以上の履歴上のコンテンツ表現が、HTMLプロトコル、リモートデスクトッププロトコル、バーチャルネットワークコンピューティングプロトコル、遠隔フレームバッファープロトコル、およびX−ウィンドウプロトコルのうちの少なくとも1つを含む通信プロトコルと関連付けられる、付記6に記載のシステム。
付記15.クライアントコンピューティングデバイスが、履歴上のブラウズストレージコンポーネントから履歴上のコンテンツ表現を得るように構成される、付記6に記載のシステム。
付記16.クライアントコンピューティングデバイスが、履歴上のコンテンツ表現に基づいて、ネットワークリソースの表現を表示するように構成される、付記15に記載のシステム
付記17.遠隔セッションブラウジングのためのコンピュータ実装方法であって、
クライアントコンピューティングデバイスから、第1のネットワークリソースのための要求を得ることと、
1つ以上の履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに伝送することであって、1つ以上の履歴上のコンテンツ表現が、第1のネットワークリソースおよび第1のネットワークリソースと関連付けられたコンテンツのうちの少なくとも1つに対応する、伝送することと、
処理結果をクライアントコンピューティングデバイスに伝送することであって、処理結果が、第1のネットワークリソースおよびクライアントコンピューティングデバイスで表示されるべき第1のネットワークリソースと関連付けられたコンテンツのうちの少なくとも1つの表現に対応する、伝送することと、を含む、コンピュータ実装方法。
付記18.履歴上の遠隔セッションブラウジング構成を決定することを更に含み、履歴上の遠隔セッションブラウジング構成が、1つ以上の履歴上のコンテンツ表現を生成するためにネットワークコンピューティングコンポーネントで行われるべき1組の処理行為を識別する、付記17に記載のコンピュータ実装方法。
付記19.履歴上のブラウズストレージコンポーネントから得られた情報に基づいて、ネットワークリソースと関連付けられた履歴上の遠隔セッションブラウジング構成を決定することを更に含む、付記18に記載のコンピュータ実装方法。
付記20.クライアントコンピューティングデバイスからの履歴上のコンテンツ表現のための要求に応答して、ネットワークリソースと関連付けられた履歴上の遠隔セッションブラウジング構成を決定することを更に含む、付記18に記載のコンピュータ実装方法。
付記21.クライアント遠隔セッションブラウジング構成を決定することを更に含み、クライアント遠隔セッションブラウジング構成が、処理結果を生成するためにネットワークコンピューティングコンポーネントで行われるべき1組の処理行為を識別する、付記17に記載のコンピュータ実装方法。
付記22.処理結果をクライアントコンピューティングデバイスに提供することを更に含み、処理結果が、ネットワークコンピューティングコンポーネントでクライアント遠隔セッションブラウジング構成によって識別される1組の処理行為を行うことによって生成され、クライアントコンピューティングデバイスが、処理結果に基づいて、ネットワークリソースの表現の表示を引き起こすように動作可能である、付記21に記載のコンピュータ実装方法。
付記23.クライアント遠隔セッションブラウジング構成によって識別される1組の処理行為が、1つ以上の履歴上のコンテンツ表現の生成中に行われるべき少なくとも1つの共有の行為を含む、付記21に記載のコンピュータ実装方法。
付記24.
少なくとも1つの共有の行為を行うことを含む、ネットワークコンピューティングコンポーネントで、クライアント遠隔セッションブラウジング構成によって識別される1組の処理行為を行うことによって、処理結果を生成することと、
ネットワークコンピューティングコンポーネントで、前記少なくとも1つの共有の行為を行うことを含む、履歴上のコンテンツ表現を生成することと、を更に含み、前記少なくとも1つの共有の行為が、1回を超えては行われない、付記23に記載のコンピュータ実装方法。
付記25.クライアントコンピューティングデバイスが、履歴上のブラウズストレージコンポーネントから履歴上のコンテンツ表現を得るように構成される、付記17に記載のコンピュータ実装方法。
付記26.クライアントコンピューティングデバイスが、履歴上のコンテンツ表現に基づいて、ネットワークリソースの表現を表示するように構成される、付記25に記載のコンピュータ実装方法。
付記27.遠隔ブラウズストレージのためのコンピュータ実装方法であって、
ネットワークコンピューティングプロバイダで、クライアントコンピューティングデバイスからのネットワークコンテンツのための要求を得ることであって、要求されたネットワークコンテンツが、1つ以上の埋め込みリソースを参照する第1のネットワークリソースを含む、得ることと、
ネットワークコンピューティングプロバイダによって、1つ以上のコンテンツプロバイダからネットワークリソースおよび1つ以上の埋め込みリソースを得ることと、
ネットワークコンピューティングプロバイダによって、ネットワークリソースおよび1つ以上の埋め込みリソースを処理して、要求されたコンテンツの表現と関連付けられた処理結果を生成することと、
ネットワークコンピューティングプロバイダによって、要求されたコンテンツの表現の表示のために、処理結果をクライアントコンピューティングデバイスに伝送することと、
ネットワークコンピューティングプロバイダによって、ネットワークリソースおよび1つ以上の埋め込みリソースを処理して、履歴上のブラウズストレージコンポーネントにおけるストレージのために、履歴上のコンテンツ表現を生成することと、
ネットワークコンピューティングプロバイダによって、ストレージのために、履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに伝送することと、
ネットワークコンピューティングプロバイダによって、ネットワークリソースを処理して、1つ以上のネットワークリソース識別子を得ることであって、1つ以上のネットワークリソース識別子のそれぞれが、参照されたネットワークリソースと関連付けられる、得ることと、
ネットワークコンピューティングプロバイダによって、1つ以上のネットワークリソース識別子のそれぞれに対応する1つ以上の参照されたネットワークリソースを得ることと、
ネットワークコンピューティングプロバイダによって、1つ以上の参照されたネットワークリソースを処理して、履歴上のブラウズストレージコンポーネントにおけるストレージのために、1つ以上の履歴上のコンテンツ表現を生成することと、
ネットワークコンピューティングプロバイダによって、ストレージのために、1つ以上の履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに伝送することと、を含む、コンピュータ実装方法。
付記28.複数のレベルの参照されたネットワークコンテンツを得ることを更に含み、それぞれのレベルの参照されたネットワークコンテンツが、先行するレベルの参照されたネットワークコンテンツによって参照されるネットワークコンテンツを含む、付記27に記載のコンピュータ実装方法。
付記29.1つ以上の履歴上のコンテンツ表現が、得られた複数のレベルの参照されたネットワークコンテンツからのネットワークコンテンツの少なくとも1つの表現に対応する少なくとも1つの履歴上のコンテンツ表現を含む、付記28に記載のコンピュータ実装方法。
付記30.第1レベルの参照されたネットワークコンテンツが、1つ以上の参照されたネットワークリソースを含む、付記28に記載のコンピュータ実装方法。
付記31.遠隔ブラウズストレージのためのシステムであって、
1つ以上のコンピュータプロセッサと、
1つ以上のコンピュータプロセッサのうちの少なくとも1つによってアクセス可能な少なくとも1つのコンピュータメモリと、
1つ以上のコンピュータプロセッサによって実行される実行可能なソフトウェアモジュールを備える、ネットワークコンピューティングコンポーネントと、を備え、ネットワークコンピューティングコンポーネントが、
クライアントコンピューティングデバイスから第1のネットワークコンテンツのための要求を得ることであって、第1のネットワークコンテンツが、第1の参照されたネットワークコンテンツの1つ以上のコンテンツ識別子を含む、得ることと、
1つ以上の履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに伝送することであって、1つ以上の履歴上のコンテンツ表現が、第1の参照されたネットワークコンテンツの1つ以上の表現に対応する、伝送することと、
処理結果をクライアントコンピューティングデバイスに伝送することであって、処理結果が、クライアントコンピューティングデバイスで表示されるべき第1のネットワークコンテンツの表現に対応する、伝送することと、を行うように動作可能である、システム。
付記32.第1の参照されたネットワークコンテンツが、第2の参照されたネットワークコンテンツの1つ以上のコンテンツ識別子を含む、付記31に記載のシステム。
付記33.1つ以上の履歴上のコンテンツ表現が、第2の参照されたネットワークコンテンツの少なくとも1つの表現に対応する少なくとも1つの履歴上のコンテンツ表現を含む、付記32に記載のシステム。
付記34.ネットワークコンピューティングコンポーネントが、複数のレベルの参照されたネットワークコンテンツを得るように構成され、それぞれのレベルの参照されたネットワークコンテンツが、先行するレベルの参照されたネットワークコンテンツによって参照されるネットワークコンテンツを含む、付記31に記載のシステム。
付記35.1つ以上の履歴上のコンテンツ表現が、得られた複数のレベルの参照されたネットワークコンテンツからのネットワークコンテンツの少なくとも1つの表現に対応する少なくとも1つの履歴上のコンテンツ表現を含む、付記34に記載のシステム。
付記36.第1レベルの参照されたネットワークコンテンツが、第1の参照されたネットワークコンテンツを含む、付記34に記載のシステム。
付記37.第1のネットワークコンテンツおよび第1の参照されたネットワークコンテンツのうちの少なくとも1つの1つ以上の表現が、第1の参照されたネットワークコンテンツのうちの少なくともいくつかの表現を除外する、付記31に記載のシステム。
付記38.第1のネットワークコンテンツおよび第1の参照されたネットワークコンテンツのうちの少なくとも1つの1つ以上の表現が、特定のテキストのセグメント、特定の種類のコンテンツ、特定のコンテンツのトピック、修正された特定の日付、または特定のメタデータのうちの少なくとも1つを含むネットワークコンテンツの表現を除外する、付記37に記載のシステム。
付記39.ネットワークコンピューティングコンポーネントが、履歴上のコンテンツフィルタコンポーネントによって提供される情報に基づいて、除外するべき第1のネットワークコンテンツおよび第1の参照されたネットワークコンテンツのうちの少なくとも1つの表現を決定するように動作可能である、付記37に記載のシステム。
付記40.遠隔ブラウズストレージのためのコンピュータ実装方法であって、
ネットワークコンピューティングプロバイダによって、クライアントコンピューティングデバイスから第1のネットワークコンテンツのための要求を得ることであって、第1のネットワークコンテンツが、第1の参照されたネットワークコンテンツの1つ以上のコンテンツ識別子を含む、得ることと、
ネットワークコンピューティングプロバイダによって、1つ以上の履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに伝送することであって、1つ以上の履歴上のコンテンツ表現が、第1の参照されたネットワークコンテンツの1つ以上の表現に対応する、伝送することと、
ネットワークコンピューティングプロバイダによって、処理結果をクライアントコンピューティングデバイスに伝送することであって、処理結果が、クライアントコンピューティングデバイスで表示されるべき第1のネットワークコンテンツの表現に対応する、伝送することと、を含む、コンピュータ実装方法。
付記41.第1の参照されたネットワークコンテンツが、第2の参照されたネットワークコンテンツの1つ以上のコンテンツ識別子を含む、付記40に記載のコンピュータ実装方法。
付記42.1つ以上の履歴上のコンテンツ表現が、第2の参照されたネットワークコンテンツの少なくとも1つの表現に対応する少なくとも1つの履歴上のコンテンツ表現を含む、付記41に記載のコンピュータ実装方法。
付記43.ネットワークコンピューティングコンポーネントが、複数のレベルの参照されたネットワークコンテンツを得るように構成され、それぞれのレベルの参照されたネットワークコンテンツが、先行するレベルの参照されたネットワークコンテンツによって参照されるネットワークコンテンツを含む、付記40に記載のコンピュータ実装方法。
付記44.1つ以上の履歴上のコンテンツ表現が、得られた複数のレベルの参照されたネットワークコンテンツからのネットワークコンテンツの少なくとも1つの表現に対応する少なくとも1つの履歴上のコンテンツ表現を含む、付記43に記載のコンピュータ実装方法。
付記45.第1レベルの参照されたネットワークコンテンツが、第1の参照されたネットワークコンテンツを含む、付記43に記載のコンピュータ実装方法。
付記46.第1のネットワークコンテンツおよび第1の参照されたネットワークコンテンツのうちの少なくとも1つの1つ以上の表現が、第1の参照されたネットワークコンテンツのうちの少なくともいくつかの表現を除外する、付記40に記載のコンピュータ実装方法。
付記47.第1のネットワークコンテンツまたは第1の参照されたネットワークコンテンツの1つ以上の表現が、特定のテキストのセグメント、特定の種類のコンテンツ、特定のコンテンツのトピック、修正された特定の日付、または特定のメタデータを含むネットワークコンテンツの表現を除外する、付記46に記載のコンピュータ実装方法。
付記48.履歴上のコンテンツフィルタコンポーネントによって提供される情報に基づいて、除外するべき第1のネットワークコンテンツおよび第1の参照されたネットワークコンテンツのうちの少なくとも1つの表現を決定することを更に含む、付記47に記載のシステム。
付記49。命令を上に記憶させた非一時的なコンピュータストレージであって、コンピュータシステムによって実行されるとき、コンピュータシステムに、
クライアントコンピューティングデバイスから第1のネットワークコンテンツのための要求を得ることであって、第1のネットワークコンテンツが、第1の参照されたネットワークコンテンツの1つ以上のコンテンツ識別子を含む、得ることと、
1つ以上の履歴上のコンテンツ表現を履歴上のブラウズストレージコンポーネントに伝送することであって、1つ以上の履歴上のコンテンツ表現が、第1の参照されたネットワークコンテンツの1つ以上の表現に対応する、伝送することと、
処理結果をクライアントコンピューティングデバイスに伝送することであって、処理結果が、クライアントコンピューティングデバイスで表示されるべき第1のネットワークコンテンツの表現に対応する、伝送することと、を含む、動作を行わせる、非一時的なコンピュータストレージ。
付記50.命令が、コンピュータシステムに、複数のレベルの参照されたネットワークコンテンツを得させ、それぞれのレベルの参照されたネットワークコンテンツが、先行するレベルの参照されたネットワークコンテンツによって参照されるネットワークコンテンツを含む、付記49に記載の非一時的なコンピュータストレージ。
付記51.1つ以上の履歴上のコンテンツ表現が、得られた複数のレベルの参照されたネットワークコンテンツからのネットワークコンテンツの少なくとも1つの表現に対応する少なくとも1つの履歴上のコンテンツ表現を含む、付記50に記載の非一時的なコンピュータストレージ。
付記52.第1レベルの参照されたネットワークコンテンツが、第1の参照されたネットワークコンテンツを含む、付記50に記載の非一時的なコンピュータストレージ。
付記53.前記第1のネットワークコンテンツおよび第1の参照されたネットワークコンテンツのうちの少なくとも1つの1つ以上の表現が、第1の参照されたネットワークコンテンツのうちの少なくともいくつかの表現を除外する、付記49に記載の非一時的なコンピュータストレージ。
付記54.ブラウズキャッシュ管理のためのコンピュータ実装方法であって、
履歴上のブラウズストレージコンポーネントにおいて、ネットワークコンピューティングおよびストレージプロバイダから第1の履歴上のコンテンツ表現を得ることであって、第1の履歴上のコンテンツ表現が、クライアントコンピューティングデバイスによって要求されたコンテンツの第1の表現と関連付けられ、クライアントコンピューティングによって要求されたコンテンツの第2の表現が、クライアントコンピューティングデバイスで表示される、得ることと、
履歴上のブラウズストレージコンポーネントにおいて、ネットワークコンピューティングおよびストレージプロバイダから1つ以上の履歴上のコンテンツ表現を得ることであって、履歴上のコンテンツ表現が、クライアントコンピューティングデバイスによって要求されたコンテンツによって参照されるコンテンツの表現と関連付けられ、クライアントコンピューティングデバイスによって要求されたコンテンツによって参照されるコンテンツが、クライアントコンピューティングデバイスで表示されたことがない、得ることと、
履歴上のブラウズストレージコンポーネントにおいて、クライアントコンピューティングデバイスから検索要求を得ることであって、クライアントコンピューティングデバイスからの検索要求が、1つ以上の検索語と関連付けられ、1つ以上の検索語のうちの少なくとも1つが、検索を、クライアントコンピューティングデバイスで表示されたことがないコンテンツに限定する、得ることと、
クライアントコンピューティングデバイスに、検索語に基づいて検索結果を提供することであって、検索結果が、検索語に基づいて、クライアントコンピューティングデバイスによって要求されたコンテンツによって参照されるコンテンツの表現と関連付けられた1つ以上の履歴上のコンテンツ表現のうちの少なくとも1つを含み、検索結果が、第1の履歴上のコンテンツ表現を除外する、提供することと、を含む、コンピュータ実装方法。
付記55.要求されたコンテンツが、ウェブページを含む、付記54に記載のコンピュータ実装方法。
付記56.検索語が、テキストのセグメント、日付、コンテンツの種類、ブラウズセッション識別子、ユーザ識別子、ブラウザ識別子、クライアントコンピューティングデバイス識別子、ストレージ位置、またはタグを含む、付記54に記載のコンピュータ実装方法。
付記57.履歴上のブラウズストレージコンポーネントが、ネットワークコンピューティングおよびストレージプロバイダと関連付けられる、付記54に記載のコンピュータ実装方法。
付記58.クライアントコンピューティングデバイスによって要求されたコンテンツによって参照されるコンテンツが、クライアントコンピューティングデバイスによって要求されたコンテンツによって直接参照される、および間接的に参照されるもののうちの少なくとも1つである、付記54に記載のコンピュータ実装方法。
付記59.1つ以上の検索語のうちの少なくとも1つが、クライアントコンピューティングデバイスによって要求されたコンテンツからの最大数の間接的参照を含む、付記58に記載のコンピュータ実装方法。
付記60.1つ以上の検索語のうちの少なくとも1つが、第1の履歴上のコンテンツ表現と関連付けられた識別子を含む、付記54に記載のコンピュータ実装方法。
付記61.ブラウズキャッシュ管理のためのシステムであって、
1つ以上のコンピュータプロセッサと、
1つ以上のコンピュータプロセッサのうちの少なくとも1つによってアクセス可能な少なくとも1つのコンピュータメモリと、
1つ以上のコンピュータプロセッサによって実行される実行可能なソフトウェアモジュールを備える、ネットワークコンピューティングコンポーネントと、を備え、ネットワークコンピューティングコンポーネントが、1つ以上の履歴上のコンテンツ表現をクライアントコンピューティングデバイスに提供するように動作可能であり、1つ以上の履歴上のコンテンツ表現が、クライアントコンピューティングデバイスによって要求されたコンテンツによって参照されるコンテンツの表現と関連付けられ、1つ以上の履歴上のコンテンツ表現が、クライアントコンピューティングデバイスによって前にアクセスされていないコンテンツに対応する、システム。
付記62.ネットワークコンピューティングコンポーネントが、クライアントコンピューティングデバイスから検索要求を得るように動作可能であり、検索要求が、クライアントコンピューティングデバイスによって要求されたコンテンツによって参照されるコンテンツのための要求を含む、付記61に記載のシステム。
付記63.検索要求が、テキストのセグメント、日付、コンテンツの種類、ブラウズセッション識別子、ユーザ識別子、ブラウザ識別子、クライアントコンピューティングデバイス識別子、ストレージ位置、またはタグを含む、付記62に記載のシステム。
付記64.クライアントコンピューティングデバイスによって要求されたコンテンツによって参照されるコンテンツが、クライアントコンピューティングデバイスによって要求されたコンテンツによって直接参照される、および間接的に参照されるもののうちの少なくとも1つである、付記62に記載のシステム。
付記65.検索要求が、クライアントコンピューティングデバイスによって要求されたコンテンツからの最大数の間接的参照を含む、付記64に記載のシステム。
付記66.検索要求が、第1の履歴上のコンテンツ表現と関連付けられた識別子を含む、付記62に記載のシステム。
付記67.1つ以上の履歴上のコンテンツ表現が、クライアントコンピューティングデバイスで前に表示されたコンテンツの表現を除外する、付記61に記載のシステム。
付記68.ネットワークコンピューティングコンポーネントが、第1の履歴上のコンテンツ表現と関連付けられた1つ以上の履歴上のコンテンツ表現を、クライアントコンピューティングデバイスに提供するように更に動作可能である、付記61に記載のシステム。
付記69.ネットワークコンピューティングコンポーネントが、履歴上のコンテンツ表現からクライアントコンピューティングデバイスによって前に要求されたコンテンツの表現を除外するように更に動作可能である、付記61に記載のシステム。
付記70.ブラウズキャッシュ管理のためのコンピュータ実装方法であって、
履歴上のブラウズストレージコンポーネントにおいて、1つ以上の履歴上のコンテンツ表現をクライアントコンピューティングデバイスに提供する、ブラウズストレージコンポーネントを含み、1つ以上の履歴上のコンテンツ表現が、クライアントコンピューティングデバイスによって要求されたコンテンツによって参照されるコンテンツの表現と関連付けられ、1つ以上の履歴上のコンテンツ表現が、クライアントコンピューティングデバイスによって前にアクセスされていないコンテンツに対応する、コンピュータ実装方法。
付記71.クライアントコンピューティングデバイスから検索要求を得ることを更に含み、検索要求が、クライアントコンピューティングデバイスによって要求されたコンテンツによって参照されるコンテンツのための要求を含む、付記70に記載のコンピュータ実装方法。
付記72.検索要求が、テキストのセグメント、日付、コンテンツの種類、ブラウズセッション識別子、ユーザ識別子、ブラウザ識別子、クライアントコンピューティングデバイス識別子、ストレージ位置、またはタグを含む、付記71に記載のコンピュータ実装方法。
付記73.検索要求が、クライアントコンピューティングデバイスによって要求されたコンテンツからの最大数の間接的参照を含む、付記71に記載のコンピュータ実装方法。
付記74.検索要求が、第1の履歴上のコンテンツ表現と関連付けられた識別子を含む、付記71に記載のコンピュータ実装方法。
付記75.第1の履歴上のコンテンツ表現と関連付けられた1つ以上の履歴上のコンテンツ表現を、クライアントコンピューティングデバイスに提供することを更に含む、付記74に記載のコンピュータ実装方法。
付記76.クライアントコンピューティングデバイスによって前に要求された1つ以上の履歴上のコンテンツ表現からのコンテンツ表現を除外することを更に含む、付記70に記載のコンピュータ実装方法。
付記77.クライアントコンピューティングデバイスによって要求されたコンテンツによって参照されるコンテンツが、クライアントコンピューティングデバイスによって要求されたコンテンツによって直接参照される、および間接的に参照されるもののうちの少なくとも1つである、付記70に記載のコンピュータ実装方法。
付記78.前記1つ以上の履歴上のコンテンツ表現が、クライアントコンピューティングデバイスで前に表示されたコンテンツの表現を除外する、付記70に記載のコンピュータ実装方法。
付記79.コンピュータ実装方法であって、
ネットワークコンピューティングプロバイダから履歴上のコンテンツ表現を得ることであって、履歴上のコンテンツ表現が、クライアントコンピューティングデバイスによって前に要求されたコンテンツの表現と関連付けられ、コンテンツの履歴上の表現が、クライアントコンピューティングデバイスによって前に要求されたコンテンツの表現と関連付けられた履歴上のナビゲーションパスに対応する情報を含む、得ることと、
クライアントコンピューティングデバイスから検索要求を得ることであって、クライアントコンピューティングデバイスからの検索要求が、1つ以上の検索語と関連付けられる、得ることと、
検索語に基づいて検索結果を提供することであって、検索結果が、少なくとも第1の履歴上のコンテンツ表現を含む、提供することと、を含む、コンピュータ実装方法。
付記80.要求されたコンテンツが、ウェブページを含む、付記79に記載のコンピュータ実装方法。
付記81.検索語が、テキストのセグメント、日付、コンテンツの種類、ブラウズセッション識別子、ユーザ識別子、ブラウザ識別子、クライアントコンピューティングデバイス識別子、またはタグを含む、付記79に記載のコンピュータ実装方法。
付記82.クライアントコンピューティングデバイスによって前に要求されたコンテンツの第2の表現が、クライアントコンピューティングデバイスで表示される、付記79に記載のコンピュータ実装方法。
付記83.クライアントコンピューティングによって前に要求されたコンテンツの表現と関連付けられた履歴上のナビゲーションパスに対応する情報が、クライアントコンピューティングデバイスによってアクセスされる参照またはクライアントコンピューティングデバイスによってアクセスされる参照を含むネットワークリソースと関連付けられた情報を含む、付記79に記載のコンピュータ実装方法。
付記84.検索結果が、クライアントコンピューティングデバイスによるコンテンツのための要求と関連付けられた履歴上のナビゲーションパスに含まれるコンテンツに対応する、付記79に記載のコンピュータ実装方法。
付記85.コンテンツを管理するためのシステムであって、
1つ以上のコンピュータプロセッサと、
1つ以上のコンピュータプロセッサのうちの少なくとも1つによってアクセス可能な少なくとも1つのコンピュータメモリと、
1つ以上のコンピュータプロセッサによって実行される実行可能なソフトウェアモジュールを備える、ネットワークコンピューティングコンポーネントと、を備え、ネットワークコンピューティングコンポーネントが、
クライアントコンピューティングデバイスから検索要求を得ることであって、クライアントコンピューティングデバイスからの検索要求が、1つ以上の検索語と関連付けられる、得ることと、
1つ以上の履歴上のコンテンツ表現に対応する検索結果を、クライアントコンピューティングデバイスに提供することであって、1つ以上の履歴上のコンテンツ表現のそれぞれが、1つ以上の履歴上のコンテンツ表現の個々のそれぞれと関連付けられた履歴上のナビゲーションパスに対応する情報を含む、提供することと、を行うように動作可能である、システム。
付記86.1つ以上の履歴上のコンテンツ表現の個々のそれぞれと関連付けられた履歴上のナビゲーションパスに対応する情報が、履歴上のコンテンツ表現に対応するコンテンツにアクセスするためにクライアントコンピューティングデバイスによって従われる参照、およびクライアントコンピューティングデバイスによって従われる参照を含むネットワークリソースのうちの少なくとも1つを識別する識別子を含む、付記85に記載のシステム。
付記87.検索結果が、現在のネットワークコンテンツに対応する検索結果を含む、付記85に記載のシステム。
付記88.1つ以上の履歴上のコンテンツ表現が、第1の履歴上のコンテンツ表現と関連付けられた履歴上のナビゲーションパスに含まれるコンテンツに対応する、付記85に記載のシステム。
付記89.第1の履歴上のコンテンツ表現と関連付けられた履歴上のナビゲーションパスに含まれるコンテンツが、第1の履歴上のコンテンツ表現の後に履歴上のナビゲーションパスに含まれるコンテンツを含む、付記88に記載のシステム。
付記90.前記1つ以上の履歴上のコンテンツ表現が、第1のネットワークリソースの1つ以上の履歴バージョンに対応する、付記85に記載のシステム。
付記91.ネットワークコンピューティングコンポーネントが、クライアントコンピューティングデバイスからの検索要求に基づいて、検索結果を決定するように更に動作可能である、付記85に記載のシステム。
付記92.ネットワークコンピューティングコンポーネントが、テキストのセグメント、日付、コンテンツの種類、ブラウズセッション識別子、ユーザ識別子、ブラウザ識別子、クライアントコンピューティングデバイス識別子、およびタグのうちの少なくとも1つに部分的に基づいて、検索結果を決定するように更に動作可能である、付記91に記載のシステム。
付記93.ネットワークコンピューティングコンポーネントが、1つ以上の履歴上のコンテンツ表現のそれぞれの色合成に少なくとも部分的に基づいて、検索結果を決定するように更に動作可能である、付記91に記載のシステム。
付記94.ネットワークコンピューティングコンポーネントが、それぞれの1つ以上の履歴上のコンテンツ表現に対応するコンテンツが要求された回数に少なくとも部分的に基づいて、検索結果を決定するように更に動作可能である、付記91に記載のシステム。
付記95.ネットワークコンピューティングコンポーネントが、それぞれの1つ以上の履歴上のコンテンツ表現に対応するコンテンツを閲覧するのに費やした時間の量に少なくとも部分的に基づいて、検索結果を決定するように更に動作可能である、付記91に記載のシステム。
付記96.コンテンツを管理するためのコンピュータ実装方法であって、
クライアントコンピューティングデバイスから検索要求を得ることであって、クライアントコンピューティングデバイスからの検索要求が、1つ以上の検索語と関連付けられる、得ることと、
1つ以上の履歴上のコンテンツ表現に対応する検索結果を、クライアントコンピューティングデバイスに提供することであって、1つ以上の履歴上のコンテンツ表現のそれぞれが、前記1つ以上の履歴上のコンテンツ表現の個々のそれぞれと関連付けられた履歴上のナビゲーションパスに対応する情報を含む、提供することと、を含む、コンピュータ実装方法。
付記97.前記1つ以上の履歴上のコンテンツ表現の個々のそれぞれと関連付けられた履歴上のナビゲーションパスに対応する情報が、履歴上のコンテンツ表現に対応するコンテンツにアクセスするためにクライアントコンピューティングデバイスによって従われる参照、およびクライアントコンピューティングデバイスによって従われる参照を含むネットワークリソースのうちの少なくとも1つを識別する識別子を含む、付記96に記載のコンピュータ実装方法。
付記98.検索結果が、現在のネットワークコンテンツに対応する検索結果を含む、付記96に記載のコンピュータ実装方法。
付記99.前記1つ以上の履歴上のコンテンツ表現が、第1の履歴上のコンテンツ表現と関連付けられた履歴上のナビゲーションパスに含まれるコンテンツに対応する、付記96に記載のコンピュータ実装方法。
付記100.第1の履歴上のコンテンツ表現と関連付けられた履歴上のナビゲーションパスに含まれるコンテンツが、第1の履歴上のコンテンツ表現の前に履歴上のナビゲーションパスに含まれるコンテンツを含む、付記99に記載のコンピュータ実装方法。
付記101.前記1つ以上の履歴上のコンテンツ表現が、第1のネットワークリソースの1つ以上の履歴バージョンに対応する、付記96に記載のコンピュータ実装方法。
付記102.第1の広告と1つ以上の履歴上のコンテンツ表現のそれぞれとの間の関連付けに少なくとも部分的に基づいて、検索結果を決定することを更に含む、付記96に記載のコンピュータ実装方法。
付記103.それぞれの1つ以上の履歴上のコンテンツ表現に対応するコンテンツのための要求と関連付けられた、物理的位置および論理的位置のうちの少なくとも1つに少なくとも部分的に基づいて、検索結果を決定することを更に含む、付記96に記載のコンピュータ実装方法。
付記104.それぞれの1つ以上の履歴上のコンテンツ表現に対応するコンテンツが要求された回数に少なくとも部分的に基づいて、検索結果を決定することを更に含む、付記96に記載のコンピュータ実装方法。
付記105.クライアントコンピューティングデバイスおよびユーザと関連付けられたクライアントコンピューティングデバイスのうちの少なくとも1つによって、それぞれの前記1つ以上の履歴上のコンテンツ表現に対応するコンテンツが要求された回数に少なくとも部分的に基づいて、検索結果を決定することを更に含む、付記104に記載のコンピュータ実装方法。
付記106.クライアントコンピューティングデバイスと関連付けられていないユーザによって、それぞれの前記1つ以上の履歴上のコンテンツ表現に対応するコンテンツが要求された回数に少なくとも部分的に基づいて、検索結果を決定することを更に含む、付記104に記載のコンピュータ実装方法。
付記107.それぞれの前記1つ以上の履歴上のコンテンツ表現に対応するコンテンツを閲覧するのに費やした時間の量に少なくとも部分的に基づいて、検索結果を決定することを更に含む、付記96に記載のコンピュータ実装方法。
例示的な実施形態が開示され、論じられているが、当業者であれば、追加または代替の実施形態が本発明の趣旨および範囲内で実現されてもよいことを理解するであろう。例えば、本明細書に記載される技法は、画像もしくはビデオ編集ソフトウェア、データベースソフトウェア、事務所生産性ソフトウェア、3次元デザインソフトウェア、オーディオおよびサウンド処理アプリケーション等を含むが、これらに限定されない、任意の数の他のソフトウェアアプリケーションおよび処理において遠隔処理管理を可能にするために、本発明の範囲を逸脱することなく利用され得る。加えて、多くの実施形態は、例示的なものとして示されているが、当業者であれば、例示的な実施形態が一緒に組み合わされたり、または実現される必要がないことを理解するであろう。したがって、いくつかの例示的な実施形態は、本開示への変形形態の範囲に従って利用または実現される必要はない。
とりわけ、「できる」、「できるであろう」、「してもよいであろう」、または「してもよい」等の条件的語法は、特定的にに別途記述されるか、または使用される文脈内で別途理解されない限り、一般的に、ある特定の実施形態がある特定の特徴、要素、および/またはステップを含む一方で、他の実施形態がそれらを含まないことを伝達するように意図される。したがって、そのような条件的語法は、一般的に、特徴、要素、および/またはステップが1つ以上の実施形態にいずれの方式でも必要とされること、あるいは1つ以上の実施形態が、ユーザ入力またはプロンプトを用いてまたは用いずに、これらの特徴、要素、および/またはステップが任意の特定の実施形態に含まれるか、またはそれらが任意の特定の実施形態において行われるべきであるかどうかを決定するための論理を必ず含むことを示唆するようには意図されない。
本明細書に記載され、および/または添付された図に図示される流れ図の任意の処理の説明、要素、またはブロックは、処理における具体的な論理的機能またはステップを実装するための1つ以上の実行可能な命令を含む、モジュール、セグメント、またはコードの一部を可能性のあるものとして表すものとして理解されるべきである。当業者によって理解されるであろうが、関与する機能性に応じて、要素または機能が削除され、実質的に同時にまたは逆の順序を含めて、示されるまたは論じられる順序から外れた順序で実行され得る、代替の実装形態が、本明細書に記載される実施形態の範囲内に含まれる。上述のデータおよび/またはコンポーネントは、CD−ROM、DVD−ROM、または更にネットワークインターフェース等のコンピュータ実行可能コンポーネントを格納する、コンピュータ可読と関連付けられたドライブ機構を使用して、コンピュータ可読媒体上に記憶され、コンピューティングデバイスのメモリに読み込まれてもよく、コンポーネントおよび/またはデータは、単一のデバイス内に含まれるか、または任意の様式で分散され得ることが、更に理解されるであろう。したがって、汎用コンピューティングデバイスは、上述の様々なデータおよび/またはコンポーネントの処理および/または実行と共に、本開示の処理、アルゴリズム、および手法を実現するように構成されてもよい。
多くの変形形態および改変形態が上述の実施形態に対して行われてもよく、それらの要素が他の許容される実施例のうちにあるものとして理解されるべきであることが強調されるべきである。全てのそのような改変形態および変形形態は、本明細書において本開示の範囲内に含まれ、以下の特許請求の範囲によって保護されることが意図される。