JP2001518668A - 情報を事前に取り出すための方法およびシステム - Google Patents

情報を事前に取り出すための方法およびシステム

Info

Publication number
JP2001518668A
JP2001518668A JP2000514222A JP2000514222A JP2001518668A JP 2001518668 A JP2001518668 A JP 2001518668A JP 2000514222 A JP2000514222 A JP 2000514222A JP 2000514222 A JP2000514222 A JP 2000514222A JP 2001518668 A JP2001518668 A JP 2001518668A
Authority
JP
Japan
Prior art keywords
prefetch
request
server
information
proxy
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.)
Granted
Application number
JP2000514222A
Other languages
English (en)
Other versions
JP3526442B2 (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 JP2001518668A publication Critical patent/JP2001518668A/ja
Application granted granted Critical
Publication of JP3526442B2 publication Critical patent/JP3526442B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 プロキシ・サーバ階層および強化コンテンツ・サーバによるクライアントへのデータ転送に関連付けられたクライアントのためにデータを事前に取り出すための方法およびシステムを提供する。 【解決手段】 データを事前に取り出すための方法はデータ・アクセス・パターンを識別し、データ・アクセス・パターンの動的解釈に基づいて選択情報を事前に取り出す。コンテンツ・サーバまたはプロキシ・サーバは、コンテンツ・サーバまたはプロキシ・サーバ階層に関連付けられたクライアントのデータ・アクセス参照パターンを識別する。データ・アクセス・パターンは、統計テーブルに格納することが好ましい。コンテンツ・サーバは、統計テーブルからの入力に基づいて、事前取出しヒント情報を生成する。事前取出しヒント情報は、クライアントによって要求された要求情報またはオブジェクトを注釈する。要求情報がプロキシ・サーバ階層内を通過すると、事前取出しヒント情報を更新することが最適である。事前取出しヒント情報は、クライアントによって要求された要求情報を注釈する。クライアントのための選択情報を事前に取り出す最終決定は、事前取出しヒント情報および事前取出しヒント値に基づいて行われる。事前取出しヒント値は、記憶場所の制約およびアクセス時間などの局所ノード特定的な要素に基づいて計算される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、クライアントのために情報またはオブジェクトを動的に事前に取り
出すための方法および装置に関し、クライアントは、例えばワールド・ワイド・
ウェブにおけるウェブ・オブジェクトの事前取出しに関与することができるなど
、プロキシ・サーバの階層に関連付けられていることが好ましい。
【0002】 用語集 インターネット:TCP/IPのプロトコルの組を使用するネットワークおよ
びゲートウェイのネットワーク。
【0003】 クライアント:クライアントとは、命令を、この命令に関連付けられたタスク
を実行するサーバに出すコンピュータである。
【0004】 サーバ:別のコンピュータの命令でタスクを実行するコンピュータがサーバで
ある。ウェブ・サーバは一般的に1つまたは複数のクライアントをサポートする
【0005】 ワールド・ワイド・ウェブ(WWWまたはウェブ):ハイライトされた関心の
ある語または語句を選択(クリック)することによって、インターネットで情報
を捜すユーザにサーバからサーバへおよびデータベースからデータベースへ接続
を切換えさせるインターネット・アプリケーション。インターネットWWWサー
バはクライアントをサポートし、情報をクライアントに提供する。全ての資源を
URLとしてアドレス指定したインターネットと考えることができるウェブは、
HTMLを使用してURLに対応する情報を表示し、かつ他のURLへのポイン
ト−アンド−クリックを提供する。
【0006】 ユニバーサル・リソース・ロケータ(URL):URLは、インターネット上
の情報を一意に識別またはアドレス指定するための方法であり、eメール・アド
レスのウェブ文書バージョンと考えることができる。URLはハイパーリンクで
アクセスすることができる。URL識別の一例は「http://www.philipyu.com:80
/table.html」である。URLは4つの構成要素を持つ。この例の左側から見て いくと、最初の構成要素は使用するプロトコル(この場合http)を指定し、
このロケータの残部から「:」によって区切られる。次の構成要素は目標ホスト
のホスト名またはIPアドレスであり、この構成要素は、左側を二重斜線「//
」によって、かつ右側を単斜線「/」(または任意選択的に「:」)によって区
切られる。ポート番号は任意の構成要素であり、左側を「:」によって、かつ右
側を単斜線「/」によってホスト名から区切られる。4番目の構成要素は実ファ
イル名またはプログラム名であり(この例ではtable.html)、さらに
単斜線を使用してディレクトリとサブディレクトリを従来の方法で分離する。こ
の例では、拡張部「.html」は、これがHTMLファイルであることを意味
する。
【0007】 ハイパーテキスト・マークアップ言語(HTML):HTMLは、ウェブ・ク
ライアントが見る文書をウェブ・サーバが作成し接続するために使用する言語で
ある。HTMLはハイパーテキスト文書を生成する。
【0008】 ハイパーテキスト転送プロトコル(HTTP):HTTPは、クライアントか
らサーバへの各要求が独立して処理されるステートレス・プロトコルの一例であ
る。サーバは、以前の接続の記録を持たない。URLの最初にある「http:
」は、要求クライアントと目標サーバが、指定の資源に関してHTTPプロトコ
ルを用いて通信することを示す。
【0009】 インターネット・ブラウザまたはウェブ・ブラウザ:HTTPなどのインター
ネット・プロトコルを実行し、結果をユーザの画面上に表示するグラフィカル・
インタフェース・ツール。ブラウザは、ユーザがインターネット・「サーフィン
」を行うときのために画像デスクトップ、ディレクトリ、およびサーチ・ツール
を完備した、インターネットのツアー・ガイドとして作動することができる。本
願では、ウェブ・ブラウザはワールド・ワイド・ウェブと通信するクライアント
・サーバである。
【0010】 クライアント・キャッシュ:クライアント・キャッシュは一般的に、クライア
ントによってアクセスされたオブジェクトの一次群(キャッシュ)として使用さ
れる。WWW環境では、クライアント・キャッシュは一般的にウェブ・ブラウザ
によって実現され、現行呼出し中にアクセスされたオブジェクトを保存する、つ
まり非永続キャッシュとすることができ、あるいは全ての呼出しにわたってオブ
ジェクトを保存することができる。
【0011】 キャッシング・プロキシ:オブジェクトを捜して多分キャッシュに保存された
コピーを返すために、クライアントのためのエージェント(代理)として作動す
る、ネットワークにおける特殊化されたサーバである。キャッシング・プロキシ
は、クライアント・キャッシュからのキャッシュ・ミスの結果呼び出されるので
、一般的に二次またはそれより高次のキャッシュとして役立つ。
【0012】 メタ・タグ付け:情報と任意のオブジェクトの関連付け。例えば、HTTPで
は、情報はHTTPヘッダのフィールドにおける要求および応答の両方に関連付
けることができる。例えば、HTTPクライアントは、返されたページを要求し
たURLを指定することができる。
【0013】
【従来の技術】
ワールド・ワイド・ウェブ(WWWまたはウェブ)の人気が高まるにつれて、
インターネットのトラヒックはかなり増加した。ウェブは今や、ネットワーク性
能の主要なボトルネックの1つになっている。例えば、低速ネットワーク・リン
クを介してサーバに接続したユーザが文書または情報を要求した場合、ウェブ・
ユーザは顕著な遅延を経験することがある。ウェブがネットワークを介してユー
ザに情報を転送することにより、ネットワークにおけるトラヒックのレベルはさ
らに高くなる。トラヒックの増加は、他のユーザの要求に利用可能な帯域幅を減
少し、潜在的遅延をさらに高める原因となる。
【0014】 クライアントのアクセス待ち時間を減少するために、従来の技術は、人気のあ
る情報の文書のコピーをネットワーク・ノードでユーザにより近くに格納または
保存し、それによりアクセス待ち時間をより容認できるようになった。キャッシ
ングは、ネットワークの様々な地点で実現することができる。例えば、大規模な
大学または企業はそれ自身のローカル・キャッシュを持ち、そのネットワークに
加入している全てのユーザはそこから文書を取り出すことができる。ローカル・
キャッシュは、特殊サーバの形で実現することができる。
【0015】 特殊サーバはキャッシング・プロキシと呼ばれ、クライアントに代わって要求
された情報の潜在的なキャッシュ・コピーを捜すための代理として作動すること
ができる。キャッシング・プロキシは障害クライアント・キャッシュから残され
たミスだけに関係するので、キャッシング・プロキシは通常二次以上のキャッシ
ュとして作動する。クライアント・キャッシュは様々なウェブ・ブラウザに組み
込まれる。クライアント・キャッシュは、現行呼出し中の文書アクセスだけを格
納する(モザイクのような非永続キャッシュ)か、または全ての呼出しにわたっ
て文書を保存するかのいずれかとすることができる。
【0016】 ウェブ文書のキャッシングに関する以前の作業は、主としてオンデマンド・キ
ャッシングの領域であった。オンデマンド・キャッシングとは、オブジェクトが
要求された後でキャッシング決定が行われることを意味する。例えば、エイブラ
ムズ(Abrams)他の「キャッシング・プロキシ:限界と潜在的可能性(Caching
Proxies: Limitations and Potentials)」(第4回国際ワールド・ワイド・ウ ェブ会議1996年会報)は、ウェブのために検討されてきた様々なオンデマン
ド・キャッシング方針について述べている。
【0017】
【発明が解決しようとする課題】 インターネット・サービス・プロバイダ(ISP)ネットワークまたは企業ネ
ットワークでは、プロキシ階層の様々な地域プロキシまたは部門プロキシが、様
々な参照動作を観察したり、様々なネットワーク・トラヒックや遅延に直面する
。プロキシ階層の存在は、全部の中間プロキシ、クライアント、またはそれらの
サブセットが事前取出しを実行すべきか否かに関する事前取出し決定をいっそう
複雑にする。したがって、プロキシ・サーバ階層および関連クライアントに関し
、事前取出し動作を効果的に調整することができる事前取出し方法およびシステ
ムの必要性が存在する。
【0018】
【課題を解決するための手段】
したがって、本発明は、コンテンツ・サーバから選択情報を事前に取り出して
、コンテンツ・サーバに関連付けられた1つまたは複数のクライアントが通信ネ
ットワークおよび1つまたは複数のプロキシ・サーバを介してその選択情報に容
易にアクセスできるようにするための方法であって、 プロキシ・サーバの少なくとも1つから情報を要求するステップと、 前記クライアントのいずれかによる要求情報の過去の検索またはアクセスに基
づいて、前記クライアントのための事前取出しヒント情報を確立するステップと
、 要求情報に前記事前取出しヒント情報を注釈として付けるステップと、 事前取出しヒント情報および要求情報に基づいて、前記サーバのいずれかから
選択情報を事前に取り出すステップと を含む方法を提供する。
【0019】 一般的に、要求情報は要求オブジェクトを含み、選択情報はインターネット・
データなどの事前取出し候補オブジェクトを含む。この場合、要求オブジェクト
は、インターネット・データに関連付けられたハイパーテキスト転送プロトコル
(HTTP)リンクを介して選択オブジェクトを参照することができ、プロキシ
・サーバは、要求オブジェクトのオブジェクト・ヘッダに格納された要求オブジ
ェクトのユニバーサル・リソース・ロケータすなわちURLのHTTPプロトコ
ルを通して、要求オブジェクトに対する選択オブジェクトの関係を識別する。
【0020】 事前取出しヒント情報を確立するステップは、前記クライアントに関連付けら
れたデータ参照パターンを追跡するステップと、要求オブジェクトと事前取出し
候補オブジェクトとの間の関係によってデータ参照パターンをオブジェクト識別
子群に編成するステップと、前記識別子群のうちのどれが、前記事前取出し候補
オブジェクトを選択情報として事前に取り出すことを保証するために事前取出し
候補オブジェクトと要求オブジェクトとの間の充分な関係を持つかを決定するス
テップとを含むことが好ましい。したがって、前記クライアントのデータ参照パ
ターンは要求情報の過去の検索または以前のアクセスに基づくことが有利であり
、データ参照パターンは、前記クライアントのうち前記プロキシ・サーバの1つ
に関連付けられる様々なクライアントによる過去の検索またはアクセスの一般的
な傾向を表すように選択される。次いでこれを使用して、事前取出しヒント情報
を定義することができる。
【0021】 追跡および編成ステップは、プロキシ・サーバに参照データ・パターンを格納
するためのデータベースを確立すること、および前記データベースの各々の中に
、要求オブジェクトを別の要求オブジェクトから区別するオブジェクト識別子と
、前記サーバの1つによって観察されたものとして要求オブジェクトが要求され
た回数を示すオブジェクト・カウントとを含むフィールドを配置すること、およ
び各要求オブジェクトに関連付けられた1つまたは複数の事前取出し候補オブジ
ェクトが各々に含まれるアクセス・リストを前記データベースに関連付けること
を含むことが好ましい。
【0022】 そのようなデータベースを使用して、要求オブジェクトと事前取出し候補オブ
ジェクトの関係を定義し、かつ要求オブジェクトおよび事前取出し候補オブジェ
クトのアクセス統計を追跡することができる。前記アクセス統計は、要求オブジ
ェクトの親オブジェクト・アクセス頻度、および事前取出し候補オブジェクトの
子オブジェクト・アクセス頻度を含む。親オブジェクト・アクセス頻度とは、要
求オブジェクトのうちの特定の1つが前記クライアントのうちの少なくとも1つ
によって要求される回数を表す。子オブジェクト・アクセス頻度とは、前記特定
の1つがアクセスされた後で前記事前取出し候補オブジェクトのうちの1つまた
は複数が前後して実際に要求される回数を表す。これにより、子オブジェクト・
アクセス頻度に関連付けられた親オブジェクト・アクセス頻度に対する子オブジ
ェクト・アクセス頻度の比に基づいて、閾確率を超える比の事前取出し候補オブ
ジェクトだけを含む事前取出し候補オブジェクトの事前取出しリストを選択する
ことが可能になる。
【0023】 一般的に、前記プロキシ・サーバの1つまたは前記クライアントの1つでは、
事前取出し候補オブジェクトのサブセットだけが実際に事前取出しされ、受信さ
れる。事前取出し候補オブジェクトのこのサブセットの選択情報としての選択は
、前記プロキシ・サーバの1つにおける空き記憶容量および/または前記プロキ
シ・サーバのうちの1つにおけるアクセス回数などの要素に基づく。したがって
、事前取出し候補オブジェクトは、何らかの対応する事前取出し値に関連する優
先順位に従って事前取出しされる。
【0024】 好適な実施形態では、要求情報に注釈を付けるステップは、インターネット・
コンテンツ選択のためのプラットフォーム(PICS)フォーマットを有する事
前取出しラベルまたはPICSフォーマットと互換可能なラベル・プロトコルに
事前取出しヒント情報を配置するステップを含む。この(PICS)フォーマッ
トの特定の実現では、オブジェクト識別子カテゴリおよび参照側識別子カテゴリ
が定義され、前記方法はさらに、実際に参照された事前取出し候補オブジェクト
を識別するために、参照側識別子カテゴリをコンテンツ・サーバに返すステップ
を含む。インターネット・コンテンツ選択のためのプラットフォーム・プロトコ
ルまたはPICS互換性プロトコルによる事前取出しヒント情報の編成は、多く
のブラウザによってすでにサポートされているフォーマットを利用する。
【0025】 一般的に、前記プロキシ・サーバの階層がある。この階層に送信ノードおよび
受信ノードを定義して、事前取出しヒント情報を初期状態から最終状態に変更す
ることが好ましく、初期状態は送信ノードによって決定され、最終状態は受信ノ
ードによって決定される。その後最終事前取出し決定の基礎を形成するのは、前
記最終状態の事前取出しヒント情報である(選択情報の事前取出しが受信ノード
によって開始されることを前提とする)。
【0026】 言い換えると、事前取出しヒント情報はプロキシ・サーバからクライアントへ
階層を介して伝送されると、解釈し、更新することができる。プロキシ・サーバ
は、要求情報の局所的参照が存在するかどうか、および局所レベル・サーバのカ
ウントが最小閾カウントを超えるかどうかの事前取出しヒント情報を更新するこ
とが好ましい(つまり、したがって信頼できる統計が局所的に利用可能である)
。事前取出しヒント情報はまた、プロキシ階層におけるキャッシング状態に基づ
いて更新することもできる(例えば、階層のどこに特定の事前取出し候補オブジ
ェクトをキャッシュすることができるかを指摘する)。
【0027】 本発明はさらに、ネットワークに関連付けられた1つまたは複数のプロキシ・
サーバと、コンテンツ・サーバおよび1つまたは複数の前記プロキシ・サーバと
ネットワークを介して通信するためのクライアントとを含み、ネットワークを介
してコンテンツ・サーバから選択情報を事前に取り出すためのデータ処理システ
ムであって、 前記プロキシ・サーバの少なくとも1つから情報を要求する手段と、 前記クライアントのいずれかによる要求情報の過去の検索またはアクセスに基
づいて、前記クライアントのための事前取出しヒント情報を確立する手段と、 要求情報に前記事前取出しヒント情報を注釈として付ける手段と、 前記事前取出しヒント情報および要求情報に基づいて、前記サーバのいずれか
から選択情報を事前に取り出す手段と を含むデータ処理システムを提供する。
【0028】 好適な実施形態では、要求情報は要求オブジェクトを含み、選択情報は事前取
出し候補オブジェクトを含み、ここで前記プロキシ・サーバの各々およびクライ
アントの少なくとも1つは、主キャッシュと事前取出しキャッシュとの間に少な
くとも論理的分離を有するメモリを含み、前記事前取出しされた選択情報が事前
取出しキャッシュに格納される。
【0029】 事前取出し手段は、事前取出しキャッシュの空き記憶容量に関して、最も高い
事前取出し値を持つオブジェクトを最初に格納する優先順位構成に基づいて、オ
ブジェクトを事前に取り出し、かつ事前取出しされたオブジェクトを事前取出し
キャッシュに格納することが好ましく、事前取出し値は1つまたは複数のクライ
アントによる事前取出しオブジェクトへの個別または集合参照確率に基づく。特
に、事前取出し値は、事前取出しヒント情報リスト上の事前取出し候補オブジェ
クトが特定のクライアントによってアクセスされる推定アクセス確率、および事
前取出し候補オブジェクトのうちの選択オブジェクトを格納するための必須記憶
容量に基づくオブジェクトのアクセス・コストに基づくことができる。
【0030】 好適な実施形態では、事前取出し手段は、前記事前取出し値を計算するための
計算手段と前記計算手段によって計算された事前取出し値を評価するための評価
手段とを含む事前取出しハンドラを含み、前記計算手段は、事前取出しヒント情
報リスト上の各事前取出しオブジェクト識別子の事前取出し値を計算し、前記評
価手段は、複数の候補事前取出しオブジェクトの事前取出し値を評価し、かつ事
前取出しヒント情報リスト上で最も高い事前取出し値に関連付けられる候補事前
取出しオブジェクトのキャッシングを優先させる。事前取出し手段は、前記プロ
キシ・サーバの少なくとも1つにおける第1事前取出しハンドラと、前記クライ
アントの少なくとも1つにおける第2事前取出しハンドラとを含むことができる
(つまり、階層における異なる/複数の場所で事前取出しを行うことができる)
【0031】 好適な実施形態は、前記クライアントの1つのメモリに格納されるクライアン
ト・オブジェクト要求ハンドラをも含む。このクライアント・オブジェクト要求
ハンドラは、プロキシ・サーバまたはネットワークから要求オブジェクトを要求
する前に、主キャッシュおよび事前取出しキャッシュで要求オブジェクトを探索
する。クライアント・オブジェクト要求ハンドラは、事前取出しオブジェクトが
クライアントによって実際にアクセスされたことを示すサーバまたはサーバへの
事前取出し参照メッセージを生成することによって、オブジェクトが事前取出し
キャッシュ内にあるかどうかをコンテンツ・サーバまたはプロキシ・サーバに通
知する。同様に、前記プロキシ・サーバの少なくとも1つは、要求オブジェクト
が事前取出しキャッシュ内にある場合にキャッシュ・マネージャ・ルーチンを呼
び出した後で、事前取出し参照メッセージを転送するための事前取出し参照メッ
セージ・ハンドラを含むことが好ましい。これにより、たとえ子オブジェクトに
ついて直接交信しなくても、クライアントまたはプロキシ・サーバの事前取出し
キャッシュから得られるので、サーバがアクセス統計の正確な記録を維持できる
ことが確実になる。
【0032】 本発明はさらに、要求情報が要求オブジェクトを含み、かつ選択情報が事前取
出し候補オブジェクトを含むデータ処理システム用のコンテンツ・サーバまたは
プロキシ・サーバであって、 親オブジェクト識別子および関連子オブジェクト識別子を格納する統計テーブ
ルであって、親オブジェクトがクライアントによって参照される頻度を表す親オ
ブジェクトの第1カウントを含み、前記親オブジェクトのうちの選択オブジェク
トが参照された後で関連子オブジェクトが参照される頻度を表す子オブジェクト
の第2カウントを含む前記統計テーブルと、 前記統計テーブルの情報に基づいて事前取出しヒント情報リストを生成するた
めの生成手段と を含むサーバを提供する。
【0033】 一実施形態では、生成手段は統計テーブルから第1カウント、第2カウント、
子オブジェクト識別子、および親オブジェクト識別子の入力を受け入れ、生成手
段は、親オブジェクトとそれらの関連子オブジェクトとの間のアクセス関係を評
価するための評価手段を含み、評価手段は、対応する親オブジェクトへのクライ
アントによる参照の前に子オブジェクトがすぐに後で適切な頻度で参照される場
合、事前取出しヒント情報リストに子オブジェクト識別子を配置する。この適切
な頻度は、対応する親アクセスに対する子アクセスの比に基づくことができる。
一般的に、これは前記親オブジェクト識別子の各々について第1カウントに対す
る第2カウントの比を計算し、この比をヒント閾値と比較し、比がヒント閾値を
超える場合には子オブジェクトと関連親オブジェクトとをグループ化または関連
付けることを含む。
【0034】 サーバはさらに、実際に要求された子オブジェクトに基づいて統計テーブルを
更新するための統計更新手段を含むことが好ましく、この統計更新手段は最初に
前記親オブジェクトのうちの参照するオブジェクトのアイデンティティを探索し
、参照するオブジェクトまたは参照側(referrer)オブジェクトは実際に要求さ
れた子オブジェクトより前に参照され、実際に要求された子オブジェクトはそれ
に対応する第2カウントを統計テーブルで更新させる。統計テーブルは、事前取
出し参照メッセージ・ハンドラから事前取出し参照メッセージを受け取ることに
よっても更新されなければならない。
【0035】 サーバがプロキシ・サーバである場合、それはさらに、事前取出しヒント情報
リストを受け取り、かつ更新するための事前取出し更新手段を含むことが好まし
い。事前取出し更新手段は第1カウントを第1局所閾カウントと比較し、第1カ
ウントが第1局所閾カウントを超える子オブジェクト識別子のそれぞれについて
生成手段を呼び出す。第1カウントが第1局所閾カウントを超えない場合には、
事前取出し更新手段は元の事前取出しヒント情報リストを維持する。より洗練さ
れた方法では、事前取出し更新手段は第1カウントを第1および第2局所閾カウ
ントと比較し、(i)第1カウントが第1局所閾カウントを超えなければ、元の
事前取出しヒント情報リストを維持し、(ii)第1カウントが第1局所閾カウ
ントを超えるが第2局所閾カウントを超えない場合には、元の事前取出しヒント
情報リストを変更し、(iii)第1カウントが第1および第2局所閾カウント
の両方を超える場合には、元の事前取出しヒント情報リストを交換する。
【0036】 サーバはさらに、要求オブジェクトを要求したより下位のプロキシ・サーバま
たはクライアントに要求オブジェクトを返すためのプロキシ・オブジェクト・ハ
ンドラであって、要求オブジェクトが事前取出しオブジェクトでなければ、要求
オブジェクトを返し、かつそれに従って統計テーブルを更新する前記プロキシ・
オブジェクト・ハンドラと、事前取出しキャッシュを管理するための事前取出し
キャッシュ・マネージャとを含むことが好ましい。したがって、プロキシ・オブ
ジェクト・ハンドラは、オブジェクトが事前取出し要求に従って要求された場合
には、要求したクライアントまたはプロキシ・サーバに事前取出しキャッシュか
ら要求オブジェクトを返し、かつそのオブジェクトに事前取出しキャッシュから
削除可能とマークする。要求オブジェクトが主キャッシュまたは事前取出しキャ
ッシュ内に無ければ、プロキシ・オブジェクト・ハンドラはオブジェクト要求を
別のサーバに送る。要求オブジェクトが事前取出し要求に関連付けられない場合
、および要求オブジェクトが事前取出しキャッシュまたは主キャッシュ内にある
場合には、プロキシ・オブジェクト・ハンドラはそれに従って統計テーブルを更
新する。
【0037】 別の態様では、本発明は、通信ネットワークを介して1つまたは複数のプロキ
シ・サーバに関連付けられたクライアントが選択オブジェクトを容易に利用でき
るようにするために、コンテンツ・サーバから選択オブジェクトを事前に取り出
すための方法であって、 a)前記プロキシ・サーバの少なくとも1つから要求オブジェクトを要求するス
テップと、 b)クライアントによる要求オブジェクトの過去の検索またはアクセスに基づい
て、対応するクライアントのデータ参照パターンを識別するステップと、 c)データ参照パターンから事前取出しヒント情報リストへの事前取出しヒント
情報を作成するステップと、 d)要求オブジェクトに事前取出しヒント情報を注釈として付けるステップと、
e)事前取出しヒント情報および現在要求されているオブジェクトに基づいて、
前記サーバの少なくとも1つから選択オブジェクトを事前に取り出すステップと
を含む方法を提供する。
【0038】 したがって、事前取出しされる選択情報は事前取出し候補オブジェクトを含み
、事前取出しヒント情報を確立するステップはさらに、前記プロキシ・サーバの
階層内の送信ノードに事前取出しヒント情報を確立することを含み、事前取出し
候補オブジェクトは前記プロキシ・サーバの階層を介して受け渡され、階層内の
受信ノードで事前に取り出すための選択情報は事前取出しヒント情報に基づく。
【0039】 一般的に、ネットワークに関連付けられたプロキシ・サーバ階層があり、この
プロキシ・サーバ階層は、他のプロキシ・サーバよりクライアントにより密接に
関連付けられる、より下位のサーバを含む。1つの好適な実施形態では、要求オ
ブジェクトへの局所的参照が存在する場合、および局所レベル・サーバのカウン
トが最小閾カウントを超える場合、事前取出しヒント情報はプロキシ・サーバ階
層を介して更新される。別法として(または追加して)、階層のより上位のキャ
ッシング状態を分析することによって、事前取出しヒント情報を更新することが
できる。階層の最上位はネットワークに最も近接して関連付けられる。
【0040】 別の態様では、本発明は、ネットワークに沿ってサーバからクライアントへの
データの流れを強化するための処理システムにおいて、 ネットワークに関連付けられたプロキシ・サーバと、 ネットワークに関連付けられたコンテンツ・サーバと、 前記プロキシ・サーバの1つまたは複数と通信するように構成されたクライア
ントと、 前記プロキシ・サーバの少なくとも1つに格納される統計テーブルであって、
親オブジェクト識別子と関連子オブジェクト識別子を格納し、親オブジェクトが
クライアントによって参照される頻度を表す親オブジェクトの第1カウントを含
み、前記親オブジェクトのうちの選択オブジェクトが参照された後で対応する子
オブジェクトが参照される頻度を表す子オブジェクトの第2カウントを含む前記
統計テーブルと、 事前取出しヒント情報リストを導出するために、第1カウントおよび対応する
第2カウントの入力を受け入れることによって事前取出しヒント情報リストを生
成するための生成手段であって、 前記親オブジェクト識別子のそれぞれについて、第1カウントに対する第2カ
ウントの比を計算するための計算手段と、 比をヒント閾値と比較するための比較手段であって、比がヒント閾値を超える
場合には子オブジェクトと関連親オブジェクトを事前取出しヒント情報リスト上
でグループ化または関連付ける比較手段と、 事前取出しヒント情報およびクライアントによって実際に要求された親オブジ
ェクトに基づいて子オブジェクトを事前に取り出すための事前取出し手段と を含む前記生成手段と を含む処理システムを提供する。
【0041】 好適な実施形態では、前記プロキシ・サーバの各々が第1プロセッサ、第1メ
モリ、およびデータを格納するための第1記憶手段を有し、第1メモリは第1主
キャッシュと第1事前取出しキャッシュとの間に少なくとも論理的分離を有し、
コンテンツ・サーバは第2プロセッサ、第2メモリ、およびデータを格納するた
めの第2記憶手段を有し、クライアントの少なくとも1つは第3プロセッサ、第
3メモリ、およびデータを格納するための第3記憶手段を有し、第3メモリは第
2主キャッシュと第2事前取出しキャッシュとの間に少なくとも論理的分離を有
し、事前取出し処理手段は第1事前取出しキャッシュまたは第2事前取出しキャ
ッシュに子オブジェクトを格納する。
【0042】 好適な実施形態では、事前取出し手段は、事前取出し値を計算するための計算
手段と、計算手段によって計算された事前取出し値を評価するための評価手段と
を含み、前記計算手段は事前取出しヒント情報リスト上の各子オブジェクト識別
子の事前取出し値を計算し、かつ事前取出しヒント情報リスト上で最も高い事前
取出し値を持つ子オブジェクトのキャッシングを優先化し、事前取出し処理手段
は事前取出しキャッシュの空き空間を管理する。
【0043】 システムはさらに事前取出しヒント情報リストを更新するための事前取出し更
新手段を含み、事前取出し更新手段は第1カウントを第1局所閾カウントおよび
第2局所閾カウントと比較し、第1局所閾カウントは1つのサーバからの統計に
基づき、第2局所閾カウントは別のサーバからの統計に基づき、前記事前取出し
更新手段は、第1カウントが第1局所閾カウントおよび第2局所閾カウントの両
方を超える子オブジェクト識別子の各々に対し生成手段を呼び出し、事前取出し
更新手段は、第1カウントが第1局所閾カウントを超えない場合には元の事前取
出しヒント情報リストを維持することが好ましい。
【0044】 このシステムは、 統計テーブルを更新するための統計更新手段と、 前記プロキシ・サーバの1つに格納されるプロキシ・オブジェクト・ハンドラ
であって、事前取出しヒント情報リスト更新ルーチンを呼び出し、下位のプロキ
シ・サーバが要求オブジェクトを要求した場合には下位プロキシ・サーバに要求
オブジェクトを返し、要求オブジェクトが事前取出しオブジェクトでない場合に
は要求オブジェクトを返して統計更新手段を呼び出す前記プロキシ・オブジェク
ト・ハンドラと、 前記プロキシ・サーバの1つの関連付けられた事前取出しキャッシュを管理す
るための事前取出しキャッシュ・マネージャであって、下位サーバが要求オブジ
ェクトを要求しなかった場合にプロキシ・オブジェクト・ハンドラに呼び出され
る前記事前取出しキャッシュ・マネージャと、 前記プロキシ・サーバの1つに格納されるプロキシ・オブジェクト要求ハンド
ラであって、オブジェクトが事前取出しキャッシュ内にある場合、およびオブジ
ェクトが事前取出し要求に従って要求された場合には、前記クライアントのうち
の要求クライアントにオブジェクトを返し、かつそのオブジェクトに事前取出し
キャッシュから削除可能とマークし、要求オブジェクトが主キャッシュまたは事
前取出しキャッシュ内に無い場合には別のサーバにオブジェクト要求を送り、要
求オブジェクトが事前取出し要求に関連付けられない場合、および要求オブジェ
クトが事前取出しキャッシュまたは主キャッシュ内にある場合には、統計更新手
段と連絡するプロキシ・オブジェクト要求ハンドラと をさらに含むことが好ましい。
【0045】 また、システムは、 統計テーブルを更新するための統計更新手段と、 前記プロキシ・サーバの1つに格納された事前取出し参照メッセージ・ハンド
ラであって、統計更新手段を呼び出し、要求オブジェクトが事前取出しキャッシ
ュ内にある場合にはキャッシュ・マネージャ・ルーチンを呼び出した後で事前取
出し参照メッセージを転送する前記事前取出し参照メッセージ・ハンドラと をさらに含むことが好ましい。
【0046】 本発明はさらに、ネットワークに沿ってサーバからクライアントへのデータの
流れを強化するための処理システムであって、 ネットワークに関連付けられたプロキシ・サーバと、 ネットワークに関連付けられたコンテンツ・サーバと、 1つまたは複数の前記プロキシ・サーバと通信するように構成されたクライア
ントと、 コンテンツ・サーバおよび前記プロキシ・サーバの少なくとも1つに格納され
る統計テーブルであって、親オブジェクト識別子および関連子オブジェクト識別
子を格納し、親オブジェクトがクライアントによって参照される頻度を表す親オ
ブジェクトの第1カウントを含み、前記親オブジェクトのうちの選択オブジェク
トが参照された後で対応する子オブジェクトが時間的に接近して参照される頻度
を表す子オブジェクトの第2カウントを含む前記統計テーブルと、 統計テーブルから第1カウント、第2カウント、子オブジェクト識別子、およ
び親オブジェクト識別子の入力を受け入れる生成手段であって、親オブジェクト
とそれらの関連子オブジェクトとの間のアクセス関係を評価する評価手段を含み
、クライアントによる対応する親オブジェクトへの参照の前に子オブジェクトが
前後して連続的に適切な頻度で参照される場合には、前記評価手段が子オブジェ
クト識別子を事前取出しヒント情報リストに配置するようにした前記生成手段と
、 事前取出しヒント情報およびクライアントによって実際に要求された親オブジ
ェクトに基づいて、子オブジェクトを事前に取り出すための事前取出し手段と を含む処理システムを提供する。
【0047】 好適な実施形態では、事前取出し手段はさらに、事前取出しヒント情報リスト
上に識別された子オブジェクトに記憶優先順位を割り当てるための割当手段と、
記憶優先順位に従って子オブジェクトのうちの選択オブジェクトを格納するため
の選択的記憶手段とを含む。割当手段は、事前取出しヒント情報リスト上の子オ
ブジェクトが特定のクライアントによってアクセスされる推定アクセス確率およ
び子オブジェクトのうちの選択オブジェクトを格納するための必須記憶容量に基
づく子オブジェクトのアクセス費用に基づいて、記憶優先順位を割り当てること
が好ましい。
【0048】 このようにして情報をプロキシ階層で事前に取り出して、クライアントのネッ
トワーク(つまりインターネット)を介してのオブジェクト・アクセス時間を削
減することができる。選択情報をコンテンツ・サーバから事前に取り出して、ネ
ットワークのコンテンツ・サーバに関連付けられたクライアントが選択情報に容
易にアクセスできるようにする。クライアントはネットワークのプロキシ・サー
バに関連付けることが好ましい。クライアントは、プロキシ・サーバの少なくと
も1つから情報を要求する。コンテンツ・サーバは、クライアントによる要求情
報の過去のデータ・アクセス・パターンに基づいて、クライアントの事前取出し
ヒント情報を生成する。コンテンツ・サーバは、要求情報に事前取出しヒント情
報を注釈として付ける。1つまたは複数のプロキシ・サーバは、動的使用統計に
基づいて事前取出しヒント情報を動的に更新することができる。オブジェクトが
プロキシ階層を通過すると、事前取出しヒント情報は、実行された事前取出し動
作、プロキシ階層の上位でのキャッシング状態、および例えば局所的参照パター
ンなどその他の局所的考慮点を反映するように更新される。選択情報は、事前取
出しヒント情報および要求された情報に基づいて、コンテンツ・サーバまたはい
ずれかのプロキシ・サーバから事前に取り出すことができる。参照アクセス確率
および記憶装置上の考慮点に基づいて、事前取出しヒント情報に事前取出し値を
割り当てることができる。事前取出しヒント情報リスト内で最も高い事前取出し
値を持つ選択情報は最初に、かつ潜在的に事前取出しキャッシュがいっぱいにな
るまで、キャッシュに保存される。
【0049】 次に、本発明の好適な実施形態を単なる例として、添付の図面を参照しながら
、詳細に説明する。
【0050】
【発明の実施の形態】
図1は、クライアント22、プロキシ・サーバの階層24、ネットワーク25
、およびコンテンツ・サーバ20を含むデータ処理システムを示す。
【0051】 クライアントは、親オブジェクト、子オブジェクト、要求オブジェクト、選択
オブジェクト、ページ、要求情報、および選択情報の形式で情報を要求すること
ができる。親オブジェクトが履歴的に処理された後で1つまたは複数の関連子オ
ブジェクトを要求することができるように、親オブジェクトは子オブジェクトに
関連付けられる。要求オブジェクトは親オブジェクトに類似している一方、選択
オブジェクトは子オブジェクトに類似している。要求オブジェクトとは、1つま
たは複数のクライアントによって実際に要求されるオブジェクトである。一方、
選択オブジェクトとは、要求オブジェクトの後で選択オブジェクトを時間的に接
近して要求することができるように、要求オブジェクトとグループ化されるかま
たはそれに関連付けられるオブジェクトである。要求情報は要求オブジェクト、
親オブジェクト、およびクライアントによって要求されるその他の形式のデータ
を含む。選択情報は子オブジェクト、選択オブジェクト、および事前に取り出す
ことができるその他の形式のデータを含む。
【0052】 クライアント22は、コンテンツ・サーバ20またはプロキシ・サーバ24か
ら情報を要求することができる。しかし、プロキシ・サーバ24は通常、ネット
ワーク25およびコンテンツ・サーバ20に対するクライアント22の仲介者と
して作動する。プロキシ・サーバ24は、プロキシ・サーバ階層が要求情報を含
むかまたは要求されたタスクを完了する能力を持つ場合、コンテンツ・サーバ2
0と接触することなく、クライアント情報要求を満たすことができるので有利で
ある。図1のデータ処理システムは、インターネットに適用することができる。
例えば、コンテンツ・サーバ20はウェブ・サイトを含むことができる一方、ネ
ットワーク25はインターネットを含むことができる。
【0053】 図1は、データ処理システムの要素間の物理的接続ではなく、論理的接続26
を示す。論理的接続26は、データ処理システム内におけるオブジェクトおよび
要求の情報の流れを表す。論理的接続26は一般的に、プロキシ・サーバ24間
の物理的接続を表すものではない。論理的接続26は、作業量および/またはノ
ードや通信リンク障害などの物理的事象のために変化することがある。異なる種
類のオブジェクトは、クライアント22に到達するまで異なる論理的伝送経路に
従うことがある。
【0054】 実際問題としてクライアント22およびプロキシ・サーバ24は事実上何個で
も使用することができるが、図1の例は、4つのクライアント22および4つの
階層レベルのプロキシ・サーバ24を備えている。実際には、任意のレベル数の
プロキシ・サーバ階層可能であり、クライアント22はプロキシ・サーバ階層の
どのレベルにでも論理的に接続することができる。例えば、プロキシ・サーバ2
4の階層は単一プロキシ・サーバとすることができる。本発明は単一のクライア
ント22および単一のプロキシ・サーバ24だけで実現することもできる。
【0055】 図示するように、最上位のプロキシ・サーバは、レベル0のプロキシ・サーバ
30と指定される。「レベル0」は、図1の例における別のプロキシ・サーバに
対する1つのプロキシ・サーバの状態を単に定義するだけの任意の符号である。
最上位プロキシ・サーバはネットワーク25に論理的に接続される。上位プロキ
シ・サーバ21は、下位プロキシ・サーバ23より、ネットワーク25に対して
より近くで論理的に関連付けられる。(したがって、レベル0のプロキシ・サー
バをプロキシ階層の最上位とみなすこの用語法では、レベル0はレベル1より「
高く」、レベル1はレベル2より「高く」、以下同様である。)
【0056】 レベル1の第1プロキシ・サーバ35および第2プロキシ・サーバ37は、レ
ベル0のプロキシ・サーバ30に論理的に結合される。レベル1の第1プロキシ
・サーバ35は、レベル2の第1プロキシ・サーバ40および第2プロキシ・サ
ーバ43に接続される。レベル2の第1プロキシ・サーバ40は、レベル3の第
1プロキシ・サーバ50および第2プロキシ・サーバ55に論理的に結合される
【0057】 クライアント22は、第1クライアント600、第2クライアント603、第
3クライアント700、および第4クライアント703を含む。第1クライアン
ト600および第2クライアント603は、レベル3の第1プロキシ・サーバ5
0に論理的に連結される。第3クライアント700および第4クライアント70
3は、レベル3の第2プロキシ・サーバ55に論理的に連結される。
【0058】 今から、データ処理システムを第2クライアント603の観点から説明する。
第2クライアント603は、そのすぐ上のレベルのプロキシに連結される。図示
するように、すぐ上のレベルのプロキシはレベル3の第1プロキシ50である。
次いで、第2クライアント603はレベル2の第1プロキシ・サーバ40、レベ
ル1の第1プロキシ・サーバ35、およびレベル0のプロキシ・サーバ30にそ
れぞれ連結される。第2クライアント603は、ネットワーク25を介して様々
なコンテンツ・サーバ20にアクセスすることができる。第2クライアント60
3の一般的な通信経路はすぐ上のレベルのプロキシ(すなわちレベル3の第1プ
ロキシ・サーバ50)を経由するが、第2クライアント603またはより下位の
プロキシは、その他のより上位のプロキシ・サーバ24またはネットワーク25
に直接通信することができる。第2クライアント603は、キャッシングを管理
するためにそれ自身のクライアント・プロキシを有することもできる。
【0059】 第2クライアント603の観点からは、特定のプロキシ・サーバはそのプロキ
シ階層の一部ではない。例えば、レベル3の第2プロキシ・サーバ55、レベル
2の第2プロキシ・サーバ43、およびレベル1の第2プロキシ・サーバ37は
、第2クライアントのプロキシ・サーバ階層の一部ではない。
【0060】 クライアント22は、パーソナル・コンピュータ、ワークステーション、セッ
ト・トップ・ボックスなどを含むことができるが、それらに限定されない。ネッ
トワーク25は、インターネット、ワールド・ワイド・ウェブ、イントラネット
、ローカル・エリア・ネットワーク(LAN)などを含むことができるが、それ
らに限定されない。
【0061】 プロキシ・サーバ24およびコンテンツ・サーバ20は、市販されている様々
なコンピュータを含むことができる。例えば、プロキシ・サーバ24は、IBM
コーポレイションから販売されているインターネット・コネクション・サーバ(
ICS)として実現することができる。同様に、コンテンツ・サーバ20は、ロ
ータス・ゴー・ウェブ・サーバ、ロータス・ドミノ・サーバ、または類似物(同
じくIBMコーポレイションから市販)として実現することができる。プロキシ
・サーバ24またはコンテンツ・サーバ20は、S/390 SYSPLEX、
SP2、またはRS/6000ワークステーション(同じくIBMコーポレイシ
ョンから市販)などの製品をそれらに限定することなく含む任意の計算ノードで
実行することができる。要するに、プロキシ・サーバ24またはコンテンツ・サ
ーバ20は、ワールド・ワイド・ウェブ・ページへのアクセス、リモート・ファ
イル転送、電子メール、および取引サポートをクライアント22に提供できる任
意の汎用コンピュータおよび関連ソフトウェアを含むことができる。
【0062】 図1のデータ処理システムは、従来のプロキシ階層の属性を使用してデータ転
送効率を維持することができる。例えば、要求オブジェクトが下位プロキシ・サ
ーバで局所的に入手できない場合、入手できないオブジェクトの要求は次の上位
プロキシに行われる。この上位プロキシがそのキャッシュ・メモリ内のそのオブ
ジェクトを以前に保存している場合、この上位プロキシは下位プロキシ・サーバ
を介してクライアントへ要求オブジェクトを下げ渡す。そうでなければ、この上
位プロキシ・サーバは次に高い上位プロキシからオブジェクトを獲得しようとす
る。ひとたび要求オブジェクトを獲得すると、それは下位プロキシまたはオブジ
ェクトを要求したクライアントまで下げ渡される。
【0063】 図2は、図1に示したデータ処理システムのより詳細な例を示す。このデータ
処理システムはプロキシ・サーバ24、コンテンツ・サーバ20、ネットワーク
25、およびクライアント22を含む。データ処理システムは、事前取出しユニ
ット250、統計テーブル261、統計更新ユニット252、主キャッシュ29
7、および事前取出しキャッシュ298を含むことが好ましい。
【0064】 事前取出しユニット250は、プロキシ・サーバ24内の第1事前取出しハン
ドラ248およびクライアント22内の第2事前取出しハンドラ241を含むこ
とが好ましい。統計テーブル261は、プロキシ・サーバ24に関連付けられた
第1統計テーブル293およびコンテンツ・サーバ20に関連付けられた第2統
計テーブル267を含む。統計更新ユニット252は、第1統計テーブル293
を更新するための第1更新統計ユニット264、および第2統計テーブル267
を更新するための第2更新統計ユニット269を含む。主キャッシュ297は、
各プロキシ・サーバ24内の第1主キャッシュ294および各クライアント22
内の第2主キャッシュ246を含む。事前取出しキャッシュ298は、プロキシ
・サーバ24内の第1事前取出しキャッシュ296およびクライアント22内の
第2事前取出しキャッシュ249を含む。
【0065】 プロキシ・サーバ24は、ネットワーク25を介して要求を満たすことができ
る計算ノードである。プロキシ・サーバ24は第1プロセッサ280、第1メモ
リ290、および第1記憶装置281を含む。第1メモリ290は、例えばラン
ダム・アクセス・メモリ(RAM)を含むことができる。第1記憶装置281は
、例えば直接アクセス記憶装置(DASD)を含むことができる。第1メモリ2
90は、コンピュータ実行可能コードとして実現されるプロキシ・サーバ論理2
95を格納する。プロキシ・サーバ論理295は、第1プロセッサ280によっ
て実行するために、第1記憶装置281から第1メモリ290へロードされる。
プロキシ・サーバ論理295の動作の詳細は図11に示す。
【0066】 プロキシ・サーバ論理295は、プロキシ・オブジェクト要求ハンドラ283
、プロキシ・オブジェクト・ハンドラ284、第1事前取出しハンドラ248、
事前取出し参照メッセージ・ハンドラ285、事前取出し更新手段291、第1
更新統計ルーチン264、第1統計テーブル293、第1主キャッシュ294、
および第1事前取出しキャッシュ296を含む。
【0067】 プロキシ・オブジェクト要求ハンドラ283の動作の詳細は図12に示す。プ
ロキシ・オブジェクト・ハンドラ284の動作の詳細は図14に示す。事前取出
し参照メッセージ・ハンドラ285の動作は図13に示す。統計更新ユニット(
つまり第1更新統計ルーチン)の動作の詳細は図6に示す。
【0068】 事前取出しユニット250(つまり第1事前取出しハンドラ248)の動作は
、図9に詳細に示す。事前取出し更新ユニット291または事前取出しヒント情
報更新ルーチンの動作は、図15に示す。プロキシ・サーバ論理295は、第1
主キャッシュ294および第1事前取出しキャッシュ296を維持する。
【0069】 コンテンツ・サーバ20は、ネットワーク25を介して要求を満たすことがで
きる計算ノードである。コンテンツ・サーバ20は第2プロセッサ260、第2
メモリ263、および第2記憶装置265を含む。第2メモリ263は、例えば
ランダム・アクセス・メモリ(RAM)を含むことができる。第2記憶装置26
5は、例えば直接アクセス記憶装置(DASD)を含むことができる。第2メモ
リ263は、コンテンツ・サーバ論理268またはコンテンツ・サーバ・ソフト
ウェアを格納する。
【0070】 コンテンツ・サーバ論理268の動作については、図5に関連して後でより詳
細に示す。コンテンツ・サーバ論理268は、第2プロセッサ260によって実
行するために、第2記憶装置265から第2メモリ263へロードされるコンピ
ュータ実行可能コードとして実現される。コンテンツ・サーバ論理268は、第
2統計テーブル267、第2統計テーブル267を更新するための第2更新統計
ユニット269、および事前取出しヒント情報を生成するための生成ユニット2
66を含む。第2統計テーブル267は、クライアントによって要求された情報
に関するデータ、および要求された情報に関連付けられた潜在的事前取出し情報
を格納する。統計テーブル261は、クライアントの実際の参照動作に基づく事
前取出しヒント情報の生成に貢献する。統計テーブル261の詳細は、図4に示
す。
【0071】 第2更新統計ユニット269の動作は、図6に関連してより詳細に示す。生成
ユニット266は、第2統計テーブル267内の情報および要求情報から事前取
出しヒント情報を生成する。生成ユニット266は、図7に示すように事前取出
しヒント情報(PHI)生成ルーチンとして実現することができる。
【0072】 クライアント22は、第3プロセッサ240、第3メモリ245、および第3
記憶装置242を含むことが好ましい。第3メモリ245は、例えばランダム・
アクセス・メモリを含むことができる。第3記憶装置242は、例えば直接アク
セス記憶装置(DASD)を含むことができる。第3メモリ245は、クライア
ント論理244またはクライアント・ソフトウェアを格納する。クライアント論
理244の動作は後で、図8に関連してより詳細に示す。クライアント論理24
4はコンピュータ実行可能コードとして実現され、これは、第3プロセッサ24
0によって実行するために、第3記憶装置242から第3メモリ245へロード
される。
【0073】 クライアント論理244は、クライアント・オブジェクト要求ハンドラ247
、第2事前取出しハンドラ241、第2主キャッシュ246、および第2事前取
出しキャッシュ249を含む。クライアント・オブジェクト要求ハンドラ247
は、第2主キャッシュ246、第2事前取出しキャッシュ249、プロキシ・サ
ーバ24、またはコンテンツ・サーバ20からクライアントのために要求オブジ
ェクトを獲得する。クライアント・オブジェクト要求ハンドラ247の動作の詳
細は、図10に示す。
【0074】 クライアント論理244は、第2主キャッシュ246および第2事前取出しキ
ャッシュ249を維持する。第2主キャッシュ246は、頻繁に参照されるオブ
ジェクトを格納するために使用される一方、第2事前取出しキャッシュ249は
、オブジェクトが実際に参照される前にそれらを格納するために使用される。事
前取出しオブジェクトとは、参照オブジェクトに関連して直前または以前にまだ
参照されていないオブジェクトである。好適な実施形態では、主キャッシュ29
7は従来のLRU(最低使用頻度)アルゴリズムによって管理される。その他の
任意の置換戦略を適用して主キャッシュ297を維持することができることも当
業者なら理解されよう。
【0075】 主キャッシュ297および事前取出しキャッシュ298は論理的に分離するこ
とができる。主キャッシュ297の実際に参照されたオブジェクトから事前取出
しオブジェクトを論理的に分離することは、事前取出しオブジェクトが記憶空間
を多く取り過ぎるのを防止する。論理的に分離された事前取出しキャッシュと主
キャッシュのこの目的を達成するために、様々な代替方法が利用できる。例えば
単一キャッシュは、事前取出しオブジェクトの数に上限を課し、かつ/または事
前取出しオブジェクトによって占有される空間に上限を課すことができる。主キ
ャッシュ297および事前取出しキャッシュ298は、異なる目標をサポートす
るように意図されている。主キャッシュ297は、繰り返し参照される潜在的可
能性を持った人気のあるオブジェクトを保存することになっている。事前取出し
キャッシュ298は、特定のブラウジング・セッションで次に参照される可能性
が最も高いオブジェクトを事前に取り出すことによって、そのセッションをサポ
ートするために使用されるだけである。好適な実施形態では、階層の下位ノード
が高位ノードの事前取出しキャッシュ内にあるオブジェクトに対する事前取出し
要求を発行すると、そのオブジェクトは下位ノードに下げ渡され、事前取出しの
目的が達成されたので高位ノードの事前取出しキャッシュ298から削除可能と
いう印が付けられる。事前取出しオブジェクトが実際に参照されると、主キャッ
シュ297の管理方針によって、それを主キャッシュ297に移すことができる
。LRU置換方針を使用する好適な実施形態では、一度参照された事前取出しオ
ブジェクトは主キャッシュに移される。
【0076】 事前取出しキャッシュ298から主キャッシュ297へのオブジェクトの移動
を許可するために、代替基準を考案することができる。エイブラムス他の「キャ
ッシング・プロキシ:限界と潜在的可能性(Cashing Proxies: Limitation and
Potentials)」(第4回国際ワールド・ワイド・ウェブ会議1996年会報)で
、意思決定プロセスにおいてオブジェクトのサイズを考慮に入れる幾つかのキャ
ッシュ置換方針が考察されている。他のキャッシュ置換戦略も当業者には知られ
ている。
【0077】 図3は、コンテンツ・サーバ20またはプロキシ・サーバ階層からクライアン
トのためにデータを動的に事前に取り出すための方法を示す流れ図である。最初
に、ブロック100で、クライアントはプロキシ・サーバまたはコンテンツ・サ
ーバ20から情報を要求する。第2に、ブロック102で、コンテンツ・サーバ
20およびプロキシ・サーバにおける履歴データ・アクセスまたはデータ参照の
パターンが識別される。実際には、ブロック100およびブロック102を完了
する順序は逆にすることができる。
【0078】 第3に、ブロック104で、コンテンツ・サーバ20は、ブロック102で識
別されたデータ参照パターンに基づいて、要求情報への関連アクセスに関する事
前取出しヒント情報(PHI)を生成する。第4に、ブロック105で、事前取
出しヒント情報を要求情報に注釈として付けることができる。例えば、事前取出
しヒント情報は、要求情報(つまりオブジェクト)に付加されたメタ・データと
して伝達することができる。事前取出しヒント情報を確立または生成するステッ
プに関して、コンテンツ・サーバ20は多数の並行ユーザまたはクライアントか
ら使用/参照パターンを追跡する。実際には、コンテンツ・サーバ20は、どの
オブジェクト・グループが要求情報または要求オブジェクトに関連付けられるか
を決定する。コンテンツ・サーバ20は事前取出しヒント情報(PHI)を生成
して、要求オブジェクトに提供する。事前取出しステップで、またはその直前に
、プロキシ・サーバは局所的考慮点に照らしてPHIを解釈して、どの選択オブ
ジェクトを事前に取り出すかを決定することができる。
【0079】 第5に、ブロック106で、要求情報がプロキシ・サーバ階層内を通過すると
、事前取出しヒント情報が更新される。ブロック106における更新は、実行さ
れる事前取出し動作および上位階層におけるキャッシング状態、ならびに例えば
局所的参照パターンなどその他の局所的考慮点を反映する。プロキシ・サーバは
、オブジェクトを次の(下位)レベルのプロキシまたはクライアント・ステーシ
ョンにオブジェクトを渡す前に、その事前取出し決定および様々な局所的考慮点
を反映するようにPHIを変更することができる。オブジェクトがプロキシ階層
内を通過すると、送信ノードは初期PHIを設定する一方、受信ノードは初期P
HIから最終PHIを導出することができる。最終PHIは、要求されたオブジ
ェクトに基づいてどの選択オブジェクトを事前に取り出すかを決定する。事前取
出し動作および決定は送信側で起動ではなく、受信側で起動される。
【0080】 最後に、ブロック108で、事前取出しヒント情報および要求情報に基づいて
、選択情報が事前取出しされる。プロキシ・サーバまたはクライアントは、受信
したオブジェクト内のPHI情報、局所的に維持される参照情報(利用可能な場
合)、および例えば空き記憶容量やアクセス時間などその他の局所的考慮点に基
づいて、PHIに指定されたオブジェクトのサブセットを事前に取り出すかどう
かを決定する。
【0081】 ブロック104における事前取出しヒント情報の生成は、PICSプロトコル
またはPICS互換性フォーマットを使用することが好ましい(下記参照)。ブ
ロック104で生成されたPHIは、キャッシュに保存されたオブジェクトが要
求されたときに、そのオブジェクトのPHI情報を調べて適切な事前取出し動作
を起動することができるように、各々のキャッシュされるオブジェクトと一緒に
そのメタ・データの一部として格納される。PHI情報は、PICSプロトコル
により提供することができる。PICSプロトコルは、各PHIオブジェクトの
重大性および例えばサイズなどのその特性、ならびに高い階層のキャッシング状
態に関する情報を提供する。
【0082】 事前取出しヒント情報の更新は、プロキシ・サーバ階層を通して行うことがで
きる。プロキシ・サーバは局所情報を収集し、事前取出し決定をプロキシ階層の
下方に配付または分散することができる。さらに、どの中間プロキシがオブジェ
クトを事前に取り出したかの情報は、記憶場所および帯域幅に使用を最適化する
ために、下位プロキシおよびクライアント・ステーションの事前取出し決定に対
し暗黙の意味を含むことがある。
【0083】 プロキシ・サーバ階層内のプロキシ・サーバは、相互に協力してレシーバ指向
の事前取出し決定を提供する。事前取出し決定は、各プロキシおよびクライアン
トによって協力して行われる。メタ情報の形式の事前取出しヒント情報は、要求
オブジェクトの注釈になる(つまり付加される)。事前取出しヒント情報は、潜
在的事前取出し候補に関する情報を提供する。中間プロキシ・サーバは、局所的
状態に基づいてメタ情報または事前取出しヒント情報を変更することがあり、後
でオブジェクトを参照したときに事前取出しをトリガすることができるように、
オブジェクトがキャッシュに保存されるときにそれと共にメタ情報を格納する。
【0084】 図4は、統計テーブル261のデータ・フォーマットを示す。統計テーブル2
61は一般的に、第1統計テーブル293または第2統計テーブル267のいず
れかを指すものとする。1つまたは複数のプロキシ・サーバ24が第1統計テー
ブル293を維持する。コンテンツ・サーバ20は第2統計テーブル267を維
持する。第1統計テーブル293および第2統計テーブル267のフォーマット
は、プロキシ・サーバ階層内の様々なプロキシ・サーバにおける統計テーブル2
61の更新を促進するために、実質的に類似または同一であることが好ましい。
統計テーブル261は、統計テーブル261が関連付けられたプロキシ・サーバ
またはコンテンツ・サーバ20の観点から、実際のビューア参照動作に基づいて
事前取出しヒント情報(PHI)を提供するのに役立つ。統計テーブル261は
、プロキシ・サーバ階層内でそれより下の全部の到達可能なクライアントの参照
を観察することができる。
【0085】 例えば、図1で、レベル1の第1プロキシ・サーバ50内の第1統計テーブル
293は、第1クライアント600および第2クライアント603の集合データ
・アクセス動作を追跡する。一方、レベル3の第2プロキシ・サーバ55内の第
1統計テーブル293は、第3クライアント700および第4クライアント70
3の集合データ・アクセス動作を追跡する。レベル2の第1プロキシ・サーバ4
0内の第1統計テーブルは、第1クライアント600、第2クライアント603
、第3クライアント700、および第4クライアント703の集合動作を追跡す
る。レベル3の第1プロキシ・サーバ50など下位プロキシは、クライアント6
00の関心をよりよく追跡することができるかもしれないが、下位プロキシは、
充分な標本規模のクライアントから意味のある事前取出しヒント情報(PHI)
を提供するのに充分な参照統計を得ることはできないかもしれない。
【0086】 好適な実施形態では、コンテンツ・サーバ20からオブジェクトOが要求され
ると、サーバ20は、その第2統計テーブル267内の情報に基づいて、初期事
前取出しヒント情報PHIを提供する。オブジェクトOへの充分な局所的参照が
あれば、オブジェクトOがプロキシ階層の下方に渡されるときに、プロキシ・サ
ーバ24はクライアント22までの経路に沿ってオブジェクト・ヘッダ内の事前
取出しヒント情報(PHI)を変更し、PHIを第1統計テーブル293の局所
的情報に適応させることができる。第1統計テーブル293は、下位プロキシ・
サーバによる特定のクライアントのよく指標付けされた関心または好みなどの要
素に基づいて、第2統計テーブル267にとって代わることができる。
【0087】 好適な実施形態では、コンテンツ・サーバ20は第2統計テーブル267を維
持し、これは要求情報に関するクライアント22のデータ・アクセス頻度のデー
タベースである。データベースは、要求するプロキシ・サーバ24のデータ・ア
クセス頻度を含むように拡張することができる。同様に、1つまたは複数のプロ
キシ・サーバ24が第1統計テーブル293を維持する。例えば、統計テーブル
261は第1データ構造304および第2データ構造306を備えた第1配列3
83を持つ。図示するように、第1データ構造304および第2データ構造30
6はレコードである。統計テーブル261の各レコードは、親オブジェクト識別
子(オブジェクトID)301、第1カウント(Tカウント)302、およびア
クセス・リスト・データ・ポインタ(Aリスト)303を含む幾つかのフィール
ドで構成される。
【0088】 親オブジェクト識別子フィールド301にはオブジェクト識別子が入る。例え
ば親オブジェクト識別子301は、インターネットまたは関連適用分野用のオブ
ジェクトのURLを含む。第1カウント・フィールド302には、サーバによっ
て観察された、親オブジェクト識別子に関連付けられた親オブジェクトが参照さ
れた回数が入る。つまり、第1カウント・フィールド302には、要求オブジェ
クトの実際の要求の頻度が入る。第1カウント302は親オブジェクトアクセス
頻度を表す。アクセス・リスト・データ・ポインタ303には、アクセス・リス
ト370へのデータ・ポインタが入る。
【0089】 統計テーブル261はアクセス・リスト370を持ち、これは例えば第1アク
セス・レコード340、第2アクセス・レコード350、第3アクセス・レコー
ド360、および第4アクセス・レコード380を含む。図示するように、第1
データ構造304に関連付けられた親オブジェクト識別子は、第1アクセス・レ
コード340、第2アクセス・レコード350、および第3アクセス・レコード
360の連結リストから成るアクセス・リスト370を持つ。次レコード・デー
タ・ポインタ・フィールド313には、特定の親識別子301に関連付けられた
アクセス・リスト370上の次のアクセス・レコードへのポインタが入る。第2
データ構造306に関連付けられた親オブジェクト識別子301は、第4アクセ
ス・レコード380を含むだけである。
【0090】 アクセス・リスト上の各レコードまたはデータ構造は、子オブジェクト識別子
310、第2カウント(Rカウント)312、および次レコード・データ・ポイ
ンタ(NXT)313を含む幾つかのフィールドで構成される。データ構造は、
一般的データ構造、レコード、または配列のフォーマットとすることができる。
図4に示すように、データ構造は、アクセス・リスト370内の連結リストを形
成するレコードである。
【0091】 代替実施形態では、統計テーブルのデータ・フォーマットは、ツリー構造で複
数の代替2次配列に関連する1次配列を含むことができる。1次配列は親オブジ
ェクトに関連する情報を含み、2次配列は、対応する親オブジェクトの子オブジ
ェクトに関する情報を含む。
【0092】 子オブジェクト識別子フィールド310は、オブジェクトのオブジェクト識別
子(URL)を含む。親オブジェクト識別子301は、アクセス・リスト上の1
つまたは複数の子オブジェクト識別子310に関連する。子オブジェクト識別子
310は、子の親オブジェクトが実際に参照された場合、潜在的な事前取出し候
補を識別する。第2カウント312は、子オブジェクトがその親オブジェクトを
通して参照される回数を含む。言い換えると、第2カウントとは、関連付けられ
た親オブジェクトの事前の参照の後に、時間的に接近して子オブジェクトが参照
される頻度である。第2カウント312は子オブジェクト・アクセス頻度を表す
【0093】 アクセス・リスト370上の子オブジェクト識別子310は、クライアントの
実際の参照動作の観察に基づいて動的に獲得することができる。例えば、HTM
Lでは、ウェブ・ページは他のウェブ・ページへのHTTPリンクを持つことが
できる。HTTPリンクによって指示されるウェブ・ページは、HTTPリンク
を含む(親)ウェブ・ページの潜在的子オブジェクトである。親オブジェクトが
表示されているときに、親オブジェクトに含まれる参照(HTTP)リンクをク
リックすると、対応する子オブジェクトが参照される。子オブジェクトへの参照
リンクは複数の他のオブジェクトに含まれることがあるので、子オブジェクトは
2つ以上の親を持つことができる。HTTPプロトコルでは、子オブジェクトへ
の要求は、そのヘッダに参照側情報として親のURLを含む。したがってサーバ
は、その後の子参照をその親に動的に関連付けることができる(子のヘッダ内の
参照側情報により)。クライアントが1つの子オブジェクトを頻繁にクリックま
たは選択する場合、その子オブジェクトは事前取出し候補または選択情報となる
ことができる。
【0094】 ビューア参照動作を動的に追跡することに加えて、ウェブ・ログの統計的分析
またはマイニングを定期的に行って、統計テーブル261のためにオブジェクト
のグループに関する情報を導出することができる。マイニング・アルゴリズムは
、PHIの潜在的事前取出し候補を得るために、一緒に参照されるオブジェクト
のグループを識別する。ウェブ・ログをマイニングする1つの方法は、クン=ル
ン・ウー(Kun-lung Wu)他による「SpeedTracer: Web Usage Mining and Analy
sis Tool」IBM Research Report 20895、1997年5月に記述されている(IBM
Systems Journal v37, nl, p 89-105, 1998参照)。SpeedTracerア
ルゴリズムは、ユーザ・セッションで一緒に参照される頻繁なページ・グループ
および頻繁な探査経路に関する情報を提供する。SpeedTracerアルゴ
リズムは、直接的には一緒に参照されない関連参照を発見することができる詳細
型のマイニングである。それはまた、任意のオブジェクトまでの探査経路に基づ
いて、次の組の参照オブジェクトについて優れた予測を行うこともできる。
【0095】 別の種類のデータ・マイニング・アルゴリズムを使用して、統計テーブル26
1用のデータ・アクセス・パターンを識別することができる。例えば、他のデー
タ・マイニング・アルゴリズムとして分類とクラスタ化があり、これもウェブ・
ログ分析に適用して参照パターンを得ることができる。さらに、PHIも、コン
テンツ・サーバがオブジェクト関係のその知識に基づいて供給することができる
。例えば、PHIは、要求されたソフトウェア・ダウンロードのためのパッチと
アップグレード、要求されたJAVAアプレットのJavaクラス、および要求
オブジェクト内に含まれるオブジェクト(GIFなど)を含むことができるが、
これらに限定されない。
【0096】 好適な実施形態では、統計を収集するときに、クライアント・ステーションに
よるオブジェクトの実際の参照は、オブジェクトへの事前取出し要求から区別さ
れる。統計テーブル261内の第1カウント302および第2カウント310は
、事前取出しではなく、実際の参照を反映する。すなわち、事前取出し動作の結
果、第1統計テーブル293または第2統計テーブル267が更新されることは
なく、実際のオブジェクト参照によってのみ更新される。
【0097】 事前取出しヒント情報または事前取出しヒント情報リストは、要求情報または
要求オブジェクトに注釈を付けるために様々なデータ構造を使用することができ
る。例えば、事前取出しヒント情報は、付加されたメタ・データを用いて要求者
とサーバ・ノードとの間でやり取りすることができる。HTTPの実現では、情
報交換は、既存のウェブ・プロトコルを用いてオブジェクト・ヘッダ内のメタ・
データとして含めることができる。PICS(「インターネット・コンテンツ選
択のためのプラットフォーム(Platform for Internet Content Selection)」 )は、電子内容に関するメタ情報を送信する方法を指定する。PICSは、(a
)要求情報の注釈付け、(b)事前取出し選択情報、事前取出し候補、または子
オブジェクト、および(c)情報が事前取出しされた後の事前取出し動作の確認
に適用することができる。
【0098】 PICSは、関連技術分野の当業者にはウェブ・コンソーシアムのプロトコル
勧告として知られている。PICSは最初、「この内容にはどの程度のヌードの
露出度が関連付けられるか」など、価値に基づく格付けラベルを送信するために
使用されたが、メタ情報のフォーマットおよび意味は完全に普遍的である。PI
CSでは、電子的内容に関するメタ情報は、「格付けサービス」または情報の生
成者と使用目的に従ってグループ化され、そうした1つのグループ内で、任意の
数のカテゴリまたは規模の情報を伝送することができる。各カテゴリは許可され
た値の範囲を持ち、内容の特定の部分に対し、特定のカテゴリは単一の値または
複数の値を持つことができる。さらに、メタ情報グループ(「PICSラベル」
として知られる)は、期限情報を含むことができる。また、PICSラベルを電
子内容の2つ以上の部分に適用できるようにするための機能もある。電子内容の
特定部分の各PICSラベルは独立に、内容に付加したり、あるいは内容から除
去することができる。
【0099】 例えば、「SafeSurf」格付けシステムに従った価値に基づく定格ラベ
ルを含むことを「格付けサービス」フィールドで指摘するPICSラベル付きの
画像ファイルが、サーバから送信されることがある。本発明の好適な実施形態に
よると、それが企業プロキシを通過するときに、その画像ファイルは、「格付け
サービス」の局所的考慮を反映するためにPICSラベルに新しい更新カテゴリ
値を付けることができる。したがって、クライアント・コンピュータはPICS
ラベルの新しいカテゴリ値だけを表示する。HTTPプロトコルは、その要求ヘ
ッダおよび応答ヘッダがPICSをサポートするように増強された。NNTPな
ど、他の一般的アプリケーション・プロトコルを定義する技術団体も今、PIC
Sサポートの追加を検討している。これらのプロトコルの一部として、希望する
PICSラベルの種類のリストを要求に含めることができる。PICSはまた、
中央ラベル事務局サーバのPICS情報を要求するための問い合わせフォーマッ
トを規定している。
【0100】 サンプルPICSラベルが、(「http://the.content」exp「1997.0
7.09T08:15−0500」r(n4s3v2)の場合のPICS−1.
1「http://the.rating.service」ラベル)である。ここで、「n」、「s」、 および「v」は様々なメタ情報型の転送名であり、このコンテンツに適用可能な
値は4(nの場合)、3(sの場合)、および2(vの場合)である。ID「ht
tp://the.rating.service」を認識するソフトウェアだけが、これらのカテゴリ および値を解釈する方法を知っている。
【0101】 好適な実施形態では、3種類のPICSラベルを導入する。事前取出しラベル
(つまりPラベル)と呼ばれる最初の種類のPICSラベルは、サーバ・ノード
がPHIを提供するために使用する。要求ラベル(つまりRラベル)と呼ばれる
2番目の種類のPICSラベルは、事前取出し候補オブジェクトを要求するため
に使用される。参照ラベル(つまりXラベル)と呼ばれる3番目の種類のPIC
Sラベルは、どの事前取出しオブジェクトが実際に参照されるかに基づいて、事
前取出しの実効性に関するフィードバックを提供するために使用される。
【0102】 事前取出しラベルは、識別子カテゴリ、確率カテゴリ、サイズ・カテゴリ、お
よびキャッシング・カテゴリをはじめ、以下のカテゴリの任意の組合せを含むこ
とができるが、これらに限定されない。識別子カテゴリ(つまりIDカテゴリ)
は、事前取出し候補のURLを伝達する値を持つ。確率カテゴリ(つまりPRO
Bカテゴリ)は、事前取出しの有用性の推定を伝達する値を持つ。好適な実施形
態では、参照確率の推定が使用される。参照確率は、事前取出し候補が参照され
る確率を示す。サイズ・カテゴリは、事前取出し候補の大きさまたはメモリ要件
を伝達する値を持つ。キャッシング・カテゴリは、その第1主キャッシュ294
またはその第1事前取出しキャッシュ296のいずれかに事前取出し候補オブジ
ェクトのコピーを有する上位のプロキシ・サーバ上の情報を伝達する値を持つ。
好適な実施形態では、最も近い上位プロキシだけが識別される。
【0103】 要求ラベルは、識別子カテゴリ(つまりIDカテゴリ)をはじめ、以下のカテ
ゴリを含むことができるが、それらに限定されない。識別子カテゴリの値は、事
前取出しすべきオブジェクトのURLを伝達する。好適な実施形態では、(プロ
キシまたはクライアント)ノードが示唆された事前取出し候補オブジェクトを事
前に取り出すことを希望する場合、事前取出しされるオブジェクトのURLを伝
達するために、HTTPヘッド要求が、要求ラベルを用いてプロキシ階層を通し
てコンテンツ・サーバ20に送り返される。プロキシ・サーバ24は下位階層ノ
ードから事前取出し要求を受信すると、オブジェクトがその主または事前取出し
キャッシュにある場合にはその要求を処理する。そうでない場合には、事前取出
し要求を次の上位プロキシに転送する。
【0104】 参照ラベルは、オブジェクト識別子カテゴリ(オブジェクトIDカテゴリ)お
よび参照側識別子カテゴリ(参照側IDカテゴリ)をはじめとする以下のカテゴ
リを含むことができるが、それらに限定されない。オブジェクト識別子カテゴリ
は、参照された事前取出しオブジェクトのURLを伝達する値を有する。参照側
識別カテゴリは、オブジェクト識別子カテゴリ値によって指定されたオブジェク
トをそのPHIに含むオブジェクトのURLを伝達する値を持つ。
【0105】 好適な実施形態では、事前取出しオブジェクトが実際に参照されたときには、
参照された事前取出しオブジェクトおよびその参照側オブジェクトのURLを伝
達するために、参照ラベルを使用して、プロキシ階層を通してコンテンツ・サー
バ20にHTTPヘッド要求が送り返される。この型のHTTPヘッド要求を以
下では、事前取出し参照メッセージと呼ぶ。プロキシ・サーバ24は下位階層ノ
ードから事前取出し参照メッセージを受信すると、その第1統計テーブル293
を更新し、要求を次の上位プロキシ・サーバに転送する。
【0106】 図5は、コンテンツ・サーバ20の第2統計テーブル267を更新するサーバ
論理268の例を示す。第2統計テーブル267の更新は、クライアント22か
らのオブジェクト要求によってトリガされる。コンテンツ・サーバ20は、クラ
イアント22に要求オブジェクトを送信する前に、オブジェクトのオブジェクト
・ヘッダに注釈として付加するためまたは挿入するために、事前取出しヒント情
報を生成することが好ましい。
【0107】 最初に参照ブロック405で、コンテンツ・サーバ20は入力を待つ。判断ブ
ロック410で、受信した入力がオブジェクトOのオブジェクト要求である場合
、参照ブロック415で統計更新ユニット252または第2更新統計ルーチン2
69が呼び出される。参照ブロック420で、事前取出しヒント情報266また
は事前取出し生成ルーチンを生成するための生成ユニット266が呼び出される
。生成ユニット266またはPHI生成ルーチンの詳細な例を、後で図6に関連
して説明する。参照ブロック425で、例えばPHIが要求オブジェクトのオブ
ジェクト・ヘッダに挿入される。さもなければ、参照ブロック425で、事前取
出しヒント情報は要求オブジェクトまたは要求情報を注釈する。好適な実施形態
では、PICSプロトコルは要求オブジェクトを注釈するために使用することが
できる。PHIはPラベルに取り込まれ、そこで識別子カテゴリ値は事前取出し
候補のURLを反映する。ブロック430で、要求オブジェクトは、要求したク
ライアントまたは要求したプロキシ・サーバに返される。判断ブロック435で
、受信した入力が事前取出し参照メッセージ(つまりXラベルで事前取出しオブ
ジェクトOが実際に参照されたことを示すHTTPヘッド要求)である場合、ス
テップ440で、統計更新手段252または第2更新統計ルーチン269が呼び
出される。本発明の焦点ではない、例えばFTP(ファイル転送プロトコル)要
求など他の種類の入力の場合、参照ブロック445で、適切な雑ハンドラを呼び
出すことができる。
【0108】 図6は、統計更新ユニット252が前記統計テーブル261の1つをどのよう
に更新するかを示す。統計更新ユニット252は、第1統計テーブル293を更
新するための第1更新統計ルーチン264、または第2統計テーブル267を更
新するための第2更新統計ルーチン269、または第1更新統計ルーチン264
および第2更新統計ルーチン269の両方を参照する。統計テーブル261は、
第1統計テーブル293または第2統計テーブル267のいずれか、または第1
統計テーブル293および第2統計テーブル267の両方を参照する。統計更新
ユニット252は最初に、参照側オブジェクトで情報を探索する。次いで、要求
オブジェクトは参照側オブジェクトのアクセス・リストまたは事前取出しリスト
に載せられる。
【0109】 最初に参照ブロック505で、統計テーブル261は、第1カウントを増分す
ることによって、オブジェクトOがもう1回参照されたことを表すために更新さ
れる。言い換えると、ブロック505で、Tカウント(0)は1だけ増分される
。オブジェクトOがまだ統計テーブル261内に無い場合、親オブジェクト識別
子が統計テーブル261に挿入され、Tカウント(0)が1に初期化される。統
計テーブル261に空きスロットが無い場合、統計テーブル261の最長時間未
参照エントリが新しい親オブジェクト識別子に置換される。判断ブロック510
で、要求オブジェクトは、例えば要求オブジェクトのオブジェクト・ヘッダを検
査することによって、参照側情報が無いか検査される。例えばHTTPプロトコ
ルでは、要求オブジェクトへのHTTPリンクがどのオブジェクトに含まれるか
を示すために、参照側オブジェクトがヘッダ内に提供される。参照側オブジェク
ト(R)がヘッダ内にある場合、ステップ520で、オブジェクトOがオブジェ
クトRのアクセス・リスト上にすでにあるかどうかを調べるために、統計テーブ
ル261が審査される。そうである場合には、ブロック530で、要求オブジェ
クトの第2カウント(Rカウント(0))が1だけ増分される。そうでない場合
には、ブロック525で、要求オブジェクト(オブジェクトO)は親オブジェク
ト(オブジェクトR)のアクセス・リストに挿入され、第2カウント(Rカウン
ト(0))は1に初期化される。
【0110】 図7は、事前取出しヒント情報を事前取出しヒント情報リスト内に生成するた
めの生成ユニット266の例を示す。第2カウント対第1カウントの比がヒント
閾値を超える場合、事前取出しヒント情報リストは、子オブジェクトの子オブジ
ェクト識別子を含む。事前取出しヒント情報リストは、洗練または濾過されたア
クセス・リストを表す。つまり、生成ユニット266は統計テーブル261から
の入力を受け入れ、この入力を濾過して事前取出しヒント情報リストを得る。
【0111】 事前取出しヒント情報を生成するための生成ユニット266は事前取出しヒン
ト情報情報(PHI)生成ルーチン266を表し、これは参照ブロック610で
始まる。参照ブロック610で、親オブジェクト(オブジェクトO)のアクセス
・リストが検査され、それが空であるか否か(つまりAリスト(O)が空かどう
か)が調べられる。アクセス・リストが空でない場合、参照ブロック620で、
Cjを親オブジェクト(オブジェクトO)のアクセス・リストで識別される次の
子オブジェクト(子オブジェクト識別子)とする。
【0112】 判断ブロック630で、子オブジェクトCjの参照確率が、予め指定された閾
値(例えば0.75)であるヒント閾値(TH)と比較される。好適な実施形態
では、Cjの参照確率は、第2カウント対第1カウントの比(Rカウント(cj
)/Tカウント(0))と定義される。この比は、親オブジェクト(オブジェク
トO)が参照された後で子オブジェクト(オブジェクトCj)が参照される確率
の推定である。判断ブロック630で、Cjの参照確率がヒント閾値(TH)よ
り大きい場合には、参照ブロック640で、子オブジェクト識別子(Cj)がP
HIリストに含まれる。言い換えると、比がヒント閾値を超える場合、子オブジ
ェクト識別子および関連情報が事前取出しヒント情報リストに載せられる。
【0113】 生成ユニット266は、参照ブロック630で比較を行うためにソフトウェア
・サブルーチンまたはソフトウェア構成要素を要求することができる。特に、事
前取出しヒント情報を事前取出しヒント情報リスト内に生成するための生成ユニ
ット266は、参照確率を計算するための計算手段と、参照確率をヒント閾値と
比較するための比較手段とを含むことができる。
【0114】 好適な実施形態では、PICSプロトコルを使用して、PHI情報はPラベル
に格納され、そこで子オブジェクト(Cj)のURLは識別子カテゴリ(IDカ
テゴリ値)として受け取られ、その参照確率およびサイズはそれぞれ確率カテゴ
リ(PROB)およびサイズ・カテゴリ値として受け取られる。判断ブロック6
45で、オブジェクトOのアクセス・リストがまだ完全に走査されていない場合
、参照ブロック620が再実行される。
【0115】 統計テーブル261から事前取出し候補を選択するために、様々な代替基準を
使用することができる。例えば、過去の区間における参照確率の移動平均を基準
として使用することができる。さらに、事前取出し候補の選択手順を再帰的にす
ることができる。子オブジェクト(オブジェクトCj)を親オブジェクト(オブ
ジェクトO)の事前取出し候補として選択する場合、子オブジェクト(オブジェ
クトCj)のアクセス・リスト上の任意の子オブジェクトを評価して、まだ含ま
れていない場合には、親オブジェクト(オブジェクトO)の事前取出しリストに
含めるかどうかを決定することができる。判断ブロック630で、比較ユニット
または評価ユニットは今、Rカウント(Cj)/Tカウント(0)とRカウント
(Cj1)/Tカウント(Cj)の積がヒント閾値(TH)より大きいかどうか
を試験することができる。
【0116】 図8は、クライアント論理244の動作の例を示す。図8は、ひとたびオブジ
ェクトが要求されると、クライアント・オブジェクト要求ハンドラが呼び出され
ることを示す。そうでなければ、事前取出しハンドラ241は、要求されていな
いオブジェクトを処理することができるが、クライアント22の第2事前取出し
キャッシュ249に格納する必要がある。
【0117】 最初にブロック710で、クライアント22は入力を待つ。判断ブロック72
0で、受信した入力がオブジェクトである場合、参照ブロック730で第2事前
取出しハンドラ241が呼び出される。ブロック740で、クライアント22に
おける要求アプリケーションにオブジェクトを返すために、クライアント・オブ
ジェクト・ハンドラが呼び出される。判断ブロック750で、受信した入力がオ
ブジェクト要求である場合、参照ブロック760でクライアント・オブジェクト
要求ハンドラ247が呼び出される。本発明の焦点ではない他の種類の入力(例
えばプッシュ要求など)の場合、参照ブロック770で適切な雑ハンドラを呼び
出すことができる。
【0118】 図9は、第1事前取出しハンドラ248または第2事前取出しハンドラ241
、または第1事前取出しハンドラ248および第2事前取出しハンドラ241の
両方を含む、事前取出しユニット250の動作の例を示す。要約すると、事前取
出しユニット250は、図7の生成ユニット266によって生成された事前取出
しリストを入力として使用して、事前取出しヒント情報リスト上の参照された子
オブジェクトが、事前取出しキャッシュ298の1つにおける格納を保証するか
どうかを判断する。事前取出しユニット250は、事前取出しヒント情報リスト
上の各事前取出しオブジェクト候補または子オブジェクト識別子の事前取出し値
を計算する。事前取出し値は、子オブジェクトのアクセス確率および子オブジェ
クトを格納するアクセス費用を考慮する。最も高い閾値を持つ子オブジェクトを
先頭に、事前取出しキャッシュ298の1つの空き空間が満たされるまで、全て
の子オブジェクトが格納される。
【0119】 最初にブロック805で、Lを事前取出し候補オブジェクトのPHIリストと
する。事前取出し候補オブジェクトは、事前取出しヒント情報リスト上の子オブ
ジェクト識別子により表現することができる。ローカル・キャッシュ(つまり事
前取出しキャッシュまたは主キャッシュ)に現れる事前取出し候補はLから除去
される。ブロック810で、L内の各オブジェクトの事前取出し値(PV)が計
算される。好適な実施形態では、PV値は、参照確率にアクセス費用を乗じたも
のと定義される。アクセス費用は、PHIリスト上で識別される事前取出し候補
オブジェクトまたは子オブジェクトの最も近いキャッシング位置に基づいて推算
される。実際問題として、子オブジェクトは、記憶空間を節約するために、子オ
ブジェクト全体としてではなく、子オブジェクト識別子によってPHIリスト上
で識別されることが好ましい。参照確率は確率カテゴリ(PROBカテゴリ)値
から得ることが最適であり、最も近いキャッシング位置はPICSラベルのキャ
ッシング・カテゴリ値から得る。ブロック820で、最も高いPV値を持つ事前
取出し候補オブジェクトが選択される。参照ブロック830で、事前取出しオブ
ジェクト候補(Oj)を収容するために利用可能な事前取出しバッファ空間の量
が決定される。この空間は現在使用されていないか、または評価対象である現在
の事前取出しオブジェクト候補(Oj)のPV値の端数(例えば2分の1)でし
かない、より低いPV値を持つオブジェクトによって占有されているかのいずれ
かである。事前取出しキャッシュ298の1つに削除可能とマークされているオ
ブジェクトによって占有されている記憶空間は、現在使用されていないとみなさ
れる。判断ブロック840で、事前取出しキャッシュ298の1つが検査され、
Ojのために充分な空間があるか否かが調べられる。ある場合には、参照ブロッ
ク850で、オブジェクトOjが事前取出しキャッシュ298の1つの事前取出
しされる。ブロック860で、OjはPHIリスト(L)から除去される。参照
ブロック870でLが空でなければ、参照ブロック820に関連するステップが
再実行される。
【0120】 好適な実施形態では各オブジェクトが一度に1つづつ事前取出しされるが、1
回の要求で複数のオブジェクトを一緒に事前に取り出すことができる。参照ブロ
ック850で、Ojを事前取出しリストに載せることができる。ブロック870
でLが空であるならば、次いで事前取出し要求が事前取出しリスト全体と共に発
行される。さらに、事前取出しキャッシュに充分な記憶空間が無い場合でも、保
留中の事前取出しリストを維持することができるので、記憶場所が利用できるよ
うになったときに、追加事前取出しを開始することができる。
【0121】 HTTPプロトコルを使用することによって、通信オーバヘッドを減少するた
めに、事前取出し中に通信セッションを開いたままにしておくことができる。事
前取出しごとにセッションを再確立する必要はない。
【0122】 図10は、クライアント・オブジェクト要求ハンドラ247の動作の例を示す
。要約すると、クライアント・オブジェクト要求ハンドラ247は最初に第2主
キャッシュ246を探索し、次に第2事前取出しキャッシュ249を探索する。
オブジェクトが第2主キャッシュ246にも第2事前取出しキャッシュ249に
も無い場合には、オブジェクト要求はサーバに送られる。オブジェクトが第2事
前取出しキャッシュ249にある場合、事前取出しオブジェクトが実際に参照さ
れたことを示すために、事前取出し参照メッセージがサーバの1つに送られる。
次いで、第2事前取出しハンドラ241およびクライアント・オブジェクト・ハ
ンドラが使用される。
【0123】 最初に判断ブロック905で、要求オブジェクトOが第2主キャッシュ246
で見つかると、参照ブロック925で第2事前取出しハンドラ241が呼び出さ
れ、オブジェクトOに関連付けられたPHIに基づいて適切な事前取出し動作が
開始される。参照ブロック930でクライアント・オブジェクト・ハンドラが呼
び出されて、要求されたオブジェクトをクライアントにおける要求したアプリケ
ーションに返す。判断ブロック910で要求オブジェクトOが第2事前取出しキ
ャッシュ249で見つかると、事前取出しオブジェクトの実際の参照を取り込む
ようにその第2統計テーブル267を更新することができるように、ブロック9
20で事前取出し参照メッセージがコンテンツ・サーバ20に送られる。実際に
は、事前取出し参照メッセージはプロキシ階層を通してコンテンツ・サーバ20
まで伝搬するので、各中間プロキシの第2統計テーブルもまた更新される。ブロ
ック910でオブジェクトが第2事前取出しキャッシュ249に無い場合、参照
ブロック915で、オブジェクト要求はプロキシ階層を通してコンテンツ・サー
バ20に送られる。
【0124】 事前取出し参照メッセージはバッチ化することができる。すなわち事前取出し
参照リストを維持することができ、事前取出し参照リスト上の全てのオブジェク
トの参照を確認するために、複合事前取出し参照メッセージは定期的に上位サー
バに送られる。
【0125】 図11は、プロキシ・サーバ論理295の動作の例を示す。要約すると、入力
は、この入力がオブジェクト要求か、オブジェクト転送か、それとも事前取出し
参照メッセージであるかによって格納される。入力によって、3種類のハンドラ
またはソフトウェア・ルーチン、すなわちプロキシ・オブジェクト要求ハンドラ
283、プロキシ・オブジェクト・ハンドラ284、および事前取出し参照メッ
セージ・ハンドラ285が利用可能である。
【0126】 最初に参照ブロック1005で、プロキシ・サーバ24は入力を待つ。判断ブ
ロック1010で、受け取った入力がオブジェクトOに対するオブジェクト要求
である場合、ブロック1015でプロキシ・サーバ24はそのオブジェクトOに
関して保留中の要求がすでに存在するかどうかを検査する。保留中の要求は、こ
のプロキシ・サーバ24によって送り出されたそのオブジェクトOの事前取出し
要求、またはプロキシ・サーバ階層で下位にある別のプロキシ・サーバから起こ
されたオブジェクトOへの以前の要求によるものとすることができる。参照ブロ
ック1015でオブジェクトOに保留中の要求が無い場合、ブロック1020で
プロキシ・オブジェクト要求ハンドラ283が呼び出される。判断ブロック10
25で、受け取った入力が(上位プロキシからの)オブジェクトである場合、参
照ブロック1030でプロキシ・オブジェクト・ハンドラ284が呼び出される
。そうでない場合、ブロック1040で受け取った入力が事前取出し参照メッセ
ージであれば、ブロック1045で事前取出し参照メッセージ・ハンドラ285
が呼び出される。本発明の焦点ではない(FTP要求など)他の種類の入力の場
合、ブロック1060で適切な雑ハンドラを呼び出すことができる。
【0127】 図12は、プロキシ・オブジェクト要求ハンドラ283の動作の例を示す。要
約すると、オブジェクトが事前取出しキャッシュにある場合、オブジェクトは、
要求したクライアントまたは要求したプロキシ・サーバに返されるか送られる。
その後、要求オブジェクトが事前取出し要求であった場合、要求オブジェクトは
プロキシ・サーバ24の第1事前取出しキャッシュ296から削除可能とマーク
される。要求オブジェクトに事前取出し要求が提供されなかった場合、事前取出
し参照メッセージがコンテンツ・サーバ20に送られる。しかし、事前取出し参
照メッセージが送られるのは、要求オブジェクトが第1事前取出しキャッシュ2
96から送られるときだけである。要求オブジェクトが第1事前取出しキャッシ
ュ296にも第1主キャッシュ294にも無い場合、オブジェクト要求は別のプ
ロキシ・サーバ24またはコンテンツ・サーバ20に送られる。第1主キャッシ
ュ294内で見つかった要求オブジェクトは、要求したクライアントまたはプロ
キシ・サーバ24に返されるか送られ、要求が事前取出し要求でなかった場合は
、第1統計テーブル293が更新される。
【0128】 最初に判断ブロック1105で、要求オブジェクトOが事前取出しキャッシュ
内で見つかると、ブロック1130で、オブジェクトOは要求ノードに返される
。判断ブロック1135で要求が事前取出し要求である場合、ブロック1150
で第1事前取出しキャッシュ296のオブジェクトOは削除可能とマークされる
。第1事前取出しキャッシュ296からオブジェクトを削除すると、事前取出し
オブジェクトOが今プロキシ・サーバ24の下位階層の幾つかのノードによって
事前取出しされたので、将来の事前取出しのための空間ができる。そうでなけれ
ば、参照ブロック1140で、キャッシュ・マネージャが呼び出され、オブジェ
クトOは実際に参照されたので、オブジェクトOが第1事前取出しキャッシュ2
96から第1主キャッシュ294に移動される。ブロック1160で、事前取出
し参照メッセージがプロキシ階層サーバを通してコンテンツ・サーバ20に送ら
れる。ブロック1170で更新統計ルーチンが呼び出され、局所第1統計テーブ
ル293が事前取出しオブジェクトOの実際の参照を取り込むように更新される
。判断ブロック1110でオブジェクトOが第1主キャッシュ294で見つから
ない場合、参照ブロック1125でオブジェクト要求はプロキシ・サーバ階層を
通してコンテンツ・サーバ20に送られる。判断ブロック1115で、オブジェ
クト要求が事前取出し要求である場合、ブロック1120で第1更新統計ルーチ
ン264が呼び出され、オブジェクトの実際の参照を取り込むように、局所第1
統計テーブル293が更新される。ブロック1180で、オブジェクトOは要求
したノードに返される。
【0129】 図13は、事前取出し参照メッセージ・ハンドラ285の動作の例を示す。事
前取出し参照メッセージ・ハンドラ285は最初に、オブジェクトが第1事前取
出しキャッシュ296にあるか否かを調べる。オブジェクトが第1事前取出しキ
ャッシュ296にある場合、事前取出し参照メッセージを転送する前にキャッシ
ュ・マネージャ・ルーチンが呼び出される。オブジェクトが第1事前取出しキャ
ッシュ296に無い場合、事前取出し参照メッセージが転送される。
【0130】 最初にステップ1205で、第1更新統計ルーチン264が呼び出され、事前
取出しオブジェクト(O)の実際の参照を取り込むように局所第1統計テーブル
293が更新される。判断ブロック1210で、オブジェクトOが第1事前取出
しキャッシュ296にある場合、参照ブロック1215でキャッシュ・マネージ
ャが呼び出され、オブジェクトは実際に参照されたので、オブジェクトOは第1
事前取出しキャッシュ296から第1主キャッシュ294に移動される。ブロッ
ク1220で、事前取出し参照メッセージは次の上位プロキシに転送される。
【0131】 図14は、プロキシ・オブジェクト・ハンドラ284の動作の例を示す。プロ
キシ・オブジェクト・ハンドラ284は最初に、事前取出し更新ユニット291
または事前取出しヒント情報更新ルーチンを例外なく一律に呼び出す。事前取出
しオブジェクトが下位サーバによって要求されたか否かによって、事前取出しオ
ブジェクト要求は異なる方法で処理される。事前取出しオブジェクトが下位サー
バによって要求された場合、オブジェクトはその下位サーバに返される。そうで
ない場合、事前取出しキャッシュ・マネージャが呼び出される。事前取出しオブ
ジェクトが要求されない場合、オブジェクトは要求したプロキシ・サーバ24ま
たはクライアントに返され、第1更新統計ルーチン264が呼び出される。
【0132】 最初に参照ブロック1305で、オブジェクトOのPHIを更新するために、
PHI更新ルーチンまたは事前取出し更新手段291が呼び出される。参照ブロ
ック1310で受け取ったオブジェクトが事前取出しオブジェクトでない場合、
ステップ1315で第1事前取出しハンドラ248が呼び出される。参照ブロッ
ク1320で、オブジェクトは要求したノード(下位階層)に返される。PIC
Sプロトコルを使用する好適な実施形態では、対応する事前取出し候補(識別子
カテゴリ値によって指定される)がこのプロキシ・サーバ24によって事前取出
しされる場合、Pラベル内のキャッシング・カテゴリ値が更新される。ブロック
1325で、オブジェクトを主キャッシュに格納するために、キャッシュ・マネ
ージャが呼び出される。参照ブロック1355で、更新統計ルーチンが呼び出さ
れる。ブロック1330で、受け取った事前取出しオブジェクトが階層内の下位
ノードによって要求される場合、参照ブロック1350でオブジェクトは要求者
に返される。そうでない場合、それは現在のノードによって要求され、参照ブロ
ック1340で事前取出しキャッシュ・マネージャが呼び出され、オブジェクト
のための空間を作るために必要な置換を行うことによって、事前取出しキャッシ
ュにオブジェクトが格納される。
【0133】 図15は、事前取出し更新手段291またはPHI更新ルーチンの例を示す。
PHI更新ルーチンは、要求オブジェクトの局所カウントを閾カウントと比較す
る。要求オブジェクトが第1最小閾値を超える場合、それらは第2最小閾値試験
を受ける。閾値は、試験結果に基づいて設定することができる。局所カウントが
第1最小閾値未満である場合、元の事前取出しヒント情報リストが維持される。
局所カウントが第1閾値より大きいが、第2閾値より大きくはない場合、事前取
出しヒント情報リストは変更される。
【0134】 最初に判断ブロック1405で、局所第1統計テーブル293におけるオブジ
ェクト(O)の局所カウント(Tカウント)が第1最小閾値(CTM)より大き
い場合、オブジェクトOのヘッダにおける元のPHIは維持される。これは単に
、プロキシ・サーバ24の下位階層に、更新動作を保証するための充分なオブジ
ェクトの参照が無いという事実による。判断ブロック1415で、局所統計テー
ブル261内のオブジェクト(O)の局所カウント(Tカウント)が第2最小閾
値(TCH)より大きい場合、オブジェクト・ヘッダ内の元のPHIは無視され
、ブロック1420で、局所第1統計テーブル293に基づいてPHIを生成す
るために、PHI生成ルーチンが呼び出される。これは、プロキシ・サーバ24
の階層の下位に、局所動作に基づいてPHIを生成するための充分なオブジェク
トへの参照があるからである。そうでない場合、参照ブロック1425でPHI
変更ルーチンが呼び出され、PHIリスト内の各オブジェクトについて参照確率
の局所推定値およびヘッダ内のそれ(上位階層によって設定される)の平均を取
ることによって、確率カテゴリ値が変更される。
【0135】 プロキシ・サーバ24の一部が第1統計テーブル293を維持せず、局所参照
パターンを追跡する場合でも、事前取出しスキームは機能する。非追跡プロキシ
・サーバは単に、上位プロキシ・サーバまたはコンテンツ・サーバ20から下に
渡されるPHI内の確率(つまりPROB)カテゴリ値を受け入れるだけである
【0136】 プロキシ・サーバの一部が事前取出しプロトコルを理解せずかつ協調に参加し
ない従来のプロキシ・サーバである不均質なプロキシ・サーバ環境でも、事前取
出しスキームは機能する。これらの従来のプロキシ・サーバは、オブジェクト・
ヘッダを解釈して事前取出し動作を開始することもなく、第1統計テーブル29
3も維持しない。従来のプロキシ・サーバは、オブジェクトと共にメタ・データ
(例えばヘッダ内のPICSラベル)を次のレベルのプロキシ・サーバに渡すか
、またはそれがオブジェクトを局所的にキャッシュに保存することを決定した場
合、オブジェクトと共にメタ・データを格納するだけである。
【0137】 プロキシ階層が存在しない場合でも、本発明は任意のネットワークまたはクラ
イアント・サーバ環境に適用することができる。オブジェクト・センダ・ノード
は参照パターンを追跡し、PHIを導出し、それをオブジェクト・ヘッダに含め
ることができる。さらに、オブジェクト・レシーバ・ノードは、そのキャッシュ
内にオブジェクトと共にPHIを格納することができる。オブジェクトを参照し
た後、格納されたPHIおよび前述のようにキャッシュ・サイズおよびアクセス
費用などの局所的要素に基づいて、事前取出し動作を開始することができる。
【0138】 キャッシュされるオブジェクトと共にPHIを格納することにより、事前取出
しの追加機会がもたらされる。より多くの記憶場所が利用可能になり、追加参照
が発生し、あるいは事前取出しオブジェクトを受け取るなどの事象を使用して、
キャッシュされたオブジェクトのPHIを調べることによって、追加事前取出し
をトリガすることができる。事前取出し動作は、送信側で起動法の場合のように
、オブジェクトがサーバから要求された瞬間に制約されない。
【0139】 好適な実施形態で、ウェブおよびプロキシ・サーバの一般的事前取出し方針を
説明したが、しかし当業者は、本発明が、事前取出しされるオブジェクトが同様
の特性を持つどんな種類の状況にも適用可能であり、必ずしもインターネットま
たはWWWアプリケーションだけに制限されないことを理解されるであろう。
【0140】 さらに、本発明の好適な実施形態は、階層内の親と子プロキシ間の協調的な事
前取出しの場合であるが、それは兄弟プロキシ間の協調を含めるように、容易に
適応することができる。例えば、上位階層のプロキシが要求オブジェクトまたは
事前取出し候補をキャッシュしていない場合、プロキシは兄弟プロキシに問い合
わせることもできる。
【図面の簡単な説明】
【図1】 コンテンツ・サーバ(ウェブ・サイト)、ネットワーク(インターネット)、
プロキシ・サーバ階層、およびクライアントを示すブロック図である。
【図2】 コンテンツ・サーバ、クライアント、およびプロキシ・サーバを図1より詳し
く示す別のブロック図である。
【図3】 プロキシ・サーバの階層を介してコンテンツ・サーバからデータを動的に事前
に取り出すための方法を示す流れ図である。
【図4】 統計テーブルの例を示す図である。
【図5】 コンテンツ・サーバの動作を示す流れ図である。
【図6】 統計の更新を示す流れ図である。
【図7】 事前取出しヒント情報の生成を示す流れ図である。
【図8】 クライアントの動作を示す流れ図である。
【図9】 事前取出しを示す流れ図である。
【図10】 クライアント・オブジェクト要求ハンドラの動作を示す流れ図である。
【図11】 プロキシ・サーバの動作を示す流れ図である。
【図12】 プロキシ・オブジェクト要求ハンドラの動作を示す流れ図である。
【図13】 事前取出し参照メッセージ・ハンドラの動作を示す流れ図である。
【図14】 プロキシ・オブジェクト・ハンドラの動作を示す流れ図である。
【図15】 事前取出しヒント情報更新ルーチンの動作を示す流れ図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ユー、フィリップ、シーラング アメリカ合衆国10514 ニューヨーク州チ ャパクア ストーノウェイ 18 Fターム(参考) 5B075 KK04 KK07 ND20 ND36 NK02 PQ02 PQ32 PQ42 PR03 PR08 QP10 QT03 UU40 5B082 FA03 FA11 GC04 5K030 HA06 HC01 JT02 KA01 KA06 KA07 【要約の続き】 選択情報を事前に取り出す最終決定は、事前取出しヒン ト情報および事前取出しヒント値に基づいて行われる。 事前取出しヒント値は、記憶場所の制約およびアクセス 時間などの局所ノード特定的な要素に基づいて計算され る。

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】 コンテンツ・サーバに関連付けられた1つまたは複数のクライアント(22)
    が通信ネットワーク(25)および1つまたは複数のプロキシ・サーバ(24)
    を介して選択情報に容易にアクセスできるようにするために、コンテンツ・サー
    バ(20)から選択情報を事前に取り出す方法であって、 プロキシ・サーバの少なくとも1つから情報を要求するステップ(100)と
    、 前記クライアントのいずれかによる要求情報の過去の検索またはアクセスに基
    づいて、前記クライアントのための事前取出しヒント情報を確立するステップ(
    102、104)と、 要求情報に前記事前取出しヒント情報を注釈として付加するステップ(105
    )と、 事前取出しヒント情報および要求情報に基づいて、前記サーバのいずれかから
    選択情報を事前に取り出すステップ(108)と を含む方法。
  2. 【請求項2】 前記要求情報が要求オブジェクトを含み、前記選択情報が事前取出し候補オブ
    ジェクトを含む、請求項1に記載の方法。
  3. 【請求項3】 事前取出しヒント情報を確立する前記ステップが、 前記クライアントに関連付けられたデータ参照パターンを追跡するステップと
    、 データ参照パターンをオブジェクト識別子のグループに編成するステップであ
    って、前記オブジェクト識別子のグループが要求オブジェクトと事前取出し候補
    オブジェクトの関係に従って編成される編成ステップと、 事前取出し候補オブジェクトと要求オブジェクトの間で、前記事前取出し候補
    オブジェクトを選択情報として事前に取り出すのを保証するのに充分な関係を有
    するのは前記グループのうちのどれであるかを決定するステップと を含む、請求項2に記載の方法。
  4. 【請求項4】 データ参照パターンを追跡し、かつ編成する前記ステップが、 プロキシ・サーバに参照データ・パターンを格納するためのデータベースを確
    立するステップと、 前記データベースの各々の中にフィールドを配列するステップであって、前記
    フィールドがオブジェクト識別子およびオブジェクト・カウントを含み、前記オ
    ブジェクト識別子が要求オブジェクトを相互に区別し、前記オブジェクト・カウ
    ントが前記サーバの1つによって観察された要求オブジェクトの要求回数を示す
    ステップと、 前記データベースにアクセス・リストを関連付けるステップであって、前記ア
    クセス・リストの各々が各要求オブジェクトに関連付けられる1つまたは複数の
    事前取出し候補オブジェクトを含むステップと を含む、請求項3に記載の方法。
  5. 【請求項5】 データ参照パターンを追跡し、かつ編成する前記ステップが、 要求オブジェクトと事前取出し候補オブジェクトの関係を定義するデータベー
    スを確立するステップと、 要求オブジェクトおよび事前取出し候補オブジェクトに関するアクセス統計を
    追跡するステップであって、前記アクセス統計が要求オブジェクトの親オブジェ
    クト・アクセス頻度と事前取出し候補オブジェクトの子オブジェクト・アクセス
    頻度とを含み、前記親オブジェクト・アクセス頻度は要求オブジェクトのうちの
    特定の1つが前記クライアントの少なくとも1つによって要求される回数を表し
    、前記子オブジェクト・アクセス頻度は、前記特定の1つのアクセスのすぐ後に
    前記事前取出し候補オブジェクトの1つまたは複数が実際に要求された回数を表
    すステップと をさらに含む、請求項3または4に記載の方法。
  6. 【請求項6】 子オブジェクト・アクセス頻度に関連付けられた親オブジェクト・アクセス頻
    度に対する前記子オブジェクト・アクセス頻度の比に基づいて、事前取出し候補
    オブジェクトの事前取出しリストを選択するステップをさらに含み、前記事前取
    出しリストが閾確率を超える比を有する事前取出し候補オブジェクトのみを含む
    、請求項5に記載の方法。
  7. 【請求項7】 選択情報を事前に取り出す前記ステップが、 前記プロキシ・サーバの1つまたは前記クライアントの1つで受け取られる事
    前取出し候補オブジェクトのサブセットを事前に取り出すステップと、 前記プロキシ・サーバの1つで利用可能な記憶容量に基づいて、前記事前取出
    し候補オブジェクトのサブセットを選択情報として選択するステップと を含む、請求項2ないし6のいずれか一項に記載の方法。
  8. 【請求項8】 選択情報を事前に取り出す前記ステップが、 前記プロキシ・サーバの1つまたは前記クライアントの1つで受け取られる事
    前取出し候補オブジェクトのサブセットを事前に取り出すステップと、 前記プロキシ・サーバの1つにおけるアクセス時間に基づいて、事前取出し候
    補オブジェクトのサブセットを選択情報として選択するステップと を含む、請求項2ないし7のいずれか一項に記載の方法。
  9. 【請求項9】 前記選択オブジェクトおよび前記要求オブジェクトがインターネット・データ
    を含み、前記要求オブジェクトがインターネット・データに関連付けられたハイ
    パーテキスト転送プロトコル(HTTP)リンクを介して選択オブジェクトを参
    照し、前記プロキシ・サーバが、要求オブジェクトのオブジェクトヘッダに格納
    された要求オブジェクトのユニバーサル・リソース・ロケータすなわちURLの
    HTTPプロトコルを通して、要求オブジェクトに対する選択オブジェクトの関
    係を識別する、請求項2ないし8のいずれか一項に記載の方法。
  10. 【請求項10】 要求情報に注釈を付加する前記ステップが、インターネット・コンテンツ選択
    (PICS)フォーマットのプラットフォームまたはPICSフォーマットと互
    換可能なラベル・プロトコルを有する事前取出しラベルに、事前取出しヒント情
    報を配置するステップを含む、請求項2ないし9のいずれか一項に記載の方法。
  11. 【請求項11】 前記インターネット・コンテンツ選択(PICS)フォーマットのプラットフ
    ォームがオブジェクト識別子カテゴリおよび参照側識別子カテゴリを含み、前記
    方法が、実際に参照された事前取出し候補オブジェクトを識別するために前記参
    照側識別子カテゴリをコンテンツ・サーバに返すステップをさらに含む、請求項
    10に記載の方法。
  12. 【請求項12】 事前取出しヒント情報を確立する前記ステップが、 要求情報の過去の検索または以前のアクセスに基づいて、前記クライアントの
    データ参照パターンを識別するステップであって、前記データ参照パターンが前
    記プロキシ・サーバの1つに関連付けられた前記クライアントのうちの様々なク
    ライアントによる過去の検索またはアクセスの一般的傾向を表すように選択され
    るステップと、 前記データ参照パターンから事前取出しヒント情報を定義するステップと を含む、請求項1または2に記載の方法。
  13. 【請求項13】 前記プロキシ・サーバの階層があり、前記階層が送信ノードおよび受信ノード
    を含み、前記方法が、 前記送信ノードから前記受信ノードへ事前取出しヒント情報を伝送するステッ
    プと、 前記事前取出しヒント情報を初期状態から最終状態に変更するステップであっ
    て、前記初期状態は送信ノードによって決定され、前記最終状態は前記受信ノー
    ドによって決定され、前記最終情報の事前取出しヒント情報が最終事前取出し決
    定として指定されるステップと をさらに含む、請求項1ないし12のいずれか一項に記載の方法。
  14. 【請求項14】 選択情報を事前に取り出す前記ステップが受信ノードによって起動される、請
    求項13に記載の方法。
  15. 【請求項15】 プロキシ・サーバをサーバの階層に編成するステップであって、前記階層が複
    数のレベルのプロキシ・サーバを有し、前記複数のレベルが前記プロキシ・サー
    バの各々のネットワークへの近接性に基づいて決定され、ネットに最も近いレベ
    ルを最上位とするステップと、 前記階層を介してプロキシ・サーバからクライアントまで伝送される事前取出
    しヒント情報を解釈し、かつ更新するステップと、 をさらに含む、請求項1ないし12のいずれか一項に記載の方法。
  16. 【請求項16】 要求情報への局所参照が存在する場合、および局所レベルのサーバのカウント
    が最小閾カウントを超える場合に、プロキシ・サーバが事前取出しヒント情報を
    更新する、請求項15に記載の方法。
  17. 【請求項17】 前記事前取出しヒント情報がプロキシ階層のキャッシング状態に基づいて更新
    される、請求項15または16に記載の方法。
  18. 【請求項18】 ネットワーク(25)を介してコンテンツ・サーバ(20)から選択情報を事
    前に取り出すためのデータ処理システムであって、ネットワークに関連付けられ
    た1つまたは複数のプロキシ・サーバ(24)と、ネットワークを介してコンテ
    ンツ・サーバおよびプロキシ・サーバの1つまたは複数と通信するためのクライ
    アントとを含むデータ処理システムにおいて、 前記プロキシ・サーバの少なくとも1つから情報を要求する手段と、 前記クライアントのいずれかによる要求情報の過去の検索またはアクセスに基
    づいて、前記クライアントのための事前取出しヒント情報を確立する手段と、 要求情報に前記事前取出しヒント情報を注釈として付加する手段と、 前記事前取出しヒント情報および要求情報に基づいて、前記サーバのいずれか
    から選択情報を事前に取り出す手段と を含むデータ処理システム。
  19. 【請求項19】 要求情報が要求オブジェクトを含み、前記選択情報が事前取出し候補オブジェ
    クトを含み、前記プロキシ・サーバの各々および前記クライアントの少なくとも
    1つが主キャッシュと事前取出しキャッシュとの間に少なくとも1つの論理的分
    離を有するメモリを有し、事前取出し選択情報が事前取出しキャッシュに格納さ
    れる、請求項18に記載の処理システム。
  20. 【請求項20】 前記事前取出し手段がオブジェクトを事前に取り出し、かつ事前取出しされた
    オブジェクトを優先順位構成に基づいて事前取出しキャッシュに格納し、前記優
    先順位構成は事前取出しキャッシュの空きメモリに関して最高事前取出し値を持
    つオブジェクトを最初に格納し、事前取出し値は1つまたは複数のクライアント
    による事前取出しオブジェクトへの個別または集合参照確率に基づく、請求項1
    9に記載の処理システム。
  21. 【請求項21】 前記事前取出し値が、事前取出しヒント情報リスト上の事前取出し候補オブジ
    ェクトがクライアントのうちの特定の1つによってアクセスされる推定アクセス
    確率と、事前取出し候補オブジェクトのうちの選択オブジェクトを格納するため
    の必須記憶容量に基づくオブジェクトのアクセス費用とに基づく、請求項20に
    記載の処理システム。
  22. 【請求項22】 前記事前取出し手段が、前記事前取出し値を計算するための計算手段と前記計
    算手段によって計算された事前取出し値を評価するための評価手段とを含む事前
    読取りハンドラを含み、前記計算手段が前記事前取出しヒント情報リスト上の各
    事前取出しオブジェクト識別子の事前取出し値を計算し、前記評価手段が複数の
    候補事前取出しオブジェクトの事前取出し値を評価し、かつ事前取出しヒント情
    報リストで最高事前取出し値に関連付けられる候補事前取出しオブジェクトのキ
    ャッシングを優先させる、請求項20または21に記載の処理システム。
  23. 【請求項23】 前記事前取出し手段が、前記プロキシ・サーバの少なくとも1つにおける第1
    事前取出しハンドラと、前記クライアントのうちの少なくとも1つにおける第2
    事前取出しハンドラとを含む、請求項22に記載の処理システム。
  24. 【請求項24】 前記クライアントの1つのメモリに格納されたクライアント・オブジェクト要
    求ハンドラをさらに含み、前記クライアント・オブジェクト要求ハンドラは、プ
    ロキシ・サーバまたはネットワークから要求オブジェクトを要求する前に主キャ
    ッシュおよび事前取出しキャッシュで要求オブジェクトを探索し、オブジェクト
    が事前取出しキャッシュ内にある場合には、前記クライアント・オブジェクト要
    求ハンドラは、事前取出しオブジェクトがクライアントによって実際にアクセス
    されたことを示すサーバへの事前取出し参照メッセージを生成することによって
    、コンテンツ・サーバまたはプロキシ・サーバに通知する、請求項19ないし2
    3のいずれか一項に記載の処理システム。
  25. 【請求項25】 前記プロキシ・サーバの少なくとも1つが、要求オブジェクトが事前取出しキ
    ャッシュにある場合に、キャッシュ・マネージャ・ルーチンを呼び出した後、事
    前取出し参照メッセージを転送するための事前取出し参照メッセージ・ハンドラ
    を含む、請求項19ないし24のいずれか一項に記載の処理システム。
  26. 【請求項26】 請求項18ないし25のいずれか一項に記載のデータ処理システムで使用する
    ためのコンテンツ・サーバまたはプロキシ・サーバにおいて、前記要求情報が要
    求オブジェクトを含み、前記選択情報が事前取出し候補オブジェクトを含み、前
    記サーバが、 親オブジェクト識別子および関連付けられた子オブジェクト識別子を格納する
    統計テーブルであって、親オブジェクトがクライアントによって参照される頻度
    を表す親オブジェクトの第1カウントを含み、前記親オブジェクトのうちの選択
    オブジェクトが参照された後で対応する子オブジェクトが参照される頻度を表す
    子オブジェクトの第2カウントを含む統計テーブルと、 前記統計テーブルの情報に基づいて事前取出しヒント情報リストを生成するた
    めの生成手段と を含むサーバ。
  27. 【請求項27】 前記生成手段は第1カウントおよび対応する第2カウントの入力を受け入れて
    事前取出しヒント情報リストを導出し、前記生成手段は、前記親オブジェクト識
    別子の各々について前記第1カウントに対する前記第2カウントの比を計算する
    手段と、前記比をヒント閾値と比較するための比較手段とを含み、前記比較手段
    は、前記比が前記ヒント閾値を超える場合、前記事前取出しヒント情報リスト上
    の子オブジェクトおよび関連付けられた親オブジェクトをグループ化または関連
    付ける、請求項26に記載のサーバ。
  28. 【請求項28】 前記生成手段は統計テーブルから第1カウント、第2カウント、子オブジェク
    ト識別子、および親オブジェクト識別子の入力を受け入れ、前記生成手段は、親
    オブジェクトとそれらの関連付けられた子オブジェクトとの間のアクセス関係を
    評価するための評価手段を含み、前記評価手段は、クライアントによる対応する
    親オブジェクトの参照の前に子オブジェクトがすぐにその後で適切な頻度で参照
    される場合、事前取出しヒント情報リスト上に子そのオブジェクト識別子を配置
    する、請求項26に記載のサーバ。
  29. 【請求項29】 前記生成手段が、対応する親アクセスに対する子アクセスの比に基づいて前記
    適切な頻度を計算するための計算手段をさらに含む、請求項28に記載のサーバ
  30. 【請求項30】 実際に要求された子オブジェクトに基づいて統計を更新するための統計更新手
    段をさらに含み、前記統計更新手段は最初に前記親オブジェクトのうちの参照す
    るオブジェクトのアイデンティティを探索し、参照するオブジェクトまたは参照
    側オブジェクトは実際に要求された子オブジェクトより前に参照され、実際に要
    求された子オブジェクトはそれに対応する第2カウントを統計テーブルで更新さ
    せる、請求項26ないし29のいずれか一項に記載のサーバ。
  31. 【請求項31】 前記統計更新手段は、事前取出し参照メッセージ・ハンドラから事前取出し参
    照メッセージを受け取ると、統計テーブルを更新する、請求項30に記載のサー
    バ。
  32. 【請求項32】 前記サーバがプロキシ・サーバであり、 事前取出しヒント情報リストを受け取って更新するための事前取出し更新手段
    をさらに含み、前記事前取出し更新手段は第1カウントと第1局所閾カウントを
    比較し、前記事前取出し更新手段は、第1カウントが第1局所閾カウントを超え
    る子オブジェクト識別子の各々に対し生成手段を呼び出し、前記事前取出し更新
    手段は、第1カウントが第1局所閾カウントを超えない場合には元の事前取出し
    ヒント情報リストを維持する、請求項26ないし31のいずれか一項に記載のサ
    ーバ。
  33. 【請求項33】 前記事前取出し更新手段が第1カウントを第1および第2局所閾カウントと比
    較し、(i)第1カウントが第1局所閾カウントを超えなければ、元の事前取出
    しヒント情報リストを維持し、(ii)第1カウントが第1局所閾カウントを超
    えるが第2局所閾カウントを超えなければ、元の事前取出しヒント情報リストを
    変更し、(iii)第1カウントが第1および第2局所閾カウントの両方を超え
    る場合には、元の事前取出しヒント情報リストを交換する、請求項32に記載の
    サーバ。
  34. 【請求項34】 要求オブジェクトを要求した下位プロキシ・サーバまたはクライアントに要求
    オブジェクトを返すためのプロキシ・オブジェクト・ハンドラをさらに含み、前
    記プロキシ・オブジェクト・ハンドラは、要求オブジェクトが事前取出しオブジ
    ェクトでない場合に、要求オブジェクトを返し、かつそれに従って統計テーブル
    を更新する、請求項32または33に記載のサーバ。
  35. 【請求項35】 事前取出しキャッシュを管理するための事前取出しキャッシュ・マネージャと
    をさらに含み、 前記プロキシ・オブジェクト・ハンドラは、オブジェクトが事前取出し要求に
    従って要求された場合には、要求したクライアントまたはプロキシ・サーバに事
    前取出しキャッシュから要求オブジェクトを返し、かつそのオブジェクトに事前
    取出しキャッシュから削除可能とマークし、前記プロキシ・オブジェクト・ハン
    ドラは、要求オブジェクトが主キャッシュまたは事前取出しキャッシュ内に無い
    場合には、オブジェクト要求を別のサーバに送り、前記プロキシ・オブジェクト
    ・ハンドラは、要求オブジェクトが事前取出し要求に関連付けられない場合、お
    よび要求オブジェクトが事前取出しキャッシュまたは主キャッシュ内にある場合
    には、それに従って統計テーブルを更新する、請求項34に記載のサーバ。
JP2000514222A 1997-09-29 1998-09-28 ネットワークに沿ってサーバからクライアントへのデータの流れを強化するための処理システム Expired - Fee Related JP3526442B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/939,277 1997-09-29
US08/939,277 US6085193A (en) 1997-09-29 1997-09-29 Method and system for dynamically prefetching information via a server hierarchy
PCT/GB1998/002920 WO1999017227A1 (en) 1997-09-29 1998-09-28 Method and system for prefetching information

Publications (2)

Publication Number Publication Date
JP2001518668A true JP2001518668A (ja) 2001-10-16
JP3526442B2 JP3526442B2 (ja) 2004-05-17

Family

ID=25472873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000514222A Expired - Fee Related JP3526442B2 (ja) 1997-09-29 1998-09-28 ネットワークに沿ってサーバからクライアントへのデータの流れを強化するための処理システム

Country Status (11)

Country Link
US (1) US6085193A (ja)
EP (1) EP1018085B1 (ja)
JP (1) JP3526442B2 (ja)
KR (1) KR100377715B1 (ja)
CN (1) CN1200378C (ja)
CA (1) CA2302254C (ja)
DE (1) DE69834129T2 (ja)
HU (1) HU224089B1 (ja)
IL (1) IL133251A0 (ja)
PL (1) PL192676B1 (ja)
WO (1) WO1999017227A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250803A (ja) * 1999-03-02 2000-09-14 Toshiba Corp 情報配信システム、移動計算機、情報サーバ装置、キャッシュサーバ装置及び先読みキャッシュ処理方法
JP2002044137A (ja) * 2000-07-25 2002-02-08 Nec Corp コンテンツ転送方法及びネットワークシステム並びにプログラムを記録した機械読み取り可能な記録媒体
JP2017151932A (ja) * 2016-02-26 2017-08-31 ヤフー株式会社 情報提供システム、情報提供方法および情報処理装置

Families Citing this family (312)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363291B1 (en) * 2002-03-29 2008-04-22 Google Inc. Methods and apparatus for increasing efficiency of electronic document delivery to users
US7103794B2 (en) 1998-06-08 2006-09-05 Cacheflow, Inc. Network object cache engine
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
JP3774807B2 (ja) * 1997-08-06 2006-05-17 タキオン インコーポレイテッド 分散型システムとオブジェクトをプレフェッチする方法
US6304894B1 (en) * 1997-09-22 2001-10-16 Hitachi, Ltd. Proxy server and recording medium storing a proxy server program
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
JP3561139B2 (ja) * 1998-01-27 2004-09-02 シャープ株式会社 ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機
US8296396B2 (en) * 1998-02-10 2012-10-23 Level 3 Communications, Llc Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US7007072B1 (en) * 1999-07-27 2006-02-28 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US6430618B1 (en) * 1998-03-13 2002-08-06 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
JP3522527B2 (ja) * 1998-03-27 2004-04-26 富士通株式会社 入出力制御装置および入出力制御方法
US6385699B1 (en) * 1998-04-10 2002-05-07 International Business Machines Corporation Managing an object store based on object replacement penalties and reference probabilities
US7089331B1 (en) 1998-05-29 2006-08-08 Oracle International Corporation Method and mechanism for reducing client-side memory footprint of transmitted data
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US20020138640A1 (en) * 1998-07-22 2002-09-26 Uri Raz Apparatus and method for improving the delivery of software applications and associated data in web-based systems
US7197570B2 (en) * 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US20010044850A1 (en) 1998-07-22 2001-11-22 Uri Raz Method and apparatus for determining the order of streaming modules
US6311221B1 (en) * 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US6195696B1 (en) * 1998-10-01 2001-02-27 International Business Machines Corporation Systems, methods and computer program products for assigning, generating and delivering content to intranet users
EP1018689A3 (en) * 1999-01-08 2001-01-24 Lucent Technologies Inc. Methods and apparatus for enabling shared web-based interaction in stateful servers
EP1024439B1 (en) * 1999-01-27 2009-03-11 Hitachi, Ltd. Data transfer method, apparatus and recording medium for use in a hierarchical system
US6418413B2 (en) * 1999-02-04 2002-07-09 Ita Software, Inc. Method and apparatus for providing availability of airline seats
US6502174B1 (en) * 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data
US6631496B1 (en) * 1999-03-22 2003-10-07 Nec Corporation System for personalizing, organizing and managing web information
US7526481B1 (en) * 1999-04-19 2009-04-28 Oracle International Corporation Web servers with queryable dynamic caches
US6513062B1 (en) 1999-05-25 2003-01-28 Grischa Corporation Method, apparatus, and computer program product for efficient server response generation using intermediate state caching
US6952578B1 (en) * 1999-06-07 2005-10-04 Nokia Corporation Cellular communication terminal, a method and a system for accessing servers
US6658463B1 (en) * 1999-06-10 2003-12-02 Hughes Electronics Corporation Satellite multicast performance enhancing multicast HTTP proxy system and method
US7099914B1 (en) * 1999-06-24 2006-08-29 International Business Machines Corporation System and method for variable size retrieval of webpage data
US6779119B1 (en) * 1999-06-30 2004-08-17 Koninklijke Philips Electronics N.V. Actual and perceived response time, user interface, and security via usage patterns
US6622167B1 (en) 1999-06-30 2003-09-16 International Business Machines Corporation Document shadowing intranet server, memory medium and method
SE521181C2 (sv) * 1999-07-01 2003-10-07 Telia Ab Förfarande och system för policystyrd distribution av strömmande media i ett IP-nät
US6463508B1 (en) * 1999-07-19 2002-10-08 International Business Machines Corporation Method and apparatus for caching a media stream
US6427172B1 (en) * 1999-07-20 2002-07-30 Cyberstar, L.P. Method and apparatus for internet cache content delivery via a data distribution system
US6615235B1 (en) * 1999-07-22 2003-09-02 International Business Machines Corporation Method and apparatus for cache coordination for multiple address spaces
US7028096B1 (en) * 1999-09-14 2006-04-11 Streaming21, Inc. Method and apparatus for caching for streaming data
JP2001184252A (ja) * 1999-10-13 2001-07-06 Enjoyweb Inc コンピュータネットワーク上のクライアントロケーションにおける情報オブジェクトの送信および受信のための方法、装置ならびにシステム
US7024465B1 (en) * 1999-10-18 2006-04-04 Rose Blush Software Llc Method for queued overlap transfer of files
EP1096755A1 (en) * 1999-10-28 2001-05-02 Alcatel Method to provide information in an internet telecommunication network
US7562027B1 (en) * 1999-11-01 2009-07-14 Ita Software, Inc. Availability processing in a travel planning system
AU3638401A (en) * 1999-11-01 2001-05-14 Ita Software, Inc. Method and apparatus for providing availability of airline seats
US6721780B1 (en) * 1999-11-09 2004-04-13 Fireclick, Inc. Predictive pre-download of network objects
JP3534027B2 (ja) * 1999-12-01 2004-06-07 日本電気株式会社 コンテンツ提供装置及びプログラムを記録した機械読み取り可能な記録媒体
US6553461B1 (en) * 1999-12-10 2003-04-22 Sun Microsystems, Inc. Client controlled pre-fetching of resources
US6742023B1 (en) * 2000-04-28 2004-05-25 Roxio, Inc. Use-sensitive distribution of data files between users
US6751657B1 (en) * 1999-12-21 2004-06-15 Worldcom, Inc. System and method for notification subscription filtering based on user role
US6415368B1 (en) * 1999-12-22 2002-07-02 Xerox Corporation System and method for caching
AU2001234628A1 (en) * 2000-01-28 2001-08-07 Ibeam Broadcasting Corporation Method and system for real-time distributed data mining and analysis for networks
US7441014B1 (en) * 2000-02-09 2008-10-21 Tvworks, Llc Broadcast distribution using low-level objects and locator tables
US6947440B2 (en) * 2000-02-15 2005-09-20 Gilat Satellite Networks, Ltd. System and method for internet page acceleration including multicast transmissions
US7389284B1 (en) 2000-02-29 2008-06-17 Oracle International Corporation Method and mechanism for efficient processing of remote-mapped queries
AU2001237693A1 (en) * 2000-03-01 2001-09-12 Michael L. Kagan Wireless communications system and method
WO2001069860A2 (en) * 2000-03-10 2001-09-20 Aether Systems, Inc. System and method for providing information based on user histories
US6622168B1 (en) 2000-04-10 2003-09-16 Chutney Technologies, Inc. Dynamic page generation acceleration using component-level caching
US7523114B2 (en) 2000-04-24 2009-04-21 Ebay Inc. Method and system for categorizing items in both actual and virtual categories
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US20050055426A1 (en) * 2000-06-12 2005-03-10 Kim Smith System, method and computer program product that pre-caches content to provide timely information to a user
US7058691B1 (en) * 2000-06-12 2006-06-06 Trustees Of Princeton University System for wireless push and pull based services
US7020709B1 (en) 2000-06-30 2006-03-28 Intel Corporation System and method for fault tolerant stream splitting
US7318107B1 (en) 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
US7216085B1 (en) * 2000-07-13 2007-05-08 Ita Software, Inc. Competitive availability tools
US7613790B2 (en) * 2000-07-13 2009-11-03 Biap Systems, Inc. Apparatus for and method of executing customized interactive computing services in a broadband network environment
US7152058B2 (en) 2000-07-13 2006-12-19 Biap Systems, Inc. Apparatus for and method of selectively retrieving information and enabling its subsequent display
US7313588B1 (en) 2000-07-13 2007-12-25 Biap Systems, Inc. Locally executing software agent for retrieving remote content and method for creation and use of the agent
US7039683B1 (en) 2000-09-25 2006-05-02 America Online, Inc. Electronic information caching
US20020087717A1 (en) * 2000-09-26 2002-07-04 Itzik Artzi Network streaming of multi-application program code
US8799463B1 (en) * 2000-10-19 2014-08-05 Ariba, Inc. Method and apparatus for processing information related to interactive web sites
US8831995B2 (en) 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US7043524B2 (en) * 2000-11-06 2006-05-09 Omnishift Technologies, Inc. Network caching system for streamed applications
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US6959320B2 (en) * 2000-11-06 2005-10-25 Endeavors Technology, Inc. Client-side performance optimization system for streamed applications
US20020087883A1 (en) * 2000-11-06 2002-07-04 Curt Wohlgemuth Anti-piracy system for remotely served computer applications
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US20020087798A1 (en) * 2000-11-15 2002-07-04 Vijayakumar Perincherry System and method for adaptive data caching
JP2002169831A (ja) * 2000-12-04 2002-06-14 Sharp Corp データベースサーバ及びプログラムを記録した記録媒体
US7113935B2 (en) * 2000-12-06 2006-09-26 Epicrealm Operating Inc. Method and system for adaptive prefetching
US7451196B1 (en) 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
US20050273514A1 (en) * 2000-12-22 2005-12-08 Ray Milkey System and method for automated and optimized file transfers among devices in a network
US7142508B2 (en) * 2000-12-22 2006-11-28 Radiance Technologies, Inc. System and method for controlling data transfer rates on a network
US7269784B1 (en) 2001-01-22 2007-09-11 Kasriel Stephane Server-originated differential caching
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6721847B2 (en) * 2001-02-20 2004-04-13 Networks Associates Technology, Inc. Cache hints for computer file access
US8214501B1 (en) 2001-03-02 2012-07-03 At&T Intellectual Property I, L.P. Methods and systems for electronic data exchange utilizing centralized management technology
EP1244016A1 (en) * 2001-03-23 2002-09-25 Hewlett-Packard Company User access pattern tracking of computer resources
US20020147770A1 (en) * 2001-04-09 2002-10-10 Timothy Tang Multicast enabled caching service
US7899911B2 (en) * 2001-06-07 2011-03-01 Intel Corporation Method and apparatus to retrieve information in a network
US7054911B1 (en) 2001-06-12 2006-05-30 Network Appliance, Inc. Streaming media bitrate switching methods and apparatus
US7945688B1 (en) 2001-06-12 2011-05-17 Netapp, Inc. Methods and apparatus for reducing streaming media data traffic bursts
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
US6742082B1 (en) * 2001-06-12 2004-05-25 Network Appliance Pre-computing streaming media payload method and apparatus
US6813690B1 (en) * 2001-06-12 2004-11-02 Network Appliance, Inc. Caching media data using content-sensitive identifiers
US7155531B1 (en) 2001-06-12 2006-12-26 Network Appliance Inc. Storage methods and apparatus for streaming media data
US7716332B1 (en) * 2001-06-20 2010-05-11 At&T Intellectual Property I, L.P. System and method for server-based predictive caching of back-end system data
US7509671B1 (en) 2001-06-20 2009-03-24 Microstrategy Incorporated Systems and methods for assigning priority to jobs in a reporting system
US7836178B1 (en) 2001-06-20 2010-11-16 Microstrategy Incorporated Technique for limiting access to the resources of a system
US7185063B1 (en) * 2001-06-22 2007-02-27 Digital River, Inc. Content delivery network using differential caching
US20030004998A1 (en) * 2001-06-29 2003-01-02 Chutney Technologies, Inc. Proxy-based acceleration of dynamically generated content
AU2002313583A1 (en) * 2001-08-01 2003-02-17 Actona Technologies Ltd. Virtual file-sharing network
US7092997B1 (en) * 2001-08-06 2006-08-15 Digital River, Inc. Template identification with differential caching
US7188214B1 (en) 2001-08-07 2007-03-06 Digital River, Inc. Efficient compression using differential caching
KR20010088742A (ko) * 2001-08-28 2001-09-28 문의선 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
US6687792B2 (en) * 2001-09-27 2004-02-03 Siemens Information & Communication Networks, Inc. Method and system for selectively caching web elements
US6766422B2 (en) * 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
WO2003032201A1 (en) * 2001-10-09 2003-04-17 Wildblue Communications, Inc. Performance enhancing proxy for high latency data
US7797376B1 (en) * 2001-11-13 2010-09-14 Cisco Technology, Inc. Arrangement for providing content operation identifiers with a specified HTTP object for acceleration of relevant content operations
US20030115281A1 (en) * 2001-12-13 2003-06-19 Mchenry Stephen T. Content distribution network server management system architecture
US20030115421A1 (en) * 2001-12-13 2003-06-19 Mchenry Stephen T. Centralized bounded domain caching control system for network edge servers
FR2834104B1 (fr) * 2001-12-20 2004-10-15 France Telecom Procede de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache, systeme de transmission, serveur et terminal correspondants
US7437438B2 (en) * 2001-12-27 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for energy efficient data prefetching
JP2003216460A (ja) * 2002-01-21 2003-07-31 Hitachi Ltd 階層ストレージ装置及びその制御装置
US7689225B2 (en) * 2002-01-28 2010-03-30 Ntt Docomo, Inc. Method and apparatus for dormant mode support with paging
US7386627B1 (en) 2002-01-29 2008-06-10 Network Appliance, Inc. Methods and apparatus for precomputing checksums for streaming media
US7412531B1 (en) 2002-01-29 2008-08-12 Blue Coat Systems, Inc. Live stream archiving method and apparatus
EP1470476A4 (en) * 2002-01-31 2007-05-30 Arc Int CONFIGURABLE DATA PROCESSOR WITH MULTI-LENGTH INSTRUCTION KIT ARCHITECTURE
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US7296051B1 (en) * 2002-02-19 2007-11-13 Digital River, Inc. Predictive predownload of templates with delta encoding
US7487261B1 (en) 2002-02-22 2009-02-03 Digital River, Inc. Delta caching service
CN101004733A (zh) * 2002-03-06 2007-07-25 弗里科姆技术公司 监视和交换数据的系统及用于该系统的外部数据存储单元
US7096249B2 (en) * 2002-03-29 2006-08-22 Intel Corporation Method and system for distributing applications
ATE316312T1 (de) * 2002-04-05 2006-02-15 Übertragungskontrolle für objekte in einem kommunikationsnetzwerk
US7610351B1 (en) * 2002-05-10 2009-10-27 Oracle International Corporation Method and mechanism for pipelined prefetching
US7657644B1 (en) 2002-05-10 2010-02-02 Netapp, Inc. Methods and apparatus for streaming media multicast
US6751709B2 (en) * 2002-05-15 2004-06-15 Sun Microsystems, Inc. Method and apparatus for prefetching objects into an object cache
US7822658B2 (en) * 2002-06-04 2010-10-26 Hewlett-Packard Development Company, L.P. Dynamic prioritization of activities
US9218409B2 (en) * 2002-06-04 2015-12-22 Sap Se Method for generating and using a reusable custom-defined nestable compound data type as database qualifiers
US7120751B1 (en) 2002-08-09 2006-10-10 Networks Appliance, Inc. Dynamic streaming buffer cache algorithm selection
US8856093B2 (en) 2002-09-03 2014-10-07 William Gross Methods and systems for search indexing
US7370035B2 (en) * 2002-09-03 2008-05-06 Idealab Methods and systems for search indexing
US7130890B1 (en) * 2002-09-04 2006-10-31 Hewlett-Packard Development Company, L.P. Method and system for adaptively prefetching objects from a network
US7284030B2 (en) * 2002-09-16 2007-10-16 Network Appliance, Inc. Apparatus and method for processing data in a network
US7171469B2 (en) * 2002-09-16 2007-01-30 Network Appliance, Inc. Apparatus and method for storing data in a proxy cache in a network
US7552223B1 (en) 2002-09-16 2009-06-23 Netapp, Inc. Apparatus and method for data consistency in a proxy cache
US7417971B2 (en) * 2002-10-04 2008-08-26 Ntt Docomo, Inc. Method and apparatus for dormant mode support with paging
KR100485974B1 (ko) * 2002-10-10 2005-05-03 엔에이치엔(주) 컨텐츠 제공 방법 및 시스템
US20040088375A1 (en) * 2002-11-01 2004-05-06 Sethi Bhupinder S. Method for prefetching Web pages to improve response time networking
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
DE10257773B4 (de) * 2002-12-10 2005-06-02 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Verbessern des Zugangs zu Daten- und Informationsdiensten und Einrichtung zur Durchführung des Verfahrens
US7299467B2 (en) * 2002-12-23 2007-11-20 Hewlett-Packard Development Company, L.P. Method and system for minimizing memory access latency in a computer system
GB0301034D0 (en) * 2003-01-16 2003-02-19 Dupont Teijin Films Us Ltd Polymeric film and coating
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US20040267384A1 (en) * 2003-02-07 2004-12-30 Broadon Communications, Inc. Integrated console and controller
US7779482B1 (en) 2003-02-07 2010-08-17 iGware Inc Delivery of license information using a short messaging system protocol in a closed content distribution system
US20100017627A1 (en) 2003-02-07 2010-01-21 Broadon Communications Corp. Ensuring authenticity in a closed content distribution system
US8131649B2 (en) 2003-02-07 2012-03-06 Igware, Inc. Static-or-dynamic and limited-or-unlimited content rights
US7991905B1 (en) 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
EP2672403A1 (en) * 2003-04-04 2013-12-11 Yahoo! Inc. A system for generating search results including searching by subdomain hints and providing sponsored results by subdomain
US7331038B1 (en) * 2003-07-02 2008-02-12 Amazon.Com, Inc. Predictive prefetching to improve parallelization of document generation subtasks
US7165147B2 (en) * 2003-07-22 2007-01-16 International Business Machines Corporation Isolated ordered regions (IOR) prefetching and page replacement
US7853699B2 (en) 2005-03-15 2010-12-14 Riverbed Technology, Inc. Rules-based transaction prefetching using connection end-point proxies
JP4039488B2 (ja) * 2003-08-18 2008-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 多頻度パターン抽出装置、多頻度パターン抽出方法、及びそのプログラムと記録媒体
US7792866B2 (en) * 2003-08-25 2010-09-07 International Business Machines Corporation Method and system for querying structured documents stored in their native format in a database
US8250093B2 (en) 2003-08-25 2012-08-21 International Business Machines Corporation Method and system for utilizing a cache for path-level access control to structured documents stored in a database
US7519574B2 (en) * 2003-08-25 2009-04-14 International Business Machines Corporation Associating information related to components in structured documents stored in their native format in a database
US8150818B2 (en) * 2003-08-25 2012-04-03 International Business Machines Corporation Method and system for storing structured documents in their native format in a database
US7721289B2 (en) * 2003-08-29 2010-05-18 Microsoft Corporation System and method for dynamic allocation of computers in response to requests
US8775468B2 (en) * 2003-08-29 2014-07-08 International Business Machines Corporation Method and system for providing path-level access control for structured documents stored in a database
US7231496B2 (en) * 2003-09-15 2007-06-12 International Business Machines Corporation Method, system and program product for caching data objects
US7596554B2 (en) * 2003-12-09 2009-09-29 International Business Machines Corporation System and method for generating a unique, file system independent key from a URI (universal resource indentifier) for use in an index-less voicexml browser caching mechanism
WO2005060575A2 (en) * 2003-12-10 2005-07-07 X1 Technologies, Inc. Performing operations in response to detecting a computer idle condition
US20050138198A1 (en) * 2003-12-18 2005-06-23 It Works Methods, apparatuses, systems, and articles for determining and implementing an efficient computer network architecture
US8010670B2 (en) 2003-12-23 2011-08-30 Slipstream Data Inc. Meta-data based method for local cache utilization
KR100600862B1 (ko) * 2004-01-30 2006-07-14 김선권 인터넷상의 정보자원에 대한 접근 경로를 체계적으로수집하고 검색하는 방법, 및 이 방법을 실행할 수 있는컴퓨터 프로그램을 수록한 기록매체
US20050240574A1 (en) * 2004-04-27 2005-10-27 International Business Machines Corporation Pre-fetching resources based on a resource lookup query
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US20050261962A1 (en) * 2004-05-18 2005-11-24 Khai Gan Chuah Anonymous page recognition
US8224964B1 (en) 2004-06-30 2012-07-17 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US8676922B1 (en) 2004-06-30 2014-03-18 Google Inc. Automatic proxy setting modification
US7437364B1 (en) 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7472133B2 (en) * 2004-07-30 2008-12-30 Microsoft Corporation System and method for improved prefetching
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US20060048136A1 (en) * 2004-08-25 2006-03-02 Vries Jeff D Interception-based resource detection system
US7694311B2 (en) * 2004-09-29 2010-04-06 International Business Machines Corporation Grammar-based task analysis of web logs
US7831612B2 (en) * 2004-09-29 2010-11-09 Business Objects Software Ltd. Apparatus and method for generating reports from shared objects
US7664751B2 (en) 2004-09-30 2010-02-16 Google Inc. Variable user interface based on document access privileges
US7603355B2 (en) 2004-10-01 2009-10-13 Google Inc. Variably controlling access to content
US7240162B2 (en) 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
US7752325B1 (en) 2004-10-26 2010-07-06 Netapp, Inc. Method and apparatus to efficiently transmit streaming media
WO2006055445A2 (en) * 2004-11-13 2006-05-26 Stream Theory, Inc. Hybrid local/remote streaming
US7664879B2 (en) * 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
US7313656B1 (en) * 2004-12-27 2007-12-25 Emc Corporation Pre-fetch prediction method for disk drives
US20060168151A1 (en) * 2005-01-04 2006-07-27 Umberto Caselli Method, system and computer program for retrieving information with reduced age in a periodic process
US20060200503A1 (en) * 2005-03-03 2006-09-07 Nokia Corporation Modifying back-end web server documents at an intermediary server using directives
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US20060248194A1 (en) 2005-03-18 2006-11-02 Riverbed Technology, Inc. Connection forwarding
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
US20060218165A1 (en) * 2005-03-23 2006-09-28 Vries Jeffrey De Explicit overlay integration rules
US9716609B2 (en) 2005-03-23 2017-07-25 Numecent Holdings, Inc. System and method for tracking changes to files in streaming applications
US7694008B2 (en) 2005-05-04 2010-04-06 Venturi Wireless Method and apparatus for increasing performance of HTTP over long-latency links
US7496678B2 (en) * 2005-05-11 2009-02-24 Netapp, Inc. Method and system for unified caching of media content
CA2513022A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited System and method for communicating state management between a browser user-agent and a mobile data server
CA2513018A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
CA2513016A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
US20070143255A1 (en) * 2005-11-28 2007-06-21 Webaroo, Inc. Method and system for delivering internet content to mobile devices
US7725658B2 (en) 2005-11-29 2010-05-25 Siemens Aktiengesellschaft Self-optimizing caching system and method for data records
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US7659905B2 (en) 2006-02-22 2010-02-09 Ebay Inc. Method and system to pre-fetch data in a network
US20070239747A1 (en) * 2006-03-29 2007-10-11 International Business Machines Corporation Methods, systems, and computer program products for providing read ahead and caching in an information lifecycle management system
US20070276862A1 (en) * 2006-04-27 2007-11-29 Toutonghi Michael J Organizing and sharing digital content
US20070255676A1 (en) * 2006-04-27 2007-11-01 Brown David A Methods and apparatus for performing tree-based processing using multi-level memory storage
US20070255659A1 (en) * 2006-05-01 2007-11-01 Wei Yen System and method for DRM translation
JP2009535735A (ja) 2006-05-02 2009-10-01 ブロードオン コミュニケーションズ コーポレーション コンテンツ・マネージメント・システムおよび方法
US7747749B1 (en) * 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
US20080216142A1 (en) * 2006-08-17 2008-09-04 Goldberg Brett M System and method of digital media distribution
US8255457B2 (en) * 2006-09-01 2012-08-28 Microsoft Corporation Adaptive content load balancing
US7624276B2 (en) * 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method
US8261345B2 (en) 2006-10-23 2012-09-04 Endeavors Technologies, Inc. Rule-based application access management
US7613915B2 (en) 2006-11-09 2009-11-03 BroadOn Communications Corp Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed
US20080114738A1 (en) * 2006-11-13 2008-05-15 Gerald Chao System for improving document interlinking via linguistic analysis and searching
US8200961B2 (en) * 2006-11-19 2012-06-12 Igware, Inc. Securing a flash memory block in a secure device system and method
JP4872650B2 (ja) 2006-12-18 2012-02-08 ソニー株式会社 配信装置、配信方法及びコンピュータプログラム
US8065275B2 (en) * 2007-02-15 2011-11-22 Google Inc. Systems and methods for cache optimization
US8812651B1 (en) 2007-02-15 2014-08-19 Google Inc. Systems and methods for client cache awareness
US20080244080A1 (en) * 2007-03-29 2008-10-02 James Thomas H Prefetching Based on Streaming Hints
US7853759B2 (en) * 2007-04-23 2010-12-14 Microsoft Corporation Hints model for optimization of storage devices connected to host and write optimization schema for storage devices
US7849156B2 (en) * 2007-06-04 2010-12-07 International Business Machines Corporation Method, apparatus and computer program product for discovering and prioritizing patterns of component usage in a virtual application container for enhancing prefetching
US8171135B2 (en) * 2007-07-12 2012-05-01 Viasat, Inc. Accumulator for prefetch abort
US8549099B2 (en) * 2007-07-12 2013-10-01 Viasat, Inc. Methods and systems for javascript parsing
US8966053B2 (en) * 2007-07-12 2015-02-24 Viasat, Inc. Methods and systems for performing a prefetch abort operation for network acceleration
US9460229B2 (en) * 2007-10-15 2016-10-04 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US9654328B2 (en) 2007-10-15 2017-05-16 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US8849838B2 (en) 2008-01-15 2014-09-30 Google Inc. Bloom filter for storing file access history
US20090193147A1 (en) * 2008-01-30 2009-07-30 Viasat, Inc. Methods and Systems for the Use of Effective Latency to Make Dynamic Routing Decisions for Optimizing Network Applications
EP2274684A4 (en) 2008-04-04 2012-12-05 Level 3 Communications Llc HANDLING LONG TAIL CONTENT IN A CONTENT DELIVERY NETWORK (CDN)
US9762692B2 (en) * 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US20090300208A1 (en) * 2008-06-02 2009-12-03 Viasat, Inc. Methods and systems for acceleration of mesh network configurations
US20100180005A1 (en) * 2009-01-12 2010-07-15 Viasat, Inc. Cache cycling
EP2436168A2 (fr) * 2009-05-29 2012-04-04 France Telecom Technique de distribution d'un contenu vers un utilisateur
US20130103556A1 (en) 2009-06-25 2013-04-25 3Crowd Technologies, Inc. Crowd based content delivery
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US8230172B2 (en) 2009-12-03 2012-07-24 Intel Corporation Gather and scatter operations in multi-level memory hierarchy
US9043385B1 (en) 2010-04-18 2015-05-26 Viasat, Inc. Static tracker
US9854055B2 (en) * 2011-02-28 2017-12-26 Nokia Technologies Oy Method and apparatus for providing proxy-based content discovery and delivery
US8775775B1 (en) * 2011-03-31 2014-07-08 Emc Corporation Dynamic prefetch throttling for multi-controller systems
US9106607B1 (en) 2011-04-11 2015-08-11 Viasat, Inc. Browser based feedback for optimized web browsing
US9912718B1 (en) 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
US9456050B1 (en) 2011-04-11 2016-09-27 Viasat, Inc. Browser optimization through user history analysis
US11983233B2 (en) * 2011-04-11 2024-05-14 Viasat, Inc. Browser based feedback for optimized web browsing
US9037638B1 (en) * 2011-04-11 2015-05-19 Viasat, Inc. Assisted browsing using hinting functionality
US20130103853A1 (en) 2011-07-29 2013-04-25 3Crowd Technologies, Inc. Directing clients based on communication format
US9680791B2 (en) 2011-07-29 2017-06-13 Fortinet, Inc. Facilitating content accessibility via different communication formats
EP2555128A1 (en) * 2011-08-02 2013-02-06 Alcatel Lucent Memory cache content manager and arrangement
US9094090B2 (en) 2011-09-23 2015-07-28 Gilat Satellite Networks Ltd. Decentralized caching system
US10681394B2 (en) 2011-11-28 2020-06-09 Comcast Cable Communications, Llc Cache eviction during off-peak transaction time period
US8843758B2 (en) 2011-11-30 2014-09-23 Microsoft Corporation Migrating authenticated content towards content consumer
US9167049B2 (en) * 2012-02-02 2015-10-20 Comcast Cable Communications, Llc Content distribution network supporting popularity-based caching
US8627097B2 (en) 2012-03-27 2014-01-07 Igt System and method enabling parallel processing of hash functions using authentication checkpoint hashes
US9239862B2 (en) * 2012-05-01 2016-01-19 Qualcomm Incorporated Web acceleration based on hints derived from crowd sourcing
US9152220B2 (en) 2012-06-29 2015-10-06 International Business Machines Corporation Incremental preparation of videos for delivery
JP6021487B2 (ja) * 2012-07-18 2016-11-09 キヤノン株式会社 情報処理システム、制御方法、サーバ、情報処理装置およびコンピュータプログラム
US9747386B1 (en) * 2012-08-10 2017-08-29 Amazon Technologies, Inc. User-perceived performance through browser hints
US9298719B2 (en) * 2012-09-04 2016-03-29 International Business Machines Corporation On-demand caching in a WAN separated distributed file system or clustered file system cache
US9560127B2 (en) 2013-01-18 2017-01-31 International Business Machines Corporation Systems, methods and algorithms for logical movement of data objects
US10375192B1 (en) 2013-03-15 2019-08-06 Viasat, Inc. Faster web browsing using HTTP over an aggregated TCP transport
US9659058B2 (en) 2013-03-22 2017-05-23 X1 Discovery, Inc. Methods and systems for federation of results from search indexing
CN104077296B (zh) * 2013-03-27 2017-12-29 联想(北京)有限公司 处理信息的方法和服务器
US9880983B2 (en) 2013-06-04 2018-01-30 X1 Discovery, Inc. Methods and systems for uniquely identifying digital content for eDiscovery
US10075741B2 (en) * 2013-07-03 2018-09-11 Avago Technologies General Ip (Singapore) Pte. Ltd. System and control protocol of layered local caching for adaptive bit rate services
US10063450B2 (en) * 2013-07-26 2018-08-28 Opentv, Inc. Measuring response trends in a digital television network
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
WO2015066313A1 (en) * 2013-10-30 2015-05-07 Interdigital Patent Holdings, Inc. Enabling information centric networks specialization
US9819721B2 (en) 2013-10-31 2017-11-14 Akamai Technologies, Inc. Dynamically populated manifests and manifest-based prefetching
US20150142874A1 (en) * 2013-11-18 2015-05-21 Qualcomm Incorporated Prioritized one-shot browsing to reduce http page download delay
CN104683387A (zh) * 2013-11-27 2015-06-03 英业达科技有限公司 预先读取执行目标功能所需目标数据的系统及其方法
EP3143524A1 (en) * 2014-05-13 2017-03-22 Opera Software AS Web access performance enhancement
US9613158B1 (en) * 2014-05-13 2017-04-04 Viasat, Inc. Cache hinting systems
US10855797B2 (en) 2014-06-03 2020-12-01 Viasat, Inc. Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback
US10346550B1 (en) 2014-08-28 2019-07-09 X1 Discovery, Inc. Methods and systems for searching and indexing virtual environments
US20170272532A1 (en) * 2014-08-28 2017-09-21 Interdigital Patent Holdings, Inc. Method and apparatus for capture caching
EP3195565A4 (en) * 2014-09-18 2018-03-07 Intel Corporation Technologies for pre-action execution
EP3018580A1 (en) * 2014-11-06 2016-05-11 Alcatel Lucent Cache server and method for serving and caching web resources
US9948709B2 (en) 2015-01-30 2018-04-17 Akamai Technologies, Inc. Using resource timing data for server push in multiple web page transactions
US10313463B2 (en) 2015-02-19 2019-06-04 Akamai Technologies, Inc. Systems and methods for avoiding server push of objects already cached at a client
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US11070608B2 (en) * 2015-06-17 2021-07-20 Fastly, Inc. Expedited sub-resource loading
US10320934B1 (en) * 2015-08-25 2019-06-11 Instart Logic, Inc. One-time cache
AU2016317736B2 (en) 2015-08-28 2020-07-23 Viasat, Inc. Systems and methods for prefetching dynamic URLs
US10769695B2 (en) * 2015-09-02 2020-09-08 Ebay Inc. Generating titles for a structured browse page
CA2998320C (en) 2015-09-14 2023-01-03 Viasat, Inc. Machine-driven crowd-disambiguation of data resources
EP3342126B1 (en) 2015-09-23 2020-09-16 Viasat, Inc. Acceleration of online certificate status checking with an internet hinting service
US10157240B2 (en) * 2015-10-01 2018-12-18 Ebay Inc. Systems and methods to generate a concept graph
US10248114B2 (en) * 2015-10-11 2019-04-02 Computational Systems, Inc. Plant process management system with normalized asset health
CN116610884A (zh) 2015-10-20 2023-08-18 维尔塞特公司 使用自动浏览群集更新提示模型
CA3002657C (en) 2015-10-28 2023-03-21 Viasat, Inc. Time-dependent machine-generated hinting
US10021220B2 (en) * 2015-11-02 2018-07-10 Adobe Systems Incorporated Object amalgamation based on categorization and protocol granularization
EP3384660B1 (en) 2015-12-04 2021-11-24 ViaSat, Inc. Accelerating connections to a host server
CA3027756C (en) 2016-06-28 2021-04-13 Solano Labs, Inc. Systems and methods for efficient distribution of stored data objects
US10880396B2 (en) 2016-12-02 2020-12-29 Viasat, Inc. Pre-fetching random-value resource locators
US10936593B2 (en) * 2017-03-27 2021-03-02 Liberation Distribution, Inc. Resolving a query to a database by transmitting identifiers of objects satisfying the query
US10574777B2 (en) * 2017-06-06 2020-02-25 International Business Machines Corporation Edge caching for cognitive applications
EP4020940A1 (en) 2017-08-28 2022-06-29 Bright Data Ltd. Content fetching by selecting tunnel devices
US10684950B2 (en) 2018-03-15 2020-06-16 Bank Of America Corporation System for triggering cross channel data caching
CN108804514A (zh) * 2018-04-25 2018-11-13 网宿科技股份有限公司 一种网页加载方法、服务器和网页加载系统
CN110750498B (zh) * 2018-07-19 2023-01-06 成都华为技术有限公司 对象访问方法、装置及存储介质
EP4053717A3 (en) 2019-02-25 2022-10-26 Bright Data Ltd. System and method for url fetching retry mechanism
EP4027618A1 (en) 2019-04-02 2022-07-13 Bright Data Ltd. Managing a non-direct url fetching service
US11893062B2 (en) * 2019-05-14 2024-02-06 Sap Se Bulk lazy loading of structured data
US11171720B1 (en) * 2019-06-28 2021-11-09 Amazon Technologies, Inc. Content and compute delivery platform using satellites
US11201939B1 (en) * 2019-06-28 2021-12-14 Amazon Technologies, Inc. Content and compute delivery platform using satellites
US11080283B1 (en) * 2020-09-29 2021-08-03 Atlassian Pty Ltd. Systems and methods for selectively prefetching data
US11265396B1 (en) 2020-10-01 2022-03-01 Bank Of America Corporation System for cross channel data caching for performing electronic activities
US11366749B2 (en) * 2020-11-10 2022-06-21 Western Digital Technologies, Inc. Storage system and method for performing random read
US11921872B2 (en) * 2020-12-16 2024-03-05 International Business Machines Corporation Access control for a data object including data with different access requirements
US11778067B2 (en) 2021-06-16 2023-10-03 Bank Of America Corporation System for triggering cross channel data caching on network nodes
US11880307B2 (en) 2022-06-25 2024-01-23 Bank Of America Corporation Systems and methods for dynamic management of stored cache data based on predictive usage information
CN116010293A (zh) * 2022-12-30 2023-04-25 上海芷锐电子科技有限公司 数据请求处理电路、方法及其缓存电路和处理器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309264A (ja) * 1993-03-23 1994-11-04 Internatl Business Mach Corp <Ibm> キャッシュ・サーバ・ノードを有するコンピュータ・ネットワークにおける資源を探索する方法及び装置
JPH08287095A (ja) * 1995-04-19 1996-11-01 Fujitsu Ltd 自動情報取得装置および方法
JPH09204347A (ja) * 1995-11-20 1997-08-05 Sharp Corp ゲートウェイ装置
JPH11500250A (ja) * 1996-02-15 1999-01-06 アイビーエム コーポレーシヨン 差分化通信システム
JPH117407A (ja) * 1997-05-09 1999-01-12 Internatl Business Mach Corp <Ibm> プロキシ階層におけるステージング/バッファリングを伴う動的プッシュ・フィルタリング方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5228859A (en) * 1990-09-17 1993-07-20 Interactive Training Technologies Interactive educational and training system with concurrent digitized sound and video output
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5485609A (en) * 1994-05-20 1996-01-16 Brown University Research Foundation Online background predictors and prefetchers for locality management
US5652858A (en) * 1994-06-06 1997-07-29 Hitachi, Ltd. Method for prefetching pointer-type data structure and information processing apparatus therefor
JPH10504919A (ja) * 1994-06-30 1998-05-12 インテル コーポレイシヨン スクリプト・ベースのマルチメディア・システム用のデータ先取り
US5822749A (en) * 1994-07-12 1998-10-13 Sybase, Inc. Database system with methods for improving query performance with cache optimization strategies
US5812996A (en) * 1994-07-12 1998-09-22 Sybase, Inc. Database system with methods for optimizing query performance with a buffer manager
US5603025A (en) * 1994-07-29 1997-02-11 Borland International, Inc. Methods for hypertext reporting in a relational database management system
US6381595B1 (en) * 1994-09-29 2002-04-30 International Business Machines Corporation System and method for compensation of functional differences between heterogeneous database management systems
US5768577A (en) * 1994-09-29 1998-06-16 International Business Machines Corporation Performance optimization in a heterogeneous, distributed database environment
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5799309A (en) * 1994-12-29 1998-08-25 International Business Machines Corporation Generating an optimized set of relational queries fetching data in an object-relational database
US5848413A (en) * 1995-01-13 1998-12-08 Ricoh Company, Ltd. Method and apparatus for accessing and publishing electronic documents
US5805809A (en) * 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US5802292A (en) * 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US5742762A (en) * 1995-05-19 1998-04-21 Telogy Networks, Inc. Network management gateway
US5706507A (en) * 1995-07-05 1998-01-06 International Business Machines Corporation System and method for controlling access to data located on a content server
JPH0981455A (ja) * 1995-09-11 1997-03-28 Toshiba Corp クライアント装置、サーバ装置及び記憶装置制御方法
US5781909A (en) * 1996-02-13 1998-07-14 Microtouch Systems, Inc. Supervised satellite kiosk management system with combined local and remote data storage
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5835718A (en) * 1996-04-10 1998-11-10 At&T Corp URL rewriting pseudo proxy server
US5828851A (en) * 1996-04-12 1998-10-27 Fisher-Rosemount Systems, Inc. Process control system using standard protocol control of standard devices and nonstandard devices
US5748897A (en) * 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5818448A (en) * 1996-07-02 1998-10-06 Sun Microsystems, Inc. Apparatus and method for identifying server computer aggregation topologies
US5926179A (en) * 1996-09-30 1999-07-20 Sony Corporation Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309264A (ja) * 1993-03-23 1994-11-04 Internatl Business Mach Corp <Ibm> キャッシュ・サーバ・ノードを有するコンピュータ・ネットワークにおける資源を探索する方法及び装置
JPH08287095A (ja) * 1995-04-19 1996-11-01 Fujitsu Ltd 自動情報取得装置および方法
JPH09204347A (ja) * 1995-11-20 1997-08-05 Sharp Corp ゲートウェイ装置
JPH11500250A (ja) * 1996-02-15 1999-01-06 アイビーエム コーポレーシヨン 差分化通信システム
JPH117407A (ja) * 1997-05-09 1999-01-12 Internatl Business Mach Corp <Ibm> プロキシ階層におけるステージング/バッファリングを伴う動的プッシュ・フィルタリング方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250803A (ja) * 1999-03-02 2000-09-14 Toshiba Corp 情報配信システム、移動計算機、情報サーバ装置、キャッシュサーバ装置及び先読みキャッシュ処理方法
JP2002044137A (ja) * 2000-07-25 2002-02-08 Nec Corp コンテンツ転送方法及びネットワークシステム並びにプログラムを記録した機械読み取り可能な記録媒体
JP2017151932A (ja) * 2016-02-26 2017-08-31 ヤフー株式会社 情報提供システム、情報提供方法および情報処理装置

Also Published As

Publication number Publication date
EP1018085A1 (en) 2000-07-12
DE69834129T2 (de) 2006-10-12
EP1018085B1 (en) 2006-04-05
PL192676B1 (pl) 2006-11-30
KR20010023599A (ko) 2001-03-26
IL133251A0 (en) 2001-04-30
JP3526442B2 (ja) 2004-05-17
CN1272189A (zh) 2000-11-01
CA2302254A1 (en) 1999-04-08
DE69834129D1 (de) 2006-05-18
CN1200378C (zh) 2005-05-04
US6085193A (en) 2000-07-04
PL339377A1 (en) 2000-12-18
KR100377715B1 (ko) 2003-03-26
HUP0003680A3 (en) 2003-02-28
HUP0003680A2 (hu) 2001-02-28
HU224089B1 (hu) 2005-05-30
WO1999017227A1 (en) 1999-04-08
CA2302254C (en) 2006-10-24

Similar Documents

Publication Publication Date Title
JP3526442B2 (ja) ネットワークに沿ってサーバからクライアントへのデータの流れを強化するための処理システム
US6065058A (en) Dynamic push filtering based on information exchanged among nodes in a proxy hierarchy
US6012126A (en) System and method for caching objects of non-uniform size using multiple LRU stacks partitions into a range of sizes
US5924116A (en) Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node
US8509266B2 (en) Using network traffic logs for search engine index updates
JP3160719B2 (ja) コンピュータのネットワークからワールドワイドウェッブ上のページを捜し出したり、ドキュメントを捜し出したりするためのシステム及び方法
US6457047B1 (en) Application caching system and method
US7219162B2 (en) System and method for accessing content of a web page
US5933832A (en) Retrieval system for frequently updated data distributed on network
US6598121B2 (en) System and method for coordinated hierarchical caching and cache replacement
US6029175A (en) Automatic retrieval of changed files by a network software agent
Cho et al. Parallel crawlers
US6182111B1 (en) Method and system for managing distributed data
US6351775B1 (en) Loading balancing across servers in a computer network
US6094657A (en) Apparatus and method for dynamic meta-tagging of compound documents
US20020169818A1 (en) Method and apparatus for efficient storage and retrieval of objects in and from an object storage device
US7305610B1 (en) Distributed crawling of hyperlinked documents
JP2000122912A (ja) 資源収集方法及び資源収集装置
CZ20001058A3 (cs) Způsob a systém pro předčerpávání informací
Lam et al. Temporal pre-fetching of dynamic web pages
JP2004070957A (ja) 検索システム
Amudhan et al. Traffic Adaptive Optimum Updating Scheme for Search Engines
Beniwal et al. Web crawlers of search engine

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040213

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100227

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees