(57)【要約】本発明は、変更したページのポーションを再生成し、そのポーションのみをクライアントに表示のために伝送するための方法および装置に関する。ページ生成コードの必要なパートのみ実行し、変更のみをクライアントに伝送することで、ネットワーク通信チャネルのリソース、クライアントのノードおよびサーバのノードを用いる効率が向上される。要求された場合、データが変更した場合のみ、これらの動作を行うことで、使用の効率が一層さらに向上される。本発明は、さらに、既にクライアント上にあるページの任意のポーションをそれらを再使用することによって利用し、このため、このような再使用可能なポーションを再生成するまたは伝送する必要性を排除する。ある局面では、本発明は、部分的ページ再生成のためのページ生成コードを強化するための方法に関する。【特許請求の範囲】
【請求項１】
サーバによって伝送されたページの部分的なページ再生成のための方法であって、
ページを生成するページ生成コードを受け取るステップと、
該ページをクライアントに表示のために伝送するステップと、
該伝送されたページのポーションを該ページ生成コードのコードフラグメントに関連付けるステップと、
該伝送されたページの該ポーションを再生成するために該コードの該関連付けられたコードフラグメントを実行するステップと
を包含する、方法。
【請求項２】
前記再生成されたページ部分を前記クライアントに、前記伝送されたページへの取り込みのために伝送するステップをさらに包含する、請求項１に記載の方法。
【請求項３】
前記関連付けられたコードフラグメントの選択実行を可能にするために前記ページ生成コードの実行を操作するステップをさらに包含する、請求項１に記載の方法。
【請求項４】
前記操作するステップは、前記全体のページ生成コードより少ない実行を可能にするために前記関連付けられたコードフラグメントと前記コードの他の部分との間の通信を妨害するステップをさらに包含する、請求項３に記載の方法。
【請求項５】
前記操作するステップは、前記関連付けられたコードフラグメントの選択的実行を可能にするために前記ページ生成コードで動作させるさらなるコードを追加するステップをさらに包含する、請求項３に記載の方法。
【請求項６】
前記関連付けるステップは、出力を生成するために前記ページ生成コードのコードフラグメントを実行するステップと、
前記伝送されたページのどの部分が該実行されたコードフラグメントによって作成されたかを識別するために、識別タグを用いて該実行されたコードフラグメントの前記生成された出力を識別するステップと
をさらに包含する、請求項１に記載の方法。
【請求項７】
前記識別するステップは、前記生成された出力の始めおよび終わりに前記識別タグを挿入するステップをさらに包含する、請求項６に記載の方法。
【請求項８】
前記コードは、サーブレットとしてフォーマットされる、請求項１に記載の方法。
【請求項９】
前記ページは、ハイパーテキストマークアップ言語（ＨＴＭＬ）ページとしてフォーマットされる、請求項１に記載の方法。
【請求項１０】
伝送されたページの部分的ページ再生成のためのサーバであって、
クライアントと通信する送受信機と、
該送受信機と通信する部分的ページ再生成器と
を含む、サーバ。
【請求項１１】
前記部分ページ再生成器と通信する外部ページコードソースをさらに含む、請求項１０に記載のサーバ。
【請求項１２】
伝送されたページの部分的ページ再生成のためのサーバであって、
クライアントと通信し、該ページを該クライアントに表示のために伝送する送受信機と、
該送受信機および外部ページコードソースと通信する部分的ページ再生成器であって、該ページを該外部ページコードソースから生成するページ生成コードを受け取り、該ページのポーションを該ページ生成コードのコードフラグメントと関連付け、該伝送されたページの該ポーションを再生成するために該コードの該関連付けられたコードフラグメントを実行する、部分的ページ再生成器と
を含む、サーバ。
【請求項１３】
前記外部ページコードソースは、前記サーバ上に配置される、請求項１２に記載のサーバ。
【請求項１４】
前記部分的ページ再生成器は、前記再生成された部分を前記送受信機に前記クライアントへの伝送のために送るようにさらに構成される、請求項１２に記載のサーバ。
【請求項１５】
前記部分的ページ再生成器は、前記関連付けられたコードフラグメントの選択的実行を可能にするために前記ページ生成コードの実行を操作するようにさらに構成される、請求項１２に記載のサーバ。
【請求項１６】
前記部分的ページ再生成器は、前記全体のページ生成コードより少ない実行を可能にするために前記関連付けられたコードフラグメントと前記コードの他の部分との間の通信を妨害するようにさらに構成される、請求項１５に記載のサーバ。
【請求項１７】
前記部分的ページ再生成器は、前記関連付けられたコードフラグメントの選択的実行を可能にするために前記ページ生成コードで動作するためのさらなるコードを追加するようにさらに構成される、請求項１５に記載のサーバ。
【請求項１８】
前記部分的ページ再生成器は、出力を生成するために前記コードフラグメントを実行し、前記伝送されたページのどの部分が該実行されたコードフラグメントによって作成されたかを識別するために該実行されたコードフラグメントの生成された出力の始めおよび終わりに識別タグを挿入するようにさらに構成される、請求項１２に記載のサーバ。
【請求項１９】
前記部分的ページ再生成器は、前記ページのポーションと該ポーションを生成する前記コードのコードフラグメントとの間の関係を格納するようにさらに構成される、請求項１８に記載のサーバ。
【請求項２０】
伝送されたページの部分的ページ再生成のためのシステムであって、
外部ページコードソースと、
クライアント送受信機を含むクライアントと、
サーバであって、
該クライアント送受信機と通信するサーバ送受信機と、
該サーバ送受信機および該外部ページコードソースと通信する部分的ページ再生成器と
とを含む、サーバと
を含む、システム。
【請求項２１】
前記外部ページコードソースは、前記サーバ上に配置される、請求項２０に記載のシステム。
【請求項２２】
伝送されたページの部分的ページ再生成のためのシステムであって、
外部ページコードソースと、
クライアント送受信機を含むクライアントであって、該クライアント送受信機は、該ページを受け取る、クライアントと、
サーバであって、
該クライアントと通信するサーバ送受信機であって、該ページを該クライアントに表示のために伝送する、サーバ送受信機と、
該サーバ送受信機および該外部コードソースと通信する部分的ページ再生成器であって、該外部ページコードソースから該ページを生成するページ生成コードを受け取り、該ページのポーションを該ページ生成コードのコードフラグメントと関連付け、該伝送されたページのポーションを再生成するために該コードの関連付けられたコードフラグメントを実行する、部分的ページ再生成器と
を含むサーバと
を含む、システム。
【請求項２３】
前記外部ページコードソースは、前記サーバ上に配置される、請求項２２に記載のシステム。
【請求項２４】
前記部分的ページ再生成器は、前記再生成された部分を前記サーバ送受信機に前記クライアントへの伝送のために送るようにさらに構成される、請求項２３に記載のシステム。
【請求項２５】
前記部分的ページ再生成器は、前記関連付けられたコードフラグメントの選択的実行を可能にするために前記ページ生成コードの実行を操作するようにさらに構成される、請求項２３に記載のシステム。
【請求項２６】
前記部分的ページ再生成器は、前記全体のページ生成コードより少ない実行を可能にするために前記関連付けられたコードフラグメントと前記コードの他の部分との間の通信を妨害するようにさらに構成される、請求項２６に記載のシステム。
【請求項２７】
前記部分的ページ再生成器は、前記関連付けられたコードフラグメントの選択的実行を可能にするために前記ページ生成コードと動作するさらなるコードを追加するようにさらに構成される、請求項２６に記載のシステム。
【請求項２８】
前記部分的ページ再生成器は、出力を生成するために前記コードフラグメントを実行し、前記伝送されたページのどのポーションが前記実行されたコードフラグメントによって作成されたかを識別するために前記実行されたコードフラグメントの前記生成された出力の始めおよび終わりに識別タグを挿入するようにさらに構成される、請求項２３に記載のシステム。
【請求項２９】
前記部分的ページ再生成器は、前記ページの前記ポーションと該ポーションを生成する前記コードの前記コードフラグメントとの間の関係を格納するようにさらに構成される、請求項２９に記載のシステム。
【請求項３０】
部分的ページ再生成のためにページ生成コードを強化するための方法であって、
ページを生成するページ生成コードを受け取るステップと、
該ページ生成コード内の一以上のコードフラグメントを識別するステップであって、各コードフラグメントは、該コードフラグメントが実行されるときに該ページの対応する部分を生成する、ステップと、
部分的ページ再生成のために各コードフラグメントの実行を制御する該ページ生成コードと動作するさらなるコードを提供するステップと
を包含する、方法。
【請求項３１】
前記識別するステップは、前記ページ生成コードのプロセスを少なくとも一つの所定の基準と比較して、該プロセスがコードフラグメントとして適格かどうかを判定するステップをさらに包含する、請求項３０に記載の方法。
【請求項３２】
前記所定の基準は、前記ページ生成コードにおける前記プロセスは、広域の変数を修正しないことを含む、請求項３１に記載の方法。
【請求項３３】
前記所定の基準は、前記ページ生成コードにおける前記プロセスは、別のコードフラグメントが信頼するデータを修正しないことを含む、請求項３１に記載の方法。
【請求項３４】
前記所定の基準は、前記ページ生成コードにおける前記プロセスは、所定のプロセス署名を有することを含む、請求項３１に記載の方法。
【請求項３５】
前記所定の方法のサインは、前記プロセスの戻り値の型が文字列であることである、請求項３４に記載の方法。
【請求項３６】
前記提供されたさらなるコードは、前記ページ生成コードを表す全体の分類と固有に関連付けられたさらなるプロセスを含む、請求項３０に記載の方法。
【請求項３７】
前記提供されたさらなるコードは、前記識別されたコードフラグメントへの呼び出しを妨害するために各識別されたコードフラグメントと固有に関連付けられたさらなるプロセスを含む、請求項３０に記載の方法。
【請求項３８】
前記提供されたさらなるコードは、前記識別されたコードフラグメントが信頼するデータを検索するプロセスと固有に関連付けられたさらなるプロセスを含む、請求項３０に記載の方法。
【請求項３９】
前記識別されたコードフラグメントが信頼するデータを検索する前記プロセスは、ＪＡＶＡ（Ｒ）ビーンである、請求項３８に記載の方法。
【請求項４０】
部分的ページ再生成のためにページ生成コードを強化するためのサーバであって、
ページを生成するページ生成コードを受け取るために外部のページコードソースと通信し、該ページ生成コード内の一以上のコードフラグメントを識別する部分的ページ再生成器であって、各コードフラグメントは、部分的ページ再生成のために各コードフラグメントの実行を制御する該ページ生成コードと動作するさらなるコードが実行および提供されたときに該ページの対応するポーションを生成する、部分的ページ再生成器を含む、サーバ。
【請求項４１】
前記部分的ページ再生成器は、前記ページ生成コードのプロセスを少なくとも一つの所定の基準と比較して、前記プロセスがコードフラグメントであるかどうかを判定するようにさらに構成される、請求項４０に記載のサーバ。
【請求項４２】
前記所定の基準は、前記ページ生成コードにおける前記プロセスが広域の変数を修正しないことを含む、請求項４１に記載のサーバ。
【請求項４３】
前記所定の基準は、前記ページ生成コードにおける前記プロセスは、別のコードフラグメントが信頼するデータを修正しないことを含む、請求項４０に記載のサーバ。
【請求項４４】
前記所定の基準は、前記ページ生成コードにおける前記プロセスは、所定のプロセスサインを有することを含む、請求項４１に記載のサーバ。
【請求項４５】
前記所定のプロセスサインは、前記プロセスの復帰タイプが文字列であることである、請求項４４に記載のサーバ。
【請求項４６】
前記部分的ページ再生成器は、前記ページ生成コードを表す全体の分類と固有に関連付けられるさらなるプロセスを含むさらなるコードを提供するようにさらに構成される、請求項４０に記載のサーバ。
【請求項４７】
前記部分的ページ再生成器は、前記識別されたコードフラグメントへの呼び出しを妨害するために各識別されたコードフラグメントと固有に関連付けられるさらなるプロセスを含むさらなるコードを提供するようにさらに構成される、請求項４０に記載のサーバ。
【請求項４８】
前記部分的ページ再生成器は、前記識別されたコードフラグメントが信頼するデータを検索するプロセスと固有に関連付けられるさらなるプロセスを含むさらなるコードを提供するようにさらに構成される、請求項４０に記載のサーバ。
【請求項４９】
前記識別されたコードフラグメントが信頼するデータを検索する前記プロセスは、ＪＡＶＡ（Ｒ）ビーンである、請求項４８に記載のサーバ。
【請求項５０】
サーバによって伝送されたページを自動的に更新するための方法であって、
ページを生成するページ生成コードを受け取るステップと、
該ページをクライアントに表示のために伝送するステップと、
データを該ページ生成コードのコードフラグメントと関連付けるステップと、
該県連付けられたデータにおける変化を検出するステップと、
該伝送されたページの少なくとも一部を再生成するために該関連付けられたコードフラグメントを実行するステップと
を包含する、方法。
【請求項５１】
前記変化に応答して前記コードフラグメントの前記関連付けられたデータをマーキングするステップと、
前記ページに対するクライアントの要求を受け取るステップとをさらに包含し、
前記実行するステップは、前記クライアントの要求に応答して前記マーキングされたデータと関連付けられた前記コードフラグメントを実行するステップを包含する、請求項５０に記載の方法。
【請求項５２】
前記クライアントが前記ページに対する前記要求を発するときに制御するプロトコールインターフェースを前記クライアントに伝送するステップをさらに包含する、請求項５１に記載の方法。
【請求項５３】
前記ページに対する定期的な要求を受け取るステップをさらに包含する請求項５１に記載の方法。
【請求項５４】
前記ページに対する前記要求を伝送するためのクライアントへの接続時間を修正するステップをさらに包含する、請求項５２に記載の方法。
【請求項５５】
前記再生成されたページ部分を前記クライアントに伝送するステップをさらに包含する、請求項５０に記載の方法。
【請求項５６】
前記関連付けられたデータをモニタするステップをさらに包含する、請求項５０に記載の方法。
【請求項５７】
前記関連付けられたデータは、前記関連付けられたコードスラグメントが依存する変数を含む、請求項５０に記載の方法。
【請求項５８】
前記関連付けられたデータは、前記クライアントのユーザから取得された入力を含む、請求項５０に記載の方法。
【請求項５９】
前記コードは、サーブレットとしてフォーマットされる、請求項５０に記載の方法。
【請求項６０】
前記ページは、ハイパーテキストマークアップ言語（ＨＴＭＬ）ページとしてフォーマットされる、請求項５０に記載の方法。
【請求項６１】
伝送されたページを自動的に更新するためのサーバであって、
クライアントと通信する送受信機と、
該送受信機と通信する部分的ページ再生成器と、
該部分的ページ再生成器と通信するデータソースと、
該部分的ページ再生成器および該データソースと通信するモニタモジュールとを含む、サーバ。
【請求項６２】
伝送されたページを自動的に更新するためのサーバであって、
クライアントと通信し、該ページを該クライアントに表示のために伝送する送受信機と、
該ロランシーバ、外部のページコードソースおよびデータソースと通信する部分的ページ再生成器であって、該外部のページコードソースから該ページを生成するページ生成コードを受け取り、該データソースからのデータを該ページ生成コードのコードフラグメントと関連付け、該関連付けられたデータにおける変化を検出し、該伝送されたページの少なくとも一部を再生成するために該関連付けられたコードフラグメントを実行する、部分的ページ再生成器と
を含む、サーバ。
【請求項６３】
前記部分的ページ再生成器は、前記変化に応答して前記コードフラグメントの前記関連付けられたデータにマークを付け、前記ページに対する前記クライアントからの要求に応答して前記表示と関連付けられた前記コードフラグメントを実行するようにさらに構成される、請求項６２に記載のサーバ。
【請求項６４】
前記部分的ページ再生成器は、前記クライアントが前記ページに対する要求を発するときに制御するためにプロトコールインターフェースを前記クライアントに伝送するようにさらに構成される、請求項６３に記載のサーバ。
【請求項６５】
前記部分的ページ再生成器は、前記ページに対する前記要求を果たすための接続時間を修正するようにさらに構成される、請求項６２に記載のサーバ。
【請求項６６】
前記部分的ページ再生成器は、前記クライアントへの伝送のために前記再生成されたページのポーションを前記送受信機に送るようにさらに構成される、請求項６２に記載のサーバ。
【請求項６７】
前記部分的ページ再生成器および前記データソースと通信するモニタモジュールをさらに含み、該モニタモジュールは、変化を検出するために前記関連付けられたデータモニタし、前記部分的ページ再生成器に該検出された変化を通知する、請求項６２に記載のサーバ。
【請求項６８】
前記関連付けられたデータは、前記関連付けられたコードフラグメントが依存する変数を含む、請求項６２に記載のサーバ。
【請求項６９】
前記関連付けられたデータは、前記クライアントのユーザから取得された入力を含む、請求項６２に記載のサーバ。
【請求項７０】
前記コードは、サーブレットとしてフォーマットされる、請求項６２に記載のサーバ。
【請求項７１】
前記ページは、ハイパーテキストマークアップ言語（ＨＴＭＬ）ページとしてフォーマットされる、請求項６２に記載のサーバ。
【請求項７２】
伝送されたページを自動的に更新するためのクライアントであって、
送受信機と、
該送受信機と通信するディスプレイ変更器と
を含む、クライアント。
【請求項７３】
伝送されたページを自動的に更新するためのクライアントであって、
該ページを受け取る送受信機と、
該送受信機と通信するディスプレイ変更器であって、該ページの部分を受け取り、該再生成されたページのポーションをクライアントのディスプレイ上に表示する、ディスプレイ変更器と
を含む、クライアント。
【請求項７４】
前記ディスプレイ変更器は、サーバへのユーザ入力データにおける変化を自動的に伝送するようにさらに構成される、請求項７３に記載のクライアント。
【請求項７５】
前記送受信機と通信するプロトコールインターフェースであって、前記クライアントが前記ページに対する要求を発するときに制御する、プロトコールインターフェースをさらに含む、請求項７３に記載のクライアント。
【請求項７６】
前記プロトコールインターフェースは、前記ページに対する定期的な要求を生成するようにさらに構成される、請求項７５に記載のクライアント。
【請求項７７】
前記プロトコールインターフェースは、前記ページに対する前記要求を伝送するための接続時間を修正するようにさらに構成される、請求項７５に記載のクライアント。
【請求項７８】
伝送されたページを自動的に更新するためのシステムであって、
クライアント送受信機を含むクライアントと、
サーバであって、
該クライアント送受信機と通信するサーバ送受信機と
該サーバ送受信機と通信する部分的ページ再生成器と
を含む、サーバと、
該部分的ページ再生成器と通信する外部のページコードソースと、
該部分的ページ再生成器と通信するデータソースと、
該部分的ページ再生成器および該データソースと通信するモニタモジュールとを含む、システム。
【請求項７９】
前記クライアントは、ディスプレイ変更器をさらに含む、請求項７８に記載のシステム。
【請求項８０】
伝送されたページを自動的に更新するためのシステムであって、
外部のページコードソースと、
データソースと、
クライアントであって、
該ページを受け取るクライアント送受信機と、
該クライアント送受信機と通信するディスプレイ変更器であって、該ページのポーションを受け取り、該再生成されたページのポーションをクライアントのディスプレイ上に表示する、ディスプレイ変更器と
を含むクライアントと、
サーバであって、
該クライアントと通信し、該ページを該クライアントに表示のために伝送する送受信機と、
該送受信機、該外部のページコードソースおよび該データソースと通信する部分的ページ再生成器であって、該ページを生成するページ生成コードを該外部のページコードソースから受け取り、該データソースからのデータを該ページ生成コードのコードフラグメントと関連付け、該関連付けられたデータにおける変化を検出し、該再生成されたページのポーションを再生成するために該関連付けられたコードフラグメントを実行する、部分的再生成器と
を含む、サーバと
を含む、システム。
【請求項８１】
前記サーバの前記部分的ページ再生成器は、前記変化に応答して前記コードフラグメントの前記関連付けられたデータにマークを付け、前記ページに対する前記クライアントからの要求に応答して前記表示と関連付けられた前記コードフラグメントを実行するようにさらに構成される、請求項８０に記載のシステム。
【請求項８２】
前記部分的ページ再生成器は、プロトコールインターフェースを前記クライアントに伝送し、前記クライアントが前記ページに対する要求を発するときに制御するために前記クライアントにおいて実行されるようにさらに構成される、請求項８１に記載のシステム。
【請求項８３】
前記サーバの前記部分的ページ再生成器は、前記ページに対する前記要求に応答して前記ページを伝送するための接続時間を修正するようにさらに構成される、請求項８２に記載のシステム。
【請求項８４】
前記サーバの前記部分的ページ再生成器は、前記クライアントへの伝送のために前記再生成されたページのポーションを前記送受信機に送るようにさらに構成される、請求項８０に記載のシステム。
【請求項８５】
前記サーバは、前記送受信機と通信するプロトコールインターフェースをさらに含み、該プロトコールインターフェースは、クライアントが前記ページに対する要求を発するときに制御する、請求項８０に記載のシステム。
【請求項８６】
前記クライアントの前記プロトコールインターフェースは、前記ページに対する定期的な要求を生成するように構成される、請求項８５に記載のシステム。
【請求項８７】
前記サーバの前記プロトコールインターフェースは、前記ページに対する前記要求に応答して前記ページを伝送するための接続時間を修正するようにさらに構成される、請求項８５に記載のシステム。
【請求項８８】
前記部分的ページ再生成器および前記データソースと通信するモニタモジュールをさらに含み、該モニタモジュールは、変化を検出するために前記関連付けられたデータをモニタし、前記部分的ページ再生成器に該検出された変化を通知する、請求項８０に記載のシステム。
【請求項８９】
前記外部のページコードソースは、前記サーバ上に配置される、請求項８０に記載のシステム。
【請求項９０】
前記ダータソースは、前記サーバ上に配置される、請求項８０に記載のシステム。
【請求項９１】
前記関連付けられたデータは、前記関連付けられたコードフラグメントが依存する変数を含む、請求項８０に記載のシステム。
【請求項９２】
前記関連付けられたデータは、前記クライアントのユーザから取得された入力を含む、請求項８０に記載のシステム。
【請求項９３】
前記クライアントの前記ディスプレイ変更器は、サーバへのユーザ入力における変化を自動的に伝送するようにさらに構成される、請求項９２に記載のシステム。
【請求項９４】
部分的ページ再生成のためにページをそのページ生成コードにマッピングするための方法であって、
ページを生成するページ生成コードを受け取るステップと、
該ページ生成コード内の一以上のコードフラグメントを識別するステップであって、各コードフラグメントは、実行されるときに該ページの対応する部分を生成する、ステップと、
各コードフラグメントと該コードフラグメントが生成する該ページの一以上の部分との間の対応マップを生成するステップと、
該ページの一部を再生成するときにどのコードフラグメントを実行するかを判定するために該マップにアクセスするステップと
を包含する、方法。
【請求項９５】
前記識別されたコードフラグメントが依存するデータを判定するステップをさらに包含する、請求項９４に記載の方法。
【請求項９６】
前記判定するステップは、前記実行されたコードフラグメントが依存するデータを判定するための実行の間に前記識別されたコードフラグメントの入力をモニタするステップをさらに包含する、請求項９５に記載の方法。
【請求項９７】
前記マップを生成するステップは、前記対応マップにおいて、前記コードフラグメントと前記ページの前記ポーションを生成するために前記コードフラグメントが依存する前記データとの間の対応を生成するステップをさらに包含する、請求項９５に記載の方法。
【請求項９８】
前記コードフラグメントが依存する前記データをモニタするステップと、
前記対応マップにおいて、前記データが変化したことを示すために前記データと関連付けられた指標を生成するステップと
をさらに包含する、請求項９７に記載の方法。
【請求項９９】
出力を生成するために前記ページ生成コードの前記コードフラグメントの少なくとも一つを実行するステップと、
前記伝送されたページのどのポーションが前記実行されたコードフラグメントに対応するかを識別するために各実行されたコードフラグメントの前記生成された出力を対応する識別タグと識別するステップとをさらに包含する、請求項９４に記載の方法。
【請求項１００】
前記対応マップにおいて、前記コードフラグメントが前記対応する識別タグによって生成する前記ページの前記一以上のポーションを識別するステップをさらに包含する、請求項９９に記載の方法。
【請求項１０１】
前記マップを生成するステップは、前記対応マップにおいて、前記伝送されたページのページ記述モデルを生成するステップをさらに包含する、請求項９９に記載の方法。
【請求項１０２】
前記コードフラグメントの一つによって生成された前記ページのポーションに対応する前記ページ記述モデルにおけるノードを識別するステップをさらに包含する、請求項１０１に記載の方法。
【請求項１０３】
前記対応する識別タグによって前記ノードを識別するステップをさらに包含する、請求項１０２に記載の方法。
【請求項１０４】
部分的ページ再生成のためにページをそのページ生成コードにマッピングするためのサーバであって、
対応マップを格納する格納バッファと、
外部のページコードソースと通信する部分的ページ再生成器であって、部分的ページ再生成器は、該外部のページコードソースから該ページを生成するページ生成コードを受け取り、該ページ生成コード内の一以上のコードフラグメントを識別し、各コードフラグメントは、実行されるときに該ページの対応するポーションを生成し、各コードフラグメントと該格納バッファ内に格納するために該コードフラグメントが生成する該ページの一以上のポーションとの間の対応マップを生成し、前記ページのポーションを再生成するときにどのコードフラグメントを実行するかを判定するために該格納バッファから該マップにアクセスする、部分的ページ再生成器と
を含む、サーバ。
【請求項１０５】
前記部分的ページ再生成器は、前記識別されたコードフラグメントが依存するデータを判定するようにさらに構成される、請求項１０４に記載のサーバ。
【請求項１０６】
前記部分的ページ再生成器は、前記識別されたコードフラグメントが依存する前記データを判定するための実行の間に前記識別されたコードフラグメントの入力をモニタするようにさらに構成される、請求項１０５に記載のサーバ。
【請求項１０７】
前記格納バッファ内に格納された前記対応マップは、前記ページのポーションを生成するために各識別されたコードフラグメントと該コードフラグメントが依存するデータ間の対応を含む、請求項１０５に記載のサーバ。
【請求項１０８】
前記格納バッファ内に格納された前記対応マップは、前記データが変化したかどうかを示すために前記コードフラグメントが依存する前記データと関連付けられた指標を含む、請求項１０７に記載のサーバ。
【請求項１０９】
出力を生成するために前記ページ生成コードの前記コードフラグメントの少なくとも一つを実行し、前記伝送されたページのどのポーションが前記実行されたコードフラグメントに対応するかを識別するために各実行されたコードフラグメントの前記生成された出力を対応する識別タグと識別するようにさらに構成される、請求項１０４に記載のサーバ。
【請求項１１０】
前記部分的ページ再生成器は、前記対応マップにおいて、前記伝送されたページのページ記述モデルを生成するようにさらに構成される、請求項１０９に記載のサーバ。
【請求項１１１】
前記部分的ページ再生成器は、前記コードフラグメントの一つによって生成された前記ページのポーションに対応する前記ページ記述モデルにおけるノードを識別するようにさらに構成される、請求項１１０に記載のサーバ。
【請求項１１２】
前記部分的ページ再生成器は、前記対応する識別タグによって前記ノードを識別するようにさらに構成される、請求項１１１に記載のサーバ。
【請求項１１３】
部分的なページをクライアント上に表示された伝送されたページに組み込むための方法であって、
該伝送されたページをクライアント上に表示するステップと、
該クライアントによってサーバからの該伝送されたページの再生成されたポーションを受け取るステップと、
該クライアントによって該再生成されたポーションを前記クライアント上に表示された該伝送されたページに組み込むステップと
を包含する、方法。
【請求項１１４】
前記クライアントによって修正リストを前記サーバから受け取るステップと、前記再生成されたページのポーションの前記伝送されたページへの組み込みについて前記クライアントに指令するステップとをさらに包含する、請求項１１３に記載の方法。
【請求項１１５】
前記クライアントによってさらなるコードを受け取るステップと、前記修正リストに含まれたコマンドを解釈する方法について前記クライアントに指令するステップとをさらに包含する、請求項１１４に記載の方法。
【請求項１１６】
前記クライアント上に表示された前記伝送されたページの第一のポーションを複製するステップと、
前記複製された第一のポーションを前記クライアント上に表示された前記伝送されたページの第二のポーションに挿入するステップと
さらに包含する、請求項１１３に記載の方法。
【請求項１１７】
前記第二のポーションに挿入された前記複製された第一のポーションの識別タグを第一の値から同一でない第二の値へ変更するステップをさらに包含する、請求項１１６に記載の方法。
【請求項１１８】
前記伝送されたページの第一のポーションを第二のポーションに移動させるステップをさらに包含する、請求項１１３に記載の方法。
【請求項１１９】
前記移動させるステップは、前記第一のポーションを格納バッファに保存するステップをさらに包含する、請求項１１８に記載の方法。
【請求項１２０】
前記移動させるステップは、前記伝送されたページの前記第一のポーションを前記再生成された部分内の第二のポーションに移動させるステップをさらに包含する、請求項１１８に記載の方法。
【請求項１２１】
前記移動された第一のポーションの識別タグを第一の値から同一でない第二の値へ変更するステップをさらに包含する、請求項１１８に記載の方法。
【請求項１２２】
前記組み込むステップは、前記伝送されたページのポーションを前記再生成された部分に置き換えるステップをさらに包含する、請求項１１３に記載の方法。
【請求項１２３】
部分的なページを伝送されたページに組み込むためのクライアントであって、
該伝送されたページおよび任意の部分的なポーションを受け取る送受信機と、
該送受信機と通信するディスプレイ変更器であって、サーバから該伝送されたページの再生成されたポーションを受け取り、該再生成されたページのポーションを該クライアント上に表示された該伝送されたページに組み込む、ディスプレイ変更器と
を含む、クライアント。
【請求項１２４】
前記ディスプレイ変更器は、前記サーバから修正リストを受け取り、前記再生成されたポーションの前記伝送されたページへの組み込みについて前記クライアントに指令するようにさらに構成される、請求項１２３に記載のクライアント。
【請求項１２５】
前記ディスプレイ変更器は、前記修正リストに含まれるコマンドを解釈する方法について前記クライアントに指令するためのさらなるコードを受け取るようにさらに構成される、請求項１２３に記載のクライアント。
【請求項１２６】
前記ディスプレイ変更器と通信する格納バッファをさらに含み、該格納バッファは、前記伝送されたページを更新する際の使用のために前記クライアント上に表示された前記伝送されたページの第一のポーションを格納する、請求項１２３に記載のクライアント。
【請求項１２７】
部分的なページを伝送されたページに組み込むためのシステムであって、
外部のページコードソースと、
クライアントであって、
該ページを受け取るクライアント送受信機と、
該クライアント送受信機と通信するディスプレイ変更器であって、サーバから該伝送されたページの再生成されたポーションを受け取り、該再生成されたページのポーションをクライアント上に表示された該伝送されたページに組み込む、ディスプレイ変更器と
を含む、クライアントと、
サーバであって、
該クライアントと通信し、該ページを該クライアントに表示のために伝送するサーバ送受信機と、
該サーバ送受信機および該外部のページコードソースと通信する部分的ページ再生成器であって、該外部のページコードソースから該ページを生成するページ生成コードを受け取り、該伝送されたページのポーションを再生成するために該コードの関連付けられたコードフラグメントを実行する、部分的ページ再生成器と
を含む、サーバと
を含む、システム。
【請求項１２８】
前記クライアントの前記ディスプレイ変更器は、前記サーバから修正リストを受け取り、前記再生成されたポーションの前記伝送されたページへの組み込みについて前記クライアントに指令するようにさらに構成される、請求項１２７に記載のシステム。
【請求項１２９】
前記クライアントの前記ディスプレイ変更器は、さらなるコード受け取り、前記修正リストに含まれるコマンドを解釈する方法について前記クライアントに指令するようにさらに構成される、請求項１２７に記載のシステム。
【請求項１３０】
前記クライアントは、前記ディスプレイ変更器と通信する格納バッファをさらに含み、該格納バッファは、前記伝送されたページを更新する際の使用のために前記クライアント上に表示された前記伝送されたページの第一のポーションを格納する、請求項１２７に記載のシステム。
【請求項１３１】
部分的ページ再生成の伝送されたページへの組み込みを指令するための方法であって、
ページを生成するページ生成コードを受け取るステップと、
該ページをクライアントに表示のために伝送するステップと、
該伝送されたページのポーションを再生成するために該コードのコードフラグメントを実行するステップと、
該再生成されたポーションの該伝送されたページへの組み込みについて該クライアントに指令するための少なくとも一つのコマンドを含む修正リストを判定するステップと
を含む、方法。
【請求項１３２】
前記伝送されたページへの組み込みのために前記伝送されたページの前記再生成されたポーションを前記クライアントに伝送するステップをさらに包含する、請求項１３１に記載の方法。
【請求項１３３】
前記修正リストを前記再生成されたページ部分内にはめ込むステップをさらに包含する、請求項１３２に記載の方法。
【請求項１３４】
前記修正リストを前記クライアントに伝送するステップをさらに包含する、請求項１３２に記載の方法。
【請求項１３５】
前記クライアントが前記再生成されたページのポーションを組み込むために前記修正リストの前記コマンドを解釈する能力を有するかどうかを判定するステップをさらに包含する、請求項１３１に記載の方法。
【請求項１３６】
前記クライアントが前記コマンドを解釈する能力に欠けることを判定することに応答してさらなるコードを前記クライアントに伝送するステップをさらに包含する、請求項１３５に記載の方法。
【請求項１３７】
前記伝送されたページの複数のポーションを識別するステップと、
前記ページを前記クライアントに伝送する前に該複数のポーションの各部分に対応する識別タグを前記伝送されたページに挿入するステップと
をさらに包含する、請求項１３１に記載の方法。
【請求項１３８】
対応する識別タグによって前記伝送されたページの前記再生成された部分を識別するステップをさらに包含する、請求項１３６に記載の方法。
【請求項１３９】
前記修正リストは、前記対応する識別タグに対する基準を含む、請求項１３６に記載の方法。
【請求項１４０】
前記修正リストは、移動コマンドおよび複製コマンドおよび割当てコマンドの少なくとも一つを含む、請求項１３１に記載の方法。
【請求項１４１】
部分的ページ再生成の伝送されたページへの組み込みを指令するためのサーバであって、
クライアントと通信し、該ページを該クライアントに表示のために伝送する送受信機と、
該送受信機および外部のページコードソースと通信する部分的ページ再生成器であって、該伝送されたページのポーションを再生成するために該コードのコードフラグメントを実行し、該再生成されたポーションの該伝送されたページへの組み込みについて該クライアントに指令するために少なくとも一つのコマンドを含む修正リストを判定する、部分的ページ再生成器と
を含む、サーバ。
【請求項１４２】
前記外部のページコードソースは、前記サーバ上に配置される、請求項１４１に記載のサーバ。
【請求項１４３】
前記部分的ページ再生成器は、前記修正リストを前記再生成されたページ部分にはめ込むようにさらに構成される、請求項１４１に記載のサーバ。
【請求項１４４】
前記部分的ページ再生成器は、前記クライアントに伝送するために前記修正リストを前記送受信機に送るようにさらに構成される、請求項１４１に記載のサーバ。
【請求項１４５】
前記部分的ページ再生成器は、前記クライアントが前記再生成されたページのポーションを組み込むために前記修正リストの前記コマンドを解釈する能力を有するかどうかを判定するようにさらに構成される、請求項１４１に記載のサーバ。
【請求項１４６】
前記部分的ページ再生成器は、前記クライアントに伝送するために前記クライアントが前記能力に欠けることを判定することに応答してさらなるコードを前記送受信機に送るようにさらに構成される、請求項１４５に記載のサーバ。
【請求項１４７】
前記部分的ページ再生成器は、前記伝送されたページの複数のポーションを識別し、前記ページを前記クライアントに伝送する前に前記複数のポーションの各部分に対応する識別タグを前記伝送されたページに挿入するようにさらに構成される、請求項１４１に記載のサーバ。
【請求項１４８】
前記部分的ページ再生成器は、前記対応する識別タグによって前記伝送されたページの前記再生成されたポーションを識別するようにさらに構成される、請求項１４７に記載のサーバ。
【請求項１４９】
前記修正リストは、前記対応する識別タグに対する基準を含む、請求項１４８に記載のサーバ。
【請求項１５０】
前記修正リストは、移動コマンドおよび複製コマンドおよび割当てコマンドの少なくとも一つを含む、請求項１４１に記載のサーバ。
【請求項１５１】
部分的ページ再生成の伝送されたページへの組み込みを指令するためのシステムであって、
外部のページコードソースと、
クライアントであって、
該ページを受け取るクライアント送受信機と、
該クライアント送受信機と通信するディスプレイ変更器であって、該伝送されたページの再生成された部分を受け取り、該再生成された部分を該クライアント上に表示された該伝送されたページに組み込む、ディスプレイ変更器と
を含むクライアントと、
サーバであって、
該クライアントと通信し、該ページを該クライアントに表示のために伝送するサーバ送受信機と、
該送受信機および外部のページコードソースと通信する部分的ページ再生成器であって、該伝送されたページの部分を再生成するために該コードのコードフラグメントを実行し、該再生成された部分の該伝送されたページへの組み込みについて該クライアントに指令するために少なくとも一つのコマンドを含む修正リストを判定する、部分的ページ再生成器と
を含むサーバと
を含む、システム。
【請求項１５２】
前記サーバの前記部分的ページ再生成器は、前記修正リストを前記再生成ページ部分にはめ込むようにさらに構成される、請求項１５１に記載のシステム。
【請求項１５３】
前記サーバの前記部分的ページ再生成器は、前記クライアントに伝送するために前記修正リストを送るようにさらに構成される、請求項１５１に記載のシステム。
【請求項１５４】
前記サーバの前記部分的ページ再生成器は、前記クライアントが前記再生成されたページ部分を組み込むために前記修正リストの前記コマンドを解釈する能力を有するかどうかを判定するようにさらに構成される、請求項１５１に記載のシステム。
【請求項１５５】
前記サーバの前記部分的ページ再生成器は、前記クライアントが前記コマンドを解釈する前記能力に欠けることを判定することに応答して前記クライアントに伝送するために前記送受信機に送るようにさらに構成される、請求項１５４に記載のシステム。
【請求項１５６】
前記サーバの前記部分的ページ再生成器は、前記伝送されたページの複数のポーションを識別し、前記ページを前記クライアントに伝送する前に前記複数のポーションの各部分に対応する識別タグを該伝送されたページに挿入するようにさらに構成される、請求項１５１に記載のシステム。
【請求項１５７】
前記サーバの前記部分的ページ再生成器は、前記対応する識別タグによって前記伝送されたページの前記再生成されたポーションを識別するようにさらに構成される、請求項１５６に記載のシステム。
【請求項１５８】
前記修正リストは、前記対応する識別タグに対する基準を含む、請求項１５７に記載のシステム。
【請求項１５９】
前記修正リストは、移動コマンドおよび複製コマンドおよび割当てコマンドの少なくとも一つを含む、請求項１５１に記載のシステム。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、概して、表示用のクライアントに送られたページを更新する装置および方法に関する。より詳細には、本発明は、クライアントに送られたページの変更箇所を再生成および再伝送する装置および方法に関する。
【０００２】
（発明の背景）
コンピュータ通信ネットワークは、一般的に、サーバと呼ばれる一つ以上のノード、および、クライアントと名付けられた一つ以上のノードを含む。サーバは、クライアントからの要求を受け取ると、サービスをクライアントに提供する。図１は、ネットワーク１０が提供し得るサービスの例を示す。クライアント１４は、通信チャネル２０を用いてサーバ２２と通信する。クライアント１４は、そのウェブブラウザを介して、ウェブページ２６用のサーバ２２に要求を伝送する（矢印１８）。サーバ２２は、全てのページ生成コード３０を実行して（矢印３４）、完全なウェブページ２６を生成し、クライアント１４上の表示（矢印４２）用のウェブページ２６を伝送する（矢印３８）。生成されたページ２６は、このポイントにおいて、サーバ側のデータ５０の状態のスナップショット（ｓｎａｐｓｈｏｔ）を表す。ここで、ページ生成コード３０が実行された（矢印３４）。
【０００３】
例えば、特定の株式の株価のリストを含むために、ページ生成コード３０は、ページ２６を生成することを考える。サーバ２２は、この時点で、サーバ格納バッファ５４に格納され、または、サーバ２２によって受け取られた（矢印５８）データ５０（すなわち、株価）を検索する（矢印４６）。ここで、または、これ以前において、プログラムは実行されている（矢印３４）。サーバは、生成されたページ２６全体を伝送し（矢印３８）、クライアントは、生成されたページ２６全体を表示する（矢印４２）。ページ２６は、クライアント１４がページ２６のリフレッシュを要求する（矢印１８）までクライアント１４に表示されたままである（すなわち、リフレッシュを要求すると、サーバ側データ５０の状態のスナップショットを有するページ２６が別に伝送される）。このような要求（矢印１８）とともに、サーバ２２は、ページ生成コード３０を再び実行して（矢印３４）、新しく生成されたページ２６をクライアント１４に伝送する（矢印３８）。
【０００４】
いくつかのシステムは、定期的に更新し得る。この更新では、クライアントは、特定された時間周期毎にページ２６のリフレッシュを要求する（矢印１８）。ページ生成コード３０の全てを再実行すると（矢印３４）、サーバ２２は、別の完全なページ２６を生成する。再び、ページ２６は、このポイントにおいて、サーバ側データ５０の状態のスナップショットを表す。このポイントにおいて、サーバ２２は、ページ生成コード３０の全てを再実行する（矢印３４）。生成されたページ２６のデータ５０（例えば、株価）は、以前の期間と同じものであり得、従って、ページ生成コード３０を実行して（矢印３４）、不必要にページ２６を伝送する（矢印３８）。たとえデータが変更するときでも、ページ２６の大部分は、静的要素であり、変更されない。
【０００５】
手動でも、定期的な更新でも、データ５０が変更するときにユーザに適宜データ５０を知らせ続けることはない。更新は、データ５０における変更にほとんど関係がない（例えば、データは変更されないが、ページ２６は伝送され得る）。この更新は、ネットワーク通信チャネルリソース、クライアントリソースおよびサーバリソースを不必要に用いる。
【０００６】
（発明の要旨）
本発明は、ページの一部を再生成する方法および装置に関する。このページは、それらの一部のみを変更して、かつ、表示用のクライアントへ伝送する。ページ生成コードに必要なパートのみを実行して、かつ、クライアントに変更のみを伝送することにより、ネットワーク通信チャネルのリソース、クライアントノードおよびサーバノードを用いる効率が改善される。要求されたとき、データが変更するときのみにこれらの操作を実施することにより、さらに使用効率を改善する。また、本発明は、それらを再使用することによって、クライアント上に既にあるページの任意のポーションを利用する。従って、これらの再使用可能なポーションを再生成する、または、伝送する必要はない。
【０００７】
一局面において、本発明は、部分的なページ再生成に関するページ生成コードを強化する方法に関する。この方法は、ページを生成するページ生成コードを受け取るステップと、ページ生成コードの一つ以上のフラグメントを識別するステップとを包含して、各フラグメントは、フラグメントが実行されるときに、ページに対応するポーションを生成する。この方法は、ページ生成コードによって操作し、部分的なページ再生成のための各フラグメントの実行を制御するさらなるコードを提供するステップをさらに包含する。
【０００８】
一実施形態において、識別するステップは、ページ生成コードのプロセスを少なくとも一つの所定の基準と比較して、このプロセスがフラグメントとして適格かどうかを判定するステップを包含する。別の実施形態において、所定の基準は、ページ生成コードのプロセスがグローバル変数を修正しないことを要求する。別の実施形態において、所定の基準は、ページ生成コードのプロセスが、別のフラグメントが依存するデータを修正しないことを要求する。別の実施形態において、所定の基準は、ページ生成コードのプロセスが所定のプロセス署名を有することを要求する。別の実施形態において、所定の方法の署名は、プロセスにおける戻り値の型が文字列であることを要求する。
【０００９】
別の実施形態において、提供されたさらなるコードは、ページ生成コードを表す全体のクラスに固有に関連するさらなるプロセスを含む。別の実施形態において、提供されたさらなるコードは、識別されたフラグメントへの呼出しを妨害する各識別されたフラグメントに固有に関連するさらなるプロセスを含む。別の実施形態において、提供されたさらなるコードは、識別されたフラグメントが依存するデータを検索するプロセスに固有に関連するさらなるプロセスを含む。別の実施形態において、識別されたフラグメントが依存するデータを検索するプロセスは、ＪＡＶＡ（登録商標）ビーン（ｂｅａｎ）である。
【００１０】
別の局面において、本発明は、部分的なページ再生成のためのページ生成コードを強化するためのサーバに関する。このサーバは、ページを生成するページ生成コードを受け取るための外部ページコードソースと通信する部分的ページ再生成器を含む。部分的ページ再生成器は、ページ生成コードの一つ以上のフラグメントを識別する。各フラグメントは、実行されるとき、ページの対応するポーションを生成する。この部分的ページ再生成器は、ページ生成コードによって動作して、部分的ページ再生成のために各フラグメントの実行を制御するさらなるコードを提供する。
【００１１】
別の実施形態において、部分的ページ再生成器は、プロセスがフラグメントであるかどうかを判定するためにページ生成コードのプロセスを少なくとも一つの所定の基準と比較する。別の実施形態において、所定の基準は、ページ生成コードのプロセスがグローバル変数を修正しないことを要求する。別の実施形態において、所定の基準は、ページ生成コードのプロセスが別のフラグメントが依存するデータを修正しないことを要求する。別の実施形態において、所定の基準は、ページ生成コードのプロセスが所定のプロセス署名を有することを要求する。別の実施形態において、所定の方法の署名がプロセスにおける戻り値の型が文字列であることを要求する。
【００１２】
別の実施形態において、部分的ページ再生成器は、ページ生成コードが表す全体のクラスと固有に関連するさらなるコードを提供する。別の実施形態において、部分的ページ再生成器は、識別されたフラグメントへの呼出を妨害する各識別されたフラグメントと固有に関連するさらなるプロセスを含むさらなるコードを提供する。別の実施形態において、部分的ページ再生成器は、識別されたフラグメントが依存するデータを検索するプロセスと固有に関連するさらなるプロセスを含むさらなるコードを提供する。別の実施形態において、識別されたフラグメントが依存するデータを検索するプロセスは、ＪＡＶＡ（登録商標）ビーンである。
【００１３】
上記のおよび他の目的、本発明の機能および利点、ならびに、本発明自体は、添付の図面とともに読まれ、以下の好ましい実施形態の説明からより完全に理解される。
【００１４】
（好ましい実施形態の詳細な説明）
（１．０  部分的ページ再生成システム）
概観すると、図２ａは、ネットワーク２１５を介して第２の計算システム（「サーバノード」）２１０と通信する第１の計算システム（「クライアントノード」）２０５を含む部分的ページ再生成システム２００の例示的な実施形態を示す。例えば、ネットワーク２１５は、会社のイントラネットのようなのローカルエリアネットワーク（ＬＡＮ）、または、インターネットまたはワールドワイドウェブのようなワイドエリアネットワーク（ＷＡＮ）であり得る。クライアントノード２０５のユーザは、標準電話回線、ＬＡＮまたはＷＡＮリンク（例えば、Ｔ１、Ｔ３、５６ｋｂ、Ｘ．２５）、ブロードバンド接続（ＩＳＤＮ、フレームリレー、ＡＴＭ）および無線接続を含む様々な接続を通してネットワーク２１５に接続され得る。クライアントノード２０５は、クライアント送受信器２３０を含み、ネットワーク２１５との通信を構築する。サーバノード２１０は、サーバ送受信器２３５を含み、ネットワーク２１５との通信を構築する。接続は、様々な通信プロトコル（例えば、ＨＴＴＰ  ＴＣＰ／ＩＰ、ＩＰＸ、ＳＰＸ、ＮｅｔＢＩＯＳ、Ｅｔｈｅｒｎｅｔ（登録商標）、ＲＳ２３２、および、直接非同期接続）を用いて構築され得る。
【００１５】
クライアントノード２０５は、アプリケーションまたはウェブページにユーザインタフェース（例えば、ウェブブラウザ）、あるいは、サーバノード２１０を介して格納されたまたはアクセスされた現在のデータを提供するために用いられる任意の計算デバイス（例えば、パーソナルコンピュータ、セットトップボックス、電話、ハンドヘルドデバイス、キオスク（ｋｉｏｓｋ）等）であり得る。クライアントノード２０５は、ディスプレイ２２０、格納バッファ２２５、クライアント送受信器２３０およびディスプレイ変更器２４５を含む。ディスプレイ変更器２４５は、ウェブページ２４０の更新のためにサーバノード２１０に要求を伝送するためにクライアント送受信器２３０と通信する。ディスプレイ変更器２４５は、また、ウェブページ２４０クライアント送受信器２３０を通してサーバノード２１０から送られたウェブページ２４０、または、ウェブページ２４０のポーションを受け取る。ディスプレイ変更器２４５は、ウェブページ２４０を表示するために、または、ウェブページ２４０の受信され、更新されたポーションを現在表示されているウェブページ２４０内に組み込むためにディスプレイ２２０と通信する。ディスプレイ変更器２４５は、ウェブページ２４０の受信され、更新されたポーションの組み込みのための必要とされたウェブページデータを一時的に格納するために格納バッファ２２５と通信する。格納バッファ２２５は、持続的、および／または、揮発性格納装置を含み得る。
【００１６】
サーバノード２１０および２１０’は、クライアントノード２０５の要求されたサービスを提供可能な任意の計算デバイス、特に、伝送されたウェブページ２４０のポーションを生成かつ伝送可能な任意の計算デバイスであり得る。図２ａにおいて示されるよりもより多い、または、より少ないサーバがネットワーク２１５に接続され得ることは、理解されるべきである。一実施形態において、サーバノード２１０および２１０’は、二つの分離した計算デバイスである。別の実施形態において、サーバノード２１０および２１０’は、単一の計算デバイスである。どちらの実施も、本発明の原理の実施に等価であり、従って、サーバノード２１０に対する参照符号は、これ以後、ある構成、または、別の等価の構成のいずれかを表す。
【００１７】
サーバノード２１０は、サーバ送受信器２３５、部分的ページ再生成器２５０、ページ生成コード３０、格納バッファ５４およびデータ変換モニタ２５５を含む。サーバノード２１０は、任意のソースからページ生成コード３０を受け取り得る。一実施形態において、ページ生成コード３０は、部分的ページ再生成器２５０が常駐する物理デバイス（例えば、サーバノード２１０）と通信する別の物理デバイス上にあり得る。別の実施形態において、ソースは、ページ生成コード３０を作成し、かつ、クライアントノード２０５からの要求を収容するサーバノード２１０上にコード３０を格納するプログラマであり得る。ページ生成コード３０は、サーバノード２１０がウェブページ２４０を生成するために用いる任意の言語で、および、任意のフォーマットで書かれ得る。ページ生成コード３０のためのフォーマットの例は、サーブレット、ＪＡＶＡ（登録商標）  Ｓｅｒｖｅｒ  Ｐａｇｅ（「ＪＳＰ」）、Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅ（「ＡＳＰ」）、テンプレート言語、および／または、Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ（「ＣＧＩ」）Ｓｃｒｉｐｔを含む。
【００１８】
ページ再生成システム２００の動作中に、サーバノード２１０は、ウェブページ２４０（または、ウェブページ２４０のポーション）が最後にクライアントノード２０５に伝送されてから変更した現在表示されているウェブページ２４０のポーションのみを生成して、クライアントノード２０５に伝送する。クライアントノード２０５は、これらのページポーションを現在表示されているページ２４０に組み込む。
【００１９】
（１．１  ページ生成コードのページおよびフラグメントのポーション）
図２ｂで示されているように、ウェブページ２４０は、複数のページポーション２６０ａ、２６０ｂ、２６０ｃ、２６０ｄ、２６０ｅ、および、２６０ｆ（概して、２６０と呼ぶ）を含む。ページ生成コード３０は、複数のコードフラグメント２６５ａ、２６５ｂ、２６５ｃ、２６５ｄ（概して、２６５と呼ぶ）を含む。図２ｂは、ウェブページ２４０のページポーション２６０ａ、２６０ｂ、２６０ｃ、２６０ｄ、２６０ｅ、２６０ｆと、対応するページポーション２６０を生成するページ生成コード３０のコードフラグメント２６５ａ、２６５ｂ、２６５ｃ、２６５ｄとの間の対応の例を示す。ウェブページ２４０、次いで、ページポーション２６０のフォーマットの例は、ＨＴＭＬ、ＸＭＬ、ＶＲＭＬ、ＷＭＬ、（ディスプレイ）ポストスクリプトおよびｎｒｏｆｆを含む。各コードフラグメント２６５は、一つ以上のページポーション２６０を生成する。例えば、図２ｂで示されているように、コードフラグメント２６５ｄは、ページポーション２６０ｃ、２６０ｅおよび２６０ｆを生成する。
【００２０】
図２ｂは、また、ページ生成コード３０のコードフラグメント２６５と、コードフラグメント２６５が依存する、対応するデータ５０ａ、５０ｂ、５０ｃ、５０ｄ（概して、５０と呼ぶ）との間の対応の例を示す。言い換えると、コードフラグメント２６５が依存するデータ５０は、対応するページポーション２６０を生成するためにコードフラグメント２６５が用いるデータ５０である。示された実施形態が一つのフラグメント（例えば、２６５ａ）に対する一つのデータ要素（例えば、５０ａ）を有するが、この関係は変化し得る。例えば、一つのコードフラグメントは、数個のデータ要素に依存し得、一つのデータ要素は、そのデータ要素に依存する多くのコードフラグメントを有し得る。
【００２１】
図２ａに戻って参照すると、部分的ページ再生成器２５０は、ウェブページ２４０をリフレッシュするためにクライアントノード２０５からの要求を受け取るためにサーバ送受信器２３５と通信する。部分的ページ再生成器２５０は、クライアントノード２０５への伝送のためにこのような要求に応答して、ウェブページ２４０、または、ウェブページ２４０ポーション２６０をサーバ送受信器２３５に伝送する。部分的ページ再生成器２５０は、ウェブページ２４０の対応するページのポーション２６０を作成するページ生成コード３０のコードフラグメント２６５を実行するためにページ生成コード３０と通信する。部分的ページ再生成器２５０は、また、対応するページポーション２６０を生成するためにコードフラグメント２６５が用いる格納バッファ５４のデータ５０を判定する。部分的ページ再生成器２５０は、データ変更モニタ２５５と通信して、コードフラグメント２６５が依存する格納バッファ５４のデータ５０の任意の変更の通知を受け取る。
【００２２】
（１．２  コードフラグメントの識別）
部分的ページ再生成器２５０は、ページ生成コード３０のコードフラグメント２６５を識別する。コードフラグメント２６５を識別するために、部分的ページ再生成器２５０は、一つ以上の基準に適合するプロセス（例えば、オブジェクト指向言語の方法、サブルーチン、関数）を識別する。例えば、一実施形態において、基準は、コードフラグメント２６５（例えば、プロセス）が冪等元であり、冪等を提供することである。つまり、コードフラグメント２６５は、コードフラグメント２６５が同じ引数、および、同じ依存データ５０によって呼び出される毎に一致する結果を作製する。言い換えると、コードフラグメント２６５が実行されるときに、他のコードフラグメントへの呼出し結果を変更する（例えば、グローバルカウンタの更新がない）副作用、または、依存データ５０を変更する副作用はない。
【００２３】
冪等プロパティによって、部分的ページ再生成器２５０は、コードフラグメントを再び呼び出すのではなく、コードフラグメントによって生成され、以前にキャッシュされた出力を、同じコードフラグメントによって生成された別のページポーションと交換する。例えば、図２ｂの実施形態に示されたように、コードフラグメント２６５ｄは、ページポーション２６０ｃを生成する。コードフラグメント２６５ｄを２回以上実行する代わりに、ページポーション２６０ｅおよび２６０ｆは、ポーション２６０ｃを複製することによって単に生成され得る。なぜなら、フラグメントの２６５ｄのプロパティが同じ引数で呼び出される毎に、フラグメント２６５ｄが同じ出力を作製するようなフラグメント２６５ｄのプロパティであるためである。
【００２４】
部分的ページ再生成器２５０は、例えば、プロセスが変更する任意のグローバル変数をプロセスが含まないことを検証することによって、ページ生成コード３０のプロセス（例えば、オブジェクト指向言語の方法、サブルーチン、関数）がこの基準に適合していることを判定する。プロセスが基準に適合する場合、部分的ページ再生成器２５０は、部分的ページ再生成器２５０が生成する対応のマップ３００（図７）のコードフラグメント２６５としてプロセスを識別する。
【００２５】
例えば、別の実施形態は、プロセス（例えば、オブジェクト指向言語の方法、サブルーチン、関数）がウェブページ２４０の一つ以上のページポーション２６０を定義する出力（例えば、ＨＴＭＬコード）を生成するという基準を用いる。部分的ページ再生成器２５０は、例えば、プロセスが特定の戻り値の型（例えば、ストリングを返す）を含むことを検証することによって、プロセスがこの基準に適合することを判定する。他の実施形態において、部分的ページ再生成器２５０は、プロセスが予め定義された特定の命名の慣例（例えば、ｃａｌｌｅｄ  ｆｒａｇｍｅｎｔ＿ｘ）、および／または、予め定義されたプロセスへの特定の注釈（例えば、＃ｄｅｆｉｎｅ  ｆｏｏ＿ｉｓ＿ａ＿ｆｒａｇｍｅｎｔ）に続く。特定のフォーマット（例えば、ＪＳＰ）において、ピース（ｐｉｅｃｅ）が生成するページポーション２４０に対するコードのピース３０に適合する、埋め込まれたタグが存在し得る。これらのフォーマットにおいて、タグは、コードフラグメント２６５を識別するように用いられ得る。他の実施形態において、部分的ページ再生成器２５０は、プロセスが他の特定のさらなる属性（動作時間（すなわち、ページ生成コード３０が実行されているとき）に部分的ページ再生成器２５０に提供されるプロセス名のリストに含まれている等）を含むことを検証する。
【００２６】
一実施形態において、部分的ページ再生成器２５０は、標準ＪＡＶＡ（登録商標）技術「イントロスペクション（ｉｎｔｒｏｓｐｅｃｔｉｏｎ）」を用いてページ生成コード３０を検査する。部分的ページ再生成器２５０がページ生成コード３０をデコンパイルする必要がない、または、ページ生成コード３０へのソースアクセスを有する必要がないことが利点である。これにより、部分的ページ再生成器２５０は、ページ生成コード３０のソースアクセスへの制限（例えば、物理的な制限、または、ライセンスの制限）にかかわらず、任意のページ生成コード３０によって動作することが可能になる。
【００２７】
（１．３  さらなるコードを用いたコードフラグメントのラッピング）
コードフラグメント２６５を識別した後、部分的ページ再生成器２５０は、ページ生成コード３０の他の部分から個別にそしてこの部分から独立してコードフラグメント２６５を実行する能力を必要とする。その全体において実行されるページ生成コード３０が書き込まれるため、部分的ページ再生成器２６０は、ページ生成コード３０に関連するさらなるコードを生成しなければならず、コードフラグメントの実行を選択的に制御する。このように制御することによって、部分的ページ再生成器２５０は、ページ生成コード３０を強化してコードフラグメント２６５のそれぞれの個別の実行および独立した実行を可能にする。
【００２８】
一実施形態では、さらなるコードは、さらなるコードが強化しているコードフラグメント２６５として同じ名前を選択する。同じ名前を選択することによって、
さらなるコードは部分ページ生成コード３０のコードフラグメント２６５の代わりに呼び出され、実行される。さらなるコードが同一の名前を有するページ生成コード３０のコードフラグメント２６５が連続的に呼び出され、実行されるかどうかを制御する。この制御はページ生成コード３０のコードフラグメント２６５の選択的な実行を可能とする。
【００２９】
（１．３．１  ラッピング−サーブレットフォーマットの例）
図３ａは、サーブレットフォーマットおよび複数のコードフラグメント２６５ａ’、２６５ｂ’、２６５ｃ’を有するページ生成コード３０’の実施形態を示す。「ｍａｉｎ」として識別されたコードフラグメント２６５ａ’は、ウエブページ２４０のヘッダー情報およびスタティック情報の全てを表す。「ｄｏ  ｔａｂｌｅ」として識別されたコードフラグメント２６５ｂ’は、ウエブページ２４０上にテーブルを生成するページ生成コード３０’の一部（例えばプロセス、方法）を表す。「ｄｏ  Ｓｈａｒｅ」として識別されたコードフラグメント２６５ｃ’は、テーブルの個々のエレメントを作成するプロセスを表す。
【００３０】
図３ｂは、時にはコードラッピングと呼ばれるさらなるコード２７０ｂ、２７０ｃ（概して２７０）の追加を示し、それぞれラッピングされたコードフラグメント２６８ｂ’、２６８ｃ’を作成する。ラッピングされたコードフラグメント２６８ｂ’、２６８ｃ’は、ラッピングされたコードフラグメント２６８ｂ’、２６８ｃ’内部に封入されたコードフラグメント２６５ｂ’、２６５ｃ’と共に示される。一実施形態では、図３ｂに示されたようにコードラッピング２７０ｂ’、２７０ｃ’は、論理接続のみを表す。言い換えれば、さらなるコード２７０ｂ’、２７０ｃ’は、ページ生成コード３０’に配置されるのではなく、サーバノード２１０上の異なる領域に配置される。図３ａに示されるように、この実施形態では、コードフラグメント２６５ｂ’、２６５ｃ’のみがページ生成コード３０’内部に物理的に配置される。
【００３１】
一実施形態では、さらなるコード２７０を生成するために、部分的ページ再生成器２５０は、イントロスペクション（ｉｎｔｒｏｓｐｅｃｔｉｏｎ）を使用することによってクラスファイルとしてページ生成コード３０を検査する。次いで部分的ページ再生成器２５０は、オリジナルページ生成コード３０のサブクラスとして定義されたさらなるコード２７０を含むさらなるＪＡＶＡ（Ｒ）ファイルを生成する。コンパイルされた場合、さらなるＪＡＶＡ（Ｒ）ファイルはオリジナルのページ生成コード３０のサブクラスとなる。別の実施形態では、部分的ページ再生成器２５０は、クラスファイルを直接生成する。別の実施形態では、部分的ページ生成コード３０が実行される場合、部分的ページ再生成器２５０はコードラッピングを実行し、メモリに格納されるクラスオブジェクトを生成する。
【００３２】
図３ｂに示された実施形態では、コードフラグメント２６５ｂ’および２６５ｃ’は、同様にさらなるコード２７０ｂ’、２７０ｃ’を用いてラッピングされている。さらなるコード２７０ｂ’、２７０ｃ’は、コードフラグメント２６５ｂ’、２６５ｃ’が既に同じ引数を用いて実行されたかどうかを決定する。コードフラグメント２６５ｂ’、２６５ｃ’が実行され、これによりコードフラグメントが複数のページポーションを生成することを示す場合、さらなるコード２７０ｂ’、２７０ｃ’が、以前に生成されたページポーションをこの複製ページポーションにコピーするコマンドを発行する。コードフラグメント２６５ｂ’、２６５ｃ’が実行されない場合、さらなるコード２７０ｂ’、２７０ｃ’は、実行のためにコードフラグメント（例えば２６５ｂ’、２６５ｃ’）を呼び出す。
【００３３】
さらなるコード２７０ｂ’、２７０ｃ’では、「開始」、「終了」、「コピー先」命令の後に用いられる用語「ｘ」は、部分的なページ再生成器２５０によって使用される識別タグを表し、各生成されたページポーション２６０を識別する。用語「ｍｏｄ  ｌｉｓｔ」は、生成されたページポーション２６０を有するクライアントノード２０５に送信される修正リストを表す。修正リストは、ページポーション２６０を現在表示されているページ２４０にどのようにして組み込むかについてクライアントノード２０５に命令するコマンドを含む。
【００３４】
図３ｂの図示された実施形態では、コードフラグメント「ｍａｉｎ」２６５ａ’がラッピングされない。ページ２４０の初期伝送の後、ヘッダーおよびスタティック情報は変化せず、コードフラグメント２６５ａ’は、再度実行されない。その結果、さらなるコード２７０は、「ｍａｉｎ」コードフラグメント２６５ａ’のために必要とされない。「ｄｏ  ｔａｂｌｅ」コードフラグメント２６５ｂ’および「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’によって示されるように、変更できるページ２４０のページポーション２６０の全ては、ページ２４０の「ｂｏｄｙ」に配置される。
【００３５】
別の実施形態では、ページ生成コード３０が本体ページポーションを含まない場合、「ｍａｉｎ」コードフラグメント２６５ａ’は、他のラッピングされたコードフラグメント２６８ｂ’、２６８ｃ’と同様のさらなるコード（図示されない）を含む。さらなるコード（図示されない）は、「ｍａｉｎ」コードフラグメント２６５ａ’の「ｂｏｄｙ」部分のための識別タグを提供する。初期実行はページ２４０を生成するように必要なヘッダー情報およびスタティックデータの全てを提供する。「ｍａｉｎ」コードフラグメント２６５ａ’が依存するデータが変化する場合、「ｍａｉｎ」コードフラグメント２６５ａ’の以後の実行が行われる。この再実行の出力がスキャンされ、「ｂｏｄｙ」部分のコンテンツは棄てられたも同然である。次いで「ｍａｉｎ」コードフラグメント２６５ａ’は、任意の他のコードフラグメントのように処理され得る。
【００３６】
（１．３．２  ラッピング−ＣＧＩフォーマットの例）
図４ａはＣＧＩファオーマットおよび識別されたコードフラグメント２６５ａ’’、２６５ｂ’’、および２６５ｃ’’を有するページ生成コード３０’’の実施形態を示す。ＣＧＩフォーマットでは、コードフラグメント２６５ａ’’、２６５ｂ’’、２６５ｃ’’のそれぞれは個々のスクリプトを表す。図４ｂに示されるように、さらなるコード２７０ａ’’の機能性はサーブレットフォーマットのさらなるコード２７０ｂ’、２７０ｃ’の機能性と同様であるが、インプレメンテーションがサーブレットフォーマットのインプリメンテーションとは異なる。さらなるコード２７０ａ’’は、ＣＧＩインタープリタ２７５をラッピングして個々のコードフラグメント２６５ａ’’、２６５ｂ’’、２６５ｃ’’自体をラッピングするのではなくラッピングされたＣＧＩインタープリタ２６８ａ’’を生成する。各コードフラグメント２６５ａ’’、２６５ｂ’’、２６５ｃ’’（すなわち、スクリプト）が呼び出された場合、さらなるコード２７０ａ’’がその呼び出しを妨害する。
【００３７】
別の実施形態では、単一のスクリプト（例えばページ生成コード３０’’）が存在し、コードフラグメント２６５ａ’’、２６５ｂ’’、２６５ｃ’’が個々のスクリプトではなく、そのスクリプト（例えば３０’’）のサブルーチンを表す。本実施形態では、ＣＧＩインタープリタ２７５は、ラッピングされずにさらなるコード２７０ａ’’を用いて修正され、その結果、スクリプトのサブルーチン（例えば、コードフラグメント２６５ａ’’、２６５ｂ’’、２６５ｃ’’）を呼び出すための呼び出しが妨害される。
【００３８】
（１．３．３  データを取り出すＪＡＶＡ（Ｒ）ビーンのラッピング）
ページ生成コード３０の他の部分から個別にそしてこの部分から独立してコードフラグメント２６５を実行することに加えて、部分ページ発生器２５０は、さらにコードフラグメント２５０が依存するデータ５０へのアクセスを妨害する必要があり得る。典型的にはこれはデータアクセスオブジェトを介してアクセスされる。図４ｃは、ＪＡＶＡ（Ｒ）がインプリメンテーションのために使用される例示的実施形態を示す。この実施形態では、典型的にはデータ５０は、１つ以上のＪａｖａ（Ｒ）ビーン１００を介してアクセスされる。ＪＡＶＡ（Ｒ）ビーン１００自体は、ページ生成コード３０から論理的に分離され、データ５０へのアクセスを管理することに対して責任があるのみである。ビーン１００は、ページ２４０を生成する出力を直接生成しないため、考慮されたコードフラグメント２６５ではない。
【００３９】
データ５０へのアクセスを妨害および制御するために、部分的ページ再生成器２５０は、さらなるコード（図示しない）を用いてデータ５０を取り出すＪＡＶＡ（Ｒ）ビーン１００をラッピングする。各ＪＡＶＡ（Ｒ）ビーン１００はクラスファイルであり、その結果部分的ページ再生成器２５０は、ＪＡＶＡ（Ｒ）ビーン１００のためのラッパークラス（例えばプロキシ）を生成する。部分的ページ再生成器２５０は、例えば名前付けの規約に整合するプロセスを検索することによってデータ５０を取り出すこれらのプロセス（例えば、オブジェクト指向言語の方法、サブルーチン）を識別する。
【００４０】
例えば、ＪＡＶＡ（Ｒ）ビーンに対して、名前付け規約は、以下のようである。
【００４１】
ｖｏｉｄ  ｓｅｔ＜ｐｒｏｐｅｒｔｙｎａｍｅ＞（Ｏｂｊｅｃｔ）
Ｏｂｊｅｃｔ  ｇｅｔ＜ｐｒｏｐｅｒｔｙｎａｍｅ＞（）
ｅｔｃ．
上述と同様に、ＪＡＶＡ（Ｒ）ビーン１００のためのラッパークラス（例えば、プロキシ）を生成する利点は、ランタイムの間であっても、ＪＡＶＡ（Ｒ）ビーンコード１００が修正されていないままであることである。一実施形態では、部分的ページ再生成器２５０は、２つのプロキシ１０５、１１０を生成することによってＪＡＶＡ（Ｒ）ビーンのためのさらなるコードを生成する。２つのプロキシの生成が必要であるのは、ページ生成コード３０によって呼び出されたプロキシ１０５がデータアクセスビーン１００の元のプロセスの元の名前を有し、その結果、プロキシ１０５は、元のプロセスの代わりに呼び出され（矢印１２５）元のプロセスの妨害を可能にするためである。しかし、プロキシ１０５が同一の名前を有する元のプロセス１００を呼び出す場合、ＪＡＶＡ（Ｒ）クラスローダ（ｃｌａｓｓｌｏａｄｅｒ）は、プロキシ１０５を呼び出す（矢印１３０）ことによってこれを誤って決定する。
【００４２】
部分的ページ再生成器２５０は、第２のプロキシ１１０を呼び出す第１のプロキシ１０５を生成し、第２のプロキシ１１０は、異なる、調停の任意の名前を有する。第２のプロキシ１１０が呼び出され、次いでオリジナルのプロセス１００を呼び出す。第２のプロキシ１１０およびＪＡＶＡ（Ｒ）ビーン１００が第１のプロキシ１０５およびページ生成コード３０とは異なる名前空間において存在するように構成することによって、２つのプロキシ１０５、１１０および２つの名前空間を用いて２つの名前規約は、複製名前付け規約を可能にする。第２の名前空間は第２のＪａｖａ（Ｒ）クラスローダを用いて達成され得る。データ５０を取り出すＪＡＶＡ（Ｒ）ビーン１００のための技術として説明されたが、この２つのプロキシ技術がＪＡＶＡ（Ｒ）ビーンではないＪＡＶＡ（Ｒ）データアクセスオブジェクトに適用可能である。例えば、Ｂがクラスの名前によってＡを参照せず、Ｂ〜Ａの全ての（名前付けされていない）参照もまたプロキシによって妨害される場合、この技術がコードＡの一部とコードＢの一部との間のアクセスを妨害するために使用され得る。
【００４３】
（１．３．４  ラッピング−選択された実行および生成された出力の例）
図５ａは、コードフラグメント２６５ａ’、２６５ｂ’、２６５ｃ’およびさらなるコード２７０ｂ’、２７０ｃ’の部分的ページ再生成器２５０による実行（矢印２８０）のフローを示す。図５ｂは、部分的ページ再生成器２５０が生成するアイテムを示す。第１の生成されたアイテムはページ２４０のページポーション２６０の出力２８３であり、ＨＴＭＬコードとして示される。第２の生成されたアイテムが修正リスト（「ｍｏｄ  ｌｉｓｔ」）２８４である。一実施形態では、２つのアイテムが同時に生成される。出力２８３の左側の文字は部分的ページ再生成器２５０によって生成されないが、むしろＨＴＭＬコードの特定のラインを生成する図５ａのコードフラグメント（ラッピングまたはラッピングされていない）を示すために使用される。
【００４４】
以下の実行のフロー（図５ａの矢印２８０）に従って、第１の「ｍａｉｎ」コードフラグメント２６５ａ’が実行される。最初に「ｍａｉｎ」コードフラグメント２６５ａ’は、空のページ（例えば、ＨＴＭＬページの本体部のコンテンツがない）を作成し、「０」の識別タグを使用して、修正可能なページポーション２６０を含むページ２４０の部分を識別する。「ｍａｉｎ」コードフラグメント２６５ａ’はまた、修正リスト２８４の割り当てコマンド２８５ａを生成する。この割り当てコマンドは、識別タグ「１」のコンテンツを識別タグ「０」を有する部分に割り当てる（例えば、割り当てコマンドの説明についての以下の表１を参照のこと）。
【００４５】
「ｍａｉｎ」コードフラグメント２６５ａ’は、「ｄｏ  Ｔａｂｌｅ」コードフラグメント２６５ｂ’を呼び出す。この「ｄｏ  Ｔａｂｌｅ」コードフラグメント２６５ｂ’は、さらなるコード２７０ｂ’でラッピングされるため、さらなるコード２７０ｂ’は呼び出しを妨害し、実行を開始する。さらなるコード２７０ｂ’は、識別タグ「１」を生成し、さらなるコード２７０ｂ’のコードフラグメントが生成するページポーションの開始を識別する。さらなるコード２７０ｂ’は、識別タグのためのＨＴＭＬスパンタグ２９０ａを生成し、さらなるコード２７０ｂ’が生成するページポーションの開始を構築する。さらなるコード２７０ｂ’は、エンドスパンタグ２９５ａを生成して、一旦さらなるコード２７０ｂ’の実行が終了すると、「１」として識別されたページポーションの末端を識別する。対応３００のマップ（図７）を用いて、さらなるコード２７０ｂ’は、「ｄｏ  Ｔａｂｌｅ」コードフラグメント２６５ｂ’がまだ実行されておらず、実行のためのページ生成コード３０’の「ｄｏ  Ｔａｂｌｅ」コードフラグメント２６５ｂ’を呼び出すことを決定する。
【００４６】
ページ生成コード３０の「ｄｏ  ｔａｂｌｅ」コードフラグメント２６５ｂ’の命令セット（図示されない）の実行の間に、「ｄｏ  ｔａｂｌｅ」コードフラグメント２６５ｂ’は、ＨＴＭＬ出力２８３およびＨＴＭＬコードに＜ｔａｂｌｅ＞タグを生成し、「Ｎａｍｅ」および「Ｐｒｉｃｅ」テーブルデータセルを有するヘッダーロウを生成する。「ｄｏ  Ｔａｂｌｅ」コードフラグメント２６５ｂ’は、格納バッファ５４から入力データ２９８（例えば、株を共有するためのチッカーシンボル）を受信する。
【００４７】
入力データ２９８に応答して、「ｄｏ  Ｔａｂｌｅ」コードフラグメント２６５ｂ’は、入力データ２９８の各チッカーシンボルのためのページ生成コード３０’の「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’を呼び出す。データ「ＡＢＣＣ」の第１のデータ部に対して、「ｄｏ  Ｔａｂｌｅ」コードフラグメント２６５ｂ’は、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’を呼び出す。「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’がさらなるコード２７０ｃ’でラッピングされるため、さらなるコード２７０ｃ’は、呼び出しを妨害し、実行を開始する。さらなるコード２７０ｃ’は、識別タグ「２」を作成し、ページ２４０の部分２６０の開始を識別する。さらなるコード２７０ｃ’は、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’が入力データ「ＡＢＣＣ」の部分によって呼び出されたとき初めてページ２４０の部分２６０の開始を生成する。
【００４８】
さらなるコード２７０ｃ’は、ＨＴＭＬスパンタグ２９０ｂを生成して、さらなるコード２７０ｃ’が生成するページポーションの開始を構築する。さらなるコード２７０ｃ’は、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’が引数「ＡＢＣＣ」によってまだ実行されておらず、実行のためのページ生成コード３０’の「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’を呼び出すことを決定する。ページ生成コード３０の「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’の命令セット（図示されない）の実行の間に、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’は、テーブルデータセル「ＡＢＣＣｏｒｐ．」および「９９．９」を有するテーブルのロウを生成する。入力データ２９８の部分を処理するページポーションに関連する「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’の実行が終了するため、さらなるコード２７０ｃ’は、ＨＴＭＬコードにエンドスパンタグ２９５ｂを生成し、さらなるコード２７０ｃ’のフラグメントによって作成された末端部分を構築する。実行は「ｄｏ  ｔａｂｌｅ」コードフラグメント２６５ｂ’に戻る。
【００４９】
データ「ＸＹＺＣ」の次の部分に対して、「ｄｏ  ｔａｂｌｅ」コードフラグメント２６５ｂ’は、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’を再度呼び出す。「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’は、さらなるコード２７０ｃ’でラッピングされるため、さらなるコード２７０ｃ’は、実行を呼び出しを妨害し、実行を開始する。さらなるコード２７０ｃ’は、識別タグ「３」を作成し、ページポーションの開始を識別する。さらなるコード２７０ｃ’のコードフラグメントは、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’が入力データ「ＸＹＺＣ」の部分によって呼び出されたとき初めてページポーションの開始を生成する。さらなるコード２７０ｃ’は、ＨＴＭＬスパンタグ２９０ｃを生成して、さらなるコード２７０ｃ’が生成するページポーションの開始を構築する。さらなるコード２７０ｃ’は、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’が引数「ＸＹＺＣ」によってまだ実行されておらず、実行のための「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’を呼び出すことを決定する。ページ生成コード３０の「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’の命令セット（図示されない）の実行の間に、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’は、テーブルデータセル「ＸＹＺＣｏｒｐ．」および「１．２」を有するテーブルのロウを生成する。入力データ２９８の部分を処理するページポーションに関連する「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’の実行が終了するため、さらなるコード２７０ｃ’は、エンドスパンタグ２９５ｃを生成し、さらなるコード２７０ｃ’のコードフラグメントによって作成された末端部分を構築する。実行は「ｄｏ  ｔａｂｌｅ」コードフラグメント２６５ｂ’に戻る。
【００５０】
データ「ＡＢＣＣ」の次の部分に対して、「ｄｏ  ｔａｂｌｅ」コードフラグメント２６５ｂ’は、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’を呼び出す。「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’は、さらなるコード２７０ｃ’でラッピングされるため、さらなるコード２７０ｃ’は、実行を呼び出しを妨害し、実行を開始する。さらなるコード２７０ｃ’は、識別タグ「４」を作成し、ページポーションの開始を識別する。さらなるコード２７０ｃ’のコードフラグメントは、二度目に「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’が入力データ「ＡＢＣＣ」の部分によって呼び出されたときにページポーションの開始を生成する。さらなるコード２７０ｃ’は、ＨＴＭＬスパンタグ２９０ｄを生成して、さらなるコード２７０ｃ’が生成するページポーションの開始を構築する。このとき、さらなるコード２７０ｃ’は、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’が引数「ＡＢＣＣ」によってまだ実行されておらず、実行のための「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’を呼び出せないことを決定する。再度実行した場合、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’は、識別タグ「２」の部分と同一のテーブルデータセル「ＡＢＣＣｏｒｐ．」および「９９．９」を有するテーブルのロウを生成する。
【００５１】
「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’が実行されないため、さらなるコード２７０ｃ’は、エンドスパンタグ２９５ｄを生成し、さらなるコード２７０ｃ’のコードフラグメントによって作成された末端部分を構築する。必要とされるページポーションを生成するために、さらなるコード２７０ｃ’は、識別タグ「２」に含まれた部分を識別タグ「４」に含まれた部分にコピーするようにクライアントノード２０５のディスプレイ変更器（ａｌｔｅｒｅｒ）２４５に命令するコピーコマンド２８５ｂを修正リスト２８４に生成する（例えばコピーコマンドの説明についての表１を参照のこと）。実行は「ｄｏ  ｔａｂｌｅ」コードフラグメント２６５ｂ’に戻る。
【００５２】
処理された入力データ２９８の全ての部分に対して、「ｄｏ  ｔａｂｌｅ」コードフラグメント２６５ｂ’の実行が終了される。さらなるコード２７０ｂ’は、エンドスパンタグ２９５ａを生成して、さらなるコード２７０ｂ’によって生成された末端部を構築する。実行は「ｍａｉｎ」コードフラグメント２６５ａ’に戻り、そして「ｍａｉｎ」コードフラグメント２６５ａ’からランタイムシステムに戻り、それによりページポーション（例えば、ＨＴＭＬ出力ファイル）およびページポーションを挿入するための命令（例えば修正リスト）をサーバ送信器２３５を介してクライアントノード２０５に伝送する。
【００５３】
図５ａおよび図５ｂの例示的な例から、ページ２４０が実質的に更新され（例えば、ＸＹＺＣｏｒｐ．の共有の価格が増加するため）た場合、実行および出力がさらに低減されることが容易に理解される。一実施形態では、例えば、以後の更新に対して、変更されたテーブルのロウのみがクライアントノード２０５に伝送される。本実施形態では、部分ページ発生器２５０は、引数として「ＸＹＺＣ」を使用して関連付けられたさらなるコード２７０ｃ’を用いて「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’を実行する。さらなるコード２７０ｃ’は、識別タグ「５」を生成して、ページポーションの開始を識別する。さらなるコード２７０ｃ’のクライアントは、「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’が次に「ＸＹＺＣ」によって呼び出されたときにページポーションの開始を生成する。さらなるコード２７０ｂ’は、ＨＴＭＬスパンタグを生成して、さらなるコード２７０ｂ’が生成するページポーションの開始を構築する。さらなるコード２７０ｂ’は、実行のための「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’を呼び出す。「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’は、テーブルデータセル「ＸＹＺＣｏｒｐ．」および「２．５」（新しい価格）を有するテーブルのロウを生成する。「ｄｏ  Ｓｈａｒｅ」コードフラグメント２６５ｃ’の実行が終了するために、さらなるコード２７０ｃ’はｓｐａｎ  ｉｄ＝５入力に対してエンドタグを生成して、さらなるコード２７０ｃ’のフラグメントによって作成された末端部を構築する。
【００５４】
部分的ページ再生成器２５０は、対応３００のマップ（図７）を用いて「ＸＹＺＣ」を有するロウが識別タグ「３」を有することを決定する。部分的ページ再生成器２５０は、ＡＢＣＣｏｒｐ．を有するテーブルのロウが、価格が変更されないために更新される必要がないことを決定する。部分的ページ再生成器２５０は、現在表示されたウエブページに組み込むために、更新されたロウおよび修正リストの生成されたＨＴＭＬ出力をクライアントノード２０５のディスプレイ変更器２４５に伝送する。部分的ページ再生成器２５０は、伝送された修正リストにコマンド「Ａｓｓｉｇｎ  ５→３」を含む（例えば割り当てコマンドの説明についての表１を参照のこと）。このコマンドは、識別タグ「３」を用いてＨＴＭＬ出力を見つけるようにディスプレイ変更器２４５に命令し、ＨＴＭＬ出力を、識別タグ「５」を有する新しく伝送されたＨＴＭＬ出力部分と置換する。
【００５５】
（１．３．５  クライアントフィードバック用いたサーバ格納バッファの更新）
図５ａの例示的な実施形態では、入力データ２９８がクライアントノード２０５から発生する。本実施形態では、クライアントのユーザがデータを伝送されたページ２４０の１つ以上のユーザ入力フィールドに入力し、そして提示ボタン、更新ボタンをクリックし、および／またはエンターキーを押した後で、入力データ２９８がクライアントノード２０５から伝送される。別の実施形態では、クライアントノード２０５のディスプレイ変更器２４５が伝送されたページ２４０のユーザ入力フィールドをモニタリングする。ディスプレイ変更器２４５がユーザ入力フィールドにデータを検出した場合（例えば、ユーザがデータをフィールドに入力しそしてタブキーを押すか、あるいはユーザがデータを入力し、ページの別の部分にカーソルを移動させ、そしてマウスキーをクリックする）、ディスプレイ変更器２４５は、ページ更新リクエストを用いてデータを部分的ページ再生成器２５０に伝送する。
【００５６】
さらに別の実施形態では、部分的ページ再生成器２５０は、さらなるソフトウエア（例えば「フィードバック」と呼ばれる方法）を、ページ生成コード３０によって生成されたページ２４０の一部であるクライアントノード２０５に提供する。さらなるソフトウエアが呼び出される（例えばユーザ動作によって）場合、さらなるソフトウエアは、その引数がサーバノード２１０に伝送されるように構成する。部分的ページ再生成器２５０はまた、さらなるソフトウエア（例えばまた「フィードバック」とも呼ばれる方法）をページ生成コード３０に提供する。サーバノード２１０上のこの「フィードバック」方法は、クライアントノード２０５によって受信された引数を使用して、格納バッファ５４内のデータ５０を更新する。
【００５７】
例えば、生成されたページの一部は、
＜ｉｎｐｕｔ  ｔｙｐｅ＝”ｔｅｘｔ”  ｏｎｃｈａｎｇｅ＝”ｆｅｅｄｂａｃｋ（ｖａｌｕｅ）”＞
であり得る。これは入力ボックスを表示し、ユーザが値を入力しタブを押すか、またはマウスを移動させる度に呼び出されるカスタムコード（ｆｅｅｄｂａｃｋ（ｖａｌｕｅ））の一部を含む。これは、この動作に応答してクライアントノード２０５上の「フィードバック」方法を呼び出し、入力された値を伝える。この値は、サーバノード２１０に伝送される。サーバノード２１０上のページ生成コード３０における「ｆｅｅｄｂａｃｋ」と呼ばれる方法は引数としてこの値を用いて呼び出される。これは、例えば、
Ｖｏｉｄ  ｆｅｅｄｂａｃｋ（Ｓｔｒｉｎｇ  ｓｔｏｃｋ）
｛
ｐｏｒｔｆｏｌｉｏ．ｓｅｔＣｕｒｒｅｎｔＳｔｏｃｋ（ｓｔｏｃｋ）
｝
であり得る。ポートフォリオは、データアクセスビーン１００（図４ｃ）の基準である。
【００５８】
別の実施形態では、ページ２４０は変更されることが可能になるために、サーバノード２１０上の「ｆｅｅｄｂａｃｋ」の呼び出しは、部分的ページ再生成器２５０にページ２４０を速やかにリフレッシュさせる。
【００５９】
（１．４  対応のマップ）
部分的ページ再生成器２５０は、ページ２４０の部分２６０の識別タグ２９０（例えば、ＨＴＭＬスパンタグ）を決定し、部分的ページ再生成器２５０がこのような情報を格納するページポーション２６０を作成するにつれて、部分的ページ再生成器２５０が対応のマップ３００（図７）を生成するため、任意のこれらのページポーション２６０に対するデータ５０が変更されるかどうかを決定する。ページポーションのレイアウト関係をモデル化するページ記述モデル３０３（図６）が対応のマップ３００内部にある。
【００６０】
（１．４．１  対応のマップ−ページ記述モデル）
図６は、ページ記述モデル３０３によってモデル化された論理接続の例示的な実施形態を示す。図５ａおよび図５ｂに説明されたように、同じ例示的な例を用いることによって、ページ記述モデル３０３は、ノード３０５ａ、３０５ｂ、３０５ｃ、３０５ｄ、３０５ｅ、３０５ｆ、および３０５ｇ（一般的に３０５）を有するノードツリー３０３’を含む。ページポーション２６０の関係（すなわち、ページ記述モデル３０３）はノードツリー３０３’として示される。他の実施形態では、他のモデルが使用され得る。本発明の異なる実施形態は、ノードツリー３０３’の異なるレベルにおいて作成および動作し得る。言い換えれば、いくつかの更新は、子ノードのみを処理する一方で、他の更新は、子ノードにおける更新に影響を与える親ノードを使用する。ページ２４０を更新するために生成され、伝送されるデータの量がより小さくなるほど、更新に影響を与える必要があるリソースがより少なくなる。
【００６１】
ノードツリー３０３’の各ノード３０５は、ノードツリー３０３’の他のノード３０５のそれぞれに関して固有であり、クライアントノード２０５に送信されたＨＴＭＬ出力２８３に挿入された識別タグ（例えばスパンタグ）に関して同一のＩＤを有する。別の実施形態では、ノードＩＤは、挿入されたタグとは異なる場合、対応３００のマップは、ページ２４０の部分２６０を表すモデルノード３０５とクライアントノード２０５に送信されたＨＴＭＬコードの実際の識別タグ（例えばスパンタグ）との間の関係を含み、ページポーションの表示を生成する。ページ記述モデル３０３を作成するために、対応３００のマップは、ページ生成コード３０のコードフラグメント２６５と各コードフラグメント２６５が生成するページポーション２６０との間の通信を含む。さらに対応３００のマップはページ生成コード３０のコードフラグメント２６５と各コードフラグメント２６５が依存するデータ５０との間の通信を含む。
【００６２】
（１．４．２  対応のマップデータ構造）
図７は、対応３００のマップのための一般的なデータ構造３０８の例を示す。データ構造３０８は、ノードツリー３０３’、値フィールド３２０、キーフィールド３３０、現在の値のテーブル３４５、およびイベントフィールド３６０を含む。値フィールド３２０は、コードフラグメント２６５の実行が生成するページ２４０の部分２６０を表す（矢印３２３）。一実施形態では、値フィールド３２０のデータは、クライアントノード２０５のディスプレイ２２０上のページ２４０の部分２６０を生成するために使用されるＨＴＭＬ出力２８３である。別の実施形態では、ＨＴＭＬ出力自体を格納する必要がない（修正リストおよび作業リストに一次的に格納する以外）。値フィールド３２０はデータを有さないが他のフィールドの数に関係するのみである。
【００６３】
値フィールド３２０は１つ以上のノード３０５を作成するために使用され得る。対応のマップ３００は、特定の値フィールド３２０に対応するノードツリー３０３’におけるこれらのノード３０５に値フィールド３２０をマッピングする（矢印３２５）。
【００６４】
キーフィールド３３０は、コードフラグメント２６５の実行を表す（矢印３３５）。キーフィールド３３０は、コードフラグメント２６５を再実行するのに必要なデータを含み、キーが対応する値を生成する（矢印３４０）。単一のキーフィールド３３０は、複数の通信を有し得る（矢印３４０）。なぜなら、キー３３０のコードフラグメント２６５が再実行される場合、コードフラグメント２６５が依存するデータ５０の変化の後に新しい値３２０が作成されるためである。しかし常に特定のキー３３０に対する１つのみの現在の値３２０が存在する。
【００６５】
キー３３０によって生成された現在の値３２０が現在の値３４５のテーブルに格納される。現在の値３４５のテーブルでは、キー３３０が表された場合、値フィールド３２０へのキーフィールド３３０の対応（矢印３５０）は常に１対１である。言い換えると、いくつかのキー３３０は、現在の値３４５のテーブルに表すことができないが、キー３３０が現在の値３４５のテーブルにある場合、キー３３０に対して多くとも１つの値３２０がある。現在の値３４５のテーブルが特定の引数を用いてキーフィールド３３０をトラッキングすることによって、作成された１つのみの現在の値フィールド３２０がある（すなわち、コードフラグメントの１つの基準は、同じ引数およびデータ５０を用いてそれが常に同じ出力（すなわち値フィールド３２０）を生成することである）。
【００６６】
対応３００のマップは値フィールド３２０をイベントフィールド３６０にマッピングする（矢印３５５）。イベントフィールド３６０は、マッピングされる値のフィールド３２０に影響を与えるイベントに関するデータを含む（矢印３５５）。一般的な意味では、単にマッピングイベント３６０は、値３２０がデータ５０の一部に依存し、「何か」が変更された通知と、どの値３２０が現在無効であることを識別することの間で変換する手段の１つとして使用される概念に過ぎない。
【００６７】
例えば、値フィールド３２０が依存するデータ５０の変化を示すイベントに対する基準がイベントフィールド３６０に格納され得る。この対応（矢印３５５）では、データ５０が変化する場合、またはイベントがデータ５０の変化を表すように生成される場合、部分的ページ再生成器２５０は、変化されたデータ５０を表す、イベント３６０にマッピングされた（矢印３５５）値フィールド３２０にマッピングされた（矢印３２５）これらのノード３０５が、もはや有効ではなく更新されるべきであることを決定する。データ５０の変更イベント３６０のこれらのタイプの生成およびモニタリングは当業者に周知であり、任意の生成およびモニタリング技術は受容可能である。
【００６８】
（１．４．３  対応のマップ−図５ａおよび図５ｂを用いる例）
図８は、部分的ページ再生成器２５０が図５ａおよび図５ｂの選択的な実行の例を実行することによって作成される対応３００’のマップの例示的実施形態を示す。現在の値３４５’のテーブルは、１つのキーの１つの値３２０’への対応を含む。現在の値３４５’のテーブルのキーは、特定の引数を用いたコードフラグメント２６５を表す。テーブル３４５’は、キー３３０が生成する固有の値３２０’へのポインタ３７５を含む。示されたように、例において作成された３つの固有のページポーション２６０に対応する３つの固有の値３２０’（ノード３０５ｂ’、３０５ｃ’、および３０５ｄ’によって表される）がある。各値３２０’は、ページ記述モデルノードツリー３０３’の１つ以上のノード３０５’（すなわち、全てのページポーション）へのポインタ３７５を有する。各ノード３０５はデータまたはデータへのポインタ３７５を含む。各ノードは、この特定のノードの識別タグ（「ＩＤ」）、親および子のノードのＩＤ、対応するノード３０５’を生成した値３２０’を含む。
【００６９】
（１．５  ページポーションの組み込みのための命令）
図５ｂに示されるように、部分的ページ再生成器２５０は、クライアントノード２０５のディスプレイ２２０上のページ２４０の部分２６０を生成するために使用される実際の出力２８３と共に修正リスト２８４を生成する。サーバノード２１０は、修正されたページ２４０の部分２６０をこれらの特定の部分２６０のための修正リストと共にクライアントノード２０５に伝送する。クライアントノード２０５は、修正リストを使用して、ページ２４０の適切な領域に伝送された部分２６０を表示させる。このディスプレイ変更器２４５は修正リストを用いて伝送されたページポーション２６０を組み込むタスクを実行する。
【００７０】
伝送された１つ以上のページポーションを表示されたページ２４０に組み込むために、ディスプレイ変更器２４５は、修正リスト上にあるコマンドを処理することを可能にしなければならない。部分的ページ再生成器２５０は、ディスプレイ変更器２４５の能力を決定する。一実施形態では、クライアントノード２０５のディスプレイ変更器２４５は、クライアントソフトウエアの一部である。本実施形態では、クライアントノード２０５は、ディスプレイ変更器２４５に命令するサーバノード２１０が最初のリクエストの間に理解し得ることを通知し得る。
【００７１】
別の実施形態では、クライアントノード２０５のディスプレイ変更器２４５は、ページ２４０がクライアントノード２０５にまず送信される場合、サーバ送信器２３５によって動的にページ２４０に追加されたスクリプトの一部である。スクリプトクライアントのページへのリンクの例は、添付物１に説明される。
【００７２】
本実施形態では、クライアントノード２０５が初期リクエストの一部としてブラウザのどの「タイプ」を実行するかをサーバノード２１０に通知し、次いでサーバノード２１０は、サーバノード２１０に格納された公知のブラウザのテーブルの能力を参照し得る（例えば、クライアントブラウザは、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ  ５．０であるとしてクライアントブラウザ自体を識別し得る）。さらに別の実施形態では、サーバ送受信器２３５は、クライアントブラウザのタイプに依存して、ディスプレイ変更器２４５および／またはクライアントの送受信器２３０の異なるバージョンをクライアントのブラウザに送信する。
【００７３】
（１．５．１  コマンドの例）
修正リストは、所定のセットのコマンドからのコマンドを使用する。一実施形態に対して、表１は、修正リスト中に出現し得る４つのコマンドのタイプのセットの例を列挙する。表１の第１の列はコマンドの名前を列挙する。表１の第２の列は、各コマンドに含まれ得るパラメータを列挙する。表１の第３の列は各コマンドの一般的な説明を列挙する。用語「ノード」は、対応のマップ３００のページ記述モデルノードツリー３０３’のノード３０５を指す。コマンドパラメータは識別タグ（すなわちＩＤ）を使用して、ノード３０５を表す。例えば、ノード３０５が株価のテーブルデータセルであり、価格が１２０に変化した場合、コマンドは、Ａｓｓｉｇｎ（８，「＄１２０」）であり得る。ディスプレイ変更器２４５は、識別タグ「８」と共にテーブルデータセルに「＄１２０」の値を挿入する。
【００７４】
【表１】
2004519040.tif 000002
表１
（１．６  データが変更された場合のページの更新）
イベント３６０がデータ５０における変更を表すことが検出される場合、部分的ページ再生成器２５０は、イベント３６０に対応する（矢印３５５、図７）値３２０を無効値リスト（図示せず）上のイベント３６０に追加する。一実施形態では、無効値リストは、対応のマップ３００の一部である。無効値リストは、変更されもはや値ではないクライアントノード２０５上のページ２４０に現在表示された全ての値をトラッキングする。一旦、無効値リスト上のエントリが存在する場合、部分的ページ再生成器２５０は、そのリクエストに応答してページ２４０をリフレッシュする要求を待ち、ページ２４０の変更された部分２６０のための更新を生成および伝送する。
【００７５】
ページ２４０をリフレッシュするための要求は、多くの異なる方法で生成され得る。例えば、クライアントノード２０５上のユーザは、ページ２４０のリフレッシュをリクエストし得る。別の実施形態では、ディスプレイ変更器２４５は、ページ２４０のリフレッシュを周期的にリクエストし得る。別の実施形態では、部分的ページ再生成器２５０は、一旦データ５０の変化が検出されると、リフレッシュのためのリクエストを生成する。例えば、上述のように、「フィードバック」方法がサーバノード２１０上で呼び出された場合、部分再生器２５０は、リフレッシュのためのリクエストを自動的に生成する。別の実施形態では、クライアントノード２０５とサーバノード２１０との間の通信プロトコルは、サーバプッシュモデル（すなわち、サーバノード２１０は、クライアントノード２０５が、がリクエストを開始することなく、データをクライアントノード２１０に伝送する）を支援またはシミュレートする。
【００７６】
（１．６．１  伝送されたページポーションのための更新の生成）
図９は、変更されたページ２４０の部分２６０のために、部分的ページ再生成器２５０が更新を生成することによる例示的なプロセスを示す。部分再生器２５０は、変更されたページポーション２６０のための出力および表示されたページの変更されたページポーション２６０をどのようにして組み込むかに関してディスプレイ変更器２４５に命令するための修正リストを生成する。例示的プロセスは、クライアントノード２０５について現在利用可能な任意の未変更の部分を利用することによって、クライアントノード２０５に伝送されたデータの量を最小化する。
【００７７】
例示的なプロセスを開始するために、部分的ページ再生成器２５０は、無効な値のリストを検査し、現在の値が無効な値を表すのと同時に現在の値３４５のテーブル（図７）から無効値リスト上の全ての値３２０を取り除く（ステップ４００）。部分的ページ再生成器２５０は、「ｒｅｃｙｃｌｅ  Ｒｏｏｔ」ノードを生成する（ステップ４０５）。「ｒｅｃｙｃｌｅ  Ｒｏｏｔ」ノードは、以後再使用され得るノード３０５を格納するために使用された一時的な空間である。部分的ページ再生成器２５０は、２つのコマンドの初期の空のリスト（作業リストおよび修正リスト）を作成する（ステップ４１０）。部分的ページ再生成器２５０は作業リストを生成し、作業リストから修正リストにアイテムの群を移動させる。本例で使用されたコマンドは、表１に示されたコマンドと同じである。
【００７８】
部分的ページ再生成器２５０は、無効な値のリストをスキャンし、無効な値のリスト上の値３２０の内の１つに対応する最高のノードを見出す（ステップ４２０）（ノードツリー３０３’のルートに最も近いノードとして最高のノード）。このようなノードがない場合、例示的なプロセスはステップ４６５にジャンプする（矢印４２３）。部分的ページ再生成器２５０は、対応する無効な値に対するページ記述モデルノードツリー３０３’から最高のノードを除去する（ステップ４２５）。これらのノードはそれ自身無効であり得ないため、後で使用され得るので、最高のノードの子ノード３０５は、ｒｅｃｙｃｌｅＲｏｏｔに移動される（ステップ４３０）。部分的ページ再生成器２５０は、対応のマップ３００を用いて最高のノードの対応する値を再計算するために使用されたキー３３０（図７）を決定する（ステップ４３５）。例えば、図７を用いて、部分的ページ再生成器２５０はノード３０５に従い、ノード３０５は、キー３３０に対応し（矢印３４０）、値３２０に対応する（矢印３２５）。
【００７９】
一旦キー３３０が決定されると（ステップ４３５）、部分的ページ再生成器２５０は、対応するキー３３０に対する現在の値（すなわち、現在の値のテーブル３４５の値３２０）があるかどうかを決定する。このキー３３０に対する現在の値がある場合、再計算（ステップ４４５）は、以前のループの繰り返し（矢印４６３）においてこのキー３３０のために既に開始する。再計算（ステップ４４５）が既に開始している場合、部分的ページ再生成器２５０は、対応する現在の値のためのページ記述モデルのノードツリー３０３’にノード３０５を追加し（ステップ４４３）、「ＣｏｐｙＶａｌｕｅ」コマンドを作業リストに追加する（ステップ４４３）。再計算（ステップ４４５）が既に開始されている場合、例示的なプロセスはステップ４６０にジャンプする（矢印４５８）。
【００８０】
再計算（ステップ４４５）がまだ開始していない場合、部分的ページ再生成器２５０は、決定されたキー３３０（ステップ４３５）に関連付けられたコードフラグメント２６５を再実行して（ステップ４４５）、新しい値を生成する。生成された出力が出力ファイル（例えば、図５ｂのＨＴＭＬ出力コード２８３）に識別タグを用いて保存される。ノードは、新しく生成された値に対するページ記述モデルのノードツリー３０３’に追加される（ステップ４５０）。次いで部分的ページ再生成器２５０は、識別タグを用いて「Ａｓｓｉｇｎ」コマンドを作業リストに追加する（ステップ４５５）。
【００８１】
再実行（ステップ４４５）の間、決定されたキー（ステップ４３５）に関連付けられたコードフラグメント２６５は、他のコードフラグメント（例えば図５ａの「ｄｏ  ｔａｂｌｅ」コードフラグメントは、「ｄｏ  Ｓｈａｒｅ」コードフラグメントを呼び出す）を呼び出し得る。現在の値のテーブル３４５の値３２０に整合するパラメータを有する各呼び出しに対して、さらなるコード２７０を経由する部分的ページ再生成器２５０は、この呼び出しを妨害する。妨害は、図５ａおよび図５ｂの２回目の実行に対する「ｄｏ  Ｓｈａｒｅ」（ＡＢＣＣ）の実行の例と同様である。妨害によって、部分的ページ再生成器２５０は、識別タグ（例えば、図５ｂのｓｐａｎ  ＩＤ  「４」、２９０ｄおよび２９５ｄ）を用いて空のページポーションを生成し、作業リストに追加される「ＣｏｐｙＶａｌｕｅ」コマンドを生成する。
【００８２】
部分的ページ再生成器２５０は、無効な値のリストを検査してルートから到達可能なより多くのノードが存在するかどうかを決定する（ステップ４６０）。より多くのノードがある場合、プロセスはステップ４２０に戻る（矢印４６３）。ノードがない場合、プロセスはステップ４６５を続ける。
【００８３】
部分的ページ再生成器２５０は、リサイクルルートにおけるノードを検査して任意のノードが再使用され得るかどうかを決定する（ステップ４６５）。これらのノードのそれぞれがクライアントノード２０５上で利用可能なページポーション２６０を表すため、これらのノードを再使用することはかなり有益である。部分２６０は、作業リスト上の「ＣｏｐｙＶａｌｕｅ」コマンドと整合する場合に再使用され得る。ｒｅｃｙｃｌｅＲｏｏｔにおけるノードが最小され得る場合、部分的ページ再生成器２５０は、整合ノードに設定されたソースノードパラメータを用いて、整合する「ＣｏｐｙＶａｌｕｅ」コマンドを「ＭｏｖｅＮｏｄｅ」コマンドに変換する（ステップ４６８）。再使用された親ノードおよび子ノードは、それらがリサイクルされ得ない場合に使用されるとしてマーキングされる（ステップ４６８）。部分的ページ再生成器２５０は、作業リストの少なくとも１つのコマンドが変更されたことを示すフラグを設定する（ステップ４６８）。
【００８４】
部分的ページ再生成器２５０は、最初に「Ａｓｓｉｇｎ」コマンド、次いで「ＭｏｖｅＮｏｄｅ」コマンドを置くことによって、作業リストのコマンドをソート（ステップ４７０）することによって継続する。部分的ページ再生成器２５０は、「Ａｓｓｉｇｎ」コマンドおよび「ＭｏｖｅＮｏｄｅ」コマンドを作業リストから除去し（ステップ４７０）、クライアントノード２０５への伝送準備ができている修正リストにこれらのコマンドを添付する。残っている「ＣｏｐｙＶａｌｕｅ」コマンドは作業リスト上に残されている。
【００８５】
部分的ページ再生成器２５０は、フラグが設定された（ステップ４６８）かどうか理解するためにチェックすることによって任意のコマンドが変更されたかどうかを決定する（ステップ４７５）。少なくとも１つのコマンドが変更された場合、以前に到達不可能なノードが現在では到達可能であるために、この決定が為される。フラグが設定された場合（ステップ４６８）例示的なプロセスは、ステップ４２０に戻る（矢印４６３）。
【００８６】
ノードがもはやリサイクルされ得ない場合、部分的ページ再生成器２５０は、全ての残っている「ＣｏｐｙＶａｌｕｅ」コマンドを「ＣｏｐｙＮｏｄｅ」コマンドに変換する（ステップ４８０）。これらは「ＭｏｖｅＮｏｄｅ」コマンドよりもより効率的ではないが、別の「Ａｓｓｉｇｎ」コマンドよりもさらによい。「Ｃｏｐｙ  Ｎｏｄｅ」コマンドに対するソースは正確な値を有する任意のノードである。「ＣｏｐｙＶａｌｕｅ」コマンドを変換する場合、その値に関連したノードのセットが検査され、１つのノードが選択される。唯一の要求は、このノードが「ＣｏｐｙＮｏｄｅ」コマンドが実行される場合にクライアントに対して利用可能であるうちの１つのノードであることである。「ＣｏｐｙＶａｌｕｅ」コマンドをステップ４６８およびステップ４８０両方において変換する場合、この要求は、ソースノードとして最低の識別タグを有するノードを選択することによって満たされ得る。
【００８７】
この変換の間、部分的ページ再生成器２５０は、コピーされたサブツリーを再命名し、生じたサブツリーは固有の識別子を有するノードを含む。任意の手段が再命名（例えば予め順序化された深さの第１の横断（ｐｒｅ−ｏｒｄｅｒ  ｄｅｐｔｈ  ｆｉｒｓｔ  ｔｒａｖｅｒｓａｌ））のために使用され得る。部分的ページ再生成器２５０は作業リスト（現在「ＣｏｐｙＮｏｄｅ」コマンドのみを含む）を修正リストに添付する（ステップ４８５）。
【００８８】
１つの例では、修正リスト２８４は複数のリストを含む。最後の２つのセクションを除く全ては、１つ以上の「Ａｓｓｉｇｎ」コマンド、次いで１つ以上の「ＭｏｖｅＮｏｄｅ」コマンドを含む。最後から２番目のセクションは１つ以上の「Ａｓｓｉｇｎ」コマンド、次いで０以上の「ＭｏｖｅＮｏｄｅ」コマンドを含み、最後のセクションは、０以上の「ＣｏｐｙＮｏｄｅ」コマンド（例えばＡＡＭ  ＡＡＡＭＭＭ  ＡＡＡＣＣＣを含み、ここでＡ＝「Ａｓｓｉｇｎ」コマンド、Ｍ＝「ＭｏｖｅＮｏｄｅ」コマンド、Ｃ＝「ＣｏｐｙＮｏｄｅ」コマンド、および空間は各セクションを分割する）を含む。
【００８９】
次いで、部分的ページ再生成器２５０は、対応する値３２０のためのページ記述モデルノードツリー３０３’からリサイクルリスト上に残された全てのノードを除去する（ステップ４９０）。値３２０がページ記述モデルノードツリー３０３’において残っている対応しているノード３０５を有さない場合、値３２０が放棄され、現在の値のテーブル３４５から除去される。また部分的ページ再生成器２５０は、放棄された値３２０に関連付けられた任意のイベントレコード３６０およびキー３３０を除去する。これはクライアントノード２０５上で開始するコマンドを反映する。
【００９０】
（１．７  更新された部分の伝送されたページへの組み込み）
一旦出力２８３および修正リスト２８４が作成されると、部分的ページ再生成器２５０は、ネットワーク通信チャンネル２１５を介してサーバ送受信器２３５を経由して２つのアイテムを、クライアント送受信器２３０を介してディスプレイ変更器２４５に伝送する。ディスプレイ変更器２４５は修正リスト２８４を用いて出力２８３を組み込む。
【００９１】
（１．７．１  修正リストの使用）
図１０は、ディスプレイ変更器２４５が、サーバノード２１０が更新されたページポーション２６０と共に伝送された修正リスト２８４を用いて、変更されたページ２４０の部分２６０のための更新を組み込むプロセスの例示的実施形態を示す。上述のように、修正リスト２８４は、ＡｓｓｉｇｎおよびＭｏｖｅＮｏｄｅコマンドを含む複数のセクションと、ＣｏｐｙＮｏｄｅコマンドのみを含む選択的な最後のセクションからなる。ディスプレイ変更器２４５は、次いで、修正リスト２８４の各セクションを処理する。ディスプレイ変更器２４５は「ＭｏｖｅＮｏｄｅ」コマンドのための修正リスト２８４の現在のセクションを検査する（ステップ５００）。各「ＭｏｖｅＮｏｄｅ」コマンドに対して、ディスプレイ変更器２４５は「ＭｏｖｅＮｏｄｅ」コマンドのソースノードおよび任意の孫ノードを格納バッファ２２５に保存する（ステップ５０５）。次いで、ディスプレイ変更器２４５は、「Ａｓｓｉｇｎ」コマンドのための修正リスト２８４の現在の選択を検査する（ステップ５１０）。各「Ａｓｓｉｇｎ」コマンドに対して、ディスプレイ変更器２４５は、「Ａｓｓｉｇｎ」コマンドの出力（例えば、表示可能な部分２６０、実際のＨＴＭＬコード）を、「Ａｓｓｉｇｎ」コマンドの宛先ノードによって特定されたページ２４０の部分２６０に挿入する（ステップ５１５）。
【００９２】
ディスプレイ変更器２４５は、「ＭｏｖｅＮｏｄｅ」コマンドに対する修正リスト２８４の現在のセクションを再検査する（ステップ５２０）。各「ＭｏｖｅＮｏｄｅ」コマンドに対して、ディスプレイ変更器２４５は、格納バッファ２２５に一次的に格納された（ステップ５０５）適切なソースノードを取り出す（ステップ５３０）。ディスプレイ変更器２４５は、ノードの値および任意の孫ノードを「ＭｏｖｅＮｏｄｅ」コマンドの宛先ノードによって特定されたページ２４０の部分２６０に挿入する（ステップ５３５）。
【００９３】
ディスプレイ変更器２４５は、修正リスト２８４の次のセクションに移動する（ステップ５４０）。もうセクションがない場合、プロセスはステップ５６５に続く。新しいセクションが「ＣｏｐｙＮｏｄｅ」コマンドのみを含まない場合、プロセスはステップ５００まで続く。
【００９４】
ディスプレイ変更器２４５は、「ＣｏｐｙＮｏｄｅ」コマンドのための修正リスト２８４の現在のセクションを検査する（ステップ５５０）。各「ＣｏｐｙＮｏｄｅ」コマンドに対してディスプレイ変更器２４５は、適切なソースノードおよび任意の孫ノードをコピーする（ステップ５５５）。ディスプレイ変更器２４５は、コピーされたノードおよび任意の孫ノードの出力を「ＣｏｐｙＮｏｄｅ」コマンドの宛先ノードによって特定されたページ２４０の部分２６０に挿入する（ステップ５５５）。このコピープロセスの間、ディスプレイ変更器２４５は、コピーされたノードの埋め込まれたノード識別タグの全てを再命名する（ステップ５６０）。一実施形態では、ディスプレイ変更器２４５は、ＨＴＭＬコード（例えば、格納バッファ２２５に現在表示されたページ２４０のＨＴＭＬコードのコピー）への組み込みの全てを実行し、更新の全ての組み込みが終了した場合、ディスプレイ変更器２４５は、更新されたページを表示する（ステップ５６５）。別の実施形態では、更新が表示されたページ２４０に組み込まれた場合、ディスプレイ変更器２４５は、各更新を表示する（ステップ５５０）。
【００９５】
（１．７．２  組み込みの例）
図１１（ａ）、１１（ｂ）、１１（ｃ）および１１（ｄ）は、表示されたページ２４０への更新を組み込むディスプレイ変更器２４５の例を示す。示された例において、ディスプレイ変更器２４５がテーブルを更新しているページ２４０のポーション２６０は、識別票「１」を有するノードとして識別される。テーブル（すなわち、ノード「１」）は、新しい要素（すなわち、値「ガンマ」を有するを子供ノード）をテーブルに追加することによって更新される。
【００９６】
図１１（ａ）は、更新の前に伝送されたページ２４０を表わすページ記述モデルノードツリー３０３’’を示す。図５ａおよび５ｂの例に類似して、ノードツリー３０３’’は、三つの子供ノード「２」、「３」および「４」とともに親ノード「１」を含む。子供ノード「２」は、「アルファ」の値を有する。子供ノード「３」は、「ベータ」の値を有する。子供ノード「４」は、「デルタ」の値を有する。図１１（ａ）は、さらに、部分的ページ再発生器２５０がディスプレイ変更器２４５に伝送した修正リスト２８４’’を示す。
【００９７】
ディスプレイ変更器２４５は、図１０の例示的なプロセスに続く変化を組み込むための修正リスト２８４’’を使用する。ディスプレイ変更器２４５は、修正リスト２８４’’を検査し（ステップ５００）、「Ａｓｓｉｇｎ」コマンドを見出す。ディスプレイ変更器２４５は、さらに、「Ａｓｓｉｇｎ」コマンドの宛先ノード（すなわち、ノード「１」）の孫（すなわち、子ノード）に関連する「ＭｏｖｅＮｏｄｅ」コマンドがあることを判定する（ステップ５００）。図１１（ｂ）に示されるように、修正リスト２８４’’’は、再利用可能なノード６０３を格納バッファ２２５内にインプリシットにセーブする動作（ステップ５０５）を含む。テーブルのための「Ａｓｓｉｇｎ」コマンドがあるため、ディスプレイ変更器２４６は、ページ記述モデルノードツリー３０３’’のワーキングバージョン６００を作成し始めるためにそのノードの孫を取り除く。
【００９８】
図１１（ｃ）を参照すると、ディスプレイ変更器２４５は、「Ａｓｓｉｇｎ」コマンドに規定されたように出力を挿入する（ステップ５１５）。この例では、「Ａｓｓｉｇｎ」コマンドの出力は、修正リスト２８４’’には示されていないが、ページ記述モデルノードツリー３０３’’のワーキングバージョン６０５に示される。「Ａｓｓｉｇｎ」コマンドごとに、新しいノード「１」が識別タグ「５」、「６」、「７」および「８」を有する４つの孫ノードを含む。識別タグ「５」、「６」および「８」を有する派生ノードは、空である。識別タグ「７」を有する派生ノードは、値「ガンマ」を有する。
【００９９】
ディスプレイ変更器２４５は、「ＭｏｖｅＮｏｄｅ」コマンドのための修正リスト２８４’’を検査する（ステップ５２０）ことによって継続する。図１１（ｃ）に示されるように、三つの移動コマンドがある。各「ＭｏｖｅＮｏｄｅ」コマンドに対して、ディスプレイ変更器２４５は、ソースノード（すなわち、２、３、４）として識別されたノードを検索し（ステップ５３０）、値（すなわち、アルファ、ベータ、デルタ）を指定ノード（すなわち、５、６、８）に挿入する（ステップ５３５）。図１１（ｄ）は、更新されたページ２４０のページ記述モデルノードツリー３０３’’’を示し、ここで、クライアントノード２０５のディスプレイ２２０上に表示される（ステップ５６５）。
【０１００】
株価のテーブルがこの説明にわたって用いられているが、本発明は、任意の他の種類のコンテンツで同様に良く働く。例えば、図１２は、クライアントノード２０５でユーザに表示されている電子メールページ６０８の例のスクリーンショットである。ページ生成コード（図示せず）は、特定のユーザのための「インボックス」におけるメッセージのリスト６１０を表示し得る。各メッセージの送信者６１５に対して、題目６２０および日付６２５が、メッセージが読まれたかどうか（例えば、太字で表示される）についての表示（図示せず）とともに示される。このリスト６１０は、さらに、メッセージが選択された場合にフル画面（ｆｕｌｌ）６３０に表示されるようなリンクを含む。部分的なページ再生成器の実施形態を用いて、メッセージの表示されたリスト６１０は、多数の方法で更新される。
【０１０１】
−新しいメッセージが着いたとき、図１１において「ガンマ」が追加されるのと類似の方法（しかし、リスト６１０の端部に）で、メッセージがリスト６１０に添付される。
【０１０２】
−リスト６１０が、ソーティング基準ごとに子供ノードを再配置することによって容易に格納される。
【０１０３】
−メッセージが読まれた場合、リスト６１０内のそのメッセージの入力がこれを反映するように修正される。
【０１０４】
部分的なページ再生成器は、このようなメッセージリスト６１０を作成するために、構造内の株価の例を模倣する可能性がある。部分的なページ再生成器は、メッセージ数を判定し、各メッセージのためのページ部分（例えば、ｈｔｍｌ）を出力するループを実行する。
【０１０５】
このような電子メールアプリケーションは、より複雑なインターフェース、例えば、電子メールを「ツリー構造」６３５内に含む利用可能なリスト一覧（ｌｉｓｔｉｎｇ）フォルダーによって増大され得る。部分的なページ再生成器は、各「フォルダー」に対して一つのフラグメントを実行することによって、この構造６３５を作成し、閉じられたフォルダーを表示するか、または、開いたフォルダーを表示するかのいずれかを行い、そして、フォルダーのコンテンツを表示するために同じフラグメントを再帰的に呼び出す。生成された出力が、フォルダーが選択された（すなわち、開かれたまたは閉じられた）ときにサーバノード２１０を知らせる各フォルダーのための「オンクリック（ｏｎＣｌｉｃｋ）」イベントを含む場合、ページ６０８は、ユーザがそれを選択した後のフォルダーの新しい状態を示すように自動的に更新される。
【０１０６】
（均等物）
本発明は、精神または必須の特徴から逸脱することなく他の特定の形態において具体化され得る。したがって、上記の実施形態は、すべての観点で、本明細書において記載された本発明に制限するのではなく、例示であることが考慮されるできである。このため、本発明の範囲は、上記の説明によってではなく添付された特許請求の範囲によって示され、特許請求の範囲の意味および均等物の範囲内のすべての変更が、本発明に含まれることが意図される。
【０１０７】
（付表１）
ページへの更新を検索および表示し得るＨＴＭＬページにプレーヤーを追加する作用例である。この実証が、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ  ５．０とともに作用する。
【０１０８】
ここに示されるのは、オリジナルのページであり、クライアントプレーヤー（送受信機２３０およびディスプレイ変更器２４５）を用いて増大される。これは、灰色およびｕ１とラベル付けされて示される。ページは、さらに、すぐに更新を得てロードされる（これは、単純化である）ように修正される。これは、灰色およびｕ２でラベル付けされて示される。
【０１０９】
【数１】
2004519040.tif 000003
以下のコードは、「ｐｌａｙｅｒ．ｊｓ」のコンテンツであり、オリジナルのページに追加される。これは、非常に簡略化されたクライアントプレーヤ（送受信機２３０およびディスプレイ変更器２４５）であり、簡単な「割当て」動作のみを行い得る。このことの動作は、以下のようである。
【０１１０】
更新が要求された場合、更新を含むページの位置、または更新を含むページを生成するサーバが均一なリソースロケータ（ＵＲＬ）として供給される。これは、「ｇｅｔＵｐｄａｔｅｓ」機能に通される。この機能は、サーバへの通信チャネルとして用いられる隠れたサブページ（フレーム）を作成する。
【０１１１】
サーバがＵＲＬリクエストを受け取る場合、サーバは、ＨＴＭＬページ（例えば、所与の文字）として符号化された更新のセットを供給することによって応答する。ロードされた場合、更新のこのページは、順番に更新をオリジナルのページに付与する「ｄｏＵｐｄａｔｅ」法を呼び出す。
【０１１２】
【数２】
2004519040.tif 000004
以下は、例となる更新ページである。このページは、通常、サーバノード（２１０）によって動的に作成される。
【０１１３】
【数３】
2004519040.tif 000005
【図面の簡単な説明】
【図１】
図１は、従来技術で公知のクライアント／サーバネットワークの図である。
【図２ａ】
図２ａは、本発明の原理を具現化する例示的なクライアント／サーバネットワークの図である。
【図２ｂ】
図２ｂは、ページ生成コードのフラグメントと生成されたページポーションとの間の対応、および、ページ生成コードのフラグメントと格納デバイスに格納されたデータとの間の対応とを示す本発明の実施形態のブロック図である。
【図３ａ】
図３ａは、サーブレットページ生成コードのフラグメントのブロック図である。
【図３ｂ】
図３ｂは、本発明に従う、個々のフラグメントの実行を制御するために、さらなるコードによって強化されたサーブレットページ生成コードのフラグメントのブロック図である。
【図４ａ】
図４ａは、ＣＧＩページ生成コードのフラグメントのブロック図である。
【図４ｂ】
図４ｂは、本発明に従う、個々のフラグメントの実行を制御するさらなるコードによって強化されたＣＧＩページ生成コードのフラグメントのブロック図である。
【図４ｃ】
図４ｃは、二つのプロキシを用いるラッピングの方法のブロック図である。
【図５ａ】
図５ａは、本発明に従う、サーブレットページ生成コードの強化されたフラグメントの実行シーケンスのブロック図である。
【図５ｂ】
図５ｂは、本発明に従うページポーションを識別する識別タグを有する、生成されたページ、および、関連する修正リストに対するＨＴＭＬコードの例示的な出力である。
【図６】
図６は、本発明に従う、ページ記述モデル、および、ページ生成コードのフラグメントと生成されたページポーションとの間の対応のブロック図である。
【図７】
図７は、本発明に従う、フラグメント、データおよびページポーションの間の対応のマップに対する一般的なデータ構造の例のブロック図である。
【図８】
図８は、本発明に従う、フラグメント、データおよびページポーションの間の対応のマップの例のブロック図である。
【図９】
図９は、本発明に従う、データが変更するときの修正リストを生成する例のフロー図である。
【図１０】
図１０は、本発明に従う、修正リストを用いての組み込み更新の例のフロー図である。
【図１１】
図１１（ａ）〜（ｄ）は、本発明に従う、新しいページポーションを現在表示されているページに挿入するプロセスの例のブロック図である。
【図１２】
図１２は、本発明に従う、ｅメールページへの組み込み更新の例のスクリーンショットである。
【図１】
2004519040.tif 000006
【図２ａ】
2004519040.tif 000007
【図２ｂ】
2004519040.tif 000008
【図３ａ】
2004519040.tif 000009
【図３ｂ】
2004519040.tif 000010
【図４ａ】
2004519040.tif 000011
【図４ｂ】
2004519040.tif 000012
【図４ｃ】
2004519040.tif 000013
【図５ａ】
2004519040.tif 000014
【図５ｂ】
2004519040.tif 000015
【図６】
2004519040.tif 000016
【図７】
2004519040.tif 000017
【図８】
2004519040.tif 000018
【図９】
2004519040.tif 000019
【図１０】
2004519040.tif 000020
【図１１】
2004519040.tif 000021
【国際公開パンフレット】
2004519040.tif 000022
2004519040.tif 000023
2004519040.tif 000024
2004519040.tif 000025
2004519040.tif 000026
2004519040.tif 000027
2004519040.tif 000028
2004519040.tif 000029
2004519040.tif 000030
2004519040.tif 000031
2004519040.tif 000032
2004519040.tif 000033
2004519040.tif 000034
2004519040.tif 000035
2004519040.tif 000036
2004519040.tif 000037
2004519040.tif 000038
2004519040.tif 000039
2004519040.tif 000040
2004519040.tif 000041
2004519040.tif 000042
2004519040.tif 000043
2004519040.tif 000044
2004519040.tif 000045
2004519040.tif 000046
2004519040.tif 000047
2004519040.tif 000048
2004519040.tif 000049
2004519040.tif 000050
2004519040.tif 000051
2004519040.tif 000052
2004519040.tif 000053
2004519040.tif 000054
2004519040.tif 000055
2004519040.tif 000056
2004519040.tif 000057
2004519040.tif 000058
2004519040.tif 000059
2004519040.tif 000060
2004519040.tif 000061
2004519040.tif 000062
2004519040.tif 000063
2004519040.tif 000064
2004519040.tif 000065
2004519040.tif 000066
2004519040.tif 000067
2004519040.tif 000068
2004519040.tif 000069
2004519040.tif 000070
2004519040.tif 000071
2004519040.tif 000072
2004519040.tif 000073
2004519040.tif 000074
2004519040.tif 000075
2004519040.tif 000076
2004519040.tif 000077
2004519040.tif 000078
2004519040.tif 000079
2004519040.tif 000080
2004519040.tif 000081
2004519040.tif 000082
2004519040.tif 000083
2004519040.tif 000084
2004519040.tif 000085
2004519040.tif 000086
2004519040.tif 000087
2004519040.tif 000088
2004519040.tif 000089
2004519040.tif 000090
2004519040.tif 000091
2004519040.tif 000092
2004519040.tif 000093
2004519040.tif 000094
2004519040.tif 000095
2004519040.tif 000096
2004519040.tif 000097
2004519040.tif 000098
2004519040.tif 000099
2004519040.tif 000100
2004519040.tif 000101
2004519040.tif 000102
2004519040.tif 000103
2004519040.tif 000104
2004519040.tif 000105
2004519040.tif 000106
2004519040.tif 000107
2004519040.tif 000108
2004519040.tif 000109