(57)【特許請求の範囲】
【請求項１】
ウェブ・サーバでの要求の変化に適応する方法であって、
サーバが、セッション・トラッキング・オブジェクトをウェブ・サーバにアクセスするブラウザに関連付けるステップであって、前記セッション・トラッキング・オブジェクトには、前記関連付けられたブラウザにより要求された最後のＮ個のウェブ・ページの識別子が実時間で記憶される、ステップと、
サーバが、前記関連付けられたブラウザにより要求された前記最後のＮ個のウェブ・ページの識別子を分析して、サーバにキャッシング優先順位を決定するステップと、
を含む方法。
【請求項２】
セッション・トラッキング・オブジェクトが、ＨＴＴＰセッション・オブジェクトである、請求項１に記載の方法。
【請求項３】
キャッシング優先順位が、ウェブ・ページに対するブラウザ要求の相対的な頻度または新しさに比例する、請求項１に記載の方法。
【請求項４】
前記分析が定期的にまたは引き金となる出来事に応じて行われる、請求項１に記載の方法。
【請求項５】
ウェブ・サーバでの要求の変化に適応する方法であって、
サーバが、セッション・トラッキング・オブジェクトをウェブ・サーバにアクセスするブラウザに関連付けるステップであって、前記セッション・トラッキング・オブジェクトには、前記関連付けられたブラウザにより要求された最後のＮ個のウェブ・ページの識別子が実時間で記憶される、ステップと、
サーバが、ブラウザにより要求された前記関連付けられた最後のＮ個のウェブ・ページの識別子を分析して、サーバにキャッシング優先順位を決定するステップと、
サーバが、キャッシングの優先順位に応じてサーバ・キャッシュを変更するステップと、
を含む方法。
【請求項６】
前記変更するステップは、サーバ・キャッシュの少なくとも一部を再ロードするか、またはサーバ・キャッシュと関連するキャッシング・アルゴリズムを変更するステップを含む、請求項６に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はインターネット分野に関連し、とりわけ、インターネット・ウェブ・サーバ使用の実時間の特性をトラッキングして、その結果得られた情報から、サーバのキャッシュ・メモリを変えることによりサーバのパフォーマンスを改善することに関連する。
【０００２】
【従来の技術】
インターネットユーザは、ほとんどが瞬時の応答を期待するようになった。そのような応答、特にウェブ・サーバの応答を提供することは、リソースと要求の間の都合のよいバランスを維持することに依存している。
【０００３】
応答が速い即応インターネットサービスを提供するリソースは、最近顕著に改善された。より高速のプロセッサーとメモリは、ユーザのワークステーションとウェブ・サイトのサーバの両方で利用することができる。より早い通信リンクは、光ファイバー・バックボーン伝送、ケーブルモデム・アクセスおよび非対称ディジタル加入者線（ＡＤＳＬ）サービスにより提供されている。
【０００４】
それにもかかわらず、いまだに増えつづけるユーザと、いまだに増えつづける彼らの要求の複雑さにより、インターネットおよびそのウェブ・サーバにかかる負担は増えつづける一方であり、そのためインターネットの応答性には依然として問題がある。その上、インターネット使用のパターンは、短い期間に劇的に変化することがあり、それがリソースと要求の間の微妙なバランスを維持するという問題をさらに複雑にしている。例えば、ニュース・ストーリーを伝えることは、関係する情報の要求が殺到する結果を招くことになり、また、あるスポーツの試合のハーフタイムは、同時に行われる他のスポーツイベントの得点に関する質問の嵐を招くことになる、などである。
【０００５】
変わり行く要求にサーバを対応させるひとつの方法は、過去の活動を記録したログを取っておき使用することを必要とする。ログに保持されたデータに基づいて、サーバはメイン・メモリよりもキャッシュ・メモリに蓄積することにより、すぐに利用できるようにすべきウェブ・ページはどれかを決定する。不幸にも、ウェブ・サーバの要求における短時間での変更に対応するには過去の活動のログはたいていの場合大きく、扱いにくく、遅すぎる。従って、要求が突然変化したとき、サーバは、キャッシュに蓄積された間違ったページの処理に手間取り、そして、クライアントはサーバが苦労してキャッシュよりもメイン・メモリからぺージを検索する間、待っていなければならない。
【０００６】
【発明が解決しようとする課題】
従って、ログの使用に関連する欠点および応答が速い即応ウェブ・サーバを提供することの望ましさという観点から、ウェブ・サーバが、最も応答が速いサービスを提供するために、短時間の要求の変化にキャッシュ・メモリを適応させると共に、リソースを即座に再構築できるようにウェブ・サイトにおける要求の瞬時の変化をほぼトラッキングする方法が必要である。
本発明は、ウェブ・サイトがほぼ瞬時に要求の変化に対応できるような方法を提供する。
【０００７】
【課題を解決するための手段】
本発明のひとつの実施形態によれば、ウェブ・サーバ内のサーブレットは、サーバのユーザによりなされた要求に関係する状態情報を維持する。サーブレットはそれぞれのユーザをＨＴＴＰセッション・オブジェクトと関連付ける。ＨＴＴＰセッション・オブジェクトは、ユーザのブラウザにより要求された最後のＮウェブ・ページを特定する情報を含めるように形成される。定期的にまたは引き金となる出来事に応じて、サーバは、例えば、つい最近要求された各ウェブ・ページの頻度を集計することにより、ＨＴＴＰセッション・オブジェクトの内容を分析する。その分析の結果から、ウェブ・ページのキャッシング優先順位が決定され、サーバのキャッシュの内容やそのキャッシング・アルゴリズムの特性が、それに応じて変えられる。
【０００８】
それゆえ、本発明を用いれば、サーバは、要求の突然の変化に応じて、そのリソースを即座に変更することができる。後述の詳細な説明と図面を考慮したとき、本発明のこれらや他の性質は、十分理解されることであろう。
【０００９】
【発明の実施の形態】
本発明は、インターネット・ウェブ・サーバを要求の突然の変化に応じてそのリソースを即座に再構成することがきるようにするものであり、図１において説明される。図１において、クライアント１００Ａ〜１００Ｎは、インターネット１２０または他の通信ネットワークによりウェブ・サーバ１３０に接続している。クライアント１００Ａ〜１００Ｎのそれぞれは、ウェブ・ブラウザ１１０Ａ〜１１０Ｎを含んでいる。サーバ１３０は、サーブレット１４０Ａ〜１４０Ｍを含む。サーブレットは例えばウェブ・サーバ上で実行されるＪＡＶＡ(R)ＴＭアプレットである。またサーバ１３０は、キャッシング・アルゴリズムと、高速記憶キャッシュ１５０を含み、キャッシュ１５０は、クライアント１００Ａ〜１００Ｎに即応サービスを提供するために、近い将来アクセスされることが予想されるウェブ・ページを持っている。
【００１０】
しかし、キャッシュ１５０は有限のサイズを持ち、ブラウザ１１０Ａ〜１１０Ｎが要求するかも知れない全てのウェブ・ページをキャッシュ１５０に組み入れることはできない。その結果、有限サイズの制約の中で即応サービスを提供するために、ブラウザ１１０Ａ〜１１０Ｎより再度要求される可能性が最も高いウェブ・ページのみがキャッシュ１５０に保存される。しかしながら、クライアント１００Ａ〜１００Ｎの要求が変化して、ブラウザ１１０Ａ〜１１０Ｎが、キャッシュ１５０にないウェブ・ページを要求しはじめたときは、キャッシュ１５０に保存されたウェブ・ページを替えなければならない。
【００１１】
キャッシュ１５０に保存されたウェブ・ページの変更を必要とするクライアント１００Ａ〜１００Ｎからの要求の変化を見つけるために、セッションデータは保持され分析される。図２は本発明によりセッションデータがどのように保存されるかを示している。サーバ１３０は、ブラウザ１１０Ａ〜１１０Ｎのうちの１つからのウェブ・ページ要求を待っている（ステップ２００）。要求を受取ったとき、サーバ１３０は、そのブラウザのためのＨＴＴＰセッション・オブジェクトが存在するかどうか決定する（ステップ２１０）。ＨＴＴＰセッション・オブジェクトはサーバ１３０のメモリに存在し、クッキーによって、またはクッキーをサポートしていないブラウザについては、ＵＲＬの再記述によってブラウザ１１０Ａ〜１１０Ｎと関連付けられる。ＨＴＴＰセッション・オブジェクトは、セッション・オブジェクトが関連付けられているブラウザを特定するセッションＩＤを含む多くの属性を含む。さらに一般的には、ＨＴＴＰセッション・オブジェクトは、サーブレット１４０Ａ〜１４０Ｍがブラウザ１１０Ａ〜１１０Ｎの要求に関する情報を維持するための機構であるセッション・トラッキングを作動させる。普通、セッションは、ブラウザ１１０Ａ〜１１０Ｎによりアクセスされるサーブレット１４０Ａ〜１４０Ｍの間で共有される。ただし、これは本発明の必要な条件ではない。
【００１２】
図２で示したように、ＨＴＴＰセッション・オブジェクトがウェブ・ページを要求したブラウザ１１０Ａ〜１１０Ｎのために存在する時、要求されたウェブ・ページの識別子が、要求元のブラウザ１１０Ａ〜１１０Ｎに関連したＨＴＴＰセッション・オブジェクトに書き込まれる（ステップ２２０）。本発明の１実施形態として、要求されたウェブ・ページの識別子が５ウェブ・ページの識別子の容量を持つファーストイン・ファーストアウトの待ち行列に書き込まれるので、ブラウザにより要求された最新の５ウェブ・ページは、ブラウザのＨＴＴＰセッション・オブジェクトに含まれる。その後、サーバは、他のウェブ・ページ要求を待つ（ステップ２００）。
【００１３】
さもなければ（すなわち、ＨＴＴＰセッション・オブジェクトは、ブラウザのために存在しない。）、サーバは、ウェブ・ページを要求しているブラウザ１１０Ａ〜１１０ＮのためにＨＴＴＰセッション・オブジェクトを作成し（ステップ２３０）、要求してきたブラウザ１１０Ａ〜１１０Ｎのために作成されたＨＴＴＰセッション・オブジェクトに要求されたウェブ・ページの識別子を書き込み（ステップ２２０）、そして、他のウェブ・ページ要求を待つ（ステップ２００）。
【００１４】
図３に示すように、要求されたウェブ・ページの識別子の統計が適宜分析される。分析は例えば、タイマーの満了時や、所定数のウェブ・ページ要求が到着したときなどに、定期的に着手されるか、または、例えば、オペレータからのコマンドや、外部ソースからの割り込みや、ウェブ・ページ要求の到達率における急激な変化に示されるブラウザ１１０Ａ〜１１０Ｎの行動特性における突然の変化などの引き金となる出来事に応じて、着手される。分析の目的はキャッシング優先順位を設定するためであり、それにより、キャッシュ１５０の内容または、関連したキャッシング・アルゴリズムの運用は、もっと応答性のよいサービスを提供するために変えることができる。
【００１５】
サーバ１３０は、上述したように、分析が必要かどうかを決定する（ステップ３００）。ブラウザ１１０Ａ〜１１０Ｎにより要求されたウェブ・ページの識別子が、ＨＴＴＰセッション・オブジェクトから読まれる（ステップ３１０）。これらの識別子から、キャッシング優先順位が計算される（ステップ３２０）。本発明の１実施形態において、要求されたウェブ・ページの識別子は、例えば、最も頻繁に要求されたものから最も要求が少なかったものまで順にランク付けされ、そして、キャッシング優先順位は、このランク付けに従って割り当てられる。本発明の他の実施形態では、ウェブ・ページの識別子は、最後に要求されたものから最も昔に要求されたものまで順にランク付けされ、キャッシング優先順位が、このランク付けに従って割り当てられる。次に、キャッシング優先順位が高いウェブ・ページをキャッシュに含むように、キャッシュのセグメントが再ロードされるか、または、キャッシング・アルゴリズムが、例えば、新しいキャッシング・アルゴリズムを選択することにより変更される（ステップ３３０）。
【００１６】
上記の説明から、明らかなように、本発明によればインターネット・ウェブ・サーバは要求におけるほぼ瞬時の変更をトラッキングして、そのリソースを再構成することにより対応することができ、それによって、最良の即応サービスを提供することができる。上述の説明は例示であって、本発明を限定するものではなく、本発明は特許請求の範囲によってのみ限定される。
【００１７】
まとめとし、本発明に関して以下の事項を開示する。
（１）ウェブ・サーバでの要求の変化に適応する方法であって、ブラウザにより要求されたウェブ・ページの識別子を含むセッション・トラッキング・オブジェクトをウェブ・サーバにアクセスするブラウザに関連付けるステップと、ブラウザにより要求されたウェブ・ページの識別子を分析して、サーバにキャッシング優先順位を決定するステップと、を含む方法。
（２）前記識別子は、それぞれのブラウザによって要求された複数の最新ウェブ・ページの識別子を含む、（１）に記載の方法。
（３）セッション・トラッキング・オブジェクトが、ＨＴＴＰセッション・オブジェクトである、（１）に記載の方法。
（４）キャッシング優先順位が、ウェブ・ページに対するブラウザ要求の相対的な頻度または新しさに比例する、（１）に記載の方法。
（５）前記分析が定期的にまたは引き金となる出来事に応じて行われる、（１）に記載の方法。
（６）ウェブ・サーバでの要求の変化に適応する方法であって、ブラウザにより要求されたウェブ・ページの識別子を含むセッション・トラッキング・オブジェクトをウェブ・サーバにアクセスするブラウザに関連付けるステップと、ブラウザにより要求されたウェブ・ページの識別子を分析して、サーバにキャッシング優先順位を決定するステップと、キャッシングの優先順位に応じてサーバ・キャッシュを変更するステップと、を含む方法。
（７）前記変更するステップは、サーバ・キャッシュの少なくとも一部を再ロードするか、またはサーバ・キャッシュと関連するキャッシング・アルゴリズムを変更するステップを含む、（６）に記載の方法。
【図面の簡単な説明】
【図１】複数のクライアントがインターネットによりウェブ・サーバに接続しているところを示す図。
【図２】セッションデータを集めることに関し図１のウェブ・サーバの動作を示すフローチャート。
【図３】セッションデータを分析することに関し図１のウェブ・サーバの動作を示すフローチャート。
【図１】
0003953879.tif 000002
【図２】
0003953879.tif 000003
【図３】
0003953879.tif 000004