(57)【要約】【課題】ウェブページの利用パターンを特定する方法および装置を提供すること。【解決手段】ウェブサイトにおけるウェブページの使用パターンを特定する方法およびシステムであって、ウェブサイト（２０２）における１または複数のウェブページを特定するウェブマップを受け取るステップと、セッション中においてユーザによってアクセスされたウェブページを突き止めるステップと（２１０）、ユーザにアクセス可能でウェブサイトマップに対応する１または複数のウェブページの分岐を求めるステップと、前記分岐を前記ユーザと関連付けて前記ユーザによってアクセスされる前記分岐と前記１つまたは複数のウェブページの使用度とを示すデータベースを更新するステップと（２１２）、を含む。【選択図】図２
2004171539.tif 000002
【特許請求の範囲】
【請求項１】
ウェブサイトにおけるウェブページの利用パターンを特定する方法であって、
ウェブサイトにおける１つまたは複数のウェブページの編成を特定するウェブサイト・マップを受け取るステップと、
ユーザによってアクセス可能で前記ウェブサイト・マップにより編成される、ウェブサイト中の１つまたは複数のウェブページの分岐を求めるステップと、
セッションの間、ユーザがアクセスする１つまたは複数のウェブページと、基礎になる前記分岐とを突き止めるステップと、
前記分岐を前記ユーザと関連付けて、前記ユーザによってアクセスされる前記分岐と前記１つまたは複数のウェブページの使用度とを示すデータベースを更新するステップと、
を含む前記方法。
【請求項２】
前記サイト・マップに対応するウェブページのそれぞれにおいて、前記ユーザによってアクセス可能な１つまたは複数のウェブページのすべての可能な分岐を求めるステップをさらに含む請求項１に記載の方法。
【請求項３】
前記ウェブサイト・マップは、有向グラフへと編成される請求項１に記載の方法。
【請求項４】
前記受け取るステップは、サーバーでウェブページを処理し結果をやり取りするアプリケーションにおいて行われる請求項１に記載の方法。
【請求項５】
前記受け取るステップは、前記ウェブページを処理してアプリケーションとやり取りするサーバー上で行われる請求項１に記載の方法。
【請求項６】
前記突き止めるステップは、
前記ウェブページにアクセスするときにユーザを特定するステップと、
各ページに前記ユーザがアクセスする頻度、前記ユーザによって処理される一連のウェブページ、および前記ユーザによってアクセスされるウェブページ間の識別パス、の少なくとも１つまたは複数の特徴の組を収集するステップと、
を含む請求項１に記載の方法。
【請求項７】
前記分岐を求めるステップは、前記ウェブサイトの処理に対応して、ウェブページを一まとめにするステップをさらに含む請求項１に記載の方法。
【請求項８】
前記分岐を求めるステップは、以前にユーザによって順次にアクセスされたウェブページを組み合わせるステップをさらに含む請求項１に記載の方法。
【請求項９】
ウェブサイト中のウェブページの選択を予測する方法であって、
ユーザ向けの履歴利用パターンにより、前記ウェブページを分類するウェブサイトのサイト・マップを編成するステップと、
前記ウェブページの前記分類により選択された前記ウェブページの予測された分岐をキャッシュにロードするステップと、
前記ウェブサイトからウェブページの要求を受け取るステップと、
前記ウェブページの要求が、前記予測された分岐中の前記ウェブページの少なくとも１つであるときに、前記ウェブサイトから要求されたウェブページを提供するステップと、
を含む前記方法。
【請求項１０】
前記サイト・マップを編成するステップは、
ユーザに関連づけられた利用パターンを、利用パターン・データベースから検索するステップと、
ユーザの前記利用パターンにしたがって、値を前記サイト・マップ中の個々のウェブページへと関連付けるステップと、
をさらに含む請求項９に記載の方法。
【請求項１１】
前記予測された分岐をロードするステップは、
前記ウェブページの分類を用いて、前記サイト・マップ中の１つまたは複数の分岐のそれぞれに対して、メトリック値を求めるステップと、
前記１つまたは複数の分岐のそれぞれに関連付けられた前記メトリック値を比較するステップと、
前記１つまたは複数の分岐のそれぞれに関連付けられた前記メトリック値の前記比較に基づいて、前記予測された分岐を選択するステップと、
をさらに含む請求項９に記載の方法。
【請求項１２】
メトリック値は、分岐に関連するウェブページの加重値を合計して算出される請求項１１に記載の方法。
【請求項１３】
前記要求されたウェブページが、前記ウェブサイトの前記予測された分岐中にないときに、前記キャッシュ中の前記予測された分岐を、前記要求されたウェブページを含む分岐と取り換えるステップと、
前記キャッシュ中で取り換えられた前記分岐から、前記要求されたウェブページを取り出すステップと、
をさらに含む請求項９に記載の方法。
【請求項１４】
アプリケーションにおけるウェブページへのアクセスを向上させるシステムであって、
ユーザがアプリケーション中のウェブページを選択する頻度を示すウェブサイト・アクセス・プロファイル・データベースと、
アプリケーションに関連付けられたウェブページのサイト・マップを有するウェブサーバーであって、前記アプリケーションは前記ウェブサイト・アクセス・プロファイル・データベースの情報に従って分類された前記サイト・マップにおけるウェブページの分岐を特定し、前記分類によって前記ウェブサーバーがキャッシュにロードするウェブページの分岐が求められる前記ウェブサーバーと、
を備えるシステム。
【請求項１５】
ネットワーク上で、前記アプリケーションに関連する前記ウェブサーバーから、ウェブページを要求するクライアントをさらに備える請求項１４に記載のシステム。
【請求項１６】
前記ウェブサーバーは、前記アプリケーションへと統合される請求項１４に記載のシステム。
【請求項１７】
前記ウェブサイト・アクセス・プロファイル・データベース中の少なくとも１つのエントリが、前記ウェブサイト・アクセス・プロファイル・データベース中の他のエントリからの前記利用パターンの集計であって、前記アプリケーションの代表的なユーザ向けのウェブページのアクセス・パターンを表わす請求項１４に記載のシステム。
【請求項１８】
前記集計が、前記アプリケーションにおける前記ウェブページにユーザによってアクセスされる頻度の加重平均である請求項１７に記載のシステム。
【請求項１９】
前記ウェブサイトの処理に対応して、ウェブページを一まとめにすることで、分岐が求められる請求項１４に記載のシステム。
【請求項２０】
前記分岐を求めることは、以前にユーザによって順次にアクセスされたウェブページを組み合わせることをさらに含む請求項１４に記載のシステム。
【請求項２１】
前記ウェブページにアクセスする命令を実行するプロセッサと、
１つまたは複数のウェブページの要求を受け取るアプリケーション、ウェブページへのユーザのアクセスを突き止めて、この情報をウェブサイト・アクセス・プロファイル・データベースに格納するプロファイラ、および前記ウェブサイト・アクセス・プロファイル・データベースにより、１つまたは複数のウェブページを持つ分岐を選択して、前記ウェブページをキャッシュにロードする予測分岐構成要素を有するメモリと、
を備えるウェブページにアクセスする装置。
【請求項２２】
前記要求に応答して、前記ウェブページを送るネットワーク通信ポートをさらに備える請求項２１に記載の装置。
【請求項２３】
前記要求された１つまたは複数のウェブページを、表示装置上に表示する表示装置ドライバをさらに備える請求項２１に記載の装置。
【請求項２４】
コンピュータ読取り可能媒体上に実体的に記憶されたコンピュータ・プログラム・プロダクトであって、
プログラマブル・プロセッサに、
前記ウェブサイト中の１つまたは複数のウェブページの編成を識別するウェブサイト・マップを受け取らせるステップと、
ユーザによるアクセス可能で前記ウェブサイト・マップにより編成された前記ウェブサイト中の１つまたは複数のウェブページの分岐を求めさせるステップと、
セッションの間、ユーザによってアクセスされる１つまたは複数のウェブページと、基礎になる前記分岐とを突き止めさせるステップと、
前記分岐を前記ユーザと関連付けて、前記ユーザによってアクセスされる前記分岐と前記１つまたは複数のウェブページの使用度とを示すデータベースを更新させるステップと、
を動作させることができる命令が記憶されたコンピュータ・プログラム・プロダクト。
【請求項２５】
コンピュータ読取り可能媒体上に実体的に記憶されたコンピュータ・プログラム・プロダクトであって、
プログラマブル・プロセッサに、
ユーザの履歴利用パターンにより、前記ウェブページを分類する前記ウェブサイトのサイト・マップを編成させるステップと、
前記ウェブページの前記分類により選択された前記ウェブページの予測された分岐をキャッシュにロードさせるステップと、
前記ウェブサイトからウェブページの要求を受け取らせるステップと、
前記ウェブページの要求が、前記予測された分岐中の前記ウェブページの少なくとも１つであるときに、前記ウェブサイトから要求されたウェブページを提供させるステップと、
を動作させることができる命令が記憶されたコンピュータ・プログラム・プロダクト。
【請求項２６】
ウェブサイト中のウェブページ用の利用パターンを特定する装置であって、
ウェブサイト中の１つまたは複数のウェブページの編成を識別するウェブサイト・マップを受け取る手段と、
ユーザによってアクセス可能で前記ウェブサイト・マップにより編成される、ウェブサイト中の１つまたは複数のウェブページの分岐を求める手段と、
セッションの間、ユーザがアクセスする１つまたは複数のウェブページと基礎になる前記分岐とを突き止める手段と、
前記分岐を前記ユーザと関連付けて、前記ユーザによってアクセスされる前記分岐と前記１つまたは複数のウェブページの使用度とを示すデータベースを更新する手段と、
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測分岐およびキャッシュの方法に関する。
【０００２】
（関連出願の引用）
本願は、２００２年１０月３１日出願され、かつ本発明の譲受人に譲渡された、Ｊｏｈｎ  Ｍ．Ｋｅｒｒ氏とＪｕｎ  Ｇｕ氏による「Method and Apparatus for Localization of Applications」と称する米国特許出願第１０／２８４，８９１号に関連するものである。
【背景技術】
【０００３】
ウェブページを用いるアプリケーションがさらに大規模となり、さらに複雑になってきたため、ウェブページにアクセスするのが一層困難になっている。これらのアプリケーションは、従来のウェブサイト、ウェブページを持つソフトウェア・アプリケーション、およびウェブベースのユーザ・インタフェースを有する他のアプリケーションを含む。代表的な企業のウェブサイトの存在は、機密でない企業情報を持つ公開ウェブサイト、機密情報および／または部門別情報を用いての安全な内部ウェブサイト・アクセス、企業が提供する商品またはサービスを注文し、購入し、その代金を払うエレクトロニック・コマースのウェブサイト、および他の多くの複雑なアプリケーションを含むことがある。これらのアプリケーションやインタフェースは、それらに固有の複雑さに加えて、特定の許可と好みを持つ特定のユーザに専用となることも多い。あいにく、プロセッサの能力、ネットワークの帯域幅、記憶待ち時間が限られていることから、個々のユーザに合わせた広範で、かつ複雑なアプリケーションを展開させることが実用的でなくなり、しかも管理しにくくなることもある。
【０００４】
これらのウェブサイトおよびアプリケーションのコンテンツやプレゼンテーションを、いくつかの異なる言語および地域（すなわち、現地通貨、時間帯、休日、および、他の地域慣習）を使って提供しなければならないため、国際化とローカライズの配慮は独特の課題を呈している。これは、アプリケーションのコンテンツ部分の変更を必要とするだけでなく、このアプリケーションのボタン、および他の制御部分に表示される実際の文章の変更も必要とする。ときには、特定の言語および地域の要件を受け入れるために、ウェブサイトまたはアプリケーション中のロジックも変更することもある。
【特許文献１】米国特許出願第１０／２８４，８９１号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
或る従来のソリューションは、異なる言語または地域のそれぞれに対して、アプリケーションのいくつかの完全コピーを取ることである。これには、大容量の記憶装置が必要であり、また、このアプリケーションおよびインタフェースに対して更新や変更を維持しようとする場合に、困難がもたらされる。他のソリューションは、ローカライズされた文章やイメージを、このアプリケーションまたはウェブサイトの残りの部分から切り離すことで、記憶装置とメインテナンスの問題を減らす。これは、メインテナンスと必要メモリを減らすかもしれないが、代りに様々な言語および地域を使って情報にアクセスして、情報を表示しているときに、複雑なウェブベースのアプリケーションのランタイム性能に影響を与えることになる。
【課題を解決するための手段】
【０００６】
本発明の複数の面は、以下の方法の少なくとも１つまたは複数において有利である。１アプリケーションを用いる一人または複数のユーザの統計をデータベースに保存して、ウェブページにアクセスし、アプリケーションを利用するパターンを特定するのを容易ならしめる。本発明の実施例は、ユーザに関して収集された統計情報を利用して、ユーザが次に選択しそうなウェブページの分岐を予測するのに役立てる。さらに、収集された統計情報を利用すれば、共通の特色または特徴を有する平均的な一群のユーザの挙動を予測することもできる。よって、収集された統計情報を組み合わせて利用すれば、様々な状況においてユーザ群だけでなく、多くの異なる個々のユーザの挙動も予測できる。
【０００７】
ウェブページの分岐は、ユーザがアプリケーション中の同じ系列または同じグループのウェブページにアクセスする統計的な情報および可能性に基づいて、キャッシュに格納される。ウェブページのアクセスおよび配信は、ウェブページの予測された分岐をキャッシュにロードした後で、ユーザが実際に１つまたは複数のウェブページの分岐の要求を出すために一部改善される。キャッシュに格納された１つまたは複数のウェブページの予測された分岐は、最初に要求されたウェブページだけでなく、次々にアクセスされることの多い一連のウェブページも含むから、その後のウェブページの要求も改善され得る。
【発明を実施するための最良の形態】
【０００８】
図１は、ウェブページにアクセスする効率を高めるために、本発明の一実施例による、アプリケーションが用いる構成要素の編成を示すブロック図である。構成要素１００は、圧縮ローカライズ・オブジェクト１１０６〜圧縮ローカライズ・オブジェクトｍ１０８とともに、ウェブサイト・デザイン・テンプレート１０４を有するウェブページ１０２、復元アクセラレータの構成要素１１０、圧縮アクセラレータの構成要素１１２、キャッシュ１１４、およびアプリケーション１１６を含む。
【０００９】
アクセスを向上させるために、ウェブページ１０２は、さらに、ウェブサイト・デザイン・テンプレート１０４と、圧縮ローカライズ・オブジェクト１１０６〜圧縮ローカライズ・オブジェクトｍ１０８に編成される。ウェブサイト・デザイン・テンプレート１０４中のロジックは、ウェブページとウェブサイト・マップのナビゲート分岐（ｎａｖｉｇａｔｉｎｇ  ｂｒａｎｃｈ）に対応する。本発明の実施例は、ユーザが要求しそうである１つまたは複数のウェブページの分岐を予測することで、このアプリケーションの性能を高める。
【００１０】
本発明の一実施例により、１つまたは複数の圧縮ローカライズ・オブジェクト１１０６〜圧縮ローカライズ・オブジェクトｍ１０８をキャッシュ１１４にロードすることで、ウェブサイト・デザイン・テンプレート１０４から、ウェブページ１０２の分岐を利用できるようにする。圧縮ローカライズ・オブジェクト１１０６〜圧縮ローカライズ・オブジェクトｍ１０８は、Ｊｕｎ  Ｇｕ氏とＪｏｈｎ  Ｍ．Ｋｅｒｒ氏により本発明の譲受人に譲渡され、かつ、それと同一日に出願された「Method and Apparatus for Localization of Applications」と称する米国特許出願により、このアプリケーション中の言語および他の現地慣習（すなわち、通貨、時間帯、休日、および、他の地域慣習）を合わせている。上述のローカライズ・プロセスは、ローカライズ・オブジェクトを圧縮、復元して、ウェブページまたは他の同様なインタフェースを用いて、ローカライズされたアプリケーションの性能を高める。例えば、復元アクセラレータ１１０と圧縮アクセラレータ１１２は、圧縮ローカライズ・オブジェクト１１０６〜圧縮ローカライズ・オブジェクトｍ１０８を処理して、この情報に効果的なスループットおよび記憶容量を一部向上させる。
【００１１】
図２は、本発明の一実施例により、アプリケーション中の利用パターンに関する情報を識別し、収集するのに用いられる操作を示す流れ図である。バックグラウンドあるいはフォアグラウンドで実行するエージェントまたは他のプロセスは、アプリケーションの編成を述べるウェブサイト・マップおよび関連データベース情報、関連ウェブページ、および対応するユーザ、統計、データベースの情報を、最初に受け取る（２０２）。
【００１２】
このエージェントまたはプロセスは、このアプリケーションの編成、および、このアプリケーションを実行するコンピュータシステムのインフラに応じて、サーバーまたはクライアント上で実行できる。ウェブサイト情報と利用パターンは、情報を格納するのに用いられる１つまたは複数の異なるタイプのデータベースに格納することができる。本発明の一実施例では、有向グラフは、基礎になるウェブサイト・マップとウェブサイト部分を効率的に表わし、それらに高速にアクセスするのを容易ならしめる。これについては、以下に詳述する。
【００１３】
これらのエージェント、または他のプロセスは、優先順位の低いバックグラウンド・プロセスとして、ウェブサイト・マップおよび関連データベース情報を処理して、コンピュータ上で実行する他のプロセスへの性能影響を最小限に抑える。性能を高めるために、エージェントまたは他のプロセスは、コンピュータ上で実行する他のプロセスに比べて、さらに高い優先順位で動作する。どちらの実施例でも、ウェブサイト・マップの処理には、このウェブサイト・マップの一部または全部をキャッシュ・エリアにロードすることが含まれる。さらに、このエージェントまたはプロセスはまた、ユーザを識別するデータベース情報の一部または全部と、もしあれば、ユーザの対応するウェブサイト・アクセス・プロファイルもロードする。このウェブサイト・アクセス・プロファイルは、所与のアプリケーションへのユーザの以前のアクセスに関係する統計情報を含んでいる。例えば、ユーザのウェブサイト・アクセス・プロファイルは、所与のアプリケーション、およびユーザが以前にアクセスしたことがあるこのアプリケーション中の特定のウェブページをユーザが以前に使用したことがあるかどうか示すために用いられることがある。さらに、これらのウェブサイト・アクセス・プロファイルは、このアプリケーションに関連するウェブページ、または、これらのウェブページの分岐にユーザがアクセスしたことがある組合せおよび系列の詳細を記録することもできる。
【００１４】
ウェブサイト情報およびデータベースにアクセスするエージェントまたは他のプロセスは、このアプリケーション、および関連するウェブサイトまたはウェブページを求めるユーザを特定しようとする（２０４）。本発明の一実施形態では、インデックス（索引）が、ユーザと、ユーザが以前にアクセスしたアプリケーションとを関連付けて、このような決定をしやすくする。ユーザが以前に、このアプリケーションにアクセスしたことがない場合には、このエージェントまたはプロセスは、このユーザに対して新たなウェブサイト・アクセス・プロファイルを作成し、ユーザがアクセスするアプリケーションおよびウェブサイトを識別するデータベースを初期化する（２０６）。別法として、エージェントまたは他のプロセスがユーザを識別する場合には、以前にアクセスされたアプリケーション、ウェブサイト、またはウェブページを識別するデータベースは、そのユーザのウェブサイト・アクセス・プロファイルに対応するものとして、ロードされる（２０８）。キャッシュにロードされる情報の量を減らすために、本発明の一実施例は、そのユーザのウェブサイト・アクセス・プロファイルに関連するすべてのアプリケーションおよびデータベース情報ではなくて、データベースのうちユーザが求めるアプリケーションに対応する部分だけをロードする。
【００１５】
このウェブサイト・アクセス・プロファイルが作成され、かつ／または、メモリにロードされると、本発明の実施例は、ユーザが通読するそのアプリケーションまたはウェブサイトに関連するウェブページを突き止める（２１０）。突き止める作業には、後でアプリケーションおよびウェブページを選択するときに、ユーザの挙動を決定するのに役立つ様々な情報を記録することが含まれる。例えば、本発明の実施例は、ユーザがアクセスするアプリケーション中のページだけでなく、アプリケーションも突き止める。本発明の実施例は、特定のページを突き止めることに加えて、ユーザが様々なアプリケーションおよびウェブページを通読するときの、ページの特定の組合せおよび系列、ユーザが各ページにアクセスする頻度、およびユーザがアクセスするページとページとの間のパスを突き止めることもできる。
【００１６】
所与の時間間隔の後で、本発明の実施例は、突き止められた情報を分析し、利用パターンを検出し、ユーザに関連のあるデータベースを更新する（２１２）。この突き止められた情報は、ユーザ、および、ユーザが通常使用するウェブサイトおよびアプリケーションを記述したユーザの対応するデータベース情報に関連するものである。例えば、この分析は、ユーザ・セッションの間に、特定のアプリケーション、およびこのアプリケーション中のウェブページへのユーザのアクセス頻度を確認することを含む場合がある。さらなる分析は、タスクを達成するために実行されるユーザの好ましいパス、アプリケーション中の１つまたは複数のウェブページに提供される選択された代表的な分岐、および特定の分岐を選択する総合可能性を確認することもある。
【００１７】
これらの収集された情報の組合せを利用すれば、特定のユーザ、代表的または平均的なユーザ、あるいは１つまたは複数のグループにおけるユーザ（例えば、システム・アドミニストレータの役割を持つ一群のユーザ）が講じる処置を予測することができる。一群のユーザに関して収集された情報は、収集されたデータに対して、同一のグループ（１つまたは複数）に属するものとして分類された個人の挙動を予測するのに役立つ（２１４）。他のユーザから収集された対応する利用パターン、および他の情報は、代表的なユーザが選択するアプリケーション、ウェブページ、およびウェブページの分岐を予測するのに役立つ。このような代表的または平均的なユーザ用に確保された別々のデータベースまたはデータベース・エントリは、この情報を１つにまとめることで更新される。
【００１８】
図３は、本発明の一実施例により、ユーザが選択しそうなウェブページまたはウェブページの分岐を予測するのに用いられる操作の流れ図である。一人または複数のユーザに関して収集された履歴アクセス情報は、このユーザが選択しそうなアプリケーション、ウェブサイト、ウェブサイトの分岐、およびウェブページを予測するのに用いられる。本発明の一実施例は、アプリケーション中のウェブページのサイト・マップを有向グラフに編成する（３０２）。本発明の一実施例では、この有向グラフ中の各ノードは、アプリケーション中のウェブページに対応している。このアプリケーションを表現する有向グラフ中のノード間の稜線は、ユーザがウェブページ間に作ることができる実用的なパスを表わしている。
【００１９】
本発明のエージェントまたはプロセスは、ウェブページ、またはアプリケーションの一部の要求を受け取る（３０４）。このウェブサイトのグラフから予測された分岐を、キャッシュにロードする（３０６）。それぞれのユーザに対して、本発明の一実施例は、所与の開始ノードから、いくつかの行先ノードへの各稜線に、ユーザが開始ノードから行先ノードを選択する可能性を示すメトリック値（ｍｅｔｒｉｃ  ｖａｌｕｅ）を割り当てる。メトリック値は、ユーザに関して収集された履歴使用情報に基づくこともある。例えば、これらの稜線に沿ってのメトリック値の組合せを利用すれば、ウェブページの分岐、およびウェブページの１つの分岐が多かれ少なかれ選択されそうな可能性を分類することができる。
【００２０】
このエージェントまたはプロセスは、ユーザの実際の要求と、キャッシュにロードされた分岐とを比較して、この分岐予測が正確であったかどうか判定する（３０８）。予測はずれが検出される場合には、メモリの中で、異なる分岐を集めて取り換えることができる。キャッシュに格納された分岐に、偶然この求められるウェブページ（１つまたは複数）が入っている場合には、すでにキャッシュに格納した上記の予測された分岐部分から、このウェブページを取り出す（３１０）。別法として、求められるウェブページ（１つまたは複数）が、このキャッシュ部分にはない場合には、正しい分岐またはウェブページを、キャッシュに格納された誤った分岐またはウェブページと取り換える（３１２）。好ましくは、ウェブページおよび他の情報に対する他のその後の要求も、キャッシュの中で取り換えられた分岐またはウェブページに納められる。いずれの場合も、求められるウェブページを取り出して、それを、この要求を出したユーザに提供する（３１４）。別法として、キャッシュには見つからなかった上記の求められるウェブページは、特定のタイプのコンテンツまたは必要メモリに応じて、補助記憶装置または他の記憶領域から直接に取り出すことができる。
【００２１】
図４は、本発明の一実施例により、サンプルウェブサイト・マップ、およびウェブサイトの分岐選択を突き止め、次に、１つまたは複数のページを予測して、そのページをキャッシュに格納する効果を示すブロック図である。ウェブサイトの線図４００は、例証アプリケーションで用いられるものであって、ウェブページ４０２、４０４、４０６、４０８、４１０、４１２、４１４、４１６、４１８、４２０を含む。この線図中の各ウェブページは、このアプリケーションに対するウェブページに関する情報を識別する識別子を含む。例えば、ウェブページ４０２は、「ログイン」の識別子を含み、このアプリケーションにログインするために、ユーザで用いられるが、一方、ウェブページ４１８は、「物品出荷情報」の識別子を含む。なぜなら、この「物品出荷情報」の識別子は、出荷プロセスにおける物品、および物品の状態に関する情報にアクセスするために用いられるからである。
【００２２】
図４中の線図はまた、点線で取り囲まれた分岐４２２と、実線で取り囲まれた分岐４２４も示している。これらの分岐は、ユーザが、通常、このような特定の系列および／または組合せで利用するウェブページを表わしている。別法として、分岐は、特定の操作または役目を果たす一まとめにしたウェブページであることもある。例えば、一連のウェブページは、一まとめにすることができる。なぜなら、これらのウェブページは、アプリケーションにログインしたり、ネットワーク上で、このアプリケーションを通じて製品またはサービスを注文したりするために必要であるか、あるいは、そのような目的で、通常利用されるからである。
【００２３】
動作しているときは、ユーザは、アプリケーションを利用しながら、ウェブサイトの線図４００で表わされる１つまたは複数のウェブページを通読するか、あるいは、そのウェブページにアクセスする。本発明の実施例は、この情報を突き止めて記録し、ユーザがアクセスして利用するその後のウェブページを予測し易くする。このように情報を突き止めることを利用して、頻繁にアクセスされるウェブページを、特定の時間間隔の間に一まとめにして、分岐４２２や分岐４２４のような分岐を形成する。例えば、本発明は、分岐４２２を、一連のウェブページ４０２、４０４、４０８、４１４、４１６、４１８、４２０に関連付ける。分岐４２２中のウェブページをリストしたインデックスを識別して、そのインデックスを、少なくとも一人のユーザに関連するデータベース・エントリに格納する。ユーザ（一人または複数）がウェブページ４０２を要求するときには、分岐４２２に関連する１つまたは複数のウェブページを算定し直して構成して、キャッシュに格納する。
【００２４】
ある分岐を、ウェブサイトの線図中の１つまたは複数の他の分岐と比較したとき、ユーザが前者の分岐中の物品を選択する可能性を比較するために追加情報も使用できる。例えば、ユーザ（一人または複数）が、分岐４２４中のこの一連のウェブページを選択することがさらに多くなる場合には、分岐４２２に関連するウェブページではなく、分岐４２４に関連するウェブページをキャッシュにロードする。よって、本発明の一実施例は、「ログイン」ウェブページ４０２を戻し、次に、分岐４２４中の残りのウェブページをキャッシュにロードすることで、ウェブページ４０２の要求に応じることになる。この例では、キャッシュは、ウェブページ４０４、ウェブページ４１２、およびウェブページ４１８を含む。２つの分岐をキャッシュにロードしているこのウェブサイトは、ただ１つの例であって、ウェブページや分岐がそれよりも多いか、または少ない他の多くのアプリケーションおよびウェブサイトも、本発明の様々な実施例から恩恵を得ることができる。さらに、現在、表示されているページは、その後のページの予測を容易ならしめることが多いとはいえ、本発明の代替実施例は、現在のユーザ・セッションの活動記録中の以前に選択されたページを調べて、ユーザの現在のタスクをより良く理解する場合がある。
【００２５】
図５は、本発明の一実施例を用いて、ネットワーク５００上の複数の地域で提供されるアプリケーションを示すブロック図である。ネットワーク５００は、ウェブサーバー５０２、ローカライズ・オブジェクト・データベース５０４、ウェブサイト・アクセス・プロファイル５０５、ネットワーク５０６、地域１を利用するクライアント５０８、地域２を利用するクライアント５１０、および地域３を利用するクライアント５１２を含む。
【００２６】
本発明の実施例は、ユーザがアクセスするウェブページおよびアプリケーションに関する履歴追跡情報を、ウェブサイト・アクセス・プロファイル５０５に格納している。これらのウェブサイト・アクセス・プロファイル５０５は、前述のように、分岐予測を行って、アプリケーションから１つまたは複数のウェブページをキャッシュするために、ウェブサーバー５０２で利用される。ローカライズ・オブジェクト・データベース５０４中のオブジェクトは、このアプリケーションおよびウェブサイトのうち、１つまたは複数の異なる言語を使った部分を含む。ユーザが選択した地域に応じて、異なるオブジェクトを、このアプリケーションと組み合わせて、ユーザに配信し、それにより、ユーザの地域および／または言語の使用が求められるウェブページ（１つまたは複数）に対するユーザの要求が満たされる。
【００２７】
例えば、ウェブサーバー５０２は、ウェブサイト・アクセス・プロファイル５０５中のユーザ用のウェブサイト・アクセス・プロファイルを識別して、処理してキャッシュにロードすべき、ウェブサイトの１つまたは複数の分岐を予測する。ローカライズ・オブジェクト・データベース５０４中の地域情報を、この予測された分岐と組み合わせて、適正な地域または言語を使って、アプリケーション中のウェブページを配信する。この例では、地域１を利用するクライアント５０８、地域２を利用するクライアント５１０、地域３を利用するクライアント５１２はそれぞれ、これらのクライアントの選択された言語または地域に合わせたアプリケーションまたはウェブページのバージョンを受け取ることができる。さらに、本発明の実施例は、ユーザがもっとも選択しそうな分岐を、あらかじめ算定して、キャッシュする。このような作業は、アプリケーションまたはウェブページの複数のコピーを格納せずに、これらのアプリケーションまたはウェブページを配信する性能を高める。
【００２８】
図６は、ウェブページおよびアプリケーションを効率的に配信するために、本発明の一実施例で用いられるシステムのブロック図である。この例では、システム６００は、メモリ６０２（通常、ランダム・アクセス・メモリ（ＲＡＭ））、プレゼンテーション・デバイス・ドライバ６０４、プロセッサ６０６、プログラム・メモリ６０８（例えば、フラッシュＲＯＭなどの書込み可能なリード・オンリー・メモリ（ＲＯＭ））、ネットワーク通信ポート６１０、補助記憶装置６１２、バス６１６を介して動作可能に互いに結合されたオーディオおよびＩ／Ｏポート６１４を含む。システム６００は、例えば、ＲＯＭにあらかじめプログラムすることができるか、あるいは別のソースから（例えば、フロッピーディスク、ＣＤ−ＲＯＭ、または別のコンピュータから）プログラムをロードして、プログラムする（また、プログラムし直す）ことができる。
【００２９】
メモリ６０２は、ウェブベースのアプリケーション６１８、ウェブサイト追跡構成要素６２０、予測分岐構成要素６２２、圧縮／復元構成要素６２４、ローカライズ・オブジェクト６２６、およびランタイム・モジュール６２８を含む。ウェブベースのアプリケーション６１８は、インターネットまたはイントラネットのようなネットワーク上で、ユーザ・インタフェースを配信するアプリケーションである。このアプリケーションは、ネットワーク上で、ウェブページまたはこのアプリケーションの一部を配信するために、所有権を主張できるプログラミング言語だけでなく、ＨＴＭＬ（ｈｙｐｅｒｔｅｘｔ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）、または他の基準にも基づいて、プログラミング・コンストラクト（ｐｒｏｇｒａｍｍｉｎｇ  ｃｏｎｓｔｒｕｃｔ）を利用できる。ウェブベースのアプリケーション６１８の一部または全部は、クライアント・システムあるいはサーバー・システムとして動作するシステム６００上で実行できる。
【００３０】
ウェブサイト追跡構成要素６２０は、一人または複数のユーザがウェブページおよびアプリケーションを通読するときに、これらのユーザに関する情報を収集する。この情報は、データベース中の各ユーザに関連するウェブサイト・アクセス・プロファイルに格納されている。予測分岐構成要素６２２は、各ユーザに関連するウェブサイト・アクセス・プロファイルに格納された情報を用いて、キャッシュにロードすべきウェブサイトまたはウェブページの分岐を決定する。ユーザ、および特定のユーザ向けの履歴アクセス情報に応じて、ウェブサイトまたはウェブページの異なる分岐をキャッシュにロードする。前に論じられたように、予測作業において参照する特定のウェブサイト・アクセス・プロファイルをユーザが持っていないときに、予測分岐構成要素６２２は、特定のウェブサイト・アクセス・プロファイルではなくて、平均的な値を使用することもある。
【００３１】
圧縮／復元構成要素６２４を用いて、ウェブページのサイズ、１つまたは複数のウェブページを有する分岐、およびローカライズ・オブジェクト情報を縮小すれば、さらなる効率性が得られる。圧縮／復元構成要素６２４の復元部分は、必要に応じて、ウェブページの一部、１つまたは複数のウェブページの分岐、ローカライズ・オブジェクト６２６、および、このアプリケーションの他の部分を圧縮／拡大するために用いられる。前に述べられたように、ローカライズ・オブジェクト６２６は、ウェブページ、ウェブページの分岐、およびアプリケーションを、各ユーザが求める特定の言語または地域に合わせるのに用いられる情報を提供する。
【００３２】
これらの作業を、コンピュータシステム上で実施し易くするために、ランタイム・モジュール６２８は、メモリ、記憶領域、およびプロセッサ・タイムスライスからのリソースを上記および他の作業に割り当てる。例えば、ランタイム・モジュール６２８は、オペレーティング・システムのリアルタイム・カーネルに基づくか、あるいはリアルタイムの動作特性がさらに少ないプリエンプティブ型のオペレーティング・システムであることもある。
【００３３】
プレゼンテーション・デバイス・ドライバ６０４は、ディスプレイまたはプリンタなどのイメージ生成装置に、デジタルおよび／またはアナログ信号出力を供給する。このイメージ生成装置は、ネットワーク上のローカル、またはリモートの位置に置かれることもある。一実施例では、ｗｅｇページ、ｗｅｇページの分岐、および、これらのアプリケーションの一部または全部は、本発明の実施例によりデジタルおよび／またはアナログ信号出力によって搬送される。
【００３４】
補助記憶装置６１２は、本発明の複数の面を実施するのに必要なバッファおよび一時記憶領域を含め、本発明を実施するプログラムを含む実行可能なコンピュータ・プログラム、およびデータを格納するのに適している。例えば、本発明の１つまたは複数の実施例が使用する追加のローカライズ・オブジェクト、ウェブサイト・アクセス・プロファイル、および他の情報を有するデータベースを補助記憶装置６１２に格納することができる。
【００３５】
入出力（Ｉ／Ｏ）ポート６１４は、バス６１６を介して、システム６００に結合されている。Ｉ／Ｏポート６１４を通じて接続される周辺装置は、スピーカのような音声発生装置を使って聞くために増幅されたアナログおよび／またはデジタル信号を生成するオーディオ・ポートを含むことがある。入出力ポート６１４は、シリアル・リンク、ローカル・エリア・ネットワーク、ワイヤレス・リンク、パラレル・リンクなどの通信リンクを介して、アナログ形式またはデジタル形式でデータ（例えば、文章、イメージ、ビデオ、アニメーション）を受け取り、送ることを容易にする。これらのＩ／Ｏポート６１４はまた、キーボード、ポインティング・デバイス（マウス、タッチパッド、タッチスクリーン）、プリンタを含む広範な周辺装置とやり取りすることも容易にする。別法として、別々の接続線（別々のバス）を使えば、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＩＥＥＥ１３９４／Ｆｉｒｅｗｉｒｅ、ＰＣＭＣＩＡ（パーソナル・コンピュータ・メモリ・カード国際協会）、あるいはシステム６００に接続される周辺装置とインタフェースするのに適した他の任意のプロトコルの組合せを利用して、これらの周辺装置とインタフェースすることができる。
【００３６】
本発明の装置は、プログラマブル・プロセッサで実行するために機械可読の記憶装置に実体的に織り込まれたコンピュータ・プログラム・プロダクトで実施できる。また、本発明の方法ステップは、入力データを処理し出力を生成して本発明の役目を果たす命令から成る１プログラムをプログラマブル・プロセッサに実行させることで実施できる。本発明は、データ記憶システム、少なくとも１つの入力装置、少なくとも１つの出力装置からデータと命令を受け取り、またそれらのシステムや装置にデータと命令を送るように結合された少なくとも１つのプログラマブル・プロセッサを含むプログラマブル・システム上で実行できる１つまたは複数のコンピュータ・プログラムで有利に実施することができる。各コンピュータ・プログラムは、高水準手続き型プログラミング言語またはオブジェクト指向プログラミング言語で、あるいは要望があればアセンブリ言語または機械語で実施できる。とにかく、この言語は、コンパイルされた、すなわち翻訳された言語であってもよい。適したプロセッサは、例示として、汎用マイクロプロセッサと専用マイクロプロセッサを両方とも含む。一般に、プロセッサは、リード・オンリー・メモリおよび／またはランダム・アクセス・メモリから、命令とデータを受け取る。一般に、コンピュータは、データファイルを格納する１つまたは複数の大容量記憶装置を含む。このような装置は、内部ハードディスクやリムーバブル・ディスクなどの磁気ディスク、ＭＯ（光磁気）ディスク、および光ディスクを含む。コンピュータ・プログラム命令およびデータを実体的に織り込みのに適した記憶装置は、例示として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ素子などの半導体メモリ素子、内部ハードディスクやリムーバブル・ディスクなどの磁気ディスク、ＭＯ（光磁気）ディスク、ＣＤ−ＲＯＭディスクを含め、不揮発性メモリのあらゆる種類を含む。前に挙げたものはどれでも、ＡＳＩＣ（特定用途向け集積回路）で補足されるか、あるいはＡＳＩＣに組み込まれることもある。
【００３７】
ユーザと対話できるようにするために、本発明は、ユーザに情報を表示するモニタまたはＬＣＤスクリーンなどの表示装置、および、ユーザにコンピュータシステムに入力させるマウスまたはトラックボールなどのポインティング・デバイスとキーボードを持つコンピュータシステム上で実施できる。このコンピュータシステムは、コンピュータ・プログラムをユーザと対話させるグラフィカル・ユーザ・インタフェースを提供するようにプログラムできる。
【００３８】
本明細書には、例示の目的で、特定の実施形態が述べられているが、本発明の精神および範囲から逸脱しなければ、様々な変更を行うことができる。例えば、様々な実施例は、ウェブページまたはウェブサイトを含むものとして述べられているが、しかしながら、代替実施例は、情報を配信するか、あるいは、動作するために、ウェブページまたはウェブサイトが用いる技術には頼らないアプリケーションであることもある。よって、本発明は、上述の実施例には限定されないが、ただし、その代り、併記の特許請求の範囲によって、その均等の全範囲に照らして定義される。
【図面の簡単な説明】
【００３９】
【図１】ウェブページにアクセスする効率を高めるために、本発明の一実施例により構成された、アプリケーションが用いる構成要素の編成を示すブロック図。
【図２】本発明の一実施例により、アプリケーション中の利用パターンに関する情報を識別し、収集するのに用いられる操作を示す流れ図。
【図３】本発明の一実施例により、ユーザが選択しそうなウェブページまたはウェブページの分岐を予測するのに用いられる操作の流れ図。
【図４】本発明の一実施例により、サンプルウェブサイト・マップと、ウェブサイトの分岐を突き止めて、その分岐をキャッシュに格納する効果を示すブロック図。
【図５】本発明の一実施例を用いて、ネットワーク上の複数の地域で提供されるアプリケーションを示すブロック図。
【図６】ウェブページおよびアプリケーションを効率的に配信するために、本発明の一実施例で用いられるシステムのブロック図。
【図１】
2004171539.tif 000003
【図２】
2004171539.tif 000004
【図３】
2004171539.tif 000005
【図４】
2004171539.tif 000006
【図５】
2004171539.tif 000007
【図６】
2004171539.tif 000008