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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-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
Description
出すための方法および装置に関し、クライアントは、例えばワールド・ワイド・
ウェブにおけるウェブ・オブジェクトの事前取出しに関与することができるなど
、プロキシ・サーバの階層に関連付けられていることが好ましい。
びゲートウェイのネットワーク。
を実行するサーバに出すコンピュータである。
ある。ウェブ・サーバは一般的に1つまたは複数のクライアントをサポートする
。
ある語または語句を選択(クリック)することによって、インターネットで情報
を捜すユーザにサーバからサーバへおよびデータベースからデータベースへ接続
を切換えさせるインターネット・アプリケーション。インターネットWWWサー
バはクライアントをサポートし、情報をクライアントに提供する。全ての資源を
URLとしてアドレス指定したインターネットと考えることができるウェブは、
HTMLを使用してURLに対応する情報を表示し、かつ他のURLへのポイン
ト−アンド−クリックを提供する。
の情報を一意に識別またはアドレス指定するための方法であり、eメール・アド
レスのウェブ文書バージョンと考えることができる。URLはハイパーリンクで
アクセスすることができる。URL識別の一例は「http://www.philipyu.com:80
/table.html」である。URLは4つの構成要素を持つ。この例の左側から見て いくと、最初の構成要素は使用するプロトコル(この場合http)を指定し、
このロケータの残部から「:」によって区切られる。次の構成要素は目標ホスト
のホスト名またはIPアドレスであり、この構成要素は、左側を二重斜線「//
」によって、かつ右側を単斜線「/」(または任意選択的に「:」)によって区
切られる。ポート番号は任意の構成要素であり、左側を「:」によって、かつ右
側を単斜線「/」によってホスト名から区切られる。4番目の構成要素は実ファ
イル名またはプログラム名であり(この例ではtable.html)、さらに
単斜線を使用してディレクトリとサブディレクトリを従来の方法で分離する。こ
の例では、拡張部「.html」は、これがHTMLファイルであることを意味
する。
ライアントが見る文書をウェブ・サーバが作成し接続するために使用する言語で
ある。HTMLはハイパーテキスト文書を生成する。
らサーバへの各要求が独立して処理されるステートレス・プロトコルの一例であ
る。サーバは、以前の接続の記録を持たない。URLの最初にある「http:
」は、要求クライアントと目標サーバが、指定の資源に関してHTTPプロトコ
ルを用いて通信することを示す。
ネット・プロトコルを実行し、結果をユーザの画面上に表示するグラフィカル・
インタフェース・ツール。ブラウザは、ユーザがインターネット・「サーフィン
」を行うときのために画像デスクトップ、ディレクトリ、およびサーチ・ツール
を完備した、インターネットのツアー・ガイドとして作動することができる。本
願では、ウェブ・ブラウザはワールド・ワイド・ウェブと通信するクライアント
・サーバである。
ントによってアクセスされたオブジェクトの一次群(キャッシュ)として使用さ
れる。WWW環境では、クライアント・キャッシュは一般的にウェブ・ブラウザ
によって実現され、現行呼出し中にアクセスされたオブジェクトを保存する、つ
まり非永続キャッシュとすることができ、あるいは全ての呼出しにわたってオブ
ジェクトを保存することができる。
コピーを返すために、クライアントのためのエージェント(代理)として作動す
る、ネットワークにおける特殊化されたサーバである。キャッシング・プロキシ
は、クライアント・キャッシュからのキャッシュ・ミスの結果呼び出されるので
、一般的に二次またはそれより高次のキャッシュとして役立つ。
は、情報はHTTPヘッダのフィールドにおける要求および応答の両方に関連付
けることができる。例えば、HTTPクライアントは、返されたページを要求し
たURLを指定することができる。
インターネットのトラヒックはかなり増加した。ウェブは今や、ネットワーク性
能の主要なボトルネックの1つになっている。例えば、低速ネットワーク・リン
クを介してサーバに接続したユーザが文書または情報を要求した場合、ウェブ・
ユーザは顕著な遅延を経験することがある。ウェブがネットワークを介してユー
ザに情報を転送することにより、ネットワークにおけるトラヒックのレベルはさ
らに高くなる。トラヒックの増加は、他のユーザの要求に利用可能な帯域幅を減
少し、潜在的遅延をさらに高める原因となる。
る情報の文書のコピーをネットワーク・ノードでユーザにより近くに格納または
保存し、それによりアクセス待ち時間をより容認できるようになった。キャッシ
ングは、ネットワークの様々な地点で実現することができる。例えば、大規模な
大学または企業はそれ自身のローカル・キャッシュを持ち、そのネットワークに
加入している全てのユーザはそこから文書を取り出すことができる。ローカル・
キャッシュは、特殊サーバの形で実現することができる。
された情報の潜在的なキャッシュ・コピーを捜すための代理として作動すること
ができる。キャッシング・プロキシは障害クライアント・キャッシュから残され
たミスだけに関係するので、キャッシング・プロキシは通常二次以上のキャッシ
ュとして作動する。クライアント・キャッシュは様々なウェブ・ブラウザに組み
込まれる。クライアント・キャッシュは、現行呼出し中の文書アクセスだけを格
納する(モザイクのような非永続キャッシュ)か、または全ての呼出しにわたっ
て文書を保存するかのいずれかとすることができる。
ャッシングの領域であった。オンデマンド・キャッシングとは、オブジェクトが
要求された後でキャッシング決定が行われることを意味する。例えば、エイブラ
ムズ(Abrams)他の「キャッシング・プロキシ:限界と潜在的可能性(Caching
Proxies: Limitations and Potentials)」(第4回国際ワールド・ワイド・ウ ェブ会議1996年会報)は、ウェブのために検討されてきた様々なオンデマン
ド・キャッシング方針について述べている。
ットワークでは、プロキシ階層の様々な地域プロキシまたは部門プロキシが、様
々な参照動作を観察したり、様々なネットワーク・トラヒックや遅延に直面する
。プロキシ階層の存在は、全部の中間プロキシ、クライアント、またはそれらの
サブセットが事前取出しを実行すべきか否かに関する事前取出し決定をいっそう
複雑にする。したがって、プロキシ・サーバ階層および関連クライアントに関し
、事前取出し動作を効果的に調整することができる事前取出し方法およびシステ
ムの必要性が存在する。
、コンテンツ・サーバに関連付けられた1つまたは複数のクライアントが通信ネ
ットワークおよび1つまたは複数のプロキシ・サーバを介してその選択情報に容
易にアクセスできるようにするための方法であって、 プロキシ・サーバの少なくとも1つから情報を要求するステップと、 前記クライアントのいずれかによる要求情報の過去の検索またはアクセスに基
づいて、前記クライアントのための事前取出しヒント情報を確立するステップと
、 要求情報に前記事前取出しヒント情報を注釈として付けるステップと、 事前取出しヒント情報および要求情報に基づいて、前記サーバのいずれかから
選択情報を事前に取り出すステップと を含む方法を提供する。
データなどの事前取出し候補オブジェクトを含む。この場合、要求オブジェクト
は、インターネット・データに関連付けられたハイパーテキスト転送プロトコル
(HTTP)リンクを介して選択オブジェクトを参照することができ、プロキシ
・サーバは、要求オブジェクトのオブジェクト・ヘッダに格納された要求オブジ
ェクトのユニバーサル・リソース・ロケータすなわちURLのHTTPプロトコ
ルを通して、要求オブジェクトに対する選択オブジェクトの関係を識別する。
れたデータ参照パターンを追跡するステップと、要求オブジェクトと事前取出し
候補オブジェクトとの間の関係によってデータ参照パターンをオブジェクト識別
子群に編成するステップと、前記識別子群のうちのどれが、前記事前取出し候補
オブジェクトを選択情報として事前に取り出すことを保証するために事前取出し
候補オブジェクトと要求オブジェクトとの間の充分な関係を持つかを決定するス
テップとを含むことが好ましい。したがって、前記クライアントのデータ参照パ
ターンは要求情報の過去の検索または以前のアクセスに基づくことが有利であり
、データ参照パターンは、前記クライアントのうち前記プロキシ・サーバの1つ
に関連付けられる様々なクライアントによる過去の検索またはアクセスの一般的
な傾向を表すように選択される。次いでこれを使用して、事前取出しヒント情報
を定義することができる。
するためのデータベースを確立すること、および前記データベースの各々の中に
、要求オブジェクトを別の要求オブジェクトから区別するオブジェクト識別子と
、前記サーバの1つによって観察されたものとして要求オブジェクトが要求され
た回数を示すオブジェクト・カウントとを含むフィールドを配置すること、およ
び各要求オブジェクトに関連付けられた1つまたは複数の事前取出し候補オブジ
ェクトが各々に含まれるアクセス・リストを前記データベースに関連付けること
を含むことが好ましい。
ジェクトの関係を定義し、かつ要求オブジェクトおよび事前取出し候補オブジェ
クトのアクセス統計を追跡することができる。前記アクセス統計は、要求オブジ
ェクトの親オブジェクト・アクセス頻度、および事前取出し候補オブジェクトの
子オブジェクト・アクセス頻度を含む。親オブジェクト・アクセス頻度とは、要
求オブジェクトのうちの特定の1つが前記クライアントのうちの少なくとも1つ
によって要求される回数を表す。子オブジェクト・アクセス頻度とは、前記特定
の1つがアクセスされた後で前記事前取出し候補オブジェクトのうちの1つまた
は複数が前後して実際に要求される回数を表す。これにより、子オブジェクト・
アクセス頻度に関連付けられた親オブジェクト・アクセス頻度に対する子オブジ
ェクト・アクセス頻度の比に基づいて、閾確率を超える比の事前取出し候補オブ
ジェクトだけを含む事前取出し候補オブジェクトの事前取出しリストを選択する
ことが可能になる。
事前取出し候補オブジェクトのサブセットだけが実際に事前取出しされ、受信さ
れる。事前取出し候補オブジェクトのこのサブセットの選択情報としての選択は
、前記プロキシ・サーバの1つにおける空き記憶容量および/または前記プロキ
シ・サーバのうちの1つにおけるアクセス回数などの要素に基づく。したがって
、事前取出し候補オブジェクトは、何らかの対応する事前取出し値に関連する優
先順位に従って事前取出しされる。
コンテンツ選択のためのプラットフォーム(PICS)フォーマットを有する事
前取出しラベルまたはPICSフォーマットと互換可能なラベル・プロトコルに
事前取出しヒント情報を配置するステップを含む。この(PICS)フォーマッ
トの特定の実現では、オブジェクト識別子カテゴリおよび参照側識別子カテゴリ
が定義され、前記方法はさらに、実際に参照された事前取出し候補オブジェクト
を識別するために、参照側識別子カテゴリをコンテンツ・サーバに返すステップ
を含む。インターネット・コンテンツ選択のためのプラットフォーム・プロトコ
ルまたはPICS互換性プロトコルによる事前取出しヒント情報の編成は、多く
のブラウザによってすでにサポートされているフォーマットを利用する。
受信ノードを定義して、事前取出しヒント情報を初期状態から最終状態に変更す
ることが好ましく、初期状態は送信ノードによって決定され、最終状態は受信ノ
ードによって決定される。その後最終事前取出し決定の基礎を形成するのは、前
記最終状態の事前取出しヒント情報である(選択情報の事前取出しが受信ノード
によって開始されることを前提とする)。
階層を介して伝送されると、解釈し、更新することができる。プロキシ・サーバ
は、要求情報の局所的参照が存在するかどうか、および局所レベル・サーバのカ
ウントが最小閾カウントを超えるかどうかの事前取出しヒント情報を更新するこ
とが好ましい(つまり、したがって信頼できる統計が局所的に利用可能である)
。事前取出しヒント情報はまた、プロキシ階層におけるキャッシング状態に基づ
いて更新することもできる(例えば、階層のどこに特定の事前取出し候補オブジ
ェクトをキャッシュすることができるかを指摘する)。
サーバと、コンテンツ・サーバおよび1つまたは複数の前記プロキシ・サーバと
ネットワークを介して通信するためのクライアントとを含み、ネットワークを介
してコンテンツ・サーバから選択情報を事前に取り出すためのデータ処理システ
ムであって、 前記プロキシ・サーバの少なくとも1つから情報を要求する手段と、 前記クライアントのいずれかによる要求情報の過去の検索またはアクセスに基
づいて、前記クライアントのための事前取出しヒント情報を確立する手段と、 要求情報に前記事前取出しヒント情報を注釈として付ける手段と、 前記事前取出しヒント情報および要求情報に基づいて、前記サーバのいずれか
から選択情報を事前に取り出す手段と を含むデータ処理システムを提供する。
出し候補オブジェクトを含み、ここで前記プロキシ・サーバの各々およびクライ
アントの少なくとも1つは、主キャッシュと事前取出しキャッシュとの間に少な
くとも論理的分離を有するメモリを含み、前記事前取出しされた選択情報が事前
取出しキャッシュに格納される。
事前取出し値を持つオブジェクトを最初に格納する優先順位構成に基づいて、オ
ブジェクトを事前に取り出し、かつ事前取出しされたオブジェクトを事前取出し
キャッシュに格納することが好ましく、事前取出し値は1つまたは複数のクライ
アントによる事前取出しオブジェクトへの個別または集合参照確率に基づく。特
に、事前取出し値は、事前取出しヒント情報リスト上の事前取出し候補オブジェ
クトが特定のクライアントによってアクセスされる推定アクセス確率、および事
前取出し候補オブジェクトのうちの選択オブジェクトを格納するための必須記憶
容量に基づくオブジェクトのアクセス・コストに基づくことができる。
計算手段と前記計算手段によって計算された事前取出し値を評価するための評価
手段とを含む事前取出しハンドラを含み、前記計算手段は、事前取出しヒント情
報リスト上の各事前取出しオブジェクト識別子の事前取出し値を計算し、前記評
価手段は、複数の候補事前取出しオブジェクトの事前取出し値を評価し、かつ事
前取出しヒント情報リスト上で最も高い事前取出し値に関連付けられる候補事前
取出しオブジェクトのキャッシングを優先させる。事前取出し手段は、前記プロ
キシ・サーバの少なくとも1つにおける第1事前取出しハンドラと、前記クライ
アントの少なくとも1つにおける第2事前取出しハンドラとを含むことができる
(つまり、階層における異なる/複数の場所で事前取出しを行うことができる)
。
ト・オブジェクト要求ハンドラをも含む。このクライアント・オブジェクト要求
ハンドラは、プロキシ・サーバまたはネットワークから要求オブジェクトを要求
する前に、主キャッシュおよび事前取出しキャッシュで要求オブジェクトを探索
する。クライアント・オブジェクト要求ハンドラは、事前取出しオブジェクトが
クライアントによって実際にアクセスされたことを示すサーバまたはサーバへの
事前取出し参照メッセージを生成することによって、オブジェクトが事前取出し
キャッシュ内にあるかどうかをコンテンツ・サーバまたはプロキシ・サーバに通
知する。同様に、前記プロキシ・サーバの少なくとも1つは、要求オブジェクト
が事前取出しキャッシュ内にある場合にキャッシュ・マネージャ・ルーチンを呼
び出した後で、事前取出し参照メッセージを転送するための事前取出し参照メッ
セージ・ハンドラを含むことが好ましい。これにより、たとえ子オブジェクトに
ついて直接交信しなくても、クライアントまたはプロキシ・サーバの事前取出し
キャッシュから得られるので、サーバがアクセス統計の正確な記録を維持できる
ことが確実になる。
出し候補オブジェクトを含むデータ処理システム用のコンテンツ・サーバまたは
プロキシ・サーバであって、 親オブジェクト識別子および関連子オブジェクト識別子を格納する統計テーブ
ルであって、親オブジェクトがクライアントによって参照される頻度を表す親オ
ブジェクトの第1カウントを含み、前記親オブジェクトのうちの選択オブジェク
トが参照された後で関連子オブジェクトが参照される頻度を表す子オブジェクト
の第2カウントを含む前記統計テーブルと、 前記統計テーブルの情報に基づいて事前取出しヒント情報リストを生成するた
めの生成手段と を含むサーバを提供する。
子オブジェクト識別子、および親オブジェクト識別子の入力を受け入れ、生成手
段は、親オブジェクトとそれらの関連子オブジェクトとの間のアクセス関係を評
価するための評価手段を含み、評価手段は、対応する親オブジェクトへのクライ
アントによる参照の前に子オブジェクトがすぐに後で適切な頻度で参照される場
合、事前取出しヒント情報リストに子オブジェクト識別子を配置する。この適切
な頻度は、対応する親アクセスに対する子アクセスの比に基づくことができる。
一般的に、これは前記親オブジェクト識別子の各々について第1カウントに対す
る第2カウントの比を計算し、この比をヒント閾値と比較し、比がヒント閾値を
超える場合には子オブジェクトと関連親オブジェクトとをグループ化または関連
付けることを含む。
更新するための統計更新手段を含むことが好ましく、この統計更新手段は最初に
前記親オブジェクトのうちの参照するオブジェクトのアイデンティティを探索し
、参照するオブジェクトまたは参照側(referrer)オブジェクトは実際に要求さ
れた子オブジェクトより前に参照され、実際に要求された子オブジェクトはそれ
に対応する第2カウントを統計テーブルで更新させる。統計テーブルは、事前取
出し参照メッセージ・ハンドラから事前取出し参照メッセージを受け取ることに
よっても更新されなければならない。
リストを受け取り、かつ更新するための事前取出し更新手段を含むことが好まし
い。事前取出し更新手段は第1カウントを第1局所閾カウントと比較し、第1カ
ウントが第1局所閾カウントを超える子オブジェクト識別子のそれぞれについて
生成手段を呼び出す。第1カウントが第1局所閾カウントを超えない場合には、
事前取出し更新手段は元の事前取出しヒント情報リストを維持する。より洗練さ
れた方法では、事前取出し更新手段は第1カウントを第1および第2局所閾カウ
ントと比較し、(i)第1カウントが第1局所閾カウントを超えなければ、元の
事前取出しヒント情報リストを維持し、(ii)第1カウントが第1局所閾カウ
ントを超えるが第2局所閾カウントを超えない場合には、元の事前取出しヒント
情報リストを変更し、(iii)第1カウントが第1および第2局所閾カウント
の両方を超える場合には、元の事前取出しヒント情報リストを交換する。
たはクライアントに要求オブジェクトを返すためのプロキシ・オブジェクト・ハ
ンドラであって、要求オブジェクトが事前取出しオブジェクトでなければ、要求
オブジェクトを返し、かつそれに従って統計テーブルを更新する前記プロキシ・
オブジェクト・ハンドラと、事前取出しキャッシュを管理するための事前取出し
キャッシュ・マネージャとを含むことが好ましい。したがって、プロキシ・オブ
ジェクト・ハンドラは、オブジェクトが事前取出し要求に従って要求された場合
には、要求したクライアントまたはプロキシ・サーバに事前取出しキャッシュか
ら要求オブジェクトを返し、かつそのオブジェクトに事前取出しキャッシュから
削除可能とマークする。要求オブジェクトが主キャッシュまたは事前取出しキャ
ッシュ内に無ければ、プロキシ・オブジェクト・ハンドラはオブジェクト要求を
別のサーバに送る。要求オブジェクトが事前取出し要求に関連付けられない場合
、および要求オブジェクトが事前取出しキャッシュまたは主キャッシュ内にある
場合には、プロキシ・オブジェクト・ハンドラはそれに従って統計テーブルを更
新する。
シ・サーバに関連付けられたクライアントが選択オブジェクトを容易に利用でき
るようにするために、コンテンツ・サーバから選択オブジェクトを事前に取り出
すための方法であって、 a)前記プロキシ・サーバの少なくとも1つから要求オブジェクトを要求するス
テップと、 b)クライアントによる要求オブジェクトの過去の検索またはアクセスに基づい
て、対応するクライアントのデータ参照パターンを識別するステップと、 c)データ参照パターンから事前取出しヒント情報リストへの事前取出しヒント
情報を作成するステップと、 d)要求オブジェクトに事前取出しヒント情報を注釈として付けるステップと、
e)事前取出しヒント情報および現在要求されているオブジェクトに基づいて、
前記サーバの少なくとも1つから選択オブジェクトを事前に取り出すステップと
を含む方法を提供する。
、事前取出しヒント情報を確立するステップはさらに、前記プロキシ・サーバの
階層内の送信ノードに事前取出しヒント情報を確立することを含み、事前取出し
候補オブジェクトは前記プロキシ・サーバの階層を介して受け渡され、階層内の
受信ノードで事前に取り出すための選択情報は事前取出しヒント情報に基づく。
プロキシ・サーバ階層は、他のプロキシ・サーバよりクライアントにより密接に
関連付けられる、より下位のサーバを含む。1つの好適な実施形態では、要求オ
ブジェクトへの局所的参照が存在する場合、および局所レベル・サーバのカウン
トが最小閾カウントを超える場合、事前取出しヒント情報はプロキシ・サーバ階
層を介して更新される。別法として(または追加して)、階層のより上位のキャ
ッシング状態を分析することによって、事前取出しヒント情報を更新することが
できる。階層の最上位はネットワークに最も近接して関連付けられる。
データの流れを強化するための処理システムにおいて、 ネットワークに関連付けられたプロキシ・サーバと、 ネットワークに関連付けられたコンテンツ・サーバと、 前記プロキシ・サーバの1つまたは複数と通信するように構成されたクライア
ントと、 前記プロキシ・サーバの少なくとも1つに格納される統計テーブルであって、
親オブジェクト識別子と関連子オブジェクト識別子を格納し、親オブジェクトが
クライアントによって参照される頻度を表す親オブジェクトの第1カウントを含
み、前記親オブジェクトのうちの選択オブジェクトが参照された後で対応する子
オブジェクトが参照される頻度を表す子オブジェクトの第2カウントを含む前記
統計テーブルと、 事前取出しヒント情報リストを導出するために、第1カウントおよび対応する
第2カウントの入力を受け入れることによって事前取出しヒント情報リストを生
成するための生成手段であって、 前記親オブジェクト識別子のそれぞれについて、第1カウントに対する第2カ
ウントの比を計算するための計算手段と、 比をヒント閾値と比較するための比較手段であって、比がヒント閾値を超える
場合には子オブジェクトと関連親オブジェクトを事前取出しヒント情報リスト上
でグループ化または関連付ける比較手段と、 事前取出しヒント情報およびクライアントによって実際に要求された親オブジ
ェクトに基づいて子オブジェクトを事前に取り出すための事前取出し手段と を含む前記生成手段と を含む処理システムを提供する。
モリ、およびデータを格納するための第1記憶手段を有し、第1メモリは第1主
キャッシュと第1事前取出しキャッシュとの間に少なくとも論理的分離を有し、
コンテンツ・サーバは第2プロセッサ、第2メモリ、およびデータを格納するた
めの第2記憶手段を有し、クライアントの少なくとも1つは第3プロセッサ、第
3メモリ、およびデータを格納するための第3記憶手段を有し、第3メモリは第
2主キャッシュと第2事前取出しキャッシュとの間に少なくとも論理的分離を有
し、事前取出し処理手段は第1事前取出しキャッシュまたは第2事前取出しキャ
ッシュに子オブジェクトを格納する。
手段と、計算手段によって計算された事前取出し値を評価するための評価手段と
を含み、前記計算手段は事前取出しヒント情報リスト上の各子オブジェクト識別
子の事前取出し値を計算し、かつ事前取出しヒント情報リスト上で最も高い事前
取出し値を持つ子オブジェクトのキャッシングを優先化し、事前取出し処理手段
は事前取出しキャッシュの空き空間を管理する。
新手段を含み、事前取出し更新手段は第1カウントを第1局所閾カウントおよび
第2局所閾カウントと比較し、第1局所閾カウントは1つのサーバからの統計に
基づき、第2局所閾カウントは別のサーバからの統計に基づき、前記事前取出し
更新手段は、第1カウントが第1局所閾カウントおよび第2局所閾カウントの両
方を超える子オブジェクト識別子の各々に対し生成手段を呼び出し、事前取出し
更新手段は、第1カウントが第1局所閾カウントを超えない場合には元の事前取
出しヒント情報リストを維持することが好ましい。
であって、事前取出しヒント情報リスト更新ルーチンを呼び出し、下位のプロキ
シ・サーバが要求オブジェクトを要求した場合には下位プロキシ・サーバに要求
オブジェクトを返し、要求オブジェクトが事前取出しオブジェクトでない場合に
は要求オブジェクトを返して統計更新手段を呼び出す前記プロキシ・オブジェク
ト・ハンドラと、 前記プロキシ・サーバの1つの関連付けられた事前取出しキャッシュを管理す
るための事前取出しキャッシュ・マネージャであって、下位サーバが要求オブジ
ェクトを要求しなかった場合にプロキシ・オブジェクト・ハンドラに呼び出され
る前記事前取出しキャッシュ・マネージャと、 前記プロキシ・サーバの1つに格納されるプロキシ・オブジェクト要求ハンド
ラであって、オブジェクトが事前取出しキャッシュ内にある場合、およびオブジ
ェクトが事前取出し要求に従って要求された場合には、前記クライアントのうち
の要求クライアントにオブジェクトを返し、かつそのオブジェクトに事前取出し
キャッシュから削除可能とマークし、要求オブジェクトが主キャッシュまたは事
前取出しキャッシュ内に無い場合には別のサーバにオブジェクト要求を送り、要
求オブジェクトが事前取出し要求に関連付けられない場合、および要求オブジェ
クトが事前取出しキャッシュまたは主キャッシュ内にある場合には、統計更新手
段と連絡するプロキシ・オブジェクト要求ハンドラと をさらに含むことが好ましい。
ラであって、統計更新手段を呼び出し、要求オブジェクトが事前取出しキャッシ
ュ内にある場合にはキャッシュ・マネージャ・ルーチンを呼び出した後で事前取
出し参照メッセージを転送する前記事前取出し参照メッセージ・ハンドラと をさらに含むことが好ましい。
流れを強化するための処理システムであって、 ネットワークに関連付けられたプロキシ・サーバと、 ネットワークに関連付けられたコンテンツ・サーバと、 1つまたは複数の前記プロキシ・サーバと通信するように構成されたクライア
ントと、 コンテンツ・サーバおよび前記プロキシ・サーバの少なくとも1つに格納され
る統計テーブルであって、親オブジェクト識別子および関連子オブジェクト識別
子を格納し、親オブジェクトがクライアントによって参照される頻度を表す親オ
ブジェクトの第1カウントを含み、前記親オブジェクトのうちの選択オブジェク
トが参照された後で対応する子オブジェクトが時間的に接近して参照される頻度
を表す子オブジェクトの第2カウントを含む前記統計テーブルと、 統計テーブルから第1カウント、第2カウント、子オブジェクト識別子、およ
び親オブジェクト識別子の入力を受け入れる生成手段であって、親オブジェクト
とそれらの関連子オブジェクトとの間のアクセス関係を評価する評価手段を含み
、クライアントによる対応する親オブジェクトへの参照の前に子オブジェクトが
前後して連続的に適切な頻度で参照される場合には、前記評価手段が子オブジェ
クト識別子を事前取出しヒント情報リストに配置するようにした前記生成手段と
、 事前取出しヒント情報およびクライアントによって実際に要求された親オブジ
ェクトに基づいて、子オブジェクトを事前に取り出すための事前取出し手段と を含む処理システムを提供する。
上に識別された子オブジェクトに記憶優先順位を割り当てるための割当手段と、
記憶優先順位に従って子オブジェクトのうちの選択オブジェクトを格納するため
の選択的記憶手段とを含む。割当手段は、事前取出しヒント情報リスト上の子オ
ブジェクトが特定のクライアントによってアクセスされる推定アクセス確率およ
び子オブジェクトのうちの選択オブジェクトを格納するための必須記憶容量に基
づく子オブジェクトのアクセス費用に基づいて、記憶優先順位を割り当てること
が好ましい。
トワーク(つまりインターネット)を介してのオブジェクト・アクセス時間を削
減することができる。選択情報をコンテンツ・サーバから事前に取り出して、ネ
ットワークのコンテンツ・サーバに関連付けられたクライアントが選択情報に容
易にアクセスできるようにする。クライアントはネットワークのプロキシ・サー
バに関連付けることが好ましい。クライアントは、プロキシ・サーバの少なくと
も1つから情報を要求する。コンテンツ・サーバは、クライアントによる要求情
報の過去のデータ・アクセス・パターンに基づいて、クライアントの事前取出し
ヒント情報を生成する。コンテンツ・サーバは、要求情報に事前取出しヒント情
報を注釈として付ける。1つまたは複数のプロキシ・サーバは、動的使用統計に
基づいて事前取出しヒント情報を動的に更新することができる。オブジェクトが
プロキシ階層を通過すると、事前取出しヒント情報は、実行された事前取出し動
作、プロキシ階層の上位でのキャッシング状態、および例えば局所的参照パター
ンなどその他の局所的考慮点を反映するように更新される。選択情報は、事前取
出しヒント情報および要求された情報に基づいて、コンテンツ・サーバまたはい
ずれかのプロキシ・サーバから事前に取り出すことができる。参照アクセス確率
および記憶装置上の考慮点に基づいて、事前取出しヒント情報に事前取出し値を
割り当てることができる。事前取出しヒント情報リスト内で最も高い事前取出し
値を持つ選択情報は最初に、かつ潜在的に事前取出しキャッシュがいっぱいにな
るまで、キャッシュに保存される。
、詳細に説明する。
、およびコンテンツ・サーバ20を含むデータ処理システムを示す。
オブジェクト、ページ、要求情報、および選択情報の形式で情報を要求すること
ができる。親オブジェクトが履歴的に処理された後で1つまたは複数の関連子オ
ブジェクトを要求することができるように、親オブジェクトは子オブジェクトに
関連付けられる。要求オブジェクトは親オブジェクトに類似している一方、選択
オブジェクトは子オブジェクトに類似している。要求オブジェクトとは、1つま
たは複数のクライアントによって実際に要求されるオブジェクトである。一方、
選択オブジェクトとは、要求オブジェクトの後で選択オブジェクトを時間的に接
近して要求することができるように、要求オブジェクトとグループ化されるかま
たはそれに関連付けられるオブジェクトである。要求情報は要求オブジェクト、
親オブジェクト、およびクライアントによって要求されるその他の形式のデータ
を含む。選択情報は子オブジェクト、選択オブジェクト、および事前に取り出す
ことができるその他の形式のデータを含む。
ら情報を要求することができる。しかし、プロキシ・サーバ24は通常、ネット
ワーク25およびコンテンツ・サーバ20に対するクライアント22の仲介者と
して作動する。プロキシ・サーバ24は、プロキシ・サーバ階層が要求情報を含
むかまたは要求されたタスクを完了する能力を持つ場合、コンテンツ・サーバ2
0と接触することなく、クライアント情報要求を満たすことができるので有利で
ある。図1のデータ処理システムは、インターネットに適用することができる。
例えば、コンテンツ・サーバ20はウェブ・サイトを含むことができる一方、ネ
ットワーク25はインターネットを含むことができる。
を示す。論理的接続26は、データ処理システム内におけるオブジェクトおよび
要求の情報の流れを表す。論理的接続26は一般的に、プロキシ・サーバ24間
の物理的接続を表すものではない。論理的接続26は、作業量および/またはノ
ードや通信リンク障害などの物理的事象のために変化することがある。異なる種
類のオブジェクトは、クライアント22に到達するまで異なる論理的伝送経路に
従うことがある。
も使用することができるが、図1の例は、4つのクライアント22および4つの
階層レベルのプロキシ・サーバ24を備えている。実際には、任意のレベル数の
プロキシ・サーバ階層可能であり、クライアント22はプロキシ・サーバ階層の
どのレベルにでも論理的に接続することができる。例えば、プロキシ・サーバ2
4の階層は単一プロキシ・サーバとすることができる。本発明は単一のクライア
ント22および単一のプロキシ・サーバ24だけで実現することもできる。
30と指定される。「レベル0」は、図1の例における別のプロキシ・サーバに
対する1つのプロキシ・サーバの状態を単に定義するだけの任意の符号である。
最上位プロキシ・サーバはネットワーク25に論理的に接続される。上位プロキ
シ・サーバ21は、下位プロキシ・サーバ23より、ネットワーク25に対して
より近くで論理的に関連付けられる。(したがって、レベル0のプロキシ・サー
バをプロキシ階層の最上位とみなすこの用語法では、レベル0はレベル1より「
高く」、レベル1はレベル2より「高く」、以下同様である。)
ベル0のプロキシ・サーバ30に論理的に結合される。レベル1の第1プロキシ
・サーバ35は、レベル2の第1プロキシ・サーバ40および第2プロキシ・サ
ーバ43に接続される。レベル2の第1プロキシ・サーバ40は、レベル3の第
1プロキシ・サーバ50および第2プロキシ・サーバ55に論理的に結合される
。
3クライアント700、および第4クライアント703を含む。第1クライアン
ト600および第2クライアント603は、レベル3の第1プロキシ・サーバ5
0に論理的に連結される。第3クライアント700および第4クライアント70
3は、レベル3の第2プロキシ・サーバ55に論理的に連結される。
第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は、キャッシングを管理
するためにそれ自身のクライアント・プロキシを有することもできる。
シ階層の一部ではない。例えば、レベル3の第2プロキシ・サーバ55、レベル
2の第2プロキシ・サーバ43、およびレベル1の第2プロキシ・サーバ37は
、第2クライアントのプロキシ・サーバ階層の一部ではない。
ト・トップ・ボックスなどを含むことができるが、それらに限定されない。ネッ
トワーク25は、インターネット、ワールド・ワイド・ウェブ、イントラネット
、ローカル・エリア・ネットワーク(LAN)などを含むことができるが、それ
らに限定されない。
なコンピュータを含むことができる。例えば、プロキシ・サーバ24は、IBM
コーポレイションから販売されているインターネット・コネクション・サーバ(
ICS)として実現することができる。同様に、コンテンツ・サーバ20は、ロ
ータス・ゴー・ウェブ・サーバ、ロータス・ドミノ・サーバ、または類似物(同
じくIBMコーポレイションから市販)として実現することができる。プロキシ
・サーバ24またはコンテンツ・サーバ20は、S/390 SYSPLEX、
SP2、またはRS/6000ワークステーション(同じくIBMコーポレイシ
ョンから市販)などの製品をそれらに限定することなく含む任意の計算ノードで
実行することができる。要するに、プロキシ・サーバ24またはコンテンツ・サ
ーバ20は、ワールド・ワイド・ウェブ・ページへのアクセス、リモート・ファ
イル転送、電子メール、および取引サポートをクライアント22に提供できる任
意の汎用コンピュータおよび関連ソフトウェアを含むことができる。
送効率を維持することができる。例えば、要求オブジェクトが下位プロキシ・サ
ーバで局所的に入手できない場合、入手できないオブジェクトの要求は次の上位
プロキシに行われる。この上位プロキシがそのキャッシュ・メモリ内のそのオブ
ジェクトを以前に保存している場合、この上位プロキシは下位プロキシ・サーバ
を介してクライアントへ要求オブジェクトを下げ渡す。そうでなければ、この上
位プロキシ・サーバは次に高い上位プロキシからオブジェクトを獲得しようとす
る。ひとたび要求オブジェクトを獲得すると、それは下位プロキシまたはオブジ
ェクトを要求したクライアントまで下げ渡される。
処理システムはプロキシ・サーバ24、コンテンツ・サーバ20、ネットワーク
25、およびクライアント22を含む。データ処理システムは、事前取出しユニ
ット250、統計テーブル261、統計更新ユニット252、主キャッシュ29
7、および事前取出しキャッシュ298を含むことが好ましい。
ドラ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を含む。
る計算ノードである。プロキシ・サーバ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に示す。
、プロキシ・オブジェクト・ハンドラ284、第1事前取出しハンドラ248、
事前取出し参照メッセージ・ハンドラ285、事前取出し更新手段291、第1
更新統計ルーチン264、第1統計テーブル293、第1主キャッシュ294、
および第1事前取出しキャッシュ296を含む。
ロキシ・オブジェクト・ハンドラ284の動作の詳細は図14に示す。事前取出
し参照メッセージ・ハンドラ285の動作は図13に示す。統計更新ユニット(
つまり第1更新統計ルーチン)の動作の詳細は図6に示す。
、図9に詳細に示す。事前取出し更新ユニット291または事前取出しヒント情
報更新ルーチンの動作は、図15に示す。プロキシ・サーバ論理295は、第1
主キャッシュ294および第1事前取出しキャッシュ296を維持する。
きる計算ノードである。コンテンツ・サーバ20は第2プロセッサ260、第2
メモリ263、および第2記憶装置265を含む。第2メモリ263は、例えば
ランダム・アクセス・メモリ(RAM)を含むことができる。第2記憶装置26
5は、例えば直接アクセス記憶装置(DASD)を含むことができる。第2メモ
リ263は、コンテンツ・サーバ論理268またはコンテンツ・サーバ・ソフト
ウェアを格納する。
細に示す。コンテンツ・サーバ論理268は、第2プロセッサ260によって実
行するために、第2記憶装置265から第2メモリ263へロードされるコンピ
ュータ実行可能コードとして実現される。コンテンツ・サーバ論理268は、第
2統計テーブル267、第2統計テーブル267を更新するための第2更新統計
ユニット269、および事前取出しヒント情報を生成するための生成ユニット2
66を含む。第2統計テーブル267は、クライアントによって要求された情報
に関するデータ、および要求された情報に関連付けられた潜在的事前取出し情報
を格納する。統計テーブル261は、クライアントの実際の参照動作に基づく事
前取出しヒント情報の生成に貢献する。統計テーブル261の詳細は、図4に示
す。
ユニット266は、第2統計テーブル267内の情報および要求情報から事前取
出しヒント情報を生成する。生成ユニット266は、図7に示すように事前取出
しヒント情報(PHI)生成ルーチンとして実現することができる。
記憶装置242を含むことが好ましい。第3メモリ245は、例えばランダム・
アクセス・メモリを含むことができる。第3記憶装置242は、例えば直接アク
セス記憶装置(DASD)を含むことができる。第3メモリ245は、クライア
ント論理244またはクライアント・ソフトウェアを格納する。クライアント論
理244の動作は後で、図8に関連してより詳細に示す。クライアント論理24
4はコンピュータ実行可能コードとして実現され、これは、第3プロセッサ24
0によって実行するために、第3記憶装置242から第3メモリ245へロード
される。
、第2事前取出しハンドラ241、第2主キャッシュ246、および第2事前取
出しキャッシュ249を含む。クライアント・オブジェクト要求ハンドラ247
は、第2主キャッシュ246、第2事前取出しキャッシュ249、プロキシ・サ
ーバ24、またはコンテンツ・サーバ20からクライアントのために要求オブジ
ェクトを獲得する。クライアント・オブジェクト要求ハンドラ247の動作の詳
細は、図10に示す。
ャッシュ249を維持する。第2主キャッシュ246は、頻繁に参照されるオブ
ジェクトを格納するために使用される一方、第2事前取出しキャッシュ249は
、オブジェクトが実際に参照される前にそれらを格納するために使用される。事
前取出しオブジェクトとは、参照オブジェクトに関連して直前または以前にまだ
参照されていないオブジェクトである。好適な実施形態では、主キャッシュ29
7は従来のLRU(最低使用頻度)アルゴリズムによって管理される。その他の
任意の置換戦略を適用して主キャッシュ297を維持することができることも当
業者なら理解されよう。
とができる。主キャッシュ297の実際に参照されたオブジェクトから事前取出
しオブジェクトを論理的に分離することは、事前取出しオブジェクトが記憶空間
を多く取り過ぎるのを防止する。論理的に分離された事前取出しキャッシュと主
キャッシュのこの目的を達成するために、様々な代替方法が利用できる。例えば
単一キャッシュは、事前取出しオブジェクトの数に上限を課し、かつ/または事
前取出しオブジェクトによって占有される空間に上限を課すことができる。主キ
ャッシュ297および事前取出しキャッシュ298は、異なる目標をサポートす
るように意図されている。主キャッシュ297は、繰り返し参照される潜在的可
能性を持った人気のあるオブジェクトを保存することになっている。事前取出し
キャッシュ298は、特定のブラウジング・セッションで次に参照される可能性
が最も高いオブジェクトを事前に取り出すことによって、そのセッションをサポ
ートするために使用されるだけである。好適な実施形態では、階層の下位ノード
が高位ノードの事前取出しキャッシュ内にあるオブジェクトに対する事前取出し
要求を発行すると、そのオブジェクトは下位ノードに下げ渡され、事前取出しの
目的が達成されたので高位ノードの事前取出しキャッシュ298から削除可能と
いう印が付けられる。事前取出しオブジェクトが実際に参照されると、主キャッ
シュ297の管理方針によって、それを主キャッシュ297に移すことができる
。LRU置換方針を使用する好適な実施形態では、一度参照された事前取出しオ
ブジェクトは主キャッシュに移される。
を許可するために、代替基準を考案することができる。エイブラムス他の「キャ
ッシング・プロキシ:限界と潜在的可能性(Cashing Proxies: Limitation and
Potentials)」(第4回国際ワールド・ワイド・ウェブ会議1996年会報)で
、意思決定プロセスにおいてオブジェクトのサイズを考慮に入れる幾つかのキャ
ッシュ置換方針が考察されている。他のキャッシュ置換戦略も当業者には知られ
ている。
トのためにデータを動的に事前に取り出すための方法を示す流れ図である。最初
に、ブロック100で、クライアントはプロキシ・サーバまたはコンテンツ・サ
ーバ20から情報を要求する。第2に、ブロック102で、コンテンツ・サーバ
20およびプロキシ・サーバにおける履歴データ・アクセスまたはデータ参照の
パターンが識別される。実際には、ブロック100およびブロック102を完了
する順序は逆にすることができる。
別されたデータ参照パターンに基づいて、要求情報への関連アクセスに関する事
前取出しヒント情報(PHI)を生成する。第4に、ブロック105で、事前取
出しヒント情報を要求情報に注釈として付けることができる。例えば、事前取出
しヒント情報は、要求情報(つまりオブジェクト)に付加されたメタ・データと
して伝達することができる。事前取出しヒント情報を確立または生成するステッ
プに関して、コンテンツ・サーバ20は多数の並行ユーザまたはクライアントか
ら使用/参照パターンを追跡する。実際には、コンテンツ・サーバ20は、どの
オブジェクト・グループが要求情報または要求オブジェクトに関連付けられるか
を決定する。コンテンツ・サーバ20は事前取出しヒント情報(PHI)を生成
して、要求オブジェクトに提供する。事前取出しステップで、またはその直前に
、プロキシ・サーバは局所的考慮点に照らしてPHIを解釈して、どの選択オブ
ジェクトを事前に取り出すかを決定することができる。
、事前取出しヒント情報が更新される。ブロック106における更新は、実行さ
れる事前取出し動作および上位階層におけるキャッシング状態、ならびに例えば
局所的参照パターンなどその他の局所的考慮点を反映する。プロキシ・サーバは
、オブジェクトを次の(下位)レベルのプロキシまたはクライアント・ステーシ
ョンにオブジェクトを渡す前に、その事前取出し決定および様々な局所的考慮点
を反映するようにPHIを変更することができる。オブジェクトがプロキシ階層
内を通過すると、送信ノードは初期PHIを設定する一方、受信ノードは初期P
HIから最終PHIを導出することができる。最終PHIは、要求されたオブジ
ェクトに基づいてどの選択オブジェクトを事前に取り出すかを決定する。事前取
出し動作および決定は送信側で起動ではなく、受信側で起動される。
、選択情報が事前取出しされる。プロキシ・サーバまたはクライアントは、受信
したオブジェクト内のPHI情報、局所的に維持される参照情報(利用可能な場
合)、および例えば空き記憶容量やアクセス時間などその他の局所的考慮点に基
づいて、PHIに指定されたオブジェクトのサブセットを事前に取り出すかどう
かを決定する。
またはPICS互換性フォーマットを使用することが好ましい(下記参照)。ブ
ロック104で生成されたPHIは、キャッシュに保存されたオブジェクトが要
求されたときに、そのオブジェクトのPHI情報を調べて適切な事前取出し動作
を起動することができるように、各々のキャッシュされるオブジェクトと一緒に
そのメタ・データの一部として格納される。PHI情報は、PICSプロトコル
により提供することができる。PICSプロトコルは、各PHIオブジェクトの
重大性および例えばサイズなどのその特性、ならびに高い階層のキャッシング状
態に関する情報を提供する。
きる。プロキシ・サーバは局所情報を収集し、事前取出し決定をプロキシ階層の
下方に配付または分散することができる。さらに、どの中間プロキシがオブジェ
クトを事前に取り出したかの情報は、記憶場所および帯域幅に使用を最適化する
ために、下位プロキシおよびクライアント・ステーションの事前取出し決定に対
し暗黙の意味を含むことがある。
の事前取出し決定を提供する。事前取出し決定は、各プロキシおよびクライアン
トによって協力して行われる。メタ情報の形式の事前取出しヒント情報は、要求
オブジェクトの注釈になる(つまり付加される)。事前取出しヒント情報は、潜
在的事前取出し候補に関する情報を提供する。中間プロキシ・サーバは、局所的
状態に基づいてメタ情報または事前取出しヒント情報を変更することがあり、後
でオブジェクトを参照したときに事前取出しをトリガすることができるように、
オブジェクトがキャッシュに保存されるときにそれと共にメタ情報を格納する。
61は一般的に、第1統計テーブル293または第2統計テーブル267のいず
れかを指すものとする。1つまたは複数のプロキシ・サーバ24が第1統計テー
ブル293を維持する。コンテンツ・サーバ20は第2統計テーブル267を維
持する。第1統計テーブル293および第2統計テーブル267のフォーマット
は、プロキシ・サーバ階層内の様々なプロキシ・サーバにおける統計テーブル2
61の更新を促進するために、実質的に類似または同一であることが好ましい。
統計テーブル261は、統計テーブル261が関連付けられたプロキシ・サーバ
またはコンテンツ・サーバ20の観点から、実際のビューア参照動作に基づいて
事前取出しヒント情報(PHI)を提供するのに役立つ。統計テーブル261は
、プロキシ・サーバ階層内でそれより下の全部の到達可能なクライアントの参照
を観察することができる。
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)
を提供するのに充分な参照統計を得ることはできないかもしれない。
ると、サーバ20は、その第2統計テーブル267内の情報に基づいて、初期事
前取出しヒント情報PHIを提供する。オブジェクトOへの充分な局所的参照が
あれば、オブジェクトOがプロキシ階層の下方に渡されるときに、プロキシ・サ
ーバ24はクライアント22までの経路に沿ってオブジェクト・ヘッダ内の事前
取出しヒント情報(PHI)を変更し、PHIを第1統計テーブル293の局所
的情報に適応させることができる。第1統計テーブル293は、下位プロキシ・
サーバによる特定のクライアントのよく指標付けされた関心または好みなどの要
素に基づいて、第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を含む幾つかのフィール
ドで構成される。
ば親オブジェクト識別子301は、インターネットまたは関連適用分野用のオブ
ジェクトのURLを含む。第1カウント・フィールド302には、サーバによっ
て観察された、親オブジェクト識別子に関連付けられた親オブジェクトが参照さ
れた回数が入る。つまり、第1カウント・フィールド302には、要求オブジェ
クトの実際の要求の頻度が入る。第1カウント302は親オブジェクトアクセス
頻度を表す。アクセス・リスト・データ・ポインタ303には、アクセス・リス
ト370へのデータ・ポインタが入る。
セス・レコード340、第2アクセス・レコード350、第3アクセス・レコー
ド360、および第4アクセス・レコード380を含む。図示するように、第1
データ構造304に関連付けられた親オブジェクト識別子は、第1アクセス・レ
コード340、第2アクセス・レコード350、および第3アクセス・レコード
360の連結リストから成るアクセス・リスト370を持つ。次レコード・デー
タ・ポインタ・フィールド313には、特定の親識別子301に関連付けられた
アクセス・リスト370上の次のアクセス・レコードへのポインタが入る。第2
データ構造306に関連付けられた親オブジェクト識別子301は、第4アクセ
ス・レコード380を含むだけである。
310、第2カウント(Rカウント)312、および次レコード・データ・ポイ
ンタ(NXT)313を含む幾つかのフィールドで構成される。データ構造は、
一般的データ構造、レコード、または配列のフォーマットとすることができる。
図4に示すように、データ構造は、アクセス・リスト370内の連結リストを形
成するレコードである。
数の代替2次配列に関連する1次配列を含むことができる。1次配列は親オブジ
ェクトに関連する情報を含み、2次配列は、対応する親オブジェクトの子オブジ
ェクトに関する情報を含む。
子(URL)を含む。親オブジェクト識別子301は、アクセス・リスト上の1
つまたは複数の子オブジェクト識別子310に関連する。子オブジェクト識別子
310は、子の親オブジェクトが実際に参照された場合、潜在的な事前取出し候
補を識別する。第2カウント312は、子オブジェクトがその親オブジェクトを
通して参照される回数を含む。言い換えると、第2カウントとは、関連付けられ
た親オブジェクトの事前の参照の後に、時間的に接近して子オブジェクトが参照
される頻度である。第2カウント312は子オブジェクト・アクセス頻度を表す
。
実際の参照動作の観察に基づいて動的に獲得することができる。例えば、HTM
Lでは、ウェブ・ページは他のウェブ・ページへのHTTPリンクを持つことが
できる。HTTPリンクによって指示されるウェブ・ページは、HTTPリンク
を含む(親)ウェブ・ページの潜在的子オブジェクトである。親オブジェクトが
表示されているときに、親オブジェクトに含まれる参照(HTTP)リンクをク
リックすると、対応する子オブジェクトが参照される。子オブジェクトへの参照
リンクは複数の他のオブジェクトに含まれることがあるので、子オブジェクトは
2つ以上の親を持つことができる。HTTPプロトコルでは、子オブジェクトへ
の要求は、そのヘッダに参照側情報として親のURLを含む。したがってサーバ
は、その後の子参照をその親に動的に関連付けることができる(子のヘッダ内の
参照側情報により)。クライアントが1つの子オブジェクトを頻繁にクリックま
たは選択する場合、その子オブジェクトは事前取出し候補または選択情報となる
ことができる。
またはマイニングを定期的に行って、統計テーブル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アルゴ
リズムは、直接的には一緒に参照されない関連参照を発見することができる詳細
型のマイニングである。それはまた、任意のオブジェクトまでの探査経路に基づ
いて、次の組の参照オブジェクトについて優れた予測を行うこともできる。
1用のデータ・アクセス・パターンを識別することができる。例えば、他のデー
タ・マイニング・アルゴリズムとして分類とクラスタ化があり、これもウェブ・
ログ分析に適用して参照パターンを得ることができる。さらに、PHIも、コン
テンツ・サーバがオブジェクト関係のその知識に基づいて供給することができる
。例えば、PHIは、要求されたソフトウェア・ダウンロードのためのパッチと
アップグレード、要求されたJAVAアプレットのJavaクラス、および要求
オブジェクト内に含まれるオブジェクト(GIFなど)を含むことができるが、
これらに限定されない。
よるオブジェクトの実際の参照は、オブジェクトへの事前取出し要求から区別さ
れる。統計テーブル261内の第1カウント302および第2カウント310は
、事前取出しではなく、実際の参照を反映する。すなわち、事前取出し動作の結
果、第1統計テーブル293または第2統計テーブル267が更新されることは
なく、実際のオブジェクト参照によってのみ更新される。
要求オブジェクトに注釈を付けるために様々なデータ構造を使用することができ
る。例えば、事前取出しヒント情報は、付加されたメタ・データを用いて要求者
とサーバ・ノードとの間でやり取りすることができる。HTTPの実現では、情
報交換は、既存のウェブ・プロトコルを用いてオブジェクト・ヘッダ内のメタ・
データとして含めることができる。PICS(「インターネット・コンテンツ選
択のためのプラットフォーム(Platform for Internet Content Selection)」 )は、電子内容に関するメタ情報を送信する方法を指定する。PICSは、(a
)要求情報の注釈付け、(b)事前取出し選択情報、事前取出し候補、または子
オブジェクト、および(c)情報が事前取出しされた後の事前取出し動作の確認
に適用することができる。
勧告として知られている。PICSは最初、「この内容にはどの程度のヌードの
露出度が関連付けられるか」など、価値に基づく格付けラベルを送信するために
使用されたが、メタ情報のフォーマットおよび意味は完全に普遍的である。PI
CSでは、電子的内容に関するメタ情報は、「格付けサービス」または情報の生
成者と使用目的に従ってグループ化され、そうした1つのグループ内で、任意の
数のカテゴリまたは規模の情報を伝送することができる。各カテゴリは許可され
た値の範囲を持ち、内容の特定の部分に対し、特定のカテゴリは単一の値または
複数の値を持つことができる。さらに、メタ情報グループ(「PICSラベル」
として知られる)は、期限情報を含むことができる。また、PICSラベルを電
子内容の2つ以上の部分に適用できるようにするための機能もある。電子内容の
特定部分の各PICSラベルは独立に、内容に付加したり、あるいは内容から除
去することができる。
ルを含むことを「格付けサービス」フィールドで指摘するPICSラベル付きの
画像ファイルが、サーバから送信されることがある。本発明の好適な実施形態に
よると、それが企業プロキシを通過するときに、その画像ファイルは、「格付け
サービス」の局所的考慮を反映するためにPICSラベルに新しい更新カテゴリ
値を付けることができる。したがって、クライアント・コンピュータはPICS
ラベルの新しいカテゴリ値だけを表示する。HTTPプロトコルは、その要求ヘ
ッダおよび応答ヘッダがPICSをサポートするように増強された。NNTPな
ど、他の一般的アプリケーション・プロトコルを定義する技術団体も今、PIC
Sサポートの追加を検討している。これらのプロトコルの一部として、希望する
PICSラベルの種類のリストを要求に含めることができる。PICSはまた、
中央ラベル事務局サーバのPICS情報を要求するための問い合わせフォーマッ
トを規定している。
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」を認識するソフトウェアだけが、これらのカテゴリ および値を解釈する方法を知っている。
(つまりPラベル)と呼ばれる最初の種類のPICSラベルは、サーバ・ノード
がPHIを提供するために使用する。要求ラベル(つまりRラベル)と呼ばれる
2番目の種類のPICSラベルは、事前取出し候補オブジェクトを要求するため
に使用される。参照ラベル(つまりXラベル)と呼ばれる3番目の種類のPIC
Sラベルは、どの事前取出しオブジェクトが実際に参照されるかに基づいて、事
前取出しの実効性に関するフィードバックを提供するために使用される。
よびキャッシング・カテゴリをはじめ、以下のカテゴリの任意の組合せを含むこ
とができるが、これらに限定されない。識別子カテゴリ(つまりIDカテゴリ)
は、事前取出し候補のURLを伝達する値を持つ。確率カテゴリ(つまりPRO
Bカテゴリ)は、事前取出しの有用性の推定を伝達する値を持つ。好適な実施形
態では、参照確率の推定が使用される。参照確率は、事前取出し候補が参照され
る確率を示す。サイズ・カテゴリは、事前取出し候補の大きさまたはメモリ要件
を伝達する値を持つ。キャッシング・カテゴリは、その第1主キャッシュ294
またはその第1事前取出しキャッシュ296のいずれかに事前取出し候補オブジ
ェクトのコピーを有する上位のプロキシ・サーバ上の情報を伝達する値を持つ。
好適な実施形態では、最も近い上位プロキシだけが識別される。
ゴリを含むことができるが、それらに限定されない。識別子カテゴリの値は、事
前取出しすべきオブジェクトのURLを伝達する。好適な実施形態では、(プロ
キシまたはクライアント)ノードが示唆された事前取出し候補オブジェクトを事
前に取り出すことを希望する場合、事前取出しされるオブジェクトのURLを伝
達するために、HTTPヘッド要求が、要求ラベルを用いてプロキシ階層を通し
てコンテンツ・サーバ20に送り返される。プロキシ・サーバ24は下位階層ノ
ードから事前取出し要求を受信すると、オブジェクトがその主または事前取出し
キャッシュにある場合にはその要求を処理する。そうでない場合には、事前取出
し要求を次の上位プロキシに転送する。
よび参照側識別子カテゴリ(参照側IDカテゴリ)をはじめとする以下のカテゴ
リを含むことができるが、それらに限定されない。オブジェクト識別子カテゴリ
は、参照された事前取出しオブジェクトのURLを伝達する値を有する。参照側
識別カテゴリは、オブジェクト識別子カテゴリ値によって指定されたオブジェク
トをそのPHIに含むオブジェクトのURLを伝達する値を持つ。
参照された事前取出しオブジェクトおよびその参照側オブジェクトのURLを伝
達するために、参照ラベルを使用して、プロキシ階層を通してコンテンツ・サー
バ20にHTTPヘッド要求が送り返される。この型のHTTPヘッド要求を以
下では、事前取出し参照メッセージと呼ぶ。プロキシ・サーバ24は下位階層ノ
ードから事前取出し参照メッセージを受信すると、その第1統計テーブル293
を更新し、要求を次の上位プロキシ・サーバに転送する。
論理268の例を示す。第2統計テーブル267の更新は、クライアント22か
らのオブジェクト要求によってトリガされる。コンテンツ・サーバ20は、クラ
イアント22に要求オブジェクトを送信する前に、オブジェクトのオブジェクト
・ヘッダに注釈として付加するためまたは挿入するために、事前取出しヒント情
報を生成することが好ましい。
ロック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で、適切な雑ハンドラを呼び
出すことができる。
に更新するかを示す。統計更新ユニット252は、第1統計テーブル293を更
新するための第1更新統計ルーチン264、または第2統計テーブル267を更
新するための第2更新統計ルーチン269、または第1更新統計ルーチン264
および第2更新統計ルーチン269の両方を参照する。統計テーブル261は、
第1統計テーブル293または第2統計テーブル267のいずれか、または第1
統計テーブル293および第2統計テーブル267の両方を参照する。統計更新
ユニット252は最初に、参照側オブジェクトで情報を探索する。次いで、要求
オブジェクトは参照側オブジェクトのアクセス・リストまたは事前取出しリスト
に載せられる。
ることによって、オブジェクト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に初期化される。
めの生成ユニット266の例を示す。第2カウント対第1カウントの比がヒント
閾値を超える場合、事前取出しヒント情報リストは、子オブジェクトの子オブジ
ェクト識別子を含む。事前取出しヒント情報リストは、洗練または濾過されたア
クセス・リストを表す。つまり、生成ユニット266は統計テーブル261から
の入力を受け入れ、この入力を濾過して事前取出しヒント情報リストを得る。
ト情報情報(PHI)生成ルーチン266を表し、これは参照ブロック610で
始まる。参照ブロック610で、親オブジェクト(オブジェクトO)のアクセス
・リストが検査され、それが空であるか否か(つまりAリスト(O)が空かどう
か)が調べられる。アクセス・リストが空でない場合、参照ブロック620で、
Cjを親オブジェクト(オブジェクトO)のアクセス・リストで識別される次の
子オブジェクト(子オブジェクト識別子)とする。
値(例えば0.75)であるヒント閾値(TH)と比較される。好適な実施形態
では、Cjの参照確率は、第2カウント対第1カウントの比(Rカウント(cj
)/Tカウント(0))と定義される。この比は、親オブジェクト(オブジェク
トO)が参照された後で子オブジェクト(オブジェクトCj)が参照される確率
の推定である。判断ブロック630で、Cjの参照確率がヒント閾値(TH)よ
り大きい場合には、参照ブロック640で、子オブジェクト識別子(Cj)がP
HIリストに含まれる。言い換えると、比がヒント閾値を超える場合、子オブジ
ェクト識別子および関連情報が事前取出しヒント情報リストに載せられる。
・サブルーチンまたはソフトウェア構成要素を要求することができる。特に、事
前取出しヒント情報を事前取出しヒント情報リスト内に生成するための生成ユニ
ット266は、参照確率を計算するための計算手段と、参照確率をヒント閾値と
比較するための比較手段とを含むことができる。
に格納され、そこで子オブジェクト(Cj)のURLは識別子カテゴリ(IDカ
テゴリ値)として受け取られ、その参照確率およびサイズはそれぞれ確率カテゴ
リ(PROB)およびサイズ・カテゴリ値として受け取られる。判断ブロック6
45で、オブジェクトOのアクセス・リストがまだ完全に走査されていない場合
、参照ブロック620が再実行される。
使用することができる。例えば、過去の区間における参照確率の移動平均を基準
として使用することができる。さらに、事前取出し候補の選択手順を再帰的にす
ることができる。子オブジェクト(オブジェクトCj)を親オブジェクト(オブ
ジェクトO)の事前取出し候補として選択する場合、子オブジェクト(オブジェ
クトCj)のアクセス・リスト上の任意の子オブジェクトを評価して、まだ含ま
れていない場合には、親オブジェクト(オブジェクトO)の事前取出しリストに
含めるかどうかを決定することができる。判断ブロック630で、比較ユニット
または評価ユニットは今、Rカウント(Cj)/Tカウント(0)とRカウント
(Cj1)/Tカウント(Cj)の積がヒント閾値(TH)より大きいかどうか
を試験することができる。
ェクトが要求されると、クライアント・オブジェクト要求ハンドラが呼び出され
ることを示す。そうでなければ、事前取出しハンドラ241は、要求されていな
いオブジェクトを処理することができるが、クライアント22の第2事前取出し
キャッシュ249に格納する必要がある。
0で、受信した入力がオブジェクトである場合、参照ブロック730で第2事前
取出しハンドラ241が呼び出される。ブロック740で、クライアント22に
おける要求アプリケーションにオブジェクトを返すために、クライアント・オブ
ジェクト・ハンドラが呼び出される。判断ブロック750で、受信した入力がオ
ブジェクト要求である場合、参照ブロック760でクライアント・オブジェクト
要求ハンドラ247が呼び出される。本発明の焦点ではない他の種類の入力(例
えばプッシュ要求など)の場合、参照ブロック770で適切な雑ハンドラを呼び
出すことができる。
、または第1事前取出しハンドラ248および第2事前取出しハンドラ241の
両方を含む、事前取出しユニット250の動作の例を示す。要約すると、事前取
出しユニット250は、図7の生成ユニット266によって生成された事前取出
しリストを入力として使用して、事前取出しヒント情報リスト上の参照された子
オブジェクトが、事前取出しキャッシュ298の1つにおける格納を保証するか
どうかを判断する。事前取出しユニット250は、事前取出しヒント情報リスト
上の各事前取出しオブジェクト候補または子オブジェクト識別子の事前取出し値
を計算する。事前取出し値は、子オブジェクトのアクセス確率および子オブジェ
クトを格納するアクセス費用を考慮する。最も高い閾値を持つ子オブジェクトを
先頭に、事前取出しキャッシュ298の1つの空き空間が満たされるまで、全て
の子オブジェクトが格納される。
する。事前取出し候補オブジェクトは、事前取出しヒント情報リスト上の子オブ
ジェクト識別子により表現することができる。ローカル・キャッシュ(つまり事
前取出しキャッシュまたは主キャッシュ)に現れる事前取出し候補は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に関連するステップが
再実行される。
回の要求で複数のオブジェクトを一緒に事前に取り出すことができる。参照ブロ
ック850で、Ojを事前取出しリストに載せることができる。ブロック870
でLが空であるならば、次いで事前取出し要求が事前取出しリスト全体と共に発
行される。さらに、事前取出しキャッシュに充分な記憶空間が無い場合でも、保
留中の事前取出しリストを維持することができるので、記憶場所が利用できるよ
うになったときに、追加事前取出しを開始することができる。
めに、事前取出し中に通信セッションを開いたままにしておくことができる。事
前取出しごとにセッションを再確立する必要はない。
。要約すると、クライアント・オブジェクト要求ハンドラ247は最初に第2主
キャッシュ246を探索し、次に第2事前取出しキャッシュ249を探索する。
オブジェクトが第2主キャッシュ246にも第2事前取出しキャッシュ249に
も無い場合には、オブジェクト要求はサーバに送られる。オブジェクトが第2事
前取出しキャッシュ249にある場合、事前取出しオブジェクトが実際に参照さ
れたことを示すために、事前取出し参照メッセージがサーバの1つに送られる。
次いで、第2事前取出しハンドラ241およびクライアント・オブジェクト・ハ
ンドラが使用される。
で見つかると、参照ブロック925で第2事前取出しハンドラ241が呼び出さ
れ、オブジェクトOに関連付けられたPHIに基づいて適切な事前取出し動作が
開始される。参照ブロック930でクライアント・オブジェクト・ハンドラが呼
び出されて、要求されたオブジェクトをクライアントにおける要求したアプリケ
ーションに返す。判断ブロック910で要求オブジェクトOが第2事前取出しキ
ャッシュ249で見つかると、事前取出しオブジェクトの実際の参照を取り込む
ようにその第2統計テーブル267を更新することができるように、ブロック9
20で事前取出し参照メッセージがコンテンツ・サーバ20に送られる。実際に
は、事前取出し参照メッセージはプロキシ階層を通してコンテンツ・サーバ20
まで伝搬するので、各中間プロキシの第2統計テーブルもまた更新される。ブロ
ック910でオブジェクトが第2事前取出しキャッシュ249に無い場合、参照
ブロック915で、オブジェクト要求はプロキシ階層を通してコンテンツ・サー
バ20に送られる。
参照リストを維持することができ、事前取出し参照リスト上の全てのオブジェク
トの参照を確認するために、複合事前取出し参照メッセージは定期的に上位サー
バに送られる。
は、この入力がオブジェクト要求か、オブジェクト転送か、それとも事前取出し
参照メッセージであるかによって格納される。入力によって、3種類のハンドラ
またはソフトウェア・ルーチン、すなわちプロキシ・オブジェクト要求ハンドラ
283、プロキシ・オブジェクト・ハンドラ284、および事前取出し参照メッ
セージ・ハンドラ285が利用可能である。
ロック1010で、受け取った入力がオブジェクトOに対するオブジェクト要求
である場合、ブロック1015でプロキシ・サーバ24はそのオブジェクトOに
関して保留中の要求がすでに存在するかどうかを検査する。保留中の要求は、こ
のプロキシ・サーバ24によって送り出されたそのオブジェクトOの事前取出し
要求、またはプロキシ・サーバ階層で下位にある別のプロキシ・サーバから起こ
されたオブジェクトOへの以前の要求によるものとすることができる。参照ブロ
ック1015でオブジェクトOに保留中の要求が無い場合、ブロック1020で
プロキシ・オブジェクト要求ハンドラ283が呼び出される。判断ブロック10
25で、受け取った入力が(上位プロキシからの)オブジェクトである場合、参
照ブロック1030でプロキシ・オブジェクト・ハンドラ284が呼び出される
。そうでない場合、ブロック1040で受け取った入力が事前取出し参照メッセ
ージであれば、ブロック1045で事前取出し参照メッセージ・ハンドラ285
が呼び出される。本発明の焦点ではない(FTP要求など)他の種類の入力の場
合、ブロック1060で適切な雑ハンドラを呼び出すことができる。
約すると、オブジェクトが事前取出しキャッシュにある場合、オブジェクトは、
要求したクライアントまたは要求したプロキシ・サーバに返されるか送られる。
その後、要求オブジェクトが事前取出し要求であった場合、要求オブジェクトは
プロキシ・サーバ24の第1事前取出しキャッシュ296から削除可能とマーク
される。要求オブジェクトに事前取出し要求が提供されなかった場合、事前取出
し参照メッセージがコンテンツ・サーバ20に送られる。しかし、事前取出し参
照メッセージが送られるのは、要求オブジェクトが第1事前取出しキャッシュ2
96から送られるときだけである。要求オブジェクトが第1事前取出しキャッシ
ュ296にも第1主キャッシュ294にも無い場合、オブジェクト要求は別のプ
ロキシ・サーバ24またはコンテンツ・サーバ20に送られる。第1主キャッシ
ュ294内で見つかった要求オブジェクトは、要求したクライアントまたはプロ
キシ・サーバ24に返されるか送られ、要求が事前取出し要求でなかった場合は
、第1統計テーブル293が更新される。
内で見つかると、ブロック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は要求
したノードに返される。
前取出し参照メッセージ・ハンドラ285は最初に、オブジェクトが第1事前取
出しキャッシュ296にあるか否かを調べる。オブジェクトが第1事前取出しキ
ャッシュ296にある場合、事前取出し参照メッセージを転送する前にキャッシ
ュ・マネージャ・ルーチンが呼び出される。オブジェクトが第1事前取出しキャ
ッシュ296に無い場合、事前取出し参照メッセージが転送される。
取出しオブジェクト(O)の実際の参照を取り込むように局所第1統計テーブル
293が更新される。判断ブロック1210で、オブジェクトOが第1事前取出
しキャッシュ296にある場合、参照ブロック1215でキャッシュ・マネージ
ャが呼び出され、オブジェクトは実際に参照されたので、オブジェクトOは第1
事前取出しキャッシュ296から第1主キャッシュ294に移動される。ブロッ
ク1220で、事前取出し参照メッセージは次の上位プロキシに転送される。
キシ・オブジェクト・ハンドラ284は最初に、事前取出し更新ユニット291
または事前取出しヒント情報更新ルーチンを例外なく一律に呼び出す。事前取出
しオブジェクトが下位サーバによって要求されたか否かによって、事前取出しオ
ブジェクト要求は異なる方法で処理される。事前取出しオブジェクトが下位サー
バによって要求された場合、オブジェクトはその下位サーバに返される。そうで
ない場合、事前取出しキャッシュ・マネージャが呼び出される。事前取出しオブ
ジェクトが要求されない場合、オブジェクトは要求したプロキシ・サーバ24ま
たはクライアントに返され、第1更新統計ルーチン264が呼び出される。
PHI更新ルーチンまたは事前取出し更新手段291が呼び出される。参照ブロ
ック1310で受け取ったオブジェクトが事前取出しオブジェクトでない場合、
ステップ1315で第1事前取出しハンドラ248が呼び出される。参照ブロッ
ク1320で、オブジェクトは要求したノード(下位階層)に返される。PIC
Sプロトコルを使用する好適な実施形態では、対応する事前取出し候補(識別子
カテゴリ値によって指定される)がこのプロキシ・サーバ24によって事前取出
しされる場合、Pラベル内のキャッシング・カテゴリ値が更新される。ブロック
1325で、オブジェクトを主キャッシュに格納するために、キャッシュ・マネ
ージャが呼び出される。参照ブロック1355で、更新統計ルーチンが呼び出さ
れる。ブロック1330で、受け取った事前取出しオブジェクトが階層内の下位
ノードによって要求される場合、参照ブロック1350でオブジェクトは要求者
に返される。そうでない場合、それは現在のノードによって要求され、参照ブロ
ック1340で事前取出しキャッシュ・マネージャが呼び出され、オブジェクト
のための空間を作るために必要な置換を行うことによって、事前取出しキャッシ
ュにオブジェクトが格納される。
PHI更新ルーチンは、要求オブジェクトの局所カウントを閾カウントと比較す
る。要求オブジェクトが第1最小閾値を超える場合、それらは第2最小閾値試験
を受ける。閾値は、試験結果に基づいて設定することができる。局所カウントが
第1最小閾値未満である場合、元の事前取出しヒント情報リストが維持される。
局所カウントが第1閾値より大きいが、第2閾値より大きくはない場合、事前取
出しヒント情報リストは変更される。
ェクト(O)の局所カウント(Tカウント)が第1最小閾値(CTM)より大き
い場合、オブジェクトOのヘッダにおける元のPHIは維持される。これは単に
、プロキシ・サーバ24の下位階層に、更新動作を保証するための充分なオブジ
ェクトの参照が無いという事実による。判断ブロック1415で、局所統計テー
ブル261内のオブジェクト(O)の局所カウント(Tカウント)が第2最小閾
値(TCH)より大きい場合、オブジェクト・ヘッダ内の元のPHIは無視され
、ブロック1420で、局所第1統計テーブル293に基づいてPHIを生成す
るために、PHI生成ルーチンが呼び出される。これは、プロキシ・サーバ24
の階層の下位に、局所動作に基づいてPHIを生成するための充分なオブジェク
トへの参照があるからである。そうでない場合、参照ブロック1425でPHI
変更ルーチンが呼び出され、PHIリスト内の各オブジェクトについて参照確率
の局所推定値およびヘッダ内のそれ(上位階層によって設定される)の平均を取
ることによって、確率カテゴリ値が変更される。
パターンを追跡する場合でも、事前取出しスキームは機能する。非追跡プロキシ
・サーバは単に、上位プロキシ・サーバまたはコンテンツ・サーバ20から下に
渡されるPHI内の確率(つまりPROB)カテゴリ値を受け入れるだけである
。
ない従来のプロキシ・サーバである不均質なプロキシ・サーバ環境でも、事前取
出しスキームは機能する。これらの従来のプロキシ・サーバは、オブジェクト・
ヘッダを解釈して事前取出し動作を開始することもなく、第1統計テーブル29
3も維持しない。従来のプロキシ・サーバは、オブジェクトと共にメタ・データ
(例えばヘッダ内のPICSラベル)を次のレベルのプロキシ・サーバに渡すか
、またはそれがオブジェクトを局所的にキャッシュに保存することを決定した場
合、オブジェクトと共にメタ・データを格納するだけである。
イアント・サーバ環境に適用することができる。オブジェクト・センダ・ノード
は参照パターンを追跡し、PHIを導出し、それをオブジェクト・ヘッダに含め
ることができる。さらに、オブジェクト・レシーバ・ノードは、そのキャッシュ
内にオブジェクトと共にPHIを格納することができる。オブジェクトを参照し
た後、格納されたPHIおよび前述のようにキャッシュ・サイズおよびアクセス
費用などの局所的要素に基づいて、事前取出し動作を開始することができる。
しの追加機会がもたらされる。より多くの記憶場所が利用可能になり、追加参照
が発生し、あるいは事前取出しオブジェクトを受け取るなどの事象を使用して、
キャッシュされたオブジェクトのPHIを調べることによって、追加事前取出し
をトリガすることができる。事前取出し動作は、送信側で起動法の場合のように
、オブジェクトがサーバから要求された瞬間に制約されない。
説明したが、しかし当業者は、本発明が、事前取出しされるオブジェクトが同様
の特性を持つどんな種類の状況にも適用可能であり、必ずしもインターネットま
たはWWWアプリケーションだけに制限されないことを理解されるであろう。
前取出しの場合であるが、それは兄弟プロキシ間の協調を含めるように、容易に
適応することができる。例えば、上位階層のプロキシが要求オブジェクトまたは
事前取出し候補をキャッシュしていない場合、プロキシは兄弟プロキシに問い合
わせることもできる。
プロキシ・サーバ階層、およびクライアントを示すブロック図である。
く示す別のブロック図である。
に取り出すための方法を示す流れ図である。
Claims (35)
- 【請求項1】 コンテンツ・サーバに関連付けられた1つまたは複数のクライアント(22)
が通信ネットワーク(25)および1つまたは複数のプロキシ・サーバ(24)
を介して選択情報に容易にアクセスできるようにするために、コンテンツ・サー
バ(20)から選択情報を事前に取り出す方法であって、 プロキシ・サーバの少なくとも1つから情報を要求するステップ(100)と
、 前記クライアントのいずれかによる要求情報の過去の検索またはアクセスに基
づいて、前記クライアントのための事前取出しヒント情報を確立するステップ(
102、104)と、 要求情報に前記事前取出しヒント情報を注釈として付加するステップ(105
)と、 事前取出しヒント情報および要求情報に基づいて、前記サーバのいずれかから
選択情報を事前に取り出すステップ(108)と を含む方法。 - 【請求項2】 前記要求情報が要求オブジェクトを含み、前記選択情報が事前取出し候補オブ
ジェクトを含む、請求項1に記載の方法。 - 【請求項3】 事前取出しヒント情報を確立する前記ステップが、 前記クライアントに関連付けられたデータ参照パターンを追跡するステップと
、 データ参照パターンをオブジェクト識別子のグループに編成するステップであ
って、前記オブジェクト識別子のグループが要求オブジェクトと事前取出し候補
オブジェクトの関係に従って編成される編成ステップと、 事前取出し候補オブジェクトと要求オブジェクトの間で、前記事前取出し候補
オブジェクトを選択情報として事前に取り出すのを保証するのに充分な関係を有
するのは前記グループのうちのどれであるかを決定するステップと を含む、請求項2に記載の方法。 - 【請求項4】 データ参照パターンを追跡し、かつ編成する前記ステップが、 プロキシ・サーバに参照データ・パターンを格納するためのデータベースを確
立するステップと、 前記データベースの各々の中にフィールドを配列するステップであって、前記
フィールドがオブジェクト識別子およびオブジェクト・カウントを含み、前記オ
ブジェクト識別子が要求オブジェクトを相互に区別し、前記オブジェクト・カウ
ントが前記サーバの1つによって観察された要求オブジェクトの要求回数を示す
ステップと、 前記データベースにアクセス・リストを関連付けるステップであって、前記ア
クセス・リストの各々が各要求オブジェクトに関連付けられる1つまたは複数の
事前取出し候補オブジェクトを含むステップと を含む、請求項3に記載の方法。 - 【請求項5】 データ参照パターンを追跡し、かつ編成する前記ステップが、 要求オブジェクトと事前取出し候補オブジェクトの関係を定義するデータベー
スを確立するステップと、 要求オブジェクトおよび事前取出し候補オブジェクトに関するアクセス統計を
追跡するステップであって、前記アクセス統計が要求オブジェクトの親オブジェ
クト・アクセス頻度と事前取出し候補オブジェクトの子オブジェクト・アクセス
頻度とを含み、前記親オブジェクト・アクセス頻度は要求オブジェクトのうちの
特定の1つが前記クライアントの少なくとも1つによって要求される回数を表し
、前記子オブジェクト・アクセス頻度は、前記特定の1つのアクセスのすぐ後に
前記事前取出し候補オブジェクトの1つまたは複数が実際に要求された回数を表
すステップと をさらに含む、請求項3または4に記載の方法。 - 【請求項6】 子オブジェクト・アクセス頻度に関連付けられた親オブジェクト・アクセス頻
度に対する前記子オブジェクト・アクセス頻度の比に基づいて、事前取出し候補
オブジェクトの事前取出しリストを選択するステップをさらに含み、前記事前取
出しリストが閾確率を超える比を有する事前取出し候補オブジェクトのみを含む
、請求項5に記載の方法。 - 【請求項7】 選択情報を事前に取り出す前記ステップが、 前記プロキシ・サーバの1つまたは前記クライアントの1つで受け取られる事
前取出し候補オブジェクトのサブセットを事前に取り出すステップと、 前記プロキシ・サーバの1つで利用可能な記憶容量に基づいて、前記事前取出
し候補オブジェクトのサブセットを選択情報として選択するステップと を含む、請求項2ないし6のいずれか一項に記載の方法。 - 【請求項8】 選択情報を事前に取り出す前記ステップが、 前記プロキシ・サーバの1つまたは前記クライアントの1つで受け取られる事
前取出し候補オブジェクトのサブセットを事前に取り出すステップと、 前記プロキシ・サーバの1つにおけるアクセス時間に基づいて、事前取出し候
補オブジェクトのサブセットを選択情報として選択するステップと を含む、請求項2ないし7のいずれか一項に記載の方法。 - 【請求項9】 前記選択オブジェクトおよび前記要求オブジェクトがインターネット・データ
を含み、前記要求オブジェクトがインターネット・データに関連付けられたハイ
パーテキスト転送プロトコル(HTTP)リンクを介して選択オブジェクトを参
照し、前記プロキシ・サーバが、要求オブジェクトのオブジェクトヘッダに格納
された要求オブジェクトのユニバーサル・リソース・ロケータすなわちURLの
HTTPプロトコルを通して、要求オブジェクトに対する選択オブジェクトの関
係を識別する、請求項2ないし8のいずれか一項に記載の方法。 - 【請求項10】 要求情報に注釈を付加する前記ステップが、インターネット・コンテンツ選択
(PICS)フォーマットのプラットフォームまたはPICSフォーマットと互
換可能なラベル・プロトコルを有する事前取出しラベルに、事前取出しヒント情
報を配置するステップを含む、請求項2ないし9のいずれか一項に記載の方法。 - 【請求項11】 前記インターネット・コンテンツ選択(PICS)フォーマットのプラットフ
ォームがオブジェクト識別子カテゴリおよび参照側識別子カテゴリを含み、前記
方法が、実際に参照された事前取出し候補オブジェクトを識別するために前記参
照側識別子カテゴリをコンテンツ・サーバに返すステップをさらに含む、請求項
10に記載の方法。 - 【請求項12】 事前取出しヒント情報を確立する前記ステップが、 要求情報の過去の検索または以前のアクセスに基づいて、前記クライアントの
データ参照パターンを識別するステップであって、前記データ参照パターンが前
記プロキシ・サーバの1つに関連付けられた前記クライアントのうちの様々なク
ライアントによる過去の検索またはアクセスの一般的傾向を表すように選択され
るステップと、 前記データ参照パターンから事前取出しヒント情報を定義するステップと を含む、請求項1または2に記載の方法。 - 【請求項13】 前記プロキシ・サーバの階層があり、前記階層が送信ノードおよび受信ノード
を含み、前記方法が、 前記送信ノードから前記受信ノードへ事前取出しヒント情報を伝送するステッ
プと、 前記事前取出しヒント情報を初期状態から最終状態に変更するステップであっ
て、前記初期状態は送信ノードによって決定され、前記最終状態は前記受信ノー
ドによって決定され、前記最終情報の事前取出しヒント情報が最終事前取出し決
定として指定されるステップと をさらに含む、請求項1ないし12のいずれか一項に記載の方法。 - 【請求項14】 選択情報を事前に取り出す前記ステップが受信ノードによって起動される、請
求項13に記載の方法。 - 【請求項15】 プロキシ・サーバをサーバの階層に編成するステップであって、前記階層が複
数のレベルのプロキシ・サーバを有し、前記複数のレベルが前記プロキシ・サー
バの各々のネットワークへの近接性に基づいて決定され、ネットに最も近いレベ
ルを最上位とするステップと、 前記階層を介してプロキシ・サーバからクライアントまで伝送される事前取出
しヒント情報を解釈し、かつ更新するステップと、 をさらに含む、請求項1ないし12のいずれか一項に記載の方法。 - 【請求項16】 要求情報への局所参照が存在する場合、および局所レベルのサーバのカウント
が最小閾カウントを超える場合に、プロキシ・サーバが事前取出しヒント情報を
更新する、請求項15に記載の方法。 - 【請求項17】 前記事前取出しヒント情報がプロキシ階層のキャッシング状態に基づいて更新
される、請求項15または16に記載の方法。 - 【請求項18】 ネットワーク(25)を介してコンテンツ・サーバ(20)から選択情報を事
前に取り出すためのデータ処理システムであって、ネットワークに関連付けられ
た1つまたは複数のプロキシ・サーバ(24)と、ネットワークを介してコンテ
ンツ・サーバおよびプロキシ・サーバの1つまたは複数と通信するためのクライ
アントとを含むデータ処理システムにおいて、 前記プロキシ・サーバの少なくとも1つから情報を要求する手段と、 前記クライアントのいずれかによる要求情報の過去の検索またはアクセスに基
づいて、前記クライアントのための事前取出しヒント情報を確立する手段と、 要求情報に前記事前取出しヒント情報を注釈として付加する手段と、 前記事前取出しヒント情報および要求情報に基づいて、前記サーバのいずれか
から選択情報を事前に取り出す手段と を含むデータ処理システム。 - 【請求項19】 要求情報が要求オブジェクトを含み、前記選択情報が事前取出し候補オブジェ
クトを含み、前記プロキシ・サーバの各々および前記クライアントの少なくとも
1つが主キャッシュと事前取出しキャッシュとの間に少なくとも1つの論理的分
離を有するメモリを有し、事前取出し選択情報が事前取出しキャッシュに格納さ
れる、請求項18に記載の処理システム。 - 【請求項20】 前記事前取出し手段がオブジェクトを事前に取り出し、かつ事前取出しされた
オブジェクトを優先順位構成に基づいて事前取出しキャッシュに格納し、前記優
先順位構成は事前取出しキャッシュの空きメモリに関して最高事前取出し値を持
つオブジェクトを最初に格納し、事前取出し値は1つまたは複数のクライアント
による事前取出しオブジェクトへの個別または集合参照確率に基づく、請求項1
9に記載の処理システム。 - 【請求項21】 前記事前取出し値が、事前取出しヒント情報リスト上の事前取出し候補オブジ
ェクトがクライアントのうちの特定の1つによってアクセスされる推定アクセス
確率と、事前取出し候補オブジェクトのうちの選択オブジェクトを格納するため
の必須記憶容量に基づくオブジェクトのアクセス費用とに基づく、請求項20に
記載の処理システム。 - 【請求項22】 前記事前取出し手段が、前記事前取出し値を計算するための計算手段と前記計
算手段によって計算された事前取出し値を評価するための評価手段とを含む事前
読取りハンドラを含み、前記計算手段が前記事前取出しヒント情報リスト上の各
事前取出しオブジェクト識別子の事前取出し値を計算し、前記評価手段が複数の
候補事前取出しオブジェクトの事前取出し値を評価し、かつ事前取出しヒント情
報リストで最高事前取出し値に関連付けられる候補事前取出しオブジェクトのキ
ャッシングを優先させる、請求項20または21に記載の処理システム。 - 【請求項23】 前記事前取出し手段が、前記プロキシ・サーバの少なくとも1つにおける第1
事前取出しハンドラと、前記クライアントのうちの少なくとも1つにおける第2
事前取出しハンドラとを含む、請求項22に記載の処理システム。 - 【請求項24】 前記クライアントの1つのメモリに格納されたクライアント・オブジェクト要
求ハンドラをさらに含み、前記クライアント・オブジェクト要求ハンドラは、プ
ロキシ・サーバまたはネットワークから要求オブジェクトを要求する前に主キャ
ッシュおよび事前取出しキャッシュで要求オブジェクトを探索し、オブジェクト
が事前取出しキャッシュ内にある場合には、前記クライアント・オブジェクト要
求ハンドラは、事前取出しオブジェクトがクライアントによって実際にアクセス
されたことを示すサーバへの事前取出し参照メッセージを生成することによって
、コンテンツ・サーバまたはプロキシ・サーバに通知する、請求項19ないし2
3のいずれか一項に記載の処理システム。 - 【請求項25】 前記プロキシ・サーバの少なくとも1つが、要求オブジェクトが事前取出しキ
ャッシュにある場合に、キャッシュ・マネージャ・ルーチンを呼び出した後、事
前取出し参照メッセージを転送するための事前取出し参照メッセージ・ハンドラ
を含む、請求項19ないし24のいずれか一項に記載の処理システム。 - 【請求項26】 請求項18ないし25のいずれか一項に記載のデータ処理システムで使用する
ためのコンテンツ・サーバまたはプロキシ・サーバにおいて、前記要求情報が要
求オブジェクトを含み、前記選択情報が事前取出し候補オブジェクトを含み、前
記サーバが、 親オブジェクト識別子および関連付けられた子オブジェクト識別子を格納する
統計テーブルであって、親オブジェクトがクライアントによって参照される頻度
を表す親オブジェクトの第1カウントを含み、前記親オブジェクトのうちの選択
オブジェクトが参照された後で対応する子オブジェクトが参照される頻度を表す
子オブジェクトの第2カウントを含む統計テーブルと、 前記統計テーブルの情報に基づいて事前取出しヒント情報リストを生成するた
めの生成手段と を含むサーバ。 - 【請求項27】 前記生成手段は第1カウントおよび対応する第2カウントの入力を受け入れて
事前取出しヒント情報リストを導出し、前記生成手段は、前記親オブジェクト識
別子の各々について前記第1カウントに対する前記第2カウントの比を計算する
手段と、前記比をヒント閾値と比較するための比較手段とを含み、前記比較手段
は、前記比が前記ヒント閾値を超える場合、前記事前取出しヒント情報リスト上
の子オブジェクトおよび関連付けられた親オブジェクトをグループ化または関連
付ける、請求項26に記載のサーバ。 - 【請求項28】 前記生成手段は統計テーブルから第1カウント、第2カウント、子オブジェク
ト識別子、および親オブジェクト識別子の入力を受け入れ、前記生成手段は、親
オブジェクトとそれらの関連付けられた子オブジェクトとの間のアクセス関係を
評価するための評価手段を含み、前記評価手段は、クライアントによる対応する
親オブジェクトの参照の前に子オブジェクトがすぐにその後で適切な頻度で参照
される場合、事前取出しヒント情報リスト上に子そのオブジェクト識別子を配置
する、請求項26に記載のサーバ。 - 【請求項29】 前記生成手段が、対応する親アクセスに対する子アクセスの比に基づいて前記
適切な頻度を計算するための計算手段をさらに含む、請求項28に記載のサーバ
。 - 【請求項30】 実際に要求された子オブジェクトに基づいて統計を更新するための統計更新手
段をさらに含み、前記統計更新手段は最初に前記親オブジェクトのうちの参照す
るオブジェクトのアイデンティティを探索し、参照するオブジェクトまたは参照
側オブジェクトは実際に要求された子オブジェクトより前に参照され、実際に要
求された子オブジェクトはそれに対応する第2カウントを統計テーブルで更新さ
せる、請求項26ないし29のいずれか一項に記載のサーバ。 - 【請求項31】 前記統計更新手段は、事前取出し参照メッセージ・ハンドラから事前取出し参
照メッセージを受け取ると、統計テーブルを更新する、請求項30に記載のサー
バ。 - 【請求項32】 前記サーバがプロキシ・サーバであり、 事前取出しヒント情報リストを受け取って更新するための事前取出し更新手段
をさらに含み、前記事前取出し更新手段は第1カウントと第1局所閾カウントを
比較し、前記事前取出し更新手段は、第1カウントが第1局所閾カウントを超え
る子オブジェクト識別子の各々に対し生成手段を呼び出し、前記事前取出し更新
手段は、第1カウントが第1局所閾カウントを超えない場合には元の事前取出し
ヒント情報リストを維持する、請求項26ないし31のいずれか一項に記載のサ
ーバ。 - 【請求項33】 前記事前取出し更新手段が第1カウントを第1および第2局所閾カウントと比
較し、(i)第1カウントが第1局所閾カウントを超えなければ、元の事前取出
しヒント情報リストを維持し、(ii)第1カウントが第1局所閾カウントを超
えるが第2局所閾カウントを超えなければ、元の事前取出しヒント情報リストを
変更し、(iii)第1カウントが第1および第2局所閾カウントの両方を超え
る場合には、元の事前取出しヒント情報リストを交換する、請求項32に記載の
サーバ。 - 【請求項34】 要求オブジェクトを要求した下位プロキシ・サーバまたはクライアントに要求
オブジェクトを返すためのプロキシ・オブジェクト・ハンドラをさらに含み、前
記プロキシ・オブジェクト・ハンドラは、要求オブジェクトが事前取出しオブジ
ェクトでない場合に、要求オブジェクトを返し、かつそれに従って統計テーブル
を更新する、請求項32または33に記載のサーバ。 - 【請求項35】 事前取出しキャッシュを管理するための事前取出しキャッシュ・マネージャと
をさらに含み、 前記プロキシ・オブジェクト・ハンドラは、オブジェクトが事前取出し要求に
従って要求された場合には、要求したクライアントまたはプロキシ・サーバに事
前取出しキャッシュから要求オブジェクトを返し、かつそのオブジェクトに事前
取出しキャッシュから削除可能とマークし、前記プロキシ・オブジェクト・ハン
ドラは、要求オブジェクトが主キャッシュまたは事前取出しキャッシュ内に無い
場合には、オブジェクト要求を別のサーバに送り、前記プロキシ・オブジェクト
・ハンドラは、要求オブジェクトが事前取出し要求に関連付けられない場合、お
よび要求オブジェクトが事前取出しキャッシュまたは主キャッシュ内にある場合
には、それに従って統計テーブルを更新する、請求項34に記載のサーバ。
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)
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)
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)
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)
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 |
-
1997
- 1997-09-29 US US08/939,277 patent/US6085193A/en not_active Expired - Lifetime
-
1998
- 1998-09-28 IL IL13325198A patent/IL133251A0/xx not_active IP Right Cessation
- 1998-09-28 EP EP98944132A patent/EP1018085B1/en not_active Expired - Lifetime
- 1998-09-28 DE DE69834129T patent/DE69834129T2/de not_active Expired - Lifetime
- 1998-09-28 HU HU0003680A patent/HU224089B1/hu not_active IP Right Cessation
- 1998-09-28 KR KR10-2000-7002247A patent/KR100377715B1/ko not_active IP Right Cessation
- 1998-09-28 PL PL339377A patent/PL192676B1/pl not_active IP Right Cessation
- 1998-09-28 CN CNB988095777A patent/CN1200378C/zh not_active Expired - Fee Related
- 1998-09-28 WO PCT/GB1998/002920 patent/WO1999017227A1/en active IP Right Grant
- 1998-09-28 JP JP2000514222A patent/JP3526442B2/ja not_active Expired - Fee Related
- 1998-09-28 CA CA002302254A patent/CA2302254C/en not_active Expired - Fee Related
Patent Citations (5)
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)
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 |