(57)【特許請求の範囲】
【請求項１】
ダイナミックウエブページを生成するようにコンピュータで実行される方法であって、
クライアントからネットワークを介してコンピュータにおいてウエブページの要求を受信する段階を具備し、前記ウエブページは、当該ウエブページの１つまたは複数のコンポーネントを定めるウエブページテンプレートと関連付けられ、各コンポーネントは、前記ウエブページの異なる領域を参照し、
前記方法は、
前記ウエブページのウエブページテンプレート及びページコンポーネントタグが前記コンピュータ内のローカルキャッシュメモリにあるかどうかを確認する段階を具備し、前記ウエブページテンプレートによって定められる各ページコンポーネントは、１つまたは複数の前記ページコンポーネントタグと関連付けられ、コンポーネントと関連付けられる前記ページコンポーネントタグは、前記コンポーネント内の情報をどこで取得するべきか、前記コンポーネントの期限情報、及びバイナリラージオブジェクト（ｂｌｏｂ）情報を識別し、ここで、パラメータがサーバーから前記コンポーネントへ通過され、前記パラメータは前記サーバーだけに知られ、
前記確認に対する応答として、ウエブページテンプレートおよびページコンポーネントタグがローカルキャッシュメモリにない場合、ネットワークを介して前記サーバーからローカルキャッシュメモリにウエブページのウエブページテンプレート及びページコンポーネントタグをダウンロードする段階と、
前記ローカルキャッシュメモリにあるウエブページテンプレート及びページコンポーネントタグからウエブページを組み立てる段階と、
クライアントに前記ウエブページを提供する段階と
を具備してなることを特徴とするコンピュータで実行される方法。
【請求項２】
前記コンピュータは、セッションを管理するために、クライアントとローカルキャッシュメモリとの間を通過しクライアントセッション識別子（ＩＤ）を含む、クッキーを管理する手段を具備することを特徴とする請求項１記載のコンピュータで実行される方法。
【請求項３】
コンピュータに実行させる命令を具備したコンピュータ読み取り可能な媒体に格納するコンピュータプログラムであって、前記命令は、
クライアントからネットワークを介してコンピュータにおいてウエブページの要求を受信する段階を前記コンピュータに実行させ、前記ウエブページは、当該ウエブページの１つまたは複数のコンポーネントを定めるウエブページテンプレートと関連付けられ、各コンポーネントは、前記ウエブページの異なる領域を参照し、
前記命令は、
前記ウエブページのウエブページテンプレート及びページコンポーネントタグが前記コンピュータ内のローカルキャッシュメモリにあるかどうかを確認する段階をコンピュータに実行させ、前記ウエブページテンプレートによって定められる各ページコンポーネントは、１つまたは複数の前記ページコンポーネントタグと関連付けられ、コンポーネントと関連付けられる前記ページコンポーネントタグは、前記コンポーネント内の情報をどこで取得するべきか、前記コンポーネントの期限情報、及びバイナリラージオブジェクト（ｂｌｏｂ）情報を識別し、ここで、パラメータがサーバーから前記コンポーネントへ通過され、前記パラメータは前記サーバーだけに知られ、
前記命令は、
ウエブページテンプレートおよびページコンポーネントタグがローカルキャッシュメモリにない場合、ネットワークを介してサーバーからローカルキャッシュメモリにウエブページのウエブページテンプレート及びページコンポーネントタグをダウンロードする段階と、
前記ローカルキャッシュメモリにあるページテンプレート及びページコンポーネントタグからウエブページを組み立てる段階と、
クライアントに前記ウエブページを提供する段階と
を前記コンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、配信ダイナミックウエブページキャッシングに関する。
【従来の技術及び発明が解決しようとする課題】
【０００２】  インターネットやプライベートな会社のネットワークのようなコンピュータネットワークは、ユーザに対して広範囲で様々な情報源からの情報の検索を可能とする。それらはまた、発行者、情報提供者、広告主や他の情報源がこれらのユーザに対して情報を提供することを可能とする。「サーバー」は、ネットワークに接続され、情報の記憶と、供給とを行うコンピュータシステムである。インターネット上のサーバーの１つのタイプとして、ウエブサイトへの接続を提供するウエブサーバーが知られている。各ウエブサイトは、テキスト、画像、音、アニメーション、３次元シミュレーションのような情報の収納場所がツリー構造とされ、フォーマットされた１つまたは２以上の「ウエブページ」を利用可能にする。新聞や雑誌のような多くの発行者のほかに、会社、個人および組織もウエブページを設立している。「クライアント」は、ネットワークに接続され、ネットワーク上のサーバーからの情報を要求する可能性があるユーザによって、それぞれ一般的に制御されるコンピュータシステムである。特に、様々な位置のクライアントは、これらウエブページが記憶されているサーバーからウエブページの複製を「ダウンロード」することによって、ウエブページを見ることができる。
【発明を解決するための手段】
【０００３】  ある局面では、本発明は、ウエブページのページテンプレート及びページコンポーネントタグがローカルキャッシュメモリにあるかどうかを、クライアントからウエブページの要求を受信及び確認を含むダイナミックウエブページキャッシングの方法が特徴となっている。ページテンプレート及びページコンポーネントタグがローカルキャッシュメモリにない場合、ページテンプレート及びページコンポーネントタグは、サーバーからローカルキャッシュメモリへダウンロードされる。ウエブページは、ローカルキャッシュメモリにあるページテンプレート及びページコンポーネントタグから組み立てられ、ウエブページはクライアントに送られる。
【０００４】  実施形態では、１つまたはそれ以上の下記のものを含んでもよい。
セッションを管理する可能性があるために、サーバーからローカルキャッシュメモリにクライアントセッション識別子（ＩＤ）を表すクッキーを通過すること。
ページコンポーネントタグは、ページ位置情報、サーバーからページテンプレートまで通過させるためのパラメータ、及び期限情報を含んでもよい。それらはまた、バイナリラージオブジェクト（ｂｌｏｂ）コンポーネントを含んでもよい。
【０００５】  他の実施形態では、本発明は、ウエブページを含むデータのコレクションを有するサーバーを含むネットワーク、及びインターネットにサーバーを接続するサーバーリンクが特徴となっている。キャッシュシステムリンクは、インターネットにダイナミックウエブキャッシングシステムを接続する。ダイナミックウエブキャッシングシステムは、ローカルキャッシュで検出されたコンポーネントからウエブページを組み立てる組み立てエンジンと、ウエブページをクライアントに配信するための配信エンジンとを具備している。
【０００６】  本発明の実施形態には、１つまたはそれ以上の下記の利点を有している。
ダイナミックコンポーネントを含むウエブページの組み立ては、クライアントに要求すること、サーバーで要求されたページを組み立てることの要求を最小限にすること、または、削除することと、インターネットを介してクライアントにウエブページを送信することとをより密接にさせる。
【０００７】  ダイナミックページコンポーネントの仕様の詳細は、サーバーから離れたダイナミックコンポーネントの組み立て及び配信をうながすネットワークの末端でキャッシュされる。
【０００８】  ネットワークの末端でダイナミックページコンポーネントの組み立て及び配信をキャッシングすることは、日ごとに膨大な数のダイナミックページビューが増えていくことになる。これは、インターネットを介することなく、膨大な数のダイナミックページコンポーネントが生成されるからである。
【０００９】  衛星サーバー及び／またはサーバーが停止した場合、すなわち、オフラインの場合、他の衛星サーバーがページの組み立て及び配信をするための要求処理を実行することができる。衛星サーバー間の同期は必要としない。各衛星サーバーは、他の衛生サーバーの束に依存せずに独立し、かつ独自の存在である。
【００１０】  本発明の１またはそれ以上の詳細は、以下の図面及び記載に伴って、説明される。本発明の他の特徴、対象及び利点は、記載及び図面から、さらに請求の範囲から明白である。
【発明を実施するための形態】
【００１１】  図１に示すように、ウエブページ１０は、領域１４，１６，１８，２０のように、１またはそれ以上の領域を定義している。各領域１４，１６，１８，２０は、またコンポーネントとして言及されており、ウエブページテンプレート１２の一部分となっている。コンポーネント１４〜２０は、テキスト、イメージ、グラフィックス、アニメーション、タイマー、リンクなどの異なるタイプの情報を含んでいてもよい。ウエブページテンプレート１２の各コンポーネント１４〜２０は、スタティックなものまたはダイナミックなものとしてさらに階層づけられてもよい。スタティックコンポーネントは、一定期間変化しない。ダイナミックコンポーネントは、ウエブページ１０が要求されるときに実行されるコンピュータ処理の結果であるコンポーネントである。それらの特性によって、ダイナミックコンポーネントは、個別の時間存在し、一般的にクライアントがサーバーからそれらを要求するときに組み立てられる。ダイナミックコンポーネントの仕様特性を利用しているサーバーは、ウエブページを設立し、要求しているクライアントに対してウエブページを配信する。
【００１２】  ダイナミックコンポーネントの一例は、現在の天気を含んだものである。現在の天気は要求の間に変化する可能性があり、そのためにユーザの要求に対して応答が組み立てられるようになる。ダイナミックコンポーネントの他の例としては、“Ｈｉ  Ｊｏｅ”のような個人的なメッセージを含むものである。
【００１３】  前記ウエブページ１０は、一般的にサーバーにある（図示せず）。クライアントは、サーバーからウエブページ１０の視聴を要求する。ウエブページ１０内の各コンポーネント１４〜２０の詳細を有するサーバーは、関連付けられたコンポーネント１４〜２０によってウエブページ１０を組み立て、かつ、要求しているクライアントに対してウエブページ１０を送信する。実際には、各コンポーネント１４〜２０は、スタティックコンポーネントであり、ウエブページ１０は、あらかじめ組み立てられ、サーバーに関連付けられたデータベースに格納されている。それ故に、ウエブページ１０がクライアントによって要求されたとき、サーバーは、先に格納されたウエブページをロードし、クライアントのシステムのブラウザに対して配信する。１またはそれ以上のコンポーネント１４〜２０がダイナミックである場合、サーバーは、クライアントにウエブページ１０を配信することに先立って、サーバーに対してのみ認識されるコンポーネントの詳細によってダイナミックコンポーネントを組み立てる。
【００１４】  ウエブページ１０に対して応答可能なサーバーは、ウエブページテンプレート１２の各コンポーネント１４〜２０を詳細に認識することができる。各コンポーネント１４〜２０は、サーバーシステムに対してのみ認識されている一連のパラメータまたはタグによって定義される。例えば、各コンポーネントは、関連付けられたウエブページテンプレート１２と、どのようなパラメータがコンポーネント内を通過する必要があるとしても、コンポーネント内に含まれる情報を取得するために要求するタグと、期間情報を有している。これらのタグは、ページ情報及びｂｌｏｂ情報を含んでもよい。ｂｌｏｂは、バイナリラージオブジェクト（Ｂｉｎａｒｙ  Ｌａｒｇｅ  Ｏｂｊｅｃｔ）であり、例えば、イメージを表すのに使用される。サーバーだけが各パラメータを認識する。コンポーネントは、要求しているクライアントに対して、サーバーがウエブページ１０を組み立て、かつ与えることができるような各コンポーネント１４〜２０で取り囲まれている。
【００１５】  図２に示すように、配信されたダイナミックウエブページキャッシング過程を有するネットワーク４０は、インターネット５０に接続されるたくさんのインターネットサービスプロバイダ（ＩＳＰｓ）４２，４４，４６，４８を含んでいる。ＩＳＰｓ４２〜４８は、インターネット５０に接続するクライアント及びサーバーコンピュータシステムを提供する。ネットワーク４０は、ＩＳＰ４４に接続されたサーバー５２を含んでいる。ネットワーク４０は、またＩＳＰ４８に接続されたブラウザ５６を有するクライアント５４を示している。ネットワーク４０は、ＩＳＰ４８に接続された衛星サーバー、及び、インターネット５０に接続された衛星サーバー６０の配置を含んでいる。好適な実施形態では、ネットワーク４０は、ＩＳＰ４８に接続された衛星サーバー５８か、またはインターネット５０に接続された衛星サーバー６０のどちらかを含む。他の実施形態では、衛星サーバーは、ネットワーク４０の“末端”である他の位置に配置してもよい。一般的に、ネットワークは、ポートごと、ドメインごとに１つの衛星サーバーを有している。クライアント５４がサーバー５２からブラウザ５６を介してウエブページの“提供”を要求したとき、例えば、サーバー５２と共同で、衛星サーバー５８は、ウエブページのスタティック及びダイナミックコンポーネントを組み立て、かつブラウザ５６にウエブページを与える。
【００１６】  図３に示すように、衛星サーバー８０は、コンテンツサーバー８２及びコンテンツサーバー８４を含んでいる。コンテンツサーバー８２，８４は、別々のプラグイン９０，９２を介して、ウエブサーバー８６及びウエブサーバー８８にリンクされる。ウエブサーバー８６，８８は、９４，９６，９８，１００として別々に表示されたキャッシュメモリにリンクされる。各キャッシュメモリ９４〜１００は、ローカルディレクタ１０２にリンクされる。ローカルディレクタ１０２は、ＩＳＰまたはインターネットに対する通信を提供するリンク１０４を含んでいる。
【００１７】  処理においては、ウエブページを与えることの要求がリンク１０４で受信されたとき、ローカルディレクタ１０２は、要求されたウエブページテンプレート及びコンポーネントタグが存在するかどうかを確認するために、キャッシュメモリ９４〜１００を介して探索する。要求されたウエブページのコンポーネントタグがキャッシュメモリ９４〜１００のうちの１つに含まれている場合、コンテンツサーバー８２またはコンテンツサーバー８４は、キャッシュされたテンプレート及びコンポーネントタグからウエブページを組み立て、要求しているクライアントに対してリンク１０４を介して、組み立てられたウエブページを送信する。
【００１８】  図４に示すように、配信されたダイナミックウエブページキャッシング手順１２０は、クライアントからのページ要求を受信する段階１２２を含んでいる。手順１２０は、要求されたページコンポーネントタグおよびウエブページテンプレートが衛星サーバーキャッシュの1つにあるかどうかを段階１２４で確認する。ウエブページおよび関連付けられたウエブページテンプレート及びページコンポーネントタグが、衛星システムサーバーキャッシュにある場合、衛星システムはそれらのウエブページテンプレート及びページコンポーネントタグによってウエブページを段階１２６で組み立て、かつ、要求しているクライアントに組み立てられたページを段階１２８で配達する。要求されたウエブページのウエブページテンプレート及びコンポ−ネントタグが衛星サーバーキャッシュにない場合、手順１２０は、サーバーからウエブページテンプレート及び関連付けられたページコンポーネントタグを段階１３０で取得する。ページコンポーネントを組み立てるために必要な情報がサーバーから取得される場合、サーバーは、それらキャッシュメモリの1つから情報を段階１３２で蓄積する。手順１２０は、ウエブページテンプレートに従って組み立てられたウエブページと、衛星サーバーに関連付けられたページコンポーネントタグを段階１３４で送信し、衛星サーバーのキャッシュメモリにウエブページテンプレート及びコンポーネントタグを段階１３６で蓄積し、かつ、要求しているクライアントに組み立てられたページを段階１２８で配達する。
【００１９】  手順１２０を使用すると、２回目のページアクセスでは、衛星サーバーキャッシュメモリ内で要求されたウエブページを組み立てるために必要な要求された情報を見つけることになる。これは衛星サーバーが、サーバーから取得した知識、すなわち、ウエブページテンプレートと、衛星サーバーキャッシュメモリ内に関連付けられたページコンポーネントタグとの存在からウエブページを作成するための知識を有するからである。衛星サーバーは、ダイナミックページコンポーネントを作成するための論理を有する必要はないが、衛星サーバーは、サーバーから必要な論理を取得することができる。
【００２０】  通常、手順１２０は、複製されたキャッシュを維持している。すなわち全てのキャッシュコンポーネントは、ネットワーク内のあらゆるコンテンツサーバーにあるということになる。それ故に、1つの衛星サーバーが失敗したとしても、他の衛生サーバーが要求されたウエブページを提供するために必要な仕事を実行するようになっている。衛星サーバー間の同期は必要としない。各衛星サーバーは、他の衛生サーバーの束に依存せずに独立し、かつ独自の存在である。
【００２１】  手順１２０はまた、セッション情報を維持している。発明の実施形態では、セッション情報は、クライアントと衛星サーバーとの間を通過するクッキーに含まれている。ここの方法では、新しいセッションは、衛生サーバーからウエブページを要求する同じユーザによってウエブページを２度目の要求によっては生成されない。
【００２２】  本発明の多数の実施形態が記載されてきたにもかかわらず、本発明の範囲や本質を逸脱しない範囲で様々な変更を理解するだろう。それ故に、他の実施形態は、次に述べる請求項の範囲内であるとする。
【図面の簡単な説明】
【図１】  ウエブページのブロック図である。
【図２】  衛星サーバーを含むネットワークのブロック図である。
【図３】  図２の衛星サーバーのブロック図である。
【図４】  図２のコンピュータネットワーク上にある分配ダイナミックウエブページキャッシング手順のフローを示した図である。
【符号の説明】１２    ウエブページテンプレート
１４，１６，１８，２０    コンポーネント
４２，４４，４６，４８    ＩＳＰ
５０    インターネット
５２    サーバー
５４    クライアント
５６    ブラウザ
５８，６０    衛星サーバー
８２，８４    コンテンツサーバー
９４，９６，９８，１００    キャッシュ
８６，８８    ウエブサーバー
９０，９２    プラグイン
【図１】
0005465821.tif 000002
【図２】
0005465821.tif 000003
【図３】
0005465821.tif 000004
【図４】
0005465821.tif 000005