JP2004513405A - System, method and program for ordered and pre-caching linked files in a client / server network - Google Patents
System, method and program for ordered and pre-caching linked files in a client / server network Download PDFInfo
- Publication number
- JP2004513405A JP2004513405A JP2001565003A JP2001565003A JP2004513405A JP 2004513405 A JP2004513405 A JP 2004513405A JP 2001565003 A JP2001565003 A JP 2001565003A JP 2001565003 A JP2001565003 A JP 2001565003A JP 2004513405 A JP2004513405 A JP 2004513405A
- Authority
- JP
- Japan
- Prior art keywords
- file
- client
- server
- link
- files
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】インターネットなどのネットワークを使用した、ウェブ・ページなどのリンクされた文書の閲覧に伴う遅延を短縮するシステムおよび方法を提供すること。
【解決手段】クライアント/サーバ・ネットワークを使用して情報を転送するためのシステムおよび方法において、要求されたファイルにリンクされたファイルの人気の特徴を記述するリンク人気情報をサーバからクライアントに伝送することができる。この人気には、リンク・ファイルのそれぞれに対するユーザの要求の相対的な可能性を含めることができる。このリンク人気情報は、先行キャッシングのためにさらに人気の高いリンク・ファイルだけを選択する際に使用することができる。ユーザが選択する可能性が最も高いリンクに対応するファイルは、ユーザによるいかなるリンクの選択よりも前に、サーバのキャッシュ・メモリにロードし、かつ/またはクライアントにダウンロードすることができる。人気に基づく先行キャッシングのためのファイルの順序付けは、リンクが選択された時点で、その選択されたリンクに対応するファイルがクライアントのコンピュータに既に記憶されている確率を高めることができる。したがって、ユーザによるリンクの選択と、対応するファイルの閲覧との間の時間は短縮される。最も人気の高いリンク・ファイルが最初にキャッシュされるが、人気の低いファイルは先行キャッシングのためにはまったく選択することができないので、キャッシングを実施するために要する時間および資源もまた、要求されたファイルにリンクされたすべてのファイルを先行キャッシングする場合と比較して低減される。
【選択図】図1A system and method for reducing delays associated with browsing linked documents, such as web pages, using a network, such as the Internet.
A system and method for transferring information using a client / server network transmits link popularity information from a server to a client that describes a popularity characteristic of a file linked to a requested file. be able to. This popularity may include the relative likelihood of a user request for each of the linked files. This link popularity information can be used in selecting only more popular link files for advance caching. The file corresponding to the link that the user is most likely to select may be loaded into the server's cache memory and / or downloaded to the client prior to the user selecting any of the links. Ordering files for preemptive caching based on popularity may increase the probability that, at the time a link is selected, the file corresponding to the selected link is already stored on the client computer. Thus, the time between the user selecting a link and viewing the corresponding file is reduced. The time and resources required to perform caching were also required because the most popular linked files are cached first, but the less popular files cannot be selected at all for advanced caching. Reduced compared to pre-caching all files linked to the file.
[Selection diagram] Fig. 1
Description
【0001】
【発明の属する技術分野】
本発明は、通信装置のネットワークを介した情報の転送に関し、より詳細には、ネットワークを介して要求されたファイルにリンクされたファイルの順序付き先行キャッシングに関する。
【0002】
【従来の技術】
パワフルで便利なコンピュータ装置は、それら装置を接続するネットワークの使用量の増加を伴って継続的に普及してきた。コンピュータ装置には、コンピュータおよび、しばしば携帯型の他の装置、例えば無線電話、携帯情報端末および自動車ベースのコンピュータが含まれる。このような携帯型コンピュータ装置は、「パーベイシブ・デバイス」と呼ばれることもある。本明細書で使用する「コンピュータ」という用語は、このようなコンピュータ装置のいずれかを示す場合がある。コンピュータ装置を接続するネットワークは、銅線または光ファイバ・ケーブルなど「地上回線」を使用して形成された「有線」ネットワーク、地上波および/または衛星ベースの無線伝送リンクを使用した無線ネットワーク、または、有線および無線ネットワーク部分の組み合わせである場合がある。多くのネットワークは、クライアント/サーバ・アーキテクチャを使用して構成されており、「サーバ」コンピュータ装置は、ファイル、周辺装置または処理パワー等、「クライアント」コンピュータ装置によって要求される可能性のある資源を管理する。クライアント装置はネットワークのユーザによって操作される場合がある。他のマシンの代わりに動作する「プロキシ・サーバ」など、ユーザが直接操作しないコンピュータ装置は、クライアントとしてもサーバとしても動作することができる。
【0003】
現在、最も幅広く使用されているネットワークはインターネット、すなわちTCP/IP(伝送制御プロトコル/インターネット・プロトコル)と呼ばれるプロトコルの集合を使用して通信するコンピュータ装置のグローバル・ネットワークである。特に普及しているインターネットの一面はワールド・ワイド・ウェブ(WWWまたは「ウェブ」)、すなわちハイパーテキスト・マークアップ言語(HTML)でフォーマット設定され連結された文書の集合体である。これらの文書または「ウェブ・ページ」は、テキスト、グラフィック、オーディオ、および/またはビデオ・コンテンツを組み込むことができ、しばしば「ハイパーリンク」または単に「リンク」と呼ばれる便利なリンクを相互に含むことができる。文書またはファイルは、クライアント・コンピュータによってウェブ・ブラウザと呼ばれるアプリケーション・プログラムを介して要求される。このファイルは、サーバ・コンピュータまたは「ウェブ・サーバ」に要求される。ファイルの伝送には、ハイパーテキスト転送プロトコル(HTTP)と呼ばれる別途のインターネット・プロトコルを使用する。コンピュータの表示画面でウェブ・ページを閲覧しているユーザは、通常、ポインティング・デバイスを使用してハイパーリンクを「クリック」し、次いでリンクされた文書がユーザのコンピュータに転送され、表示される。
【0004】
しかし、ユーザが選択したリンクに対応するファイルが、ユーザの表示画面に即座に表示されない場合がある。このリンク・ファイルは、通常、ウェブ・サーバに関連付けられたハード・ドライブなどの記憶装置に記憶される。したがって、このファイルは、通常、その記憶装置から取り出され、次いでインターネットを介してユーザのコンピュータに転送されなければならない。この取り出しと転送に要する時間は、リンクの選択と関連付けられたファイルまたは文書の閲覧との間の顕著な(そして時に非常に不快な)遅延の原因となる場合がある。一部のウェブ・サーバは、要求されたファイルを、そのファイルの要求後ある期間だけキャッシュ・メモリに保存することによって、この問題を一部解消することができる。本明細書で使用するキャッシュ・メモリという用語は、記憶されている項目に対して高速なアクセスを可能にするメモリを意味する。通常、キャッシュ・メモリは、頻用される情報を短期記憶するために割り振られたシステム・メモリの一部である。キャッシュ・メモリ内のファイルは、長期記憶装置からのそのファイルの取り出しに伴う遅延を受けることなく伝送することができるため、最近要求されて(別のユーザによる場合がある)キャッシュ内に残存しているファイルを要求するユーザが、対応するリンクを選択してからファイルを閲覧するまでの間で経験する遅延は、より短くなる可能性がある。ファイル要求後のファイルのそのようなキャッシングは、例えば、ウェブ・サーバと複数ユーザの間でウェブ文書を伝送するプロキシ・サーバによって実施することができる。このようなプロキシ・サーバは、例えば大規模なインターネットのサービス・プロバイダすなわちISPによってしばしば使用される。このタイプのキャッシングは特定文書の閲覧に伴う遅延を短縮することができるが、特定ユーザによって選択されたリンクに対応するファイルがキャッシュ・メモリにある確率は必ずしも高くはない。
【0005】
リンク・ファイルの閲覧に伴う遅延を短縮することが可能な他の手法は、「先行キャッシング」と呼ばれることがある。先行キャッシングでは、(ハイパーリンクによって)要求されたファイルにリンクされたファイルは、そのリンクされたファイルのいずれかをユーザが要求する前に、ウェブ・サーバのキャッシュ・メモリに移動され、かつ/またはクライアントのコンピュータにダウンロードされる。典型的なウェブ・ページは複数のリンクされた文書を有するが、対応するリンクの多くは、そのウェブ・ページの閲覧者によって選択されない場合がある。したがって、リンクされた文書のすべてをキャッシングし、かつ/またはダウンロードすることは、時間を浪費し、サーバおよびクライアント・コンピュータの資源(例えば、キャッシュ・メモリ空間)と、ネットワークの資源(伝送帯域幅)とを不必要に結び付ける。ネットワーク伝送能力に不要の負荷を掛けることによって、一般に、ネットワーク全体における伝送の遅延が増大する危険性がある。
【0006】
【発明が解決しようとする課題】
したがって、インターネットなどのネットワークを使用した、ウェブ・ページなどのリンクされた文書の閲覧に伴う遅延を短縮するシステムおよび方法を開発することが望ましい。望ましい方法は、時間と資源の浪費を最小限に抑えながら、選択されたリンクの大部分の閲覧に伴う遅延を短縮するものであろう。
【0007】
【課題を解決するための手段】
上記で概説したいくつかの問題点は、その大部分が、ネットワーク・サーバとネットワーク・クライアントの間でリンク人気情報を転送するシステムおよび方法によって対処される。このリンク人気情報は、要求されたファイルにリンクされたファイルの人気の特徴を記述する。この人気は、リンク・ファイルのそれぞれに対するユーザの要求の相対的可能性を含めることができる。リンク人気情報は様々な方法で生成することができるが、これらの方法は、サーバのログ・ファイルの分析、様々なウェブ・ページの「ヒット数」のトラッキングまたは様々なウェブ・ページへの訪問、またはクライアントがサーバに送信することのできる「クッキー」などの情報コンテンツの分析を含むことができる。サーバからクライアントへのリンク人気情報の転送もまた、様々な方法で行うことができる。例えば、この情報は、要求されたファイルと共にクライアントに送信される別個のファイルに記憶することができる。リンク人気情報は、HTTPプロトコルなどのプロトコルに組み込み、要求されたファイルを送信するために使用することもできる。さらに、リンク人気情報は、例えば、リンク・ファイルへのリンクを定義するために使用されるコード(例えば、HTML)内に含めるなどして、要求されたファイル自体に含めることができる。
【0008】
このリンク人気情報は、先行キャッシングのためにさらに人気の高いリンク・ファイルだけを選択する際に使用することができる。ユーザによって選択される可能性の最も高いリンクに対応するファイルを、ユーザが1つでもリンクを選択する前に、サーバのキャッシュ・メモリにロードし、かつ/またはクライアントのコンピュータ装置にダウンロードすることができる。人気に基づく先行キャッシングのためのファイルのこの順序付けは、リンクが選択された時点で、その選択されたリンクに対応するファイルがクライアントのコンピュータに既に記憶されている確率を高めることができる。したがって、ユーザによるリンクの選択と対応するファイルを閲覧する間の時間(「待ち時間」と呼ばれることがある)は劇的に短縮される。最も人気の高いリンク・ファイルが最初にキャッシュされるが、人気の低いファイルは先行キャッシングのためにはまったく選択することができないので、キャッシングを実行するために要する時間および資源もまた、要求されたファイルにリンクされたすべてのファイルを先行キャッシングする場合と比較して低減される。
【0009】
この方法の一実施形態において、リンク人気情報はサーバからクライアントに対して、人気情報に対応するリンクを含んでいる要求されたファイルがクライアントに転送されるのと略同時に転送される。次いでリンク・ファイルの少なくとも1つがサーバからクライアントに転送される場合があるが、これらのリンク・ファイルはリンク人気情報を使用して決定された順序で転送される。好ましい実施形態では、リンク・ファイルのこのような転送は、クライアントによって開始されるダウンロードである。リンク・ファイルの1つに対応する元の要求された文書内のリンクをユーザが選択する際、リンク・ファイルをユーザの表示画面に表示することができる(典型的には、クライアントのコンピュータ装置の表示画面)。
【0010】
クライアント/サーバ・ネットワーク内の情報を転送するシステムの一実施形態は、ネットワーク・サーバが、要求されたファイルに関連するリンク人気情報をネットワークのクライアントに提供するようにさらに構成されている場合、要求されたファイルをネットワークのクライアントに提供するように構成されたネットワーク・サーバを含む。ネットワークのサーバは、プロセッサ、キャッシュ・メモリ、ハード・ドライブなどの記憶装置、および伝送媒体の接続を含むことができる。要求されたファイルおよび要求されたファイルにリンクされた追加のファイルは、通常、記憶装置に記憶されている。このシステムは、リンク・ファイルのいずれかをユーザが要求する前に、サーバから1つまたは複数の追加のリンク・ファイルをダウンロードするようにクライアントが構成されている場合、ネットワークのクライアントをさらに含むことができる。そのようなリンク・ファイルをダウンロードする順序は、リンク人気情報を使用して決定される。クライアントは、通常、ウェブ・ブラウザを使用して追加のファイルをダウンロードするように構成されている。ウェブ・ブラウザは、先行キャッシングがイネーブルされるかどうかをユーザが選択できるように構成することができる。
【0011】
上記の方法およびシステムの他に、本明細書ではコンピュータで使用可能な搬送媒体も検討する。搬送媒体は、磁気ディスクまたは光ディスク、磁気テープ、またはメモリなどの記憶媒体であってよい。さらに、搬送媒体は、それを通してデータまたはプログラム命令が伝送される電線、ケーブルまたは無線媒体、またはそのような電線、ケーブルまたは無線媒体を通してデータまたはプログラム命令を搬送する信号であってよい。搬送媒体は、本明細書に記載の方法の実施形態を実施するために実行可能なプログラム命令を含めることができる。
【0012】
次に本発明を、添付の図面を参照しながら例示としてのみ説明する。
【0013】
【発明の実施の形態】
次に図面を参照するが、図1は、クライアント/サーバ・ネットワーク内で情報を転送するためのシステム10の一実施形態を示している。システム10には、ネットワーク・サーバ12、ウェブ・サーバである場合のあるコンピュータ装置が含まれる。図1の実施形態では、サーバ12には、キャッシュ14、プロセッサ16および記憶装置18が含まれる。キャッシュ14は、プロセッサ16によって高速にアクセス可能な記憶領域の集合である。一実施形態では、キャッシュ14は、一時情報記憶域に割り振られたプロセッサのシステム・メモリの一部である場合がある。記憶装置または記憶媒体18は、揮発性メモリまたは不揮発性メモリ、ハード・ディスクまたはフロッピー(R)・ディスクなどの磁気ディスク、光ディスク、および/または磁気テープなどの多くの形態を取ることができる。このような記憶装置は「直接アクセス記憶装置」(DASD)と呼ばれることがある。通常、記憶装置18は、キャッシュ14よりも大きな記憶容量を有するが、プロセッサ16がそこにアクセスするにはより長い時間を要する。
【0014】
図1の実施形態では、記憶装置18には、これもまたプログラム実行可能といわれるファイル20およびプログラム命令22が含まれる。プログラム命令は、通常、記装置内の「実行可能ファイル」に記憶され、実行中にメモリにロードされる。ファイル20は、ネットワークのユーザが閲覧するのに適したウェブ・ページなどの文書を含むことができ、テキスト、グラフィックス、ビデオおよび/またはオーディオ情報を含むことができる。このような文書ファイルは、HTML言語または拡張可能なマーク付け言語(XML)または無線用マーク付け言語(WML)などの他の適切な言語の形式である場合がある。ファイル20は、さらに、ネットワークを介して通信する際にコンピュータ装置が使用するために適したデータ・ファイルをさらに含むことができる。例えば、特定ファイルにリンクされた追加のファイルに対するリンク人気情報を含むファイルを、ファイル20に含めることができる。本明細書で使用する「ファイル」という用語は、コンピュータ装置上で記憶するために適した、またはネットワーク内を転送するために適した任意のデータの集合を意味する場合がある。プログラム命令22は、本明細書に記載の方法を実施するために使用されるプログラム命令などの、ネットワーク・サーバ12の機能を実施するために使用される様々なプログラム命令を含むことができる。
【0015】
伝送媒体24は、ネットワーク・サーバ12を、プロキシ・サーバ26および/またはクライアント28などの他のコンピュータ装置に接続するために使用することができる。伝送媒体24は、例えば電線、ケーブル、無線伝送経路またはこれらの組み合わせを含むことができる。伝送媒体24を介した伝送に使用されるプロトコルは、TCP/IP、HTTP、および/または、無線アプリケーション・プロトコル(WAP)などの他の適切なプロトコルを含むことができる。
【0016】
システム10は、伝送媒体24を使用してサーバ12にリンクされたクライアント28を含むことができる。図1の実施形態では、クライアント28は、キャッシュ14、プロセッサ16、および記憶装置35を含む。記憶装置35は、上記と同様の記憶装置18であり、また、ファイル39、ブラウザ・プログラム37、プログラム命令36を含むことができる。ブラウザ37などのブラウザ・プログラムは、命令36などのプログラム命令(または実行可能命令)を使用して実施されるが、図1では、クライアントのこの機能を強調するためにブラウザ37は別個に示してある。ブラウザ・プログラム37は、例えば、ユーザがWWW上のファイルを取り出し、それを閲覧できるようにするウェブ・ブラウザ、または別のネットワーク上で同様の機能を実行するプログラムであってよい。一部の実施形態では、本明細書に記載の方法の実施態様に必要となるクライアント機能はブラウザ37に含まれる。このような機能および/またはクライアントのコンピュータ装置他の機能は、プログラム命令36などの別個のプログラム命令で実施することもできる。ファイル39は、サーバ12などのネットワーク・サーバからダウンロードされるファイルを含めて、クライアントのコンピュータ装置上に記憶されている様々なファイルを含むことができる。クライアント28は、通常、出力装置38および入力装置40に関連付けられているが、これは、クライアントのコンピュータ装置がシステム10のユーザによって操作される実施形態では特にそうである。出力装置38は、例えば表示画面および/またはプリンタを含むことができる。入力装置40は、例えばキーボードおよび/またはマウスなどのポインティング・デバイスを含むことができる。
【0017】
一部の実施形態では、システム10はプロキシ・サーバ26を含むこともできる。本明細書で使用されるプロキシ・サーバという用語は、クライアントと「実」サーバの間の媒介として動作するコンピュータ装置を意味している。プロキシ・サーバは、クライアントにとってはサーバのように見える場合があるが、実サーバにはクライアントのように見える場合がある。クライアントからの要求はプロキシ・サーバによって応答を返すことも、実サーバに渡すこともできる。実サーバからのファイルまたは他の通信情報は、プロキシ・サーバによってクライアントに渡すことができる。プロキシ・サーバは、システム10において様々な理由で利用することができる。例えば、プロキシ・サーバは、一群の選択されたクライアントのコンピュータに対して、専用コンテンツおよび/または改善されたパフォーマンスを提供するために使用することができる。この実施例は、加入者から特定のISPにある種のファイルを提供する速度を高めるための、プロキシ・サーバによるキャッシングの使用法である場合がある。プロキシ・サーバの別の使用法は、クライアントから実サーバに、かつ/またはこの逆方向に送信中の情報をフィルタリングすることである場合がある。例えば、プロキシ・サーバは、企業その他の組織でコンピュータに対して外部アクセスを制限する「ファイアーウォール」を実施するために使用することができる。図1の実施形態では、プロキシ・サーバ26は、キャッシュ14、プロセッサ16、および記憶装置30を含むことができる。記憶装置30は、ファイル32およびプロキシ・サーバ・プログラム命令34を含むことができる。ファイル32は、サーバとクライアントの間で伝送中のファイルなどの、プロキシ・サーバに記憶されているいかなるファイルでも含むことができる。プログラム命令34は、クライアント・コンピュータとの対話などの、プロキシ・サーバ26の機能を実施するために使用される様々なプログラム命令を含むことができる。
【0018】
図1および本明細書に添付のすべての他のブロック図では、ブロックは、特定の構造ではなく機能を表すことを目的としている。回路構成および/またはソフトウェアを使用する図示したシステムの実施態様は、ブロックの機能を実現するために、複数のブロックを単一回路または単一装置に組み込むこと、または複数の回路および/または複数の装置を組合せることを必要とする場合がある。例えば、キャッシュ14は、プロセッサ16を具体化する半導体チップ上に含まれる場合がある。さらに、システム10などのシステムは、明示的には図示しない他の素子を含む場合がある。例えば、図1に示していない複数のサーバ、プロキシ・サーバ、および/またはクライアントは、本明細書に記載の方法を実施するために使用されるシステム内に含まれる場合がある。さらに、サーバ、プロキシ・サーバ、および/またはクライアントのコンピュータ装置が、図示しない別の素子を内蔵する場合がある。
【0019】
本明細書に記載の方法を実施する際に使用することのできるリンク人気情報41の例示的集合を図2に示す。要求されたファイル42は、(例えばウェブ・ブラウザを介して)ユーザによって要求された、したがってクライアントによってサーバに要求されたファイルであってよい。図2のデータでは、要求されたファイルは「corporationx.html」と呼ばれるHTMLファイルである。リンク・ファイル44は、対応する要求されたファイル42内にリンクされたファイルである。図2の実施形態では、要求されたファイル「corporationx.html」は、「products.html」および「address.html」を含めて7つのリンク・ファイルへのリンクを含む。要求されたファイル42がHTMLファイルである実施形態では、リンク・ファイル44へのリンクは、リンクを定義するHTMLフォーマット・タグを使用して要求されたファイル42内に含めることができる。リンク・ファイル44のそれぞれは、対応する人気インジケータ46に関連付けられる。図2の実施形態では、人気インジケータ46のそれぞれは、要求されたファイル42内のリンクを選択しているユーザが、その対応するリンク・ファイルを選択する確率として表現される。この実施例では、リンク・ファイルのすべてに対するインジケータは合計すると1になるので、「corporationx.html」からのリンク選択の40パーセントは、「products.html」に対応するリンクの選択になる可能性がある。しかし、人気インジケータ46は様々な他の形式で表現することができる。例えば、対応するファイルを選択するリンク選択のパーセンテージをファイルごとに記述することも、対応するリンクを選択したユーザが選択したファイルを閲覧するパーセンテージを使用することもできる。もう1つの別法として、一定期間中におけるリンクの実際の選択数を提供することも、または可能ならば選択率を提供することも可能である。
【0020】
図2のリンク人気情報に鑑みて、要求されたファイル42およびリンク・ファイル44を(典型的には、図1の装置18などの記憶装置に)含んでいるサーバは、要求されたファイル「corporationx.html」をクライアントに転送する際に、リンク・ファイル「products.html」および「support.html」を図1のキャッシュ14などの、サーバ上のキャッシュ・メモリにロードすることもできる。これらのリンク・ファイルのどちらかがその後クライアントによって要求される場合、記憶装置からそのファイルの読み込みに伴う遅延なしに、これらのファイルを迅速にそのクライアントに転送することができる。リンク人気情報41は、クライアントに対して入手可能にすることもできる。リンク人気情報に鑑みて、クライアントは、リンク・ファイルをユーザが1つでも選択する前に、例えばリンク・ファイル「products.html」および「support.html」をサーバからダウンロードすることができる。このようにして、これらのリンク・ファイルのどちらかがユーザによって選択される場合、そのファイルは既にクライアントのコンピュータ上にあることになり、サーバとクライアントの間の伝送に伴う遅延は解消されることになる。リンク人気情報41は、リンク選択の約70パーセントが「products.html」または「support.html」のどちらかに対するものであることを示しているので、これら2つのファイルをキャッシングし、かつ/またはダウンロードすることによって、「corporationx.html」からのリンク選択の約70パーセントに対する待ち時間が短縮されるはずである。このパフォーマンス改善は、他の人気の低いリンク・ファイルをキャッシングし、かつ/またはダウンロードすることによって付加的な時間または資源を使用することを必要とせずに達成することができる。
【0021】
リンク人気情報41を形成するための人気インジケータ46の判定は、様々な方法で達成することができる。例えば、ウェブ・サーバによって記憶されている特定ファイルがアクセスされる回数を作表するために、トラッキング・プログラムを使用することができる。通常、どの特定ユーザがそのファイルにアクセスしているかなどの付加的な情報を提供するこのようなトラッキング・プログラムの複数の実施態様は、現在、市販されている。一部の実施形態では、「cookies」、またはウェブ・ブラウザによってウェブ・サーバに送信することができる情報を識別することを、特定のリンク・ファイルの選択をトラッキングするために使用することができる。リンク・ファイルの人気を決定する別の方法は、サーバ・ログ、またはサーバ上の動作の記録を含んでいるファイルを分析することである。ウェブ・サーバは、通常、サーバに対して行われた各要求を含めてそのようなログ・ファイルを維持する。別の代替形態では、リンク人気情報は、例えばリンクの性質に関する知識に基づいて推定することができる。一部の実施形態では、例えばサーバ統計またはログ・ファイル分析に基づいて後で更新することができるリンク人気情報の初期設定またはデフォルト設定としてそのような推定値を使用することができる。一部の実施形態では、リンク人気情報の更新は定期的に、可能ならばそのサーバに関連付けられたその他の更新またはメンテナンスと共に実施することができる。
【0022】
図2の作表形式で示されている情報41などのリンク人気情報をサーバ上に記憶し、複数の異なる方法でクライアントに転送することができる。一実施形態では、図2に示す情報と類似の情報は、図1の記憶装置18などの装置上のサーバに記憶することができる別個のファイルに記憶することができる。このようなファイルは、図2の実施形態では「corporationx_linkpopularity.html」という名称を有することができ、要求されたファイル(「corporationx.html」)が転送されるのと同時にクライアントに転送することができる。このファイルは、様々なプログラミング言語を含むことができ、複数のデータ構造のどのようなデータ構造(例えば、作表構造またはオブジェクト指向構造)を使用しても情報を伝えることができる。別法として、リンク人気情報を、リンク・ファイルに対して各リンクを設定するために使用されるフォーマット設定内などの、要求されたファイル自体に含めることができる。このような実施形態では、クライアントのブラウザ・プログラムは、要求されたファイルからリンク人気情報を抽出するように構成されることが好ましい。リンク人気情報は、要求されたファイルに対するヘッダー、すなわち典型的にはファイルに関する情報のために予約されたファイルの始まりの部分に含めることもできる。別の実施例として、リンク人気情報を、(例えば、そのヘッダ情報内で)HTTPなどの通信プロトコルを使用してサーバからクライアントに送信することができる。一部の実施形態では、リンク人気情報を送信するための方法の実施態様は、プログラミング言語(HTMLなど)または通信プロトコル(HTTPなど)の仕様を拡張することを必要とする場合がある。コンピュータ・ベースのネットワークの急速な発展は、通常、そのような仕様に対する拡張とアップグレードを頻繁にもたらす。
【0023】
図2に示すリンク人気情報は、単に例示的一実施形態を示すものであり、多くの他の実施形態が可能であり、それらが見込まれている。例えば、図2のデータには、追加の可能な要求されたファイル42を、対応するリンク・ファイルおよび人気インジケータと共に含めることができる。実際、図2に示すリンク・ファイル44のどれもが、要求されたファイル42の1つとしてリンク・ファイルをそれ自体に含むように含めることもできる。リンク人気情報は、図2に示すのとは異なる形式で構成することもできる。例えば、要求されたファイルは、オブジェクト指向プログラミングの手法において1つのオブジェクトとして表すことができ、リンク・ファイルおよび相当する人気インジケータはそのようなオブジェクトの属性として表すことができる。さらに、図2に明示していない他の問題をリンク人気情報に含めることができる。例えば、リンク・ファイルが閲覧用に選択される可能性の特徴を記述することに加えて、リンク任意情報は、例えば、リンクが最初に選択される可能性を示すこともできる。
【0024】
図3を参照すると、クライアント/サーバ・ネットワーク内で情報を伝送する方法の一実施形態を示す流れ図が示されている。図3の方法は、図1のサーバ12などのサーバによって実施することができ、命令22などのプログラム命令を使用して実施することができる。図3の実施形態では、サーバ上に記憶されているファイルに対する要求がクライアントから受信された後(ボックス48)、その要求されたファイルに対するリンク人気情報が、コンパイルされるかまたは探し出される(ボックス50)。ファイルを要求しているクライアントは、例えば図1のクライアント28であっても、プロキシ・サーバ、例えば図1のプロキシ・サーバ26であってもよい。一部の実施形態では、リンク人気情報は、ファイルに対する要求が受信された時点では既にサーバ上に記憶されている。図2の説明で上述したように、リンク人気情報は、例えば別個のファイルに含めることも、要求されたファイル自体の中に含めることもできる。既に記憶されているリンク人気情報を使用することによって、ファイルに対する要求へのサーバの応答速度を高めることができる。別法として、リンク人気情報は、一部の実施形態では、ファイル要求に応えてコンパイルすることができ、したがって、最新の人気情報を提供することができる。別の可能な実施形態では、要求されたファイルに対するリンク人気情報は、定期的に更新されるリンク人気情報を含んでいる別個のファイルにアクセスすることによって、要求の時点で更新することができる。このような方法は、特に、要求されたファイル自体の中でリンク人気情報が伝送される実施形態、または、通信プロトコルを介してリンク人気情報が伝送される実施形態では有用である。
【0025】
要求されたファイルは、要求しているコンピュータ装置に伝送され(ボックス52)、また、リンク人気情報も伝送される(ボックス54)。上述のように、リンク人気情報は、要求されたファイル内および/または伝送プロトコル・コマンドまたはヘッダー内でファイルとして送信することを含めて、様々な方法で送信することができる。図3の実施形態では、1つまたは複数のリンク・ファイルは、そのリンク・ファイルの相対的人気に応じて、サーバ上のキャッシュ・メモリにロードされる(ボックス56)。どれだけ多くのファイルをキャッシュするかを判定するには様々な基準を使用することができるが、一部の実施形態では、ユーザ(典型的にはサーバ管理者)が基準を変更することができる。例えば、リンク・ファイルは、キャッシュされたファイルを使用して、リンク選択の所定のパーセンテージが一致する可能性があるように、十分なファイルがキャッシュされるまで人気の順序にキャッシュすることができる。図2の例示的情報を使用すると、キャッシュされたファイルからの可能性のあるリンク選択の70パーセントと一致するように十分なファイルがキャッシュされるよう指示する基準が設定されると、「products.html」および「support.html」のキャッシングは十分であることになる。しかし、キャッシュされたファイルを使用して、可能性のあるリンク選択の75パーセントが一致するべきであると指示される場合、「stockholder.html」もキャッシュされることになる。最も人気の高い3つのファイルをキャッシングするとか、所定時間が経過するまで人気の順序でファイルをキャッシングするなど、他の多くのタイプの基準を使用することができる。複数のファイルが、ユーザによって選択されている確率と同じ確率を有する場合、キャッシングの順序を決定する際に使用するために他のタイプのリンク人気情報を使用することもできる。例えば、リンク人気情報は、一部の実施形態では、ファイルが最初に選択される確率を、ファイルすべてが選択されるかどうかの確率に加えて含めることができる。キャッシュされたファイルは、典型的には、ある種の所定期間経過後にキャッシュから除去される(または、他の情報で上書きされる)。
【0026】
図3の実施形態では、1つまたは複数のキャッシュされたリンク・ファイルがクライアントに送信される(ボックス58)。これは、通常、クライアントからの要求に応答して実行され、これによってクライアントは、そのようなファイルに対するユーザからの要求に備えて、最も人気の高いリンク・ファイルをキャッシュすることができる。リンク・ファイル自体が別のファイルへのリンクを含んでいる場合、要求されたリンク・ファイルに対してステップ48から58までのシーケンスを実行することができる。これは、場合によっては過度の時間と資源を消費する場合があるが、具体的には、要求されたリンク・ファイルに対応するリンクが実際にユーザによって選択されるかどうかが判明しない場合にこれが発生する可能性がある。したがって、一部の実施形態では、クライアントからのファイルに対する要求は、そのファイルがユーザの要求によるものか、先行キャッシング(どのユーザからの要求よりも前に)のための要求かに関する情報を含めることができる。このような一実施形態では、サーバは、ユーザの要求によるファイルだけに対するリンク人気情報を送信するように構成することができる。
【0027】
図3の方法の多くの変形形態が実施可能であり、それらが見込まれている。例えば要求されたファイルがリンクを1つも含んでいない場合、リンク・ファイルに関するステップは当然省略されることになる。本明細書に記載の方法は、すべてのリンク・ファイルをキャッシュする方法と比較して、先行キャッシングを提供する際に使用される時間および資源を低減することができるものと確信する。これらの方法にも時間および資源に幾ばくかのコストは掛かるが、場合によっては、ユーザは順序付き先行キャッシングをディセーブルすることを希望することができる。キャッシングをディセーブルすることは、例えば、キャッシングを利用することができる別のアプリケーションを干渉する危険性のある場合に好適な場合がある。このようにディセーブルすることは、例えばブラウザのプログラムにおけるオプションを使用して実施することができる。このような一実施形態では、クライアントからのファイルに対する要求には、例えばリンク人気情報を送信しないようにとの命令を含めることができる。このような場合にはステップ50および54から58を省略することができる。いくつかのステップは、図3に示す順序と異なる順序で実施することもできる。例えば、ステップ50および52のステップの順序は、ステップ54および56の順序と同様に、一部の実施形態では逆転させることができる。
【0028】
クライアント/サーバ・ネットワーク内で情報を伝送する方法の別の実施形態を示す流れ図を図4に示す。図4の方法は、図1のクライアント28などのクライアント、または、プロキシ・サーバなどの、クライアントとして動作するコンピュータによって実施することができる。この方法は、通常、図1のブラウザ37などのブラウザ・プログラムを使用してクライアント上で実施されるが、この方法の一部または全ては、命令36またはプロキシ・サーバ命令34などの他のプログラム命令を使用して実施することも可能である。図4の実施形態では、ユーザによるファイルの選択に応答してサーバに(または可能ならばプロキシ・サーバに)ファイルが要求される(ボックス60)。図3の説明で上述するように、サーバに対するこのような要求は、一部の実施形態では、その要求がユーザの選択への応答であるという通知を含めることができる(先行キャッシングに対するファイルの要求とは対照的に)。この要求には、一部の実施形態では、リンク人気情報が提供されないという通知などの他の情報を含めることもできる(順序付き先行キャッシングがユーザによってディセーブルされる一実施形態において)。要求されたファイルはサーバから受信され(ボックス62)、順序付き先行キャッシングがディセーブルされない一実施形態では、要求されたファイル内の任意のリンク・ファイルに対するリンク人気情報も受信される(ボックス64)。要求されたファイルがユーザの表示画面に表示される(ボックス66)。
【0029】
受信したリンク人気情報に基づいて、要求されたファイルに関連する1つまたは複数のリンク・ファイルを、先行ダウンロードのためにサーバに対して要求することができる(ボックス68)。ダウンロードするためにどれだけ多くのリンク・ファイルがサーバに対して要求されるかを決定するために使用される基準は、図3の説明で上述したように、サーバ上でキャッシングするためにファイルを選択する際に使用される基準と同様の基準であってよい。要求されたリンク・ファイルは、次いでサーバから受信され、クライアントのコンピュータのキャッシュ・メモリに記憶することができる(ボックス70)。ユーザによって(例えば、リンクを選択することによって)要求された次のファイルが、キャッシュされたリンク・ファイルのうちの1つである場合(決定ボックス72の「yes」の分岐)、要求されたファイルを迅速に表示することができる(ボックス74)。要求されたファイルがキャッシュされたリンク・ファイルのうちの1つでない場合(72の「no」の分岐)、そのファイルはサーバに対して要求される(ボックス60)。新しい要求されたファイルがそれ自体の中にリンク・ファイルを有する場合、ステップ62から70を新たな要求されたファイルに対して反復することができる。図4の方法の複数の変形形態が実施可能であり、それらが見込まれている。図3の方法の場合のように、例えばリンク・ファイルに関するステップは、要求されたファイルがリンクを1つも含んでいない実施形態、または順序付き先行キャッシングがユーザによってディセーブルされる実施形態では省略することができる。図4の一部のステップは、この方法の有益性を損なわずに異なる順序で実施することができる。例えば、ステップ62、64および66の順序は一部の実施形態では変更することができる。
【0030】
図1の命令22、34または36、または、図3および4に示すような方法を実施するブラウザ37内の命令などのプログラム命令は、搬送媒体によって伝送され、または搬送媒体上に記憶することができる。搬送媒体は、電線、ケーブル、または無線伝送リンクなどの伝送媒体、または電線、ケーブルまたはリンクを介して伝えられる信号であってよい。搬送媒体は、揮発性または不揮発性メモリなどの記憶装置(例えば、読取専用メモリまたはランダム・アクセス・メモリ)、磁気ディスクまたは光ディスク、または磁気テープなどの記憶媒体であってもよい。
【図面の簡単な説明】
【図1】
クライアント/サーバ・ネットワーク内で情報を転送するシステムの一実施形態を示すブロック図である。
【図2】
クライアント/サーバ・ネットワークを使用してアクセス可能なファイル内のリンクに対する例示的リンク人気データを示す図である。
【図3】
クライアント/サーバ・ネットワーク内で情報を転送するための、サーバによって実施することができる方法の一実施形態を示す流れ図である。
【図4】
クライアント/サーバ・ネットワーク内で情報を転送するための、クライアントによって実施することができる方法の一実施形態を示す流れ図である。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to the transfer of information over a network of communication devices, and more particularly, to the ordered advance caching of files linked to a requested file over a network.
[0002]
[Prior art]
Powerful and convenient computing devices have been continually becoming popular with the increasing use of networks connecting them. Computer devices include computers and other devices that are often portable, such as wireless telephones, personal digital assistants, and vehicle-based computers. Such portable computing devices are sometimes referred to as "pervasive devices." The term "computer" as used herein may refer to any such computing device. The network connecting the computer devices may be a "wired" network formed using "terrestrial lines" such as copper or fiber optic cables, a wireless network using terrestrial and / or satellite based wireless transmission links, or , A combination of wired and wireless network portions. Many networks are configured using a client / server architecture, where a "server" computing device allocates resources, such as files, peripherals, or processing power, that may be required by the "client" computing device. to manage. The client device may be operated by a user of the network. Computer devices that are not directly operated by the user, such as a "proxy server" that runs on behalf of another machine, can operate as both a client and a server.
[0003]
Currently, the most widely used network is the Internet, a global network of computer devices that communicate using a collection of protocols called TCP / IP (Transmission Control Protocol / Internet Protocol). One aspect of the Internet that is particularly widespread is the World Wide Web (WWW or "web"), a collection of documents formatted and linked in the hypertext markup language (HTML). These documents or "web pages" may incorporate text, graphic, audio, and / or video content, and may contain useful links to each other, often referred to as "hyperlinks" or simply "links". it can. The document or file is requested by the client computer via an application program called a web browser. This file is requested from the server computer or "web server". A separate Internet protocol called Hypertext Transfer Protocol (HTTP) is used for file transmission. A user viewing a web page on a computer display screen typically "clicks" on the hyperlink using a pointing device, and then the linked document is transferred to the user's computer and displayed.
[0004]
However, the file corresponding to the link selected by the user may not be immediately displayed on the user's display screen. This link file is typically stored on a storage device such as a hard drive associated with the web server. Therefore, this file must typically be retrieved from its storage and then transferred to the user's computer via the Internet. The time required for this retrieval and transfer can cause a noticeable (and sometimes very unpleasant) delay between selecting the link and viewing the associated file or document. Some web servers can partially alleviate this problem by storing the requested file in cache memory for a period of time after the request for the file. The term cache memory, as used herein, refers to memory that allows for fast access to stored items. Usually, the cache memory is a part of the system memory allocated for short-term storage of frequently used information. The files in the cache memory can be transmitted without the delays associated with retrieving the files from long-term storage, so they have recently been requested (possibly by another user) and remain in the cache. The delay experienced by a user requesting a file between selecting the corresponding link and viewing the file may be less. Such caching of a file after a file request can be performed, for example, by a proxy server that transmits web documents between the web server and multiple users. Such proxy servers are often used, for example, by large Internet service providers or ISPs. Although this type of caching can reduce the delay associated with viewing a particular document, the probability that the file corresponding to the link selected by a particular user is in cache memory is not always high.
[0005]
Another technique that can reduce the delay associated with browsing linked files is sometimes referred to as "advanced caching." In advanced caching, a file linked to the requested file (by a hyperlink) is moved to the web server cache memory before the user requests any of the linked files, and / or Downloaded to the client computer. A typical web page has multiple linked documents, but many of the corresponding links may not be selected by a viewer of the web page. Thus, caching and / or downloading all of the linked documents is time consuming and requires resources of the server and client computers (eg, cache memory space) and resources of the network (transmission bandwidth). And needlessly. Unnecessary load on the network transmission capability generally increases the transmission delay in the entire network.
[0006]
[Problems to be solved by the invention]
Accordingly, it is desirable to develop systems and methods that reduce the delay associated with browsing linked documents, such as web pages, using a network, such as the Internet. A desirable approach would be to minimize the waste of time and resources while reducing the delay associated with browsing most of the selected links.
[0007]
[Means for Solving the Problems]
Some of the issues outlined above are addressed in large part by systems and methods for transferring link popularity information between network servers and network clients. This link popularity information describes the popularity characteristics of the file linked to the requested file. This popularity may include the relative likelihood of the user's request for each of the linked files. Link popularity information can be generated in a variety of ways, including analyzing server log files, tracking "hits" on various web pages or visiting various web pages, Or it may involve the analysis of information content such as "cookies" that the client can send to the server. The transfer of link popularity information from the server to the client can also be done in various ways. For example, this information can be stored in a separate file that is sent to the client along with the requested file. Link popularity information can also be incorporated into protocols such as the HTTP protocol and used to send the requested file. Further, link popularity information may be included in the requested file itself, such as, for example, in code (eg, HTML) used to define a link to the link file.
[0008]
This link popularity information can be used in selecting only more popular link files for advance caching. The file corresponding to the link most likely to be selected by the user may be loaded into the server's cache memory and / or downloaded to the client's computing device before the user selects at least one link. it can. This ordering of files for preemptive caching based on popularity may increase the probability that, at the time a link is selected, the file corresponding to the selected link is already stored on the client's computer. Thus, the time between selecting a link by the user and viewing the corresponding file (sometimes referred to as "wait time") is dramatically reduced. The time and resources required to perform caching were also required because the most popular linked files are cached first, but the less popular files cannot be selected at all for advanced caching. Reduced compared to pre-caching all files linked to the file.
[0009]
In one embodiment of the method, the link popularity information is transferred from the server to the client at about the same time that the requested file containing the link corresponding to the popularity information is transferred to the client. Then, at least one of the link files may be transferred from the server to the client, but the link files are transferred in an order determined using the link popularity information. In a preferred embodiment, such a transfer of the link file is a client-initiated download. When the user selects a link in the original requested document that corresponds to one of the link files, the link file can be displayed on the user's display screen (typically on the client's computing device). Display screen).
[0010]
One embodiment of a system for transferring information in a client / server network includes the step of requesting if the network server is further configured to provide link popularity information associated with the requested file to clients of the network. A network server configured to provide the generated files to clients of the network. A server in the network may include a processor, a cache memory, a storage device such as a hard drive, and a connection for transmission media. The requested file and any additional files linked to the requested file are typically stored on storage. The system may further include a client of the network if the client is configured to download one or more additional link files from a server before a user requests any of the link files. Can be. The order in which such link files are downloaded is determined using the link popularity information. Clients are typically configured to download additional files using a web browser. The web browser can be configured to allow a user to select whether advance caching is enabled.
[0011]
In addition to the above methods and systems, the present invention also contemplates computer-usable carrier media. The carrier medium may be a storage medium such as a magnetic disk or an optical disk, a magnetic tape, or a memory. Further, the carrier medium may be a wire, cable or wireless medium through which data or program instructions are transmitted, or a signal carrying data or program instructions over such a wire, cable or wireless medium. The carrier medium may include program instructions executable to perform embodiments of the methods described herein.
[0012]
The invention will now be described, by way of example only, with reference to the accompanying drawings.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Referring now to the drawings, FIG. 1 illustrates one embodiment of a
[0014]
In the embodiment of FIG. 1, the
[0015]
[0016]
The
[0017]
In some embodiments,
[0018]
In FIG. 1 and all other block diagrams attached herein, blocks are intended to represent a function, rather than a particular structure. Embodiments of the illustrated system using circuitry and / or software may incorporate multiple blocks into a single circuit or single device, or implement multiple circuits and / or multiple You may need to combine the devices. For example,
[0019]
An exemplary collection of
[0020]
In view of the link popularity information of FIG. 2, the server containing the requested
[0021]
Determining the
[0022]
Link popularity information, such as the
[0023]
The link popularity information shown in FIG. 2 is merely illustrative of one embodiment, and many other embodiments are possible and anticipated. For example, the data of FIG. 2 may include additional possible requested
[0024]
Referring to FIG. 3, a flow diagram illustrating one embodiment of a method for transmitting information in a client / server network is shown. The method of FIG. 3 can be implemented by a server, such as
[0025]
The requested file is transmitted to the requesting computing device (box 52), and link popularity information is also transmitted (box 54). As noted above, link popularity information may be sent in a variety of ways, including as a file in the requested file and / or in transmission protocol commands or headers. In the embodiment of FIG. 3, one or more link files are loaded into a cache memory on the server depending on the relative popularity of the link files (box 56). Various criteria can be used to determine how many files to cache, but in some embodiments, the user (typically a server administrator) can change the criteria. . For example, linked files may be cached using the cached files in a popular order until enough files are cached so that a predetermined percentage of link selections may match. Using the exemplary information of FIG. 2, once the criteria are set to indicate that enough files are to be cached to match 70 percent of the possible link selections from the cached file, "products. html "and" support.html "will be sufficient. However, if using the cached file indicates that 75 percent of the possible link selections should match, then "stockholder.html" will also be cached. Many other types of criteria can be used, such as caching the three most popular files or caching files in popularity order until a predetermined time has elapsed. If the files have the same probability as being selected by the user, other types of link popularity information may be used for use in determining the order of caching. For example, link popularity information may include, in some embodiments, the probability that a file is initially selected, in addition to the probability that all files will be selected. Cached files are typically removed from the cache after some predetermined period of time (or overwritten with other information).
[0026]
In the embodiment of FIG. 3, one or more cached linked files are sent to the client (box 58). This is typically performed in response to a request from the client, which allows the client to cache the most popular linked files in preparation for a user request for such a file. If the link file itself contains a link to another file, the sequence of steps 48-58 can be performed on the requested link file. This can consume excessive time and resources in some cases, but specifically when it is not known whether the link corresponding to the requested link file is actually selected by the user. Can occur. Thus, in some embodiments, a request for a file from a client includes information about whether the file is due to a user's request or whether it is a request for advance caching (prior to any user's request). Can be. In one such embodiment, the server may be configured to transmit link popularity information only for files requested by the user.
[0027]
Many variations of the method of FIG. 3 are feasible and anticipated. For example, if the requested file does not contain any links, the steps for link files will of course be skipped. We believe that the method described herein can reduce the time and resources used in providing advance caching as compared to a method of caching all linked files. These methods also have some cost in terms of time and resources, but in some cases, a user may wish to disable ordered preemptive caching. Disabling caching may be appropriate, for example, if there is a risk of interfering with another application that can take advantage of caching. Such disabling may be implemented, for example, using an option in a browser program. In one such embodiment, a request for a file from a client may include, for example, an instruction not to send link popularity information. In such a case, steps 50 and 54 to 58 can be omitted. Some steps may be performed in a different order than that shown in FIG. For example, the order of
[0028]
A flow chart illustrating another embodiment of a method for transmitting information in a client / server network is shown in FIG. The method of FIG. 4 may be implemented by a client, such as
[0029]
Based on the received link popularity information, one or more link files associated with the requested file may be requested from the server for advance download (box 68). The criteria used to determine how many linked files are required for the server to download are, as described above in the description of FIG. It may be the same criterion used for selection. The requested link file can then be received from the server and stored in the client computer's cache memory (box 70). If the next file requested by the user (eg, by selecting a link) is one of the cached linked files ("yes" branch of decision box 72), the requested file Can be displayed quickly (box 74). If the requested file is not one of the cached linked files (72 "no" branch), the file is requested to the server (box 60). If the new requested file has a linked file in itself, steps 62 to 70 can be repeated for the new requested file. Several variants of the method of FIG. 4 are feasible and anticipated. As with the method of FIG. 3, steps relating to a linked file, for example, are omitted in embodiments where the requested file does not contain any links, or where ordered prior caching is disabled by the user. be able to. Some of the steps in FIG. 4 can be performed in a different order without detracting from the benefits of the method. For example, the order of
[0030]
Program instructions, such as the
[Brief description of the drawings]
FIG.
1 is a block diagram illustrating one embodiment of a system for transferring information within a client / server network.
FIG. 2
FIG. 4 illustrates exemplary link popularity data for links in a file accessible using a client / server network.
FIG. 3
5 is a flowchart illustrating one embodiment of a method that can be performed by a server for transferring information within a client / server network.
FIG. 4
4 is a flowchart illustrating one embodiment of a method that can be performed by a client for transferring information within a client / server network.
Claims (61)
要求されたファイルを前記サーバから前記クライアントに転送すること、および
前記要求されたファイルに関連するリンク人気情報を前記サーバから前記クライアントに転送することを含み、前記リンク人気情報が、前記要求されたファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述する方法。A method of transferring information between a network server and a network client, comprising:
Transferring the requested file from the server to the client; and transferring link popularity information associated with the requested file from the server to the client, wherein the link popularity information is transmitted to the client. A method of characterizing the relative likelihood of a user requesting access to each of a plurality of additional files linked to the file.
要求されたファイルをネットワーク・サーバから受信すること、
リンク人気情報を前記ネットワーク・サーバから受信することであって、前記リンク人気情報は、前記要求されたファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述すること、
前記複数の追加のファイルの少なくとも1つをメモリにダウンロードすることであって、前記追加のファイルの前記少なくとも1つが、前記リンク人気情報を使用して決定された順序でダウンロードされ、前記ダウンロードすることが、ユーザから前記追加のファイルに対する要求が出される前に実施されること、
1つまたは複数の前記ダウンロードされた追加のファイルをユーザの要求に応答して表示すること
を含む方法。A method for obtaining information using a client / server network, comprising:
Receiving the requested file from the network server;
Receiving link popularity information from the network server, wherein the link popularity information indicates a relative likelihood that a user will require access to each of a plurality of additional files linked to the requested file. Describe features,
Downloading at least one of the plurality of additional files to memory, wherein the at least one of the additional files is downloaded in an order determined using the link popularity information; Is performed before the user makes a request for the additional file,
A method comprising displaying one or more of the additional downloaded files in response to a user request.
要求されたファイルをネットワーク・クライアントに提供するように構成されたネットワーク・サーバであって、前記ネットワーク・サーバが、前記要求されたファイルに関連するリンク人気情報を前記ネットワーク・クライアントに提供するようにさらに構成されており、前記リンク人気情報が、前記要求されたファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述することを含むシステム。A system for transferring information within a client / server network, comprising:
A network server configured to provide a requested file to a network client, the network server providing link popularity information associated with the requested file to the network client. The system further configured, wherein the link popularity information describes a relative likelihood characteristic that a user requests access to each of a plurality of additional files linked to the requested file.
要求されたファイルに関連するリンク人気情報をコンピュータ装置からクライアントのコンピュータ装置に転送するための、前記コンピュータ装置上で実行可能な第1のプログラム命令であって、前記リンク人気情報が、前記要求されたファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述する第1のプログラム命令を含む搬送媒体。A computer-usable carrier medium,
A first program instruction executable on the computing device for transferring link popularity information associated with a requested file from a computing device to a client computing device, wherein the link popularity information comprises: A carrier medium containing first program instructions that characterize the relative likelihood of a user requesting access to each of a plurality of additional files linked to a linked file.
要求されたファイルをサーバのコンピュータ装置から受信するためのコンピュータ装置上で実行可能な第1のプログラム命令と、
リンク人気情報を前記サーバのコンピュータ装置から受信するための前記コンピュータ装置上で実行可能な第2のプログラム命令であって、前記リンク人気情報が、前記要求されたファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述する第2のプログラム命令と、
前記複数の追加のファイルの少なくとも1つを前記サーバのコンピュータ装置から前記コンピュータ装置のメモリにダウンロードするための、前記コンピュータ装置上で実行可能な第3のプログラム命令と
を含むコンピュータ使用可能な搬送媒体であって、
前記少なくとも1つの前記追加のファイルが、前記リンク人気情報を使用して決定された順序でダウンロードされ、前記ダウンロードすることが、ユーザから前記追加のファイルに対する要求が出される前に実施されるコンピュータ使用可能な搬送媒体。A computer-usable carrier medium,
First program instructions executable on a computing device for receiving the requested file from the computing device of the server;
A second program instruction executable on the computing device for receiving link popularity information from the server computing device, wherein the link popularity information comprises a plurality of additional linked files linked to the requested file. Second program instructions describing characteristics of the relative likelihood that the user requires access to each of the files;
And a third program instruction executable on the computing device for downloading at least one of the plurality of additional files from the computing device of the server to a memory of the computing device. And
Computer usage wherein the at least one additional file is downloaded in an order determined using the link popularity information, and wherein the downloading is performed before a user makes a request for the additional file. Possible transport medium.
要求されたファイルを前記サーバから前記クライアントに転送すること、
前記要求されたファイルにリンクされた複数の追加のファイルの1つまたは複数を前記サーバから前記クライアントに転送することであって、前記追加のファイルが、前記要求されたファイルに関連するリンク人気情報を使用して決定された順序で転送され、前記リンク人気情報が、前記要求されたファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述することを含む方法。A method of transferring information between a network server and a network client, comprising:
Transferring the requested file from the server to the client;
Transferring one or more of a plurality of additional files linked to the requested file from the server to the client, wherein the additional files include link popularity information associated with the requested file. And the link popularity information characterizes the relative likelihood that a user will request access to each of a plurality of additional files linked to the requested file. A method that includes:
要求されたファイルを前記サーバから前記クライアントに転送すること、
前記要求されたファイルにリンクされた複数の追加のファイルの1つまたは複数を前記サーバに関連するキャッシュ・メモリにロードすることであって、前記追加のファイルが、前記要求されたファイルに関連するリンク人気情報を使用して決定された順序でロードされ、前記リンク人気情報が、要求されたファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述すること
を含む方法。A method of transferring information between a network server and a network client, comprising:
Transferring the requested file from the server to the client;
Loading one or more of a plurality of additional files linked to the requested file into a cache memory associated with the server, wherein the additional file is associated with the requested file. Loaded in an order determined using the link popularity information, the link popularity information indicates a relative likelihood characteristic that the user requires access to each of a plurality of additional files linked to the requested file. A method that includes writing.
要求されたファイルをネットワーク・サーバから受信すること、
前記要求されたファイルにリンクされた複数の追加のファイルの少なくとも1つをメモリにダウンロードすることであって、前記少なくとも1つの前記追加のファイルが、前記要求されたファイルに関連するリンク人気情報を使用して決定された順序でダウンロードされ、前記リンク人気情報が、複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述すること
を含む方法。A method for obtaining information using a client / server network, comprising:
Receiving the requested file from the network server;
Downloading at least one of a plurality of additional files linked to the requested file to memory, wherein the at least one additional file includes link popularity information associated with the requested file. The method, wherein the link popularity information is downloaded in an order determined using the method, wherein the link popularity information describes characteristics of a relative likelihood that a user requests access to each of a plurality of additional files.
ネットワーク・サーバと、
前記ネットワーク・サーバ上に記憶されているファイルと、
リンク人気情報を前記ファイルと関連付ける手段と
を含み、
前記リンク人気情報が、前記ファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述するシステム。A system for transferring information within a client / server network, comprising:
A network server,
Files stored on the network server;
Means for associating link popularity information with the file.
A system wherein the link popularity information characterizes a relative likelihood that a user requires access to each of a plurality of additional files linked to the file.
複数の追加のファイルの1つまたは複数を、前記リンク人気情報を使用して決定された順序で前記キャッシュ・メモリにロードする手段と
をさらに含む請求項50に記載のシステム。A cache memory in the network server;
Means for loading one or more of a plurality of additional files into said cache memory in an order determined using said link popularity information.
前記ネットワーク・クライアントに前記複数の追加のファイルの1つまたは複数を送信する手段であって、複数の追加のファイルの前記1つまたは複数が、前記リンク人気情報を使用して決定された順序で送信される手段と
をさらに含む請求項50に記載のシステム。Means for transmitting the file to a network client;
Means for transmitting one or more of the plurality of additional files to the network client, wherein the one or more of the plurality of additional files are in an order determined using the link popularity information. 51. The system of claim 50, further comprising: means for transmitting.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US52219900A | 2000-03-09 | 2000-03-09 | |
PCT/GB2001/000930 WO2001067250A2 (en) | 2000-03-09 | 2001-03-05 | System, method and program for ordered anticipatory caching of linked files in a client/server network |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004513405A true JP2004513405A (en) | 2004-04-30 |
Family
ID=24079864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001565003A Pending JP2004513405A (en) | 2000-03-09 | 2001-03-05 | System, method and program for ordered and pre-caching linked files in a client / server network |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP1360589A2 (en) |
JP (1) | JP2004513405A (en) |
KR (1) | KR20030041856A (en) |
CN (1) | CN1489735A (en) |
AU (1) | AU3585401A (en) |
CA (1) | CA2402486A1 (en) |
TW (1) | TW484098B (en) |
WO (1) | WO2001067250A2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1387302A3 (en) * | 2002-07-31 | 2006-05-24 | Hewlett-Packard Development Company, L.P. | Establishment of network connections |
KR100408758B1 (en) * | 2003-01-22 | 2003-12-11 | Nexon Co Ltd | Method for controlling user application program |
CN100438408C (en) * | 2006-03-15 | 2008-11-26 | 华为技术有限公司 | Method, device and system for realizing surrogate downloading |
KR100959759B1 (en) * | 2007-11-07 | 2010-05-25 | (주) 엘지텔레콤 | System and Method for Web Accelerating Service of Server Supporting Type of Mobile Internet |
KR101456303B1 (en) * | 2008-08-28 | 2014-11-03 | 주식회사 엘지유플러스 | Apparatus and method of analysing wireless traffic |
TWI502372B (en) * | 2013-09-27 | 2015-10-01 | Acer Inc | Network storage system and method for caching file |
US10735550B2 (en) | 2014-04-30 | 2020-08-04 | Webroot Inc. | Smart caching based on reputation information |
US10326855B2 (en) | 2016-07-28 | 2019-06-18 | International Business Machines Corporation | Trending topic driven cache eviction management |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06110926A (en) * | 1992-09-29 | 1994-04-22 | Oki Electric Ind Co Ltd | Information retrieving device |
JPH0887526A (en) * | 1994-09-19 | 1996-04-02 | Kokusai Denshin Denwa Co Ltd <Kdd> | Hypermedia document communication equipment |
JPH10320414A (en) * | 1997-05-22 | 1998-12-04 | Nippon Telegr & Teleph Corp <Ntt> | Trend homepage search system |
JPH11149405A (en) * | 1997-11-14 | 1999-06-02 | Hitachi Ltd | Www cache system and www data lock-ahead method |
JPH11219313A (en) * | 1998-02-02 | 1999-08-10 | Mitsubishi Electric Corp | Content look-ahead method |
JPH11259355A (en) * | 1998-03-13 | 1999-09-24 | Hitachi Ltd | Hypertext type information providing device and information retrieving device |
US6023726A (en) * | 1998-01-20 | 2000-02-08 | Netscape Communications Corporation | User configurable prefetch control system for enabling client to prefetch documents from a network server |
-
2000
- 2000-12-29 TW TW089128214A patent/TW484098B/en not_active IP Right Cessation
-
2001
- 2001-03-05 EP EP01907992A patent/EP1360589A2/en not_active Withdrawn
- 2001-03-05 CN CNA01806230XA patent/CN1489735A/en active Pending
- 2001-03-05 KR KR1020027011390A patent/KR20030041856A/en not_active Application Discontinuation
- 2001-03-05 CA CA002402486A patent/CA2402486A1/en not_active Abandoned
- 2001-03-05 WO PCT/GB2001/000930 patent/WO2001067250A2/en not_active Application Discontinuation
- 2001-03-05 JP JP2001565003A patent/JP2004513405A/en active Pending
- 2001-03-05 AU AU35854/01A patent/AU3585401A/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06110926A (en) * | 1992-09-29 | 1994-04-22 | Oki Electric Ind Co Ltd | Information retrieving device |
JPH0887526A (en) * | 1994-09-19 | 1996-04-02 | Kokusai Denshin Denwa Co Ltd <Kdd> | Hypermedia document communication equipment |
JPH10320414A (en) * | 1997-05-22 | 1998-12-04 | Nippon Telegr & Teleph Corp <Ntt> | Trend homepage search system |
JPH11149405A (en) * | 1997-11-14 | 1999-06-02 | Hitachi Ltd | Www cache system and www data lock-ahead method |
US6023726A (en) * | 1998-01-20 | 2000-02-08 | Netscape Communications Corporation | User configurable prefetch control system for enabling client to prefetch documents from a network server |
JPH11219313A (en) * | 1998-02-02 | 1999-08-10 | Mitsubishi Electric Corp | Content look-ahead method |
JPH11259355A (en) * | 1998-03-13 | 1999-09-24 | Hitachi Ltd | Hypertext type information providing device and information retrieving device |
Also Published As
Publication number | Publication date |
---|---|
AU3585401A (en) | 2001-09-17 |
KR20030041856A (en) | 2003-05-27 |
EP1360589A2 (en) | 2003-11-12 |
TW484098B (en) | 2002-04-21 |
WO2001067250A2 (en) | 2001-09-13 |
CN1489735A (en) | 2004-04-14 |
WO2001067250A3 (en) | 2003-08-14 |
CA2402486A1 (en) | 2001-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7363291B1 (en) | Methods and apparatus for increasing efficiency of electronic document delivery to users | |
US9549039B2 (en) | Accelerating HTTP responses in a client/server environment | |
US6526479B2 (en) | Method of caching web resources | |
US7149809B2 (en) | System for reducing server loading during content delivery | |
US6199107B1 (en) | Partial file caching and read range resume system and method | |
EP1546924B1 (en) | Method, system, and program for maintaining data in distributed caches | |
EP2791815B1 (en) | Application-driven cdn pre-caching | |
US6101328A (en) | System for preventing multiple instances of the same dynamic executable module | |
US6256669B1 (en) | Method and apparatus for bandwidth characterization and reporting in web browsers | |
CA2253829C (en) | Information retrieval in cache database | |
US6763248B1 (en) | Radio network communication system | |
US8204962B2 (en) | Method for queued overlap transfer of files | |
JP3764291B2 (en) | Information distribution system, mobile computer, information server device, cache server device, and prefetch cache processing method | |
CN1234086C (en) | System and method for high speed buffer storage file information | |
US20090019151A1 (en) | Method for media discovery | |
US20030106025A1 (en) | Method and system for providing XML-based web pages for non-pc information terminals | |
JP2004513405A (en) | System, method and program for ordered and pre-caching linked files in a client / server network | |
JP4135876B2 (en) | Content prefetching device and content prefetching program | |
US7448032B2 (en) | Method and apparatus for integration of URL into standard file systems | |
US20060004785A1 (en) | Saving multiple browser instances as a selectable web project | |
US7231494B1 (en) | Storage and retrieval system for WEB cache | |
KR20010055930A (en) | Predictive data cache method for data retrieval service | |
KR20030042658A (en) | Recording medium storing a browser therein and a data downloading method therewith | |
JP2005267435A (en) | Cache processing program and cache processor | |
KR20010003611A (en) | Caching method using prefetched brand-new documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060613 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061114 |