【手続補正書】
【提出日】平成21年10月1日(2009.10.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つのサーバ及び少なくとも１つのクライアントを含む分散コンピューティングシステムにおいて、前記サーバが完全なウェブページの初期コンテンツを前記クライアントに提供可能なコンピュータ実施方法であって、前記ウェブページの前記完全な初期コンテンツの少なくとも一部分はクライアント側スクリプトにより生成されるよう設計され、前記方法は、
ドキュメントオブジェクトモデル（「ＤＯＭ」）を提供するステップであって、前記ＤＯＭはウェブページのレイアウト及び静的コンテンツをモデリングし、前記ＤＯＭはさらに前記ウェブページのスクリプトをモデリングする、ステップと、
前記ＤＯＭから、前記ウェブページの初期コンテンツに対応するスクリプトタグを抽出するステップと、
前記スクリプトタグにおけるコンテンツの連続的順序に従って前記スクリプトタグで指定されたコンテンツをフェッチすることによって新しいスクリプトを構築するステップと、
前記クライアント上で使用されるスクリプトエンジンと同一のものをシミュレートまたはそれと同様に機能するサーバ側スクリプトエンジンを使用して、前記ＤＯＭに前記ウェブページの前記完全な初期コンテンツを含ませるように前記新しいスクリプトを前記ＤＯＭ上で実行するステップであって、前記サーバ側スクリプトエンジンは、前記新しいスクリプトが前記ＤＯＭを組み込みオブジェクトとして利用可能であるリッチな実行環境でシミュレートまたは機能し、前記ＤＯＭが前記新しいスクリプトを前記クライアント上で実行しているように見えるように前記ＤＯＭが前記クライアント上にあるかのように同一パスを通じて前記新しいスクリプトにアクセスが可能である、ステップと、
前記完全な初期コンテンツのテキスト表現を前記ＤＯＭから抽出するステップと、
前記ウェブページの前記完全な初期コンテンツのテキスト表現を前記クライアントに送信するステップと
を備えることを特徴とするコンピュータ実施方法。
【請求項２】
前記ＤＯＭ上で前記新しいスクリプトを実行するステップはさらに、
前記新しいスクリプトが前記サーバ上のデータに対する要求を生成する場合、前記クライアントと前記サーバとを接続するネットワークを介して前記要求を送信する代わりに、前記要求を前記サーバにローカルなデータに対する要求としてリダイレクトするためのリダイレクションメカニズムを使用すること
を含むことを特徴する請求項１に記載の方法。
【請求項３】
前記クライアントに送信される前記ウェブページの前記完全な初期コンテンツは、前記スクリプトが処理した前記レイアウトと前記静的コンテンツとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
少なくとも１つのサーバと少なくとも１つのクライアントとを含む分散コンピューティングシステムにおいて、前記サーバがウェブページの完全な初期コンテンツを前記クライアントに提供可能なコンピュータシステムであって、前記ウェブページの完全な初期コンテンツはクライアント側スクリプトにより生成されるよう設計され、前記システムは、
プロセッサと、
コンピュータ実行可能プログラムを格納したメモリであって、前記メモリに結合されたプロセッサによって前記プログラムが実行されるときに方法が実施される、メモリを備え、
前記方法は、
ドキュメントオブジェクトモデル（「ＤＯＭ」）を提供するステップであって、前記ＤＯＭはウェブページのレイアウト及び静的コンテンツをモデリングし、前記ＤＯＭはさらに前記ウェブページのスクリプトをモデリングする、ステップと、
前記ウェブページの初期コンテンツに対応するスクリプト要素を前記ＤＯＭから抽出するステップと、
前記ＤＯＭから抽出された前記スクリプト要素を含む新しいスクリプトを構築するステップと、
前記クライアント上で用いられるスクリプトエンジンと同一のものをシミュレートまたはそれと同様に機能するサーバ側スクリプトエンジンを用いて、前記ＤＯＭに前記ウェブページの前記完全な初期コンテンツを含ませるように前記ＤＯＭ上の前記新しいスクリプトを実行するステップであって、前記サーバ側スクリプトエンジンは、前記新しいスクリプトが前記ＤＯＭを組み込みオブジェクトとして利用可能であるリッチな実行環境でシミュレートまたは機能し、前記ＤＯＭが前記新しいスクリプトを前記クライアント上で実行しているように見えるように前記ＤＯＭが前記クライアント上にあるかのように同一パスを通じて前記新しいスクリプトにアクセスが可能である、ステップと、
前記完全な初期コンテンツのテキスト表現を前記ＤＯＭから抽出するステップと、
前記ウェブページの前記完全な初期コンテンツのテキスト表現を前記クライアントに送信するステップとを備えること
を特徴とするコンピュータシステム。
【請求項５】
前記ＤＯＭ上の前記新しいスクリプトの実行において、前記新しいスクリプトが前記サーバ上のデータに対する要求を生成する場合、前記プロセッサは、前記クライアントと前記サーバとを接続するネットワークを介して前記要求を送信する代わりに、前記要求を前記サーバにローカルなデータに対する要求としてリダイレクトするためのリダイレクションメカニズムを使用することを特徴とする請求項４に記載のコンピュータシステム。
【請求項６】
前記クライアントに送信される前記ウェブページの前記完全な初期コンテンツは、前記新しいスクリプトが処理した前記レイアウトと静的コンテンツとを含むことを特徴とする請求項４に記載のコンピュータシステム。
【請求項７】
プロセッサによって実行されたときに方法が実施されるコンピュータ実行可能プログラムを記憶したコンピュータ読み取り可能記憶媒体であって、前記方法は、
ドキュメントオブジェクトモデル（「ＤＯＭ」）を提供するステップであって、前記ＤＯＭはウェブページのレイアウト及び静的コンテンツをモデリングし、前記ＤＯＭはさらに前記ウェブページのスクリプトをモデリングする、ステップと、
前記ＤＯＭから、前記ウェブページの初期コンテンツに対応するスクリプト要素を抽出するステップと、
前記ＤＯＭから抽出された前記スクリプト要素を含む新しいスクリプトを構築するステップと、
前記クライアント上で使用されるスクリプトエンジンと同一のものをシミュレートまたはそれと同様に機能するサーバ側スクリプトエンジンを使用して、前記ＤＯＭに前記ウェブページの前記完全な初期コンテンツを含ませるように前記新しいスクリプトを前記ＤＯＭ上で実行するステップであって、前記サーバ側スクリプトエンジンは、前記新しいスクリプトが前記ＤＯＭを組み込みオブジェクトとして利用可能であるリッチな実行環境でシミュレートまたは機能し、前記ＤＯＭが前記新しいスクリプトを前記クライアント上で実行しているように見えるように前記ＤＯＭが前記クライアント上にあるかのように同一パスを通じて前記新しいスクリプトにアクセスが可能である、ステップと、
前記完全な初期コンテンツのテキスト表現を前記ＤＯＭから抽出するステップと、
前記ウェブページの前記完全な初期コンテンツのテキスト表現を前記クライアントに送信するステップと
を備えることを特徴とするコンピュータ読み取り可能記憶媒体。
【請求項８】
前記新しいスクリプトを前記ＤＯＭ上で実行するステップは、
前記新しいスクリプトが前記サーバ上のデータに対する要求を生成する場合、前記クライアントと前記サーバとを接続するネットワークを介して前記要求を送信する代わりに、前記要求を前記サーバにローカルなデータに対する要求としてリダイレクトするためのリダイレクションメカニズムを使用することを含むことを特徴とする請求項７に記載のコンピュータ読み取り可能記憶媒体。
【請求項９】
前記クライアントに送信される前記ウェブページの前記完全な初期コンテンツは、前記新しいスクリプトが処理した前記レイアウトと静的コンテンツとを含むことを特徴とする請求項７に記載のコンピュータ読み取り可能記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
図１は、少なくとも１つのクライアント１０２と少なくとも１つのサーバ１０４とを含む例示的な分散コンピューティングシステム１００を示す。ウェブページの表示の要求をクライアント１０２から受信すると、サーバ１０４はＨＴＭＬ（ｈｙｐｅｒｔｅｘｔ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）  Ａ（１０６）のようなＨＴＭＬファイルとスクリプト１０８とをクライアント１０２に送信する。ＨＴＭＬ  Ａ（１０６）はウェブページのレイアウト情報と静的コンテンツとを含む。スクリプト１０８は、要求したウェブページの初期コンテンツの生成を実行する。また、ＨＴＭＬ  Ａ（１０６）およびスクリプト１０８が同一ファイルに統合されることも多い。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明の例示的な実施形態は既存のサーバ側技術を利用して、クライアント側スクリプトがウェブページの初期コンテンツを生成するためのクライアント側実行環境をサーバ上でシミュレートする。例えば、ドキュメントオブジェクトモデル（「ＤＯＭ」）シミュレータは、ウェブページのソースコードを含むファイルをモデリングするＤＯＭの生成に必要である。例えば、上記のファイルはＨＴＭＬファイルで可能である。また、ＤＯＭは、ＨＴＭＬのオブジェクトモデルをシミュレートする。ＤＯＭは、任意のほとんどのサーバプラットフォームで利用可能な技術であるＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）  ＤＯＭでも可能である。加えて、クライアント側スクリプトエンジンと同一のものをシミュレートまたはそれと同様に機能するサーバ側スクリプトエンジンが必要である。例えば、クライアントがそのスクリプトエンジンとしてＪａｖａ（登録商標）Ｓｃｒｉｐｔを使用する場合、サーバはＪａｖａ（登録商標）Ｓｃｒｉｐｔファイルを実行可能なスクリプトエンジンを提供する必要がある。サーバ側スクリプトエンジンは、クライアント側スクリプトエンジンのシミュレーション、またはクライアントスクリプトエンジンそのものであってもよい。ＤＯＭおよび適切なサーバ側スクリプトエンジンが利用可能であると、サーバ側スクリプトエンジンは、図１に示すスクリプト１０８のようなクライアント側スクリプトをＤＯＭに対して実行して、ウェブページの初期コンテンツを生成する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
図２は、ウェブページに対するＨＴＭＬ  Ｂ（１１４）のような初期ページをレンダリングするサーバ側プロセス２００の例示的な実装を示す。初期ページは、ウェブページの全ての初期コンテンツを有している。図２は、図１に示す分散コンピューティングシステム１００に関連して示されている。図２に示すように、サーバ１０４は従来の初期レンダリング、すなわちウェブページのレイアウト情報と静的情報を含むＨＴＭＬ  Ａ（１０６）の提供で開始する。ブロック２０２を参照のこと。ＨＴＭＬ  Ａ（１０６）をシミュレートするＤＯＭ２０４が次いで生成される。ＨＴＭＬ  Ａ（１０６）はＤＯＭパーサに投入することでＤＯＭ２０４を生成することができる。ＨＴＭＬ  Ａ（１０６）がＸＨＴＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｈｙｐｅｒｔｅｘｔ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）標準に準拠する場合、ＤＯＭパーサは、完全なＨＴＭＬパーサまたはＸＭＬパーサで可能である。当業者には知られているように、パーサは、それがＤＯＭパーサ、ＨＴＭＬパーサ、又はＸＭＬパーサであるかに関わらず、与えられた一連の形式文法に関して入力の文法構造を分析するコンピュータプログラムである。一般に、パーサは入力を、入力の暗黙的構造（ｉｍｐｌｉｅｄ  ｈｉｅｒａｒｃｈｙ）を捉えるデータ構造に変換する。データ構造としては例えば、ツリーまたはグラフが可能である。データ構造をコード生成、意味検査に使用でき、または単純に入力の更なる理解を容易にするために使用できる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
スクリプト１０８の実行によりＤＯＭ２０９が修正される。ＤＯＭ２０９はこの時点でウェブページのレイアウト情報と初期コンテンツの両方を含む。すなわち、ＤＯＭ２０９はこの時点で図１に示すＨＴＭＬ  Ｂ（１１４）をシミュレートする。サーバ１０８は次いで、ＤＯＭ２０９のテキスト表現を抽出し、それをクライアント１０２に送信する。ブロック２１０を参照のこと。そのテキスト表現は、ＨＴＭＬ  Ｂ（１１４）を形成する。従って、クライアント１０２はサーバ１０４から、ウェブページの完全な初期コンテンツを含む初期レンダリング―ＨＴＭＬ  Ｂ（１１４）を受信する。ウェブページのコンテンツを、例えばユーザの入力に応じて、後にクライアント側で更新することができる。
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2009508220.tif 000001