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