JPH1145204A - 逆ツリー生成法を用いて網内にキャッシュを動的に複製する方法およびシステム - Google Patents

逆ツリー生成法を用いて網内にキャッシュを動的に複製する方法およびシステム

Info

Publication number
JPH1145204A
JPH1145204A JP10160463A JP16046398A JPH1145204A JP H1145204 A JPH1145204 A JP H1145204A JP 10160463 A JP10160463 A JP 10160463A JP 16046398 A JP16046398 A JP 16046398A JP H1145204 A JPH1145204 A JP H1145204A
Authority
JP
Japan
Prior art keywords
router
server
network
cost
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10160463A
Other languages
English (en)
Other versions
JP4344024B2 (ja
Inventor
Cagatay Buyukkoc
ブユコック ガガティ
Adrian Emmanuel Eckberg Jr
エマニュエル エックバーグ ジュニヤ アドリアン
Pravin Kumar Johri
クマー ジョーリ プラヴィン
Danielle Liu
リウ ダニエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
AT&T Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AT&T Corp filed Critical AT&T Corp
Publication of JPH1145204A publication Critical patent/JPH1145204A/ja
Application granted granted Critical
Publication of JP4344024B2 publication Critical patent/JP4344024B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】 情報のレプリカキャッシュの網の様々な地域
への分配を使用パターンの変化に基づいて動的に最適化
する。 【解決手段】 第一の地域内の単一のサーバは、情報の
元コピーを格納する。第一の地域内のルータは、網全域
の複数のユーザから元コピーへのサービスリクエストを
受信する。レプリカキャッシュの展開を決定するため
に、この第一のルータは、網の他の地域内の他のルータ
に向けて、各地域内で観察される前記元コピーに向けら
れた全てのサービスリクエストの数を監視することを求
めるメッセージを送信する。第一のルータは、次に、必
要ならば情報のレプリカコピーを格納すべき網内の少な
くとも一つの新たなサーバを割当て、レプリカ作成メッ
セージを送信する。新たなサーバは、情報のレプリカコ
ピーを格納し、網の新たに割当てられたセットの地域内
のユーザ端末にサービスを提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は電気通信、より詳細
には、情報のレプリカキャッシュの網の多様な地域への
分配を最適化するための方法および装置に関する。
【0002】
【従来の技術】インターネット上のメッセージトラヒッ
クには生来的な冗長が存在し、このため、しばしば、バ
ックボーン網上に過剰な負荷が生成される。インターネ
ット上の幾つかのアプリケーションをキャッシュメモリ
内に複製し、ウエブ代理を提供すれば、データ転送にお
ける幾らかの不要な複製動作を軽減することが可能とな
る。マルチカースティング法の実施は、分配の効率を向
上するためのもう一つの技術である。マルチカースティ
ング法においては、送信者は、同一のドキュメント、デ
ータ、あるいはメッセージを、通常は広い地域内の分散
して存在する多数の受信者に分配する。
【0003】効率を向上させるために、マルチカースト
ドキュメントのコピーを各地域内の所定のサーバに配布
し、ローカル的な配布は、そのサーバに委任するような
スキームを採用すると有益であるが、このレプリカキャ
ッシュメカニズムには、効率的なツリー構築アルゴリズ
ムが必要となる。この方法の幾つかの例が、既に、レプ
リカキャッシュの静的な分配に対してインターネットプ
ロトコル内で用いられている。
【0004】
【発明が解決しようとする課題】現存のインターネット
上にキャッシュを複製する方法では解決することが不可
能な重要な問題が存在する。主な問題は、インターネッ
トトラヒックが、時間および地域の両方において、動的
に変化することである。例えば、一日の内のある時間帯
はアクティブであるが(トラヒックの量が多いが)、他
の時間帯はインアクティブ(トラヒックの量が少ない)
地域が存在する。このために、網内に複製されたキャッ
シュの役割を果たすサーバを動的に割当て/再割当てす
るための方法が必要とされている。
【0005】
【課題を解決するための手段】本発明の一つの用途にお
いては、網は、複数の地域を含み、各地域は一つのルー
タ、一つのサーバ、および複数のユーザ端末を持つ。各
地域内のルータは、このサーバおよび複数のユーザ端末
を網に接続する。本発明によると、情報のレプリカキャ
ッシュの網の複数の地域への分配が使用パターンの変化
に基づいて動的に最適化される。本発明のこの動作は、
ここでは逆ツリー生成と呼ばれる。最初に、第一の地域
内の単一のサーバが、情報の元コピーを格納する。この
第一の地域内のルータは、網全域の複数のユーザからの
この元コピーを格納するサーバに向けられたサービスリ
クエストメッセージを受信する。
【0006】このルータ内あるいはこのルータと関連す
るプロセッサは、網の他の地域内の他のルータに向け
て、それらルータに対して各地域内で観察される前記第
一のサーバ内の元コピーに向けられた全てのサービスリ
クエストの数を監視(測定)することを求める監視リク
エストメッセージを送信する。プロセッサは、このメッ
セージに応答して、他のルータからの前記第一のサーバ
に向けられたサービスリクエストの数を示す監視応答メ
ッセージを受信する。
【0007】プロセッサは、監視応答メッセージを用い
て情報のレプリカコピーの最適な割当てを計算し、これ
に基づいて、情報のレプリカコピーを格納すべき網内の
少なくとも一つの新たなサーバを決定する。プロセッサ
は、次に、こうして割当てられた新たなサーバに向け
て、レプリカ作成メッセージを送信する。サーバは、こ
のレプリカ作成メッセージに基づいて情報のレプリカコ
ピーを格納し、網の新たな割当てられたセットの地域内
のユーザ端末にサービスを提供する。プロセッサは、さ
らに、網内の他のルータに向けて割当てメッセージを送
信する。他のルータは、この割当てメッセージに基づい
て、各自の地域からのトラヒックを、新に割当てられた
サーバ、あるいは第一のサーバのいずれかに向けて転送
する。
【0008】この要約(発明を解決するための手段)、
図面の簡単な説明、詳細な説明(発明の実施の形態)お
よび図面は、単に、本発明の一例を示すものであり、こ
の明細書に由来する特許によって授与される排他的な権
利の範囲を制限することを意図するものではなく、これ
ら排他的な権利の範囲は、明細書の冒頭の特許請求の範
囲によって定義されるものである。
【0009】
【発明の実施の形態】図1A〜図1Eは、情報のレプリ
カキャッシュを自身のさまざまな地域に最適に分配する
ために網が自身を自動的に編成する際の一例としての網
の一連のステージを示す。本発明のこの動作は、以降、
逆ツリー生成と呼ばれる。示される一例としての網は、
インターネットバックボーン網10のまわりに構築され
た合衆国におけるインターネット網である。図1Aは、
網の編成における第一のステージを示す。この第一のス
テージにおいて、北東地域20内のサーバ40は、デー
タセットのソール(元)コピーを格納するが、これが、
網の全ての地域内のユーザによってアクセスされる。サ
ーバ40内のこのデータセットのコピーが、元情報キャ
ッシュ“P”となる。このデータセットは、例えば、特
定のインターネットウエブサイトに対する情報を表す。
動作が安定している際は、網の全ての地域内のユーザか
らのサービスリクエストは、網のこの北東地域20内の
ルータ30の所に受信される。これらサービスリクエス
トは、サーバ40内に格納されたデータセットの元キャ
ッシュ“P”へのアクセスを求める。仮に、このデータ
セットが、人気のあるウエブサイトである場合、例え
ば、New York Timesのウエブサイト“www.nytimes.com
”を表す場合は、ルータ30は、これらサービスリク
エストを扱うために、常に極めて多忙な状態に置かれ
る。本発明は、ルータ30上のサービスリクエストの負
荷を、自動的にデータセットの一つあるいは複数のレプ
リカを網の遠隔地域内の新たなサーバに分配し、新たな
ルーティングテーブルを網内のルータに割当てることに
よって軽減することを目指す。これら新たなルーティン
グテーブルは、遠隔地域内のユーザから発信されたサー
ビスリクエストを、これら新たなサーバに向けて転送
し、これら新たなサーバが元のサーバ40とサービスリ
クエストの負荷を共有することとなる。
【0010】図1の網1Aは、複数の地域、すなわち:
北東地域20、北中央地域22、北西地域24、南東地
域26、南中央地域28、および南西地域29を含む。
各地域は、それぞれ、ルータ30、32、34、36、
38、39を含み、各ルータは、それぞれ、経路3
0’、32’、34’、36’、38’、39’によっ
てバックボーン網10に接続される。各地域は、それぞ
れ、サーバ40、42、44、46、48、49を含
み、各サーバは、それぞれ、自身のルータによって、経
路40’、42’、44’、46’、48’、49’に
接続される。各地域は、それぞれ、複数のユーザ端末5
0、52、54、56、58、59を含み、各ユーザ端
末は、それぞれ、自身のルータによって、経路50’、
52’、54’、56’、58’、59’に接続され
る。各地域内において、自身のルータは、自身のサーバ
および自身の複数のユーザ端末を、それぞれ、リンク3
0’、32’、34’、36’、38’、39’によっ
て、インターネットバックボーン網10に結合する。図
2Dは、北東地域20内のサーバ40がデータセットの
ソール(元)コピーを元キャッシュ“P”として格納
し、これが網の全ての地域内のユーザによってアクセス
される図1Aの網の元の編成に対する現存のルータテー
ブル334を示すが、現時点においては、ルータテーブ
ル334が、網内の各ルータ30、32、34、36、
38、39の所に格納されている。
【0011】図1Bは、情報のレプリカキャッシュをこ
れら地域間に最適に分配するために自身を編成する網の
第二のステージを示す。このステージにおいては、最初
に、ルータ30あるいはルータ30と関連するプロセッ
サは、バックボーン網10に接続された他の全てのルー
タ32、34、36、38、39に向けて、他のルータ
に対して自身の地域内で発信されたがサーバ40内の元
キャッシュに向けて転送されたサービスリクエストの数
を監視(測定)するように求める監視リクエストメッセ
ージを送信する。図2Aは監視リクエストメッセージ2
00の一例を示すが、このメッセージが、ルータ30に
よって、バックボーン網10に接続された他の全てのル
ータに送られる。監視リクエストメッセージ200は、
宛先ルータを指定するフィールド202、ソースルータ
を指定するフィールド204、および監視リクエストを
指定するフィールド206を含み、このような監視リク
エストメッセージが、網内の他の全てのルータ32、3
4、36、38、39に向けて一斉に送信される。
【0012】図3は、ルータ30のアーキテクチャを示
す。網内の他の全てのルータ32、34、36、38、
39も類似するアーキテクチャを持つ。ルータ30は、
メモリ302を含むが、メモリ302は、システムバス
304によって、網アダプタ308、ディスクドライブ
メモリ306、プロセッサ310、およびサーバインタ
フェース312に接続される。網アダプタ308は、ル
ータ30を、経路30’を通じて、バックボーン網10
に接続する。サーバインタフェース312は、ルータ3
0を経路40’を通じて、サーバ40に接続する。イン
タフェース312は、また、ルータ30を経路50’を
通じて、図1Aのユーザ(端末)50に接続する。
【0013】図3のメモリ302は、サービスリクエス
トメッセージバッファ322を格納するが、このバッフ
ァは、バックボーン網10からおよびローカルユーザ5
0からのサービスリクエストメッセージを受信し、これ
らリクエストメッセージは、処理のためにサーバ40に
パスされる。図3のメモリ302は、さらに、サービス
応答メッセージバッファ324を格納するが、このバッ
ファは、サーバ40からのサービス応答メッセージを受
信し、これらサービス応答メッセージは、バックボーン
網10あるいはローカルユーザ50に転送される。
【0014】図3のメモリ302は、さらに、監視リク
エストメッセージバッファ326を格納するが、このバ
ッファは、図2Aの監視リクエストメッセージ200を
格納する。この監視リクエストメッセージ200は、メ
ッセージ200を発信するルータ30内のバッファ32
6内において生成(構築)され、網アダプタ308によ
って、他のルータ32、34、36、38、39に送信
される。このステージが、ルータ30がトラヒックを監
視するリクエストを他のルータに一斉に送るところを示
す図1Bに示される。ルータ32、34、36、38、
39は、自身の網アダプタ308を通じて監視リクエス
トメッセージ200を受信する。このメッセージは、各
ルータの監視リクエストメッセージバッファ326内に
緩衝された後に読み出される。監視リクエストメッセー
ジ200は、サーバ40内に元キャッシュ“P”として
格納されているデータセットを識別する。監視リクエス
トメッセージ200は、宛先ルータ32、34、36、
38、39に対して、自身が扱う全てのメッセージを監
視することで、元キャッシュ“P”として格納されてい
るデータセットへのアクセスを求めるサーバ40に向け
て転送されたサービスリクエストの数をカウントするよ
うに要請する。監視リクエストメッセージ200は、さ
らに、宛先ルータ32、34、36、38、39に対し
て、トラヒック値、すなわち、ある与えられた時間期間
に渡ってのこれらサービスリクエストの累積カウントを
送り返すように要請する。
【0015】図3のメモリ302は、さらに、トラヒッ
ク監視プログラム329を格納するが、このプログラム
は、オペレーティングシステムプログラム320の制御
下でランし、このインストラクションはプロセッサ31
0上で実行される。自身の網アダプタ308を通じて監
視リクエストメッセージ200を受信するルータ32、
34、36、38、39内において、このトラヒック監
視プログラム329は、監視リクエストメッセージバッ
ファ326内に緩衝された監視リクエストメッセージ2
00を読み出し、図1Cに示すようなトラヒック監視動
作を遂行する。各宛先ルータ32、34、36、38、
39内において、このトラヒック監視プログラム329
は、自身が扱う全てのメッセージを監視し、元キャッシ
ュ“P”として格納されたデータセットへのアクセスを
求めるサーバ40に向けて転送されたサービスリクエス
トの数をカウントする。発信ルータ30内のトラヒック
監視プログラム329も、ルータ30自身の地域20内
のユーザ50に対してこの監視動作を遂行する。各ルー
タ30、32、34、36、38、39内のトラヒック
監視プログラム329は、監視リクエストメッセージ2
00に応答して、トラヒック値、すなわち、ある時間期
間に渡って累積された、転送されたサービスリクエスト
のカウントをルータ30に送り返す。図3のメモリ30
2は、さらに、監視応答メッセージバッファ328を格
納するが、このバッファは、こうして送り返される監視
応答メッセージ220を格納する。監視応答メッセージ
220は、宛先ルータを指定するフィールド222、ソ
ースルータを指定するフィールド224、および監視応
答、すなわち、そのルータの所で測定されたトラヒック
値を指定するフィールド226を含む。この監視応答メ
ッセージ220が、監視リクエストメッセージ200に
応答して、各ルータ32、34、36、38、39によ
って発信ルータ30に送り返される。
【0016】図3のメモリ302は、さらに、最適レプ
リカキャッシュ割当てプログラム330を格納するが、
このプログラムは、オペレーティングシステムプログラ
ム320の制御下でランし、このインストラクションは
プロセッサ310上で実行される。図1Dの発信ルータ
30において、この最適レプリカキャッシュ割当てプロ
グラム330は、元キャッシュ“P”として格納された
データセットのレプリカの最適な分配を計算する。この
計算は、各ルータ32、34、36、38、39によっ
て報告された各遠隔地域22、24、26、28、29
におけるトラヒック値、並びにルータ30によって地域
20においてローカル的に測定されたトラヒック値に基
づいて行なわれる。この最適レプリカキャッシュ割当て
プログラム330については、図4に流れ図にて示され
る。
【0017】最適レプリカキャッシュ割当てプログラム
330は、レプリカキャッシュを追加あるいは削除する
ことのコスト(損)/ベニフィット(益)分析を遂行す
るアルゴリズムに基づく。このコスト/ベニフィット分
析アルゴリズムについては、図5および図6に示される
第二の網に適用する例との関連で後により詳細に説明す
る。最適レプリカキャッシュ割当てプログラム330
は、このコスト/ベニフィット分析を網の遠隔地域から
の更新されたトラヒック監視測定値に基づいて定期的に
更新する。コスト/ベニフィット分析アルゴリズムは、
ある地域にトラヒックの棄却閾値量が累積されたか否か
を決定し、トラヒック量がこの棄却閾値を超えた場合
は、新たなサーバ上にレプリカキャッシュを設定するこ
とが正当化される。コスト/ベニフィット分析アルゴリ
ズムは、最小重みスパニングツリー分析(minimum weigh
t spanning tree analysis) あるいはSteinerツリー分
析(Steiner tree analysis)を用いてこの決定を行な
う。最適レプリカキャッシュ割当てプログラム330
は、次に、サービスリクエストの幾つかをこの新たなサ
ーバ上のレプリカキャッシュに向けて転送することを要
請する新たなルーティングテーブルを計算し、これを網
内の各ルータに送る。図3のメモリ302は、さらに、
現存のルータテーブル334および新たなルータテーブ
ル336を格納するが、現存のルータテーブル334の
一例が図2Dに示され、新たなルータテーブル336の
一例が図2Eに示される。
【0018】図3のメモリ302は、さらに、割当てメ
ッセージバッファ332を格納するが、ルータ30は、
このバッファ内に、図2Cに示されるような割当てメッ
セージ210を構築(生成)する。この割当てメッセー
ジ210は、宛先ルータを指定するフィールド212、
ソースルータを指定するフィールド214、およびコス
ト/ベニフィット分析アルゴリズムによって計算された
新たなルーティング割当てを指定するフィールド216
を含む。図2Fには、割当てメッセージ210の一例が
示される。割当てメッセージ210のフィールド212
は、宛先ルータ32、34、36、38、39へのブロ
ードカーストを指定する。フィールド214は、ソース
ルータをルータ30として指定する。割当てフィールド
216は、図2Eに示される一例としての新たなルータ
テーブル336を指定する。この割当てメッセージ21
0が、網内の全ての他のルータ32、34、36、3
8、39に一斉に送られる。この割当てメッセージ21
0は、発信ルータ30内にも使用のために格納される。
次に、図2Gに示されるようなレプリカ作成メッセージ
802が、例えば、ルータ34に向けて、データセット
のコピーをレプリカキャッシュ“A”として地域24内
の新たなサーバ44に提供するために送られる。このメ
ッセージ802のフィールド212は宛先ルータ34を
指定し、フィールド214はソースルータをルータ30
として指定する。同様なレプリカ作成メッセージが、ル
ータ30から、例えば、ルータ38に向けて、データセ
ットのコピーをレプリカキャッシュ“B”として地域2
8内の新たなサーバ48に提供するために送られる。
【0019】図1Eは、図1Aの網に関して本発明の逆
ツリー生成動作を遂行した後の、すなわち、ルータ30
によって、割当てメッセージ210が網内の他の全ての
ルータ32、34、36、38、39に一斉に送信され
た後の状態を示す。また、図2Eは、この結果として網
内に2つの追加のレプリカキャッシュが生成された図1
Eの網の更新された編成に対する新たなルータテーブル
を示す。レプリカキャッシュ“A”は、地域24内の新
たなサーバ44内に格納されたデータセットの新たなコ
ピーであり、ルータ34は、サーバ44に向けられた全
てのサービスリクエストを扱う。サーバ44のサービス
領域60Aは、北西地域24および南西地域29であ
る。地域24内のルータ34および地域29内のルータ
39は、図2Eに示すような新たなルータテーブル33
6によって制御され、データセットへのアクセスを求め
る地域24および29内で発信された全てのサービスリ
クエストは、サーバ44上のレプリカキャッシュ“A”
に向けて転送される。レプリカキャッシュ“B”は、地
域28内の新たなサーバ48内に格納されたデータセッ
トの新たなコピーであり、ルータ38は、サーバ48に
向けられた全てのサービスリクエストを扱う。サーバ4
8のサービス領域60Bは、北中央地域22および南中
央地域28である。地域22内のルータ32および地域
28内のルータ38は、図2Eに示すような新たなルー
タテーブル336によって制御され、データセットへの
アクセスを求める地域22および28内で発信された全
てのサービスリクエストは、サーバ48上のレプリカキ
ャッシュ“B”に向けて転送される。元キャッシュ
“P”は、地域20内の元のサーバ40内に格納された
データセットの現存のコピーであり、ルータ30は、サ
ーバ40に向けられた全てのサービスリクエストを扱
う。サーバ40のサービス領域60は、北東地域20お
よび南東地域26である。地域20内のルータ30およ
び地域26内のルータ36は、図2Eに示すような新た
なルータテーブル336によって制御され、データセッ
トへのアクセスを求める地域20および26内で発信さ
れた全てのサービスリクエストは、サーバ40上の元キ
ャッシュ“P”に向けて転送される。
【0020】図1Fは、自身を元キャッシュと変更され
たサービス領域を持つ変更されたレプリカキャッシュを
持つように定期的に再編成することで得られた結果とし
ての網の状態を示す。図1Eにおいて、ルータ30は、
定期的に、バックボーン網10に接続された全ての他の
ルータ32、34、36、38、39に向けて、他のル
ータに対して自身の地域内から発信されたレプリカキャ
ッシュ“A”、レプリカキャッシュ“B”、あるいは元
キャッシュ“P”のデータセットへのアクセスを求める
サービスリクエストの数を監視(測定)するように要請
する監視リクエストメッセージ200を送信する。ルー
タ32、34、36、38、39は、自身のアダプタ3
08を介してこの監視リクエストメッセージ200を受
信し、これを監視リクエストメッセージバッファ326
内に格納する。トラヒック監視プログラム329は、こ
うして監視リクエストメッセージバッファ326内に格
納された監視リクエストメッセージ200を読み出し、
トラヒック監視動作を遂行する。各宛先ルータ32、3
4、36、38、39内で、トラヒック監視プログラム
329は、自身のルータが扱う全てのメッセージを監視
し、それぞれ、元キャッシュ“P”、レプリカキャッシ
ュ“A”、あるいはレプリカキャッシュ“B”として格
納されているデータセットへのアクセスを求めるサーバ
40、44、あるいは48に向けて転送されたサービス
リクエストの数をカウントする。発信ルータ30は、元
キャッシュ“P”として格納されているデータセットの
レプリカの最適な分配を計算するが、この計算は、ルー
タ32、34、36、38、39によって報告された遠
隔地域22、24、26、28、29内のトラヒック
値、並びに、ルータ30によって地域20においてロー
カル的に測定されたトラヒック値に基づいて行なわれ
る。図1Fは、ルータ30によって、割当てメッセージ
210が網内の他の全てのルータ32、34、36、3
8、39に一斉に送信された後の図1Eの網の状態を示
す。レプリカキャッシュ“A”は、以前と同一のまま
で、地域24内のサーバ44内に格納されたデータセッ
トのコピーである。ただし、ここでは、サーバ44のサ
ービス領域60A’は、変更され、北西地域24および
北中央地域22となる。地域24内のルータ34および
地域22内のルータ32は、新たなルータテーブルによ
って制御され、データセットへのアクセスを求める地域
24および22内で発信された全てのサービスリクエス
トは、サーバ44上のレプリカキャッシュ“A”に向け
て転送される。ここでは、レプリカキャッシュ“B”は
削除され、代わりに、レプリカキャッシュ“C”が、地
域29内の新たなサーバ49内にデータセットの新たな
コピーとして格納されている。ルータ39は、サーバ4
9に向けられた全てのサービスリクエストを扱う。サー
バ49のサービス領域60Cは、南西地域29および南
中央地域28である。地域29内のルータ39および地
域28内のルータ38は、新たなルータテーブルによっ
て制御され、データセットへのアクセスを求める地域2
9および28内で発信された全てのサービスリクエスト
は、サーバ49上のレプリカキャッシュ“C”に向けて
転送される。元キャッシュ“P”は、地域20内の元の
サーバ40内に格納されているデータセットの現存のコ
ピーである。サーバ40のサービス領域60は、北東地
域20および南東地域26である。地域20内のルータ
30および地域26内のルータ36は、新たなルータテ
ーブルによって制御され、データセットへのアクセスを
求める地域20および26内で発信された全てのサービ
スリクエストは、サーバ40上の元キャッシュ“P”に
向けて転送される。このようにして、網は、動的に変化
するトラヒックパターンを収容するために、自身を定期
的に、元キャッシュおよび変更されたサービス領域を持
つ変更されたレプリカキャッシュを持つように再編成す
る。
【0021】以下では、最適レプリカキャッシュ割当て
プログラム330について図4の流れ図との関連で詳細
に説明する。最適レプリカキャッシュ割当てプログラム
330は、コスト/ベニフィット分析アルゴリズム41
5を用いるが、これは、一種の最小重みスパニングツリ
ー分析であり、網内の全てのルータノードを接続するリ
ンクから無向グラフが形成される。これらリンクは、網
内の全てのルータを接続し、このグラフ全体に渡るツリ
ーを形成するめたに、“スパニングツリー(全域木)”
の名称を持つ。各リンクには、単位時間当たりのリクエ
ストの数と関係するコスト値“T”を用いて重みを付け
られる。ここで、コスト値“T”は、目標サーバ上の目
標キャッシュ内に格納された与えられたサイズのデータ
セットを求めてリンク上を通過するリクエストの数を表
す。つまり、“T”の値は、リンクの単位時間当たりの
リクエストメッセージのトラヒック数を表す。全てのリ
ンクに対する単位時間当たりのリクエストメッセージの
総数は、帯域幅コストC[BW]として表され、現存の
キャッシュの分配の総コトスC[T]は、この帯域幅コ
ストC[BW]を要素として含む。最適レプリカキャッ
シュ割当てプログラム330は、総コストC[T]を最
小にするようなデータセットを格納するレプリカキャッ
シュの分配方法を見つけだすことを目的とし、こうし
て、コスト/ベニフィット分析アルゴリズム415は、
一種の最小重みスパニングツリー分析であることがわか
る。
【0022】図4のステップ402は、現存のキャッシ
ュの分配の総コストC[T]を計算することから開始さ
れる。リプリカキャッシュを格納するサーバを追加する
ことの影響を評価するためにコスト関数が定義される
が、このコスト関数は、利用される資源、および様々な
コストを考慮に入れる。これには、単一のサーバ(ある
いは一連のサーバ)がオーバロードされ、サービスを受
けることなく顧客が切断されることによって失われるオ
パチュニティコストも含まれる。
【0023】C[T]は総コストを表わし、C[BW]
は帯域幅コストを表し、C[STO]はベース位置の所
での格納コストを表し、C[REP]は単一のサーバに
おけるレプリカ作成コストを表し、C[OC]はオパチ
ュニティコストを表し、C[UP]は複製されたコピー
が陳腐化するのみ防ぐための更新と関連する更新コスト
を表すものとすると、 C[T]=C[BW]+C[STO]+C[REP]+
C[OC]+C[UP] となる。
【0024】帯域幅コストC[BW]は、個々のリンク
上に存在する単位時間当たりのリクエストの数の関数で
あり、単位時間当たりのリクエストの数に基づいて定め
られる比例定数と各リンク上に存在する単位時間当たり
のリクエストの数の総数とを乗じた値とされる。帯域幅
コストC[BW]の計算は、図5に示される一例として
の網との関連で以下のように説明することができる。
【0025】図5は、8つのユーザローカルアクセスポ
イント1、2、3、4、5、6、7、8を、ユーザがサ
ーバ40上にソール(元)コピーの元キャッシュ“P”
として格納されているデータセットにアクセスすること
ができるように接続する8つのルータa、b、c、d、
e、f、g、hを持つ第二の網を示す。サーバ40は、
ルータ“a”によって、網内の他のルータb、c、d、
e、f、g、hに接続される。ルータ“a”は、現在、
サーバ40上の元キャッシュ“P”内にデータセットの
一部として格納されている10ギガバイトファイルに向
けられたリクエストを時間当たり1000扱っている。
本発明によると、逆ツリー生成法を用いて、網内のキャ
ッシュが使用パターンの変化に応答して自動的に再編成
される。このために、ルータ“a”は、定期的に、他の
ルータb、c、d、e、f、g、hに向けて、各網リン
クがある期間、例えば、一時間当たりに扱うリクエスト
の数を監視(測定)することを要請する監視リクエスト
を一斉に送る。図5の第二の網に対する現存のルータテ
ーブル334が図7Aに示される。
【0026】この監視期間において、各ユーザローカル
アクセスポイントは、サーバ40上の元キャッシュ
“P”内にデータセットの一部として格納されているこ
の10ギガバイトファイルに向けられた量“T”に相当
するリクエストを行なうが、この量“T”は、単位時間
当たりのリクエストメッセージのトラヒック数を表す。
具体的には、ユーザローカルアクセスポイント1は、サ
ービスルータ“c”によって、単位時間当たりに、T=
125に相当するサーバ40に向けられたリクエストメ
ッセージのトラヒック数を持つものと監視(測定)され
る。ユーザローカルアクセスポイント2は、サービスル
ータ“c”によって、単位時間当たりに、T=50に相
当するサーバ40に向けられたリクエストメッセージの
トラヒック数を持つものと測定される。ユーザローカル
アクセスポイント3は、サービスルータ“d”によっ
て、単位時間当たりに、T=250に相当するサーバ4
0に向けられたリクエストメッセージのトラヒック数を
持つものと測定される。ユーザローカルアクセスポイン
ト4は、サービスルータ“e”によって、単位時間当た
りに、T=225に相当するサーバ40に向けられたリ
クエストメッセージのトラヒック数を持つものと測定さ
れる。ユーザローカルアクセスポイント5は、サービス
ルータ“f”によって、単位時間当たりに、T=50に
相当するサーバ40に向けられたリクエストメッセージ
のトラヒック数を持つものと測定される。ユーザローカ
ルアクセスポイント6は、サービスルータ“g”によっ
て、単位時間当たりに、T=50に相当するサーバ40
に向けられたリクエストメッセージのトラヒック数を持
つものと測定される。ユーザローカルアクセスポイント
7は、サービスルータ“a”によって、単位時間当たり
に、T=50に相当するサーバ40に向けられたリクエ
ストメッセージのトラヒック数を持つものと測定され
る。ユーザローカルアクセスポイント8は、サービスル
ータ“b”によって、単位時間当たりに、T=200に
相当するサーバ40に向けられたリクエストメッセージ
のトラヒック数を持つものと測定される。
【0027】各監視期間において、各網リンクは、サー
バ40上の元キャッシュ“P”内にデータセットの一部
として内に格納されている10メガビットファイルに向
けられた量“T”に相当するリクエストをパスすること
を監視(観測)される。図5のルータを相互接続する1
1個の網リンクの状況は以下の通りである。ルータ
“a”とルータ“b”を接続する網リンク“a−b”
は、単位時間当たりに、T=850に相当するサーバ4
0に向けられたリクエストメッセージのトラヒック数を
持つ。ルータ“b”とルータ“c”を接続する網リンク
“b−c”は、単位時間当たりに、T=175に相当す
るサーバ40に向けられたリクエストメッセージのトラ
ヒック数を持つ。ルータ“c”とルータ“d”を接続す
る網リンク“c−d”は、単位時間当たりに、T=0に
相当するサーバ40に向けられたリクエストメッセージ
のトラヒック数を持つ。ルータ“d”とルータ“e”を
接続する網リンク“d−e”は、単位時間当たりに、T
=0に相当するサーバ40に向けられたリクエストメッ
セージのトラヒック数を持つ。ルータ“e”とルータ
“f”を接続する網リンク“e−f”は、単位時間当た
りに、T=0に相当するサーバ40に向けられたリクエ
ストメッセージのトラヒック数を持つ。ルータ“f”と
ルータ“g”を接続する網リンク“f−g”は、単位時
間当たりに、T=50に相当するサーバ40に向けられ
たリクエストメッセージのトラヒック数を持つ。ルータ
“g”とルータ“a”を接続する網リンク“g−a”
は、単位時間当たりに、T=100に相当するサーバ4
0に向けられたリクエストメッセージのトラヒック数を
持つ。ルータ“d”とルータ“h”を接続する網リンク
“d−h”は、単位時間当たりに、T=250に相当す
るサーバ40に向けられたリクエストメッセージのトラ
ヒック数を持つ。ルータ“e”とルータ“h”を接続す
る網リンク“e−h”は、単位時間当たりに、T=22
5に相当するサーバ40に向けられたリクエストメッセ
ージのトラヒック数を持つ。ルータ“f”とルータ
“h”を接続する網リンク“f−h”は、単位時間当た
りに、T=0に相当するサーバ40に向けられたリクエ
ストメッセージのトラヒック数を持つ。ルータ“h”と
ルータ“b”を接続する網リンク“h−b”は、単位時
間当たりに、T=475に相当するサーバ40に向けら
れたリクエストメッセージのトラヒック数を持つ。
【0028】図5の網に対する帯域幅コストC[BW]
が、図4のステップ402において、単位時間当たりの
リクエスト数に基づいて定められた比例定数と、各リン
ク上の単位時間当たりのリクエストの総数との積として
計算される。この例のような単位時間当たりのリクエス
ト数に対しては、メガビット当たりのコストは、0.1
であるものと想定される。図5の11個の網リンクに対
する“T”の値の総和は、2125である。このため
に、ステップ402において、図5の網に対しては、帯
域幅コストC[BW]は、2125として計算される
(これは、2125リクエストと、リクエスト当たり1
0メガビットと、メガビット当たりのコスト0.1を掛
けた値である)。
【0029】次に、図4のステップ402において、C
[STO]、すなわち、ベース位置における格納コスト
が計算される。この例では、この値は、500とされ
る。次に、図4のステップ402において、C[RE
P]、すなわち、単一のサーバにおけるレプリカ作成コ
ストが計算される。まだレプクカは作成されてないため
に、この値は、0である。次に、図4のステップ402
において、C[OC]、すなわち、オパチュニティコス
トが計算される。市場調査から、失われたヒット当たり
のオパチュニティコストは5であることが知られてい
る。また、実験的な観測によると、時間当たりに失われ
るヒットの数は100であることが知られている。こう
して、C[OC]、すなわち、オパチュニティコストの
値は、この例では、500となる。次に、図4のステッ
プ402において、C[PU]、すなわち、複製された
コピーをこれらが陳腐化しないように更新することと関
連する更新コストが計算される。ここではまだレプリカ
の作成は行なわれてないために、この値は0である。こ
うして、図4のステップ402において、C[T]=C
[BW]+C[STO]+C[REP]+C[OC]+
C[UP]が、2125+500+0+500+0=3
125の値を持つものとして計算される。
【0030】次に、図4のステップ404において、一
つあるいは複数の宛先キャッシュの所に終端するリンク
が、最も高いコストを持つリンクから最も低いコストを
持つリンクの順番に分類される。図5の一例としての網
では、こうして分類されるリンクの順番は、以下の通り
である: 網リンク“a−b” T=850 網リンク“g−a” T=100
【0031】次に、図4のステップ406において、ル
ープが開始される。つまり、現存のキャッシュに終端す
る各リンク“I”に対してステップ408および410
が遂行される。具体的には、ステップ408の入れ子ル
ープにおいて発見されたリンク“I”に寄与する各ソー
ス“S”に対して、ステップ410において、ソースの
深さ(そのリンクに至る経路に沿ってのセグメント数)
および重み(例えば、帯域幅寄与)が見つけられる。図
5の網の場合は、ステップ406は、最も高いコストを
持つリンク、すなわち、T=850を持つ網リンク“a
−b”から開始される。
【0032】網リンク“a−b”へのトラヒックのソー
スは、ルータc、d、e、h、およびユーザローカルア
クセスポイント8である。ステップ408において、入
れ子ループが開始され、網リンク“a−b”に寄与する
各ソースに対して、ステップ410が遂行される。具体
的には、ルータ“e”の寄与については、ステップ41
0は、深さ(このリンクに至る経路に沿ってのセグメン
トの数)は、セグメントe−h、セグメントh−b、お
よびセグメントb−aの3つであることを見つける。こ
のため、ステップ410は、ルータ“e”からの寄与
は、ルータ“e”からの単位時間当たりのリクエストの
数T=225に、深さ値3を乗じ、675であると計算
する。もし、ルータ“e”の網リンク“a−b”への寄
与を削除した場合は、675のコストが回避されること
となる。例えば、図5においては、サーバ47が、ルー
タ“e”に接続されているが、もし、サーバ47を元キ
ャッシュ“P”内のデータセットに対するレプリカサー
バとした場合は、675のコストが回避できることとな
る。ただし、このコストの回避は、サーバ47内にデー
タセットを複製するのに要するコストと差し引き計算す
る必要がある。この差し引き計算は、後に説明されるよ
うに、ステップ414および416において遂行され
る。
【0033】ルータ“d”の寄与については、ステップ
410は、深さ(リンクa−bに至る経路に沿ってのセ
グメント数)は、セグメントd−h、セグメントh−
b、およびセグメントb−aの3つであることを見つけ
る。このため、ステップ410は、ルータ“d”からの
寄与は、ルータ“d”からの単位時間当たりのリクエス
トの数T=250に、深さ値3を乗じ、750であると
計算する。もし、ルータ“d”の網リンク“a−b”へ
の寄与が削除された場合は、750のコストが回避され
ることとなる。例えば、図5においては、サーバ49
が、ルータ“d”に接続されているが、もし、サーバ4
9を元キャッシュ“P”内のデータセットに対するレプ
リカサーバとした場合は、750のコストが回避できる
こととなる。ただし、このコストの回避は、サーバ49
内にデータセットを複製するのに要するコストと差し引
き計算する必要がある。この差し引き計算は、後に説明
されるように、ステップ414および416において遂
行される。
【0034】ルータ“c”の寄与については、ステップ
410は、深さ(リンクa−bに至る経路に沿ってのセ
グメント数)は、セグメントc−b、およびセグメント
b−aの2つであることを見つける。このため、ステッ
プ410は、ルータ“c”からの寄与は、ルータ“c”
からの単位時間当たりのリクエストの数T=175に、
深さ値2を乗じ、350であると計算する。もし、ルー
タ“c”の網リンク“a−b”への寄与が削除された場
合は、350のコストが回避されることとなる。例え
ば、図5においては、サーバ48が、ルータ“c”に接
続されているが、もし、サーバ48を元キャッシュ
“P”内のデータセットに対するレプリカサーバとした
場合は、350のコストが回避できることとなる。ただ
し、このコストの回避は、サーバ48内にデータセット
を複製するのに要するコストと差し引き計算する必要が
ある。この差し引き計算は、後に説明されるように、ス
テップ414および416において遂行される。
【0035】ルータ“h”の寄与については、ステップ
410は、深さ(リンクa−bに至る経路に沿ってのセ
グメント数)は、セグメントh−b、およびセグメント
b−aの2つであることを見つける。このため、ステッ
プ410は、ルータ“h”からの寄与は、ルータ“h”
からの単位時間当たりのリクエストの数T=475に、
深さ値2を乗じ、950であると計算する。もし、ルー
タ“h”の網リンク“a−b”への寄与が削除された場
合は、950のコストが回避されることとなる。例え
ば、図5においては、サーバ44が、ルータ“h”に接
続されているが、もし、サーバ44を元キャッシュ
“P”内のデータセットに対するレプリカサーバとした
場合は、950コストが回避できることとなる。ただ
し、このコストの回避は、サーバ44内にデータセット
を複製するのに要するコストと差し引き計算する必要が
ある。この差し引き計算は、後に説明されるように、ス
テップ414および416において遂行される。
【0036】ユーザローカルアクセスポイント“8”の
寄与については、ステップ410は、深さ(リンクa−
bに至る経路に沿ってのセグメント数)は、セグメント
b−aの1つであることを見つける。このため、ステッ
プ410は、ユーザローカルアクセスポイント“8”か
らの寄与は、ユーザローカルアクセスポイントからの単
位時間当たりのリクエストの数T=200に、深さ値1
を乗じ、200であると計算する。もし、ユーザローカ
ルアクセスポイント“8”の網リンク“a−b”への寄
与が削除された場合は、200のコストが回避されるこ
ととなる。例えば、図5においては、サーバ46が、ル
ータ“b”に接続されているが、もし、サーバ46を元
キャッシュ“P”内のデータセットに対するレプリカサ
ーバとした場合は、850のコストが回避できることと
なる。ただし、このコストの回避は、サーバ46内にデ
ータセットを複製するのに要するコストと差し引き計算
する必要がある。この差し引き計算は、後に説明される
ように、ステップ414および416において遂行され
る。
【0037】図5の網に対しては、ステップ405にお
いて開始されたループは、次に高いコストを持つリン
ク、すなわち、T=100を持つ網リンク“g−a”に
対して継続される。
【0038】次に、図4のステップ412において、ス
テップ406、408、410から決定された深さおよ
び重みに基づいて候補サーバノードについて評価され
る。図5の例の場合は、元キャッシュ“P”内のデータ
セットのレプリカキャッシュを格納することが可能な6
つの候補サーバが存在する。サーバ42は、ルータ
“f”によって網に接続される。サーバ44は、ルータ
“h”によって網に接続される。サーバ46は、ルータ
“b”によって網に接続される。サーバ47は、ルータ
“e”によって網に接続される。サーバ48は、ルータ
“c”によって網に接続される。サーバ49は、ルータ
“d”によって網に接続される。
【0039】ステップ412は、上のステップ406、
408、410によって遂行されたループの結果を用い
る。サーバ44が、元キャッシュ“P”内のデータセッ
トに対するレプリカサーバとされた場合は、950のコ
ストが回避されることとなる。サーバ46が、元キャッ
シュ“P”内のデータセットに対するレプリカサーバと
された場合は、850のコストが回避されることとな
る。サーバ47が、元キャッシュ“P”内のデータセッ
トに対するレプリカサーバとされた場合は、675のコ
ストが回避されることとなる。サーバ48が、元キャッ
シュ“P”内のデータセットに対するレプリカサーバと
された場合は、350のコストが回避されることとな
る。サーバ49が、元キャッシュ“P”内のデータセッ
トに対するレプリカサーバとされた場合は、750のコ
ストが回避されることとなる。これら結果を評価するこ
とで、ステップ412は、レプリカキャッシュに対する
最良な候補は、ルータ“h”に接続されたサーバ44で
あることを決定する。
【0040】次に、図4のステップ414において、ト
ライアルとしての新たな網トラヒックパターンが生成さ
れる。これは、以前は候補レプリカキャッシュサーバ付
近のルータから元キャッシュサーバに向かうように転送
されていた元キャッシュトラヒックを、候補サーバに転
送するように指定することによって行なわれる。こうし
て、ステップ414において、トライアルとしての新た
な網トラヒックパターンの総コストC[T]が計算され
る。
【0041】図6は、図5の網を、トライアルとしての
新たな網トライアルパターンがサーバ44上の候補レプ
リカキャッシュ“A”と、サーバ40上の元キャッシュ
“P”に転送されるように変更することによって得られ
る網の状態を示す。ステップ414において、以前は候
補レプリカキャッシュサーバ44付近のルータd、e、
fから元キャッシュサーバ40に向かうように転送され
ていたキャッシュトラヒックが、候補サーバ44に向か
うように指定される。次に、ステップ414において、
図6の網のこのトライアルとしての新たな網トライアル
パターンの総コストC[T]が計算される。
【0042】図6の網のトライアルとしての新たな網ト
ラヒックパターンを扱うルータを相互接続する11個の
網リンクは、以下のようなトラヒックを持つ。つまり、
ルータ“a”と“b”を接続する網リンク“a−b”
は、サーバ40に向かうT=375に相当する単位時間
当たりのリクエストメッセージのトラヒック数を持ち、
ルータ“b”と“c”を接続する網リンク“b−c”
は、サーバ40に向かうT=175に相当する単位時間
当たりのリクエストメッセージのトラヒック数を持ち、
ルータ“c”と“d”を接続する網リンク“c−d”
は、T=0に相当する単位時間当たりのリクエストメッ
セージのトラヒック数を持ち、ルータ“d”と“e”を
接続する網リンク“d−e”は、T=0に相当する単位
時間当たりのリクエストメッセージのトラヒック数を持
ち、ルータ“e”と“f”を接続する網リンク“e−
f”は、T=0に相当する単位時間当たりのリクエスト
メッセージのトラヒック数を持ち、ルータ“f”と
“g”を接続する網リンク“f−g”は、T=0に相当
する単位時間当たりのリクエストメッセージのトラヒッ
ク数を持ち、ルータ“d”と“h”を接続する網リンク
“d−h”は、レプリカキャッシュサーバ44に向かう
T=250に相当する単位時間当たりのリクエストメッ
セージのトラヒック数を持ち、ルータ“e”と“h”を
接続する網リンク“e−h”は、レプリカキャッシュサ
ーバ44に向かうT=225に相当する単位時間当たり
のリクエストメッセージのトラヒック数を持ち、ルータ
“f”と“h”を接続する網リンク“f−h”は、レプ
リカキャッシュサーバ44に向かうT=50に相当する
単位時間当たりのリクエストメッセージのトラヒック数
を持ち、ルータ“f”と“b”を接続する網リンク“h
−b”は、T=0に相当する単位時間当たりのリクエス
トメッセージのトラヒック数を持つ。
【0043】図4のステップ414において、図6の網
に対する帯域幅コストC[BW]が、単位時間当たりの
リクエスト数に基づいて定められた比例定数と、各リン
ク上の単位時間当たりのリクエストの総数の積として計
算される。この例の単位時間当たりのリクエスト数に対
しては、メガビット当たりのコストは、0.1であるも
のと想定される。図6の11個の網リンクに対する
“T”の値の総和は、1125であり、こうして、ステ
ップ414において、図6の網に対する帯域幅コストC
[BW]は、1125であるものと計算される。
【0044】次に、図4のステップ414において、C
[STO]、すなわち、ベース位置における格納コスト
が計算される。この例では、この値は、500とされ
る。次に、図4のステップ414において、C[RE
P]、すなわち、単一のレプリカキャッシュサーバ44
におけるレプリカ作成コストが計算される。この例で
は、メガビット当たりのレプリカ作成コスト(一日当た
り)は、50であると想定される。10メガビットファ
イルに対しては、これは、500に相当するレプリカ作
成コストC[REP]となる。次に、図4のステップ4
14において、C[OC]、すなわち、オパチュニティ
コストが計算される。レプリカキャッシュ“A”を追加
することにより、データベースへのアクセスに対する全
てのユーザリクエストが満たされることが期待されるた
めに、オパチュニティコストに対するC[OC]の値
は、この例では、0となる。次に、図4のステップ41
4において、C[UP]、すなわち、複製されたコピー
を、これらを陳腐化させないために更新することと関連
する更新コストが計算される。この例では、更新コスト
は、100であると想定される。こうして、図4のステ
ップ414は、C[T]=C[BW]+C[STO]+
C[REP]+C[OC]+C[UP]を、1125+
500+500+0+100=2225の値を持つもの
として計算する。
【0045】次に、図4のステップ416において、こ
のトライアルとしての新たな網トラヒックパターンが、
キャッシュの現存の分配より低い総コストC[T]を与
えるか否か決定される。図6の網に対しては、ステップ
416は、トライアルとしての新たなトラヒックパター
ンの総コストC[T]は、図5のキャッシュの現存の分
配では3125であるのに対して、2225であり、よ
り低い総コストを与えるものと決定する。こうして、ス
テップ416において、図6のトライアルとしての新た
な網トラヒックパターンを実際に用い、網のルータに対
する新たなルータ割当ての基礎となるべきことを決定す
る。
【0046】次に、図4のステップ418において、こ
の新たな割当てが、本発明によるグループカースティン
グの原理に基づいて、全てのルータに一斉に送信され
る。図6の一例としての網においては、ルータ“a”
が、図7Bに示すような新たなルータテーブル336
を、ルータb、c、d、e、f、g、hに一斉に送信す
る。つまり、本発明の原理によると、宛先キャッシュの
識別を選択的に提供する単一のルータテーブル336
が、多数の網ルータに、ルーティング機能を遂行してい
るルータの識別に基づいて一斉に送られる。この割当て
メッセージ210が、図8Aに示される。この割当てメ
ッセージ210は、宛先ルータを指定するフィールド2
12、ソースルータを指定するフィールド214、およ
びコスト/ベニフィット分析アルゴリズム415によっ
て計算された新たなルーティング割当てを指定するフィ
ールド212を含む。次に、図8Bに示すようなレプリ
カ作成メッセージ802が、ルータ“a”から、例え
ば、ルータ“h”に向けて、新たなサーバ44にデータ
セットのコピーをレプリカキャッシュ“A”として提供
するために送られる。この割当てメッセージ210のフ
ィールド212は、宛先ルータとしてルータ“h”を指
定し、フィールド214は、ソースルータとしてルータ
“a”を指定する。
【0047】図4のステップ418は、次に、ステップ
402にループバックする。ただし、ステップ402へ
のループバックは、ステップ420において、ルータ3
0によって、新たなトラヒック監視データが受信される
まで遅延することも可能である。次に、図7Aの元の現
存のルータテーブル334が破棄され、図7Bの新たな
ルータテーブル336が新たな現存のルータテーブルと
なる。このようにして、図4の最適レプリカキャッシュ
割当てプログラム330は、網内のトラヒックの分配を
定期的に再評価することで、網をトラヒックパターンの
変化に適応させる。
【0048】割当てプログラム330は、もはや不要と
なったレプリカキャッシュを網から削除する動作も行な
う。例えば、トラヒックパターンが、図6に示されるパ
ターンから変化したものと想定する。例えば、ユーザロ
ーカルアクセスポイント4からサーバ44のレプリカキ
ャッシュ“A”に向かう単位時間当たりのリクエストメ
ッセージのトラヒック数がT=25に変化し、ユーザロ
ーカルポイント3からサーバ44のレプリカキャッシュ
“A”に向かう単位時間当たりのリクエストメッセージ
のトラヒック数がT=50に変化したものと想定する。
ステップ412において、サーバ44からレプリカキャ
ッシュ“A”を削除することに対するトレードフオが計
算されるが、ステップ412は、レプリカキャッシュ
“A”が削除された場合のリンクh−bとリンクb−a
上のトラヒックの増加は、T=150であることを決定
する。ステップ412は、また、レプリカキャッシュ
“A”の削除により、500のレプリカ作成コストが節
約されることを決定する。このために、ステップ412
は、レプリカキャッシュが削除された場合は、正味で3
50の得となることを認識する。この場合、ステップ4
16において、レプリカキャッシュ“A”を破棄するこ
とが決定され、次に、ステップ418において、この新
たな割当てが網内の全てのルータに一斉に送信される。
【0049】本発明によると、逆ツリー生成法を用い
て、網内のキャッシュが、使用パターンの変化に対応し
て動的に再編成される。これは、インターネットトラヒ
ックが時間および地域の両方において動的に変化するこ
とう問題を解決する。一日の内のある時間帯はアクティ
ブであるが(トラヒック数が多いが)、他の時間帯は全
くインアクティブである(トラヒック数が少ない)地域
が存在する。本発明はこの問題を、リプリカキャッシュ
作成の決定を使用パターンの変化に基づいて動的に行な
うことによって解決する。本発明は、レプリカキャッシ
ュを追加する“発芽(grow)”決定と、これらを削除す
る“刈り込み(prune )”決定を絶えず更新する。この
ため、動的に変化するコア位置にレプリカキャッシュサ
ーバを持つ動的なツリーが得られる。つまり、結果的
に、最小の重みを持つスパニングツリーが“オン・ザ・
フライ”にて高速に構築される。レプリカキャッシュサ
ーバの所に陳腐化したデータが蓄積するのを回避するた
めに、各サーバは、サーバキャッシュ同期プロトコルな
どのプロトコルを用いて絶えず(必要に応じて)更新さ
れる。
【0050】本発明の実施における一つの特徴は、ユー
ザが、ユーザに最も近い所に位置するレプリカキャッシ
ュサーバにアクセスすることである。一つの実施例にお
いては、ユーザは、最初に、ユーザの宛先ポイントに接
続され、そのアプリケーションに対するツリー構造を見
つけた後に、スパニングツリー内の最も適当なノードに
向けて接続を設定する。一つの代替の実施例において
は、各アプリケーションは、マルチカーストグループと
して扱われ、そのグループに加わることを求めるユーザ
は、対応するグループカースト能力を持つルータにルー
トされる。グループカースト(GC)は、概念的には、
マルチカーストと類似するが、ただし、反対の方向に機
能する。グループカースト(GC)ルータは、更新され
たルーティングテーブルを維持し、常時は、普通のルー
タとして機能し、新たな最小の重みのスパニングツリー
の構築が開始されるとルーティングテーブル内の項目を
更新する。
【0051】本発明は、レプリカキャッシュの分配を使
用パターンの変化に基づいて動的に変更するための方法
を提供する。本発明は、これを、逆ツリー生成法を用い
て達成する。本発明は、レプリカキャッシュの分配を動
的に最適化するに当たってアクセスの失敗のために失わ
れた顧客のオパチュニティコストも用いる。
【0052】網ルータによって遂行される監視プロセス
の追加の機能として、これらデータセット下部のアプリ
ケーションに向けられたサーバヒット情報の収集を含む
ことも可能である。これは、キャッシュ内に格納された
データセットの所有者による市場調査のために有益であ
る。本発明の他の用途として、サーバの地域差を収容す
る地域的なアプリケーションも考えられる。例えば、新
聞、公告、販売促進等の地域版をローカルサーバに掲載
することも可能である。
【0053】本発明の様々な実施例が詳細に説明され
た。ただし、加えて、これら実施例に対する多くの修正
および変更が、本発明の範囲および精神から逸脱するこ
となく可能である。
【図面の簡単な説明】
【図1A】自身を、3つのサービス領域が得られるよう
に、一つの元キャッシュと、2つのレプリカキャッシュ
を持つように編成する一例としての網の一連の状態を示
す図その1である。
【図1B】自身を、3つのサービス領域が得られるよう
に、一つの元キャッシュと、2つのレプリカキャッシュ
を持つように編成する一例としての網の一連の状態を示
す図その2である。
【図1C】自身を、3つのサービス領域が得られるよう
に、一つの元キャッシュと、2つのレプリカキャッシュ
を持つように編成する一例としての網の一連の状態を示
す図その3である。
【図1D】自身を、3つのサービス領域が得られるよう
に、一つの元キャッシュと、2つのレプリカキャッシュ
を持つように編成する一例としての網の一連の状態を示
す図その4である。
【図1E】自身を、3つのサービス領域が得られるよう
に、一つの元キャッシュと、2つのレプリカキャッシュ
を持つように編成する一例としての網の一連の状態を示
す図その5である。
【図1F】図Eの網を、自身を元キャッシュと、修正さ
れたサービス領域を持つ修正されたレプリカキャッシュ
を持つように定期的に再編成した結果として得られる網
の状態を示す図である。
【図2A】図1A〜1Eの一例としての網に対するルー
タ制御のためのメッセージフォーマットを示す図その1
である。
【図2B】図1A〜1Eの一例としての網に対するルー
タ制御のためのメッセージフォーマットを示す図その2
である。
【図2C】図1A〜1Eの一例としての網に対するルー
タ制御のためのメッセージフォーマットを示す図その3
である。
【図2D】割当てメッセージを示す図である。
【図2E】図1Eの一例としての網に対するレプリカ作
成メッセージを示す図である。
【図2F】一例としての割当てメッセージを示す図であ
る。
【図2G】一例としてのレプリカ作成メッセージを示す
図である。
【図3】図1Aのルータのアーキテクチャを略図にて示
す図である。
【図4】最適レプリカキャッシュ割当てプログラムを流
れ図にて示す図である。
【図5】第二の例としての網の第一のステージの編成を
示す図である。
【図6】図5の第二の例としての網の第二のステージの
編成を示す図である。
【図7A】図5の網編成に対するルータテーブルを示す
図である。
【図7B】図6の網編成に対するルータテーブルを示す
図である。
【図8A】図6の第二の例としての網の第二のステージ
の編成に対する割当てメッセージを示す図である。
【図8B】図6の第二の例としての網の第二のステージ
の編成に対するレプリカ作成メッセージを示す図であ
る。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H04L 12/66 (72)発明者 アドリアン エマニュエル エックバーグ ジュニヤ アメリカ合衆国 07733 ニュージャーシ イ,ホルムデル,フローラ ドライヴ 11 (72)発明者 プラヴィン クマー ジョーリ アメリカ合衆国 07747 ニュージャーシ イ,アバーデーン,ウッドマン プレイス 20 (72)発明者 ダニエル リウ アメリカ合衆国 07733 ニュージャーシ イ,ホルムデル,アルパイン ロード 42

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 複数の地域を含む網内で用いられる、こ
    れら地域間に情報のレプリカキャッシュを分配するため
    の方法であって、前記の各地域が一つのルータ、一つの
    サーバ、および複数のユーザ端末を含み、前記ルータが
    前記サーバおよび前記複数のユーザ端末を前記網に接続
    し、この方法が:第一の地域内のプロセッサを用いて、
    前記網内のユーザ端末によって前記情報を求めてなされ
    たリクエストの数(測度)を測定するステップ;および
    前記プロセッサが、前記リクエストの数(測度)に応答
    して、少なくとも一つの他の地域内のルータに向けて、
    前記情報のコピーをレプリカキャッシュとして格納する
    ことを指令するメッセージを送信するステップを含むこ
    とを特徴とする方法。
  2. 【請求項2】 さらに:前記第一の地域内の前記プロ
    セッサが、前記リクエストの数に応答して、少なくとも
    一つの他の地域内のルータに向けて、前記ユーザ端末に
    よってなされた前記リクエストを前記レプリカキャッシ
    ュに向けて転送することを指令するメッセージを送信す
    るステップを含むことを特徴とする請求項1の方法。
  3. 【請求項3】 さらに:前記第一の地域内の前記プロセ
    ッサが、前記リクエストの数に応答して、少なくとも一
    つの他の地域内の前記ルータを、コスト(損)/ベニフ
    ィット(益)分析を用いて選択するステップを含むこと
    を特徴とする請求項1の方法。
  4. 【請求項4】 さらに:前記第一の地域内の前記プロセ
    ッサが、前記リクエストの数に応答して、少なくとも一
    つの他の地域内の前記ルータを、コスト/ベニフィット
    分析を用いて選択するステップを含み、前記分析が前記
    網内のキャッシュの分配の総コストを計算するステップ
    を含むことを特徴とする請求項1の方法。
  5. 【請求項5】 さらに:前記第一の地域内の前記プロセ
    ッサが、前記リクエストの数に応答して、少なくとも一
    つの他の地域内の前記ルータを、コスト/ベニフィット
    分析を用いて選択するステップを含み、前記分析がレプ
    リカキャッシュを持たないことによって失われる機会の
    コスト(オパチュニティーコスト)を計算するステップ
    を含むことを特徴とする請求項1の方法。
  6. 【請求項6】 複数の地域を含む網内で用いられる、こ
    れら地域間に情報のレプリカキャッシュを分配するため
    の方法であって、前記の各地域が一つのルータ、一つの
    サーバ、および複数のユーザ端末を含み、前記ルータが
    前記サーバおよび前記複数のユーザ端末を前記網に接続
    し、この方法が:第一の地域から他の地域内の複数のル
    ータに向けて、前記他のルータに対して前記第一の地域
    内の第一のサーバに向けられた前記情報の配達を求める
    リクエストの数を監視(測定)することを指令する監視
    リクエストメッセージを送信するステップ;監視応答メ
    ッセージを前記他のルータから受信するステップ;およ
    び前記応答メッセージに応答して、前記他のルータの少
    なくとも一つに、前記情報のコピーをレプリカキャッシ
    ュとして格納することを指令するメッセージを送信する
    ステップを含むことを特徴とする方法。
  7. 【請求項7】 さらに:前記応答メッセージに応答し
    て、少なくとも一つの他の地域内のルータに、前記第一
    のサーバに向けられたリクエストを前記レプリカキャッ
    シュに向けて転送することを指令するメッセージを送信
    するステップを含むことを特徴とする請求項6の方法。
  8. 【請求項8】 さらに:前記応答メッセージに応答し
    て、前記第一のサーバを、コスト/ベニフィット分析を
    用いて選択するステップを含むことを特徴とする請求項
    6の方法。
  9. 【請求項9】 さらに:前記応答メッセージに応答し
    て、前記第一のサーバを、コスト/ベニフィット分析を
    用いて選択するステップを含み、前記分析が前記網内の
    キャッシュの分配の総コストを計算するステップを含む
    ことを特徴とする請求項6の方法。
  10. 【請求項10】 さらに:前記応答メッセージに応答し
    て、前記第一のサーバを、コスト/ベニフィット分析を
    用いて選択するステップを含み、前記分析がレプリカキ
    ャッシュを持たないことによって失われる機会のコスト
    (オパチュニティーコスト)を計算するステップを含む
    ことを特徴とする請求項6の方法。
  11. 【請求項11】 複数の地域を含む網内で用いられる、
    これら地域間への情報のレプリカキャッシュの分配を最
    適化するための方法であって、前記の各地域が一つのル
    ータ、一つのサーバ、および複数のユーザ端末を含み、
    前記ルータが前記サーバおよび前記複数のユーザ端末を
    前記網に接続し、この方法が:前記網の第一の地域内の
    第一のルータの所で、前記網内の複数のユーザから情報
    の元コピーを格納する第一の地域内の第一のサーバに向
    けられたサービスリクエストメッセージを受信するステ
    ップ;前記第一のルータから、前記網内の第二の地域内
    の第二のルータに向けて、前記第二のルータに対して前
    記第一のサーバに向けられたサービスリクエストの数を
    監視(測定)することを指令する監視リクエストメッセ
    ージを送信するステップ;前記第一のルータの所で、前
    記第二のルータからの前記第一のサーバに向けられたサ
    ービスリクエストの数を示す監視応答メッセージを受信
    するステップ;前記第一のルータの所で、前記網のもう
    一つの地域内のもう一つのサーバ内に格納すべき前記情
    報のレプリカコピーの最適な割当てを計算するステッ
    プ;および前記第一のルータから、前記もう一つのサー
    バに向けて割当てメッセージを送信するステップを含
    み、このもう一つのサーバが、この割当てメッセージに
    基づいて前記情報の前記レプリカコピーを格納し、前記
    網のこうして割当てられた下位の複数の地域内のユーザ
    端末にサービスを提供することを特徴とする方法。
  12. 【請求項12】 さらに:前記計算ステップが、前記も
    う一つのサーバを、コスト/ベニフィット分析を用いて
    選択するステップを含むことを特徴とする請求項11の
    方法。
  13. 【請求項13】 さらに:前記計算ステップが、前記も
    う一つのサーバを、コスト/ベニフィット分析を用いて
    選択するステップを含み、前記分析が前記網内のキャッ
    シュの分配の総コストを計算するステップを含むことを
    特徴とする請求項11の方法。
  14. 【請求項14】 さらに:前記計算ステップが、前記も
    う一つのサーバを、コスト/ベニフィット分析を用いて
    選択するステップを含み、前記分析がレプリカキャッシ
    ュを持たないことによって失われる機会のコスト(オパ
    チュニティーコスト)を計算するステップを含むことを
    特徴とする請求項11の方法。
  15. 【請求項15】 複数の地域を含む網内で用いられる、
    これら地域間への情報のレプリカキャッシュの分配を最
    適化するための方法であって、前記の各地域が一つのル
    ータ、一つのサーバ、および複数のユーザ端末を含み、
    前記ルータが前記サーバおよび前記複数のユーザ端末を
    前記網に接続し、この方法が:前記網内の複数のユーザ
    から送られてくるサービスリクエストメッセージを情報
    の元コピーを格納する第一の地域内の第一のサーバに転
    送するステップ;前記網の第二の地域内の第二のルータ
    所で、前記第一のルータから送られた前記第二のルータ
    に対して前記第一のサーバに向けられたサービスリクエ
    ストの数を監視(測定)するように指令する監視リクエ
    ストメッセージを受信するステップ;前記第二のルータ
    の所で、前記第一のサーバに向けられたサービスリクエ
    ストの数を監視するステップ;前記第二のルータから、
    前記第二のルータに向けて、前記第一のサーバに向けら
    れたサービスリクエストの数を示す監視応答メッセージ
    を送信するステップ;前記第二のルータの所で、前記第
    一のルータから送られた前記網の前記第二の地域内の第
    二のサーバ内に格納すべき前記情報のレプリカコピーの
    最適割当てを含む割当てメッセージを受信するステッ
    プ;および前記第二のサーバが前記割当てメッセージに
    基づいて前記情報の前記レプリカコピーを格納し、前記
    網のこうして割当てられた下位の複数の地域内のユーザ
    端末にサービスを提供するステップを含むことを特徴と
    する方法。
  16. 【請求項16】 複数の地域を含む網内で用いられる、
    これら地域間に情報のレプリカキャッシュを分配するた
    めのシステムであって、前記の各地域が一つのルータ、
    一つのサーバ、および複数のユーザ端末を含み、前記ル
    ータが前記サーバおよび前記複数のユーザ端末を前記網
    に接続し、このシステムが:第一の地域内のルータ;前
    記ルータに接続された、前記網内のユーザ端末によって
    前記情報を求めてなされたリクエストの数を測定するた
    めのプロセッサを含み;前記第一の地域内のルータが、
    前記リクエストの数に応答して、少なくとも一つの他の
    地域内のルータに向けて、前記情報のコピーをレプリカ
    キャッシュとして格納することを指令するメッセージを
    送信することを特徴とするシステム。
  17. 【請求項17】 さらに:前記第一の地域内の前記ル
    ータが、前記リクエストの数に応答して、少なくとも一
    つの他の地域内のルータに向けて、前記ユーザ端末によ
    ってなされた前記リクエストを前記レプリカキャッシュ
    に向けて転送することを指令するメッセージを送信する
    ことを特徴とする請求項16のシステム。
  18. 【請求項18】 さらに:前記プロセッサが、前記リク
    エストの数に応答して、少なくとも一つの他の地域内の
    前記ルータを、コスト/ベニフィット分析を用いて選択
    することを特徴とする請求項16のシステム。
  19. 【請求項19】 さらに:前記プロセッサが、前記リク
    エストの数に応答して、少なくとも一つの他の地域内の
    前記ルータを、コスト/ベニフィット分析を用いて選択
    し、前記分析が前記網内のキャッシュの分配の総コスト
    を計算することを特徴とする請求項16のシステム。
  20. 【請求項20】 さらに:前記プロセッサが、前記リク
    エストの数に応答して、少なくとも一つの他の地域内の
    前記ルータを、コスト/ベニフィット分析を用いて選択
    し、前記分析がレプリカキャッシュを持たないことによ
    って失われる機会のコスト(オパチュニティーコスト)
    を計算することを特徴とする請求項16のシステム。
JP16046398A 1997-06-09 1998-06-09 逆ツリー生成法を用いて網内にキャッシュを動的に複製する方法およびシステム Expired - Fee Related JP4344024B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/871,106 US6189043B1 (en) 1997-06-09 1997-06-09 Dynamic cache replication in a internet environment through routers and servers utilizing a reverse tree generation
US08/871106 1997-06-09

Publications (2)

Publication Number Publication Date
JPH1145204A true JPH1145204A (ja) 1999-02-16
JP4344024B2 JP4344024B2 (ja) 2009-10-14

Family

ID=25356745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16046398A Expired - Fee Related JP4344024B2 (ja) 1997-06-09 1998-06-09 逆ツリー生成法を用いて網内にキャッシュを動的に複製する方法およびシステム

Country Status (5)

Country Link
US (1) US6189043B1 (ja)
EP (1) EP0884870B1 (ja)
JP (1) JP4344024B2 (ja)
CA (1) CA2237831C (ja)
DE (1) DE69816183T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065751A (ja) * 2005-08-29 2007-03-15 Hitachi Ltd ストレージシステム及び記憶制御方法
JP2008527538A (ja) * 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド メッセージング・システム内のキャッシング・エンジン
JP2012175299A (ja) * 2011-02-18 2012-09-10 Nippon Telegr & Teleph Corp <Ntt> キャッシュ設計装置、及びキャッシュ設計方法

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9702239L (sv) 1997-06-12 1998-07-06 Telia Ab Arrangemang för lastbalansering i datornät
JPH1168795A (ja) * 1997-08-26 1999-03-09 Nec Corp サーバボード方式
US6976093B2 (en) 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US7143193B1 (en) * 1998-05-29 2006-11-28 Yahoo! Inc. Content collection
US7581006B1 (en) 1998-05-29 2009-08-25 Yahoo! Inc. Web service
US7035943B2 (en) * 1998-05-29 2006-04-25 Yahoo! Inc. Web server content replication
US6331984B1 (en) * 1998-08-21 2001-12-18 Nortel Networks Limited Method for synchronizing network address translator (NAT) tables using the server cache synchronization protocol
US6178441B1 (en) * 1998-09-21 2001-01-23 International Business Machines Corporation Method and system in a computer network for the reliable and consistent ordering of client requests
US6477582B1 (en) * 1998-12-16 2002-11-05 Nortel Networks Limited Method and apparatus for conservative link selection
US6438606B1 (en) * 1998-12-23 2002-08-20 Cisco Technology, Inc. Router image support device
DE19900636B8 (de) 1999-01-11 2005-04-07 Gailer, Peter Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem sowie deren Verwendung
US6502175B1 (en) * 1999-03-31 2002-12-31 Lucent Technologies Inc. Method and apparatus for locating caches in a network to optimize performance
EP1049028A3 (en) * 1999-04-26 2001-01-31 Sarnoff Corporation Efficient distribution of information to the end-user
US6751191B1 (en) 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US6457011B1 (en) * 1999-07-23 2002-09-24 Microsoft Corporation Method of updating a shared database in a computer network
US7349979B1 (en) * 1999-12-02 2008-03-25 Cisco Technology, Inc. Method and apparatus for redirecting network traffic
US6839829B1 (en) 2000-01-18 2005-01-04 Cisco Technology, Inc. Routing protocol based redundancy design for shared-access networks
US7058007B1 (en) 2000-01-18 2006-06-06 Cisco Technology, Inc. Method for a cable modem to rapidly switch to a backup CMTS
US20020091855A1 (en) * 2000-02-02 2002-07-11 Yechiam Yemini Method and apparatus for dynamically addressing and routing in a data network
US6735623B1 (en) * 2000-02-09 2004-05-11 Mitch Prust Method and system for accessing a remote storage area
GB0005653D0 (en) * 2000-03-09 2000-05-03 Avantis Ltd Computer network
US7162539B2 (en) * 2000-03-16 2007-01-09 Adara Networks, Inc. System and method for discovering information objects and information object repositories in computer networks
US7395348B1 (en) * 2000-06-05 2008-07-01 Cisco Technology, Inc. Network cache-based content routing
US6950853B2 (en) * 2000-06-27 2005-09-27 The Regents Of The University Of California Multisite coordination in shared multicast trees
US7590558B2 (en) * 2000-09-26 2009-09-15 I2 Technologies Us, Inc. System and method for facilitating electronic commerce transactions
US6708161B2 (en) 2000-09-26 2004-03-16 I2 Technologies Us, Inc. System and method for selective database indexing
US20020111870A1 (en) * 2000-09-26 2002-08-15 I2 Technologies, Inc. System and method for identifying a product
US7299255B2 (en) * 2000-09-26 2007-11-20 I2 Technologies Us, Inc. System and method for migrating data in an electronic commerce system
US7743125B1 (en) * 2000-11-09 2010-06-22 General Electric Company Computer multiple communications port unit
US7146429B2 (en) * 2001-03-16 2006-12-05 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data requesting method
US7555561B2 (en) * 2001-03-19 2009-06-30 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data broadcasting method
US20020184403A1 (en) * 2001-04-06 2002-12-05 Dahlin Michael D. Methods for near-optimal bandwidth-constrained placement in a wide-area network
US7975042B2 (en) 2001-05-01 2011-07-05 International Business Machines Corporation Method for adapting an internet web server to short-term changes in demand
US7349868B2 (en) * 2001-05-15 2008-03-25 I2 Technologies Us, Inc. Pre-qualifying sellers during the matching phase of an electronic commerce transaction
US6983276B2 (en) * 2001-05-15 2006-01-03 I2 Technologies Us, Inc. Facilitating electronic commerce transactions using buyer profiles
US7475030B1 (en) 2001-05-16 2009-01-06 I2 Technologies Us, Inc. Facilitating electronic commerce transactions using a shared product data repository
US7881208B1 (en) 2001-06-18 2011-02-01 Cisco Technology, Inc. Gateway load balancing protocol
US7263515B1 (en) * 2001-06-18 2007-08-28 I2 Technologies Us, Inc. Content enhancement in an electronic marketplace
US7330829B1 (en) * 2001-06-26 2008-02-12 I2 Technologies Us, Inc. Providing market feedback associated with electronic commerce transactions to sellers
US7809672B1 (en) 2001-06-28 2010-10-05 I2 Technologies Us, Inc. Association of data with a product classification schema
US8086643B1 (en) 2001-06-28 2011-12-27 Jda Software Group, Inc. Translation between product classification schemas
US7162453B1 (en) 2001-06-29 2007-01-09 I2 Technologies Us, Inc. Protecting content from unauthorized reproduction
US7346560B1 (en) 2001-06-29 2008-03-18 I2 Technologies Us, Inc. Protecting content from unauthorized reproduction
US7290059B2 (en) * 2001-08-13 2007-10-30 Intel Corporation Apparatus and method for scalable server load balancing
EP1298854A1 (en) * 2001-10-01 2003-04-02 Hewlett-Packard Company Distribution of data in a peer-to-peer network
US7409396B2 (en) * 2002-02-08 2008-08-05 Pitts William M Method for creating an extensible content distribution framework
GB2385683A (en) * 2002-02-22 2003-08-27 Thirdspace Living Ltd Distribution system with content replication
US7412424B1 (en) 2002-03-19 2008-08-12 I2 Technologies Us, Inc. Third party certification of content in electronic commerce transactions
US8516114B2 (en) * 2002-03-29 2013-08-20 International Business Machines Corporation Method and apparatus for content pre-fetching and preparation
JP3729265B2 (ja) * 2002-08-22 2005-12-21 日本電気株式会社 ネットワークシステム、スパニングツリー構成方法、スパニングツリー構成ノード、及びスパニングツリー構成プログラム
US7111128B2 (en) * 2002-12-19 2006-09-19 Intel Corporation Hierarchical virtual model of a cache hierarchy in a multiprocessor system
US7917646B2 (en) * 2002-12-19 2011-03-29 Intel Corporation Speculative distributed conflict resolution for a cache coherency protocol
US6922756B2 (en) * 2002-12-19 2005-07-26 Intel Corporation Forward state for use in cache coherency in a multiprocessor system
US20040260745A1 (en) * 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
US7593346B2 (en) 2003-07-31 2009-09-22 Cisco Technology, Inc. Distributing and balancing traffic flow in a virtual gateway
US8655755B2 (en) * 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
US7856493B1 (en) * 2004-03-17 2010-12-21 Cisco Technology, Inc. Method and apparatus providing device-initiated network management
US20050262250A1 (en) * 2004-04-27 2005-11-24 Batson Brannon J Messaging protocol
US20050240734A1 (en) * 2004-04-27 2005-10-27 Batson Brannon J Cache coherence protocol
US7822929B2 (en) * 2004-04-27 2010-10-26 Intel Corporation Two-hop cache coherency protocol
EP1849092A4 (en) * 2005-01-06 2010-01-27 Tervela Inc END-TO-END-PUBLISH / SUBSCRIBE MIDDLEWARE ARCHITECTURE
US8010644B1 (en) * 2005-02-23 2011-08-30 Sprint Communications Company L.P. Method and system for deploying a network monitoring service within a communication network
US7395381B2 (en) * 2005-03-18 2008-07-01 Intel Corporation Method and an apparatus to reduce network utilization in a multiprocessor system
US8589530B2 (en) * 2005-03-28 2013-11-19 Riverbed Technology, Inc. Method and system for managing a distributed network of network monitoring devices
JP4635682B2 (ja) * 2005-03-29 2011-02-23 ブラザー工業株式会社 情報処理装置、情報処理方法及び情報処理用プログラム
US20060224773A1 (en) * 2005-03-31 2006-10-05 International Business Machines Corporation Systems and methods for content-aware load balancing
US7849165B2 (en) 2005-04-21 2010-12-07 Fiducci Thomas E Data backup, storage, transfer, and retrieval system, method and computer program product
US8126990B2 (en) 2005-04-21 2012-02-28 Fiducci Thomas E Data backup and transfer system, method and computer program product
JP2007128371A (ja) * 2005-11-04 2007-05-24 Fujitsu Ltd コンテンツ検索システム
US20070147376A1 (en) * 2005-12-22 2007-06-28 Sun Microsystems, Inc. Router-assisted DDoS protection by tunneling replicas
CN101764833B (zh) * 2008-12-24 2013-01-23 中国移动通信集团公司 一种资源节点信息通知方法及网络实体装置
CN101778005B (zh) * 2010-03-05 2014-03-12 中兴通讯股份有限公司 复杂网络配置方法和系统
CN109558990B (zh) * 2018-12-15 2022-11-08 国网福建省电力有限公司 一种基于斯坦纳树模型的配电网防灾骨干网架规划方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475842A (en) * 1993-08-11 1995-12-12 Xerox Corporation Method of compilation optimization using an N-dimensional template for relocated and replicated alignment of arrays in data-parallel programs for reduced data communication during execution
US5450313A (en) * 1994-03-24 1995-09-12 Xerox Corporation Generating local addresses and communication sets for data-parallel programs
US5495419A (en) * 1994-04-19 1996-02-27 Lsi Logic Corporation Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing
US5535195A (en) 1994-05-06 1996-07-09 Motorola, Inc. Method for efficient aggregation of link metrics
US5608649A (en) 1994-05-16 1997-03-04 Gopinath; Bhaskarpillai Directly programmable networks
DE69429983T2 (de) 1994-05-25 2002-10-17 International Business Machines Corp., Armonk Datenübertragungsnetz und Verfahren zum Betreiben des Netzes
US5581753A (en) * 1994-09-28 1996-12-03 Xerox Corporation Method for providing session consistency guarantees
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
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US6097882A (en) * 1995-06-30 2000-08-01 Digital Equipment Corporation Method and apparatus of improving network performance and network availability in a client-server network by transparently replicating a network service
US5771355A (en) * 1995-12-21 1998-06-23 Intel Corporation Transmitting electronic mail by either reference or value at file-replication points to minimize costs
US5903723A (en) * 1995-12-21 1999-05-11 Intel Corporation Method and apparatus for transmitting electronic mail attachments with attachment references
US5781901A (en) * 1995-12-21 1998-07-14 Intel Corporation Transmitting electronic mail attachment over a network using a e-mail page
US5864854A (en) * 1996-01-05 1999-01-26 Lsi Logic Corporation System and method for maintaining a shared cache look-up table
US5805824A (en) * 1996-02-28 1998-09-08 Hyper-G Software Forchungs-Und Entwicklungsgesellschaft M.B.H. Method of propagating data through a distributed information system
US5854899A (en) * 1996-05-09 1998-12-29 Bay Networks, Inc. Method and apparatus for managing virtual circuits and routing packets in a network/subnetwork environment
US6061332A (en) * 1996-06-25 2000-05-09 Mci Communications Corporation System and method for the automated configuration of network elements in a telecommunications network
US5920697A (en) * 1996-07-11 1999-07-06 Microsoft Corporation Method of automatic updating and use of routing information by programmable and manual routing information configuration based on least lost routing
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
US5924116A (en) * 1997-04-02 1999-07-13 International Business Machines Corporation 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
US6011782A (en) * 1997-05-08 2000-01-04 At&T Corp. Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network
US6070191A (en) * 1997-10-17 2000-05-30 Lucent Technologies Inc. Data distribution techniques for load-balanced fault-tolerant web access

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527538A (ja) * 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド メッセージング・システム内のキャッシング・エンジン
US8321578B2 (en) 2005-01-06 2012-11-27 Tervela, Inc. Systems and methods for network virtualization
US9253243B2 (en) 2005-01-06 2016-02-02 Tervela, Inc. Systems and methods for network virtualization
JP2007065751A (ja) * 2005-08-29 2007-03-15 Hitachi Ltd ストレージシステム及び記憶制御方法
JP2012175299A (ja) * 2011-02-18 2012-09-10 Nippon Telegr & Teleph Corp <Ntt> キャッシュ設計装置、及びキャッシュ設計方法

Also Published As

Publication number Publication date
EP0884870A2 (en) 1998-12-16
US6189043B1 (en) 2001-02-13
CA2237831C (en) 2002-07-30
EP0884870B1 (en) 2003-07-09
JP4344024B2 (ja) 2009-10-14
EP0884870A3 (en) 1999-12-01
CA2237831A1 (en) 1998-12-09
DE69816183D1 (de) 2003-08-14
DE69816183T2 (de) 2004-06-03

Similar Documents

Publication Publication Date Title
JPH1145204A (ja) 逆ツリー生成法を用いて網内にキャッシュを動的に複製する方法およびシステム
US6687731B1 (en) Arrangement for load sharing in computer networks
CN106790324B (zh) 内容分发方法、虚拟服务器管理方法、云平台和系统
US6484204B1 (en) System and method for allocating requests for objects and managing replicas of objects on a network
JP3167893B2 (ja) ネットワーク資源ロケーショントラフィックを減少させる方法及び装置
Tewari et al. Beyond hierarchies: Design considerations for distributed caching on the internet
US8291046B2 (en) Shared content delivery infrastructure with rendezvous based on load balancing and network conditions
KR100473671B1 (ko) 협동 캐시 서버의 부하 조정 방법
US8060613B2 (en) Resource invalidation in a content delivery network
US7343422B2 (en) System and method for using uniform resource locators to map application layer content names to network layer anycast addresses
CA2282456A1 (en) Data caching on the internet
CN104022911A (zh) 一种融合型内容分发网络的内容路由管理方法
JP2003122658A (ja) データ配送方法
Liu et al. A novel cache replacement scheme against cache pollution attack in content-centric networks
JP2003271440A (ja) コンテンツ配信管理システム
Presti et al. Dynamic replica placement in content delivery networks
CN107302571A (zh) 基于果蝇算法的信息中心网络路由和缓存管理方法
JP2002524945A (ja) コンピュータネットワークにおける負荷管理の方法と装置
Epifâneo et al. Cathode: A consistency-aware data placement algorithm for the edge
Kant et al. A performance model for peer to peer file-sharing services
Cheng et al. A Forwarding Strategy Based on Recommendation Algorithm in Named Data Networking
JP2003167775A (ja) 負荷分散システムおよび負荷分散装置
CN114650296B (zh) 一种信息中心网络副本选择方法
JP2000172551A (ja) データ配置方法及びシステム及びデータ配置プログラムを格納した記憶媒体
Epifˆanio Cathode: A consistency-aware data placement algorithm for the edge

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080716

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081016

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090212

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090512

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090602

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: 20090617

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090710

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

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

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: 20130717

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees