(57)【要約】【課題】インターネット内で動的ウェブ・ページを送り届けるための方法およびシステムを提供すること。【解決手段】データベースに対する静的クエリを埋め込んだコンパイル済プログラムをサーバ・コンピュータに格納する。対応する動的ウェブ・ページのレイアウトを定義するＨＴＭＬタグと、クエリ結果の各レコードを個々の動的ウェブ・ページのどこにどのように収めるかを指示するデータ・タグとを含むビュー・テンプレートも、サーバ・コンピュータに格納する。動的ウェブ・ページを配布しなければならない場合、対応するプログラムを実行し、クエリ結果を共用メモリ構造に格納する。データ・タグを共用メモリ構造内の関連するレコードで置き換えることによって、クエリ結果を対応するビュー・テンプレートに組み込む。その後、結果のウェブ・ページをネットワークのクライアント・コンピュータに配布する。【選択図】図２
2005502966.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内で動的情報を送り届ける方法であって、前記ネットワークのサーバ・コンピュータの制御下で、
各々が１ブロックの情報用の複数のビュー・テンプレートおよび各々が１ブロックの情報を取り出すための少なくとも１つのプログラムを含む複数の組を保存するステップと、
選択された１ブロックの情報に対応するビュー・テンプレートを取得するステップと、
前記選択された１ブロックの情報を、少なくとも１つのプログラムを含む対応する１組のプログラムを実行することによって、取り出すステップと、
前記選択された１ブロックの情報を前記対応するビュー・テンプレートに組み込むことによって、ビュー構造を生成するステップと、
前記ビュー構造を前記ネットワークの少なくとも１つのクライアント・コンピュータに送信して、前記ビュー構造が前記少なくとも１つのクライアント・コンピュータに表示されるようにするステップとを含む方法。
【請求項２】
各ビュー・テンプレートが、対応する少なくとも１つのプログラムの少なくとも１つの識別情報を含み、前記選択された１ブロックの情報を取り出す前記ステップが、各識別情報を前記対応するビュー・テンプレートから抽出するステップと、前記識別情報に関連する前記プログラムを実行するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
少なくとも１つのプログラムを含む前記組が、前記サーバ・コンピュータに格納されたデータベースから対応する前記１ブロックの情報を抽出するための少なくとも１つのクエリを含み、前記選択された１ブロックの情報を取り出す前記ステップが、対応する前記少なくとも１つのクエリを実行するステップと、前記少なくとも１つのクエリの実行結果であるレコードを前記サーバ・コンピュータの共用メモリ構造に格納するステップとをさらに含む、請求項１に記載の方法。
【請求項４】
各ビュー・テンプレートが、前記ビュー・テンプレートに対応する前記レコードを挿入するための複数の命令を含み、前記ビュー構造を生成する前記ステップが、前記対応するビュー・テンプレートの命令を実行するステップをさらに含む、請求項３に記載の方法。
【請求項５】
前記ビュー・テンプレートと前記プログラムをコンパイルするステップをさらに含む、請求項４に記載の方法。
【請求項６】
更新データおよび前記更新データに関連する前記ビュー・テンプレートの指示を受信するステップと、
前記更新データに基づいて前記サーバ・コンピュータに保存された情報を更新するステップと、
前記更新データに関連する前記ビュー・テンプレートに対応する前記ビュー構造を生成するステップと、
前記ビュー構造を前記少なくとも１つのクライアント・コンピュータに送信するステップとをさらに含む、請求項１に記載の方法。
【請求項７】
前記ビュー構造が、ウェブ・ページを定義する、請求項１に記載の方法。
【請求項８】
ネットワークのサーバ・コンピュータの作業メモリに直接ロード可能なコンピュータ・プログラム・アプリケーションであって、前記アプリケーションを前記サーバ・コンピュータ上で実行すると、前記ネットワーク内で動的情報を送り届ける方法が実行され、前記サーバ・コンピュータが、各々が１ブロックの情報用の複数のビュー・テンプレートおよび各々が１ブロックの情報を取り出すための少なくとも１つのプログラムを含む複数の組を保存し、前記方法が、
選択された１ブロックの情報に対応する前記ビュー・テンプレートを取得するステップと、
前記選択された１ブロックの情報を、少なくとも１つのプログラムを含む対応する１組のプログラムを実行することによって、取り出すステップと、
前記選択された１ブロックの情報を前記対応するビュー・テンプレートに組み込むことによって、ビュー構造を生成するステップと、
前記ビュー構造を前記ネットワークの少なくとも１つのクライアント・コンピュータに送信して、前記ビュー構造が前記少なくとも１つのクライアント・コンピュータに表示されるようにするステップとを含むコンピュータ・プログラム・アプリケーション。
【請求項９】
請求項８に記載のプログラム・アプリケーションを保存するコンピュータ可読媒体を含むプログラム製品。
【請求項１０】
ネットワーク内で動的情報を送り届けるためのシステムであって、各々が１ブロックの情報用の複数のビュー・テンプレートおよび各々が１ブロックの情報を取り出すための少なくとも１つのプログラムを含む複数の組を格納する手段と、選択された１ブロックの情報に対応する前記ビュー・テンプレートを取得する手段と、前記選択された１ブロックの情報を少なくとも１つのプログラムを含む対応する組のプログラムを実行することによって取り出す手段と、前記選択された１ブロックの情報を前記対応するビュー・テンプレートに組み込むことによってビュー構造を生成する手段と、前記ビュー構造を前記ネットワークの少なくとも１つのクライアント・コンピュータに送信して、前記ビュー構造が前記少なくとも１つのクライアント・コンピュータに表示されるようにする手段とを有するサーバ・コンピュータを含むシステム。
【請求項１１】
ネットワーク内で動的情報を送り届けるためのシステムであって、各々が１ブロックの情報用の複数のビュー・テンプレートおよび各々が１ブロックの情報を取り出すための少なくとも１つのプログラムを含む複数の組を格納するためのメモリと、選択された１ブロックの情報に対応する前記ビュー・テンプレートを取得するためのソフトウェア・モジュールと、前記選択された１ブロックの情報を少なくとも１つのプログラムを含む対応する１組のプログラムを実行することによって取り出すためのソフトウェア・モジュールと、前記選択された１ブロックの情報を前記対応するビュー・テンプレートに組み込むことによってビュー構造を生成するためのソフトウェア・モジュールと、前記ビュー構造を前記ネットワークの少なくとも１つのクライアント・コンピュータに送信して、前記ビュー構造が前記少なくとも１つのクライアント・コンピュータに表示されるようにするためのソフトウェア・モジュールとを有するサーバ・コンピュータを含むシステム。
【請求項１２】
ネットワーク内で動的情報を送り届けるためのシステムであって、各々が１ブロックの情報用の複数のビュー・テンプレートおよび各々が１ブロックの情報を取り出すための少なくとも１つのプログラムを含む複数の組を格納するためのメモリと、選択された１ブロックの情報に対応する前記ビュー・テンプレートを取得するため、前記選択された１ブロックの情報を少なくとも１つのプログラムを含む対応する１組のプログラムを実行することによって取り出すため、および前記選択された１ブロックの情報を前記対応するビュー・テンプレートに組み込むことによって動的ウェブ・ページを生成するためのフォーマッティング・モジュールと、前記動的ウェブ・ページを前記ネットワークの少なくとも１つのクライアント・コンピュータに送信して、前記動的ウェブ・ページが前記少なくとも１つのクライアント・コンピュータに表示されるようにするためのウェブ・サーバ・モジュールとを有するサーバ・コンピュータを含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク内で動的情報を送り届けるための方法およびシステムに関する。
【背景技術】
【０００２】
コンピュータのネットワークが、分散データ処理システムを実施するのに広く利用されている。具体的には、過去数年の間に、インターネットが広範囲に普及した。インターネットは、膨大な数のコンピュータを接続する、非集中型の構造をもったネットワークのネットワークである。インターネットは、クライアント／サーバ方式のアーキテクチャをもち、ネットワークのサーバ・コンピュータが共用リソースを管理し、クライアント・コンピュータはネットワークを介して共用リソースにアクセスする。
【０００３】
インターネットでは、各クライアント・コンピュータは、サーバ・コンピュータと動的に対話を行って、サーバ・コンピュータから提供されるたび内容が変わる情報をダウンロードし、表示することもできる。この機能は一般に、サーバ・コンピュータのデータベース上でクエリを実行した結果であるレポートを生成し、配布するのに利用される。
【０００４】
インターネット内で動的情報を送り届けるための、本技術分野で周知のソリューションは、レポートを対応するプログラム、例えば、ＡｃｔｉｖｅＸスクリプティング（ＡＳＰ）仕様に準拠するプログラムによって定義することである。サーバ・コンピュータは、動的情報を求めるリクエストをネットワークのクライアント・コンピュータから受信すると、対応するＡＳＰプログラムの実行を開始する。ＡＳＰプログラムは、サーバ・コンピュータのデータベース上で動的クエリを実行することによってレポートを生成する。
【０００５】
上記のソリューションの難点は、レポートを生成するプログラムが非常に複雑なこと、さらに、これらのプログラムが実行する動的クエリが比較的低速なことである。その結果、サーバ・コンピュータのパフォーマンスに深刻な影響がおよぶ。
【０００６】
上記の難点は、複雑なレポートを非常な高速で配布する必要のある、高可用性のサーバ・コンピュータで特に深刻である。この場合、サーバ・コンピュータのスループットは、必要な配布速度を満たすには不十分となる場合がある。本技術分野で周知のソリューションは、結果として、ネットワーク全体の動作を遅くする。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、ネットワークのパフォーマンスを向上させることである。
【０００８】
本発明の別の目的は、サーバ・コンピュータのスループットを高めることである。
【０００９】
本発明のさらに別の目的は、サーバ・コンピュータが動的情報を高速で配布できるようにすることである。
【課題を解決するための手段】
【００１０】
上記およびその他の関連する目的の達成は、ネットワークのサーバ・コンピュータの制御下で、各々が１ブロックの情報用の複数のビュー・テンプレートおよび各々が１ブロックの情報を取り出すための少なくとも１つのプログラムを含む複数の組を保存するステップと、選択された１ブロックの情報に対応するビュー・テンプレートを取得するステップと、選択された１ブロックの情報を少なくとも１つのプログラムを含む対応する１組のプログラムを実行することによって取り出すステップと、選択された１ブロックの情報を対応するビュー・テンプレートに組み込むことによってビュー構造を生成するステップと、ビュー構造をネットワークの少なくとも１つのクライアント・コンピュータに送信して、ビュー構造が少なくとも１つのクライアント・コンピュータに表示されるようにするステップとを含む、ネットワーク内で動的情報を送り届ける方法によって実現される。
【００１１】
本発明はまた、ネットワークのサーバ・コンピュータの作業メモリに直接ロード可能なコンピュータ・プログラム・アプリケーションであって、そのアプリケーションをサーバ・コンピュータ上で実行すると、ネットワーク内で動的情報を送り届ける方法が実行され、サーバ・コンピュータが、各々が１ブロックの情報用の複数のビュー・テンプレートおよび各々が１ブロックの情報を取り出すための少なくとも１つのプログラムを含む複数の組を保存し、前記方法が、選択された１ブロックの情報に対応するビュー・テンプレートを取得するステップと、選択された１ブロックの情報を少なくとも１つのプログラムを含む対応する１組のプログラムを実行することによって取り出すステップと、選択された１ブロックの情報を対応するビュー・テンプレートに組み込むことによってビュー構造を生成するステップと、ビュー構造をネットワークの少なくとも１つのクライアント・コンピュータに送信して、ビュー構造が少なくとも１つのクライアント・コンピュータに表示されるようにするステップとを含む、コンピュータ・プログラム・アプリケーションを提供する。
【００１２】
さらに、本発明は、ネットワーク内で動的情報を送り届けるための対応するシステムを提供する。
【００１３】
本発明の特徴であると考えられる新規な特徴を、添付の特許請求の範囲に記載する。しかし、本発明自体、ならびに本発明の上記およびその他の関連する目的および利点は、以下の詳細な説明を参照し、添付の図面と併せ読むことによって、最もよく理解されるであろう。
【発明を実施するための最良の形態】
【００１４】
図１を個別に参照すると、データ処理システム１００が示されている。システム１００は、具体的にはインターネットとすることができるネットワーク１０５を含む。ネットワーク１０５は、遠距離通信構造を介して互いに接続された膨大な数のコンピュータによって形成される。クライアント・コンピュータ１１０ｃは、インターネット・サービス・プロバイダ、すなわちＩＳＰ（図示せず）を介して、インターネット１０５にアクセスする。クライアント・コンピュータ１１０ｃのユーザは、インターネット１０５にアクセスすることで、情報を交換し、電子メールを送受信し、文書を見ることができるようになる。具体的には、サーバ・コンピュータ１１０ｓのシステム（ワールド・ワイド・ウェブ）が、ウェブ・ページとして知られるハイパーテキスト文書を管理する。各ウェブ・ページは、他の文書や、グラフィックス、音声、映像ファイルへのリンクをサポートする言語であるＨＴＭＬで記述される。ウェブは、メッセージをどのようにフォーマットし送信するか、また様々なコマンドに応答してクライアント・コンピュータ１１０ｃおよびサーバ・コンピュータ１１０ｓがどのように動作すべきかを定義したＨＴＴＰプロトコルを使用する。インターネット１０５の汎用的なサーバ・コンピュータ１１０ｓは、ローカル・エリア・ネットワーク（ＬＡＮ）１１２を介して、１つまたは複数のデータ収集コンピュータ（data-collecting computer）１１０ｄに結合される。
【００１５】
例えばミニ・コンピュータからなる各サーバ・コンピュータ１１０ｓは、通信バス１１５に並列に接続される複数のユニットによって形成される。詳細に述べると、複数のマイクロプロセッサ（ｍＰ）１２０がサーバ・コンピュータ１１０ｓの動作を制御する。一般にＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）である作業メモリ１２５をマイクロプロセッサ１２０が直接使用し、読取り専用メモリ（ＲＯＭ）１３０がサーバ・コンピュータ１１０ｓのブートストラップ用の基本プログラムを格納する。複数の周辺装置がさらに、（それぞれのインタフェースによって）バス１１５に接続される。具体的には、磁気ハードディスク１３５とすることができる大規模メモリ、ＣＤ−ＲＯＭ１４５読取り用ドライバ１４０である。さらに、サーバ・コンピュータ１１０ｓは、（例えば、キーボードやマウスからなる）入力装置（ＩＮ）１５０、および（例えば、モニタやプリンタからなる）出力装置（ＯＵＴ）１５５を含む。サーバ・コンピュータ１１０ｓをインターネット１０５に結合するのに、モデム１６０を使用し、一方、サーバ・コンピュータ１１０ｓをＬＡＮ１１２に接続するのに、ネットワーク・インタフェース・カード（ＮＩＣ）１６５を使用する。
【００１６】
（イントラネットなど）異なるネットワークを想定する場合、サーバ・コンピュータが異なる構造をもち、また（ウェブ・カメラなど）異なる装置を含む場合、サーバ・コンピュータがデータ収集コンピュータに（例えば、ポイント・ツー・ポイント接続など）異なる方式で結合される場合、サーバ・コンピュータとデータ収集コンピュータが単一システムの別個の論理パーティションからなる場合などにも同様の議論があてはまる。
【００１７】
次に図２を考察すると、動作中のサーバ・コンピュータの作業メモリ１２５の部分的な内容が示されている。情報（プログラムおよびデータ）は、通常ハードディスクに保存され、プログラムを実行するときに作業メモリに（少なくとも部分的に）ロードされて、オペレーティング・システムおよびその他のアプリケーション・プログラム（図示せず）と一緒に置かれる。プログラムは最初にＣＤ−ＲＯＭからハードディスクにインストールされる。
【００１８】
作業メモリ１２５は、各クライアント・コンピュータが発行したコマンドを実行し、対応するウェブ・ページを送り返す、ウェブ・サーバ・モジュール（web server module）２０５を含む。ウェブ・サーバ・モジュール２０５は、静的ウェブ・ページのリポジトリ２１０にアクセスする。各静的ウェブ・ページは、ウェブ・サーバ・モジュール２０５がリクエストに応じて取り出すＨＴＭＬ文書で構成される。ウェブ・サーバ・モジュール（webserver module）２０５は、動的ウェブ・ページを生成するフォーマッティング・モジュール（formatting module）２１０と直接インタフェースをとる。動的ウェブ・ページは、ウェブ・サーバ２０５用のキャッシュ・メモリとして動作する出力バッファ２１５に格納される。
【００１９】
プログラム・エディタ２１５を使用して、（例えば、Ｃ言語で記述された）ソース・コードのプログラム２２０のリポジトリに対する入力、更新、表示、およびその他の管理機能の実行を行う。各ソース・プログラム２２０には、サーバ・コンピュータのデータベース２２５上で実行するように設計された（例えば、ＳＱＬ言語で記述された）１つまたは複数のクエリを埋め込む。ソース・プログラム２２０は、コンパイラ２３０に入力され、コンパイラ２３０は、データベース２２５へのアクセス・プランにリンクされ、結合される、対応するオブジェクト・コードのプログラム２３５を生成する。コンパイル済プログラム２３５に埋め込んだクエリの結果は、一連のレコード（またはフィールド）によって形成される、フォーマッティング・モジュール２１０がアクセスする共用メモリ構造２３７に格納される情報ブロックから成る。
【００２０】
テンプレート・エディタ２４０を同様に使用して、クエリの結果用である（ソース・コード）ビュー・テンプレート２４５の別のリポジトリを管理する。具体的には、各ソース・テンプレート２４５は、個々のクエリ結果を含む動的ウェブ・ページのレイアウトを定義する一連のマークアップ・タグを用いたＨＴＭＬ文書を含む。ソース・テンプレート２４５はさらに、クエリ結果の各レコードを動的ウェブ・ページのどこにどのように収めるかを指示する、非ＨＴＭＬタグ（データ・タグ）を含む。さらに、１つまたは複数の特別な非ＨＴＭＬタグ（プログラム・タグ）を使用して、動的ウェブ・ページに関連するクエリを埋め込んだコンパイル済プログラム２３５の組の名前を指定する。したがって、各ソース・テンプレート２４５は、クエリ結果をクライアント・コンピュータに表示するためのパターン・モデルを定義するフラット・テキスト・ファイルである。
【００２１】
ソース・テンプレート２４５は、別のコンパイラ２５０に入力される。コンパイラ２５０は、非ＨＴＭＬタグがオブジェクト・コードの命令に変換された、対応するビュー・テンプレート２５５を生成する。各コンパイル済テンプレート２５５は、フォーマッティング・モジュール２１０によって直接実行可能なプログラムである。コンパイル済テンプレート２５５の命令によって、データ・タグが、共用メモリ構造２３７に格納された対応するレコードで置き換えられる。この結果、共用メモリ構造２３７に格納されたクエリの結果を、ソース・テンプレート２５５のマークアップ・タグによって定義されたレイアウトに組み込むことによって得られる、対応する動的ウェブ・ページが生成される。動的ウェブ・ページの作成は、２つの異なる、連続したステップに分けられる。第１のステップで、動的情報がデータベースから取り出され、共用メモリ構造に格納される。第２のステップで、その情報が対応するビュー・テンプレートに挿入される。
【００２２】
更新モジュール（updating module）２６０が、データベース２２５に挿入する新しいデータを、データ収集コンピュータから受信する。モジュール２６０は、データベース２２５の更新をしかるべく制御する。更新モジュール２６０はさらに、更新データが影響をおよぼす動的ウェブ・ページのリストを提供し、そのリストはフォーマッティング・モジュール２１０に送信される。
【００２３】
例えば、サーバ・コンピュータは、オリンピック競技会などのスポーツ・イベントについての情報を記録する、中央データベース２２５を備えることができる。具体的には、データベース２２５は、競技者、主催者、競技スケジュール、出場者リスト、記録、メダル、および終了した競技の結果に関するデータを含むことができる。データ収集コンピュータは、すべての関連する得点、タイム、および統計情報を、競技期間中、各会場で収集する。競技者またはチームの過去の戦績および記録に関する情報を生成するために計算を行い、生成した情報をサーバ・コンピュータに送信する。オリンピック競技会イントラネットやニュース・プレス・エージェンシ（news press agencies）など他のシステムで利用可能な統合情報を作成するために、データベース２２５上でクエリを実行する。
【００２４】
同様の考察が、プログラムおよびデータを異なる方式で構成する場合、異なるモジュールまたは機能が提供される場合、データベース、プログラム、またはビュー・テンプレートあるいはそれらの組合せを別の場所に格納する場合、データベースが異なる情報を含む場合、プログラムおよびクエリが別の言語で記述される場合、各ビュー・テンプレートが異なる数のクエリを用いる異なる数のプログラムから成る組に関連づけられる場合、データ・タグの代りに同等の命令を用いる場合、関連するコンパイル済プログラムを指示するための異なる識別情報をビュー・テンプレートに挿入する場合などにも適用される。
【００２５】
図３を参照すると、サーバ・コンピュータの動作は、方法３００の実行を含んでいる。簡略化のため、方法３００を１つのフローチャートにより説明するが、方法３００は一般に、異なる動作を並列に実行する複数の並行プロセスを含むことに留意されたい。方法３００は、ブロック３０５から開始し、テスト・ブロック３１０に進む。方法は、発生したイベントに対応する動作を実施する。具体的には、管理機能が起動された場合は、ブロック３１５〜ブロック３２５が実行され、別のクライアント・コンピュータに配備するため更新データをデータ収集コンピュータから受信した場合は、ブロック３３０〜ブロック３８０が実行され、クライアント・コンピュータからリクエストを受信した場合は、ブロック３８５〜ブロック３９３が実行され、そのどれでもなく、サーバ・コンピュータがシャットダウンされた場合は、方法は最終ブロック３９５で終了する。
【００２６】
次にブロック３１５（管理機能）を考察すると、ウェブ管理者は、データベースに対するクエリを含むソース・プログラムを挿入、更新、または削除することができる。方法はブロック３２０に進み、ウェブ管理者は同様に、ソース・テンプレートを編集することができる。方法はブロック３２５に進み、ウェブ管理者は、コンパイルするソース・プログラムまたはソース・テンプレートあるいはその両方を選択することができる。次に方法はブロック３１０に戻り、新しいイベントを待機する。
【００２７】
ブロック３３０（配備機能）を参照すると、データ収集コンピュータから更新データを受信する。データベースがブロック３３５でしかるべく更新される。次に方法はブロック３４０に進み、（同様にデータ収集コンピュータから受信した）更新データが影響をおよぼす動的ウェブ・ページのリストを、フォーマッティング・モジュールに送信する。
【００２８】
方法はブロック３４５に進み、フォーマッティング・モジュールが、リスト中で識別される第１の動的ウェブ・ページに対応するコンパイル済テンプレートを取得する。方法はブロック３５０に進み、データベース上で実行するクエリを埋め込んだ第１の関連するコンパイル済プログラムの名前を、コンパイル済テンプレートから抽出する。次にブロック３５５で、コンパイル済プログラムを実行する。方法はブロック３６０に進み、クエリの結果をサーバ・コンピュータの共用メモリ構造に格納する。方法はブロック３６２で、最後のコンパイル済プログラムが処理されたかどうかチェックする。処理されていない場合、方法はブロック３５０に戻り、（名前がコンパイル済テンプレートから抽出される）次のコンパイル済プログラムに対して上記の動作を繰り返す。処理された場合、ブロック３６５で、共用メモリ構造に格納した関連するレコードでデータ・タグを置き換える命令である、コンパイル済テンプレートの命令を実行することによって、対応するウェブ・ページを作成する。方法はブロック３７０に進み、作成した動的ウェブ・ページを、ウェブ・サーバ・モジュール用のキャッシュ・メモリに挿入する。次にブロック３７５で、ウェブ・ページを、（例えば、関連するイントラネットのすべてのクライアント・コンピュータなど）事前設定された数のクライアント・コンピュータに配布する。方法はブロック３８０で、リスト中の最後の動的ウェブ・ページが処理されたかどうかチェックする。処理されていない場合、方法はブロック３４５に戻り、次の動的ウェブ・ページに関連するビュー・テンプレートに対して上記の動作を繰り返す。処理された場合、方法はブロック３１０に戻り、新しいイベントを待機する。
【００２９】
次にブロック３８５（クライアント・リクエスト機能）を考察すると、動的ウェブ・ページを求めるリクエストが、ネットワークのクライアント・コンピュータからサーバ・コンピュータに発行される。ウェブ・サーバはブロック３９０で、その動的ウェブ・ページがキャッシュ・メモリ内で利用可能な状態にあるかどうか（すなわち、無効フラグが立っていないキャッシュ・メモリのエントリ内に動的ウェブ・ページが格納されているかどうか）確認する。利用可能状態にある場合、ブロック３９３で、動的ウェブ・ページをクライアント・コンピュータに直接送信し、方法はブロック３１０に戻り、新しいイベントを待機する。利用可能状態にない場合、方法はブロック３４５に進み、上で説明したようにして動的ウェブ・ページを作成し、送信する。
【００３０】
例えば、エラー・ルーチンや統計機能をもった同等な方法を実行する場合、さらに別の機能を提供する場合などにも同様な議論があてはまる。
【００３１】
より一般には、本発明は、ネットワーク内で動的情報を送り届ける方法を提供する。この方法は、ネットワークのサーバ・コンピュータの制御下で実施される一連のステップを含む。最初に、（各々が１ブロックの情報用の）複数のビュー・テンプレート、および（各々が１ブロックの情報を取り出すための）１つまたは複数のプログラムを含む複数の組を保存する。サーバ・コンピュータは、選択された１ブロックの情報に対応するビュー・テンプレートを取得し、また対応する１組のプログラムを実行することによって、選択された１ブロックの情報を取り出す。サーバ・コンピュータは、選択された１ブロックの情報を対応するビュー・テンプレートに組み込むことによって、ビュー構造を生成する。次に、ビュー構造をクライアント・コンピュータに表示させるために、ビュー構造をネットワークの１つまたは複数のクライアント・コンピュータに送信する。
【００３２】
考案されたソリューションによると、ネットワーク内で動的情報を配布するためにサーバ・コンピュータ上で実行するプロセスが簡略になる。さらに、対応するプログラムを特定のタスク用に最適化できるので、動的情報の取り出しが非常に高速になる。このことによって、サーバ・コンピュータのスループットが、ひいては、ネットワークのパフォーマンスが全体として大きく向上する。
【００３３】
本発明が提案するソリューションは、高可用性のサーバ・コンピュータにとって特に有利であり、複雑なレポートを非常な高速で配布できるようになる。
【００３４】
上で説明した本発明の好ましい実施形態は、さらなる利点を提供する。例えば、各ビュー・テンプレートは、対応するプログラムの１組の１つまたは複数の識別情報を含む。このようにして、動的情報を取り出すプログラムを、非常に簡単に、対応するビュー・テンプレートに関連付けることができる。
【００３５】
好ましくは、各プログラムにデータベース上で実行する１つまたは複数のクエリを埋め込み、さらに、クエリの結果をサーバ・コンピュータの共用メモリ構造に格納する。
【００３６】
提案された特徴により、（データベースから取り出した）動的情報をフォーマッティング・モジュールに供給して、それを対応するビュー・テンプレートに組み込むプロセスが非常に効率的なものになる。
【００３７】
しかし、本発明のソリューションでは、プログラムの各組を（例えば、特殊なテーブルを用いるなど）異なる方式で対応するビュー・テンプレートに関連付ける実施、またはクエリ結果を別の場所に格納する実施も可能である。
【００３８】
本発明の具体的な実施形態では、各ビュー・テンプレートは、クエリ結果である対応するレコードをそのビュー・テンプレートに挿入するための命令を含む。
【００３９】
この特徴によって、本発明の方法は、非常に多目的に利用できるようになる。さらに、動的情報を対応するビュー・テンプレートに組み込むには、ビュー・テンプレートに埋め込んだ命令を実行しさえすればよい。
【００４０】
有利には、ビュー・テンプレートおよびプログラムはコンパイルされる。
【００４１】
このソリューションは、動的情報を取り出し、対応するビュー構造を作成するプロセスを高速化する。その結果、サーバ・コンピュータのパフォーマンスはさらに向上する。
【００４２】
あるいは、動的情報は、異なる方式で対応するビュー・テンプレートに組み込まれ、またはビュー・テンプレートまたはプログラムあるいはその両方が、事前コンパイルされない。
【００４３】
さらに、動的情報を配布するプロセスは、サーバ・コンピュータに格納された情報に対する更新データ、および新しいデータが影響をおよぼすビュー・テンプレートの指示を受信することによって始動される。こうすることで、最新かつ統合された情報を、非常な高速で配備することができる。
【００４４】
好ましくは、クエリ結果を対応するビュー・テンプレートに組み込むことによって得られるビュー構造が、ウェブ・ページを定義する。
【００４５】
しかし、本発明によるソリューションは、ネットワークのクライアント・コンピュータが動的情報を直接リクエストする場合に利用しても、またはネットワークがクライアント・コンピュータに表示する異なる構造を使用する場合に利用しても適している。
【００４６】
有利には、本発明によるソリューションは、ＣＤ−ＲＯＭで提供できるコンピュータ・プログラムで実施される。
【００４７】
あるいは、プログラムを、フロッピ・ディスクで配布、ハードディスクにプレロード、またはその他のコンピュータ可読媒体に格納することができ、インターネットを介してサーバ・コンピュータに送信することができ、放送することができ、またはより一般にサーバ・コンピュータの作業メモリにロード可能なその他の形式で提供される。しかし、本発明による方法は、例えば、半導体材料のチップに統合されたハードウェア構造によって実施することも可能である。
【００４８】
もちろん、当業者であれば、本発明について教示された後、局所的かつ特殊な要件を満足するために、上で説明したソリューションに様々な修正および変更を施すことができるが、それらのすべては、添付の特許請求の範囲によって規定される本発明の保護の範囲内に含まれる。
【図面の簡単な説明】
【００４９】
【図１】本発明の方法を利用することができるデータ処理システムの概略図である。
【図２】システムのサーバ・コンピュータの作業メモリの部分的内容を示す図である。
【図３】動的情報を送り届けるのに使用する方法のロジックを説明するフローチャートである。
【図１】
2005502966.tif 000003
【図２】
2005502966.tif 000004
【図３】
2005502966.tif 000005
【国際公開パンフレット】
2005502966.tif 000006
2005502966.tif 000007
2005502966.tif 000008
2005502966.tif 000009
2005502966.tif 000010
2005502966.tif 000011
2005502966.tif 000012
2005502966.tif 000013
2005502966.tif 000014
2005502966.tif 000015
2005502966.tif 000016
2005502966.tif 000017
2005502966.tif 000018
2005502966.tif 000019
2005502966.tif 000020
2005502966.tif 000021
2005502966.tif 000022
2005502966.tif 000023
2005502966.tif 000024
2005502966.tif 000025
2005502966.tif 000026
2005502966.tif 000027
2005502966.tif 000028
2005502966.tif 000029
【国際公開パンフレット（コレクトバージョン）】
2005502966.tif 000030
2005502966.tif 000031
【国際調査報告】
2005502966.tif 000032
2005502966.tif 000033
2005502966.tif 000034