(57)【特許請求の範囲】
【請求項１】
遠隔セッションブラウジングのためのコンピュータ実装方法であって、
１つまたは複数のサーバコンピューティングデバイスを具えるネットワークコンピューティングプロバイダにて実行される際、
前記方法は、前記ネットワークコンピューティングプロバイダにて実行するサーバ側ブラウザアプリケーションによって、前記サーバ側ブラウザアプリケーションとは別個に、第１のクライアントコンピューティングデバイスにて実行する第１のクライアント側ブラウザアプリケーションから、第１の持続的ブラウジングコンテキストのための要求を取得するステップを含み、前記サーバ側ブラウザアプリケーションは、複数の処理行為を実行し、持続的ブラウジングコンテキストに関連付けられたコンテンツをレンダリングするように構成され、
前記方法は、前記サーバ側ブラウザアプリケーションによって、前記複数の処理行為の少なくとも一部を実行し、前記第１の持続的ブラウジングコンテキストに関連付けられたコンテンツをレンダリングすることによって第１の処理結果を生成するステップを含み、
前記方法は、前記ネットワークコンピューティングプロバイダによって、前記第１の処理結果を、前記第１のクライアントコンピューティングデバイスに提供するステップを含み、前記第１の処理結果が、前記第１の持続的ブラウジングコンテキストに応答したコンテンツの第１の表現に対応し、
前記方法は、前記ネットワークコンピューティングプロバイダにて実行する前記サーバ側ブラウザアプリケーションによって、前記第１クライアント側ブラウザアプリケーションとは別個に、第２のクライアントコンピューティングデバイスにて実行する第２のクライアント側ブラウザアプリケーションによる、第２の持続的ブラウジングコンテキストにアクセスする要求を取得するステップを含み、前記第１および第２のクライアントコンピューティングデバイスは別個であり、前記第１および第２の持続的コンテキストが、同一であり、
前記方法は、前記サーバ側ブラウザアプリケーションによって、前記複数の処理行為の少なくとも一部を実行し、前記第２の持続的ブラウジングコンテキストに関連付けられたコンテンツをレンダリングすることによって第２の処理結果を生成するステップを含み、
前記方法は、前記ネットワークコンピューティングプロバイダによって、前記第２の処理結果を、前記第２のクライアントコンピューティングデバイスに提供するステップを含み、前記第２の処理結果が、前記第２の持続的ブラウジングコンテキストに関連付けられた前記コンテンツの第２の表現に対応する、
コンピュータ実装方法。
【請求項２】
前記第１のクライアント側ブラウザアプリケーションによって要求される前記コンテンツの前記第１の表現が、前記第１のクライアント側ブラウザアプリケーションによって要求される前記コンテンツの１つ以上の状態に対応する、
請求項１に記載のコンピュータ実装方法。
【請求項３】
前記第２のクライアント側ブラウザアプリケーションによって要求される前記コンテンツの前記第２の表現が、前記第１のクライアント側ブラウザアプリケーションによって要求される前記コンテンツの前記１つ以上の状態に対応する、
請求項２に記載のコンピュータ実装方法。
【請求項４】
前記ネットワークコンピューティングプロバイダにて実行する前記サーバ側ブラウザアプリケーションによって、第３のクライアントコンピューティングデバイスにて実行する第３のクライアント側ブラウザアプリケーションによる、第３の持続的ブラウジングコンテキストのための要求を取得するステップと、
前記ネットワークコンピューティングプロバイダによって、第３の処理結果を、前記第３のクライアントコンピューティングデバイスに提供するステップと、
をさらに含み、
前記第３の処理結果が、前記第３のクライアント側ブラウザアプリケーションによって要求されるコンテンツの第３の表現に対応する、
請求項１に記載のコンピュータ実装方法。
【請求項５】
前記第１の持続的ブラウジングコンテキストを複製して、前記第３の持続的ブラウジングコンテキストを生成するステップをさらに含み、
前記第３の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現とのユーザ対話が、前記第１の持続的ブラウジングコンテキストを修正しない、
請求項４に記載のコンピュータ実装方法。
【請求項６】
前記第１の持続的ブラウジングコンテキストおよび前記第２の持続的ブラウジングコンテキストが、同一の共有ブラウザ構成情報と関連付けられ、
前記共有ブラウザ構成情報は、前記第１の持続的ブラウジングコンテキストおよび前記第２の持続的ブラウジングコンテキストに共通の、持続的ブラウジングコンテキスト表示選好、ブックマーク情報、ブラウザアプリケーション視覚的外観選好、および、ブラウズ履歴のうちの少なくとも１つを含む、
請求項４に記載のコンピュータ実装方法。
【請求項７】
前記第３のクライアントコンピューティングデバイスが、別個のソフトウェアブラウザアプリケーションウィンドウ、別個のブラウザフレーム、および、別個のブラウザタブのうちの少なくとも１つにおいて、前記要求されたコンテンツの前記第１の表現および前記要求されたコンテンツの前記第３の表現を表示するように構成される、
請求項６に記載のコンピュータ実装方法。
【請求項８】
遠隔セッションブラウジングのためのシステムであって、
１つ以上のコンピュータプロセッサと、
前記１つ以上のコンピュータプロセッサのうちの少なくとも１つによってアクセス可能な少なくとも１つのコンピュータメモリと、
前記１つ以上のコンピュータプロセッサによって実行される実行可能なソフトウェアモジュールを備える、ネットワークコンピューティングコンポーネントと、
を備え、
前記ネットワークコンピューティングコンポーネントは、
複数の処理行為を実行し、持続的ブラウジングコンテキストに関連付けられたコンテンツをレンダリングするように構成されたサーバ側ブラウザアプリケーションを実行するステップと、
前記サーバ側ブラウザアプリケーションとは別個に、第１のクライアントコンピューティングデバイスにて実行する第１のクライアント側ブラウザアプリケーションから、持続的ブラウジングコンテキストのための要求を取得するステップと、
前記サーバ側ブラウザアプリケーションによって、前記複数の処理行為の少なくとも一部を実行し、前記持続的ブラウジングコンテキストに関連付けられたコンテンツをレンダリングすることによって、第１の処理結果を生成するステップと、
を実行可能であり、
前記第１の処理結果が、前記第１のクライアントコンピューティングデバイスにおいて表示するための前記コンテンツの第１の表現に対応し、
前記ネットワークコンピューティングコンポーネントは、
前記サーバ側ブラウザアプリケーションとは別個に、第２のクライアントコンピューティングデバイスにて実行する第２のブラウザアプリケーションから、前記持続的ブラウジングコンテキストにアクセスする要求を取得するステップを実行可能であり、前記第１および第２のクライアントコンピューティングデバイスは別個であり、
前記ネットワークコンピューティングコンポーネントは、
前記サーバ側ブラウザアプリケーションによって、前記複数の処理行為の少なくとも一部を実行し、前記持続的ブラウジングコンテキストに関連付けられた前記コンテンツをレンダリングすることによって、第２の処理結果を生成するステップを実行可能であり、
前記第２の処理結果が、前記第２のクライアントコンピューティングデバイスにおいて表示するための前記コンテンツの第２の表現に対応する、
システム。
【請求項９】
前記持続的ブラウジングコンテキストと関連付けられた前記コンテンツの前記第１の表現が、前記持続的ブラウジングコンテキストと関連付けられた前記コンテンツの１つ以上の状態に対応する、
請求項８に記載のシステム。
【請求項１０】
前記持続的ブラウジングコンテキストと関連付けられた前記コンテンツの前記第２の表現が、前記持続的ブラウジングコンテキストと関連付けられた前記コンテンツの前記１つ以上の状態に対応する、
請求項９に記載のシステム。
【請求項１１】
前記ネットワークコンピューティングコンポーネントは、
第３のクライアントコンピューティングデバイスにて実行する第３のクライアント側ブラウザアプリケーションによる、後続の持続的ブラウジングコンテキストのための要求を取得するステップと、
第３の処理結果を、前記第３のクライアントコンピューティングデバイスに提供するステップと、
を実行可能であり、
前記第３の処理結果が、前記第３のクライアントコンピューティングデバイスによって要求されるコンテンツの第３の表現に対応し、前記第３のクライアントコンピューティングデバイスが、前記要求されたコンテンツの前記第３の表現を表示するように構成される、
請求項８に記載のシステム。
【請求項１２】
前記ネットワークコンピューティングコンポーネントが、前記持続的ブラウジングコンテキストを複製して、前記後続の持続的ブラウジングコンテキストを生成するように更に動作可能である、
請求項１１に記載のシステム。
【請求項１３】
前記後続の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現とのユーザ対話が、前記持続的ブラウジングコンテキストを修正しない、
請求項１２に記載のシステム。
【請求項１４】
前記持続的ブラウジングコンテキストおよび前記後続の持続的ブラウジングコンテキストが、共有ブラウザ構成情報と関連付けられ、
前記共有ブラウザ構成情報は、前記持続的ブラウジングコンテキストおよび前記後続の持続的ブラウジングコンテキストに共通の、持続的ブラウジングコンテキスト表示選好、ブックマーク情報、ブラウザアプリケーション視覚的外観選好、および、ブラウズ履歴のうちの少なくとも１つを含む、
請求項１１に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
一般的に説明されるならば、コンピューティングデバイスおよび通信ネットワークは、情報を交換するために利用され得る。一般的なアプリケーションにおいて、コンピューティングデバイスは、通信ネットワークを介して、別のコンピューティングデバイスからコンテンツを要求し得る。例えば、パーソナルコンピューティングデバイスにおけるユーザは、インターネットを介してサーバコンピューティングデバイスからウェブページを要求するために、ブラウザと典型的に称されるソフトウェアブラウザアプリケーションを利用し得る。そのような実施形態において、ユーザコンピューティングデバイスは、クライアントコンピューティングデバイスと称され得、サーバコンピューティングデバイスは、コンテンツプロバイダと称され得る。一般的に、ユーザは、ソフトウェアブラウザアプリケーションを通じて、同時にまたは順次に、いくつかの要求されたウェブページまたは他のコンテンツを要求し、それを得、それと対話してもよい。
【０００２】
例示的な実施例を参照して、クライアントコンピューティングデバイス上のブラウジング期間の一部として、ユーザは、インターネットを介するコンテンツプロバイダから、またはローカルソースから、１つ以上のウェブページまたは他のコンテンツを要求してもよい。１つの具体的な実施形態において、それぞれのウェブページまたは１つのコンテンツは、ソフトウェアブラウザアプリケーション内の１つ以上のウィンドウまたはタブにおいて表示されるように視覚的に表現されてもよい。例示的に、ユーザは、１つ以上のウェブページまたは他のコンテンツと対話してもよい。例えば、ユーザは、ウェブページ上のフォームにデータを入力しても、ウェブページまたは１つのコンテンツの属性を変更してもよい。ユーザは更に、ブラウジング期間中に、ソフトウェアブラウザアプリケーションにおいてタブまたはウィンドウを開くもしくは閉じても、リンクに従うかあるいは追加のウェブページもしくはコンテンツを要求しても、またはブラウザ、１つ以上のウェブページ、もしくは他のコンテンツの内部状態もしくは提示を修正し得る任意の数の他の活動を行ってもよい。ブラウズセッション中の時点で表示されたコンテンツ、コンテンツ状態、およびブラウザ状態は、ブラウジングコンテキストと称され得る。
【０００３】
一般的に、ソフトウェアブラウザアプリケーションを脱離することは、ブラウジング期間を終了し得、したがって、ブラウジング期間と関連付けられたブラウジングコンテキストが失われることになり得る。例えば、ウェブページに対応する複数の開いたタブと共にブラウザを閉じ、その後、ソフトウェアブラウザアプリケーションの新しいインスタンスを再び開くことは、新しいインスタンスに、デフォルトのウェブページを読み込ませるか、または元のブラウザの開いたタブに対応するウェブページのための新しい要求を送信させ得る。したがって、元のブラウザ内で表示されたウェブページの状態に対して行われる、任意のユーザ対話または変更は、新しいブラウザインスタンスにおいて表示されないであろう。依然として更には、異なるクライアントコンピューティングデバイス上でソフトウェアブラウザアプリケーションを開くユーザは、第１のクライアントコンピューティングデバイス上で開始されたブラウジング期間を継続することが不可能であり得る。
【０００４】
本発明の前述の態様およびそれらに付随する利点の多くは、それらが以下の詳細な説明を参照することによってより良く理解されるのと同様に、添付の図面と併せて読めば、より容易に理解されるであろう。
【図面の簡単な説明】
【０００５】
【図１】いくつかのクライアントコンピューティングデバイス、コンテンツプロバイダ、コンテンツ配信ネットワークサービスプロバイダ、およびネットワークコンピューティングプロバイダを含む、コンテンツ配信環境を例示するブロック図。
【図２】クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの、新しいブラウズセッション要求の生成および処理を例示する、図１のコンテンツ配信環境のブロック図。
【図３】ネットワークコンピューティングプロバイダからコンテンツプロバイダへの、ネットワークリソースのための要求の生成および処理を例示する、図１のコンテンツ配信環境のブロック図。
【図４】ネットワークコンピューティングプロバイダからコンテンツプロバイダおよびコンテンツ配信ネットワークへの、１つ以上の埋め込みリソースに対応する１つ以上の要求の生成および処理を例示する、図１のコンテンツ配信環境のブロック図。
【図５】ネットワークコンピューティングプロバイダとクライアントコンピューティングデバイスとの間のブラウズセッションデータおよびユーザ対話データの生成および処理を例示する、図１のコンテンツ配信環境のブロック図。
【図６】クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの、追加の新しいブラウズセッション要求の生成および処理を例示する、図１のコンテンツ配信環境のブロック図。
【図７】例示的なブラウザインターフェースおよびブラウズセッションコンテンツの表示を図示する、ユーザインターフェースの図。
【図８】一連の処理サブシステムとして例示的なブラウザコンテンツ処理行為を図示する図。
【図９】ネットワークコンピューティングプロバイダによって実装される新しいブラウズセッションルーチンを例示する流れ図。
【図１０】クライアントコンピューティングデバイスによって実装されるクライアントの新しいブラウズセッション対話ルーチンを例示する流れ図。
【図１１】クライアントコンピューティングデバイスによって実装される処理ユーザ対話ルーチンを例示する流れ図。
【図１２】クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの、新しい持続的ブラウジングコンテキスト要求の生成および処理を例示する、図１のコンテンツ配信環境のブロック図。
【図１３】クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの、既存の持続的ブラウジングコンテキストにアクセスする要求の生成および処理を例示する、図１のコンテンツ配信環境のブロック図。
【図１４】クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの、追加の新しい持続的ブラウジングコンテキスト要求の生成および処理を例示する、図１のコンテンツ配信環境のブロック図。
【図１５】例示的なブラウジングコンテキスト選択インターフェースを図示する、ユーザインターフェースの図。
【図１６】クライアントコンピューティングデバイスによって実装されるクライアントの持続的ブラウジングルーチンを例示する流れ図。
【図１７】ネットワークコンピューティングプロバイダによって実装される遠隔の持続的ブラウジングルーチンを例示する流れ図。
【発明を実施するための形態】
【０００６】
一般的に説明されるならば、本開示は、ネットワークコンピューティングプロバイダと連動した、クライアントコンピューティングデバイスとコンテンツプロバイダとの間での遠隔アプリケーションセッションの生成および管理を対象とする。具体的には、本開示の態様は、コンテンツプロバイダとのクライアントコンピューティングデバイスによる新しい持続的ブラウジングコンテキストのための要求に関して記載される。加えて、本開示の態様は、ネットワークコンピューティングプロバイダにおける遠隔の持続的ブラウジングコンテキストの確立に関して記載される。依然として更には、本開示の態様は、クライアントコンピューティングデバイスとネットワークコンピューティングプロバイダとの間の、ブラウザおよびクライアント状態データならびにクライアント対話データの伝送に関して記載される。本開示に記載される実施形態の態様は、例示の目的のために、ソフトウェアブラウジングアプリケーションに関連する持続的ブラウジングコンテキストの管理に焦点を当てているが、当業者であれば、本明細書に開示される技法が任意の数のソフトウェア処理またはアプリケーションに適用されてもよいことを理解するであろう。加えて、本開示は、説明される態様のいずれかの組み合わせを必要とするようには意図されない。更に、本開示の様々な態様は、例示的な実施例および実施形態に関して記載されるが、当業者であれば、開示される実施形態および実施例が限定するものとして解釈されるべきでないことを理解するであろう。
【０００７】
例示的な実施例を参照して、ユーザは、クライアントコンピューティングデバイスに、１つ以上のコンテンツプロバイダによって提供される、コンテンツにアクセスするためのソフトウェアブラウザアプリケーション（以下、「ブラウザ」と称される）を読み込ませてもよい。例示的には、アクセスされるコンテンツは、１つ以上のネットワークリソース（例えばウェブページ）、ならびに画像、ビデオ、オーディオ、テキスト、実行可能なコード、および他のリソース等の埋め込みリソースのコレクションを含んでもよい。一実施形態において、ブラウザは、ツールバー、メニュー、ボタン、または他のユーザインターフェース制御等の１つ以上のローカルインターフェースコンポーネントに加えて、コンテンツ表示区域またはアクセスされたネットワークコンテンツを表示するためのペインを有してもよい。ローカルインターフェースコンポーネントは、クライアントコンピューティングデバイスでローカルに実行するか、または実装されるソフトウェアブラウザアプリケーションもしくは任意の他の処理によって管理および制御されてもよい。例示的に、ユーザインターフェース制御をローカルに管理することは、ユーザによる対話がクライアントコンピューティングデバイス上でローカルに処理されるときに、応答性のユーザインターフェースを可能にし得る。
【０００８】
ブラウザが読み込まれた後、一実施形態において、クライアントコンピューティングデバイスは、持続的ブラウジングコンテキストと関連付けられるべき１つ以上の持続的ブラウジングコンテキスト選好または他のバックグラウンド情報（例えば、ブックマーク、ブラウザ履歴等）を定義または識別する、持続的ブラウジングコンテキスト環境情報を、ネットワークコンピューティングプロバイダと交換してもよい。更なる実施形態において、持続的ブラウジングコンテキスト環境情報は、クライアントコンピューティングデバイスにとってアクセス可能であり得るネットワークコンピューティングプロバイダにおいて、１つ以上の既存の持続的ブラウジングコンテキストを識別する情報を含んでもよい。持続的ブラウジングコンテキスト環境情報の交換の後、その前、またはそれと同時に、クライアントコンピューティングデバイスは、新しい持続的ブラウジングコンテキスト要求をネットワークコンピューティングプロバイダに提供してもよい。持続的ブラウジングコンテキスト要求にサービス提供することが可能なネットワークコンピューティングプロバイダのアドレスまたは位置は、ブラウザにハードコードされてもよく、ユーザによって構成可能であってもよく、ネットワークアドレスサービスから得られてもよく、または任意の他の様式で決定されてもよい。
【０００９】
例示的な実施形態において、クライアントコンピューティングデバイスから受信された持続的ブラウジングコンテキスト要求に応答して、ネットワークコンピューティングプロバイダは、ブラウザソフトウェアアプリケーションをホストするネットワークコンピューティングプロバイダと関連付けられた１つ以上のコンピューティングコンポーネントをインスタンス化するか、またはそれがインスタンス化されるようにしてもよい。例えば、ネットワークコンピューティングプロバイダは、持続的ブラウジングコンテキストを維持することが可能なソフトウェアブラウザアプリケーションを含む、仮想マシンのインスタンスをインスタンス化するか、またはそれがインスタンス化されるようにすることができる。別の例においては、ネットワークコンピューティングプロバイダは、持続的ブラウジングコンテキストを備える様々なコンテンツ、コンテンツ状態、およびブラウザ状態に対応するデータを記憶するためのデータストアをインスタンス化または識別してもよい。
【００１０】
例示的に、クライアントコンピューティングデバイスは、要求されたコンテンツのための１つ以上のソースを識別する情報を含む、１つ以上のコンテンツ要求をネットワークコンピューティングプロバイダに提供してもよい。識別子は、ウェブサイトまたは他のネットワークにアクセス可能な１つのコンテンツ等の、ネットワークリソースのネットワークアドレスの形態である可能性がある。例えば、ユーザは、ＵＲＬ（例えばｈｔｔｐ：／／ｗｗｗ．ｘｙｚｗｅｂｓｉｔｅ．ｃｏｍ）を選択するか、またはそれをブラウザウィンドウに入力して、クライアントコンピューティングデバイスが、選択されたＵＲＬを含む新しいコンテンツのための要求をネットワークコンピューティングプロバイダに伝送するようにしてもよい。
【００１１】
１つ以上のコンテンツ要求に応答して、ネットワークコンピューティングプロバイダは、新しいコンテンツ要求のうちの１つ以上のための新しい遠隔ブラウズセッションを作成してもよい。ネットワークコンピューティングプロバイダは、１つ以上のコンテンツプロバイダ、コンテンツ配信ネットワーク、またはローカルもしくは関連付けられたキャッシュコンポーネントから、識別されたネットワークリソース（複数可）を要求してもよい。例えば、インスタンス化されたネットワークコンピューティングコンポーネント上のブラウザソフトウェアアプリケーションは、一次ネットワークリソースを処理し、次いで、１つ以上の埋め込みリソース識別子（例えば写真、ビデオファイル等）で識別されたコンテンツのための追加のコンテンツ要求を生成することができる。例示的に、他の非ブラウザによるアプリケーションの場合において、ネットワークリソースまたはコンテンツは、当該技術分野において既知の、特定のソフトウェアアプリケーションによってサポートされる、いずれのファイルの種類または形式も含んでもよい。
【００１２】
初期に要求されたコンテンツ（例えば、要求されたネットワークリソースおよび埋め込みリソース）を得た後に、ネットワークコンピューティングプロバイダは、クライアントコンピューティングデバイス上で実行されているブラウザと、コンピューティングおよびストレージプロバイダ上のインスタンス化されたネットワークコンピューティングコンポーネントで実行されているブラウザとの間の、要求されたコンテンツ、ユーザ対話データ、中間処理結果、および他の情報の伝送に使用するための遠隔セッション通信プロトコルを指定する遠隔セッションブラウジング構成を識別してもよい。インスタンス化されたネットワークコンピューティングコンポーネント上のブラウザとクライアントコンピューティングデバイス上のブラウザとの間で交換された情報は、「ブラウザセッション情報」と一般に称され得る。
【００１３】
クライアントコンピューティングデバイスとインスタンス化されたネットワークコンピューティングコンポーネントとの間で情報を伝送するために遠隔セッション通信プロトコルを指定することに加えて、一実施形態において、識別された遠隔セッションブラウジング構成は、要求されたコンテンツ上で実行される１つ以上の処理行為が、クライアントコンピューティングデバイスではなく、またはこれに加えて、ネットワークコンピューティングプロバイダで行われることを指定してもよい。選択された遠隔セッションブラウジング構成により、クライアントコンピューティングデバイスおよびインスタンス化されたネットワークコンピューティングコンポーネントは、処理結果等のブラウザセッション情報（例えば、要求されたコンテンツを表現する状態データまたは表示データ）、ユーザ対話情報、および後続のコンテンツ要求を交換してもよい。クライアントコンピューティングデバイスは、ユーザのために処理結果および他のブラウザセッション情報を表示し、ネットワークコンピューティングプロバイダに提供するためのユーザからの様々な入力および対話を承諾し得る。したがって、いくつかの実施形態において、ユーザは、あたかもユーザが要求されたコンテンツをクライアントコンピューティングデバイスでローカルに処理していたかの場合と同様に、要求されたコンテンツを経験し得る。
【００１４】
持続的ブラウジングコンテキストを確立し、コンテンツを要求した後、ユーザは、クライアントコンピューティングデバイスでブラウジング期間を終了することを選んでもよい。例えば、ユーザは、クライアントコンピューティングデバイス上でブラウザを閉じるもしくは離脱するか、クライアントコンピューティングデバイスの電源を切るか、またはクライアントコンピューティングデバイス上のブラウザで表示されたコンテンツから単に注意をそらしてもよい。例示的に、持続的ブラウジングコンテキストは、ユーザが、クライアントデバイスでブラウザアプリケーションとの対話を終了したかどうかに関わらず、ネットワークコンピューティングプロバイダにおいて維持されてもよい。例えば、ネットワークコンピューティングプロバイダは、ネットワークコンピューティングプロバイダで走っている持続的ブラウジングコンテキストと関連付けられたソフトウェアブラウザアプリケーションの１つ以上のコンポーネントを維持してもよく、持続的ブラウジングコンテキスト状態と関連付けられた情報を記憶してもよく、またはそれらの任意の組み合わせであってもよい。
【００１５】
例示的に、ユーザは、何らかの後の時点で更に、持続的ブラウジングコンテキストと対話することを選んでもよい。例えば、ユーザは、クライアントコンピューティングデバイスでソフトウェアブラウザアプリケーションの新しいインスタンスを開いてもよく、または第２のクライアントコンピューティングデバイス上でソフトウェアブラウザアプリケーションの新しいインスタンスを開き、持続的ブラウジングコンテキストへのアクセスを要求してもよい。したがって、クライアントコンピューティングデバイスは、ネットワークコンピューティングおよびストレージデバイスにおいて維持される持続的ブラウジングコンテキストへのアクセスを要求してもよい。ネットワークコンピューティングおよびストレージデバイスは、持続的ブラウジングコンテキストと関連付けられたブラウザセッション情報（例えば、コンテンツおよび状態と関連付けられた処理結果）を、ブラウザ内の表示のためにクライアントコンピューティングデバイスに提供してもよい。クライアントコンピューティングデバイスのブラウザは、ブラウザセッション情報を処理して、クライアントコンピューティングデバイスでコンテンツの表現を表示してもよい。例示的に、ユーザの観点から、クライアントコンピューティングデバイスで表示されたコンテンツの状態および外観はしたがって、複製であるように見えるか、またはユーザが先のブラウジング期間を終了する前のコンテンツの状態および外観と同様に見える場合がある。
【００１６】
図１は、コンテンツ要求の管理および処理のためのネットワーク化されたコンピューティング環境１００を例示するブロック図である。図１で例示されるように、ネットワーク化されたコンピューティング環境１００は、コンテンツプロバイダ１０４、ＣＤＮサービスプロバイダ１０６、またはネットワークコンピューティングプロバイダ１０７からのコンテンツおよびコンテンツ処理を要求するための、いくつかのクライアントコンピューティングデバイス１０２（クライアントと一般に称される）を含む。例示的な実施形態において、クライアントコンピューティングデバイス１０２は、パーソナルコンピューティングデバイス、ラップトップコンピューティングデバイス、携帯式コンピューティングデバイス、端末コンピューティングデバイス、携帯デバイス（例えば、携帯電話、タブレットコンピューティングデバイス等）無線デバイス、様々な電子デバイスおよび器具等を含む、広範なコンピューティングデバイスに対応することができる。後続の図において、クライアントコンピューティングデバイス１０２は、例示の目的のために、クライアントコンピューティングデバイス１０２Ａおよびクライアントコンピューティングデバイス１０２Ｂとして個々にラベル付けされ得る。それぞれのクライアントコンピューティングデバイス１０２Ａおよび１０２Ｂは、互いにまたは任意の他のクライアントコンピューティングデバイス１０２と同じであっても、それと異なってもよいことが理解されるべきである。更に、例示の目的のために、ここでは２つのクライアントコンピューティングデバイス１０２が図示されるが、任意の数のクライアントコンピューティングデバイス１０２が、開示される対象物と関連付けられて利用されてもよいことが理解されるべきである。例示的な実施形態において、クライアントコンピューティングデバイス１０２は、ワイドエリアネットワークまたはローカルエリアネットワーク等の通信ネットワーク１０８を介する通信を確立するために必要なハードウェアおよびソフトウェアコンポーネントを含む。例えば、クライアントコンピューティングデバイス１０２は、インターネットまたはイントラネットを介する通信を容易にする、ネットワーク化機器およびブラウザソフトウェアアプリケーションを装備されてもよい。クライアントコンピューティングデバイス１０２は、中央処理装置およびアーキテクチャ、メモリ、大容量ストレージ、グラフィック処理ユニット、通信ネットワークの利用可能性および帯域等の、様々なローカルコンピューティングリソースを有してもよい。
【００１７】
ネットワーク化されたコンピューティング環境１００はまた、通信ネットワーク１０８を介して１つ以上のクライアントコンピューティングデバイス１０２または他のサービスプロバイダ（例えば、ＣＤＮサービスプロバイダ１０６、ネットワークコンピューティングプロバイダ１０７等）と通信する、コンテンツプロバイダ１０４も含み得る。図１で例示されるコンテンツプロバイダ１０４は、コンテンツプロバイダと関連付けられた１つ以上のコンピューティングデバイスの論理的関連付けに対応する。具体的には、コンテンツプロバイダ１０４は、クライアントコンピューティングデバイス１０２または他のサービスプロバイダからのコンテンツ（ウェブページ等）のための要求を得て、それを処理するための１つ以上のサーバコンピューティングデバイスに対応する、ウェブサーバコンポーネント１１０を含み得る。コンテンツプロバイダ１０４は、ＣＤＮサービスプロバイダからのネットワークリソースのための要求を得て、それを処理するための１つ以上のコンピューティングデバイスに対応する、元のサーバコンポーネント１１２および関連付けられたストレージコンポーネント１１４を更に含み得る。コンテンツプロバイダ１０４は、ストリーミングコンテンツ要求を処理するためのデータストリーミングサーバ等の、アプリケーションサーバコンピューティングデバイス１１１を依然として更に含み得る。当業者であれば、コンテンツプロバイダ１０４が、コンテンツおよびリソース、ＤＮＳネームサーバ等の管理のための追加のコンピューティングデバイス等の、様々な追加のコンピューティングリソースと関連付けられ得ることを理解するであろう。例えば、図１で例示されないが、コンテンツプロバイダ１０４は、コンテンツプロバイダのドメインに対応するクライアントコンピューティングデバイスのＤＮＳクエリを解決する権限がある、１つ以上のＤＮＳネームサーバコンポーネントと関連付けられ得る。
【００１８】
続けて図１を参照して、ネットワーク化されたコンピューティング環境１００は、通信ネットワーク１０８を介して１つ以上のクライアントコンピューティングデバイス１０２および他のサービスプロバイダと通信する、ＣＤＮサービスプロバイダ１０６を更に含み得る。図１で例示されるＣＤＮサービスプロバイダ１０６は、ＣＤＮサービスプロバイダと関連付けられた１つ以上のコンピューティングデバイスの論理的関連付けに対応する。具体的には、ＣＤＮサービスプロバイダ１０６は、通信ネットワーク１０８上のノードに対応する、いくつかのポイントオブプレゼンス（Ｐｏｉｎｔ  ｏｆ  Ｐｒｅｓｅｎｃｅ（「ＰＯＰ」））位置１１６、１２２、１２８を含み得る。それぞれのＣＤＮ  ＰＯＰ１１６、１２２、１２８は、クライアントコンピュータ１０２からのＤＮＳクエリを解決するためのいくつかのＤＮＳサーバコンピューティングデバイスからなる、ＤＮＳコンポーネント１１８、１２４、１３０を含む。それぞれのＣＤＮ  ＰＯＰ１１６、１２２、１２８はまた、コンテンツプロバイダからのリソースを記憶し、様々な要求リソースを様々なクライアントコンピュータに伝送するためのいくつかのキャッシュサーバコンピューティングデバイスからなる、リソースキャッシュコンポーネント１２０、１２６、１３２も含む。ＤＮＳコンポーネント１１８、１２４、および１３０、ならびにリソースキャッシュコンポーネント１２０、１２６、１３２は、負荷分散または負荷分割ソフトウェア／ハードウェアのコンポーネントを含むが、これらに限定されない、通信を容易にする、追加のソフトウェアおよび／またはハードウェアコンポーネントを更に含んでもよい。
【００１９】
例示的な実施形態において、ＤＮＳコンポーネント１１８、１２４、１３０およびリソースキャッシュコンポーネント１２０、１２６、１３２は、コンポーネントまたはコンポーネントの一部が物理的に別個であるかどうかに関わらず、論理的にグループ化されていると見なされる。加えて、ＣＤＮ  ＰＯＰ１１６、１２２、１２８は、ＣＤＮサービスプロバイダ１０６と論理的と関連付けられたものとして図１で例示されるが、ＣＤＮ  ＰＯＰは、クライアントコンピューティングデバイス１０２の様々な人口統計を最良に機能させる様式で、通信ネットワーク１０８全体に地理的に分散されるであろう。加えて、当業者であれば、ＣＤＮサービスプロバイダ１０６がコンテンツおよびリソースの管理のための追加のコンピューティングデバイス等の、様々な追加のコンピューティングリソースと関連付けられ得ることを理解するであろう。
【００２０】
更に続けて図１を参照して、ネットワーク化されたコンピューティング環境１００はまた、通信ネットワーク１０８を介して１つ以上のクライアントコンピューティングデバイス１０２、ＣＤＮサービスプロバイダ１０６、およびコンテンツプロバイダ１０４と通信する、ネットワークコンピューティングプロバイダ１０７も含み得る。図１で例示されるネットワークコンピューティングプロバイダ１０７はまた、ネットワークコンピューティングプロバイダと関連付けられた、１つ以上のコンピューティングデバイスの論理的関連付けにも対応する。具体的には、ネットワークコンピューティングプロバイダ１０７は、通信ネットワーク１０８上のノードに対応する、いくつかのポイントオブプレゼンス（「ＰＯＰ」）位置１３４、１４２、１４８を含み得る。それぞれのＰＯＰ１３４、１４２、１４８は、仮想マシンのいくつかのインスタンスを介する、データストリーミングアプリケーション等の、アプリケーションをホストするためのネットワークコンピューティングコンポーネント（ＮＣＣ）１３６、１４４、１５０を含み、一般的に、ＮＣＣのインスタンスと称される。当業者であれば、ＮＣＣ１３６、１４４、１５０が、仮想マシンの複数のインスタンスを提供するか、または仮想マシンのインスタンスの作成を動的に引き起こすための、物理的コンピューティングデバイスリソースおよびソフトウェアを含むことを理解するであろう。そのような作成は、クライアントコンピューティングデバイスから等の、特定の要求に基づくことができ、またはＮＣＣは、独力で仮想マシンのインスタンスの動的作成を開始し得る。それぞれのＮＣＣ  ＰＯＰ１３４、１４２、１４８はまた、ＮＣＣ１３６、１４４、１５０のインスタンスによって処理され、様々なクライアントコンピュータ等に送信されるコンテンツプロバイダからのユーザデータ、状態情報、処理要件、履歴使用データ、およびリソースを備えるが、これらに限定されない、ネットワークまたはコンピューティングリソースの配信または処理において使用される任意の種類のデータを記憶するための、いくつかのストレージデバイスからなる、ストレージコンポーネント１４０、１４６、１５２も含む。いくつかの実施形態において、ネットワークコンピューティングプロバイダ１０７は、ネットワークコンピューティングおよびストレージプロバイダとして見なされてもよい。ＮＣＣ１３６、１４４、１５０およびストレージコンポーネント１４０、１４６、１５２は、要求されたアプリケーションをサポートし、および／または情報をＤＮＳネームサーバに提供し、要求ルーティングを容易にする、仮想マシンのインスタンスを選択するための負荷分散または負荷分割のソフトウェア／ハードウェアコンポーネントを含むが、これらに限定されない、通信を容易にする追加のソフトウェアおよび／またはハードウェアコンポーネントを更に含んでもよい。
【００２１】
例示的な実施形態において、ＮＣＣ１３６、１４４、１５０およびストレージコンポーネント１４０、１４６、１５２は、コンポーネントまたはコンポーネントの一部が物理的に別個であるかどうかに関わらず、論理的にグループ化されていると見なされる。例えば、ネットワークコンピューティングプロバイダ１０７は、ＮＣＣおよびストレージコンポーネントを提供するための別個のＰＯＰを維持してもよい。加えて、ＮＣＣ  ＰＯＰ１３４、１４２、１４８は、ネットワークコンピューティングプロバイダ１０７と論理的と関連付けられたものとして図１で例示されるが、ＮＣＣ  ＰＯＰは、クライアントコンピューティングデバイス１０２の様々な人口統計を最良に機能させる様式で、通信ネットワーク１０８全体に地理的に分散されるであろう。加えて、当業者であれば、ネットワークコンピューティングプロバイダ１０７が、コンテンツおよびリソースの管理のための追加のコンピューティングデバイス等の、様々な追加のコンピューティングリソースと関連付けられ得ることを理解するであろう。なおも更に、当業者であれば、ネットワークコンピューティングプロバイダ１０７のコンポーネントおよびＣＤＮサービスプロバイダ１０６のコンポーネントが同じまたは異なるエンティティによって管理され得ることを理解するであろう。
【００２２】
ここで図２〜６を参照して、図１のネットワーク化されたコンピューティング環境１００の様々なコンポーネントの間の対話が例示される。具体的には、図２〜６は、ネットワークコンピューティングプロバイダ１０７を介する、クライアントコンピューティングデバイス１０２とコンテンツプロバイダ１０４との間のコンテンツの交換のためのネットワーク化されたコンピューティング環境１００の様々なコンポーネントの間の対話を例示する。しかしながら、実施例の目的のために、図示は、簡略化されており、したがって、通信を容易にするために使用されるコンポーネントの多くは示されない。当業者であれば、そのようなコンポーネントが利用され得、それに応じて、本開示の趣旨および範囲を逸脱することなく追加の対話が行われることを理解するであろう。
【００２３】
図２を参照して、処理は、クライアントコンピューティングデバイス１０２からネットワークコンピューティングプロバイダ１０７へのブラウズセッション要求を生成および処理することから開始し得る。例示的に、クライアントコンピューティングデバイス１０２は、イベントまたはユーザ要求に応答してネットワークコンテンツを見るためのブラウザを読み込んでもよい。ブラウザが読み込まれた後、ブラウザは、新しいブラウズセッションを要求するために実装されてもよい。クライアントコンピューティングデバイスのユーザの観点から、新しいブラウズセッションのための要求は、要求を１つ以上の対応するコンテンツプロバイダ１０４に伝送するための意図される要求に対応する。例示的に、この要求は、ブラウザ読み込み（例えば、既定または「ホーム」ページのための要求）の結果として自動的に生成されてもよく、またはユーザがリンクに従うか、またはネットワークアドレスをアドレスバーに入力することの結果として生成されてもよい。図２で例示されるように、ブラウズセッション要求は、最初にネットワークコンピューティングプロバイダ１０７に伝送される。例示的な実施形態において、ネットワークコンピューティングプロバイダ１０７は、登録のアプリケーションプログラムインターフェース（「ＡＰＩ」）を利用して、クライアントコンピューティングデバイス１０２からのブラウズセッション要求を承諾する。ブラウズセッション要求は、要求されたネットワークリソースに対応するネットワークアドレス情報を含むことができ、これは、インターネットプロトコル（「ＩＰ」）アドレス、ＵＲＬ、メディアアクセス制御（Ｍｅｄｉａ  Ａｃｃｅｓｓ  制御（「ＭＡＣ」））アドレス等を含むが、これらに限定されない、任意の形態であってもよい。
【００２４】
ブラウズセッション要求の受信後、ネットワークコンピューティングプロバイダ１０７は、ブラウズセッション要求にサービス提供するためのＮＣＣ  ＰＯＰ１４２等の、関連付けられたネットワークコンピューティングコンポーネント（以下、「ＮＣＣ」）のポイントオブプレゼンス（以下、「ＰＯＰ」）を選択してもよい。ＮＣＣ  ＰＯＰの選択は、インスタンス化された仮想マシンに利用可能な、処理およびネットワークリソースを決定してもよい。ＮＣＣ  ＰＯＰインスタンス時の処理およびネットワークリソースの選択およびソフトウェアの提供は、少なくともある程度、コンテンツプロバイダ１０４およびクライアントコンピューティングデバイス１０２との通信を最適化するために行われてもよい。
【００２５】
図３を参照して、ネットワークコンピューティングプロバイダ１０７からコンテンツプロバイダ１０４へのネットワークリソースのための要求の生成および処理のための例示的な対話が記載される。図３で例示されるように、選択されたＮＣＣ  ＰＯＰ１４２は、上の図２に図示される例示的なブラウズセッション要求等の、ブラウズセッション要求に基づいて、１つ以上のコンテンツプロバイダに対応するブラウズセッションを生成してもよい。例示的に、新しいブラウズセッションインスタンスをインスタンス化することは、ＮＣＣ  ＰＯＰ１４２で新しい仮想マシンインスタンスおよび／またはブラウザインスタンスを読み込み、新しいブラウズセッションのためのデバイスメモリ、ストレージもしくはキャッシュ領域、プロセッサ時間、ネットワーク帯域、または他の計算的もしくはネットワークリソースを予約し、または割り当てることを含んでもよい。
【００２６】
新しいブラウズセッションインスタンスを初期化した後、ＮＣＣ  ＰＯＰ１４２は、ブラウズセッション要求に含まれるネットワークアドレスに基づいて、ネットワークリソースのための要求をコンテンツプロバイダ１０４に提供してもよい。例えば、ブラウズセッション要求は、「ｈｔｔｐ：／／ｗｗｗ．ｘｙｚｓｉｔｅ．ｃｏｍ／ｄｅｆａｕｌｔ．ｈｔｍ」等の、ウェブページのためのＵＲＬを含んでもよい。ＮＣＣ  ＰＯＰ１４２は、ネットワークコンピューティングプロバイダ（図示せず）と関連付けられたＤＮＳリゾルバによって、ＵＲＬをＩＰアドレスに解決してもよく、解決されたＩＰアドレスにおける、コンテンツプロバイダ１０４からのウェブページを要求してもよい。様々な実施形態において、ネットワークリソースは、コンテンツプロバイダ、コンテンツ配信ネットワーク（以下、「ＣＤＮ」）サーバ、またはネットワークコンピューティングプロバイダ１０７と関連付けられたキャッシュのいずれかの組み合わせから取り出されてもよい。例えば、ネットワークコンピューティングプロバイダは、リソースが、ローカルキャッシュまたは別のサーバもしくはネットワークコンピューティングプロバイダ１０７と関連付けられたサービスプロバイダに記憶されているかどうかを確認してもよい。ネットワークリソースがローカルまたは関連付けられた位置に記憶される場合、ＮＣＣ  ＰＯＰ１４２は、第三者のコンテンツプロバイダ１０４またはＣＤＮサービスプロバイダ１０６からではなく、ローカルまたは関連付けられた位置からネットワークリソースを取り出してもよい。例示的に、ＮＣＣ  ＰＯＰ１４２は、ブラウズセッション要求に含まれる任意の数のネットワークリソースのための要求を提供してもよく、任意の数の異なるソースからこれらのネットワークリソースを順次または並行して得てもよい。
【００２７】
図３で例示されるように、コンテンツプロバイダ１０４は、ＮＣＣ  ＰＯＰ１４２からのリソース要求を受信し、それに応じて要求を処理する。一実施形態において、コンテンツプロバイダ１０４は、あたかもそれが元々、クライアントコンピューティングデバイス１０２によって提供されたかのように、リソース要求を処理する。例えば、コンテンツプロバイダ１０４は、要求するクライアントコンピューティングデバイス１０２の要件に応じて、コンテンツの種類、コンテンツの並び順、またはコンテンツのバージョンを選択してもよい。別の実施形態において、コンテンツプロバイダ１０４は、要求されたコンテンツ（例えば、処理リソースまたはネットワーク帯域の利用可能量）を提供する際に利用するためのＮＣＣ  ＰＯＰ１４２と関連付けられた情報を提供する、情報を提供されてもよい。
【００２８】
コンテンツプロバイダ１０４からの要求されたネットワークリソース（またはコンテンツプロバイダによって指定された他のソース）を得た後、ＮＣＣ  ＰＯＰ１４２は、ネットワークリソースを処理し、埋め込みリソース識別子を抽出し、遠隔セッションブラウジング構成の決定のための情報を集めてもよい。例えば、ウェブページ等のネットワークリソースは、埋め込みＣＳＳスタイル情報およびＪａｖａｓｃｒｉｐｔ、ならびにテキスト、画像、ビデオ、オーディオ、アニメーション、実行可能なコード、および他のＨＴＭＬ、ＣＳＳ、およびＪａｖａｓｃｒｉｐｔファイル等の追加のリソースに対する埋め込みリソース識別子を含んでもよい。埋め込みリソース識別子を抽出する処理において、ＮＣＣ  ＰＯＰ１４２は、図４を参照して下に論じられる、遠隔セッションブラウジング構成の決定の際に後で使用するための処理済みネットワークリソースについての情報を集めてもよい。
【００２９】
図４を参照して、ネットワークコンピューティングプロバイダからコンテンツプロバイダおよびコンテンツ配信ネットワークへの１つ以上の埋め込みリソースに対応する、１つ以上の要求の生成および処理のための例示的な対話が開示される。図４で例示されるように、選択されたＮＣＣ  ＰＯＰ１４２は、コンテンツプロバイダ１０４およびＣＤＮ  ＰＯＰ１１６等の、コンテンツの１つ以上のソースにリソース要求を提供してもよい。リソース要求は、上の図３に記載される要求されたネットワークリソース（例えば、ウェブページ）から抽出された１つ以上の埋め込みリソース識別子に基づいて、埋め込みリソースに対応してもよい。様々な実施形態において、埋め込みリソースは、ネットワークコンピューティングプロバイダ１０７と関連付けられたコンテンツプロバイダ、ＣＤＮサーバ、またはキャッシュのいずれかの組み合わせから取り出されてもよい。例えば、ネットワークコンピューティングプロバイダは、埋め込みリソースが、ローカルキャッシュまたは別のサーバもしくはネットワークコンピューティングプロバイダ１０７と関連付けられたサービスプロバイダに記憶されているかどうかを確認してもよい。埋め込みリソースがローカルまたは関連付けられた位置に記憶される場合、ＮＣＣ  ＰＯＰ１４２は、第三者のコンテンツプロバイダまたはＣＤＮではなく、ローカルまたは関連付けられた位置から埋め込みリソースを取り出してもよい。例示的に、ＮＣＣ  ＰＯＰ１４２は、ネットワークリソースによって参照される、任意の数の埋め込みリソースのための要求を提供してもよく、任意の数の異なるソースからこれらの埋め込みリソースを順次または並行して得てもよい。要求されたリソースを得た後、ＮＣＣ  ＰＯＰ１４２は、リソースおよび要求されたコンテンツを処理し、クライアントコンピューティングデバイス１０２へのコンテンツの処理および通信のための遠隔セッションブラウジング構成を決定してもよい。
【００３０】
図５を参照して、ネットワークコンピューティングプロバイダとクライアントコンピューティングデバイスとの間の、処理結果およびユーザ対話データの生成および処理のための例示的な対話が開示される。前述のように、一実施形態において、インスタンス化されたネットワークコンピューティングコンポーネントおよびクライアントコンピューティングデバイス１０２上のそれぞれのブラウザは、インスタンス化されたネットワークコンピューティングコンポーネントおよびクライアントコンピューティングデバイスでの要求されたリソースの割り当ておよび処理に関する、ブラウザのセッション情報を交換し得る。図５で例示されるように、選択されたＮＣＣ  ＰＯＰ１４２は、ネットワーク１０８を介して、初期処理結果をクライアントコンピューティングデバイス１０２に提供してもよい。初期処理結果は、上の図４に記載される選択された遠隔セッションブラウジング構成に従って、ＮＣＣ  ＰＯＰ１４２によって処理された、関連付けられた埋め込みリソースと共に、ウェブページ等の要求されたネットワークコンテンツに対応してもよい。ＮＣＣ  ＰＯＰ１４２は、どの追加の処理がＮＣＣ  ＰＯＰ１４２、クライアントコンピューティングデバイス１０２、または両方で実行されるかの決定も行う。初期処理結果および処理の割り当てを受信した後、クライアントコンピューティングデバイス１０２は、選択された遠隔セッションブラウジング構成によって必要とされる初期処理結果に、任意の残存処理行為を行ってもよく、ブラウザのコンテンツ表示区域で完全に処理されたコンテンツを表示してもよい。クライアントコンピューティングデバイス１０２は、ローカルインターフェースコンポーネントまたはコンテンツ要素との任意のローカルユーザ対話をローカルに処理してもよく、遠隔処理を必要とするユーザ対話をネットワークコンピューティングプロバイダ１０７に提供してもよい。ネットワークコンピューティングプロバイダ１０７は、クライアントコンピューティングデバイスからのコンテンツまたは遠隔ユーザ対話データに対する変更に応答して、更新された処理結果をクライアントコンピューティングデバイスに提供してもよい。
【００３１】
図６を参照して、クライアントコンピューティングデバイスからネットワークコンピューティングプロバイダへの追加の新しいブラウズセッション要求の生成および処理を例示する、図１のコンテンツ配信環境のブロック図が開示される。図６で例示されるように、第２の新しいブラウズセッション要求は、ネットワーク１０８をまたいで、クライアントコンピューティングデバイス１０２からネットワークコンピューティングプロバイダ１０７に送信されてもよい。例示的な実施形態において、ネットワークコンピューティングプロバイダ１０７は、登録ＡＰＩを使用し、クライアントコンピューティングデバイス１０２からのブラウズセッション要求を承諾する。
【００３２】
追加のブラウズセッション要求は、ユーザが、新しいコンテンツ表示区域を有する新しいブラウザウィンドウを開くこと、既存のブラウザウィンドウで新しいコンテンツ表示区域を開くこと（例えば、ブラウザで新しいタブを開くこと）、既存のコンテンツ表示区域で新しいネットワークコンテンツを要求すること（例えば、新しいネットワークリソースへのリンクに従うこと、または新しいネットワークアドレスをブラウザに入力すること）、または任意の他のユーザ対話に応答して、クライアントコンピューティングデバイス１０２によって生成されてもよい。例えば、第１のブラウズセッションインスタンスに対応する第１のウェブページを閲覧するユーザは、第２のウェブページを表示するために新しいタブまたはブラウザウィンドウを開く、リンクに従ってもよい。一実施形態において、第２のウェブページと関連付けられたコンテンツを得て、それを処理する、いずれの要求されるステップも、ブラウザが両方のリソース要求の処理を扱い得る、現在インスタンス化されているネットワークコンピューティングコンポーネントによって行われてもよい。別の実施形態において、クライアントコンピューティングデバイス１０２の要求は、第２のウェブページのネットワークアドレスを含む、ネットワークコンピューティングプロバイダ１０７への新しいブラウズセッション要求として、処理されてもよい。この実施形態において、クライアントコンピューティングデバイス上のブラウザは、別個のブラウズセッションを具体的に要求しない場合があり、クライアントコンピューティングデバイス１０２上でのブラウザとのユーザの対話は、同じブラウジングセッションの一部であるように見える場合がある。図２および３に関して上述されるように、ネットワークコンピューティングプロバイダ１０７は、第２のウェブページと関連付けられたコンテンツを得て、それを処理するためのネットワークコンピューティングコンポーネントのインスタンス化を引き起こしてもよい。他の実施形態において、新しいブラウズセッション要求は、ネットワークリソース（例えば、ウェブページのフレーム）のセクション、個々のネットワークリソース、または埋め込みリソース自体、コンテンツの組に含まれたデータオブジェクト、もしくは個々のネットワークリソースに対応する、クライアントコンピューティングデバイス１０２によって生成されてもよい。
【００３３】
例示的に、追加のブラウズセッション要求は、ユーザと関連付けられた情報、クライアントコンピューティングデバイス１０２（例えば、ハードウェアもしくはソフトウェア情報、デバイスの物理的もしくは論理的位置等）と関連付けられた情報、ネットワーク１０８と関連付けられた情報、ユーザまたはブラウザの選好（例えば、要求された遠隔セッションブラウズプロトコル、選好一覧、決定ツリー、または他の情報）、ネットワークコンピューティングプロバイダ１０７と関連付けられた情報、１つ以上の要求されたネットワークコンテンツ（例えば、ネットワークリソースのネットワークアドレス）と関連付けられた情報等を含むが、これらに限定されない、任意の数のデータまたは情報を含んでもよい。要求されたコンテンツは、ウェブページもしくは他のドキュメント、テキスト、画像、ビデオ、オーディオ、実行可能なスクリプトもしくはコード、または任意の他の種類のデジタルリソースを含む、任意の様式のデジタルコンテンツを含んでもよい。
【００３４】
ブラウズセッション要求の受信後、ネットワークコンピューティングプロバイダ１０７は、ＮＣＣ  ＰＯＰ１４２等の、関連付けられたネットワークコンピューティングコンポーネントを選択し、ブラウズセッション要求にサービス提供してもよい。図２を参照して上述されるように、ネットワークコンピューティングプロバイダ１０７は、ＮＣＣ  ＰＯＰを選択して、利用可能なＮＣＣ  ＰＯＰリソース（例えば、利用可能なメモリ、プロセッサ負荷、ネットワーク負荷等）、ＮＣＣ  ＰＯＰでブラウズセッション要求にサービス提供する財務コスト、クライアントコンピューティングデバイス１０２に対するＮＣＣ  ＰＯＰ位置、コンテンツプロバイダ１１２、またはＣＤＮ  ＰＯＰ１１６、ＮＣＣ  ＰＯＰキャッシュ状態（例えば、要求されたリソースがＮＣＣ  ＰＯＰキャッシュにすでに記憶されているかどうか）等を含むが、これらに限定されない、任意の数の要因に基づいて、ブラウズセッション要求にサービス提供してもよい。一実施形態において、ネットワークコンピューティングプロバイダ１０７は、ブラウズセッション要求にサービス提供するためにいくつかのＮＣＣ  ＰＯＰを選択してもよい。例示的に、ネットワークコンピューティングプロバイダ１０７は、例示の目的のために、ここではＮＣＣ  ＰＯＰ１４２を選択しているものとして図示されるが、ネットワークコンピューティングプロバイダ１０７は、任意の現存するＮＣＣ  ＰＯＰを選択し、ブラウズセッション要求にサービス提供してもよい。例えば、単一のクライアントコンピューティングデバイス１０２は、異なるネットワークリソースに対応するネットワークコンピューティングプロバイダ１０７に、３つの異なるブラウズセッション要求を同時に、または順次に提供してもよい。ネットワークコンピューティングプロバイダ１０７は、それぞれのブラウズセッション要求のための異なるＮＣＣ  ＰＯＰ、全ての３つのブラウズセッション要求のための同じＮＣＣ  ＰＯＰ、またはそれらの任意の組み合わせを選択してもよい。上述のように、以前のブラウズセッション要求または同時に起こるブラウズセッション要求のために利用されたものとは異なるＮＣＣ  ＰＯＰを選択するかどうかの決定は、利用可能なシステムリソースに基づいて、無作為に、または上述のおよび図２に関して記載される任意の他の要因に従って行われてもよい。
【００３５】
図７は、例示的なブラウザインターフェースおよびブラウズセッションコンテンツの表示を図示する、ユーザインターフェース図である。図５を参照して上述されるように、ブラウザ７００は、コンテンツ表示区域７０２、ならびに１つ以上のローカルインターフェースコンポーネントを有してもよい。これらのローカルインターフェースコンポーネントは、ツールバー、メニュー、ボタン、アドレスバー、スクロールバー、ウィンドウサイズ変更制御、または任意の他のユーザインターフェース制御を含んでもよい。例示的に、ローカルインターフェースコンポーネントは、コンテンツ表示区域とは別個のものとして表示されてもよく、またはコンテンツ表示区域内にオーバーレイされるか、または埋め込まれてもよい。
【００３６】
ローカルインターフェースコンポーネントとの対話は、対話および遠隔セッションブラウジング構成によって必要とされる処理に応じて、ローカルユーザ対話または遠隔ユーザ対話として扱われてもよい。例えば、ブラウザメニューでの選好オプションの選択は、完全にブラウザによるローカルユーザ対話として扱われてもよい。メニューを表示し、選択に関する視覚的フィードバックを提供し、選好ウィンドウを表示し、ブラウザ選好に対してなされた変更を処理するために必要とされる処理は、ローカルに行われてもよい。上述のように、ユーザ対話をローカルに処理することは、処理のためにユーザ対話データをＮＣＣ  ＰＯＰ１４２に送信することとは異なり、ブラウザでのより大きな応答性を提供する場合がある。別の実施例として、ＮＣＣ  ＰＯＰ１４２（例えば、ＲＤＰ等の遠隔セッション通信プロトコルを使用する遠隔セッションブラウジング構成）上で広範な処理を指定する遠隔セッションブラウジング構成を使用するとき、ブラウザツールバーにおけるコンテンツリフレッシュボタンの選択は、ローカルユーザ対話および遠隔ユーザ対話の両方として扱われてもよい。ボタン選択に対応するインターフェースフィードバックを提供するために必要とされる限定された処理は、インターフェース応答性の外観を提供するためにクライアントコンピューティングデバイス１０２で扱われてもよいが、一方でリフレッシュコマンドは、ブラウザのコンテンツ表示区域で表示されるネットワークコンテンツの処理を必要とする場合があり、処理用ＮＣＣ  ＰＯＰ１４２にユーザ対話データとして送信されてもよい。次いで、ＮＣＣ  ＰＯＰ１４２は、リフレッシュされたネットワークコンテンツに対応する更新された処理結果を表示のためにクライアントコンピューティングデバイス１０２に戻して伝送してもよい。
【００３７】
一実施形態において、ブラウザ７００のウィンドウは、遠隔の持続的ブラウジングコンテキストに対応してもよい。この具体的な実施形態に関して、ブラウザ７００は、持続的ブラウジングコンテキスト名７０６または現在の持続的ブラウジングコンテキストの他の識別する視覚的な印を含んでもよい。一実施形態において、持続的ブラウジングコンテキストは、ブラウザ７００のウィンドウ内に、コンテンツタブ７０８として組織化された複数のウェブページまたは他のネットワークコンテンツを含んでもよい。例示的に、コンテンツタブ７０８において組織化されるコンテンツおよびコンテンツと関連付けられた表示状態は、ブラウザ７００が閉じられるかまたは離脱された後に、ネットワークコンピューティングプロバイダ１０７において維持されてもよい。したがって、同じまたは異なるクライアントコンピューティングデバイス１０２上のブラウザの新しいインスタンスは、その後、既存の持続的ブラウジングコンテキストにアクセスすると、ストレージプロバイダ１０７によって提供される処理結果からコンテンツおよびコンテンツタブ７０８を再び読み込んでもよい。
【００３８】
図８は、一連の処理サブシステム８００としての例示的なブラウザコンテンツ処理行為を図示する図である。多くの実施形態において、ブラウザは、一連の処理行為のコンテンツ（例えば、ウェブページおよび関連付けられた埋め込みリソース等のネットワークリソース）の組を処理してもよい。例示的に、かつ図３〜５を参照して記載されるように、遠隔セッションブラウジング構成は、ネットワークコンピューティングプロバイダ（例えば、ＮＣＣ  ＰＯＰ）で行われた処理行為とクライアントコンピューティングデバイス１０２で行われた処理行為との間の分割を指定してもよい。この分割は、ＮＣＣ  ＰＯＰおよびクライアントコンピューティングデバイス１０２のそれぞれによって行われるいくつかの処理行為を指定してもよく、または全ての処理行為を単一のデバイスまたはコンポーネントに割り当ててもよい。例えば、ＮＣＣ  ＰＯＰは、ブラウズセッションインスタンスでこれらの様々な処理行為の全てを行い、ビットマップアセンブリまたは表示のために、完全に処理されたＲＤＰ処理結果をクライアントコンピューティングデバイス１０２に送信してもよい。任意の数の異なる遠隔セッションブラウジング構成が、ＮＣＣ  ＰＯＰで走っている１つ以上のブラウズセッションインスタンスによって使用されてもよい。
【００３９】
当業者であれば、ここに示されるサブシステムが例示の目的のために図示され、必要な順番またはブラウザサブシステムの最終的な列挙を記載するようには意図されないことを理解するであろう。様々なブラウザソフトウェアコンポーネントは、追加の、またはここに示されるより少ないブラウザサブシステムを実装してもよく、サブシステムまたは対応する処理行為を任意の数の異なる様式で指示してもよい。例示の目的のためにここに図示される処理サブシステム８００は、ウェブページまたは他のウェブコンテンツの処理を対象とするが、当業者であれば、他のファイルの種類またはネットワークリソースの処理が同様の様式で分割されてもよいことを理解するであろう。例えば、当業者であれば、類似のスキーマが画像、ビデオ、オーディオ、データベース情報、３次元デザインデータ、または当該技術分野で既知の任意の他のファイル形式または種類のデータの処理のために開発されてもよいことを理解するであろう。類似のスキーマは、スケジューリング、メモリもしくはファイル管理、システムリソース管理、処理もしくはサービス実行または管理等の動作を処理する、任意の数のデバイスオペレーティングシステムまたはソフトウェアフレームワークのために開発されてもよい。更に、ＨＴＭＬプロトコルおよびＲＤＰ遠隔セッション通信プロトコルは、本明細書で例示の目的のために論じられるが、当業者であれば、遠隔セッションブラウジング構成が任意の数の指定された処理行為のために任意の数の遠隔通信プロトコルを実装してもよく、遠隔セッションブラウジング構成が、クライアントコンピューティングデバイス１０２およびネットワークコンピューティングプロバイダ１０７の任意の組み合わせで下に識別される、行為の任意の部分または組み合わせを行うように公式化されてもよいことを理解するであろう。
【００４０】
例示的に、ネットワークコンテンツの処理および表示に関与する第１の処理サブシステムは、ネットワーク化サブシステム８０２である。例示的に、ネットワーク化サブシステム８０２は、ウェブコンテンツのローカルキャッシングを含む、ブラウザとコンテンツプロバイダとの間の全ての通信を担当してもよい。ネットワーク化サブシステムは、一般的に、ユーザのネットワークの性能によって限定される。ネットワーク化サブシステム８０２での処理行為を分割する遠隔セッションブラウジング構成は、ＨＴＭＬ遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成を含んでもよく、１つ以上のキャッシングまたはリソース取り出し行為は、ＮＣＣ  ＰＯＰで行われたが、コンテンツの構文解析および処理は、クライアントコンピューティングデバイスで行われた。
【００４１】
ＨＴＭＬドキュメント等のネットワークリソースがサーバからダウンロードされるとき、ドキュメントを構文解析し、ネットワーク化サブシステムにおいて追加のダウンロードを開始し、ドキュメントの構造表現を作成する、ＨＴＭＬサブシステム８０４に渡されてもよい。モダンブラウザは、ＸＨＴＭＬ、ＸＭＬ、およびＳＶＧドキュメントのために使用される関連するサブシステムも含んでもよい。ＨＴＭＬサブシステム８０４での処理行為を分割する遠隔セッションブラウジング構成は、ＨＴＭＬ遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成を含んでもよく、初期ＨＴＭＬページは、埋め込みリソース識別子を抽出するためにＮＣＣ  ＰＯＰで処理されるが、コンテンツの追加の構文解析および処理は、クライアントコンピューティングデバイスで行われる。別の実施形態において、ＨＴＭＬサブシステム８０４での処理行為を分割する遠隔セッションブラウジング構成は、ＨＴＭＬドキュメントの構造表現を作成するために初期処理を行い、構造表現および関連付けられた埋め込みリソースを備える処理結果を、処理用クライアントコンピューティングデバイスに提供してもよいであろう。
【００４２】
ＨＴＭＬドキュメント内であれ、埋め込みＣＳＳドキュメント内であれ、ＣＳＳに遭遇するとき、それは、スタイル情報を構文解析し、後で参照され得る構造表現を作成するために、ＣＳＳサブシステム８０６に渡されてもよい。例示的に、ＣＳＳサブシステム８０６での処理行為を分割する遠隔セッションブラウジング構成は、ＣＳＳ構造表現およびＨＴＭＬ構造表現を含む処理結果を構築し、処理結果および関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
【００４３】
ＨＴＭＬドキュメントは、しばしば、メタデータ、例えば、ドキュメントヘッダーに記載される情報または要素に適用される属性を含む。コレクションサブシステム８０８は、このメタデータを記憶し、それにアクセスすることを担当してもよい。コレクションサブシステム８０８での処理行為を分割する遠隔セッションブラウジング構成は、上述の任意の他の構造表現と共に処理済みメタデータを含む処理結果を構築し、処理結果および関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
【００４４】
Ｊａｖａｓｃｒｉｐｔに遭遇するとき、それは、スクリプトを実行することを担当するＪａｖａＳｃｒｉｐｔサブシステム８１０に直接渡されてもよい。Ｊａｖａｓｃｒｉｐｔサブシステム８１０は、年来、完全に検証されており、当技術分野において最も周知のブラウザサブシステムのうちの１つであり得る。Ｊａｖａｓｃｒｉｐｔサブシステム８１０での処理行為を分割する遠隔セッションブラウジング構成は、ネイティブまたは中間形態のスクリプトの状態データまたは表現、ならびに上述の任意の他の処理済み構造またはデータを含むが、これらに限定されない、１つ以上のＪａｖａｓｃｒｉｐｔスクリプトの内部表現を含む処理結果を構築し、処理結果および関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
【００４５】
多くのＪａｖａＳｃｒｉｐｔエンジンはブラウザに直接に統合されていないため、ブラウザとスクリプトエンジンとの間のマーシャリングサブシステム８１２を含む通信レイヤが存在する場合がある。この通信レイヤを通して情報を渡すことは、一般的に、マーシャリングと称される。マーシャリングサブシステム８１２での処理行為を分割する遠隔セッションブラウジング構成は、マーシャリングデータ、ならびに上述の任意の他の処理済み構造、スクリプト、またはデータを含む処理結果を構築し、処理結果および関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
【００４６】
いくつかの実施形態において、ＪａｖａＳｃｒｉｐｔは、ドキュメントオブジェクトモデルＡＰＩを介してウェブドキュメント等の基礎的ネットワークリソースと対話する。これらのＡＰＩは、どのようにドキュメントにアクセスして操作するかを知り、スクリプトエンジンとブラウザとの間の一次対話地点である、ネイティブなオブジェクトモデルサブシステム８１４を介して提供されてもよい。例示的に、ネイティブなオブジェクトモデルサブシステム８１４での処理行為を分割する遠隔セッションブラウジング構成は、ネイティブなオブジェクトモデル状態データまたはＡＰＩ呼び出し、ならびに上述の任意の他の処理済み構造、スクリプト、またはデータを含む処理結果を構築してもよく、処理結果および任意の他の関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
【００４７】
一旦、ドキュメントが構築されると、ブラウザは、ユーザに対して表示され得る前にスタイル情報を適用する必要がある場合がある。書式設定サブシステム８１６は、ＨＴＭＬドキュメントを取り出し、スタイルを適用する。例示的に、書式設定サブシステム８１６での処理行為を分割する遠隔セッションブラウジング構成は、適用されたスタイルを伴うＨＴＭＬ表現、ならびに上述の任意の他の処理済み状態データ、ＡＰＩ呼び出し、構造、スクリプト、またはデータを含む処理結果を構築し、処理結果および任意の他の関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
【００４８】
一実施形態において、ＣＳＳは、ブロックに基づくレイアウトシステムである。ドキュメントがスタイル設定された後、ブロックビルドサブシステム８１８での次のステップは、ユーザに対して表示される矩形のブロックを構築することであってもよい。この処理は、ブロックのサイズ等の事柄を決定してもよく、次の段階、レイアウトと密接に統合されてもよい。ブロックビルドサブシステム８１８での処理行為を分割する遠隔セッションブラウジング構成は、ブロック情報、ならびに上述の任意の他の処理済み状態データ、ＡＰＩ呼び出し、構造、スクリプト、またはデータを含む処理結果を構築し、処理結果および任意の他の関連付けられた埋め込みリソースを、処理用クライアントコンピューティングデバイスに提供してもよい。
【００４９】
ブラウザがコンテンツをスタイル設定し、ブロックを構築した後、コンテンツをレイアウトする処理を経てもよい。レイアウトサブシステム８２０は、このアルゴリズム的に複雑な処理を担当する。例示的に、レイアウトサブシステム８２０での処理行為を分割する遠隔セッションブラウジング構成は、上述の様々な状態データ、ＡＰＩ呼び出し、構造、スクリプト、またはデータを処理し、クライアントコンピューティングデバイスのためのレイアウト情報を含む処理結果を構築してもよい。例示的に、ＮＣＣ  ＰＯＰは、クライアントコンピューティングデバイスのために好適なレイアウトを生成するために、（例えば、初期ブラウズセッション要求において提供される）クライアントコンピューティングデバイスまたはブラウザと関連付けられた様々なデータまたは設定を使用してもよい。例えば、携帯デバイスは、スクリーン解像度および表示モードをＮＣＣ  ＰＯＰに提供してもよい。ＮＣＣ  ＰＯＰは、携帯デバイス上で走っているブラウザのために好適なコンテンツ表現に対応する処理結果を生成するために、このスクリーン解像度および表示モードにレイアウト計算を基づかせてもよい。例示的に、様々な実施形態において、ＮＣＣ  ＰＯＰによって実装される任意の他のサブシステムは、クライアントのための処理結果を生成するときに、クライアントコンピューティングデバイスまたはブラウザと関連付けられたデータを使用してもよい。
【００５０】
本処理の最終段階は、最終コンテンツがユーザに対して表示される、表示サブシステム８２２内で行われてもよい。この処理は、しばしば、描画と称される。ネットワーク化サブシステム８０２での処理行為を分割する遠隔セッションブラウジング構成は、ＲＤＰ遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成を含んでもよく、ほぼ全ての処理がＮＣＣ  ＰＯＰで行われ、ビットマップデータおよび低レベルインターフェースデータを含む処理結果が、表示のためにクライアントコンピューティングデバイスに渡される。
【００５１】
図９は、図１のネットワークコンピューティングプロバイダ１０７によって実装される新しいブラウズセッションルーチン９００を例示する、流れ図である。新しいブラウズセッションルーチン９００は、ブロック９０２で開始する。ブロック９０４で、ネットワークコンピューティングプロバイダ１０７は、クライアントコンピューティングデバイス１０２からの新しいブラウズセッション要求を受信する。前述のように、クライアントコンピューティングデバイス１０２は、イベントまたはユーザ要求に応答してネットワークコンテンツを表示するためのブラウザを読み込んでもよい。ブラウザが読み込まれた後、ブラウザは、新しいブラウズセッションを要求するために実装されてもよい。クライアントコンピューティングデバイスのユーザの観点から、新しいブラウズセッションのための要求は、要求を１つ以上の対応するコンテンツプロバイダ１０４に伝送するために意図される要求に対応する。例示的に、この要求は、ブラウザ読み込み（例えば、既定または「ホーム」ページのための要求）の結果として自動的に生成されてもよく、あるいはユーザがリンクに従うか、またはネットワークアドレスをアドレスバーに入力することの結果として生成されてもよい。このブラウズセッション要求は、クライアントコンピューティングデバイス１０２によって要求された様々なネットワークリソースまたは他のコンテンツに対する１つ以上のアドレスもしくは参照を含んでもよい。例示的な実施形態において、ブラウズセッション要求は、ＡＰＩに従って伝送される。
【００５２】
ブロック９０６で、ネットワークコンピューティングプロバイダ１０７は、関連付けられたＮＣＣ  ＰＯＰを選択し、ブラウズセッション要求に基づいて新しいブラウズセッションをインスタンス化してもよい。図１を参照して上述されるように、ネットワークコンピューティングプロバイダ１０７は、任意の数の物理的または論理的位置にわたって分散された任意の数のＮＣＣ  ＰＯＰを含んでもよい。ネットワークコンピューティングプロバイダ１０７は、ＮＣＣ  ＰＯＰを選択し、利用可能なＮＣＣ  ＰＯＰリソース（例えば、利用可能なメモリ、プロセッサ負荷、ネットワーク負荷等）、ＮＣＣ  ＰＯＰでブラウズセッション要求にサービス提供する財務コスト、クライアントコンピューティングデバイス１０２、コンテンツプロバイダ１０４、またはＣＤＮ  ＰＯＰ１１６に対するＮＣＣ  ＰＯＰ位置、ＮＣＣ  ＰＯＰキャッシュ状態（例えば、要求されたリソースがＮＣＣ  ＰＯＰキャッシュに既に記憶されているかどうか）等を含むが、これらに限定されない任意の数の要因に基づいてブラウズセッション要求にサービス提供してもよい。
【００５３】
一実施形態において、ネットワークコンピューティングプロバイダ１０７は、ブラウズセッション要求にサービス提供するためにいくつかのＮＣＣ  ＰＯＰを選択してもよい。例えば、ネットワークコンピューティングプロバイダ１０７は、ネットワーク内の異なる論理的位置を有する２つのＮＣＣ  ＰＯＰを選択してもよい。それぞれのＮＣＣ  ＰＯＰは、独立して、クライアントコンピューティングデバイス１０２の代わりにネットワークコンテンツを要求および処理してもよく、クライアントコンピューティングデバイス１０２は、第１のＮＣＣ  ＰＯＰからのデータを承諾して、処理結果を戻してもよい。ネットワークコンピューティングプロバイダ１０７によって選択された後、ＮＣＣ  ＰＯＰ１４２は、ブラウズセッション要求を得てもよい。一実施形態において、ＮＣＣ  ＰＯＰ１４２は、ネットワークコンピューティングプロバイダ１０７のコンポーネントによってブラウズセッション要求をＮＣＣ  ＰＯＰ１４２に転送させてもよい。別の実施形態において、ＮＣＣ  ＰＯＰ１４２またはクライアントコンピューティングデバイス１０２は、接続情報を受信し、ＮＣＣ  ＰＯＰ１４２とクライアントコンピューティングデバイス１０２との間の直接の通信の確立を可能にし得る。例示的に、ＮＣＣ  ＰＯＰ１４２には、元々ネットワークコンピューティングプロバイダ１０７に提供されたブラウズセッション要求が提供されてもよく、情報のサブセット（例えば、要求されたコンテンツのネットワークアドレスのみ）が提供されてもよく、または元のブラウズセッション要求に含まれない追加の情報が提供されてもよい。
【００５４】
ＮＣＣ  ＰＯＰ１４２が選択された後、ネットワークコンピューティングプロバイダ１０７は、ＮＣＣ  ＰＯＰ１４２に新しいブラウズセッションをインスタンス化させてもよい。例示的に、新しいブラウズセッションインスタンスをインスタンス化することは、ＮＣＣ  ＰＯＰ１４２で新しい仮想マシンインスタンスおよび／またはブラウザインスタンスを読み込み、新しいブラウズセッションのためのデバイスメモリ、ストレージもしくはキャッシュ領域、プロセッサ時間、ネットワーク帯域、または他の計算的もしくはネットワークリソースを予約することまたは割り当てることを含んでもよい。例示的に、新しいブラウズセッションインスタンスおよび／またはブラウザインスタンスの１つ以上の特性は、ブラウズセッション要求に含まれるクライアントコンピューティングデバイス１０２の情報に基づいてもよい。例えば、ブラウズセッション要求は、デバイスの種類もしくはブラウザの種類、デバイススクリーン解像度、ブラウザ表示区域、またはクライアントコンピューティングデバイス１０２もしくはブラウザの表示選好もしくは能力を定義する他の情報を含んでもよい。ＮＣＣ  ＰＯＰ１４２は、それに応じて、仮想マシンインスタンスおよび／またはクライアントコンピューティングデバイス１０２と同一または同様の能力を有するブラウザインスタンスをインスタンス化してもよい。例示的に、クライアントコンピューティングデバイス１０２と同一または同様の能力を有する仮想マシンインスタンスおよび／またはブラウザを維持することは、ＮＣＣ  ＰＯＰ１４２が、特定のクライアントコンピューティングデバイス１０２上での表示に適切な寸法およびレイアウトに応じてネットワークコンテンツを処理することを可能にし得る。
【００５５】
いくつかの実施形態において、ＮＣＣ  ＰＯＰ１４２は、新しいブラウズセッションをインスタンス化することに加えて、またはこの代替として、既存の仮想マシンインスタンスおよび／またはブラウザインスタンスを利用してもよい。例えば、ＮＣＣ  ＰＯＰ１４２が選択された後、ネットワークコンピューティングプロバイダ１０７は、ＮＣＣ  ＰＯＰ１４２に、ＮＣＣ  ＰＯＰ１４２で以前にインスタンス化された１つ以上のインスタンス等の既存のブラウザインスタンスおよび／または仮想マシンインスタンスを新しいブラウズセッション要求と関連付けさせてもよい。例示的に、既存のブラウザセッションおよび／または仮想マシンインスタンスは、ユーザまたはクライアントコンピューティングデバイス１０２と関連付けられた別のブラウズセッション、遠隔アプリケーションセッション、または他の遠隔処理に対応してもよく、あるいは無関係のブラウズセッションまたは遠隔処理からの以前にインスタンス化されたソフトウェアインスタンスであってもよい。他の実施形態において、ＮＣＣ  ＰＯＰ１４２は、既存の仮想マシンインスタンスにおける新しいブラウザまたは他のアプリケーション処理をインスタンス化してもよく、あるいは任意の数の他の様式で、以前にインスタンス化されたソフトウェア処理および新たにインスタンス化されたソフトウェア処理の利用を組み合わせてもよい。なおも更なる実施形態において、ネットワークコンピューティングプロバイダまたはＮＣＣ  ＰＯＰ１４２は、単一のブラウズセッション要求に基づいて、任意の数の新しい仮想マシンインスタンスおよび／またはブラウザインスタンスをインスタンス化（または既存のインスタンス化されたインスタンスを使用）してもよい。
【００５６】
ブロック９０８で、ネットワークコンピューティングプロバイダ１０７は、ブラウズセッション要求に含まれるネットワークアドレスに基づいて、１つ以上のネットワークリソースのための要求をコンテンツプロバイダまたはＣＤＮサービスプロバイダに提供してもよい。様々な実施形態において、１つ以上のネットワークリソースは、ＮＣＣ  ＰＯＰ１４２に対してローカルのキャッシュから追加的にまたは交互に取り出され得るか、あるいはネットワークコンピューティングプロバイダ１０７と関連付けられ得る。当業者であれば、他の実施形態の場合において、リンクまたはネットワークアドレスが、デジタルファイルロッカー内もしくは他のネットワークストレージ位置、またはネットワークコンピューティングプロバイダ１０７もしくはクライアントコンピューティングデバイス１０２と関連付けられたキャッシュコンポーネントに記憶される、ドキュメントまたはファイルに対応してもよいことを理解するであろう。いくつかの実施形態において、新しいセッション要求は、ネットワークアドレスに加えて、またはその代替手段としてドキュメントまたはファイルを含んでもよい。ブロック９１０で、ネットワークコンピューティングプロバイダ１０７は、１つ以上のネットワークリソースを得る。要求されたネットワークリソースを得た後、ＮＣＣ  ＰＯＰ１４２は、埋め込みリソース識別子を抽出するためにネットワークリソースを処理してもよい。
【００５７】
ブロック９１２で、ネットワークコンピューティングプロバイダ１０７は、コンテンツプロバイダ、ＣＤＮサービスプロバイダ、およびキャッシュ等の、１つ以上のソースのコンテンツにリソース要求を提供してもよい。リソース要求は、上のブロック９１０に記載される１つ以上のネットワークリソースから抽出された１つ以上の埋め込みリソース識別子に基づく、埋め込みリソースに対応してもよい。ブロック９１４で、ネットワークコンピューティングプロバイダ１０７は、これらの埋め込みリソースを任意の数の異なるソースから順次または並行して得てもよい。
【００５８】
ブロック９１６で、ネットワークコンピューティングプロバイダ１０７は、１つ以上のネットワークリソースおよび関連付けられた埋め込みリソースを処理し、クライアントコンピューティングデバイス１０２へのコンテンツの処理および通信のための遠隔セッションブラウジング構成を決定してもよい。遠隔セッションブラウジング構成は、クライアントと遠隔サーバとの間のデータおよびユーザ対話もしくは要求の交換を可能にする、任意の独占のまたは公共の遠隔プロトコルを含んでもよい。遠隔セッションブラウジング構成は、例示的に、処理済み（または未処理）コンテンツをブラウザのコンテンツ表示区域での表示用にクライアントコンピューティングデバイスに提供するための遠隔セッション通信プロトコルおよび処理スキーマの両方を含んでもよい。
【００５９】
例示的に、遠隔セッションブラウジング構成は、ネットワークコンピューティングプロバイダとクライアントコンピューティングデバイスとの間の状態データ、ユーザ対話、ならびに他のデータおよびコンテンツの交換のためのネットワークプロトコル、信号化モデル、配送機構、またはカプセル化フォーマットを含むが、これらに限定されない、遠隔セッション通信プロトコルを定義または指定してもよい。当該技術分野において既知の遠隔セッション通信プロトコルの例としては、リモートデスクトッププロトコル（ＲＤＰ）、Ｘ―ウィンドウズ（Ｘ−ウィンドウ）プロトコル、バーチャルネットワークコンピューティング（ＶＮＣ）プロトコル、遠隔フレームバッファー（Ｒｅｍｏｔｅ  Ｆｒａｍｅ  Ｂｕｆｆｅｒ）プロトコル、ＨＴＭＬ等が挙げられる。例えば、ＲＤＰは、例示的に、クライアント入力（例えば、マウス移動、キーボード入力等）を、遠隔コンピューティングデバイスに提供するためのプロトコルデータユニットへ符号化するためのいくつかの処理機構と、ビットマップ更新および低レベルインターフェース情報をクライアントデバイスに戻して送信するための対応する機構とを指定する。別の例として、ＨＴＭＬプロトコルは、例示的に、インターフェース情報を定義し、サーバからクライアントへのリソース参照を含むファイルを提供するための機構と、クライアントコンピューティングデバイスがサーバへの追加のファイルおよびリソースのための要求を提供するための、対応する機構とを提供する。一実施形態において、ＮＣＣ  ＰＯＰ１４２は、遠隔セッション通信プロトコルを決定した後、初期通信をクライアントコンピューティングデバイス１０２に提供してもよい。この初期通信は、クライアントコンピューティングデバイス１０２が、選択された遠隔セッション通信プロトコルでの通信を受信するように準備することを可能にし得、ＨＴＴＰのようなプル型遠隔セッション通信プロトコルの場合、クライアントコンピューティングデバイスに、初期リソース要求をＮＣＣ  ＰＯＰ１４２上で走っているブラウズセッションインスタンスに送信させ得る。
【００６０】
それぞれの遠隔セッションブラウジング構成は、ネットワークコンピューティングおよびストレージサービス（例えば、ＮＣＣ  ＰＯＰ１４２）とクライアントコンピューティングデバイス（例えば、クライアントコンピューティングデバイス１０２）との間の処理行為の分割を追加的に定義してもよい。一実施形態において、処理行為の特定の分割は、特定の遠隔セッション通信プロトコルに基づき、またはこれによって委託されてもよい。別の実施形態において、遠隔セッション通信プロトコルは、プロトコルの実装または構成に応じて処理行為のいくつかの異なる分割を可能にし得る。例示の目的のために、多くのネットワークコンテンツ（例えば、ウェブページ、ビデオ、フラッシュドキュメント）は、コンピューティングデバイス上に表示される前に、様々な処理行為を必要としてもよい。例えば、ウェブページは、ＣＳＳスタイルシートおよびＪａｖａｓｃｒｉｐｔ等の様々なＨＴＭＬレイアウト情報および関連付けられたリソースまたは埋め込みコンテンツへの参照、ならびに画像、ビデオ、オーディオ等の埋め込みコンテンツオブジェクトを処理するために、構文解析されてもよい。ＨＴＭＬ、ならびにそれぞれの参照オブジェクトまたは１つのコードは、典型的に、ウェブページに対応する表現オブジェクトモデルが構築され得る前に、構文解析および処理されるであろう。次いで、このオブジェクトモデルは、クライアントコンピューティングデバイス１０２のブラウザのコンテンツ表示区域におけるレイアウトおよび表示のために更に処理されてもよい。例示的なブラウザ処理行為は、図８を参照して下により詳細に記載される。当業者であれば、別の実施形態またはアプリケーションの場合、様々な他の処理行為が必要とされ得ることを理解するであろう。
【００６１】
遠隔セッションブラウジング構成は、１つのネットワークコンテンツの表示のために要求される処理行為の様々なものが、クライアントコンピューティングデバイス１０２ではなく、ＮＣＣ  ＰＯＰ１４２等の遠隔のコンピューティングデバイスで行われることを指定してもよい。ネットワークコンピューティングプロバイダで部分的に（または全体的に）処理されたネットワークコンテンツは、処理結果と称されてもよい。下で論じられるように、処理行為の分割は、ＮＣＣ  ＰＯＰ１４２とクライアントコンピューティングデバイス１０２との間のデータおよびクライアント入力を交換するために使用される、遠隔セッション通信プロトコルと関連付けられるか、またはこれに連係されてもよい。
【００６２】
例えば、表示用に、クライアントコンピューティングデバイス１４２への低レベルインターフェース情報およびビットマップを含む処理結果を伝送する、ＲＤＰ等の遠隔セッション通信プロトコルは、ＮＣＣ  ＰＯＰ１４２で必要なコンテンツ処理行為の全て、またはほぼ全てを行うことを指定する、遠隔セッションブラウジング構成と関連付けられてもよい。ＲＤＰを使用する間に、ＮＣＣ  ＰＯＰ１４２は、例えば、ＮＣＣ  ＰＯＰ１４２へのブラウザの完全なインスタンスを実行し、クライアントコンピューティングデバイス１０２への表示されたコンテンツの表現に対応するビットマップ更新からなる、処理結果を伝送してもよい。クライアントコンピューティングデバイス１０２は、この例において、ブラウザのコンテンツ表示区域での表示のために伝送されるビットマップ更新をアセンブルするために必要とされるのみであってもよく、例示的な１つのネットワークコンテンツの表示に関与する実際のＨＴＭＬ、Ｊａｖａｓｃｒｉｐｔ、またはデータオブジェクトの処理のいずれも行わない場合がある。別の実施例として、ＨＴＭＬ等の遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成は、ほぼ未処理の形態でネットワークコンテンツを伝送してもよい。したがって、クライアントコンピューティングデバイス１０２は、ネットワークコンテンツの表示のために必要とされる処理行為の全てを行ってもよいが、一方でＮＣＣ  ＰＯＰ１４２は、処理をほとんどまたは全く行わない。
【００６３】
ＮＣＣ  ＰＯＰ１４２は、要求されたリソース、コンテンツプロバイダ１０４、またはＣＤＮサービスプロバイダ１０６のうちの１つ以上の１つ以上の特性、コンテンツアドレスまたはドメインの１つ以上の特性、クライアントコンピューティングデバイス１０２、ブラウザ、もしくはアプリケーション、ユーザの１つ以上の特性、ＮＣＣ  ＰＯＰ１４２の１つ以上の特性、またはネットワークもしくはネットワーク接続等の１つ以上の特性を含むが、これらに限定されない任意の数の要因に、遠隔セッションブラウジング構成の決定を基づかせてもよい。要求されたリソースの特性には、データ形式、コンテンツの種類、サイズ、処理要件、リソース待機時間要件、対話要素の数または種類、セキュリティリスク、関連付けられたユーザ選好、ネットワークアドレス、ネットワークドメイン、関連付けられたコンテンツプロバイダ等が含まれてもよいが、これらに限定されない。コンテンツプロバイダ１０４、ＣＤＮサービスプロバイダ１０６、コンピューティングデバイス１０２、またはＮＣＣ  ＰＯＰ１４２の特性としては、処理能力、メモリ、ストレージ、ネットワーク接続性（例えば、利用可能な帯域または待機時間）、物理的または論理的位置、予測される安定性または故障のリスク、ソフトウェアもしくはハードウェアのプロファイル、利用可能なリソース（例えば、利用可能なメモリもしくは処理、または同時に開いているソフトウェアアプリケーションの数）等を含んでもよいが、これらに限定されない。ＮＣＣ  ＰＯＰ１４２は、１つのコンテンツまたはドメインと関連付けられた認知されるセキュリティの脅威またはリスク、クライアントコンピューティングデバイスまたはコンテンツプロバイダの選好、コンピューティングまたはネットワークリソースコスト（例えば、処理もしくは帯域、リソース使用等の財務コスト）、所定の選好または選択情報、特定の遠隔セッションブラウジング構成によって必要とされる任意の追加的処理オーバーヘッド、キャッシュ状態（例えば、特定のリソースがＮＣＣ  ＰＯＰ１４２で、クライアントコンピューティングデバイス１０２で、またはネットワークコンピューティングプロバイダと関連付けられた他のネットワークストレージでキャッシュされるかどうか）、要求されたネットワークコンテンツを取り出すために必要とされる予測される遅延または時間、特定の遠隔セッションブラウジング構成またはサービスレベルのために好ましいコンテンツプロバイダまたはコンテンツプロバイダとの契約、同じユーザによって別の（または現在の）ブラウズセッションのために使用されている遠隔セッションブラウジング構成、または任意の他の要因を更に考慮してもよい。
【００６４】
いくつかの実施形態において、ＮＣＣ  ＰＯＰ１４２は、遠隔セッションブラウジング構成の決定を過去の動作または習慣に基づかせてもよい。例えば、過去に特定のリソースについて遠隔ブラウズセッション構成を決定したことがあるＮＣＣ  ＰＯＰ１４２は、リソースが同じ（または潜在的に異なる）ユーザによって要求されるとき、同じ遠隔ブラウズセッション構成を自動的に選択してもよい。別の実施例として、広範な処理要件を伴うウェブサイトに頻繁にアクセスする履歴を有するユーザは、ＮＣＣ  ＰＯＰ１４２で処理の大部分を行う遠隔セッションブラウジング構成を自動的に割り当てられてもよい。他の実施形態において、ＮＣＣ  ＰＯＰ１４２は、遠隔ブラウズセッション構成の決定を将来の動作の予測に基づかせてもよい。例えば、ＮＣＣ  ＰＯＰ１４２は、特定のウェブサイト、ネットワークドメイン、または関連するリソースの組について行われた過去の決定の分析に、特定のリソースについての遠隔ブラウズセッション構成の決定を基づかせてもよい。履歴上、ビデオの重いウェブページを提供したことがあるコンテンツプロバイダは、クライアントコンピューティングデバイス１０２でのビデオ性能に重点を置く遠隔セッションブラウジング構成と関連付けられてもよい。例示的に、過去の履歴分析および未来予測は、遠隔セッションブラウジング構成決定処理を基づかせるいくつかの要因のうちの１つ以上として見なされてもよく、または意思決定処理において最終的であってもよい。例えば、一旦、ＮＣＣ  ＰＯＰ１４２が、特定のコンテンツプロバイダについて遠隔セッションブラウジング構成を決定すると、それは、コンテンツプロバイダからサービス提供されるいずれの将来のリソースについても、遠隔セッションブラウジング構成決定処理をスキップしてもよい。例示的に、ＮＣＣ  ＰＯＰ１４２は、一定期間後、またはＮＣＣ  ＰＯＰ１４２がコンテンツプロバイダによって使用されているコンテンツにおける変化を識別または決定した後、コンテンツプロバイダと関連付けられる遠隔セッションブラウジング構成を再決定してもよい。
【００６５】
他の実施形態において、ネットワークリソース、ウェブサイト、ネットワークドメイン、コンテンツプロバイダ、または他のネットワークエンティティは、リソースタグ、メタデータ、またはＮＣＣ  ＰＯＰ１４２との他の通信における、特定の遠隔ブラウズセッション構成の使用を指定するか、あるいは要求してもよい。ＮＣＣ  ＰＯＰ１４２は、要求を最終的なものとして扱ってもよく、または意思決定処理において考慮される複数の要因の１つとして要求を考慮してもよい。
【００６６】
例えば、ＲＤＰ等の遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成は、クライアントコンピューティングデバイス１０２ではなく、ネットワークコンピューティングプロバイダ１０７（例えば、ＮＣＣ  ＰＯＰ１４２で）で行われるように、広範な処理を指定してもよい。したがって、遠隔セッションブラウジング構成は、多くの前処理（例えば、ページレイアウトを定義する多くのＣＳＳまたはＪａｖａｓｃｒｉｐｔ情報を有するコンテンツ）を必要とするネットワークコンテンツを扱うとき、短い待機時間および提示遅延を達成するためにＮＣＣ  ＰＯＰ１４２の処理能力を活用してもよい。したがって、ＮＣＣ  ＰＯＰ１４２は、ネットワークコンピューティングプロバイダ１０７で実質的量の処理を行い、処理に集中するコンテンツの通信のためのＲＤＰまたは類似の遠隔セッション通信プロトコルを利用する、遠隔セッションブラウジング構成を選択してもよい。反対に、ＨＴＭＬ等の遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成は、ネットワークコンピューティングプロバイダ１０７ではなく、クライアントコンピューティングデバイス１０２での広範な処理を指定してもよい。したがって、遠隔セッション通信プロトコルは、処理をほとんど必要としない単純なネットワークコンテンツ、または初期読み込み後、表示されるコンテンツにおける早急な変更を必要とするネットワークコンテンツを用いて提示されるとき、より小さい遅延およびより円滑な提示を達成し得る。例えば、埋め込みビデオを有するウェブページは、遠隔セッション通信プロトコルとしてのＲＤＰではなく、処理の大部分をローカルに行い、ＨＴＭＬを利用することでより良好に機能し得る。ネットワークコンピューティングプロバイダ１０７での広範な処理を指定する遠隔セッションブラウジング構成は、ＮＣＣ  ＰＯＰ１４２でビデオを処理し、スクリーン更新を（例えばＲＤＰによって）クライアントコンピューティングデバイス１０２に早急に送信しなければならず、潜在的には多くの帯域を必要とし、ブラウザ内でむらのある再生を引き起こすが、一方でローカル処理を特定する遠隔セッションブラウジング構成は、加工されていないビデオ情報を表示（例えば、ＨＴＭＬによる）のためにクライアントコンピューティングデバイス１０２に直接提供することができ、コンテンツのクライアント側のキャッシングおよびより円滑な再生を可能にする。
【００６７】
更なる例として、極めて限定された処理能力を有するクライアントコンピューティングデバイス１０２と通信するＮＣＣ  ＰＯＰ１４２は、例えば、ＮＣＣ  ＰＯＰ１４２の処理済み結果を伝送するためにＲＤＰを使用し、クライアントコンピューティングデバイスによる処理をほとんど必要としない遠隔セッションブラウジング構成を使用することを選択してもよい。逆に、極めて対話的なウェブページを提供するＮＣＣ  ＰＯＰ１４２は、クライアントコンピューティングデバイス１０２が、例えば、実質的に未処理のデータを送信するためにＨＴＭＬを使用して、インターフェース応答性を保つために、ユーザ対話をローカルに扱うことを可能にする遠隔セッションブラウジング構成を使用することを選択してもよい。なおも更なる例として、ＮＣＣ  ＰＯＰ１４２は、クライアントコンピューティングデバイス１０２によって提供される選好に、遠隔セッションブラウズ構成の決定を基づかせてもよい。例示的に、クライアントコンピューティングデバイス１０２は、初期ブラウズセッション要求における、または任意の他の時点の遠隔セッションブラウズ構成のための選好を含んでもよい。ＮＣＣ  ＰＯＰ１４２は、任意の他の要因または決定メトリック値に対する代替手段として、またはこれらに加えて、これらの選好を使用してもよい。例示的に、クライアントコンピューティングデバイス１０２が遠隔セッションブラウズ構成の選択を設定し、またはこれに影響を与えることを可能にすることは、遠隔セッションブラウズ構成を決定するとき、ＮＣＣ  ＰＯＰ１４２がユーザ選好を考慮することを可能にする。例えば、初期ページ読み込み時間を懸念するユーザは、遠隔処理に重きを置き、ＲＤＰ遠隔セッション通信プロトコルを利用する、遠隔セッションブラウジング構成を使用することを好む場合があるが、一方で極めて応答的なインターフェースを維持することを希望するユーザは、例えば、ＨＴＭＬ遠隔セッション通信プロトコルを使用して、クライアントコンピューティングデバイス１０２上で処理の大部分を行う、遠隔セッションブラウジング構成を使用することを好む場合もある。
【００６８】
例示的に、ＮＣＣ  ＰＯＰ１４２は、遠隔ブラウジング構成の決定を任意の要因または要因の組み合わせに基づかせてもよい。例えば、ＮＣＣ  ＰＯＰ１４２は、単一の要因に基づいて遠隔セッションブラウジング構成を選択してもよく、または決定を行う際に１つ以上の要因に重みを割り当ててもよい。いくつかの実施形態において、ＮＣＣ  ＰＯＰ１４２の決定処理は、上の１つ以上の要因に基づいて変化する場合がある。例えば、余剰の未使用帯域でネットワークを介してクライアントコンピューティングデバイス１０２と通信するＮＣＣ  ＰＯＰ１４２は、遠隔ブラウズセッションのネットワーク要件等の要因に低い重みを与えてもよく、ページ対話の待機時間等の要因に高い重みを与えてもよいが、一方で限定された帯域のネットワークを介してクライアントコンピューティングデバイス１０２と通信するＮＣＣ  ＰＯＰ１４２は、ネットワークを介して遠隔セッションブラウズプロトコルの効率性を扱う要因に重みを与えてもよい。
【００６９】
一実施形態において、ＮＣＣ  ＰＯＰ１４２は、１組のネットワークコンテンツのために単一の遠隔セッションブラウジング構成を選択してもよい。例えば、ＮＣＣ  ＰＯＰ１４２は、ウェブページ等の要求されたネットワークリソースのために単一の遠隔セッションブラウジング構成を選択してもよい。したがって、ＮＣＣ  ＰＯＰ１４２は、選択された遠隔ブラウジングセッションプロトコルに基づいて、全ての埋め込みコンテンツと一緒にウェブページを処理し、遠隔ブラウジングセッションプロトコルを使用して、ウェブページと関連付けられた全ての埋め込みコンテンツについてのユーザ対話データおよび更新されたブラウズセッションデータを交換してもよい。別の実施形態において、ＮＣＣ  ＰＯＰ１４２は、１組のネットワークコンテンツにおける１つ以上のリソースのために、異なる遠隔セッションブラウジング構成を選択してもよい。例えば、ウェブページ等のネットワークリソースは、処理集中型埋め込みＪａｖａｓｃｒｉｐｔもしくはＣＳＳリソース、ならびに埋め込みビデオリソースを参照してもよい。ＮＣＣ  ＰＯＰ１４２は、埋め込みビデオリソースを除く、ウェブページおよび全ての埋め込みリソースのための第１の遠隔セッションブラウジング構成と、埋め込みビデオリソースのための第２の遠隔セッションブラウジング構成とを選択してもよい。例示的に、これはＮＣＣ  ＰＯＰ１４２がＲＤＰを利用し、処理結果をウェブページおよび関連付けられた埋め込みリソースの表示用のクライアントコンピューティングデバイス１０２に送信することをもたらし得るが、一方で、一実施形態において、ＨＴＴＰを利用し、埋め込みビデオを別個の未処理ファイルとして送信して、クライアントコンピューティングデバイス１０２は、ウェブページおよび埋め込みリソースに対応するＲＤＰ処理結果を表示するために必要とされる最小限の処理を行ってもよく、また、埋め込みビデオを表示するために必要な追加の処理を行い、例えば、ウェブページの表示されたＲＤＰ表現の最上面でビデオをオーバーレイしてもよい。任意の数の遠隔セッションブラウジング構成は、リソースまたはオブジェクトが、１つ以上の論理ファイルまたはデータ構造において、コンテンツプロバイダ１０４から得られたか、またはＣＤＮサービスプロバイダ１０６から得られたかに関わらず、１組のネットワークコンテンツに含まれる任意の数のリソースまたはオブジェクトに対応するように選択されてもよい。
【００７０】
遠隔セッションブラウジング構成の選択は、全てのネットワークリソースおよび関連付けられた埋め込みコンテンツがＮＣＣ  ＰＯＰ１４２によって得られた後に行われるものとして本明細書に例示的に図示されるが、当業者であれば、遠隔セッションブラウジング構成の選択が任意の時点で行われてもよいことを理解するであろう。例えば、ＮＣＣ  ＰＯＰ１４２は、新しいブラウズセッション要求または関連する情報をクライアントコンピューティングデバイスから受信した後に、遠隔セッションブラウジング構成を選択してもよく、ネットワークリソースを得た後であるが、任意の関連付けられた埋め込みリソースを得る前に、または任意の他の時点に、遠隔セッションブラウジング構成を選択してもよい。いくつかの実施形態において、ＮＣＣ  ＰＯＰ１４２は、クライアントコンピューティングデバイス１０２が初期処理結果を得た後の何らかの時点で、新しい遠隔セッションブラウジング構成に切り替えてもよい。例示的に、新しい遠隔セッションブラウジング構成を選択するＮＣＣ  ＰＯＰ１４２は、ある特定の期間もしくはイベント後、またはネットワーク状態、ＮＣＣ  ＰＯＰ１４２またはクライアントコンピューティングデバイス１０２の負荷もしくはコンピューティングリソース、または遠隔セッションブラウジング構成の選択に潜在的に影響するものとして上述される任意の他の要因の変化に応答して自動的に行われてもよい。例示的に、他の種類または形式の情報を扱うＮＣＣ  ＰＯＰ１４２は、任意の数の類似の要因に基づいて遠隔セッションプロトコルを選択してもよい。例えば、当業者であれば、類似のスキーマが画像、ビデオ、オーディオ、データベース情報、３次元デザインデータ、または当該技術分野で既知の任意の他のファイル形式または種類のデータの処理のために開発されてもよいことを理解するであろう。
【００７１】
クライアントコンピューティングデバイス１０２は、様々な実施形態において、遠隔ブラウズセッションのための要求を用いて順次、または同時に並行なブラウジング処理を更にインスタンス化してもよい。一実施形態において、クライアントコンピューティングデバイス１０２は、ＮＣＣ  ＰＯＰ１４２を実行する１つ以上の遠隔ブラウズインスタンスに加えて、当技術分野で既知の従来のローカルブラウズセッション（例えば、コンテンツ要求をブラウザから提供することおよび得られたリソースをローカルに処理すること）をインスタンス化してもよい。別の実施形態において、クライアントコンピューティングデバイス１０２は、ＮＣＣ  ＰＯＰ１４２によって未処理のネットワークリソースを提供されてもよい。例示的に、ネットワークリソースは、ＮＣＣ  ＰＯＰ１４２によって１つ以上のコンテンツプロバイダ、ＣＤＮ、またはキャッシュコンポーネントから取り出され得た。リソースは、クライアントコンピューティングデバイス１０２に提供され、ＮＣＣ  ＰＯＰ１４２で実行している遠隔ブラウズインスタンスと並行にローカルに処理してもよい。なおも更なる実施形態において、ネットワークコンピューティングプロバイダまたはＮＣＣ  ＰＯＰ１４２は、任意の数の新しい仮想マシンインスタンスおよび／またはブラウザインスタンスインスタンス化し（または既存のインスタンス化されたインスタンスを使用する）、リソースを処理し、および／または処理結果をクライアントコンピューティングデバイス１０２に並行に送信してもよい。例示的に、クライアントコンピューティングデバイス１０２のローカルブラウズセッションおよびＮＣＣ  ＰＯＰ１４２の遠隔ブラウズセッションインスタンスは、並行に実行してもよい。
【００７２】
一実施形態において、クライアントコンピューティングデバイス１０２で実行するローカルブラウズセッションは、ブラウズセッション要求に応答して、未処理のコンテンツ（例えば、ｈｔｍｌウェブページ、埋め込みコンテンツ、および他のネットワークリソース）をＮＣＣ  ＰＯＰ１４２から得てもよい。例示的に、コンテンツは、ブラウズセッション要求に応答して、ＮＣＣ  ＰＯＰ１４２によって、コンテンツプロバイダ、ＣＤＮ、またはキャッシュから取り出され得た。ＮＣＣ  ＰＯＰ１４２によって提供された未処理のコンテンツは、ブラウズセッション要求と関連付けられた全てのコンテンツを含み得るか、あるいはコンテンツプロバイダもしくはＣＤＮから取り出されるか、またはいくつかの他のソースから得られるクライアントコンピューティングデバイスのキャッシュ内に存在するコンテンツを補足してもよい。一実施形態において、クライアントコンピューティングデバイス１０２は、全ての要求されたコンテンツをローカルキャッシュから得てもよく、いずれの未処理のリソースまたはコンテンツもＮＣＣ  ＰＯＰ１４２から得ない場合がある。未処理のコンテンツを得た後、クライアントコンピューティングデバイス１０２は、ＮＣＣ  ＰＯＰ１４２で実行する遠隔ブラウズセッションと並行に、要求されたコンテンツを処理してもよい。例えば、クライアントコンピューティングデバイス１０２で実行するローカルブラウズセッションが要求されたコンテンツを処理しているとき、ＮＣＣ  ＰＯＰ１４２で実行する遠隔ブラウズセッションは、同じコンテンツを実質的に同時に処理している場合がある。一旦、ＮＣＣ  ＰＯＰ１４２が、コンテンツ上で１組の処理行為を行い、処理結果を生成すると（例えば、決定された遠隔セッションブラウジング構成によって指定されるように）、ＮＣＣ  ＰＯＰ１４２は、処理結果をクライアントコンピューティングデバイス１０２に提供してもよい。
【００７３】
例示の目的のために、クライアントコンピューティングデバイス１０２は、要求されたネットワークリソースを得て、それを処理するのに、ＮＣＣ  ＰＯＰ１４２で実行するブラウズセッションインスタンスよりも長い読み込み時間を必要とする場合がある。例えば、ＮＣＣ  ＰＯＰ１４２は、ネットワーク上でのＮＣＣ  ＰＯＰ１４２の位置、および、ＮＣＣ  ＰＯＰ１４２と比較したローカルクライアントコンピューティングデバイスの相対的処理能力に起因して、コンテンツを迅速に得て、処理し得る。たとえＮＣＣ  ＰＯＰ１４２がクライアントコンピューティングデバイス１０２に全ての要求されたネットワークコンテンツを提供しても、クライアントコンピューティングデバイス１０２は、依然として、ローカルブラウズセッションが要求されたリソースを処理することを完全に完了する前に、処理結果をＮＣＣ  ＰＯＰ１４２から得てもよい。クライアントコンピューティングデバイス１０２は、コンテンツのローカル処理および表示を完了する前に、任意の更なる処理ステップを完了させ、得られた処理結果を表示してもよい。例示的に、これは、クライアントコンピューティングデバイス１０２が従来のローカルブラウズセッションに対するＮＣＣ  ＰＯＰ１４２の早急なコンテンツ読み込み時間を利用することを可能にし得る。全ての要求されたリソースを処理することを完了するローカルブラウズセッションに先立って、ブラウザは、下の図５および１１に記載されるように、任意のユーザ対話をローカルおよび／または遠隔に処理してもよい。
【００７４】
一旦、ローカルブラウズセッションが要求されたコンテンツに対応するリソースを完全に得て、処理すると、コンピューティングデバイス１０２は、決定された遠隔セッションブラウジング構成を使用して、ＮＣＣ  ＰＯＰ１４２から得られた結果を継続して表示する（かつＮＣＣ  ＰＯＰ１４２でユーザ対話を処理する）か、またはユーザ対話をローカルに処理することに切り替えるかを決定してもよい。ユーザ対話をローカルに処理することに切り替えることは、ＮＣＣ  ＰＯＰ１４２から得られた処理結果に基づく要求されたリソースの表示された表現を要求されたリソースのローカル表示と置き換えることを含んでもよい。例えば、ブラウザは、ブラウザがウェブページをローカルに処理およびレンダリングすることを終了するまで、ＮＣＣ  ＰＯＰ１４２からの処理結果（例えば、レンダリングされたページを表現するＲＤＰ表示情報）に対応するウェブページの表現を表示してもよい。次いで、ブラウザは、ＮＣＣ  ＰＯＰ１４２からの表現をローカルにレンダリングされたウェブページの表現と置き換えてもよい。例示的に、１つの表現を別の表現と置き換えることは、ユーザにとって透過的であり得る。例えば、ウェブページのローカルおよびＮＣＣ  ＰＯＰ１４２の表現は、同一または実質的に同一であり得る。一実施形態において、ウェブページのＮＣＣ  ＰＯＰ１４２表現が表示されるとき、ブラウザは、表示されたページとの様々なユーザ対話を処理用ＮＣＣ  ＰＯＰ１４２に送信してもよい。ローカルにレンダリングされたバージョンのウェブページが表示されるとき、ユーザ対話は、ブラウザでローカルに処理されてもよい。例示的に、要求されたリソースのどの表現を表示すべきか（例えば、ローカルに、またはＮＣＣ  ＰＯＰ１４２から）の決定は、上の遠隔セッションブラウズプロトコルを決定することを参照して記載されたものと同じ要因のいずれかに基づき得る。
【００７５】
一実施形態において、クライアントコンピューティングデバイス１０２は、ローカルリソースが完全に読み込まれるや否や、ユーザ対話のローカル処理に切り替えてもよい。例示的に、ＮＣＣ  ＰＯＰ１４２で実行する遠隔ブラウズセッションインスタンスは、ローカル処理に切り替えた後に終了してもよく、または遠隔ブラウズセッションインスタンスは、ローカルブラウズセッションに関する無応答または故障の場合のバックアップとして維持されてもよい。例えば、クライアントコンピューティングデバイス１０２は、ユーザ対話をローカルに処理し、ならびに選択された遠隔セッションブラウジング構成に従って遠隔ユーザ対話データをＮＣＣ  ＰＯＰ１４２に送信してもよい。遠隔ユーザ対話データは、ＮＣＣ  ＰＯＰ１４２によって使用され、遠隔ブラウズセッションインスタンスを、クライアントコンピューティングデバイス１０２でブラウザによって実行されているローカルブラウズ処理と完全に並行に保持してもよい。ローカルブラウズセッションが継続してユーザ対話を扱う限り、ＮＣＣ  ＰＯＰ１４２は、更新された処理結果を送信することを抑制してもよく、またはクライアントコンピューティングデバイス１０２によって無視された、更新された処理結果を送信してもよい。クライアントコンピューティングデバイス１０２のローカルブラウズセッションについて問題が生じるとき、更新された処理結果は、ローカルブラウズセッションの代わりの処理および表示のためにＮＣＣ  ＰＯＰ１４２からクライアントコンピューティングデバイス１０２に提供されてもよい。例示的に、ローカルブラウズセッションから遠隔処理へのこの切り替えは、ユーザにとって透過的であり得る。いくつかの実施形態において、クライアントコンピューティングデバイス１０２は、ローカルブラウザでの無応答または故障以外の要因に基づいて、ローカルブラウズセッションから遠隔ブラウズセッションインスタンスに切り替えてもよい。例えば、クライアントコンピューティングデバイス１０２またはネットワークコンピューティングおよびストレージコンポーネント１０７は、上の遠隔セッションブラウズプロトコルを決定することに関して列挙された要因のいずれかに基づいて、遠隔ブラウズセッションとローカルブラウズセッションとの間で選択されてもよい。
【００７６】
別の実施形態において、クライアントコンピューティングデバイス１０２は、ローカルブラウズセッションが要求されたコンテンツを完全に読み込んだ後でさえも、ＮＣＣ  ＰＯＰ１４２からの更新された処理結果を継続して処理し、表示してもよい。クライアントコンピューティングデバイス１０２は、ローカルブラウズセッションを終了してもよく、または上記で提供された例とは逆に、バックアップ処理としてローカルブラウズセッションを並行に実行させてもよい。ローカルブラウズセッションは、例示の目的のために、遠隔ブラウズセッションインスタンスより遅く読み込むものとしてここでは記載されているが、いくつかの実施形態において、ローカルブラウズセッションは、遠隔ブラウジングセッションよりコンテンツを早く読み込むことができ、この場合において、ブラウザは、遠隔ブラウズ処理が要求されたコンテンツを完全に読み込むまで、ユーザ対話をローカルに処理してもよいことを理解されたい。いくつかの実施形態において、クライアントコンピューティングデバイス１０２は、ブラウズセッションが初めに、どのユーザ対話を介して要求されたコンテンツをローカルまたは遠隔に読み込もうとも、そのユーザ対話を表示および処理してもよい。
【００７７】
様々な他の実施形態において、ネットワークコンピューティングプロバイダ１０７は、ローカルブラウズセッションをインスタンス化することに加えて、またはこの代替として、複数の遠隔ブラウズセッションインスタンスをインスタンス化し、並行に実行してもよい。例示的に、これらの並行なブラウズセッションインスタンスは、同じまたは異なる遠隔セッションブラウズプロトコルのいずれを利用してもよく、ローカルブラウズセッションに関して上の様式でのバックアップとして機能してもよく、またはクライアントコンピューティングデバイス１０２でのブラウザ性能を最大化するために、代替として使用され、その間で切り替えられてもよい。例えば、１つ以上のブラウズセッション要求に応答して、ネットワークコンピューティングプロバイダ１０７は、第１のＮＣＣ  ＰＯＰ上で実行し、ＲＤＰプロトコルを使用するブラウズセッションインスタンス、ならびに第２のＮＣＣ  ＰＯＰ上で実行し、Ｘ−ウィンドウプロトコルを使用するブラウズセッションインスタンスをインスタンス化してもよい。クライアントコンピューティングデバイス１０２またはネットワークコンピューティングプロバイダ１０７は、上の遠隔セッションブラウズプロトコルの決定に関して記載された性能またはリソース使用の考慮に基づいて、どのブラウズセッションインスタンスおよびプロトコルが使用されるべきかを決定してもよい。
【００７８】
続けて図９を参照して、ブロック９１８で、ネットワークコンピューティングプロバイダ１０７は、初期処理結果を生成するための決定された遠隔セッションブラウジング構成に従って、１つ以上の要求されたネットワークリソースおよび埋め込みネットワークリソースを含む、得られたコンテンツを処理してもよい。ブロック９２０で、ネットワークコンピューティングプロバイダ１０７は、更に処理するために初期処理結果をクライアントに提供し、ブラウザのコンテンツ表示区域に表示してもよい。更なる実施例の目的のために、クライアントコンピューティングデバイス１０２によって実装される例示的なクライアントの新しいブラウズセッション対話ルーチン１０００が、図１０を参照して下に記載される。ブロック９２２で、新しいブラウズセッション開始ルーチン９００が終了する。
【００７９】
図１０は、クライアントコンピューティングデバイス１０２によって実装されるクライアントの新しいブラウズセッション対話ルーチン１０００を例示する、流れ図である。新しいブラウズセッション対話ルーチン１０００は、クライアントコンピューティングデバイス１０２にネットワークコンテンツを表示するためのブラウザを読み込ませる、イベントまたはユーザ要求に応答して、ブロック１００２で開始する。ブロック１００４で、クライアントコンピューティングデバイスは、全てのローカルインターフェースコンポーネントを含む、ブラウザのローカルに管理されたコンポーネントを読み込む。図５および７を参照して上述されるように、ローカルインターフェースコンポーネントには、ツールバー、メニュー、ボタン、またはクライアントコンピューティングデバイスでローカルに実行し、もしくは実装されるソフトウェアブラウザアプリケーションもしくは任意の他の処理によって管理および制御される、他のユーザインターフェース制御が含まれてもよい。ブロック１００６で、クライアントコンピューティングデバイス１０２は、新しいブラウズセッションインスタンスのための要求をネットワークコンピューティングプロバイダ１０７に提供する。クライアントコンピューティングデバイスのユーザの観点から、新しいブラウズセッションのための要求は、要求を１つ以上の対応するコンテンツプロバイダ１０４に伝送するための意図される要求に対応する。他の実施形態において、新しいセッション要求は、ファイルまたは他のドキュメントを読み込むための要求（例えば、写真編集アプリケーションで画像を読み込むための要求等）に対応してもよい。例示的に、要求は、ブラウザ読み込み（例えば、既定または「ホーム」ページのための要求）の結果として自動的に生成されてもよく、またはユーザがリンクに従うか、もしくはネットワークアドレスをアドレスバーに入力したことの結果として生成されてもよい。図２に関して記載されるように、ブラウズセッション要求は、最初にネットワークコンピューティングプロバイダ１０７に伝送される。例示的な実施形態において、ネットワークコンピューティングプロバイダ１０７は、登録ＡＰＩを利用して、クライアントコンピューティングデバイス１０２からのブラウズセッション要求を承諾する。
【００８０】
ブラウズセッション要求は、ユーザと関連付けられた情報、クライアントコンピューティングデバイス１０２またはクライアントコンピューティングデバイス上のソフトウェアと関連付けられた情報（例えば、ハードウェアまたはソフトウェア情報、デバイスの物理的または論理的位置等）、ネットワーク１０８、ユーザ、またはブラウザ選好と関連付けられた情報（例えば、要求された遠隔セッションブラウズプロトコル、選好一覧、決定ツリー、または他の情報）、ネットワークコンピューティングプロバイダ１０７と関連付けられた情報、要求されたネットワークコンテンツの１つ以上と関連付けられた情報（例えば、ネットワークリソースのネットワークアドレス）等を含むが、これらに限定されない、任意の数のデータまたは情報を含んでもよい。例えば、クライアントコンピューティングデバイス１０２からのブラウズセッション要求は、とりわけ、特定のクライアントコンピューティングデバイスハードウェアの仕様またはハードウェア性能レベル、最近のコンテンツ要求と関連付けられた待機時間および帯域データ、異なる種類のコンテンツを処理するための所望のセキュリティレベル、遠隔セッションブラウズプロトコルの所定の選好一覧、および要求されたネットワークリソースに対応する１つ以上のネットワークアドレスを識別する情報を含んでもよい。別の実施例において、ブラウズセッション要求は、クライアントコンピューティングデバイス１０２のスクリーン解像度、アスペクト比を識別する情報を含むことができ、またはブラウズセッション要求におけるブラウザ表示区域は、ネットワークコンピューティングプロバイダ１０７がクライアントコンピューティングデバイス上で表示するために、ネットワークコンテンツの処理をカスタマイズすることを可能にし得る。前述のように、ブラウズセッション要求は、要求されたネットワークリソースに対応するネットワークアドレス情報を含むことができ、これは、インターネットプロトコル（「ＩＰ」）アドレス、ＵＲＬ、メディアアクセスコントロール（「ＭＡＣ」）アドレス等を含むが、これらに限定されない、任意の形態であってもよい。一実施形態において、新しいブラウズセッションインスタンスのための要求は、上の図９のブロック９０４で新しいブラウズセッションインスタンスのための要求を受信する、ネットワークコンピューティングプロバイダに対応してもよい。
【００８１】
ブロック１００８で、クライアントコンピューティングデバイス１０２は、初期処理結果をネットワークコンピューティングプロバイダ１０７から得る。例示的に、初期処理結果に含まれる形式およびデータは、ネットワークコンピューティングプロバイダ１０７によって選択された遠隔セッションブラウジング構成に基づいて変化してもよい。一実施形態において、初期処理結果は、クライアントコンピューティングデバイス１０２に遠隔セッションブラウジング構成の選択を伝え、かつ／または選択された遠隔セッションブラウジング構成に対応する遠隔セッション通信プロトコルを介して接続を確立するデータを含むか、またはこれによって先行されてもよい。図８および９を参照して上に論じられたように、得られた初期処理結果は、ネットワークコンピューティングプロバイダ１０７によって行われた１つ以上の処理行為を伴う要求されたコンテンツを含んでもよい。初期処理結果を得た後、クライアントコンピューティングデバイス１０２は、ブロック１０１０で、初期処理結果に任意の残存する処理行為を行ってもよい。
【００８２】
ブロック１０１２で、クライアントコンピューティングデバイス１０２は、処理済みの初期処理結果に対応するコンテンツを表示する。例えば、クライアントコンピューティングデバイス１０２は、上の図７に記載されるブラウザ７００のコンテンツ表示区域７０２に処理済みのクライアントを表示してもよい。一実施形態において、処理結果は、ブラウザによって表示された、コンテンツに対応する表示データを含むのみであってもよく、例えば、ＮＣＣ  ＰＯＰ１４２でのブラウザインスタンスのインターフェース制御、ブラウズセッションに対応する仮想マシンインスタンスのデスクトップ、またはＮＣＣ  ＰＯＰ１４２の任意の他のユーザインターフェースに対応する表示データを含まない場合がある。例えば、ＮＣＣ  ＰＯＰ１４２は、ＮＣＣ  ＰＯＰ１４２で仮想マシンインスタンスにおいて実行するブラウザインスタンスのＲＤＰを介して、表示のためのウェブページおよび関連付けられたコンテンツを処理してもよい。ブラウザインスタンスは、表示されたウェブページに加えて、ツールバー、メニュー、スクロールバー等の１つ以上のインターフェース要素を有してもよい。ＮＣＣ  ＰＯＰ１４２は、ブラウザと関連付けられたインターフェース要素のいずれも伴わずに、表示されたウェブページのみに対応するＲＤＰ処理結果を送信してもよい。例示的に、表示されたウェブページのみに対応するＲＤＰ処理結果を含むことは、クライアントコンピューティングインスタンス１０２でのブラウザが、任意の更なる処理をせずに、ブラウザのコンテンツ表示区域においてＲＤＰ処理結果をアセンブルすることによって、ウェブページを表示することを可能にし得る。別の実施形態において、ＲＤＰ処理結果は、ＮＣＣ  ＰＯＰ１４２のブラウズセッションインスタンスで表示される完全なインターフェースに対応する、完全な仮想マシンデスクトップおよびブラウザウィンドウを含んでもよい。クライアントコンピューティングデバイスは、要求されたコンテンツに対応するＲＤＰ処理結果の区域を自動的に識別してもよく、ブラウザのコンテンツ表示区域でこの区域のみを表示してもよい。
【００８３】
ブロック１０１４で、クライアントコンピューティングデバイス１０２は、ローカルおよび遠隔ユーザ対話を処理する。図１１を参照して、ユーザ対話を処理するための例示的なルーチンが下に提供される。ブロック１０１６で、ルーチンは終了する。例示的に、ネットワークコンピューティングコンテンツプロバイダ１０７によってインスタンス化されたブラウズセッションインスタンスは、ブラウザウィンドウまたはコンテンツ表示区域が閉じられるときに終了してもよく、遠隔セッションブラウズプロトコルがクライアントコンピューティングデバイス１０２での並行処理によって置き換えられるときに終了してもよく、またはタイマーまたは他のイベントに従って終了しもよい。例示的に、ブラウズセッションがタイムアウトのために自動的に終了したが、関連付けられたコンテンツがクライアントコンピューティングデバイス１０２のブラウザ内でまだ表示されているとき、コンテンツと対話するためのユーザによる後の試みは、ネットワークコンピューティングおよびストレージサービスのプロバイダ１０７に提供される新しいブラウズセッション要求をもたらし、終了されたセッションの最後の状態に従って新しいブラウズセッションを開始し得る。例示的に、タイムアウト後に遠隔ブラウズセッションを終了することは、ネットワークコンピューティングストレージプロバイダ１０７がＮＣＣ  ＰＯＰでコンピューティングリソースを保存することを可能にし得る。一実施形態において、この処理は、たとえ遠隔ブラウズセッションがその間の期間中に終了されたとしても、クライアントコンピューティングデバイス１０２でユーザにとって透過的であり得る。
【００８４】
図１１は、クライアントコンピューティングデバイス１０２によって実装される処理ユーザ対話ルーチン１１００を例示する、流れ図である。処理ユーザ対話ルーチン１１００は、ユーザによる対話に応答して、ブロック１１０２で開始する。例示的に、処理ユーザ対話ルーチン１１００は、ブラウザインターフェースのコンテンツ表示区域におけるコンテンツの表示後に開始してもよい。例えば、処理ユーザ対話ルーチン１１００は、上の図１０のブロック１０１４に対応してもよい。
【００８５】
例示的に、表示されたコンテンツは、フォーム、ボタン、アニメーション等の１つ以上の対話要素を有してもよい。これらの対話要素とのユーザ対話は、コンテンツ表示区域における更新されたコンテンツの処理および表示を必要とする場合がある。例えば、ウェブページ上のドロップダウンメニューにおける要素を選択することは、処理を必要とする場合があり、ウェブページまたは埋め込みリソースの構成または視覚的外観を変更する場合がある。例示的に、表示されたコンテンツについてユーザ対話によって必要とされる処理は、使用する遠隔セッションブラウジング構成に応じて、クライアントコンピューティングデバイス１０２でのローカルユーザ対話として、またはＮＣＣ  ＰＯＰ１４２での遠隔ユーザ対話として、扱われてもよい。例えば、遠隔セッションブラウジング構成が実質的なローカル処理（例えば、ＨＴＭＬを介して未処理ファイルを送信する）を使用するとき、表示されたコンテンツとのユーザ対話は、典型的に、クライアントコンピューティングデバイス１０２でのローカルユーザ対話として扱われてもよい。例示的に、表示されたコンテンツとのユーザ対話をクライアントコンピューティングデバイス１０２でのローカルユーザ対話として扱うことは、対話に対応する対話データが処理用ＮＣＣ  ＰＯＰ１４２に送信される必要がないため、単純なユーザ対話（例えば、ラジオボタンの選択、またはフィールドにテキストを打ち込むこと）についてより良好な応答性およびより少ない遅延を可能にし得る。
【００８６】
更なる例示として、コンテンツの重い遠隔処理（例えば、ＲＤＰを介して処理済みビットマップデータを送信すること）を利用する遠隔セッションブラウジング構成が、遠隔セッションブラウジング構成として使用されているとき、表示されたコンテンツとの全てのユーザ対話は、遠隔ユーザ対話として扱われてもよい。例えば、ユーザ入力（例えば、キーボード入力およびカーソル位置）は、ＲＤＰプロトコルデータ単位でカプセル化され、ネットワーク１０８全体で処理用にＮＣＣ  ＰＯＰ１４２に伝送されてもよい。例示的に、ＮＣＣ  ＰＯＰ１４２は、ユーザ対話をネットワークコンテンツに適用し、コンテンツの更新された表現に対応する更新されたビットマップおよびインターフェースデータからなる処理結果を、クライアントコンピューティングデバイス１０２に戻して伝送してもよい。例示的に、表示されたコンテンツとのユーザ対話をＮＣＣ  ＰＯＰ１４２での遠隔ユーザ対話として扱うことは、データがネットワークを介して渡すように要求され、ネットワーク待機時間によって制限されるため、インターフェース応答性にマイナスの影響を有する場合があるが、実質的な量の処理を必要とするユーザ対話は、ＮＣＣ  ＰＯＰ１４２の処理待機時間がクライアントコンピューティングデバイス１０２の処理待機時間より実質的に短くなり得るため、遠隔ユーザ対話として扱われるとき、より良好に機能し得る。
【００８７】
ネットワークコンテンツを表示するためのコンテンツ表示区域に加えて、ブラウザは、ツールバー、メニュー、ボタン、または他のユーザインターフェース制御等の、１つ以上のローカルインターフェースコンポーネントを有してもよい。ローカルインターフェースコンポーネントとの対話は、例示的な図７に更に図示される対話および遠隔セッションブラウジング構成によって必要とされる処理に応じて、ローカルユーザ対話または遠隔ユーザ対話として扱われてもよい。例えば、いくつかのローカルインターフェースコンポーネントは、クライアントコンピューティングデバイス上で走っているブラウザコードによってローカルに管理されてもよいが、一方で他のローカルインターフェースコンポーネントは、１つ以上のローカルも管理されたアスペクト（例えば、ボタンクリックフィードバック、スクロールバー再描画等）、および遠隔ユーザ対話（例えば、ページリフレッシュ、アドレスバーにおいてアドレスのページを要求すること等）として扱われる１つ以上の遠隔管理されたアスペクトを有してもよい。
【００８８】
ブロック１１０４で、クライアントコンピューティングデバイス１０２は、ユーザ対話をそのユーザから得る。このユーザ対話は、図７に記載されかつ上述されるローカルインターフェースコンポーネントとの対話であってもよく、またはフォームフィールド、ボタン、アニメーション等の、ブラウザのコンテンツ表示区域において表示されるコンテンツの任意の対話要素との対話であってもよい。これらのローカルインターフェースコンポーネントまたは表示されたコンテンツの対話要素とのユーザ対話は、図７に記載されかつ上述されるコンポーネントもしくは要素の性質、ならびに遠隔セッションブラウジング構成によって指定された処理分割に応じて、ローカルおよび／または遠隔処理を必要とする場合がある。ブロック１１０６で、クライアントコンピューティングデバイス１０２は、得られたユーザ対話のための対話処理要件を決定する。決定ブロック１１０８で、ユーザ対話がローカルアスペクト（例えば、ボタンクリックフィードバック、ローカルブラウザ状態への変更、クライアントコンピューティングデバイスで処理されているコンテンツ要素等）を有するとき、ルーチン１１０２は、ブロック１１１０に移動し、クライアントコンピューティングデバイス１０２でローカルアスペクトまたはユーザ対話のアスペクトを処理し、次に、ブロック１１１２でローカルインターフェースコンポーネントを更新する。例示的に、そして上述のように、対話のアスペクトおよびインターフェースコンポーネントおよび要素を更新することは、ブラウザが応答性ユーザインターフェースおよびコンテンツを提供することをローカルに可能にする。ユーザ対話のローカルアスペクト（複数可）を処理した後、またはユーザ対話がローカル要素（例えば、専らサーバ側で処理し、ＲＤＰ遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成を使用するとき、コンテンツ表示区域に表示されるコンテンツ要素とのユーザ対話）を有しないとき、ルーチン１１０２は、決定ブロック１１１４に移動する。ユーザ対話が処理を必要とする遠隔アスペクトを有するとき、ルーチン１１０２は、ブロック１１１６に移動し、遠隔ユーザ対話データをネットワークコンピューティングプロバイダ１０７に提供する。例示的に、ＲＤＰ遠隔セッション通信プロトコルを利用する、重いサーバ側の遠隔セッションブラウジング構成の場合、遠隔ユーザ対話データは、１つ以上のＲＤＰプロトコルデータ単位でカプセル化されたカーソル位置またはキーボード入力等の入力データを含んでもよい。ＲＤＰまたは他の遠隔セッション通信プロトコルを利用する遠隔セッションブラウジング構成のいくつかの実施形態において、カーソル位置等の、遠隔ユーザ対話データの特定のアスペクトは、連続的ベースでネットワークコンピューティングプロバイダ１０７に提供されてもよいが、一方で遠隔セッションブラウズ構成の他の実施形態において、遠隔ユーザ対話データは、遠隔処理を必要とするユーザ対話と関連付けられるとき、ネットワークコンピューティングプロバイダ１０７に提供されるのみであってもよい。
【００８９】
ブロック１１１８で、クライアントコンピューティングデバイス１０２は、ネットワークコンピューティングプロバイダ１０７が遠隔ユーザ対話データを処理し、コンテンツの更新された表現を生成した後、更新された処理結果をネットワークコンピューティングプロバイダ１０７から得る。ブロック１１２０で、クライアントコンピューティングデバイス１０２は、更新された処理結果（遠隔セッションブラウジング構成に基づく）に必要とされる任意の追加処理を行い、ブロック１１２２で、ブラウザのコンテンツ表示区域において更新された処理結果を表示する。ブロック１１２４で、処理ユーザ対話ルーチン１１０２は終了する。例示的に、ルーチンは、ブラウザおよび表示されたコンテンツとの更なるユーザ対話に応答して、何回でも再び実行されてもよい。
【００９０】
ここで図１２〜１４を参照して、図１のネットワーク化されたコンピューティング環境１００の様々なコンポーネントの間の対話が例示される。具体的には、図１２〜１４は、ネットワークコンピューティングプロバイダ１０７での１つ以上の持続的ブラウジングコンテキストネットワークの作成および維持のためのネットワーク化されたコンピューティング環境１００の様々なコンポーネントの間の対話を例示する。しかしながら、例示の目的のために、図示は、簡略化されており、したがって、通信を容易にするために使用されるコンポーネントの多くは示されない。当業者であれば、そのようなコンポーネントが利用され得、それに応じて、追加の対話が本開示の趣旨および範囲を逸脱することなく行われることを理解するであろう。
【００９１】
図２を参照して、処理は、クライアントコンピューティングデバイス１０２Ａからネットワークコンピューティングプロバイダ１０７への新しい持続的ブラウジングコンテキスト要求を生成および処理することから開始し得る。例示的に、クライアントコンピューティングデバイス１０２Ａは、イベントまたはユーザ要求に応答してネットワークコンテンツを表示するためのブラウザを読み込んでもよい。ブラウザが読み込まれた後、ブラウザは、新しい持続的ブラウジングコンテキストを要求するように構成されてもよい。様々な実施形態において、新しい持続的ブラウジングコンテキストのための要求は、ブラウザが読み込まれると自動的であってもよく、またはクライアントコンピューティングデバイスのユーザからのコマンドもしくは要求等のイベントの結果であってもよい。他の実施形態において、ブラウザは、下の図４に論じられるように、ネットワークコンピューティングプロバイダでインスタンス化された既存の持続的ブラウジングコンテキストへのアクセスを要求するように構成されてもよい。
【００９２】
図１２に例示されるように、クライアントコンピューティングデバイス１０２Ａおよびネットワークコンピューティングプロバイダ１０７は、持続的ブラウジングコンテキスト環境情報を交換してもよい。例示的に、持続的ブラウジングコンテキスト環境情報は、構成情報、識別する情報、ブラウズ選好情報、現在アクティブな持続的ブラウジングコンテキストに関する情報等を含むが、これらに限定されない任意の数の種類の情報を含んでもよい。他の実施形態において、持続的ブラウジングコンテキスト環境情報は、持続的ブラウジングコンテキスト要求に含まれてもよく、または持続的ブラウジングコンテキスト要求の前、その後、もしくはそれと同時に交換されてもよい。
【００９３】
クライアントコンピューティングデバイス１０２Ａは、持続的ブラウジングコンテキスト要求をネットワークコンピューティングプロバイダ１０７に送信してもよい。例示的な実施形態において、ネットワークコンピューティングプロバイダ１０７は、登録のアプリケーションプログラムインターフェース（「ＡＰＩ」）を利用して、クライアントコンピューティングデバイス１０２からの持続的ブラウジングコンテキスト要求を承諾する。一実施形態において、持続的ブラウジングコンテキスト要求は、上の図２〜６に記載されるように、ブラウズセッション要求または要求されたコンテンツを識別する他の情報を含むことができる。
【００９４】
持続的ブラウジングコンテキスト要求の受信後、ネットワークコンピューティングプロバイダ１０７は、ＮＣＣ  ＰＯＰ  １４２等のＮＣＣ  ＰＯＰを選択して、持続的ブラウジングコンテキスト要求にサービス提供してもよい。ＮＣＣ  ＰＯＰインスタンス時の処理およびネットワークリソースの選択およびソフトウェアの提供は、例えば、持続的ブラウジングコンテキスト環境情報または持続的ブラウジングコンテキスト要求に含まれる位置または性能情報に基づいて、少なくともある程度、コンテンツプロバイダ１０４およびクライアントコンピューティングデバイス１０２との通信を最適化するために行われてもよい。
【００９５】
選択されたＮＣＣ  ＰＯＰ  １４２は、持続的ブラウジングコンテキスト要求、およびクライアントコンピューティングデバイス１０２Ａとネットワークコンピューティングプロバイダ１０７との間で交換される任意の持続的ブラウジングコンテキスト環境情報に基づいて対応する、持続的ブラウジングコンテキストを生成してもよい。例示的に、新しい持続的ブラウジングコンテキストインスタンスをインスタンス化することは、ＮＣＣ  ＰＯＰ１４２で新しい仮想マシンインスタンスおよび／またはブラウザインスタンスを読み込み、新しい持続的ブラウジングコンテキストのためのデバイスメモリ、ストレージもしくはキャッシュ領域、プロセッサ時間、ネットワーク帯域、または他の計算的もしくはネットワークリソースを予約し、または割り当てることを含んでもよい。
【００９６】
明確さのためにここでは示されないが、新しい持続的ブラウジングコンテキストがＮＣＣ  ＰＯＰ  １４２でインスタンス化された後に、クライアントコンピューティングデバイス１０２Ａは、ＮＣＣ  ＰＯＰ  １４２に、新しいブラウズセッションのための要求または要求されたコンテンツに対応する他の要求を提供してもよい。ＮＣＣ  ＰＯＰ  １４２は、新しいブラウズセッション要求および／またはコンテンツ要求に対応する任意の数の新しいブラウズセッションを作成し、様々なブラウズセッション情報をクライアントコンピューティングデバイス１０２Ａと交換してもよい。例えば、ＮＣＣ  ＰＯＰ  １４２は、上の図２〜６に記載されるように、初期処理結果をクライアントコンピューティングデバイス１０２Ａに提供し、ユーザ対話データおよび更新された処理結果をクライアントコンピューティングデバイス１０２Ａと交換してもよい。ＮＣＣ  ＰＯＰ  １４２は、ブラウザおよびその中のコンテンツの表示の状態、構成、または選好の変更に対応するブラウザおよびコンテンツ構成データをさらに受信してもよい。ＮＣＣ  ＰＯＰ  １４２は、構成データおよびブラウズセッション情報を処理してもよく、持続的ブラウジングコンテキストにおいてコンテンツおよび状態情報を維持してもよい。例示的に、要求されたコンテンツに対応する新しいブラウズセッションは、持続的ブラウジングコンテキストと同じＮＣＣ  ＰＯＰ  １４２でインスタンス化されてもよく、または図１１を参照して上述される任意の数の性能、コスト、もしくは選好要因に基づいて、任意の他のＮＣＣ  ＰＯＰでインスタンス化されてもよい。様々な実施形態において、ブラウズセッションは、持続的ブラウジングコンテキストと関連付けられたそれぞれの１つのコンテンツ、タブ、ウィンドウ、フレーム、コンテンツのグループ、またはそれらの任意の組み合わせのために作成されてもよい。例示的に、それぞれのブラウズセッションは、上の図８〜１０を参照して記載される、同じまたは異なる遠隔セッションブラウズ構成と関連付けられてもよい。
【００９７】
図１１を参照して、クライアントコンピューティングデバイス１０２Ｂからネットワークコンピューティングプロバイダ１０７への、既存の持続的ブラウジングコンテキストにアクセスする要求の生成および処理を例示する、図１のコンテンツ配信環境のブロック図が開示される。図１１に例示されるように、第２のクライアントコンピューティングデバイス１０２Ｂは、ネットワーク１０８をまたいで、ネットワークコンピューティングプロバイダ１０７における既存の持続的ブラウジングコンテキスト要求にアクセスするよう試みてもよい。例示的な実施形態において、ネットワークコンピューティングプロバイダ１０７は、登録ＡＰＩを利用して、クライアントコンピューティングデバイス１０２Ｂからの持続的ブラウジングコンテキスト要求および持続的ブラウジングコンテキスト環境情報を承諾する。
【００９８】
例示的に、図１２を参照して上述される新しい持続的ブラウジングコンテキストの作成後に、クライアントコンピューティングデバイス１０２Ａのユーザは、表示されたコンテンツと対話することを停止してもよく、あるいはクライアントコンピューティングデバイス１０２Ａで走っているブラウザを脱離してもよい。例えば、ユーザは、クライアントコンピューティングデバイス１０２Ａで走っているソフトウェアブラウザアプリケーションを閉じてもよく、クライアントコンピューティングデバイス１０２Ａの電源を切ってもよく、または単に代替の活動に従事するようになってもよい。一実施形態において、ＮＣＣ  ＰＯＰ  １４２は、クライアントコンピューティングデバイス１０２Ａとの接続が失われた後でさえも、持続的ブラウジングコンテキストと関連付けられたソフトウェアブラウザアプリケーションを維持してもよい。他の実施形態において、ＮＣＣ  ＰＯＰ  １４２は、コンテンツ表示データ、コンテンツまたはセッション状態データ、ブラウザ構成または状態データ等を含む、持続的ブラウジングコンテキストの現在の状態と関連付けられたデータを記憶してもよい。
【００９９】
クライアントコンピューティングデバイス１０２Ａのユーザは、その後、先の持続的ブラウジングコンテキストに戻ることを決定してもよい。例示的に、クライアントコンピューティングデバイス１０２Ａのユーザは、クライアントコンピューティングデバイス１０２Ａとは異なるハードウェア、ソフトウェア、またはネットワークアクセスを有し得る第２のクライアントコンピューティングデバイス１０２Ｂを通じて、先の持続的ブラウジングコンテキストにアクセスすることを選んでもよい。クライアントコンピューティングデバイス１０２Ｂは、実施例の目的のために、第２のクライアントコンピューティングデバイスとしてここで記載されるが、この図における全ての説明は、元のクライアントコンピューティングデバイス１０２Ａによる持続的ブラウジングコンテキストの後続のアクセスに適用されてもよいことが理解されるべきである。加えて、実施例の目的のために、クライアントコンピューティングデバイス１０２Ｂのユーザは、クライアントコンピューティングデバイス１０２Ａのユーザと同じであるように記載されるが、様々な実施形態において、既存の持続的ブラウジングコンテキストは、ブラウザ情報、ユーザ情報（例えば、ＩＤ、ログイン、またはパスワード）、デバイス情報、環境識別子、持続的ブラウジングコンテキスト識別子等を含む、任意の種類の識別する情報に基づいて、任意の当事者によってアクセスされてもよいことが理解されるべきである。
【０１００】
持続的ブラウジングコンテキストにアクセスする要求は、上の図１２を参照して記載される、持続的ブラウジングコンテキスト環境情報の交換から開始してもよい。持続的ブラウジングコンテキスト情報の交換は、ユーザが、新しいコンテンツ表示区域を有する新しいブラウザウィンドウを開くこと、既存のブラウザウィンドウで新しいコンテンツ表示区域を開くこと（例えば、ブラウザで新しいタブを開くこと）、既存のコンテンツ表示区域で新しいネットワークコンテンツを要求すること（例えば、新しいネットワークリソースへのリンクに従うこと、または新しいネットワークアドレスをブラウザに入力すること）、または任意の他のユーザ対話に応答して、クライアントコンピューティングデバイス１０２Ｂによって開始されてもよい。一実施形態において、クライアントコンピューティングデバイス１０２Ｂによってネットワークコンピューティングプロバイダ１０７に提供される、持続的ブラウジングコンテキスト環境情報は、ブラウザ情報、ユーザ情報（例えば、ＩＤ、ログイン、またはパスワード）、デバイス情報、環境識別子、持続的ブラウジングコンテキスト識別子等を含んでもよいが、これらに限定されない。この識別情報に応答して、ネットワークコンピューティングプロバイダ１０７は、クライアントコンピューティングデバイスに、識別情報と関連付けられた利用可能な持続的ブラウジングコンテキストの一覧を含む、利用可能なセッション情報を提供してもよい。例示的に、利用可能な持続的ブラウジングコンテキストの一覧は、ＮＣＣ  ＰＯＰ  １４２、またはＮＣＣ  ＰＯＰの任意の他の組み合わせ、またはネットワークコンピューティングプロバイダ１０７と関連付けられたネットワークコンピューティングもしくはストレージデバイス上の、アクティブなソフトウェア処理または記憶されたデータに対応してもよい。
【０１０１】
クライアントコンピューティングデバイス１０２Ｂは、ネットワークコンピューティングプロバイダ１０７によって提供される利用可能な持続的ブラウジングコンテキストの一覧から、既存の持続的ブラウジングコンテキストを選択してもよく、持続的ブラウジングコンテキスト選択をネットワークコンピューティングプロバイダ１０７に伝送してもよい。既存の持続的ブラウジングコンテキストの選択のための例示説明となるユーザインターフェースは、下の図１５を参照して提供される。明確さの目的のためにここでは図示されないが、持続的ブラウジングコンテキスト選択を受信すると、ネットワークコンピューティングプロバイダ１０７は、クライアントコンピューティングデバイス１０２Ｂを、ＮＣＣ  ＰＯＰ  １４２における既存の持続的ブラウジングコンテキストに接続させ得る。一実施形態において、これは、現在走っているソフトウェアブラウザアプリケーションにアクセスすること、またはコンテンツ、コンテンツ状態、および／もしくはブラウザ状態等の以前に記憶された持続的ブラウジングコンテキスト情報に基づいて、ＮＣＣ  ＰＯＰ  １４２において新しいソフトウェアブラウザアプリケーションを初期化することを含んでもよい。ＮＣＣ  ＰＯＰ  １４２は、新しいブラウズセッションを作成しても、持続的ブラウジングコンテキストと関連付けられたコンテンツに対応する既存のブラウズセッションにアクセスしてもよく、また持続的ブラウジングコンテキストと関連付けられたコンテンツの現在の状態および持続的ブラウジングコンテキストと関連付けられたブラウザの現在の状態に対応する初期処理結果を伝送してもよい。クライアントコンピューティングデバイス１０２ＢおよびＮＣＣ  ＰＯＰ  １４２は、例えば上の図の２〜６および１２に関して上述されるように、ユーザ対話データ、コンテンツ要求、処理結果、およびブラウザ構成情報の交換に進んでもよい。
【０１０２】
図１４を参照して、クライアントコンピューティングデバイス１０２Ｂからネットワークコンピューティングプロバイダ１０７への追加の新しい持続的ブラウジングコンテキスト要求の生成および処理を例示する、図１のコンテンツ配信環境のブロック図が開示される。例示的に、クライアントコンピューティングデバイス１０２Ｂは、ユーザが、新しいコンテンツ表示区域を有する新しいブラウザウィンドウを開くこと、既存のブラウザウィンドウで新しいコンテンツ表示区域を開くこと（例えば、ブラウザで新しいタブを開くこと）、既存のコンテンツ表示区域で新しいネットワークコンテンツを要求すること（例えば、新しいネットワークリソースへのリンクに従うこと、または新しいネットワークアドレスをブラウザに入力すること）、またはその他のユーザ対話に応答して、新しい持続的ブラウジングコンテキストを要求してもよい。
【０１０３】
一実施形態において、第１の持続的ブラウジングコンテキストへの接続がすでに確立されている場合、クライアントコンピューティングデバイス１０２Ｂおよびネットワークコンピューティングプロバイダ１０７は、図１２を参照して記載されるように、持続的ブラウジングコンテキスト環境情報を交換してもよい。図１２に関して上述されるように、新しい持続的ブラウジングコンテキストのための要求の後に、ネットワークコンピューティングプロバイダ１０７は、新しい持続的ブラウジングコンテキストと関連付けられた状態およびコンテンツを維持するために、ＮＣＣ  ＰＯＰ  １４２で仮想マシン、データストア、および／またはソフトウェアブラウザアプリケーションのインスタンス化を引き起こし得る。図１２を参照して上述されるように、ネットワークコンピューティングプロバイダ１０７は、ＮＣＣ  ＰＯＰを選択して、利用可能なＮＣＣ  ＰＯＰリソース（例えば、利用可能なメモリ、プロセッサ負荷、ネットワーク負荷等）、ＮＣＣ  ＰＯＰで持続的ブラウジングコンテキスト要求にサービス提供する財務コスト、クライアントコンピューティングデバイス１０２に対するＮＣＣ  ＰＯＰ位置、コンテンツプロバイダ１１２、またはＣＤＮ  ＰＯＰ１１６、ＮＣＣ  ＰＯＰキャッシュ状態（例えば、要求されたコンテンツがＮＣＣ  ＰＯＰキャッシュにすでに記憶されているかどうか）等を含むが、これらに限定されない、任意の数の要因に基づいて、持続的ブラウジングコンテキスト要求にサービス提供してもよい。例示的に、ネットワークコンピューティングプロバイダ１０７は、例示の目的のために、ここではＮＣＣ  ＰＯＰ１４２を選択しているものとして図示されるが、ネットワークコンピューティングプロバイダ１０７は、任意の現存するＮＣＣ  ＰＯＰを選択して、持続的ブラウジングコンテキスト要求にサービス提供してもよい。上述のように、以前の持続的ブラウジングコンテキストまたは同時に起こる持続的ブラウジングコンテキストのために利用されたものとは異なるＮＣＣ  ＰＯＰを選択するかの決定は、利用可能なシステムリソースに基づいて、無作為に、または上述のおよび図１２に関するその他の要因に従って行われてもよい。例示的に、一旦、新しい持続的ブラウジングコンテキストが確立されると、クライアントコンピューティングデバイス１０２ＢおよびＮＣＣ  ＰＯＰ  １４２は、例えば図１２に関して上述されるように、ブラウズセッションの確立ならびにユーザ対話データ、コンテンツ要求、処理結果、およびブラウザ構成情報の交換に進んでもよい。
【０１０４】
図１５は、例示的なブラウジングコンテキスト選択インターフェース１５００を図示する、ユーザインターフェースの図である。図１３および１６を参照して記載されるように、クライアントコンピューティングデバイスが、識別する情報をネットワークコンピューティングプロバイダ１０７に提供した後、ネットワークコンピューティングプロバイダ１０７は、識別情報に基づいて、クライアントコンピューティングデバイス１０２に、利用可能な持続的ブラウジングコンテキスト１５０２の一覧を提供してもよい。例えば、クライアントコンピューティングデバイス１０２は、ユーザが、ブラウザアプリケーションを開くか、あるいはアクセスするブラウズ環境を識別することに応答して、ブラウズ環境識別情報を提供してもよい。別の例においては、クライアントコンピューティングデバイス１０２は、ログインまたはパスワード等のユーザ識別情報をネットワークコンピューティングプロバイダ１０７に提供してもよい。ネットワークコンピューティングプロバイダ１０７は、利用可能な持続的ブラウジングコンテキスト１５０２の一覧をクライアントコンピューティングデバイス１０２に提供することによって、この識別情報に応答してもよい。一実施形態において、利用可能な持続的ブラウジングコンテキスト１５０２の一覧は、上述の識別情報に基づいて持続的ブラウジングコンテキスト環境（例えば、「Ｊｏｈｎの家」）を識別する持続的ブラウジングコンテキスト選択インターフェース１５００において、ユーザに提示されてもよい。例示的に、持続的ブラウジングコンテキスト選択インターフェース１５００は、最後の持続的ブラウジングコンテキストアクセス日付等の付随する情報と共に、利用可能な持続的ブラウジングコンテキスト１５０２の一覧を提供してもよい。一実施形態において、持続的ブラウジングコンテキスト選択インターフェース１５００は、それぞれ図１２および図１３を参照して記載されるように、ユーザが、新しい持続的ブラウジングコンテキストを作成すること、ならびに既存の持続的ブラウジングコンテキストにアクセスすることを可能にし得る。
【０１０５】
図１６は、図１のクライアントコンピューティングデバイス１０２によって実装されるクライアントの持続的ブラウジングルーチンを例示する流れ図である。クライアント持続的ブラウジングルーチン１６００は、ブロック１６０２で開始する。例示的に、クライアント持続的ブラウジングルーチン１６００は、ソフトウェアブラウザアプリケーションの新しいインスタンスが、クライアントコンピューティングデバイス１０２でインスタンス化されたこと、ユーザが、クライアントコンピューティングデバイス１０２で、以前にインスタンス化されたソフトウェアブラウザアプリケーションから持続的ブラウジングコンテキストへのアクセスを要求したこと、または任意の他のイベントに応答して開始してもよい。
【０１０６】
ブロック１６０４で、クライアントコンピューティングデバイス１０２は、接続を確立し、持続的ブラウジングコンテキスト環境情報をネットワークコンピューティングプロバイダ１０７と交換する。例示的に、持続的ブラウジングコンテキスト環境情報は、構成情報、識別する情報、ブラウズ選好情報、現在アクティブな持続的ブラウジングコンテキストに関する情報等を含むが、これらに限定されない任意の数の種類の情報を含んでもよい。例えば、クライアントコンピューティングデバイス１０２は、デバイス情報、ソフトウェアブラウザ情報、位置情報、ユーザｉｄもしくは他のユーザ情報、持続的ブラウジングコンテキスト環境識別子、持続的ブラウジングコンテキスト内で利用するための以前のブラウズ履歴もしくはブックマークの組を指定する情報、または任意の他の種類の情報を含む持続的ブラウジングコンテキスト環境情報を伝送してもよい。具体的には、例示の目的のために、クライアントコンピューティングデバイス１０２によってネットワークコンピューティングプロバイダ１０７に送信される持続的ブラウジングコンテキスト環境情報は、クライアントコンピューティングデバイス１０２と関連付けられたハードウェアおよびソフトウェア情報、ユーザを識別する情報（例えば、ログインおよびパスワード、ユーザｉｄ等）、ユーザと関連付けられた情報、持続的ブラウジングコンテキスト識別子、ブラウザ構成または選好、論理的または物理的デバイス位置等を含んでもよいが、これらに限定されない。
【０１０７】
一実施形態において、持続的ブラウジングコンテキスト環境情報は、ネットワークコンピューティングプロバイダで記憶された１組の既存の持続的ブラウジングコンテキストまたは持続的ブラウジングコンテキスト選好と関連付けられた、持続的ブラウジングコンテキスト環境識別子を含んでもよい。例えば、クライアントコンピューティングデバイス１０２におけるユーザは、「Ｊｏｈｎの家」と名付けられた持続的ブラウジングコンテキスト環境にアクセスすることを選んでもよい。この具体的な実施例に関して、クライアントコンピューティングデバイス１０２は、「Ｊｏｈｎの家」の持続的ブラウジングコンテキスト環境と関連付けられた持続的ブラウジングコンテキスト環境識別子を、ブラウズ環境情報の一部としてネットワークコンピューティングプロバイダ１０７に提供してもよい。例示的に、「Ｊｏｈｎの家」のブラウズ環境識別子は、下に論じられるように、ネットワークコンピューティングプロバイダ１０７で、いくつかの異なる持続的ブラウジングコンテキストと関連付けられてもよく、更に、ブックマークの組またはブラウジング履歴等の、関連付けられた持続的ブラウジングコンテキストに共通の選好または構成情報と関連付けられてもよい。様々な他の実施形態において、持続的ブラウジングコンテキストおよび様々な選好または構成情報は、ユーザ、クライアントコンピューティングデバイス１０２、論理的もしくは物理的位置、ソフトウェアブラウザアプリケーション、オペレーティングシステム、または他のソフトウェア、ネットワークアドレス、デバイス性能もしくはネットワーク特性に対応する識別情報、あるいは任意の他のエンティティ、デバイス、もしくは１つの情報と関連付けられてもよい。他の実施形態において、持続的ブラウジングコンテキスト環境情報は、持続的ブラウジングコンテキスト要求に含まれてもよく、または新しい持続的ブラウジングコンテキスト要求の前もしくはそれと同時に交換されてもよい。様々な実施形態において、持続的ブラウジングコンテキスト環境情報は、追加的にまたは代替的に、特定の現存する持続的ブラウジングコンテキストを識別する持続的ブラウジングコンテキスト識別子を含んでもよい。
【０１０８】
例示的に、いくつかの実施形態において、ブラウズ環境識別子は、文字、数字、または他の記号からなる英数字列等のコンピュータ可読形式または人間が読める形式で実装されてもよく、かつ／あるいはバーコード、高周波ｉｄ伝送器、または任意の他の符号もしくは伝送形式に符号化されてもよい。例示的に、クライアントコンピューティングデバイス１０２は、ブラウズ環境識別子を読み出し、ブラウズ環境識別子を利用して、ネットワークコンピューティングプロバイダ１０７で持続的ブラウジングコンテキストおよび関連する構成情報の組を識別するように構成されてもよい。具体的な実施例の目的のために、第１のユーザは、ブラウズリソース識別子、またはブラウズ環境識別子と共にネットワークコンピューティングプロバイダのアドレスに対応する情報を含む電子アドレス（例えば、ユニフォームリソースロケータ（ＵＲＬ））を得てもよい。例示的に、この電子アドレスまたはブラウズ環境識別子は、様々な実施形態において、クライアントコンピューティングデバイス１０２のブラウザ、ネットワークコンピューティングおよびストレージコンポーネント１０７、第１のユーザ、または任意の他のサービス、エンティティ、もしくはデバイスによって生成されてもよい。第１のユーザは、電子アドレスを第２のユーザに（例えば、電子メッセージによって）提供してもよい。第２のユーザは、ブラウズ環境識別子と関連付けられた持続的ブラウジングコンテキストおよび対応する構成情報にアクセスするために、第２のユーザと関連付けられたクライアントコンピューティングデバイス１０２上で走っているブラウザを通じて、電子アドレスをネットワークコンピューティングプロバイダ１０２に提供してもよい。例えば、電子アドレスは、一実施形態において、ネットワークコンピューティングプロバイダ１０７のアドレスおよびブラウズ環境識別子を含むハイパーリンクとして提示されてもよく、第２のユーザは、リンクをクリックするか、あるいはリンクに従うことによって、ブラウズ環境識別子をネットワークコンピューティングプロバイダ１０７に伝送させ得る。様々な他の実施形態において、持続的ブラウジングコンテキスト識別子は、ＱＲ符号、バーコード、高周波ｉｄ符号、近距離無線通信、ブルートゥース、赤外線等を含むが、これらに限定されない、当該技術分野で既知の任意の他の技術を利用して、クライアントコンピューティングデバイスの間で転送されても、クライアントコンピューティングデバイスによって読み出しされてもよい。例示的に、他の実施形態において、ネットワークコンピューティングプロバイダ１０７で特定の現存する持続的ブラウジングコンテキストを識別する識別子は、ブラウズ環境識別子を参照して上述される手法と同じ手法のいずれを使用して伝送されてもよい。
【０１０９】
ネットワークコンピューティングプロバイダ１０７は、指定されたデバイス／ユーザ／環境識別子、クライアントコンピューティングデバイスで走っているブラウザのための構成情報、持続的ブラウジングコンテキストのためのソフトウェアブラウザと関連付けるブックマークまたはブラウジング履歴等と関連付けられた、利用可能な既存の持続的ブラウジングコンテキストの一覧を有する、クライアントからの持続的ブラウジングコンテキスト情報に応答してもよい。一実施形態において、ブロック１６０６で、クライアントコンピューティングデバイスは、持続的ブラウジングコンテキスト環境認証情報をネットワークコンピューティングプロバイダ１０７に提供してもよい。例えば、クライアントコンピューティングデバイス１０２から受信された識別情報（例えば、持続的ブラウジングコンテキスト環境識別子、ユーザ、デバイス、またはブラウザ識別情報等）に応答して、ネットワークコンピューティングプロバイダ１０７は、ログインおよび／またはパスワード等の追加の認証情報を要求してもよい。例示的に、この認証情報は、当該技術分野で既知の任意のプロトコルまたは技術を利用する、安全な接続を介して要求または提供されてもよい。
【０１１０】
ブロック１６０８で、クライアントコンピューティングデバイス１０２は、上のブロック１６０４において交換される識別情報の１つ以上のアスペクトと関連付けられた、現在アクティブな持続的ブラウジングコンテキストの一覧等の、現在のアクティブな持続的ブラウジングコンテキスト情報を得る。例示的に、現在のアクティブな持続的ブラウジングコンテキスト情報は、持続的ブラウジングコンテキスト名もしくは識別子、持続的ブラウジングコンテキストの最後にアクセスされた日付、持続的ブラウジングコンテキストブラウジングに費やした総時間、持続的ブラウジングコンテキストの作成日付、タグもしくは他の持続的ブラウジングコンテキストカテゴリ情報、それぞれの持続的ブラウジングコンテキストと関連付けられたコンテンツの一覧、ユーザにより生成されたメモ、デバイスもしくはブラウザアクセス記録、または任意の他の履歴もしくは識別する情報を含むが、これらに限定されない一覧における、持続的ブラウジングコンテキストのうちの１つ以上に関する様々な情報を含んでもよい。いくつかの実施形態において、ブロック１６０８は、行われない場合があり、別のブロックと組み合わせられる場合があり、またはルーチン１６００に図示されるものよりも後もしくは先に行われる場合がある。例えば、ブロック１６０８は、クライアントコンピューティングデバイスが、持続的ブラウジングコンテキスト環境情報の一部として結合するための特定の持続的ブラウジングコンテキストを指定した場合、現在アクティブな持続的ブラウジングコンテキストが、識別情報の１つ以上のアスペクトと何ら関連付けられていない場合等には、必要でないことがある。
【０１１１】
決定ブロック１６１０において、クライアントコンピューティングデバイス１０２は、上の図１２および１４に記載されるように、ブロック１６１２で新しい持続的ブラウジングコンテキスト要求をネットワークコンピューティングプロバイダ１０７に提供してもよく、または決定ブロック１６１４でアクセスするための現在アクティブな持続的ブラウジングコンテキストを識別してもよい。ブロック１６１２で、新しい持続的ブラウジングコンテキスト要求をネットワークコンピューティングプロバイダ１０７に提供することは、ネットワークコンピューティングプロバイダ１０７に、要求に対応する新しい持続的ブラウジングコンテキストをインスタンス化させ得る。例示的に、一実施形態において、新しい持続的ブラウジングコンテキスト要求は、クライアントコンピューティングデバイス１０２によって要求された様々なネットワークリソースまたは他のコンテンツに対する１つ以上のアドレスもしくは参照を含んでもよい。更なる実施形態において、持続的ブラウジングコンテキスト要求は、新しい持続的ブラウジングコンテキストを、ブロック１６０４を参照して上述される持続的ブラウジングコンテキスト環境情報に含まれる識別情報の１つ以上のアスペクトと関連付ける、関連付け情報を含んでもよい。例示的な実施形態において、持続的ブラウジングコンテキスト要求は、ＡＰＩに従って伝送される。新しいブラウズ要求をネットワークコンピューティングプロバイダ１０７に提供した後に、クライアントコンピューティングデバイス１０２は、新しい持続的ブラウジングコンテキストを選択する持続的ブラウジングコンテキスト選択情報を、ネットワークコンピューティングプロバイダ１０７に提供してもよい。いくつかの実施形態において、ルーチン１６００は、更なる選択情報を提供することなくブロック１６１６に直接進む。
【０１１２】
ブロック１６１４で、クライアントコンピューティングデバイス１０２は、既存の持続的ブラウジングコンテキストを選択してもよい。例示的に、クライアントコンピューティングデバイス１０２は、持続的ブラウジングコンテキスト選択情報をネットワークコンピューティングプロバイダ１０７に提供してもよい。一実施形態において、持続的ブラウジングコンテキスト選択情報は、ブロック１６０８でクライアントコンピューティングデバイス１０２に提供される、現在のアクティブな持続的ブラウジングコンテキスト情報に含まれる１つ以上のアクティブな持続的ブラウジングコンテキストに対応してもよい。例示的に、ルーチン１６００は、例えば、新しい持続的ブラウジングコンテキストが作成された場合、または特定の現存する持続的ブラウジングコンテキストが、上のブロック１６０４で交換された持続的ブラウジングコンテキスト環境情報において既に識別された場合、このブロックをスキップしてもよい。
【０１１３】
ブロック１６１６で、クライアントコンピューティングデバイス１０２は、ネットワークコンピューティングプロバイダ１０７から、上のブロック１６１４で選択された持続的ブラウジングコンテキストのコンテンツに対応する、１つ以上の初期処理結果を得てもよい。初期処理結果は、上の図９〜１１を参照して記載されるように、持続的ブラウジングコンテキストと関連付けられ、ネットワークコンピューティングプロバイダ１０７と関連付けられた１つ以上のＮＣＣ  ＰＯＰでインスタンス化された、ブラウズセッションに対応してもよい。初期処理結果は、持続的ブラウジングコンテキストと関連付けられたコンテンツの表現と関連付けられてもよい。例えば、新しい持続的ブラウジングコンテキストの場合には、初期処理結果は、新しい持続的ブラウジングコンテキストと関連付けられて要求されたコンテンツの表現と関連付けられてもよい。既存の持続的ブラウジングコンテキストの場合には、初期処理結果は、例えば、持続的ブラウジングコンテキストと関連付けられた開いたタブと対応するウェブページ等の、既存の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現と関連付けられてもよい。例示的に、既存の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現は、コンテンツの前の状態（すなわち、持続的ブラウジングコンテキストの最後のアクセス時点のコンテンツの状態）を含んでもよい。例えば、ネットワークコンピューティングプロバイダ１０７で持続的ブラウジングコンテキストにアクセスするクライアントコンピューティングデバイス１０２のユーザは、クライアントコンピューティングデバイス１０２のブラウザ内の異なるタブで複数のウェブページを開いた場合がある。ユーザは、更に、クライアントコンピューティングデバイス１０２のブラウザを閉じる前に、第１のウェブページにおいてウェブページコンテンツをスクロールダウンし、第２のウェブページ上でウェブフォームデータを入力した場合がある。この具体的な実施例に関して、ネットワークコンピューティングプロバイダ１０７における関連付けられた持続的ブラウジングコンテキストにアクセスするクライアントコンピューティングデバイス１０２のブラウザは、ブラウザが閉じられる前にそれらが表示されていたままのウェブページの表現に対応する処理結果を受信してもよい。実施例の目的のために、処理結果は、したがって、スクロールダウンされたウェブページの表示されたセクションに対応してもよく、また損なわれていないフォームデータを有する第２のウェブページ、ならびにクライアントコンピューティングデバイス１０２でブラウザが閉じられる前にそれらが表示されていたままの任意の他のコンテンツの表現に対応してもよい。例示的に、初期処理結果に含まれる形式およびデータは、図９〜１１を参照して上述されるように、ネットワークコンピューティングプロバイダ１０７によって選択された遠隔セッションブラウジング構成に基づいて変化してもよい。持続的ブラウジングコンテキストにアクセスするクライアントコンピューティングデバイス１０２は、ブラウザ内のインターフェース要素のレイアウト、視聴状態またはスタイル（例えば、タブ、ウィンドウ���またはフレーム内でコンテンツを表示すること、およびそれぞれをいくつ表示すべきか）、ブラウザテーマまたは視覚スキン、ブラウザ選好、ブラウザ履歴、現存するクッキーまたは他の識別する情報、ブックマーク、およびブラウザと関連付けられた任意の他の構成、設定、または情報を含むが、これらに限定されない、元のブラウザが閉じられる前のブラウザ状態に対応するブラウザ構成情報を更に受信してもよい。
【０１１４】
一実施形態において、ネットワークコンピューティングプロバイダ１０７から受信され、持続的ブラウジングコンテキストと関連付けられた初期処理結果は、いくつかの異なるリソースまたはコンテンツ（例えば、いくつかのウェブページ）に対応してもよい。図７を参照して上述されるように、リソースは、クライアントコンピューティングデバイス１０２のブラウザインターフェース内の異なるタブにおいて提示されてもよく、あるいは一連のウィンドウとして、単一ウィンドウ内のフレームとして、一覧における要素として、または任意の他の視覚もしくは組織的表現において提示されてもよい。例示的に、リソースの視覚または組織表現が、１つのリソースが初期に、つまり他のリソースの表示前に、表示されるようなものである場合（例えば、上の図７に示されるもの等の、タブにより組織化されるブラウザ内の現在開いているタブ）、このリソースの表現に対応する処理結果には、クライアントコンピューティングデバイス１０２でおよび／またはネットワークコンピューティングプロバイダ１０７で、処理または転送優先権が与えられてもよい。例えば、クライアントコンピューティングデバイス１０２は、ブラウザインターフェースによって隠されるであろうリソース（例えば、現在表示されていないタブ内のリソース）に対応する処理結果に対する処理ステップを行う前に、初期に表示されたリソースに対応する処理結果に対して任意の要求される処理ステップを行ってもよい。別の実施例として、ネットワークコンピューティングプロバイダ１０７は、初期に表示されたリソースと関連付けられた１つ以上のブラウズセッションを優先してもよい。例示的に、優先付けには、他のリソースに対応する処理結果を送信する前の、初期に表示されたリソースに対応する処理結果が含まれてもよい。他の実施形態において、処理結果の処理および／または転送は、ユーザもしくはブラウザによって生成されるタグ、コンテンツの種類、リソース符号でのタグ（例えば、ＨＴＭＬタグまたはメタデータ）、コンテンツ重要度、ハードウェアもしくはネットワーク仕様もしくは要件、または任意の他の要因を含む、他の要因に基づいて優先されてもよい。
【０１１５】
ブロック１６１８で、クライアントコンピューティングデバイス１０２は、ユーザ対話データまたは新しいリソース要求をネットワークコンピューティングプロバイダ１０７に提供することを含めて、持続的ブラウジングコンテキストのユーザ対話を処理してもよい。持続的ブラウジングコンテキストのユーザ対話は、図１１を参照して上述されるように、対話されたまたは要求されたコンテンツの表現に関連する処理結果を処理および受信することに対応する。持続的ブラウジングコンテキストのユーザ対話の処理に関する、いくつかの例示説明となる実施形態が下に記載される。しかしながら、そのような実施形態は、限定するものとしても、または実施形態の要求される順序もしくは組み合わせを暗示するようにも見なされるべきでない。
【０１１６】
一態様において、クライアントコンピューティングデバイス１０２は、持続的ブラウジングコンテキスト複製要求をネットワークコンピューティングプロバイダ１０７に提供することによって、既存の持続的ブラウジングコンテキストを複製してもよい。例示的に、ネットワークコンピューティングプロバイダ１０７は、持続的ブラウジングコンテキスト複製要求を処理し、元の持続的ブラウジングコンテキストと同一のコンテンツおよび状態と共に、ネットワークコンピューティングプロバイダで新しい持続的ブラウジングコンテキストをインスタンス化してもよい。一実施形態において、持続的ブラウジングコンテキスト複製要求は、既存の持続的ブラウジングコンテキストにアクセスするブラウザによって生成されてもよい。例えば、ユーザは、新しいクライアントコンピューティングデバイス１０２からまたはユーザによって以前に利用されたクライアントコンピューティングデバイス１０２を介して、既存の持続的ブラウジングコンテキストにアクセスしてもよい。ネットワークコンピューティングプロバイダ１０７は、既存の持続的ブラウジングコンテキストを複製し、ユーザに、既存の持続的ブラウジングコンテキストと関連付けられた、および今では複製の持続的ブラウジングコンテキストと関連付けられた元のコンテンツの表現を提供してもよい。この例の目的のために、ユーザは、新しいクライアントコンピューティングデバイスで、複製の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現と対話してもよく、それにより、複製の持続的ブラウジングコンテキストと関連付けられたコンテンツまたはコンテンツ状態を変更してもよい。
【０１１７】
後の時点で、ユーザは、もう１度、元の既存の持続的ブラウジングコンテキストにアクセスしてもよい。例示的に、ネットワークコンピューティングプロバイダ１０７は、ユーザに、複製の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現またはコンテンツ状態ではなく、既存の持続的ブラウジングコンテキストと関連付けられた元のコンテンツの表現およびコンテンツ状態を提供してもよい。代替的に、ユーザは、その後に修正された複製の持続的ブラウジングコンテキストに引き続きアクセスすることを望んでもよい。
【０１１８】
別の態様において、元の持続的ブラウジングコンテキストが、任意の特定の持続的ブラウジングコンテキスト環境情報（例えば、ブラウズ環境識別子または他の識別情報）と関連付けられた場合、新たにインスタンス化された複製の持続的ブラウジングコンテキストは、同じ持続的ブラウジングコンテキスト環境情報と関連付けられてもよく、または任意の特定の情報と関連付けられないものとして作成されてもよい。複製の持続的ブラウジングコンテキストは、元の持続的ブラウジングコンテキストと同じＮＣＣ  ＰＯＰ  １４２上でインスタンス化されてもよく、またはネットワークコンピューティングプロバイダと関連付けられた任意の他のＮＣＣ  ＰＯＰ上でインスタンス化されてもよい。
【０１１９】
更なる態様において、クライアントコンピューティングデバイス１０２は、コンテンツおよび／または選好を持続的ブラウジングコンテキストの間でインポートまたはエクスポートしてもよい。例えば、クライアントコンピューティングデバイス１０２は、インポートのコンテンツ要求をネットワークコンピューティングプロバイダ１０７に提供してもよい。一実施形態において、インポートコンテンツ要求は、現在の持続的ブラウジングコンテキストにおける１つ以上のコンテンツ識別子およびインポート先の持続的ブラウジングコンテキスト識別子を含んでもよい。具体的な実施例として、インポートコンテンツ要求は、現在の持続的ブラウジングコンテキストにおいて表示されたウェブページに対応する２つのタブの識別子を含んでもよい。ネットワークコンピューティングプロバイダ１０７は、これらのタブを指定された現存する持続的ブラウジングコンテキストに追加してもよい。様々な実施形態において、これらのタブは、現在の持続的ブラウジングコンテキストから除去されても、またはそこに保持されてもよく、また、現在の持続的ブラウジングコンテキストにおけるコンテンツと関連付けられた任意のコンテンツ状態情報（例えば、データまたは状態等から入力された）を伴いまたは伴わずに、指定された持続的ブラウジングコンテキストに追加されてもよい。別の実施形態において、クライアントコンピューティングデバイス１０２は、インポートブラウザ構成要求をネットワークコンピューティングプロバイダ１０７に提供してもよい。例示的に、インポートブラウザ構成要求は、現在の持続的ブラウジングコンテキスト（例えば、ブックマーク、履歴、視覚選好等）にアクセスするブラウザの構成の１つ以上のアスペクトを指定してもよく、ネットワークコンピューティングプロバイダ１０７に、指定された構成を別の指定された現存する持続的ブラウジングコンテキストに追加させ得る。一実施形態において、指定された構成は、指定されたブラウザ内の任意の既存の構成を置き換えてもよい。
【０１２０】
依然として別の態様において、クライアントコンピューティングデバイス１０２は、ブロック１６０４で持続的ブラウジングコンテキスト環境情報の交換を参照して上述されるように、既存の持続的ブラウジングコンテキストを、識別する情報（例えば、ブラウズ環境識別子、ユーザｉｄ、ブラウザ識別子等）と関連付けてもよい。例えば、クライアントコンピューティングデバイス１０２は、現在のブラウジングセッションが関連付けられる特定の識別する情報を指定し得る、関連のブラウジングセッション要求をネットワークコンピューティングプロバイダ１０７に提供してもよい。クライアントコンピューティングデバイス１０２は、持続的ブラウジングコンテキストを新しい識別子（例えば、新しい持続的ブラウジングコンテキスト識別子、またはブラウズ環境識別子）と関連付けるための要求を、ネットワークコンピューティングプロバイダ１０７に更に送信してもよい。一実施形態において、クライアントコンピューティングデバイス１０２は、特定のブラウザもしくはクライアントコンピューティングデバイス構成を特定の識別子または１つの識別する情報と関連付けるための要求を、ネットワークコンピューティングプロバイダ１０７に更に送信してもよい。例示的に、一実施形態において、特定の識別子または１つの識別する情報と関連付けられた全ての持続的ブラウジングコンテキストは、ブラウザもしくはクライアントコンピューティングデバイス構成の１つ以上のアスペクトを共有してもよい。例えば、特定のブラウズ環境識別子と関連付けられた全ての持続的ブラウジングコンテキストは、ブックマークの組またはブラウザ履歴を含むが、これらに限定されないブラウザ構成情報を共有してもよい。
【０１２１】
図１６に戻ると、ブロック１６２０で、ルーチン１６００は終了する。一実施形態において、これは、持続的ブラウジングコンテキストとの対話を終了するクライアントコンピューティングデバイス１０２のユーザに対応してもよい。例示的に、同じまたは異なるクライアントコンピューティングデバイス１０２は、同じルーチン１６００による後の時点で、持続的ブラウジングコンテキストへのアクセスを要求し、それと対話してもよい。上述のように、任意の数の異なるクライアントコンピューティングデバイス１０２またはユーザは、任意の数の持続的ブラウジングコンテキストにアクセスしてもよい。更なる、１つ以上のクライアントコンピューティングデバイス１０２またはユーザは、持続的ブラウジングコンテキストに、それが作成された後に何回でもアクセスしてもよい。
【０１２２】
図１７は、図１のネットワークコンピューティングプロバイダ１０７によって実装される遠隔の持続的ブラウジングルーチン１７００を例示する、流れ図である。遠隔の持続的ブラウジングルーチン１７００は、ブロック１７０２で開始する。ブロック１７０４で、ネットワークコンピューティングプロバイダ１０７は、持続的ブラウジングコンテキスト環境情報をクライアントコンピューティングデバイス１０２と交換する。図８を参照して上述されるように、持続的ブラウジングコンテキスト環境情報は、構成情報、識別する情報、ブラウズ選好情報、現在アクティブな持続的ブラウジングコンテキストに関する情報等を含むが、これらに限定されない任意の数の種類の情報を含んでもよい。例えば、ネットワークコンピューティングプロバイダ１０７は、デバイス情報、ソフトウェアブラウザ情報、位置情報、ユーザｉｄまたは他のユーザ情報、持続的ブラウジングコンテキスト環境識別子等を含むが、これらに限定されない、様々な識別する情報を受信してもよい。一実施形態において、ネットワークコンピューティングプロバイダ１０７は、１つ以上の情報と関連付けられた既存の持続的ブラウジングコンテキストを決定してもよい。例えば、クライアントコンピューティングデバイス１０２におけるユーザは、複数の既存の持続的ブラウジングコンテキストと関連付けられてもよい。別の実施例として、持続的ブラウジングコンテキスト環境情報は、読み込むための単一の現存するブラウズセッションを指定してもよい。
【０１２３】
更なる実施形態において、ネットワークコンピューティングプロバイダ１０７は、１つ以上の持続的ブラウジングコンテキスト環境情報と関連付けられた様々なブラウザ構成情報（例えば、ブラウザスタイル、レイアウト、テーマ、選好、履歴、ブックマーク等）を決定してもよい。例えば、クライアントコンピューティングデバイス１０２におけるユーザは、１組のブラウズ履歴およびブックマークと関連付けられてもよい。例示的に、一実施形態において、ユーザによって作成またはアクセスされる１つ以上の持続的ブラウズコンテンツは、それぞれの個々の持続的ブラウズセッションに対応する１組のブラウズ履歴およびブックマークと関連付けられるのではなく、関連付けられた１組のブラウズ履歴およびブックマークを共有してもよい。
【０１２４】
持続的ブラウジングコンテキスト環境情報の交換の一部として、ブロック１７０４において、ネットワークコンピューティングプロバイダ１０７は、図１６を参照して上述されるように、決定されたブラウザ構成情報または任意の他の情報をクライアントコンピューティングデバイス１０２に提供してもよい。ブロック１７０６において、ネットワークコンピューティングプロバイダは、持続的ブラウジングコンテキスト環境情報の１つ以上のアスペクトと関連付けられた１つ以上のアクティブな持続的ブラウジングコンテキストの一覧等の、アクティブな持続的ブラウジングコンテキスト情報を、クライアントコンピューティングデバイス１０２に提供してもよい。例示的に、ネットワークコンピューティングプロバイダ１０７は、持続的ブラウジングコンテキスト環境情報の１つ以上のアスペクトと関連付けられたアクティブな持続的ブラウジングコンテキストが何ら存在しない場合、または持続的ブラウジングコンテキスト環境情報が、アクセスするための特定の現存するもしくは新しい持続的ブラウジングコンテキストを指定する場合には、このステップに着手しない場合がある。
【０１２５】
ブロック１７０８で、ネットワークコンピューティングプロバイダ１０７は、持続的ブラウジングコンテキスト選択情報をクライアントコンピューティングデバイス１０２から得る。一実施形態において、持続的ブラウジングコンテキスト選択情報は、現存するアクティブな持続的ブラウジングコンテキストを識別する。クライアントコンピューティングデバイス１０２におけるユーザの観点から、持続的ブラウジングコンテキストは、クライアントコンピューティングデバイス１０２で走っているブラウザまたは他のアプリケーションと関連付けられた状態データおよびコンテンツを表現してもよい。例えば、持続的ブラウジングコンテキストは、ブラウザのいくつかの開いたタブ、それらのタブにおいて表示されるコンテンツ、表示されたコンテンツの現在の状態、およびブラウザまたはコンテンツの表示と関連付けられた任意のブラウザまたはアプリケーション構成データと関連付けられてもよい。ネットワークコンピューティングプロバイダ１０７の観点から、持続的ブラウジングコンテキストは、クライアントコンピューティングデバイス１０２のブラウザで表示されたコンテンツに対応する、記憶されたまたはキャッシュされたコンテンツ、ならびにコンテンツ状態、および任意のブラウザ構成情報を含むブラウザ状態と関連付けられてもよい。
【０１２６】
一実施形態において、ネットワークコンピューティングプロバイダ１０７は、ネットワークコンピューティングプロバイダ１０７と関連付けられた様々なＮＣＣ  ＰＯＰで、持続的ブラウジングコンテキストと関連付けられた１つ以上のブラウズセッションを維持してもよい。例示的に、それぞれのブラウズセッションは、上の図９〜１１に記載されるように、クライアントコンピューティングデバイス１０２で走っているブラウザの、異なる１つのコンテンツ、ブラウザタブ、ウィンドウ、フレーム等と関連付けられてもよい。一実施形態において、それぞれのブラウズセッションは、任意の数の同じまたは異なる遠隔ブラウズセッション構成と関連付けられてもよい。更なる実施形態において、ネットワークコンピューティングプロバイダ１０７は、クライアントコンピューティングデバイス１０２が持続的ブラウジングコンテキストにアクセスする毎に、持続的ブラウジングコンテキストと関連付けられた１つ以上のブラウズセッションのための新しい遠隔ブラウズセッション構成を選択してもよい。例えば、限定された処理能力を有するクライアントコンピューティングデバイスが既存の持続的ブラウジングコンテキストにアクセスする場合、ネットワークコンピューティングプロバイダ１０７は、処理の大部分がネットワークコンピューティングプロバイダ１０７で行われることを可能にする、１つ以上の関連付けられたブラウズセッションのための遠隔ブラウズセッション構成を選択してもよい。
【０１２７】
別の実施形態において、ネットワークコンピューティングプロバイダ１０７はまた、１つ以上のＮＣＣ  ＰＯＰで、クライアントコンピューティングデバイス１０２のブラウザの状態を説明するブラウザ構成情報を含むが、これらに限定されない、持続的ブラウジングコンテキストと関連付けられた追加の情報を維持してもよい。別の実施形態において、ネットワークコンピューティングプロバイダ１０７は、ＮＣＣ  ＰＯＰ  １４２で、持続的ブラウジングコンテキストと関連付けられたソフトウェアブラウザアプリケーションを維持してもよい。例えば、ネットワークコンピューティングプロバイダ１０７は、クライアントコンピューティングデバイス１０２で走っているブラウザと並行して、持続的ブラウズセッションと関連付けられたソフトウェアブラウザアプリケーションを走らせてもよい。例示的に、ネットワークコンピューティングプロバイダ１０７で走っているブラウザは、持続的ブラウズセッションと関連付けられたコンテンツ、コンテンツ状態、およびブラウザ状態を維持してもよい。
【０１２８】
ブロック１７１０で、ネットワークコンピューティングプロバイダ１０７は、選択された持続的ブラウジングコンテキストと関連付けられたコンテンツへの更新が要求されるかどうかを決定してもよい。例示的に、選択された持続的ブラウジングコンテキストと関連付けられたコンテンツは、クライアントコンピューティングデバイス１０２によってアクセスされている間で変更されてもよい。具体的な実施例の目的のためには、ユーザは、第１の時点で最近のニュースを表示するウェブページを閲覧し、次いで最近のニュースのウェブページが変更された場合がある後の時点で持続的ブラウジングコンテキストにアクセスしてもよい。一実施形態において、ネットワークコンピューティングプロバイダ１０７は、コンテンツに対応する処理結果をクライアントコンピューティングデバイスに送信する前に、変更されたコンテンツを（例えば、コンテンツをコンテンツプロバイダ、ＣＤＮ、またはキャッシュから再び要求することによって）更新してもよい。他の実施形態において、ネットワークコンピューティングプロバイダ１０７は、クライアントコンピューティングデバイスに提供するために、古いページコンテンツおよび／またはページ状態を保ってもよい。古いページコンテンツに対応する処理結果を提供することは、例えば、ニュース記事が、クライアントコンピューティングデバイス１０２による持続的ブラウジングコンテキストの最後のアクセス以来変更または削除されたときに所望され得る。
【０１２９】
ネットワークコンピューティングプロバイダ１０７は、ユーザオプションまたは選好、コンテンツの属性（例えば、サイズ、埋め込みリソース、コンテンツの種類、コンテンツカテゴリ）、コンテンツと関連付けられたフラッグまたはタグ、あるいはネットワークコンピューティングプロバイダ１０７、クライアントコンピューティングデバイス１０２、ブラウザもしくはアプリケーション、オペレーティングシステム、ＣＤＮサービスプロバイダ１０６、コンテンツプロバイダ１０４、または他のエンティティもしくはシステムと関連付けられた選好を含むが、これらに限定されない任意の数の要因に基づいて、選択された持続的ブラウジングコンテキストと関連付けられたコンテンツを更新するかどうかを決定してもよい。一実施形態において、ネットワークコンピューティングプロバイダ１０７は、コンテンツを更新する要求に備えて、更新されたコンテンツを取り出しおよび前処理することに加えて、古いコンテンツと関連付けられた処理結果を、表示のためにクライアントコンピューティングデバイス１０２に提供してもよい。
【０１３０】
ブロック１７１２で、ネットワークコンピューティングプロバイダ１０７は、ブロック１７１０において更新が必要であると決定された任意のコンテンツを更新してもよい。例示的に、これは、図３および４を参照して上述されるように、コンテンツを、ＣＤＮサービスプロバイダ１０６、コンテンツプロバイダ１０４、またはキャッシュから要求することを伴ってもよい。
【０１３１】
ブロック１７１４で、ネットワークコンピューティングプロバイダ１０７は、上の図９〜１１に記載されるように、持続的ブラウジングコンテキストと関連付けられたコンテンツを処理して、コンテンツの表現に対応する処理結果を生成してもよい。例示的に、ネットワークコンピューティングプロバイダ１０７は、処理結果が最後に閲覧されたコンテンツの表現に対応することを確実にするために、持続的ブラウジングコンテキストと関連付けられた任意の保存されたコンテンツ状態データを考慮して、コンテンツを処理してもよい。
【０１３２】
例示的に、一実施形態において、異なる表示能力を有するいくつかの異なるクライアントコンピューティングデバイス１０２が、持続的ブラウズセッションにアクセスしてもよい。一実施形態において、ネットワークコンピューティングプロバイダ１０７は、持続的ブラウズセッションに現在アクセスしているクライアントコンピューティングデバイス上での表示専用に、持続的ブラウズセッションと関連付けられたコンテンツを処理してもよい。例示的に、特定のクライアントコンピューティングデバイス上での表示に不適切または不必要であり得る、持続的ブラウズセッションと関連付けられた任意のブラウザもしくはコンテンツ状態情報は、破棄されるか、または維持されるが、クライアントコンピューティングデバイスにおけるコンテンツの処理およびコンテンツの表示において利用されない場合がある。例えば、第１のクライアントコンピューティングデバイス１０２Ａは、ネットワークコンピューティングプロバイダ１０７による新しい持続的ブラウズセッションを作成してもよい。この具体的な実施例の目的のためには、第１のクライアントコンピューティングデバイスは、大型スクリーン、キーボード、およびマウスを有するパーソナルコンピュータであってもよい。第１のクライアントコンピューティングデバイス１０２Ａにおけるユーザは、複数のウェブページを、クライアントコンピューティングデバイスで走っており、持続的ブラウズセッションに接続された、ブラウザの異なるタブ中に読み込んでもよい。例示的に、クライアントコンピューティングデバイスで読み込まれたウェブページは、大型スクリーンブラウズウィンドウ用に書式設定されて表示されてもよい。
【０１３３】
具体的な実施例を続けて、後の時点で、第２のクライアントコンピューティングデバイス１０２Ｂが、持続的ブラウズセッションにアクセスしてもよい。例示的に、第２のクライアントコンピューティングデバイス１０２Ｂは、限定されたスクリーンサイズおよび入力能力を有するスマートフォンまたは他のデバイスであってもよい。一実施形態において、ネットワークコンピューティングプロバイダは、処理結果を第２のクライアントコンピューティングデバイス１０２Ｂに提供してもよく、持続的ブラウズセッションと関連付けられたそのコンテンツは、小型スクリーン用に書式設定される。一実施形態において、第２のクライアントコンピューティングデバイス１０２Ｂが、タブ形式のブラウジング能力を有しない場合、ネットワークコンピューティングプロバイダ１０７は、持続的ブラウズセッションの最上部タブのみが表示されることを指定するブラウザ構成情報を提供してもよく、またはユーザが選択するために、持続的ブラウズセッションと関連付けられた開いたタブの一覧を第２のクライアントコンピューティングデバイス１０２Ｂに提供してもよい。
【０１３４】
ブロック１７１６で、ネットワークコンピューティングプロバイダ１０７は、持続的ブラウジングコンテキストと関連付けられた任意の他のブラウザ構成情報と共に、初期処理結果をクライアントコンピューティングデバイスに提供してもよい。
【０１３５】
ブロック１７１８で、ネットワークコンピューティングプロバイダ１０７は、上の図５および図１１に関して例示的に記載されるように、クライアントコンピューティングデバイスとのユーザ対話を処理してもよい。
【０１３６】
ブロック１７２０で、ルーチン１７００は終了する。一実施形態において、ユーザは、ブラウザを閉じることまたはクライアントコンピューティングデバイス１０２の電源を切ることによって、持続的ブラウジングコンテキストとの接続を中断してもよい。いくつかの実施形態において、ネットワークコンピューティングおよびストレージデバイス１０７は、クライアントコンピューティングデバイス１０２と持続的ブラウジングとの間でアクティブな対話が何ら行われていないときには、持続的ブラウジングコンテキストをパッシブ状態に置いてもよい。例示的に、持続的ブラウジングコンテキストをパッシブ状態に置くことは、持続的ブラウジングコンテキストと関連付けられる、ネットワークコンピューティングおよびストレージデバイス１０７上で走っているソフトウェアブラウザアプリケーションを閉じること、持続的ブラウジングコンテキストと関連付けられた様々なコンテンツ、コンテンツ状態、またはブラウザ状態と関連付けられたデータをコピーすること、移動すること、または記憶すること等を含んでもよいが、これらに限定されない。一実施形態において、持続的ブラウジングコンテキストをパッシブ状態に置くときに行われる任意の変更は、持続的ブラウジングコンテキストがクライアントコンピューティングデバイス１０２によって後に要求されるときに、元に戻されてもよい。ネットワークコンピューティングおよびストレージデバイス１０７は、クライアントコンピューティングデバイス１０２からの対話データのタイムアウト、ユーザオプションまたは選好、コンテンツの属性（例えば、サイズ、埋め込みリソース、コンテンツの種類、コンテンツカテゴリ）、コンテンツと関連付けられたフラッグまたはタグ、あるいはネットワークコンピューティングプロバイダ１０７、クライアントコンピューティングデバイス１０２、ブラウザもしくはアプリケーション、オペレーティングシステム、ＣＤＮ  １０６、コンテンツプロバイダ１０４、または他のエンティティもしくはシステムと関連付けられた選好を含むが、これらに限定されない任意の数の要因に基づいて、持続的ブラウジングコンテキストをパッシブ状態に置いてもよい。
【０１３７】
本開示の様々な例となる実施形態は、以下の付記に関して記載され得る。
付記１．遠隔セッションブラウジングのためのコンピュータ実装方法であって、
第１のクライアントコンピューティングデバイスから、持続的ブラウジングコンテキストのための要求を得ることと、
持続的ブラウジングコンテキストのための要求に対応する新しいネットワークに基づくブラウザソフトウェアアプリケーションを初期化することと、
第１のクライアントコンピューティングデバイスによって要求されるコンテンツを得ることであって、コンテンツが、１つ以上の埋め込みリソースを参照するネットワークリソースを含む、得ることと、
コンテンツを処理して、第１の処理結果を生成することであって、第１の処理結果が、要求されたコンテンツの第１の状態と関連付けられ、第１の処理結果が、第１のコンピューティングデバイス上で表示するための要求されたコンテンツの第１の表現に対応する、生成することと、
第１の処理結果を第１のクライアントコンピューティングデバイスに提供することであって、第１のクライアントコンピューティングデバイスが、要求されたコンテンツの第１の表現を表示するように構成される、提供することと、
第２のクライアントコンピューティングデバイスから、持続的ブラウジングコンテキストにアクセスする要求を得ることと、
第２の処理結果を第２のクライアントコンピューティングデバイスに提供することであって、第２の処理結果が、少なくともある程度、要求されたコンテンツの第１の状態に基づいて生成され、第２の処理結果が、第２のクライアントコンピューティングデバイスにおいて表示するための要求されたコンテンツの第２の表現に対応し、第２のクライアントコンピューティングデバイスが、要求されたコンテンツの第２の表現を表示するように構成される、提供することと、を含む、コンピュータ実装方法。
付記２．第１のクライアントコンピューティングデバイスおよび第２のクライアントコンピューティングデバイスが、同じユーザと関連付けられる、付記１に記載のコンピュータ実装方法。
付記３．第２のクライアントが、後の時点で第１のクライアントコンピューティングデバイスと同じコンピューティングデバイスを備える、付記１に記載のコンピュータ実装方法。
付記４．第２の処理結果が、第１の処理結果を含む、付記１に記載のコンピュータ実装方法。
付記５．要求されたコンテンツの第１の状態が、第１のクライアントコンピューティングデバイスで表示された要求されたコンテンツ表現との１つ以上のユーザ対話に基づく、付記１に記載のコンピュータ実装方法。
付記６．
第３のクライアントコンピューティングデバイスによる、第２の持続的ブラウジングコンテキストのための要求を得ることと、
１つ以上の処理結果を、第３のクライアントコンピューティングデバイスに提供することと、を更に含み、１つ以上の処理結果が、第３のクライアントコンピューティングデバイスによって要求されるコンテンツの１つ以上の表現に対応し、第３のクライアントコンピューティングデバイスが、要求されたコンテンツの第１の１つ以上の表現を表示するように構成される、付記１に記載のコンピュータ実装方法。
付記７．遠隔セッションブラウジングのためのコンピュータ実装方法であって、
ネットワークコンピューティングプロバイダにおいて、第１のクライアントコンピューティングデバイスから、第１の持続的ブラウジングコンテキストのための要求を得ることと、
ネットワークコンピューティングプロバイダによって、処理結果を、第１のクライアントコンピューティングデバイスに提供することであって、処理結果が、初期の持続的ブラウジングコンテキストに応答したコンテンツの表現に対応する、提供することと、
ネットワークコンピューティングプロバイダにおいて、第２のクライアントコンピューティングデバイスによる、第２の持続的ブラウジングコンテキストにアクセスする要求を得ることであって、第１および第２の持続的コンテキストが、同じである、得ることと、
ネットワークコンピューティングプロバイダによって、第２の処理結果を、第２のクライアントコンピューティングデバイスに提供することであって、第２の処理結果が、第２の持続的ブラウジングコンテキストと関連付けられた前記コンテンツの第２の表現に対応する、提供することと、を含む、コンピュータ実装方法。
付記８．第２のクライアントが、第１のクライアントコンピューティングデバイスを備える、付記７に記載のコンピュータ実装方法。
付記９．第２の処理結果が、第１の処理結果を含む、付記７に記載のコンピュータ実装方法。
付記１０．第１のクライアントコンピューティングデバイスによって要求されるコンテンツの第１の表現が、第１のクライアントコンピューティングデバイスによって要求されるコンテンツの１つ以上の状態に対応する、付記７に記載のコンピュータ実装方法。
付記１１．第２のクライアントコンピューティングデバイスによって要求されるコンテンツの第２の表現が、第１のクライアントコンピューティングデバイスによって要求されるコンテンツの１つ以上の状態に対応する、付記１０に記載のコンピュータ実装方法。
付記１２．
ネットワークコンピューティングプロバイダにおいて、第３のクライアントコンピューティングデバイスによる、第３の持続的ブラウジングコンテキストのための要求を得ることと、
ネットワークコンピューティングプロバイダによって、第３の処理結果を、第３のクライアントコンピューティングデバイスに提供することと、を更に含み、第３の処理結果が、第３のクライアントコンピューティングデバイスによって要求されるコンテンツの第３の表現に対応する、付記７に記載のコンピュータ実装方法。
付記１３．第１の持続的ブラウジングコンテキストを複製して、第３の持続的ブラウジングコンテキストを生成することを更に含む、付記１２に記載のコンピュータ実装方法。
付記１４．第３の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現とのユーザ対話が、第１の持続的ブラウジングコンテキストを修正しない、付記１３に記載のコンピュータ実装方法。
付記１５．第１の持続的ブラウジングコンテキストおよび第２の持続的ブラウジングコンテキストが、同じ共有ブラウザ構成情報と関連付けられる、付記１２に記載のコンピュータ実装方法。
付記１６．共有ブラウザ構成情報が、第１の遠隔の持続的ブラウジングコンテキストおよび第２の遠隔の持続的ブラウジングコンテキストに共通の、持続的ブラウジングコンテキスト表示選好、ブックマーク情報、ブラウザアプリケーション視覚的外観選好、およびブラウズ履歴のうちの少なくとも１つを含む、付記１５に記載のコンピュータ実装方法。
付記１７．第３のクライアントコンピューティングデバイスが、第１のクライアントコンピューティングデバイスおよび第２のクライアントコンピューティングデバイスのうちの少なくとも１つを備える、付記１２に記載のコンピュータ実装方法。
付記１８．第３のクライアントコンピューティングデバイスが、別個のソフトウェアブラウザアプリケーションウィンドウ、別個のブラウザフレーム、および別個のブラウザタブのうちの少なくとも１つにおいて、要求されたコンテンツの第１の１つ以上の表現および要求されたコンテンツの第３の１つ以上の表現を表示するように構成される、付記１７に記載のコンピュータ実装方法。
付記１９．遠隔セッションブラウジングのためのシステムであって、
１つ以上のコンピュータプロセッサと、
１つ以上のコンピュータプロセッサのうちの少なくとも１つによってアクセス可能な少なくとも１つのコンピュータメモリと、
１つ以上のコンピュータプロセッサによって実行される実行可能なソフトウェアモジュールを備える、ネットワークコンピューティングコンポーネントと、を備え、ネットワークコンピューティングコンポーネントが、
第１のクライアントコンピューティングデバイスから、持続的ブラウジングコンテキストのための要求を得ることと、
持続的ブラウジングコンテキストと関連付けられたコンテンツを処理して、第１の処理結果を生成することであって、第１の処理結果が、第１のクライアントコンピューティングデバイスにおいて表示するためのコンテンツの第１の表現に対応する、生成することと、
第２のクライアントコンピューティングデバイスから、持続的ブラウジングコンテキストにアクセスする要求を得ることと、
持続的ブラウジングコンテキストと関連付けられたコンテンツを処理して、第２の処理結果を生成することであって、第２の処理結果が、第２のクライアントコンピューティングデバイスにおいて表示するためのコンテンツの第２の表現に対応する、生成することと、を行うように動作可能である、システム。
付記２０．第２のクライアントが、後の時点で第１のクライアントコンピューティングデバイスと同じコンピューティングデバイスを備える、付記１９に記載のシステム。
付記２１．第２の１つ以上の処理結果が、第１の１つ以上の処理結果を含む、付記１９に記載のシステム。
付記２２．持続的ブラウジングコンテキストと関連付けられたコンテンツの第１の表現が、持続的ブラウジングコンテキストと関連付けられたコンテンツの１つ以上の状態に対応する、付記１９に記載のシステム。
付記２３．持続的ブラウジングコンテキストと関連付けられたコンテンツの第２の表現が、持続的ブラウジングコンテキストと関連付けられたコンテンツの第１の１つ以上の状態に対応する、付記２２に記載のシステム。
付記２４．ネットワークコンピューティングコンポーネントが、
第３のクライアントコンピューティングデバイスによる、後続の持続的ブラウジングコンテキストのための要求を得ることと、
第３の処理結果を、第３のクライアントコンピューティングデバイスに提供することと、を行うように更に動作可能であり、第３の処理結果が、第３のクライアントコンピューティングデバイスによって要求されるコンテンツの第３の表現に対応し、第３のクライアントコンピューティングデバイスが、要求されたコンテンツの第３の表現を表示するように構成される、付記１９に記載のシステム。
付記２５．ネットワークコンピューティングコンポーネントが、持続的ブラウジングコンテキストを複製して、後続の持続的ブラウジングコンテキストを生成するように更に動作可能である、付記２４に記載のシステム。
付記２６．後続の持続的ブラウジングコンテキストと関連付けられたコンテンツの表現とのユーザ対話が、持続的ブラウジングコンテキストを修正しない、付記２５に記載のシステム。
付記２７．第１の遠隔の持続的ブラウジングコンテキストおよび第２の持続的ブラウジングコンテキストが、共有ブラウザ構成情報と関連付けられる、付記２４に記載のシステム。
付記２８．共有ブラウザ構成情報が、第１の遠隔の持続的ブラウジングコンテキストおよび第２の遠隔の持続的ブラウジングコンテキストに共通の、持続的ブラウジングコンテキスト表示選好、ブックマーク情報、ブラウザアプリケーション視覚的外観選好、およびブラウズ履歴のうちの少なくとも１つを含む、付記２７に記載のシステム。
付記２９．第３のクライアントコンピューティングデバイスが、第１のクライアントコンピューティングデバイスおよび第２のクライアントコンピューティングデバイスのうちの少なくとも１つを備える、付記２４に記載のシステム。
付記３０．第３のクライアントコンピューティングデバイスが、別個のソフトウェアブラウザアプリケーションウィンドウ、別個のブラウザフレーム、および別個のブラウザタブのうちの少なくとも１つにおいて、要求されたコンテンツの第１の１つ以上の表現および要求されたコンテンツの第３の１つ以上の表現を表示するように構成される、付記２９に記載のシステム。
【０１３８】
例示的な実施形態が開示され、論じられているが、当業者であれば、追加または代替の実施形態が本発明の趣旨および範囲内で実装されてもよいことを理解するであろう。例えば、本明細書に記載される技法は、画像もしくはビデオ編集ソフトウェア、データベースソフトウェア、事務所生産性ソフトウェア、３次元デザインソフトウェア、オーディオおよびサウンド処理アプリケーション等を含むが、これらに限定されない、任意の数の他のソフトウェアアプリケーションおよび処理において遠隔処理管理を可能にするために、本発明の範囲を逸脱することなく利用され得る。加えて、多くの実施形態は、例示的なものとして示されているが、当業者であれば、例示的な実施形態が一緒に組み合わされるか、または実装される必要がないことを理解するであろう。したがって、いくつかの例示的な実施形態は、本開示への変形形態の範囲に従って利用または実装される必要はない。
【０１３９】
とりわけ、「できる」、「できるであろう」、「してもよいであろう」、または「してもよい」等の条件的語法は、具体的に別途記述されるか、または使用される文脈内で別途理解されない限り、一般的に、ある特定の実施形態がある特定の特徴、要素、および／またはステップを含む一方で、他の実施形態がそれらを含まないことを伝達するように意図される。したがって、そのような条件的語法は、一般的に、特徴、要素、および／またはステップが１つ以上の実施形態にいずれの方式でも必要とされること、あるいは１つ以上の実施形態が、ユーザ入力またはプロンプトを用いてまたは用いずに、これらの特徴、要素、および／またはステップが任意の特定の実施形態に含まれるか、またはそれらが任意の特定の実施形態において行われるべきであるかどうかを決定するための論理を必ず含むことを示唆するようには意図されない。
【０１４０】
本明細書に記載され、および／または添付された図に図示される流れ図の任意の処理の説明、要素、またはブロックは、処理における具体的な論理的機能またはステップを実装するための１つ以上の実行可能な命令を含む、モジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されるべきである。当業者によって理解されるであろうが、関与する機能性に応じて、要素または機能が削除され、実質的に同時にまたは逆の順序を含めて、示されるまたは論じられる順序から外れた順序で実行され得る、代替の実装形態が、本明細書に記載される実施形態の範囲内に含まれる。上述のデータおよび／またはコンポーネントは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または更にネットワークインターフェース等のコンピュータ実行可能コンポーネントを格納する、コンピュータ可読と関連付けられたドライブ機構を使用して、コンピュータ可読媒体上に記憶され、コンピューティングデバイスのメモリに読み込まれてもよく、コンポーネントおよび／またはデータは、単一のデバイス内に含まれるか、または任意の様式で分散され得ることが、更に理解されるであろう。したがって、汎用コンピューティングデバイスは、上述の様々なデータおよび／またはコンポーネントの処理および／または実行と共に、本開示の処理、アルゴリズム、および手法を実装するように構成されてもよい。
【０１４１】
多くの変形形態および改変形態が上述の実施形態に対して行われてもよく、それらの要素が他の許容される実施例のうちにあるものとして理解されるべきであることが強調されるべきである。全てのそのような改変形態および変形形態は、本明細書において本開示の範囲内に含まれ、以下の特許請求の範囲によって保護されることが意図される。
【図１】
0005920903.tif 000002
【図２】
0005920903.tif 000003
【図３】
0005920903.tif 000004
【図４】
0005920903.tif 000005
【図５】
0005920903.tif 000006
【図６】
0005920903.tif 000007
【図７】
0005920903.tif 000008
【図８】
0005920903.tif 000009
【図９】
0005920903.tif 000010
【図１０】
0005920903.tif 000011
【図１１】
0005920903.tif 000012
【図１２】
0005920903.tif 000013
【図１３】
0005920903.tif 000014
【図１４】
0005920903.tif 000015
【図１５】
0005920903.tif 000016
【図１６】
0005920903.tif 000017
【図１７】
0005920903.tif 000018