(57)【要約】  少なくとも１つのサーバおよび少なくとも１つのクライアントを含む分散コンピューティングシステムにおいて、サーバは、ウェブページの初期コンテンツを生成するクライアント側スクリプトをシミュレートおよび実行する。具体的には、サーバはクライアント側の実行環境をシミュレートして、ウェブページの初期コンテンツを生成するクライアント側スクリプトを実行する。結果として、サーバがクライアントに送信するウェブページの初期レンダリングは、クライアント側で通常生成される初期コンテンツを既に含んでいる。
2009508220.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのサーバ（１０４）及び少なくとも１つのクライアント（１０２）を含む分散コンピューティングシステム（１００）において、前記サーバ（１０４）がウェブページの初期コンテンツ（１１４）を前記クライアント（１０２）に提供可能なコンピュータ実施方法であって、前記ウェブページの初期コンテンツ（１１４）はクライアント側スクリプト（１０８）により生成されるよう設計され、
（ａ）ドキュメントオブジェクトモデル（「ＤＯＭ」）（２０４）を提供するステップであって、前記ＤＯＭ（２０４）はウェブページのレイアウト及び静的コンテンツをモデリングし、前記ＤＯＭ（２０４）はさらに前記ウェブページのスクリプト（２０５）をモデリングするステップと、
（ｂ）前記ＤＯＭ（２０４）から前記スクリプト（１０８）を抽出するステップと、
（ｃ）前記ＤＯＭ（２０４）に前記ウェブページの前記初期コンテンツ（１１４）を含ませるように前記スクリプト（１０８）を前記ＤＯＭ（２０４）上で実行するステップと、
（ｄ）前記初期コンテンツ（１１４）を前記ＤＯＭ（２０４）から抽出するステップと、
（ｅ）前記ウェブページの前記初期コンテンツ（１１４）を前記クライアント（１０２）に送信するステップと
を備えることを特徴とするコンピュータ実施方法。
【請求項２】
前記ＤＯＭからスクリプトを抽出するステップは、前記ＤＯＭ内のスクリプトタグ及びスクリプティングソースコードから抽出されたコンテンツ並びに前記ＤＯＭ内のスクリプトタグ及びスクリプティングソースコードによって含められたコンテンツを、連続的に順序付けすることを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ＤＯＭ上で前記スクリプトを実行するステップはさらに、
前記スクリプトが前記サーバ上のデータに対する要求を生成する場合、前記クライアントと前記サーバとを接続するネットワークを介して前記要求を送信する代わりに、前記要求を前記サーバにローカルなデータに対する要求としてリダイレクトするためのリダイレクションメカニズムを使用すること
を含むことを特徴する請求項１に記載の方法。
【請求項４】
前記クライアントに送信される前記ウェブページの前記初期コンテンツは、前記スクリプトが処理した前記レイアウトと前記静的コンテンツとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
少なくとも１つのサーバ（１０４）と少なくとも１つのクライアント（１０２）とを含む分散コンピューティングシステム（１００）において、前記サーバ（１０４）がウェブページの初期コンテンツ（１１４）を前記クライアント（１０２）に提供可能なコンピュータシステム（３００）であって、前記ウェブページの初期コンテンツ（１１４）はクライアント側スクリプト（１０８）により生成されるよう設計され、
（ａ）メモリ（３０６）と、
（ｂ）前記メモリ（３０６）に結合され、
（１）ドキュメントオブジェクト（「ＤＯＭ」）シミュレータ（３１４）を実行して、前記ウェブページのレイアウトと静的コンテンツ及び前記ウェブページのスクリプト（２０５）に対して、ＤＯＭ（２０４）を提供すること、
（２）前記ＤＯＭ（２０４）から前記スクリプト（１０８）を抽出すること、
（３）前記クライアント（１０２）上で用いられるスクリプトエンジンと同様に機能するサーバ側スクリプトエンジン（３１６）を用いて、前記ＤＯＭ（２０４）に前記ウェブページの前記初期コンテンツ（１１４）を含ませるように前記ＤＯＭ（２０４）上の前記スクリプト（１０８）を実行すること、
（４）前記初期コンテンツ（１１４）を前記ＤＯＭ（２０４）から抽出すること、
（５）前記ウェブページの前記初期コンテンツ（１１４）を前記クライアント（１０２）に送信すること
に関するコンピュータ実行可能命令を実行するプロセッサ（３０４）と
を備えることを特徴とするコンピュータシステム。
【請求項６】
前記プロセッサは、前記ＤＯＭ内のスクリプトタグ及びスクリプティングソースコードから抽出されたコンテンツ並びに前記ＤＯＭ内のスクリプトタグ及びスクリプティングソースコードによって含められたコンテンツを連続的に順序付けすることにより、前記ＤＯＭから前記スクリプトを抽出するコンピュータ実行可能命令を実行することを特徴とする請求項５に記載のコンピュータシステム。
【請求項７】
前記ＤＯＭ上の前記スクリプトの実行において、前記スクリプトが前記サーバ上のデータに対する要求を生成する場合、前記プロセッサは、前記クライアントと前記サーバとを接続するネットワークを介して前記要求を送信する代わりに、前記要求を前記サーバにローカルなデータに対する要求としてリダイレクトするためのリダイレクションメカニズムを使用することを特徴とする請求項５に記載のコンピュータシステム。
【請求項８】
前記クライアントに送信される前記ウェブページの前記初期コンテンツは、前記スクリプトが処理した前記レイアウトと静的コンテンツとを含むことを特徴とする請求項５に記載のコンピュータシステム。
【請求項９】
少なくとも１つのサーバ（１０４）と少なくとも１つのクライアント（１０２）とを含む分散コンピューティング（１００）において、前記サーバ（１０４）がウェブページの初期コンテンツ（１１４）を前記クライアント（１０２）に提供可能なコンピュータシステム（３００）であって、前記のウェブページの初期コンテンツ（１１４）はクライアント側スクリプト（１０８）により生成されるよう設計され、
（ａ）メモリ（３０６）と、
（ｂ）前記メモリ（３０６）に結合され、
（１）ＤＯＭ（２０４）に前記ウェブページのレイアウトと静的コンテンツ及び前記ウェブページのスクリプト（２０５）を提供すること、
（２）前記ＤＯＭ（２０４）から前記スクリプト（１０８）を抽出すること、
（３）前記ＤＯＭ（２０４）に前記ウェブページの前記初期コンテンツ（１１４）を含ませるように前記スクリプト（１０８）を前記ＤＯＭ（２０４）上で実行すること、
（４）前記初期コンテンツ（１１４）を前記ＤＯＭ（２０４）から抽出すること、
（５）前記ウェブページの前記初期コンテンツ（１１４）を前記クライアント（１０２）に送信すること
に関するコンピュータ実行可能命令を実行するプロセッサ（３０４）と
を備えることを特徴とするコンピュータシステム。
【請求項１０】
前記プロセッサは、前記ＤＯＭ内のスクリプトタグ及びスクリプティングソースコードから抽出されたコンテンツ並びに前記ＤＯＭ内のスクリプトタグ及びスクリプティングソースコードによって含められたコンテンツを連続的に順序付けすることで、前記ＤＯＭから前記スクリプトを抽出するようにコンピュータ実行可能命令を実行することを特徴とする請求項９に記載のコンピュータシステム。
【請求項１１】
前記ＤＯＭ上の前記スクリプトの実行において、前記スクリプトが前記サーバ上のデータに対する要求を生成する場合、前記プロセッサは、前記クライアントと前記サーバとを接続するネットワークを介して前記要求を送信する代わりに、前記要求を前記サーバにローカルなデータに対する要求としてリダイレクトするためのリダイレクションメカニズムを使用することを特徴とする請求項９に記載のコンピュータシステム。
【請求項１２】
前記ウェブページの前記初期コンテンツは、前記スクリプトが処理した前記レイアウトと静的コンテンツとを含むことを特徴とする請求項９に記載のコンピュータシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
クライアントコンポーネント（「クライアント」）およびサーバコンポーネント（「サーバ」）のような複数のエンティティを含む分散コンピューティングシステムにおいて、一般にサーバはクライアントにウェブページのレイアウトを提供し、クライアントはスクリプトを実行してウェブページに対する初期コンテンツを生成する。また、ウェブページのコンテンツを動的にすることもできる。すなわち、ウェブページの初期コンテンツをクライアント側スクリプトによりレンダリングした後、ユーザの動作と分散コンピューティングシステムにおける他のエンティティからの入力に応じて、ウェブページのコンテンツをクライアント側スクリプトにより引き続いて再レンダリングすることも多い。
【０００２】
図１は、少なくとも１つのクライアント１０２と少なくとも１つのサーバ１０４とを含む例示的な分散コンピューティングシステム１００を示す。ウェブページの表示の要求をクライアント１０２から受信すると、サーバ１０４はＨＴＭＬ  Ａ（１０６）のようなＨＴＭＬファイルとスクリプト１０８とをクライアント１０２に送信する。ＨＴＭＬ  Ａ（１０６）はウェブページのレイアウト情報と静的コンテンツとを含む。スクリプト１０８は、要求したウェブページの初期コンテンツの生成を実行する。また、ＨＴＭＬ  Ａ（１０６）およびスクリプト１０８が同一ファイルに統合されることも多い。
【０００３】
図１に示すように、ＨＴＭＬ  Ａ（１０６）およびスクリプト１０８を受信すると、クライアント１０２は、スクリプト１０８を実行してウェブページ用に初期コンテンツを動的に生成する。スクリプト１０８は初期コンテンツを生成するためにサーバ１０４から特定データを必要とすることが度々ある。従って、クライアント１０２は、サーバ１０４からの必要なデータの要求１１０を送信する。次いで、サーバ１０４は、要求されたデータ１１２をクライアント１０２に返す。データ１１２を受信すると、スクリプト１０８はデータ１１２を実行および使用してＨＴＭＬ  Ａ（１０６）を修正し、ＨＴＭＬ  Ｂ（１１４）を取得する。ＨＴＭＬ  Ｂ（１１４）にはウェブページのレイアウトと初期コンテンツの両方が含まれる。ウェブページのコンテンツは、例えばユーザが与える入力に基づいて、後で変更できる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のクライアント側のコンテンツレンダリングメカニズムには幾つかの問題がある。例えば、通常、検索エンジンはスクリプトを実行しない。従って、検索エンジンがクライアント１０２にクエリを行い、ウェブページを求めるとき、検索エンジンはＨＴＭＬ  Ａ（１０６）が提供するもの、すなわちウェブページのレイアウト情報および静的コンテンツを取得する。検索エンジンは、索引付けのために重要であるウェブページの実際のコンテンツを取得することはできない。加えて、クライアント１０２上のウェブブラウザはスクリプトの実行能力を有さないか、またはウェブブラウザのスクリプト実行能力が無効にされている場合がある。結果として、クライアント１０２のウェブブラウザはＨＴＭＬ  Ｂ（１１４）を生成するためのスクリプト１０８を実行できず、従ってウェブページの初期コンテンツを実行できない。
【０００５】
既存システムの具体的な欠点を背景技術において実証および説明したが、当業者は、説明した欠点の任意または全てを解決する特定の実装に特許請求される構成要件が限定されないことを理解するであろう。
【課題を解決するための手段】
【０００６】
本要約は、選択した概念を簡潔な形で紹介するために提供されるもので、これらの概念は、さらに後述される。本要約は、特許請求された構成要件の主要な特徴を特定することを意図しておらず、特許請求された構成要件の範囲を決定するための支援として使用することも意図していない。
【０００７】
本発明の態様は、ウェブページの初期コンテンツをレンダリングするクライアント側スクリプトをサーバ上でシミュレートおよび実行することで、上記で特定した問題を解決する。シミュレーションでは、スクリプトがウェブページの初期コンテンツを生成するためのクライアント側実行環境をサーバ上に作成する。結果として、サーバがクライアントに送信したウェブページの初期レンダリングは、通常、クライアント上で生成する初期コンテンツを既に含んでいる。
【０００８】
本発明の１つの態様には、少なくとも１つのサーバおよび少なくとも１つのクライアントを含む分散コンピューティングシステムが含まれる。サーバは、クライアントが表示するための１つまたは複数のウェブページを提供する。サーバはドキュメントオブジェクトモデル（ＤＯＭ）シミュレータを使用して、ウェブページのソースコードを含むファイルをモデリングする。上記のファイルとしては、例えばＨＴＭＬファイルが可能である。サーバはさらにスクリプトエンジン（「サーバ側スクリプトエンジン」）を含むことができ、そのサーバ側スクリプトエンジンは、クライアントが使用するスクリプトエンジンをシミュレートするか、または前記スクリプトエンジンと同一である。
【０００９】
サーバはＤＯＭシミュレータを使用して、ウェブページのレイアウトおよび静的コンテンツのＤＯＭならびにウェブページのスクリプトのＤＯＭを提供する。サーバは次いで、ウェブページの初期コンテンツのレンダリングを行うスクリプトを前記ＤＯＭから抽出する。上記スクリプトを、ＤＯＭ内のスクリプトタグとスクリプティングソースコードで存在するＤＯＭから抽出したコンテンツを連続的に順序付けして生成することができる。サーバは次いでサーバ側スクリプトエンジンを使用して、抽出スクリプトをＤＯＭ上で実行する。スクリプトの実行の結果、ＤＯＭはウェブページの初期コンテンツを含むことになる。サーバは次いでウェブページの初期コンテンツをＤＯＭから抽出する。最後に、サーバはウェブページの初期コンテンツを表示のためにクライアントに送信する。
【００１０】
要約すると、分散コンピューティングシステム内のサーバは、通常はクライアント側スクリプトがレンダリングするウェブページの初期コンテンツを、本発明の態様により提供することができる。従って、クライアントは、クライアントのウェブブラウザがクライアント側スクリプトを実行して初期コンテンツを生成できない場合でも、ウェブページの初期コンテンツを表示することができる。結果として、一般に、スクリプトを実行しない検索エンジンは、索引付けのためにウェブページの初期コンテンツを取得することができる。
【００１１】
本発明の前述の態様及び多くの付随する利点は、図面と関連させて以下の詳細な説明を参照することで、より容易に、より良く理解できる。
【発明を実施するための最良の形態】
【００１２】
以下に本発明の例示的な実施形態を示し、説明する。しかしながら、当業者は本発明の本質および範囲から逸脱することなく様々な変更をそれらに加えうることを理解するであろう。
【００１３】
本発明の実施形態を、少なくともプロセッサとメモリを含むコンピュータにより実行されるプログラムモジュールのようなコンピュータ実行可能命令の一般的文脈で説明することができる。一般的に説明すると、プログラムモジュールには、特定のタスクを実施するか、または特定の抽象データ型を実装するルーチン、プログラム、ウィジェット、オブジェクト、コンポーネント、データ構造、等が含まれる。本発明の実施形態を、複数のエンティティを含む分散コンピューティングシステムで実施することもできる。エンティティの各々は、サービスを提供するサーバとして機能する可能性を有するとともに、サーバが提供するサービスを受信するクライアントとして機能する可能性も有する。例えば、サービスはウェブページを提供することが可能である。エンティティは同一のコンピュータシステムに対してローカルであるか、または通信ネットワークを通してリモートに接続することができる。分散コンピューティングシステムでは、プログラムモジュールをローカルおよび／またはリモートコンピュータ記憶媒体に置くことができる。
【００１４】
本発明の例示的な実施形態は既存のサーバ側技術を利用して、クライアント側スクリプトがウェブページの初期コンテンツを生成するためのクライアント側実行環境をサーバ上でシミュレートする。例えば、ドキュメントオブジェクトモデル（「ＤＯＭ」）シミュレータは、ウェブページのソースコードを含むファイルをモデリングするＤＯＭの生成に必要である。例えば、上記のファイルはＨＴＭＬファイルで可能である。また、ＤＯＭは、ＨＴＭＬのオブジェクトモデルをシミュレートする。ＤＯＭは、任意のほとんどのサーバプラットフォームで利用可能な技術であるＸＭＬ  ＤＯＭでも可能である。加えて、クライアント側スクリプトエンジンと同一のものをシミュレートまたはそれと同様に機能するサーバ側スクリプトエンジンが必要である。例えば、クライアントがそのスクリプトエンジンとしてＪａｖａ（登録商標）Ｓｃｒｉｐｔを使用する場合、サーバはＪａｖａ（登録商標）Ｓｃｒｉｐｔファイルを実行可能なスクリプトエンジンを提供する必要がある。サーバ側スクリプトエンジンは、クライアント側スクリプトエンジンのシミュレーション、またはクライアントスクリプトエンジンそのものであってもよい。ＤＯＭおよび適切なサーバ側スクリプトエンジンが利用可能であると、サーバ側スクリプトエンジンは、図１に示すスクリプト１０８のようなクライアント側スクリプトをＤＯＭに対して実行して、ウェブページの初期コンテンツを生成する。
【００１５】
図２は、ウェブページに対するＨＴＭＬ  Ｂ（１１４）のような初期ページをレンダリングするサーバ側プロセス２００の例示的な実装を示す。初期ページは、ウェブページの全ての初期コンテンツを有している。図２は、図１に示す分散コンピューティングシステム１００に関連して示されている。図２に示すように、サーバ１０４は従来の初期レンダリング、すなわちウェブページのレイアウト情報と静的情報を含むＨＴＭＬ  Ａ（１０６）の提供で開始する。ブロック２０２を参照のこと。ＨＴＭＬ  Ａ（１０６）をシミュレートするＤＯＭ２０４が次いで生成される。ＨＴＭＬ  Ａ（１０６）はＤＯＭパーサに投入することでＤＯＭ２０４を生成することができる。ＨＴＭＬ  Ａ（１０６）がＸＨＴＭＬ標準に準拠する場合、ＤＯＭパーサは、完全なＨＴＭＬパーサまたはＸＭＬパーサで可能である。当業者には知られているように、パーサは、それがＤＯＭパーサ、ＨＴＭＬパーサ、又はＸＭＬパーサであるかに関わらず、与えられた一連の形式文法に関して入力の文法構造を分析するコンピュータプログラムである。一般に、パーサは入力を、入力の暗黙的構造（ｉｍｐｌｉｅｄ  ｈｉｅｒａｒｃｈｙ）を捉えるデータ構造に変換する。データ構造としては例えば、ツリーまたはグラフが可能である。データ構造をコード生成、意味検査に使用でき、または単純に入力の更なる理解を容易にするために使用できる。
【００１６】
ウェブページのレイアウト情報および静的コンテンツをシミュレートする以外に、ＤＯＭ２０４は、また、ウェブページの初期コンテンツを生成するスクリプト１０８を含む、ウェブページ用のスクリプト２０５もシミュレートする。サーバ１０４は次いでスクリプト１０８をＤＯＭ２０４から抽出する。ブロック２０６を参照のこと。スクリプト１０８をクライアント１０２が実行するように設計したので、スクリプト１０８をクライアントスクリプトとも称する。本発明の例示的な実施形態では、サーバ１０４は＜ｓｃｒｉｐｔ＞タグに対してＤＯＭ２０４をスキャンし、＜ｓｃｒｉｐｔ  ｓｒｃ＝．．．＞スクリプトをフェッチまたは解釈することでスクリプト１０８を構築する。スクリプト１０８は、＜ｓｃｒｉｐｔ＞タグ及び＜ｓｃｒｉｐｔ  ｓｒｃ＝．．．＞内で指定されたスクリプトにおけるコンテンツの連続的順序を使用して構築される。
【００１７】
サーバ１０４は次いで、スクリプト１０８をＤＯＭ２０４上で実行する。ブロック２０８参照のこと。本発明の例示的な実施様態では、スクリプト１０８をリッチな実行環境で実行する。本環境では、ＤＯＭ２０４は、組み込みオブジェクトとしてスクリプト１０８に利用可能であり、スクリプト１０８がクライアント１０２上にあるかのように同一パスを通じてアクセスが可能である。結果として、ＤＯＭ２０４は、スクリプト１０８に対して、ほぼ確実にＤＯＭ２０４がＨＴＭＬ  Ａ（１０６）のクライアント側ＤＯＭであるかのように見える。
【００１８】
図１に示すように、従来、スクリプト１０８は、データ１１２をウェブページ内でレンダリングする要求１１０を送信することができる。大部分のウェブブラウザ上のセキュリティ制限のため、要求データ１１２は通常、ウェブページの初期レンダリングを提供するサーバ１０４上に記憶される。従って、要求１１０は一般に、クライアント１０２とサーバ１０６を接続するネットワークを通じて移動する。ここで、サーバ１０４はクライアント側スクリプト実行環境をシミュレートしているので、スクリプト１０８が送信したデータ要求１１０をクライアント１０２とサーバ１０４を接続するネットワーク上で引き続き移動させることは効率的ではなく、または要求されないであろう。従って、本発明の例示的な実施様態は、ネットワークを通じてデータ要求１１０を送信するのではなく、サーバ１０４上のローカルデータ記憶に直接クエリを行うリダイレクションメカニズムを提供する。このクエリを、スクリプト１０８に透過的な方法で実施することができる。幾つかのシナリオでは、クライアント１０２はＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを使用してウェブページ用のデータを取り出す。本発明の例示的な実施様態は、異なるＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを実装することができる。そのＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトは、サーバ１０４上のデータ１１２に対する要求１１０を、ネットワークの呼び出しを行わずにサーバ１０４上の的確なデータオブジェクトに向ける。または、本発明の実施様態は、サーバ１０４上で、もはや適用可能でないスクリプト１０８内のクライアント側機能を無効にすることができる。例えばスクリプト１０８内のクライアント側タイマーの機能性を、スクリプト１０８をサーバ１０４上で実行する際にタイマーがイベントを発生させないように遮断することができる。
【００１９】
スクリプト１０８の実行によりＤＯＭ２０４が修正される。ＤＯＭ２０４はこの時点でウェブページのレイアウト情報と初期コンテンツの両方を含む。すなわち、ＤＯＭ２０４はこの時点で図１に示すＨＴＭＬ  Ｂ（１１４）をシミュレートする。サーバ１０８は次いで、ＤＯＭ２０４のテキスト表現を抽出し、それをクライアント１０２に送信する。ブロック２１０を参照のこと。そのテキスト表現は、ＨＴＭＬ  Ｂ（１１４）を形成する。従って、クライアント１０２はサーバ１０４から、ウェブページの完全な初期コンテンツを含む初期レンダリング―ＨＴＭＬ  Ｂ（１１４）を受信する。ウェブページのコンテンツを、例えばユーザの入力に応じて、後にクライアント側で更新することができる。
【００２０】
本発明の実施様態では、クライアント１０２およびサーバ１０４を同一コンピュータ上、または分散コンピュータシステム１００内の様々なコンピュータ上に配置することができる。図３は、本発明の態様の実装に適した、サーバ１０４用の例示的コンピュータシステム３００を示す。サーバ１０４はネットワークインターフェース３０２を用いてネットワーク３０１に接続する。ネットワークインターフェース３０２は、ハードウェアとソフトウェアを含んでおり、これらはＴＣＰ／ＩＰプロトコルのような１つまたは複数の適切な通信プロトコルを用いてネットワーク３０２に接続した他のコンピューティング装置と、サーバ１０４が通信することを可能にするのに不可欠である。例えば、クライアント１０２が分散コンピューティングシステム１００内の別のコンピュータシステム上に存在する場合、サーバ１０４は、ネットワークインターフェース３０２を通じてクライアント１０２と通信する。
【００２１】
サーバ１０４にはさらに、プロセッサ３０４、メモリ３０６、および入出力インターフェース３０８が含まれ、通信バス３１０によりそれら全てを通信可能なように互いに接続し、ネットワークインターフェース３０２に接続する。プロセッサ３０４は、メモリ３０６のようなメモリに記憶したコンピュータプログラム命令に従って動作するように設定される。また、プログラム命令を、プログラムデジタル信号プロセッサのようなハードウェア形式で具体化することもできる。
【００２２】
メモリ３０６を任意の種類の記憶装置で構成することができ、例えば、ＲＡＭ、ＲＯＭ、および／または取り外し可能コンピュータ可読媒体を含むことができる。メモリ３０６は、サーバ１０４の動作を制御するオペレーティングシステム３１２を記憶することができる。オペレーティングシステム３１２は、例えばマイクロソフト（登録商標）のサーバオペレーティングシステム、ＵＮＩＸ（登録商標）、またはＬＩＮＵＸのような汎用オペレーティングシステムで可能である。
【００２３】
上述のように、本発明の例示的実施形態では、サーバ１０４は、ウェブページの初期コンテンツを生成するクライアント側スクリプト１０８を、シミュレートおよび実行するための環境を構築する。シミュレーション環境は、ウェブページのソースコードを含むＨＴＭＬファイルのようなファイルのオブジェクトモデルをシミュレートするＤＯＭシミュレータを含むことができる。そのシミュレーション環境はさらに、クライアント１０２が用いるスクリプトエンジンと同様に機能するサーバ側スクリプトエンジンを含むことができる。従って、図３に示すように、サーバ１０４のメモリ３０６は、ＤＯＭシミュレータ３１４およびサーバ側スクリプトエンジン３１６を提供するプログラムコードとデータとをさらに記憶する。ＤＯＭシミュレータ３１４は、プロセッサ３０４の実行時に、ウェブページのソースコードを含むＨＴＭＬのようなファイルが与えるオブジェクトモデルをシミュレートするコンピュータ実行可能命令を備える。サーバ側スクリプトエンジン３１６は、プロセッサ３０４の実行時にクライアント１０２が用いるスクリプトエンジンと同様にシミュレートまたは動作するコンピュータ実行可能命令を備える。
【００２４】
説明を簡略化するため、図３には、ピデオディスプレイアダプタ、電源、コンピュータモニタ、等の他の一般的な構成要素を示していない。しかしながら、当業者は、図３に示すようなコンピュータシステムの構築および操作に使用可能な商用的に利用可能な構成要素を広範囲に選択できることを認識するであろう。
【００２５】
本発明の様態を構造的特徴および／または方法論的動作に固有な言葉で説明したが、特許請求の範囲で定義した主題は必ずしも上述の特定の特徴または動作に限定されないことは理解されるべきである。むしろ、上述の特定の特徴または動作は、請求項を実装する形態の例として開示してある。
【図面の簡単な説明】
【００２６】
【図１】ウェブページの初期コンテンツの例示的なクライアント側レンダリングを示すブロック図である。
【図２】ウェブページの初期コンテンツの例示的なサーバ側レンダリングを示すブロック図である。
【図３】ウェブページの初期コンテンツのサーバ側レンダリングに対する例示的なコンピュータシステムを示すブロック図である。
【図１】
2009508220.tif 000003
【図２】
2009508220.tif 000004
【図３】
2009508220.tif 000005
【国際調査報告】
2009508220.tif 000006
2009508220.tif 000007