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 PDF

Info

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
Application number
JP2001565003A
Other languages
Japanese (ja)
Inventor
ダッタ、ラビンドラナス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004513405A publication Critical patent/JP2004513405A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Abstract

【課題】インターネットなどのネットワークを使用した、ウェブ・ページなどのリンクされた文書の閲覧に伴う遅延を短縮するシステムおよび方法を提供すること。
【解決手段】クライアント/サーバ・ネットワークを使用して情報を転送するためのシステムおよび方法において、要求されたファイルにリンクされたファイルの人気の特徴を記述するリンク人気情報をサーバからクライアントに伝送することができる。この人気には、リンク・ファイルのそれぞれに対するユーザの要求の相対的な可能性を含めることができる。このリンク人気情報は、先行キャッシングのためにさらに人気の高いリンク・ファイルだけを選択する際に使用することができる。ユーザが選択する可能性が最も高いリンクに対応するファイルは、ユーザによるいかなるリンクの選択よりも前に、サーバのキャッシュ・メモリにロードし、かつ/またはクライアントにダウンロードすることができる。人気に基づく先行キャッシングのためのファイルの順序付けは、リンクが選択された時点で、その選択されたリンクに対応するファイルがクライアントのコンピュータに既に記憶されている確率を高めることができる。したがって、ユーザによるリンクの選択と、対応するファイルの閲覧との間の時間は短縮される。最も人気の高いリンク・ファイルが最初にキャッシュされるが、人気の低いファイルは先行キャッシングのためにはまったく選択することができないので、キャッシングを実施するために要する時間および資源もまた、要求されたファイルにリンクされたすべてのファイルを先行キャッシングする場合と比較して低減される。
【選択図】図1
A 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 system 10 for transferring information within a client / server network. System 10 includes a network server 12, a computing device that may be a web server. In the embodiment of FIG. 1, server 12 includes cache 14, processor 16, and storage device 18. The cache 14 is a set of storage areas that can be accessed at high speed by the processor 16. In one embodiment, cache 14 may be part of the processor's system memory allocated to temporary information storage. The storage device or storage medium 18 may take many forms, such as volatile or non-volatile memory, magnetic disks such as hard disks or floppy disks, optical disks, and / or magnetic tapes. Such storage is sometimes referred to as "direct access storage" (DASD). Typically, storage device 18 has a larger storage capacity than cache 14, but it takes longer for processor 16 to access it.
[0014]
In the embodiment of FIG. 1, the storage device 18 contains files 20 and program instructions 22, which are also said to be program executable. Program instructions are typically stored in "executable files" in the storage device and loaded into memory during execution. File 20 may include documents, such as web pages, suitable for viewing by users of the network, and may include text, graphics, video and / or audio information. Such a document file may be in the form of HTML language or other suitable language, such as Extensible Markup Language (XML) or Wireless Markup Language (WML). File 20 may further include a data file suitable for use by the computing device when communicating over a network. For example, a file that includes link popularity information for additional files linked to a particular file can be included in file 20. As used herein, the term "file" may refer to any collection of data suitable for storage on a computing device or for transporting over a network. Program instructions 22 may include various program instructions used to implement the functions of network server 12, such as those used to implement the methods described herein.
[0015]
Transmission medium 24 can be used to connect network server 12 to other computing devices, such as proxy server 26 and / or client 28. Transmission medium 24 may include, for example, electrical wires, cables, wireless transmission paths, or combinations thereof. Protocols used for transmission over the transmission medium 24 may include TCP / IP, HTTP, and / or other suitable protocols such as Wireless Application Protocol (WAP).
[0016]
The system 10 may include a client 28 linked to the server 12 using a transmission medium 24. In the embodiment of FIG. 1, client 28 includes cache 14, processor 16, and storage device 35. The storage device 35 is the same storage device 18 as described above, and can include a file 39, a browser program 37, and program instructions 36. Browser programs, such as browser 37, are implemented using program instructions (or executable instructions), such as instructions 36, but in FIG. 1, browser 37 is shown separately to emphasize this functionality of the client. is there. The browser program 37 may be, for example, a web browser that allows a user to retrieve a file on the WWW and browse it, or a program that performs a similar function on another network. In some embodiments, client functionality required for implementation of the methods described herein is included in browser 37. Such functions and / or other functions of the client computing device may also be implemented in separate program instructions, such as program instructions 36. File 39 may include various files stored on the client computing device, including files downloaded from a network server, such as server 12. The client 28 is typically associated with an output device 38 and an input device 40, especially in embodiments where the client's computing device is operated by a user of the system 10. Output device 38 may include, for example, a display screen and / or a printer. The input device 40 may include a pointing device such as a keyboard and / or a mouse, for example.
[0017]
In some embodiments, system 10 may include a proxy server 26. As used herein, the term proxy server refers to a computing device that acts as an intermediary between a client and a "real" server. A proxy server may appear to the client as a server, but to a real server it may appear as a client. Requests from clients can be returned by the proxy server or passed to the real server. Files or other communication information from the real server can be passed to the client by the proxy server. A proxy server may be utilized in system 10 for a variety of reasons. For example, a proxy server can be used to provide dedicated content and / or improved performance to a group of selected client computers. This example may be the use of caching by a proxy server to increase the speed at which a subscriber can serve certain files to a particular ISP. Another use of a proxy server may be to filter information being sent from the client to the real server and / or vice versa. For example, a proxy server can be used to implement a "firewall" at an enterprise or other organization that restricts external access to computers. In the embodiment of FIG. 1, proxy server 26 may include cache 14, processor 16, and storage device 30. Storage device 30 may include file 32 and proxy server program instructions 34. File 32 may include any file stored on the proxy server, such as a file being transmitted between the server and the client. Program instructions 34 may include various program instructions used to implement the functions of proxy server 26, such as interacting with a client computer.
[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, cache 14 may be included on a semiconductor chip that embodies processor 16. Further, systems such as system 10 may include other elements not explicitly shown. For example, multiple servers, proxy servers, and / or clients not shown in FIG. 1 may be included in a system used to implement the methods described herein. Further, the server, proxy server, and / or client computing device may incorporate other elements not shown.
[0019]
An exemplary collection of link popularity information 41 that can be used in implementing the methods described herein is shown in FIG. Requested file 42 may be a file requested by a user (e.g., via a web browser) and thus requested by a client to a server. In the data of FIG. 2, the requested file is an HTML file called "corporationx.html". Link file 44 is a file that is linked into corresponding requested file 42. In the embodiment of FIG. 2, the requested file “corporationx.html” includes links to seven linked files, including “products.html” and “address.html”. In embodiments where the requested file 42 is an HTML file, a link to the link file 44 may be included within the requested file 42 using HTML format tags that define the link. Each of the link files 44 is associated with a corresponding popularity indicator 46. In the embodiment of FIG. 2, each of the popularity indicators 46 is expressed as a probability that a user selecting a link in the requested file 42 will select its corresponding link file. In this example, the indicators for all of the linked files sum to one, so forty percent of the link selections from “corporationx.html” could be the selection of the link corresponding to “products.html”. is there. However, the popularity indicator 46 can be represented in various other forms. For example, the percentage of link selection for selecting the corresponding file can be described for each file, or the percentage of browsing the file selected by the user who has selected the corresponding link can be used. As another alternative, it is possible to provide the actual number of links selected during a period of time or, if possible, the selectivity.
[0020]
In view of the link popularity information of FIG. 2, the server containing the requested file 42 and the link file 44 (typically in a storage device, such as the device 18 of FIG. 1) may request the file "corporationx" When transferring the ".html" to the client, the link files "products.html" and "support.html" can also be loaded into a cache memory on the server, such as the cache 14 of FIG. If either of these linked files is subsequently requested by the client, the files can be quickly transferred to the client without the delay associated with reading the file from storage. Link popularity information 41 may also be made available to clients. In view of the link popularity information, the client can download, for example, the link files “products.html” and “support.html” from the server before the user selects at least one link file. In this way, if either of these link files is selected by the user, the file will already be on the client's computer and the delay associated with transmission between the server and the client will be eliminated. become. The link popularity information 41 indicates that about 70 percent of the link selections are for either “products.html” or “support.html”, so caching and / or downloading these two files Doing so should reduce the latency for about 70 percent of link selections from “corporationx.html”. This performance improvement can be achieved without having to use additional time or resources by caching and / or downloading other less popular linked files.
[0021]
Determining the popularity indicator 46 to form the link popularity information 41 can be accomplished in various ways. For example, a tracking program can be used to represent the number of times a particular file stored by a web server is accessed. Typically, several implementations of such tracking programs are currently commercially available that provide additional information such as which particular user is accessing the file. In some embodiments, identifying "cookies," or information that can be sent to a web server by a web browser, can be used to track the selection of a particular linked file. Another way to determine the popularity of a linked file is to analyze a server log, or a file that contains a record of activity on the server. Web servers typically maintain such log files, including each request made to the server. In another alternative, link popularity information may be estimated based on knowledge about the nature of the link, for example. In some embodiments, such estimates can be used as initial or default settings for link popularity information that can be updated later based on, for example, server statistics or log file analysis. In some embodiments, updates of link popularity information may be performed periodically, possibly with other updates or maintenance associated with the server.
[0022]
Link popularity information, such as the information 41 shown in tabular form in FIG. 2, can be stored on the server and transferred to the client in a number of different ways. In one embodiment, information similar to the information shown in FIG. 2 can be stored in a separate file that can be stored on a server on a device such as the storage device 18 of FIG. Such a file may have the name "corporationx_linkpopularity.html" in the embodiment of FIG. 2 and may be transferred to the client at the same time that the requested file ("corporationx.html") is transferred. . The file may include a variety of programming languages and may convey information using any of a plurality of data structures (eg, a tabular structure or an object-oriented structure). Alternatively, link popularity information may be included in the requested file itself, such as in the formatting used to set each link to the linked file. In such an embodiment, the client's browser program is preferably configured to extract link popularity information from the requested file. Link popularity information may also be included in the header for the requested file, ie, the beginning of the file, typically reserved for information about the file. As another example, link popularity information may be transmitted from a server to a client using a communication protocol such as HTTP (eg, in its header information). In some embodiments, implementations of the method for transmitting link popularity information may require extending the specification of a programming language (such as HTML) or a communication protocol (such as HTTP). The rapid development of computer-based networks usually results in frequent expansions and upgrades to such specifications.
[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 files 42 along with corresponding link files and popularity indicators. In fact, any of the link files 44 shown in FIG. 2 could be included to include the link file itself as one of the requested files 42. The link popularity information may be configured in a format different from that shown in FIG. For example, the requested file may be represented as an object in an object-oriented programming approach, and the link file and corresponding popularity indicator may be represented as attributes of such an object. Further, other issues not explicitly shown in FIG. 2 can be included in the link popularity information. For example, in addition to characterizing the likelihood that a link file will be selected for viewing, the link option may also indicate, for example, the likelihood that the link will be selected first.
[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 server 12 of FIG. 1, and can be implemented using program instructions, such as instructions 22. In the embodiment of FIG. 3, after a request for a file stored on the server is received from the client (box 48), link popularity information for the requested file is compiled or located (box 48). 50). The client requesting the file may be, for example, the client 28 of FIG. 1 or a proxy server, for example, the proxy server 26 of FIG. In some embodiments, the link popularity information is already stored on the server when the request for the file is received. As described above in the description of FIG. 2, the link popularity information may be included, for example, in a separate file or in the requested file itself. By using the link popularity information already stored, the server can respond faster to requests for files. Alternatively, link popularity information may, in some embodiments, be compiled in response to a file request, thus providing up-to-date popularity information. In another possible embodiment, the link popularity information for the requested file may be updated at the time of the request by accessing a separate file that contains the periodically updated link popularity information. Such a method is particularly useful in embodiments where the link popularity information is transmitted in the requested file itself, or where the link popularity information is transmitted via a communication protocol.
[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 steps 50 and 52, as well as the order of steps 54 and 56, can be reversed in some embodiments.
[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 client 28 of FIG. 1, or by a computer acting as a client, such as a proxy server. This method is typically implemented on the client using a browser program, such as browser 37 of FIG. 1, but some or all of the method may be performed by other programs, such as instructions 36 or proxy server instructions 34. It can also be implemented using instructions. In the embodiment of FIG. 4, the file is requested from the server (or possibly a proxy server) in response to the user's selection of the file (box 60). As described above in the description of FIG. 3, such a request to the server may, in some embodiments, include a notification that the request is in response to a user's selection (a request for a file for advanced caching) As opposed to). The request may also include other information in some embodiments, such as a notification that link popularity information will not be provided (in one embodiment where ordered prior caching is disabled by the user). The requested file is received from the server (box 62), and in one embodiment where ordered prior caching is not disabled, link popularity information for any linked files in the requested file is also received (box 64). . The requested file is displayed on the user's display screen (box 66).
[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 steps 62, 64, and 66 can be changed in some embodiments.
[0030]
Program instructions, such as the instructions 22, 34 or 36 of FIG. 1, or instructions in a browser 37 for implementing the method as shown in FIGS. 3 and 4, may be transmitted by or stored on a carrier medium. it can. The carrier medium may be a transmission medium, such as a wire, cable, or wireless transmission link, or a signal conveyed via a wire, cable, or link. The carrier medium may be a storage device such as a volatile or non-volatile memory (eg, a read-only memory or a random access memory), a magnetic disk or an optical disk, or a storage medium such as a magnetic tape.
[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に記載の方法。The method of claim 1, wherein transferring the requested file comprises transferring a file of a web page. 前記要求されたファイルを転送することが、マーク付け言語文書を転送することを含む請求項1に記載の方法。The method of claim 1, wherein transferring the requested file comprises transferring a marked language document. 前記リンク人気情報を転送することが、前記要求されたファイル内に前記リンク人気情報を埋め込むことを含む請求項1に記載の方法。The method of claim 1, wherein transferring the link popularity information comprises embedding the link popularity information in the requested file. 前記複数の追加のファイルの少なくとも1つを前記サーバから前記クライアントに転送することであって、前記追加のファイルが、前記リンク人気情報を使用して決定された順序で転送され、前記追加のファイルを1つでもユーザが要求する前に前記追加のファイルが転送されることをさらに含む請求項1に記載の方法。Transferring at least one of the plurality of additional files from the server to the client, wherein the additional files are transferred in an order determined using the link popularity information; The method of claim 1, further comprising transferring the additional file before the user requests any of the following. 前記少なくとも1つの前記追加のファイルを転送することが、前記少なくとも1つの前記追加のファイルを、前記クライアントに関連するキャッシュ・メモリに転送することを含む請求項5に記載の方法。6. The method of claim 5, wherein transferring the at least one additional file comprises transferring the at least one additional file to a cache memory associated with the client. 前記追加のファイルの前記少なくとも1つを転送する前に、前記追加のファイルの前記少なくとも1つを、前記サーバに関連するキャッシュ・メモリにロードすることをさらに含む請求項5に記載の方法。6. The method of claim 5, further comprising loading the at least one of the additional files into a cache memory associated with the server before transferring the at least one of the additional files. ユーザの要求に応答して、前記追加のファイルの1つまたは複数を表示することをさらに含む請求項5に記載の方法。The method of claim 5, further comprising displaying one or more of the additional files in response to a user request. 前記リンク人気情報を転送する前に、前記リンク人気情報をコンパイルすることをさらに含む請求項1に記載の方法。The method of claim 1, further comprising compiling the link popularity information before transferring the link popularity information. 前記リンク人気情報をコンパイルすることが、サーバのログ・ファイルを分析することを含む請求項9に記載の方法。10. The method of claim 9, wherein compiling the link popularity information comprises analyzing a log file of a server. 前記複数の追加のファイルの少なくとも1つを前記転送することが、前記クライアントから前記サーバへの要求に応答して実行される請求項5に記載の方法。The method of claim 5, wherein the transferring at least one of the plurality of additional files is performed in response to a request from the client to the server. 前記複数の追加のファイルの少なくとも1つを前記転送することが、前記クライアントから前記サーバへの要求に応答して実行され、前記追加のファイルの前記少なくとも1つを前記サーバに関連するキャッシュ・メモリに前記ロードすることが、前記クライアントから前記サーバへの前記要求が出される前に実行される請求項7に記載の方法。The transfer of at least one of the plurality of additional files is performed in response to a request from the client to the server, and the cache memory associated with the at least one of the additional files. 8. The method of claim 7, wherein the loading is performed before the client makes the request to the server. クライアント/サーバ・ネットワークを使用して情報を獲得する方法であって、
要求されたファイルをネットワーク・サーバから受信すること、
リンク人気情報を前記ネットワーク・サーバから受信することであって、前記リンク人気情報は、前記要求されたファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述すること、
前記複数の追加のファイルの少なくとも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.
前記リンク人気情報を受信することが、前記リンク人気情報を含むファイルを受信することを含む請求項13に記載の方法。14. The method of claim 13, wherein receiving the link popularity information comprises receiving a file containing the link popularity information. 前記リンク人気情報を受信することが、伝送プロトコル・ヘッダーを使用して送信された情報を受信することを含む請求項13に記載の方法。14. The method of claim 13, wherein receiving the link popularity information comprises receiving information transmitted using a transmission protocol header. 前記リンク人気情報を受信することが、前記要求されたファイルに埋め込まれた情報を受信することを含む請求項13に記載の方法。14. The method of claim 13, wherein receiving the link popularity information comprises receiving information embedded in the requested file. クライアント/サーバ・ネットワーク内で情報を転送するシステムであって、
要求されたファイルをネットワーク・クライアントに提供するように構成されたネットワーク・サーバであって、前記ネットワーク・サーバが、前記要求されたファイルに関連するリンク人気情報を前記ネットワーク・クライアントに提供するようにさらに構成されており、前記リンク人気情報が、前記要求されたファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述することを含むシステム。
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.
前記ネットワーク・サーバがコンピュータ装置を含む請求項17に記載のシステム。The system of claim 17, wherein the network server comprises a computing device. 前記コンピュータ装置がコンピュータ、電話機、または携帯情報端末を含む請求項18に記載のシステム。19. The system according to claim 18, wherein said computing device comprises a computer, a telephone, or a personal digital assistant. 前記ネットワーク・サーバが、プロセッサ、キャッシュ・メモリ、記憶装置、および伝送媒体接続を含む請求項17に記載のシステム。The system of claim 17, wherein the network server includes a processor, cache memory, storage, and transmission media connection. 前記要求されたファイルおよび前記複数のリンクされた追加のファイルが前記記憶装置上に記憶され、前記追加のファイルが、前記ファイル内に埋め込まれたリンクを使用して前記ファイルにリンクされる請求項20に記載のシステム。The claim file and the plurality of linked additional files are stored on the storage device, and the additional files are linked to the file using links embedded within the file. 21. The system according to 20. 前記要求されたファイルがウェブ・ページ・ファイルを含み、前記リンクがハイパーリンを含む請求項21に記載のシステム。22. The system of claim 21, wherein the requested file comprises a web page file and the link comprises a hyperlink. 前記ネットワーク・クライアントをさらに含み、前記ネットワーク・クライアントが、ユーザが前記1つまたは複数のファイルを要求する前に前記ネットワーク・サーバから1つまたは複数の前記追加のファイルをダウンロードするように構成されており、前記1つまたは複数の追加のファイルをダウンロードする前記順序が、前記リンク人気情報を使用して決定される請求項17に記載のシステム。Further comprising the network client, wherein the network client is configured to download one or more of the additional files from the network server before a user requests the one or more files. 18. The system of claim 17, wherein the order of downloading the one or more additional files is determined using the link popularity information. 前記ネットワーク・クライアントがコンピュータ装置を含む請求項23に記載のシステム。24. The system of claim 23, wherein said network client comprises a computing device. 前記コンピュータ装置が、コンピュータ、電話機、または携帯情報端末を含む請求項24に記載のシステム。The system of claim 24, wherein the computing device comprises a computer, a telephone, or a personal digital assistant. 前記ネットワーク・クライアントが、前記ネットワーク・サーバと追加のネットワーク・クライアントの間でそれを介して情報が伝送されるプロキシ装置を含む請求項23に記載のシステム。24. The system of claim 23, wherein the network client includes a proxy device through which information is transmitted between the network server and additional network clients. 前記ネットワーク・クライアントが、ウェブ・ブラウザ・プログラムを含む請求項23に記載のシステム。24. The system of claim 23, wherein said network client comprises a web browser program. 前記ウェブ・ブラウザ・プログラムが、ユーザによって前記ユーザの要求がブロックされる前に、前記追加のリンク・ファイルを前記ダウンロードすることを可能にするように構成されている請求項27に記載のシステム。28. The system of claim 27, wherein the web browser program is configured to enable the additional link file to be downloaded before a user's request is blocked by a user. コンピュータ使用可能な搬送媒体であって、
要求されたファイルに関連するリンク人気情報をコンピュータ装置からクライアントのコンピュータ装置に転送するための、前記コンピュータ装置上で実行可能な第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.
前記要求されたファイルを前記コンピュータ装置から前記クライアントのコンピュータ装置に転送するための、前記コンピュータ装置上で実行可能な第2のプログラム命令をさらに含む請求項29に記載の搬送媒体。30. The carrier medium of claim 29, further comprising a second program instruction executable on the computer device for transferring the requested file from the computer device to the client computer device. 前記複数の追加のファイルの少なくとも1つを前記コンピュータ装置から前記クライアントのコンピュータ装置に転送するための、前記コンピュータ装置上で実行可能な第3のプログラム命令であって、前記少なくとも1つの前記追加のファイルが、前記リンク人気情報を使用して決定された順序で転送される第3のプログラム命令を含む請求項30に記載の搬送媒体。Third program instructions executable on the computing device for transferring at least one of the plurality of additional files from the computing device to the client computing device, wherein the third program instructions are executable on the computing device. 31. The carrier medium of claim 30, wherein a file includes third program instructions that are transferred in an order determined using the link popularity information. 前記リンク人気情報をコンパイルするために実行可能な第4のプログラム命令をさらに含む請求項31に記載の搬送媒体。32. The carrier of claim 31, further comprising a fourth program instruction executable to compile the link popularity information. コンピュータ使用可能搬送媒体であって、
要求されたファイルをサーバのコンピュータ装置から受信するためのコンピュータ装置上で実行可能な第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つまたは複数の前記ダウンロードした追加のファイルを表示するための前記コンピュータ装置上で実行可能な第4のプログラム命令をさらに含む請求項33に記載の搬送媒体。34. The carrier medium of claim 33, further comprising fourth program instructions executable on the computing device for displaying one or more of the downloaded additional files in response to a user request. ネットワーク・サーバとネットワーク・クライアントの間で情報を転送する方法であって、
要求されたファイルを前記サーバから前記クライアントに転送すること、
前記要求されたファイルにリンクされた複数の追加のファイルの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つまたは複数を前記転送する前に、前記1つまたは複数の前記追加のファイルを前記サーバに関連するキャッシュ・メモリにロードすることをさらに含む請求項35に記載の方法。36. The method of claim 35, further comprising loading the one or more additional files into a cache memory associated with the server before transferring the one or more of the plurality of additional files. Method. 前記複数の追加のファイルの1つまたは複数を前記転送することが、前記追加のファイルに対するいかなるユーザの要求よりも前に実施される請求項35に記載の方法。36. The method of claim 35, wherein the transferring one or more of the plurality of additional files is performed prior to any user request for the additional files. 前記複数の追加のファイルの1つまたは複数を前記転送することが、前記クライアントから前記サーバへの要求に応答して実行される請求項35に記載の方法。The method of claim 35, wherein the transferring one or more of the plurality of additional files is performed in response to a request from the client to the server. 前記複数の追加のファイルの1つまたは複数を前記転送する前に、前記リンク人気情報をコンパイルすることをさらに含む請求項35に記載の方法。36. The method of claim 35, further comprising compiling the link popularity information prior to the transferring one or more of the plurality of additional files. ネットワーク・サーバとネットワーク・クライアントの間で情報を転送する方法であって、
要求されたファイルを前記サーバから前記クライアントに転送すること、
前記要求されたファイルにリンクされた複数の追加のファイルの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.
前記複数の追加のファイルに対して、前記クライアントから前記サーバへのいかなる要求よりも前に、前記ロードが実行される請求項40に記載の方法。41. The method of claim 40, wherein the loading is performed on the plurality of additional files prior to any request from the client to the server. 前記ロードの前に、前記リンク人気情報をコンパイルすることをさらに含む請求項40に記載の方法。41. The method of claim 40, further comprising compiling the link popularity information prior to the loading. クライアント/サーバ・ネットワークを使用して情報を獲得する方法であって、
要求されたファイルをネットワーク・サーバから受信すること、
前記要求されたファイルにリンクされた複数の追加のファイルの少なくとも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.
前記ダウンロードすることが、ユーザから前記追加のファイルに対する要求が出される前に実施される請求項43に記載の方法。44. The method of claim 43, wherein the downloading is performed before a user makes a request for the additional file. ユーザの要求に応答して、1つまたは複数の前記ダウンロードされた追加のファイルを表示することをさらに含む請求項43に記載の方法。44. The method of claim 43, further comprising displaying one or more of the downloaded additional files in response to a user request. 前記ダウンロードする前に、前記リンク人気情報を前記ネットワーク・サーバから受信することをさらに含む請求項43に記載の方法。The method of claim 43, further comprising receiving the link popularity information from the network server before the downloading. 前記リンク人気情報を前記受信することが、前記情報を含んでいるファイルを受信することを含む請求項46に記載の方法。The method of claim 46, wherein the receiving the link popularity information comprises receiving a file containing the information. 前記リンク人気情報を前記受信することが、伝送プロトコル・ヘッダーを使用して送信された情報を受信することを含む請求項46に記載の方法。47. The method of claim 46, wherein the receiving the link popularity information comprises receiving information transmitted using a transmission protocol header. 前記リンク人気情報を前記受信することが、前記要求されたファイルに埋め込まれた情報を受信することを含む請求項46に記載の方法。47. The method of claim 46, wherein the receiving of the link popularity information comprises receiving information embedded in the requested file. クライアント/サーバ・ネットワーク内で情報を転送するシステムであって、
ネットワーク・サーバと、
前記ネットワーク・サーバ上に記憶されているファイルと、
リンク人気情報を前記ファイルと関連付ける手段と
を含み、
前記リンク人気情報が、前記ファイルにリンクされた複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述するシステム。
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.
前記関連付ける手段が、前記リンク人気情報を含む追加のファイルを含む請求項50に記載のシステム。51. The system of claim 50, wherein the associating means includes an additional file containing the link popularity information. 前記関連付ける手段が、ネットワーク通信プロトコルを含む請求項50に記載のシステム。The system of claim 50, wherein the associating means comprises a network communication protocol. 前記ネットワーク・サーバ内のキャッシュ・メモリと、
複数の追加のファイルの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つまたは複数を前記キャッシュ・メモリにロードする手段を含む請求項53に記載のシステム。54. The method of claim 53, wherein said means for loading comprises means for loading said one or more of a plurality of additional files into said cache memory prior to any request from a network client for said additional files. System. 前記ファイルをネットワーク・クライアントに送信する手段と、
前記ネットワーク・クライアントに前記複数の追加のファイルの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.
前記ファイルを送信する前記手段が、前記クライアントからの要求に応答して前記ファイルを送信する手段を含み、前記複数の追加のファイルの1つまたは複数を送信する前記手段が、前記クライアントからの要求に応答して、前記1つまたは複数の追加のファイルを送信する手段を含む請求項55に記載のシステム。The means for transmitting the file includes means for transmitting the file in response to a request from the client, wherein the means for transmitting one or more of the plurality of additional files comprises a request from the client. 56. The system of claim 55, including means for transmitting the one or more additional files in response to a request. 前記ネットワーク・クライアントをさらに含む請求項55に記載のシステム。The system of claim 55, further comprising the network client. 要求されたファイルにリンクされた複数の追加のファイルの1つまたは複数をクライアントのコンピュータ装置に転送するための、コンピュータ装置上で実行可能な第1のプログラム命令であって、前記追加のファイルが、前記要求されたファイルに関連するリンク人気情報を使用して決定された順序で転送され、前記リンク人気情報が、前記複数の追加のファイルのそれぞれに対するアクセスをユーザが要求する相対的可能性の特徴を記述する第1のプログラム命令を含むコンピュータ使用可能な搬送媒体。A first program instruction executable on a computing device for transferring one or more of a plurality of additional files linked to a requested file to a client computing device, wherein the additional file is Transmitted in a determined order using link popularity information associated with the requested file, wherein the link popularity information indicates a relative likelihood that a user will require access to each of the plurality of additional files. A computer-usable carrier medium containing first program instructions describing features. 前記1つまたは複数の追加のファイルを前記転送する前に、前記要求されたファイルを前記クライアントのコンピュータ装置に転送するための、前記コンピュータ装置上で実行可能な第2のプログラム命令をさらに含む請求項58に記載の搬送媒体。Prior to the transfer of the one or more additional files, further comprising second program instructions executable on the computing device for transferring the requested file to the client computing device. Item 59. The transport medium according to Item 58. 前記第1のプログラム命令が、前記追加のファイルに対するユーザの要求の前に、前記1つまたは複数の追加のファイルを転送するためにさらに実行可能である請求項58に記載の搬送媒体。59. The carrier medium of claim 58, wherein the first program instructions are further executable to transfer the one or more additional files prior to a user request for the additional files. 前記1つまたは複数の追加のファイルを前記転送する前に、前記リンク人気情報を使用して決定された順序で前記1つまたは複数の追加のファイルをキャッシュ・メモリにロードするために実行可能な第2のプログラム命令をさらに含む請求項58に記載の搬送媒体。Executable to load the one or more additional files into a cache memory in an order determined using the link popularity information before the transferring the one or more additional files. 59. The carrier medium of claim 58, further comprising a second program instruction.
JP2001565003A 2000-03-09 2001-03-05 System, method and program for ordered and pre-caching linked files in a client / server network Pending JP2004513405A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387300A3 (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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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
WO2001067250A2 (en) 2001-09-13
KR20030041856A (en) 2003-05-27
CA2402486A1 (en) 2001-09-13
TW484098B (en) 2002-04-21
EP1360589A2 (en) 2003-11-12
CN1489735A (en) 2004-04-14
WO2001067250A3 (en) 2003-08-14
AU3585401A (en) 2001-09-17

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
CA2253829C (en) Information retrieval in cache database
US6763248B1 (en) Radio network communication system
US6848000B1 (en) System and method for improved handling of client state objects
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
US20090019151A1 (en) Method for media discovery
US20030106025A1 (en) Method and system for providing XML-based web pages for non-pc information terminals
JP2008502038A (en) Save multiple browser instances as one selectable web project
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
WO2003102779A2 (en) Methods and system for using caches
US7231494B1 (en) Storage and retrieval system for WEB cache
Hussain et al. Intelligent prefetching at a proxy server
KR100490721B1 (en) Recording medium storing a browser therein and a data downloading method therewith
KR20010055930A (en) Predictive data cache method for data retrieval service
JP2005267435A (en) Cache processing program and cache processor

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