JPH1196102A - サーバ分散管理方法 - Google Patents

サーバ分散管理方法

Info

Publication number
JPH1196102A
JPH1196102A JP9259591A JP25959197A JPH1196102A JP H1196102 A JPH1196102 A JP H1196102A JP 9259591 A JP9259591 A JP 9259591A JP 25959197 A JP25959197 A JP 25959197A JP H1196102 A JPH1196102 A JP H1196102A
Authority
JP
Japan
Prior art keywords
server
group
information
computer
management method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9259591A
Other languages
English (en)
Inventor
Shigekazu Inohara
茂和 猪原
Yoshimasa Masuoka
義政 増岡
Kiyouka Bin
京華 閔
Fumio Noda
文雄 野田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9259591A priority Critical patent/JPH1196102A/ja
Priority to US09/159,784 priority patent/US6256747B1/en
Publication of JPH1196102A publication Critical patent/JPH1196102A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 情報システムの複数サーバの動作状況の把握
とキャッシュ管理を、管理者の手間を増やさず、かつ効
率的に行う。 【解決手段】 複数のサーバ(10、10…)が、相互
支援により動的再構成されるマルチキャスト階層を構成
し、この上でサーバ状態(109)、キャッシュ・ディ
レクトリ(108)、ヴァリデーションの通信(10
6)を行う。 【効果】 管理者は他のいくつかのサーバを指定してサ
ーバを立ち上げる以外、サーバ間の連携を管理する必要
がない。キャッシュ・ディレクトリの交換によってサー
バ間のキャッシュが共有されるとともに、ヴァリデーシ
ョン時間が削減されることで、高速なユーザ反応時間が
得られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は計算機システムに関
し、特にネットワークによって接続された複数の計算機
が、情報を流通・共有・変更するシステム(情報システ
ム)を構築する際のシステムの管理方法に関し、さらに
具体的にはWorld―Wide Web(WWW)に
好適なサーバ分散管理方法に関する。
【0002】
【従来の技術】現在の情報システムは、ネットワークで
接続された複数の計算機が情報を提供、または入手する
ことによって運営されている。主に情報を提供する計算
機のハードウェアとソフトウェアを総称してサーバ、主
に情報を入手する計算機のハードウェアとソフトウェア
を総称してはクライアントと呼ぶ。
【0003】従来用いられている情報システムでは、サ
ーバが複数ある場合、これらのサーバの間にはまったく
連携が存在しない(例えば第1のサーバと第2のサーバ
があっても、互いに存在を知らないか、依存しあわな
い)か、強く連携しあっている(例えば第1のサーバと
第2のサーバがデータを互いに交換したり、キャッシュ
する)かのいずれかである。
【0004】第1のサーバの動作中に第2のサーバが新
設されるか起動された場合(総称してサーバの追加と呼
ぶ)や、第2のサーバが一時停止したり故障(サーバ自
身の故障と、サーバへの通信回線の故障の両方を含む)
した場合(総称してサーバの削除と呼ぶ)に、第1のサ
ーバと第2のサーバを連携させるためには、従来は管理
者が第1のサーバと第2のサーバの設定を適切に行う必
要があった。
【0005】このことは、サーバがごく少数である場合
には特に問題にならなかった。しかし、サーバが多数に
なった場合、新たなサーバが追加または削除される際
に、管理者に大きな負担となる。
【0006】近年のインターネットとWWWの爆発的な
成長により、サーバの数が非常に多数にわたる場面が発
生している。まずWWWで用いられている技術(公知例
1と呼ぶ)を説明する。
【0007】WWWでは、WWWサーバが保持すべき情
報を「ホームページ」と呼ばれる単位で保持している。
ホームページは、それぞれURL(Uniform R
esource Locatorの略)と呼ばれる名前
を持っている。WWWクライアントのユーザが、アクセ
スしたいホームページのURLをWWWクライアントに
指定すると、WWWの第1の処理形態では、WWWクラ
イアントは当該URLで指定されるWWWサーバに対し
て、当該URLに対応するホームページの送信を依頼す
る。当該WWWサーバは、この要求に応えて、当該ホー
ムページを当該WWWクライアントに与える。
【0008】また第2の処理形態では、WWWクライア
ントが、ユーザが与えたURLで指定されるWWWサー
バに依頼を行なうかわりに、「プロキシ・サーバ(また
は単にプロキシ)」と呼ばれる別の種類のサーバに依頼
を行なう。プロキシは、当該WWWサーバから当該UR
Lに対応するホームページを得るか、さらに別のプロキ
シに当該URLを転送する。プロキシの依頼が複数段階
である場合、プロキシは親子関係を持つ。親子関係を持
つプロキシに関しては、例えばA.Chankhunt
hod他の文献”A Hierarchical In
ternetObject Cache”(1996
USENIX TechnicalConferenc
e、pp.153―163、1996)に記載されてい
る。WWWのプロキシは、複数のクライアントによって
共有されるキャッシュを持つことができる。このため、
多くのプロキシを擁する第2の処理形態が現在のインタ
ーネットでは広く用いられている。各プロキシがどのプ
ロキシに依頼を転送するかは、管理者が設定する。
【0009】また、WWW以外にもいくつかの情報シス
テムが広く用いられているが、いずれのシステムでも複
数のサーバ間の連携は、管理者が設定する固定的な関係
にとどまっている。
【0010】ネットワーク・ニュース・システム(以後
公知例2と呼ぶ。B.Kantor他著の文献”Net
work News Transfer Protoc
ol:A Proposed Standard fo
r the Stream―Based Transm
ission of News”Network Wo
rking Group RFC―977等に記載され
ている)は情報システムの別の例であり、WWW同様複
数のサーバによって構成される。
【0011】ネットワーク・ニュース・システムの複数
のサーバは、クライアントが購読および投稿する「ニュ
ース記事」のコピーを互いに配布しあっている。各サー
バの管理者は、それぞれのサーバが別のどのサーバとニ
ュース記事の授受を行うかを設定する。新たなサーバが
追加された場合、既存のサーバの設定を手動で変更する
必要がある。
【0012】さらに、DNSドメイン名前サービス(公
知例3と呼ぶ。例えばP.Mockapetris著の
文献”Domain Names―Implement
ation and Specification”N
etwork Working Group RFC―
1035の特に第2節に記載されている)も情報システ
ムの別の例であり、複数のサーバによって構成される。
【0013】DNSはインターネットのホスト名と、そ
のホスト名の付随情報(IPアドレスやメールサーバ)
とを対応づける。この対応情報を保持するため、複数の
DNSサーバが木構造を構成する。クライアントの依頼
は当該木構造をたどって、複数のサーバの間を転送さ
れ、処理される。
【0014】各DNSサーバが、別のどのDNSサーバ
に依頼を転送するかは、各DNSサーバの管理者が設定
する。あるDNSサーバが置き換わる場合には、隣接す
るDNSサーバの設定を手動で変更する必要がある。ま
た、前記木構造の各ノードは、2つ以上のDNSサーバ
によって冗長構成をとっているが、これらのDNSサー
バが故障した場合(またはこれらのDNSサーバへのネ
ットワーク経路が故障した場合)には、やはり隣接する
DNSサーバの設定を手動で変更する必要がある。
【0015】ローカル・エリア・ネットワーク(LA
N)内の分散ファイルシステムにおいて、キャッシュの
ための空間を複数のコンピュータで共有する「協調キャ
ッシング」とよばれる方法も知られている。例えばMi
chael Dahlin他著の文献”Coopera
tive Caching:Using Remote
Client Memory to Improve
File System Performance”
(First USENIX Symposium o
n Operating Systems Desig
n and Implementation、pp.2
67―280、1994)(公知例4と呼ぶ)では、
「マネージャ」と呼ばれるサーバが、どのファイル・ブ
ロックがどのファイル・サーバに格納されているかを保
持している。マネージャがクライアントからファイル・
ブロックの転送を依頼されると、クライアントにファイ
ル・ブロックが格納されているコンピュータを返答する
か、当該ファイル・サーバにクライアントの要求を転送
する。マネージャは複数存在することができるが、ファ
イル・ブロックとマネージャとの対応関係はあらかじめ
定められており、この対応関係を変更するためには管理
者が手動で設定を変更する必要がある。
【0016】
【発明が解決しようとする課題】WWWでは、ある統計
ではサーバ数が1996年6月から1997年1月まで
の半年で2.8倍に増加するなど、急激な成長が続いて
いる。このため、WWW全体の情報量も爆発的に増えて
いる。プロキシは、複数のクライアントによって共有さ
れるキャッシュとしてユーザの反応時間(ユーザが情報
を要求してからその情報がユーザの手元に届くまでの時
間)を減少させる役目があるが、WWW全体の情報量に
比してキャッシュの容量が小さいため、現状では低い効
果しか得られていない。
【0017】本発明が解決しようとする第1の課題は、
WWWのプロキシのように複数のサーバを連携して動作
させる際の、管理者の手間を減らすことである。これに
よって、プロキシを多数擁する大規模なキャッシュの実
現において、管理に大量の時間と人数が必要であるとい
う課題を解決する。具体的には、第1のサーバが追加ま
たは削除される場合に、管理者が1つ以上の既存の第2
のサーバの設定を変更することなしに、第1のサーバの
存在(または存在しないこと)を第2のサーバに知ら
せ、また第1のサーバに第2のサーバの存在(または存
在しないこと)を知らせることが課題である。
【0018】なお第1の課題の解決には、WWWはイン
ターネットの上で動作しており接続マシン数が膨大であ
り、かつ管理組織も多数にわたるため、ブロードキャス
トを用いる方法や、単一のサーバにすべての設定を集め
る方法は現実的な解決法とならない。また、第2のサー
バが多数になった場合には、第1のサーバと第2のサー
バのすべてが連携することすら現実的ではなくなる。こ
のようにサーバ数が非常に多くなった場合には、連携す
るべきサーバの数を制限するための仕組みが必要とな
る。
【0019】また第1の課題が解決された場合に、複数
のサーバに分散して存在するキャッシュを運営するため
に、複数のサーバ間で互いのキャッシュのリストを効率
よく交換し、以て1つのサーバのキャッシュにない情報
を別のサーバに問い合わせる方法が必要となる。この方
法を実現することが第2の課題である。
【0020】さらに、第1および第2の課題が解決され
た場合に、複数のサーバに跨る大規模なキャッシュが実
現されることになるが、この際、WWWで用いられてい
る通信プロトコルHTTP(R.Fielding他著
の文献”HypertextTransfer Pro
tocol―HTTP/1.1、”NetworkWo
rking Group RFC―2068等に記載さ
れている)では、キャッシュが十分に新しい情報を保持
しているかを確認する動作(ヴァリデーション動作と呼
ぶ)を要求しているが、このヴァリデーション動作がユ
ーザ反応時間を悪化させていることがわかった。このた
め、ヴァリデーション動作がユーザ反応時間を悪化させ
ないようにすることも本発明が解決しようとする第3の
課題である。
【0021】
【課題を解決するための手段】第1の課題を解決するた
めに本発明の情報システム分散管理方法では、サーバ動
作情報(動作しているサーバのリスト)を分散管理する
ための「サーバ状態伝播プロトコル」を持つ。各サーバ
は、管理者から与えられた少数の他のサーバの名前から
出発して、サーバ群の相互支援によってサーバ動作情報
のマルチキャスト階層を動的に構築する。マルチキャス
ト階層はサーバ群が構成する木構造のグループであり、
各グループは数台から数十台のサーバからなる。一部の
サーバが停止したり再起動するに従って、マルチキャス
ト階層の動的再構成が行われる。
【0022】このサーバ状態伝播プロトコルにより、上
記第1の課題である複数のサーバを連携して動作させる
際の、管理者の手間が低減される。本発明では、サーバ
の起動時に、他のサーバの名前をいくつか与えるだけで
よく、その後複数のサーバのうち一部が停止したり再起
動する度毎に管理者が各サーバの設定を変更する必要が
ないためである。また、本発明のサーバ状態伝播プロト
コルは、ブロードキャストを必要とせず、マルチキャス
トも動作中のサーバ群にのみ行われるので、インターネ
ット上での使用に耐える。また、各サーバがサーバ動作
情報を交換する際には近接サーバ優先で通信することに
より、サーバ数が膨大になった場合にも動作する。すな
わち、これにより第1の課題が解決される。
【0023】第2の課題を解決するために本発明の情報
システム分散管理方法では、「広域協調キャッシュ管理
プロトコル」を備える。このプロトコルは、前記サーバ
状態伝播プロトコルが形成するマルチキャスト階層を用
いてキャッシュ・ディレクトリ(URLと当該URLを
キャッシュ中に保持するサーバのリスト)の伝播と、キ
ャッシュ制御(どのサーバがどのURLをキャッシュ中
に保持するか、いつ、どのURLをあるサーバから別の
サーバに移動させるか)を、公知例4のマネージャにあ
たる集中管理サーバなしで行う。
【0024】サーバがある情報を別のサーバに移動させ
る場合があるが、この場合には移動先サーバを決定する
必要がある。この目的で、サーバが受け入れ可能なキャ
ッシュ価値の最小値(受け入れ可能キャッシュ価値と呼
ぶ)を他サーバに回覧する。また、1つのグループの複
数のサーバが一斉に情報の移動を予定している場合、移
動先が1つのサーバに集中する恐れがある。この問題を
解決するために、各サーバは移動しようとする情報およ
び予定移動先のリストを回覧する。これにより各サーバ
は、他のサーバが選んでいない移動先を避けて移動先サ
ーバを決定することができる。さらに、近接する複数の
サーバが同一情報のキャッシュを保持している場合、こ
のキャッシュのコピーすべてが一斉に破棄されないよう
に工夫することが必要である。集中サーバを用いずに近
似的な方法でこの状態に近づけるために、破棄しようと
する情報のリスト(破棄予定リストと呼ぶ)をサーバの
間で回覧する。自分が破棄しようとする情報のキャッシ
ュがグループのメンバが保持する最後のコピーである場
合には、予定した破棄を中止する。以上により第2の課
題が解決される。
【0025】第3の課題を解決するために本発明の情報
システム分散管理方法では、従来のようにユーザが情報
を要求した時点でヴァリデーション動作を行うのではな
く、ユーザの要求以前にあらかじめヴァリデーション動
作を行っておく「先行ヴァリデーション」を備える。先
行ヴァリデーションは、一定時間ごとや、URLが参照
されてから一定時間経過後などに行う。この先行ヴァリ
デーションをHTTPのプロトコルで許された範囲内で
行う。これにより従来ユーザ反応時間の多くの部分を占
めていたヴァリデーション動作による消費時間をユーザ
反応時間から取り除くことができ、第3の課題が解決さ
れる。
【0026】
【発明の実施の形態】以下、本発明の実施の一形態を図
面を参照しながら説明する。簡単のため「発明の実施の
形態」を「実施例」と呼ぶ。
【0027】図1と図2を用いて実施例の構成を説明す
る。
【0028】外部サーバ13、13’、13”、…は、
情報システムが提供する情報を保持し、要求に応じてク
ライアント11またはサーバ10、10’、10”、…
に情報を提供する計算機である。サーバ10、10’、
10”、…は情報システムのキャッシュを保持するサー
バである。クライアント11はユーザが利用する計算機
で、ネットワーク12を通じて外部サーバ13、1
3’、13”、…またはサーバ10、10’、10”、
…から提供された情報をユーザに表示する。サーバ1
0、10’、10”、…は外部サーバ13、13’、1
3”、…の中で、最近クライアント11が利用した情報
や、クライアント11が今後利用すると予想される情報
をキャッシュとして保持する。このキャッシュの目的に
はいくつか考えうるが、代表的な目的はクライアント1
1が情報を得るのに要する時間を高速化することであ
る。クライアント11が外部サーバ13、13’、1
3”、…の代わりにサーバ10、10’、10”、…に
アクセスすることにより、外部サーバ13、13’、1
3”、…がネットワーク12の遠くにある場合でも高速
に情報にアクセスできる。
【0029】この実施例の計算機は、いわゆるパーソナ
ル・コンピュータ、ワークステーション、並列計算機、
大型計算機等、任意のコンピュータでよい。クライアン
ト11はサーバ10、10’、10”、…と通信し、情
報を表示する機能があればよいので、各種コンピュータ
端末装置、携帯通信端末(いわゆるパーソナル・デジタ
ル・アシスタンスPDAやハンドヘルド・パーソナル・
コンピュータHPC)、ネットワーク・コンピュータな
どでも差し支えない。
【0030】外部サーバ13、13’、13”、…、ク
ライアント11、サーバ10、10’、10”、…は計
算機ではなく、計算機とソフトウェアの組合わせで実現
しても差し支えない。特に、計算機自身には変更を加え
ず、計算機上で動作するプログラム(プロセス)によっ
て、本発明を実施しても差し支えない。
【0031】ネットワーク12は、ある団体(企業や学
校や類似の団体)の全体や位置部門でよく使用されるL
ANでもよく、また地理的に分散した複数の地点を結合
するWANの一部または全部でもよい。またネットワー
ク12は、計算機間結合網や並列計算機内部のプロセッ
サ要素間の結合網でもよい。
【0032】サーバ10はクライアント要求処理部10
0、キャッシュ管理部101、サーバ管理部102、通
信部106の各処理部分を含み、キャッシュ表107、
キャッシュ・ディレクトリ108、サーバ状態表10
9、グループ表110の各データ構造を含む。また、キ
ャッシュ管理部101は更にキャッシュ価値評価部10
4とキャッシュ移動破棄部105の各処理部分を含む。
また、サーバ10、10’、10”、…はそれぞれ一意
な番号であるサーバID(または単にID)を持つ。サ
ーバIDとしては、サーバIDからサーバの通信用アド
レスを対応づけ、通信を行うことができるIDを用い
る。例えば、IPアドレスをサーバIDとして用いても
差し支えない。
【0033】クライアント要求処理部100は、クライ
アント11が情報の取得を要求した際に、応対を行う部
分である。クライアント要求処理部100からのメッセ
ージ送信は通信部106を経由して(127)、ネット
ワーク12に送出される。逆にネットワーク12からク
ライアント要求処理部100へのメッセージは、通信部
106を経由してクライアント要求処理部100に送ら
れる(126)。クライアント要求処理部100はキャ
ッシュ表107に対する読み出し(146)を行う。キ
ャッシュ表107に対する書き込み(147)を行う場
合もあるが、稀である。
【0034】キャッシュ管理部101は、サーバ10が
保持するキャッシュを管理する部分である。キャッシュ
管理部101は、通信部106を経由してネットワーク
12へのメッセージの受信と送信を行う(128と12
9)。またキャッシュ管理部101はキャッシュ表10
7に対する書き込みと読み込み(134と135)、キ
ャッシュ・ディレクトリ108に対する書き込みと読み
込み(136と137)、およびサーバ状態表109に
対する書き込みと読み込み(138と139)を行う。
キャッシュ管理部101中のキャッシュ価値評価部10
4は、特定の情報のキャッシュを保持することがどのく
らい有用かを判定する部分である。またキャッシュ管理
部101中のキャッシュ移動破棄部105は、ある情報
のキャッシュをサーバ10に置いておくべきでない場合
に、当該キャッシュを破棄したり、1つ以上の他のサー
バ10’、10”、…に当該キャッシュを移動する部分
である。
【0035】サーバ管理部102は、他のサーバ1
0’、10”、…をリストアップし、これらのサーバの
動作状況を管理する部分である。サーバ管理部102
は、通信部106を経由してネットワーク12へのメッ
セージの受信と送信を行う(130と131)。またサ
ーバ管理部102はサーバ状態表109に対する書き込
みと読み込み(140と141)、およびグループ表1
10に対する書き込みと読み込み(142と143)を
行う。
【0036】ヴァリデーション管理部103は、先行ヴ
ァリデーションの制御を行う部分である。ヴァリデーシ
ョン管理部103は、通信部106を経由してネットワ
ーク12へのメッセージの受信と送信を行う(132と
133)。ヴァリデーション管理部103はキャッシュ
表107に対する書き込みと読み込み(144と14
5)を行う。
【0037】通信部106は、クライアント11、他の
サーバ10’、10”、…、外部サーバ13、13’、
13”、…と通信を行う部分である。クライアント11
からの受信と送信は120と121による。他のサーバ
10’、10”、…からの受信と送信は122と123
による。外部サーバ13、13’、13”、…からの受
信と送信は124と125による。
【0038】キャッシュ表107は、サーバ10のキャ
ッシュの実体およびキャッシュの各種属性を保持する表
である。キャッシュ表107は1つ以上のキャッシュ表
エントリ200からなる。1つのキャッシュ表エントリ
200は1つの情報の1つのキャッシュに対応してお
り、URL201が当該情報のURLを保持し、サイズ
202が当該情報のバイト数を保持し、日付203が当
該情報の最終更新日付を保持し、参照回数204が当該
情報の最近の参照回数を保持する。キャッシュ内容20
5は当該情報のコピーを保持する。
【0039】キャッシュ・ディレクトリ108は、サー
バ10、10’、10”、…のどれが、どの情報のキャ
ッシュを持っているかという情報を保持する表である。
キャッシュ・ディレクトリ108は1つ以上のキャッシ
ュ・ディレクトリ・エントリ210からなる。1つのキ
ャッシュ・ディレクトリ・エントリ210が、1つの別
のサーバが持つ1つの情報に対応しており、URL21
1が当該情報のURLを、サーバID212が当該サー
バのサーバIDを保持する。
【0040】サーバ状態表109は、サーバ10、1
0’、10”、…のうちいくつかのIDと動作状態等の
属性とを保持する表である。サーバ状態表109は1つ
以上のサーバ状態表エントリ220からなる。1つのサ
ーバ状態表109が1つのサーバに対応しており、サー
バID221が当該サーバのサーバIDを保持し、スル
ープット222が当該サーバへ至る通信回線のスループ
ット(ビット/秒)、レイテンシ223が当該サーバへ
至る通信回線のレイテンシ(秒)を保持する。サーバ状
態表109にあるサーバのエントリがないか、スループ
ット222が0であるか、レイテンシ223が「無限
大」であれば、当該サーバが動作中でないか、当該サー
バへ至る通信回線に障害が発生していることを意味す
る。
【0041】グループ表110は、サーバ状態表109
に格納されているサーバ群のうち、いくつかの近接のサ
ーバ群を選んで保持する表である。1つのグループは最
大MAX台(MAXは定数)のサーバ(メンバ)からな
る。各グループのサーバ群は、サーバIDによってグル
ープ内で順序づけされる。グループ内で最も若いサーバ
IDを持つサーバを「リーダ」と呼ぶ。リーダは、1つ
上のグループ(上位グループ)の一員となることがで
き、グループ間でマルチキャスト通信を行う際には、そ
の通信の中継役となる。もしリーダに障害が発生した場
合には、リーダの次に若いサーバIDを持つサーバが代
行リーダとなる。この構造を表現するためにグループ表
110は、リーダのサーバIDを保持するリーダ・サー
バID231、メンバのサーバIDを保持するサーバI
D232、232’、…、上位グループのリーダを保持
する上位リーダ・サーバID 233、上位グループの
メンバのサーバIDを保持する上位サーバID 23
4、234’、…からなる。
【0042】次に、図3を用いて、サーバ10、1
0’、10”、…が相互に通信する際に用いるメッセー
ジの種類と、その形式を説明する。
【0043】グループ参加メッセージ300は、新たに
グループに参加しようとするサーバが発するメッセージ
である。1つのサーバがグループに参加しようとする場
合と、複数のサーバがグループに参加(または変更)し
ようとする場合の両方に用いる。グループ参加メッセー
ジ300は新規サーバID 301、301’、…を格
納しており、それぞれが新たにグループに参加しようと
するサーバ群のIDである。
【0044】階層維持メッセージ310は、グループの
メンバの動作状況を確認するために用いるメッセージで
ある。通常、あるグループのリーダが発し、当該グルー
プおよび他のいくつかのグループの動作中のメンバの間
を回覧されて、再びリーダに戻る。階層維持メッセージ
310は、当該メッセージを最初に発したサーバのID
である送信元サーバID311と、動作中のサーバ群の
IDである新規サーバID312、312’、…と、ネ
スト数313からなる。ネスト数313は、複数のグル
ープに跨って1つの階層維持メッセージ310を回覧す
る際に用い、何段先のグループまで階層維持メッセージ
310を回覧するかを指定する。
【0045】グループ更新メッセージ320は、グルー
プに参加することが許可されたサーバに(通常リーダか
ら)送られるメッセージである。グループ更新メッセー
ジ320は、参加すべきグループのリーダのIDである
新リーダ・サーバID321を格納する。
【0046】ヴァリデーション依頼メッセージ330
は、先行ヴァリデーションを行う時に、先行ヴァリデー
ションを依頼するサーバから、先行ヴァリデーションの
依頼を受けるサーバに送られるメッセージで、先行ヴァ
リデーションの対象となる1つ以上のURLを持つ。ヴ
ァリデーション依頼メッセージ330は1つ以上のヴァ
リデーション依頼メッセージ・エントリ331からな
り、各エントリは依頼元サーバのIDであるサーバID
332、先行ヴァリデーションの対象となるURLであ
るURL333、依頼元サーバが知っているURLの最
終更新日付である日付334を格納する。
【0047】キャッシュ価値メッセージ340は、サー
バ同士が各自のキャッシュ全体のキャッシュ価値の指標
を交換し合うために用いるメッセージである。キャッシ
ュ価値メッセージ340は1つ以上のキャッシュ価値メ
ッセージ・エントリ341からなり、各エントリはサー
バを指定するサーバID342と、当該サーバのキャッ
シュ価値の指標であるキャッシュ価値343を含む。
【0048】移動予告メッセージ350は、第1のサー
バが、キャッシュの中で(一般にはキャッシュ価値の低
い)1つ以上の情報を第2のサーバに移動させる予定で
あることを、他の複数のサーバに知らせる際に用いる。
移動予告メッセージ350は1つ以上の移動予告メッセ
ージ・エントリ351からなり、移動予告メッセージ・
エントリ351は第1のサーバのIDであるサーバID
352、当該情報のURLであるURL353、および
第2のサーバのIDである移動先サーバID354を格
納する。
【0049】破棄予告メッセージ360は、第1のサー
バが、キャッシュの中で(一般にはキャッシュ価値の低
い)1つ以上の情報を破棄する予定であることを、他の
複数のサーバに知らせる際に用いる。破棄予告メッセー
ジ360は1つ以上の破棄予告メッセージ・エントリ3
61からなり、各エントリは第1のサーバのIDである
サーバID362と、当該情報のURLであるURL3
53を格納する。
【0050】ホストURLメッセージ370は、サーバ
同士が各自のキャッシュにどのような情報が格納されて
いるかを交換し合うために用いるメッセージである。ホ
ストURLメッセージ370は1つ以上のホストURL
メッセージ・エントリ371からなり、各エントリはキ
ャッシュを持つサーバのIDであるサーバID372、
1つの情報のURLであるURL373、および当該U
RLが存在するか存在しないかを示すフラグ374を格
納する。
【0051】サーバ状態伝播 本発明の情報システム分散管理方法では、サーバ動作情
報(動作しているサーバのリスト)を分散管理するため
の「サーバ状態伝播プロトコル」を持つ。以下、このプ
ロトコルの動作を説明する。
【0052】(1)階層形成処理 まず図4を用いて、主にサーバ初期化時に行う階層形成
処理を説明する。以下の処理手順の説明では、説明をわ
かりやすくするために動作の骨子に絞って説明を行う。
すなわち、エラー処理やタイミング依存の動作等は省略
する。
【0053】管理者は、0個または1つ以上の他のサー
バのサーバIDを与えて、サーバ10を起動する。サー
バ10が起動されるとすべての表を「空」に初期化した
後サーバ管理部102に制御を移し、与えられたサーバ
IDをサーバ状態表109に格納してから、他のサーバ
10’、10”、…の動作状態を調べ、他のサーバ1
0’、10”、…をより多く取得し、1つのグループに
参加する動作を行う。
【0054】ステップ401で、サーバ状態表109が
空であるかを判定する。判定結果がY(YESの略)で
あれば(402)、他のサーバが一切わからないので、
ステップ403で、サーバ状態表109に新たなサーバ
状態表エントリ220を追加し、当該エントリのサーバ
ID221に自分のIDを、スループット222に「無
限大」を、レイテンシ223に「0」を格納する。そし
て、階層形成処理を終了する(417)。
【0055】一方、ステップ401の判定結果がN(N
Oの略)であれば(404)、サーバ状態表109から
第1のサーバを1つ選択し(ステップ405)、第1の
サーバに「グループ表転送」の要求メッセージを送信す
る(ステップ406)。ステップ406では同時に、第
1のサーバとサーバ10との通信速度の計測を開始す
る。なお第1のサーバが「グループ表転送」の要求メッ
セージを受け取ると、第1のサーバのグループ表110
をメッセージに詰め、返答としてサーバ10に送る。続
くステップ407で、第1のサーバが返答として返した
グループ表を受信し、同時に通信速度の計測を終了す
る。
【0056】ステップ408では、サーバ状態表109
に計測した通信速度を反映させるとともに、受け取った
第1のサーバのグループ表を自サーバのサーバ状態表1
09に反映させる。具体的には、サーバ状態表エントリ
220でサーバID221が第1のサーバのIDに等し
いエントリを探し、当該エントリのスループット222
とレイテンシ223を計測した通信速度を用いて更新す
る。更新の方法には、平均をとる、置き換えるなどいく
つか考えられるが、本実施例では置き換える方法をと
る。次に、受け取った第1のサーバのグループ表に含ま
れるリーダ・サーバID、サーバID、上位リーダ・サ
ーバID、上位サーバIDのうち、サーバ状態表109
に対応するサーバ状態表エントリ220がないサーバの
IDの各々について、新たなサーバ状態表エントリ22
0を追加し、サーバID221に当該サーバのIDを、
スループット222に「0」を、レイテンシ223に
「無限大」を格納する。これにより、第1のサーバに近
接のサーバ群がいくつか、サーバ状態表109に追加さ
れる。
【0057】ステップ409では、上記ステップ405
から408をN回(Nは定数)繰り返したかどうかを判
定する。判定がNなら(410)、ステップ405に戻
る。判定がYなら(411)、ステップ412に移る。
ステップ412では、サーバ状態表に格納されたサーバ
群のうち、最も近接のサーバ(例えばスループット22
2をレイテンシ223で割った値が最大のサーバ)に対
してグループ参加メッセージ300を送る。この際新規
サーバID301には自分のサーバIDを格納する。ス
テップ413で、当該グループ参加メッセージ300に
対する返答であるグループ更新メッセージ320を受信
すると、ステップ414でグループ更新メッセージ32
0の新リーダ・サーバID321に対応するリーダに向
けて、「グループ表転送」の要求メッセージを送信する
(ステップ415)。リーダは「グループ表転送」の要
求メッセージを受け取ると、リーダのグループ表110
をメッセージに詰め、返答としてサーバ10に送る。続
くステップ407で、第1のサーバが返答として返した
グループ表を受信し、さらにステップ416で、受け取
ったグループ表を自サーバのグループ表110に反映さ
せる。
【0058】以上が階層形成処理の手順である。なお、
グループ更新メッセージ320がこの手順以外に受信さ
れる場合もありうる。この場合、当該グループ更新メッ
セージ320の新リーダ・サーバID321を用いて、
ステップ414、415、416の処理を行う。
【0059】(2)グループ参加要求処理 次にグループ参加メッセージ300を受信した場合の処
理を、5を用いて説明する。
【0060】サーバ10がグループ参加メッセージ30
0を受け取ると、ステップ501で自分がリーダがどう
かを判定する。具体的には、グループ表110のリーダ
・サーバID231が「空」であるか、自分のサーバI
Dが格納されているならば、リーダである。ステップ5
01の判定がNなら(502)、ステップ503でリー
ダ(グループ表110のリーダ・サーバID231に格
納されているサーバID)に現在処理中のグループ参加
メッセージ300を転送し、グループ参加要求処理を終
了する(504)。
【0061】一方ステップ501の判定がYなら(50
5)、グループのメンバ数がどのように変化するかによ
ってどのようにグループを構成するかを決定する。まず
現在グループに参加しているメンバの数(グループ表1
10のサーバID 232、232’、…の数)を調べ
「旧メンバ数」とする。そして、グループ参加メッセー
ジ300に含まれるサーバの数(新規サーバID 30
1、301’、…の数)を「新メンバ数」とする。ステ
ップ506では、旧メンバ数と新メンバ数の和が前記M
AX未満かどうかを調べる。この判定がYなら(50
7)、ステップ508で、グループ参加メッセージ30
0に含まれる新規サーバID 301、301’、…を
グループ表110のサーバID 232、232’、…
に追加する。ステップ509でグループ更新メッセージ
320の新リーダ・サーバID321にサーバ10のサ
ーバIDを格納し、当該メッセージをグループ参加メッ
セージ300の新規サーバID 301、301’、…
に対応するサーバ群に返答する。そして、グループ参加
要求処理を終了する(510)。
【0062】一方、ステップ506の判定がNなら(5
11)、ステップ512で旧メンバ数を1増加してもM
AX未満かどうかを調べる。この判定がYなら(51
3)、514で、グループ参加メッセージ300の新規
サーバ ID301をグループ表110のサーバ ID
232、232’、…に追加する。そしてステップ51
5で新規サーバID301には新リーダ・サーバID3
21にサーバ10のサーバIDを格納したグループ更新
メッセージ320を送信し、新規サーバID 30
1’、301”、…には新リーダ・サーバID321に
新規サーバID301を格納したグループ更新メッセー
ジ320を送信する。そして、グループ参加要求処理を
終了する(516)。
【0063】一方、ステップ512の判定がNなら(5
17)、ステップ518で新グループを作成する。この
新グループのメンバは、サーバ10と新規サーバID3
01のサーバ、およびサーバID232のサーバであ
る。現在のグループのリーダはサーバID232に譲
る。具体的には、現在のグループを、サーバID232
をリーダとしたグループとするために、サーバID 2
32、232’、…に対し、新リーダ・サーバID32
1にサーバID232を格納したグループ更新メッセー
ジ320を送信する。サーバID232のサーバはこれ
によってリーダになり、かつ既にのべた動作によって、
上位リーダをサーバ10に設定する。次に新グループを
形成するため、グループ表110のサーバID 23
2、232’、…に、新規サーバID301とサーバI
D232を格納する。続くステップ519で、新規サー
バID301には新リーダ・サーバID321にサーバ
10のサーバIDを格納したグループ更新メッセージ3
20を送信し、新規サーバID301’、301”、…
には新リーダ・サーバID321に新規サーバID30
1を格納したグループ更新メッセージ320を送信す
る。
【0064】以上がグループ参加要求処理である。以上
の動作によって、各グループの最大数をMAX以下に保
ちながら、サーバの動的な増加に対応して階層化して行
くことが可能となる。
【0065】(3)階層維持メッセージ受信処理 サーバ10がリーダの場合、タイマー等を用いて定期的
に階層維持メッセージ310を発行する。階層維持メッ
セージは、サーバ10が属するグループのメンバの他、
上下K段(Kは階層維持メッセージ受信処理開始時の引
数)のグループ階層を伝って回覧され、再びサーバ10
に戻る。この動作を実現する処理の手順を図6を用いて
説明する。階層維持メッセージ310に対し各メンバ
は、自分が動作中であるというデータを付加して次のメ
ンバに送る。もし次のメンバとの通信ができなければ、
その次のメンバを試みる。この動作の結末は、(1)動
作中のメンバ全員を回って階層維持メッセージ310が
リーダに返る、(2)階層維持メッセージ310を保持
中のメンバが障害を起して階層維持メッセージ310、
(3)リーダが障害を起し、最終送信先がなくなる、の
いずれかとなる。以下のプロトコルでは代行リーダとタ
イムアウトの使用により、(1)、(2)、(3)のい
ずれにも対処できる。
【0066】サーバ10が階層維持メッセージ310を
受け取ると、まずステップ601で送信元サーバID3
11が自分のIDと等しいかどうかを判定する。判定が
Yなら(602)、階層維持メッセージ受信処理は終了
である。
【0067】一方ステップ601の判定がNなら(60
3)、ステップ604で階層維持メッセージ310に自
分のサーバIDを新規サーバID312、312’、…
に追加する。
【0068】なおこの時、すでに新規サーバID31
2、312’、…に自分のサーバIDが含まれている場
合、同じ階層維持メッセージ310が2度回ってきたこ
とを意味する。この場合、リーダが受け取るべきメッセ
ージを受け取れなかったために、自分が代行リーダにな
ったことを意味する。この場合で、階層維持メッセージ
310がグループ表110の上位サーバID 234、
234’、…のいずれかから送られた場合には上位グル
ープのリーダになるため、上位サーバID 234、2
34’、…のサーバ群に対して、新リーダ・サーバID
321に自分のサーバIDを格納したグループ更新メッ
セージ320を送信する。また、階層維持メッセージ3
10がグループ表110のサーバID232、23
2’、…のいずれかから贈られた場合にはグループのリ
ーダになるため、サーバID 232、232’、…の
サーバ群に対して、新リーダ・サーバID321に自分
のサーバIDを格納したグループ更新メッセージ320
を送信する。
【0069】続いて、自分がリーダで、かつネスト数3
13が1に等しいかを判定する(ステップ605)。判
定がYなら(606)、ステップ606で階層維持メッ
セージ310にグループ表110のサーバID 23
2、232’、…を新規サーバID312、312’、
…に追加し、ステップ610に進む(608)。また、
ステップ605の判定がNなら、ここでは何もしない
(609)。
【0070】続いて、自分がリーダで、かつネスト数3
13が2以上かを判定する(ステップ610)。判定が
Yなら(611)、ステップ612で送信元サーバID
311をサーバ10のIDに変更してネスト数313を
1減じ、ステップ613でメンバの1つに階層維持メッ
セージ310を送信する。具体的には、グループ表11
0のサーバID 232、232’、…を上から走査し
ていき、階層維持メッセージ310の送信がうまくいく
まで試みる。ステップ614でメンバから階層維持メッ
セージ310が戻ってきたら、階層維持メッセージ31
0の送信元サーバID311を元に戻し、次の処理に進
む(615)。
【0071】なお、ステップ613とステップ614の
間で回覧される送信元サーバID311が、メンバの障
害やネットワーク12の障害によって、失われる可能性
もある。この際、サーバ10はタイムアウトによりステ
ップ614の受信をあきらめ、次の処理に進む(61
5)。
【0072】次に、ステップ617で、階層維持メッセ
ージ310が上位メンバから受け取ったものかを判定す
る。判定がYなら(618)、当該階層維持メッセージ
310は上位メンバを回覧されているので、送信先も上
位メンバから選択するのが良い。具体的にはステップ6
19で、グループ表110の上位サーバID 234、
234’、…のうちサーバ10のIDが格納されている
エントリを探す。もしこの条件に合うエントリがあり、
そのエントリの次のエントリのサーバがあれば、当該サ
ーバに階層維持メッセージ310の送信を試みる。もし
当該サーバへの送信が失敗した場合(すなわち当該サー
バの障害かネットワーク12の障害の場合)、さらに次
のエントリ、その次のエントリ、…を試みる。もし最後
のエントリも試したら、上位リーダ・サーバID 23
3を試みる。これを上位リーダ・サーバID 233お
よび上位サーバID234をすべて試みるまで続け、も
しどこにも送信できなければ送信をあきらめる。次にス
テップ622に進む(620)。また、ステップ617
の判定がNなら(621)、ステップ622に進む。
【0073】ステップ622では、階層維持メッセージ
310がメンバから受け取ったものかを判定する。判定
がYなら(623)、当該階層維持メッセージ310は
メンバを回覧されているので、送信先もメンバから選択
するのが良い。具体的にはステップ624で、グループ
表110のサーバID 232、232’、…のうちサ
ーバ10のIDが格納されているエントリを探す。もし
この条件に合うエントリがあり、そのエントリの次のエ
ントリのサーバがあれば、当該サーバに階層維持メッセ
ージ310の送信を試みる。もし当該サーバへの送信が
失敗した場合(すなわち当該サーバの障害かネットワー
ク12の障害の場合)、さらに次のエントリ、その次の
エントリ、…を試みる。もし最後のエントリも試した
ら、リーダ・サーバID231を試みる。これをリーダ
・サーバID231およびサーバID232をすべて試
みるまで続け、もしどこにも送信できなければ送信をあ
きらめ(626)、階層維持メッセージ受信処理を終了
する。また、ステップ622の判定がNなら(62
6)、そのまま階層維持メッセージ受信処理を終了す
る。
【0074】以上が階層維持メッセージの処理の手順で
ある。階層維持メッセージの受信処理が終了してから、
サーバ10は階層維持メッセージ310の新規サーバI
D312をサーバ状態表109に反映する。すなわち、
サーバ状態表109に対応するサーバ状態表エントリ2
20がないサーバのIDの各々について、新たなサーバ
状態表エントリ220を追加し、サーバID221に当
該サーバのIDを、スループット222に「0」を、レ
イテンシ223に「無限大」を格納する。これにより、
第1のサーバに近接のサーバ群がいくつか、サーバ状態
表109に追加される。
【0075】階層維持メッセージ310のうちネスト数
313が0のメッセージは、特にグループ内のサーバの
活動状態を調べ、メンバに伝播するのに用いる。この場
合、リーダが階層維持メッセージ310を送信して、動
作中のメンバを一周してリーダに戻る。この後、同じメ
ッセージにネスト数313に「―1」を格納してメンバ
に回覧する。ネスト数313が―1の階層維持メッセー
ジ310を受け取ったら、サーバは階層維持メッセージ
310の新規サーバID312、312’、…をサーバ
ID 232、232’、…に格納して、次のメンバに
同じメッセージを渡す。この手順により、メンバの活動
状態がグループ全体に伝播する。
【0076】(4)階層再構成処理 あるグループのサーバ数が一定数以下になった場合、グ
ループを再構成する。この手順を図7を用いて説明す
る。
【0077】サーバ10がリーダの場合、グループ表1
10が変化する度に階層再構成処理を起動する。ステッ
プ701で、グループ表110のサーバID 232、
232’、…の数がMIN以下(MINは定数)かつ、
上位リーダ・サーバID 233が「空」でなく、かつ
上位リーダ・サーバID 233が自分のサーバID以
外であるかを判定する。この判定がNなら(702)、
階層再構成処理を終了する。
【0078】一方、ステップ701の判定がYなら(7
03)、上位リーダ・サーバID233に対応するサー
バに、グループ参加メッセージ300を送る。この際の
新規サーバID 301、301’、…には、自分のサ
ーバIDおよびグループ表110のサーバID 23
2、232’、…を格納する。
【0079】これにより、既に説明したグループ参加要
求処理が上位グループで起動され、サーバ10の属する
グループは再構成されて、通常別のグループに吸収され
る。
【0080】以上(1)から(4)の各処理によって実
現されるサーバ状態伝播プロトコルによって、以下の特
長が得られる。相互支援によってマルチキャスト階層を
動的に構築することによって、他サーバの動作状況の変
化および通信速度の変化を、集中サーバを必要とせずに
把握すること。伝播するサーバ情報を一定数以下の近接
サーバの情報と遠隔サーバの情報に絞り、伝播先をマル
チキャスト階層の構造にしたがって一定数以下にするこ
とによって、サーバが多数になっても、管理のための通
信が爆発しないこと。マルチキャスト階層再構築によっ
て、システム動作中の動的なサーバの参加・脱退に対応
することと、一部サーバまたはネットワークの障害時に
対処すること。管理者が与える設定を、サーバ起動時に
最初に通信する少数のサーバのみに絞り、管理者の設定
が簡単にすること。
【0081】広域協調キャッシュ管理 本発明の情報システム分散管理方法では、「広域協調キ
ャッシュ管理プロトコル」を備える。このプロトコル
は、前記サーバ状態伝播プロトコルが形成するマルチキ
ャスト階層を用いてキャッシュ・ディレクトリの伝播
と、キャッシュ制御(どのサーバがどのURLをキャッ
シュ中に保持するか、いつ、どのURLをあるサーバか
ら別のサーバに移動させるか)を集中管理サーバなしで
行う。
【0082】(1)キャッシュの検索とキャッシュ・デ
ィレクトリの伝播 サーバ10が、クライアント11が発した第1のURL
の情報に対する要求を受け付けると、クライアント要求
処理部100がこの要求を処理する。クライアント要求
処理部100は、キャッシュ表107を第1のURLを
用いて検索し、URL201が第1のURLに等しいキ
ャッシュ表エントリ200があればキャッシュ内容20
5をクライアント11に返し、参照回数204を1増加
させる。このようなエントリがなければ、キャッシュ管
理部101に制御を移す。
【0083】キャッシュ管理部101では、キャッシュ
・ディレクトリ108を第1のURLを用いて検索し他
のサーバ10’、10”、…が第1のURLの情報を保
持していないかを調べる。すなわち、URL211が第
1のURLに等しいキャッシュ・ディレクトリ・エント
リ210があれば、当該キャッシュ・ディレクトリ・エ
ントリ210のサーバID212に対応するサーバにク
ライアント11の要求を転送する。もしこのようなエン
トリがなければ、第1のURLを処理可能な外部サーバ
13、13’、13”、…にクライアント11の要求を
送信する。
【0084】他のサーバ10’、10”、…と外部サー
バ13、13’、13”、…に送信した要求の返答は、
HTTPのプロトコルで返される。このプロトコルの詳
細は省略するが、情報の内容、サイズ、最終更新日付が
付加されるのが普通である。この返答を受け取ったキャ
ッシュ管理部101は、キャッシュ表107に新たなキ
ャッシュ表エントリ200を作り、該エントリのURL
201に第1のURLを、サイズ202にサイズを、日
付203に最終更新日付を、参照回数204に0を、キ
ャッシュ内容205に情報の内容を格納する。
【0085】グループのキャッシュ・ディレクトリ10
8を更新するために、新たな情報を入手したサーバ10
は、グループのメンバに対してホストURLメッセージ
370を送る。ホストURLメッセージ370のサーバ
ID372はサーバ10のIDを、URL373は当該
情報のURLを、フラグ374は「存在」を保持する。
【0086】(2)キャッシュ価値回覧処理 本発明では、サーバ10、10’、10”、…がキャッ
シュされた情報のキャッシュ価値を「キャッシュ価値=
(参照回数)×(予測再入手時間)/(情報のサイ
ズ)」の式で評価する。予測再入手時間は、外部サーバ
13、13’、13”、…と他のサーバ10’、1
0”、…から入手する時間を予測する。他のサーバ1
0’、10”、…との予測際入手時間の予測には、サー
バ状態表109のスループット222とレイテンシ22
3を用いる。外部サーバ13、13’、13”、…を用
いた予測再入手時間は、スループットとレイテンシとも
に一律な定数を用いる。
【0087】サーバ10、10’、10”、…は、キャ
ッシュに保持している各情報のキャッシュ価値を計算
し、情報を順序付けする。この順序に従って、必要に応
じて情報をキャッシュから破棄したり、他のサーバ1
0’、10”、…へ移動する。
【0088】サーバ10が第1の情報を他のサーバ1
0’、10”、…の1つに移動させる場合には、移動先
サーバを決定する必要がある。この目的でサーバ10、
10’、10”、…は、自分が受け入れ可能なキャッシ
ュ価値の最小値(受け入れ可能キャッシュ価値と呼ぶ)
を他サーバに回覧する。受け入れ可能キャッシュ価値に
は、例えば、キャッシュされている情報のうち、最下位
から数えてM番目(Mは適当な定数)のキャッシュ価値
を用いる。この受け入れ可能キャッシュ価値を用いて、
各サーバは移動先サーバを選択する。
【0089】受け入れ可能キャッシュ価値回覧処理の手
順を、図8を用いて説明する。
【0090】リーダのキャッシュ価値評価部104は、
一定時間毎にキャッシュ価値回覧処理を起動する。また
リーダ以外のキャッシュ価値評価部104は、キャッシ
ュ価値メッセージ340を受け取った時点でキャッシュ
価値回覧処理を行う。キャッシュ価値回覧処理を開始す
ると、ステップ801で自分がリーダであるかどうかを
判定する。
【0091】ステップ801の判定がYの場合(80
2)、ステップ803で上記の要領で自分の回覧すべき
受け入れ可能キャッシュ価値を計算する。次に、新たな
キャッシュ価値メッセージ340を作成し、新たなキャ
ッシュ価値メッセージ・エントリ341を作り、当該エ
ントリのサーバID342に自分のサーバIDを、キャ
ッシュ価値343に計算した受け入れ可能キャッシュ価
値を格納する。そして、ステップ804で作成したキャ
ッシュ価値メッセージ340を送信する。送信先は、階
層維持メッセージの回覧と同様、グループ表110を用
いて決定する。
【0092】続くステップ805では動作中のメンバを
一周してきたキャッシュ価値メッセージ340を受信す
る。そして受け取ったメッセージをもう一周回覧するた
めに、ステップ806で再びメンバに受け取ったキャッ
シュ価値メッセージ340を送信する。さらにステップ
807でキャッシュ価値メッセージ340を受信する。
これによって、キャッシュ価値回覧処理の間動作中のメ
ンバは2回キャッシュ価値メッセージ340を受け取る
ことになる。
【0093】一方ステップ801の判定がNの場合(8
08)、まずステップ809でキャッシュ価値メッセー
ジ340を受信し、ステップ810でキャッシュ価値メ
ッセージ340の自分のキャッシュ価値メッセージ・エ
ントリ341があるかを判定する。具体的には、受信し
たキャッシュ価値メッセージ340のキャッシュ価値メ
ッセージ・エントリ341のうち、サーバID342が
自分のサーバIDに等しいエントリがあるかを調べる。
この判定がNの場合(811)、ステップ812で回覧
すべき受け入れ可能キャッシュ価値を計算し、ステップ
813でキャッシュ価値メッセージ340に自分のキャ
ッシュ価値メッセージ・エントリ341を追加する。す
なわち、新たなキャッシュ価値メッセージ・エントリ3
41を作り、当該エントリのサーバID342に自分の
サーバIDを、キャッシュ価値343に計算した受け入
れ可能キャッシュ価値を格納する。そして、ステップ8
14で次のメンバにキャッシュ価値メッセージ340を
送る。送信先は、階層維持メッセージの回覧と同様、グ
ループ表110を用いて決定する。
【0094】また、ステップ810の判定がYの場合
(815)、すなわち二周目の回覧の場合、ステップ8
16で、受信したキャッシュ価値メッセージ340をキ
ャッシュ価値評価部104の中に保存する。続いてステ
ップ814の処理を行い、キャッシュ価値回覧処理を終
了する。
【0095】(3)移動予告回覧によるキャッシュ移動
集中の回避 1つのグループの複数のサーバが一斉に情報の移動を予
定している場合、移動先が1つのサーバに集中する恐れ
がある。この問題を解決するために、各サーバは移動し
ようとする情報および予定移動先のリスト(移動予定リ
ストと呼ぶ)を移動予告メッセージ350にのせて回覧
する。これにより各サーバは、他のサーバが選んでいな
い移動先を避けて移動先サーバを決定することができ
る。
【0096】移動予告回覧処理の手順を、図9を用いて
説明する。
【0097】リーダのキャッシュ移動破棄部105は、
一定時間毎に移動予告回覧処理を起動する。またリーダ
以外のキャッシュ移動破棄部105は、移動予告メッセ
ージ350を受け取った時点で移動予告回覧処理を行
う。移動予告回覧処理を開始すると、ステップ901で
自分がリーダであるかどうかを判定する。
【0098】ステップ901の判定がYの場合(90
2)、ステップ903で上記の要領で移動予告リストを
作成する。移動予告リストはステップ904で移動予告
メッセージ350に格納される。すなわち、新たな移動
予告メッセージ350を作成し、移動すべき情報毎に新
たな移動予告メッセージ・エントリ351を作り、当該
エントリのサーバID352に自分のサーバIDを、U
RL353に移動すべき情報のURLを、そして移動先
サーバID354に移動先サーバを格納する。そして、
ステップ905で作成した移動予告メッセージ350を
送信する。送信先は、階層維持メッセージの回覧と同
様、グループ表110を用いて決定する。続くステップ
906で、移動処理を行う。すなわち、移動すべき情報
のそれぞれに対し、情報を移動すべきサーバに情報をネ
ットワーク12経由で転送する。
【0099】一方ステップ901の判定がNの場合(9
07)、まずステップ908で移動予告メッセージ35
0を受信し、ステップ909で移動予告メッセージ35
0をもとに自分の移動予告リストを更新する。すなわ
ち、もし自分が移動を予定している移動先サーバが、移
動予告メッセージ350の上記M個以上の移動予告メッ
セージ・エントリ351の移動先サーバID354に格
納されていれば、別の移動先サーバを選択する。次にス
テップ910で、更新した自分の移動予告リストを移動
予告メッセージ350に反映する。すなわち、移動すべ
き情報毎に新たな移動予告メッセージ・エントリ351
を作り、当該エントリのサーバID352に自分のサー
バIDを、URL353に移動すべき情報のURLを、
そして移動先サーバID354に移動先サーバを格納す
る。続くステップ911で、作成した移動予告メッセー
ジ350を送信する。送信先は、階層維持メッセージの
回覧と同様、グループ表110を用いて決定する。続く
ステップ906で、移動処理を行う。すなわち、移動す
べき情報のそれぞれに対し、情報を移動すべきサーバに
情報をネットワーク12経由で転送する。
【0100】(4)破棄予告回覧によるキャッシュ一斉
破棄の回避 近接する複数のサーバが同一情報のキャッシュを保持し
ている場合、このキャッシュのコピーすべてが一斉に破
棄されないように工夫することが必要である。理想的に
は、近接する複数のサーバに対して情報のコピーがただ
1つ存在するのが望ましい。本発明のシステムでは、集
中の管理サーバを用いずに近似的な方法でこの状態に近
づける。このために、破棄しようとする情報のリスト
(破棄予定リストと呼ぶ)をメンバの間で回覧する。自
分が破棄しようとする情報のキャッシュがグループのメ
ンバが保持する最後のコピーである場合には、予定した
破棄を中止する。
【0101】破棄予告回覧処理の手順を、図10を用い
て説明する。
【0102】リーダのキャッシュ移動破棄部105は、
一定時間毎に破棄予告回覧処理を起動する。またリーダ
以外のキャッシュ移動破棄部105は、破棄予告メッセ
ージ360を受け取った時点で破棄予告回覧処理を行
う。破棄予告回覧処理を開始すると、ステップ1001
で自分がリーダであるかどうかを判定する。
【0103】ステップ1001の判定がYの場合(10
02)、ステップ1003で上記の要領で破棄予告リス
トを作成する。破棄予告リストはステップ1004で破
棄予告メッセージ360に格納され、送信される。すな
わち、新たな破棄予告メッセージ360を作成し、破棄
すべき情報毎に新たな破棄予告メッセージ・エントリ3
61を作り、当該エントリのサーバID362に自分の
サーバIDを、URL363に破棄すべき情報のURL
を格納する。送信先は、階層維持メッセージの回覧と同
様、グループ表110を用いて決定する。続くステップ
1005で、破棄予告メッセージ360の受信を行い、
しかる後にステップ1006で破棄処理を行う。すなわ
ち、破棄すべき情報のそれぞれをキャッシュ表107か
ら削除する。この際、グループのキャッシュ・ディレク
トリ108を更新するために、サーバ10はグループの
メンバに対してホストURLメッセージ370を送る。
ホストURLメッセージ370のサーバID372はサ
ーバ10のIDを、URL373は当該URL333
を、フラグ374は「存在しない」を保持する。
【0104】一方ステップ1001の判定がNの場合
(1007)、まずステップ1008で破棄予告メッセ
ージ360を受信し、ステップ1009で破棄予告メッ
セージ360とキャッシュ・ディレクトリ108をもと
に自分の破棄予告リストを更新する。すなわち、もし自
分が破棄を予定している情報のそれぞれについて、
「(キャッシュ・ディレクトリ108に登場する回数)
―(破棄予告メッセージ360に登場する回数)」が1
以下であれば、破棄をしないことにし、破棄予定リスト
から取り除く。次にステップ1010で、更新した自分
の破棄予告リストを破棄予告メッセージ360に反映す
る。すなわち、破棄すべき情報毎に新たな破棄予告メッ
セージ・エントリ361を作り、当該エントリのサーバ
ID362に自分のサーバIDを、URL363に破棄
すべき情報のURLを格納する。続くステップ1011
で、作成した破棄予告メッセージ360を送信する。送
信先は、階層維持メッセージの回覧と同様、グループ表
110を用いて決定する。続くステップ1006で、す
でに説明した破棄処理を行う。
【0105】先行ヴァリデーション WWWではキャッシュのヴァリデーションに消費する時
間がユーザの反応時間のかなりの部分を占める。そこ
で、定期的にキャッシュされた情報のヴァリデーション
を行っておくことで、キャッシュの新鮮さを常に一定以
上に保つ先行ヴァリデーションを導入する。先行ヴァリ
デーションは、ユーザの要求が特にないときにでも、ヴ
ァリデーションをサーバ10、10’、10”、…が行
うことである。これにより、ユーザがWWWページを参
照した時点でのヴァリデーションをできる限り回避す
る。
【0106】ヴァリデーション間隔をどの程度まで広く
取ることが可能かを見積るために、1度参照されたWW
Wページが、別のユーザから参照されるまでの時間を、
我々の組織のWWW利用記録から得た。1時間以内に再
参照されるWWWページは参照されるWWWページ全体
の2.3%に過ぎず、12時間以内でも9.9%である。ま
た全体を平均すると再参照間隔は177.7時間である
ことが明らかとなった。正確な時間はユーザの母集団に
左右されることが予想されるが、基本的にヴァリデーシ
ョンの時間間隔は8時間から12時間程度でもユーザが
得るキャッシュの新鮮さにほとんど影響を与えないこと
が言える。また、ヴァリデーション動作を変更する場
合、広く用いられているHTTP/1.0およびInt
ernetEngineering Task For
ce(IETF)に標準化提案されているHTTP/
1.1に準拠することが望ましい。HTTP/1.1では
キャッシュの古さが24時間以内なら、ユーザに警告を
行う必要なしと決められている。このため、8時間以上
24時間以下が、望ましい先行ヴァリデーション間隔と
なる。また、サーバが置かれている組織の都合により、
管理者が明示的に指定した時間帯を先行ヴァリデーショ
ンに用いてもよい。こうすることで、企業の従業員がサ
ーバ10を利用しない時間帯を選んで先行プリフェッチ
を行うことが可能となる。
【0107】さらに、先行ヴァリデーションに際して
は、先行ヴァリデーションを行うサーバおよび当該サー
バ付近のネットワークに相当の負荷が発生するため、ク
ライアントからのサーバへの負荷が低い時間帯(オペレ
ーティング・システムへの問合わせにより、サーバの負
荷を得ることが可能である)、またはネットワークの負
荷が低い時間帯(グループ内のサーバとの通信速度の変
化を記録することにより、ネットワークの負荷の概算を
得ることができる)とを別の条件として用いるとよい。
【0108】また、先行ヴァリデーションは、各サーバ
が外部サーバ13、13’、13”、…に対して行うこ
とができるが、複数のサーバが行うべき先行ヴァリデー
ションの対象となるURLを、1つのサーバに集めて、
一括してヴァリデーションを行った方が、1つのURL
を何回もヴァリデーションする無駄が少なくなる。そこ
で、あるサーバから別のサーバに先行ヴァリデーション
を依頼するヴァリデーション依頼メッセージ330を用
いる。
【0109】先行ヴァリデーションの処理を図11を用
いて説明する。
【0110】リーダのヴァリデーション管理部103
は、上記の時間間隔に基づく考察により、一定時間毎に
ヴァリデーション処理を起動する。またリーダ以外のヴ
ァリデーション管理部103は、同じく一定時間毎にヴ
ァリデーション処理を起動する。ヴァリデーション処理
を開始すると、ステップ1101で自分がリーダである
かどうかを判定する。
【0111】ステップ1101の判定がYの場合(11
02)、ステップ1103でメンバから送られてくるヴ
ァリデーション依頼を受信する。一定時間ヴァリデーシ
ョン依頼を受け付けたあと、ステップ1104に移り、
ヴァリデーション処理を行う。この処理の内容は、ヴァ
リデーション依頼メッセージ330中の各ヴァリデーシ
ョン依頼メッセージ・エントリ331のURL333に
ついて、HTTPの「HEAD」要求を用いて、最終更
新日付を外部サーバ13、13’、13”、…から入手
することである。ヴァリデーション処理が終わると、続
くステップ1105で、ヴァリデーション依頼を受信し
た各サーバに、ヴァリデーションの結果を返す。ヴァリ
デーションの結果はヴァリデーション依頼と同じヴァリ
デーション依頼メッセージ330であるが、各ヴァリデ
ーション依頼メッセージ・エントリ331の日付334
はそれぞれ、ステップ1104で得た最新の最終更新日
付で置き換えてから送信する。
【0112】一方ステップ1101の判定がNの場合
(1107)、まずステップ1108でヴァリデーショ
ン依頼メッセージ330を作成する。ヴァリデーション
依頼メッセージ330には、ヴァリデーションの対象と
なる情報(すなわちキャッシュ表107に含まれる情報
のうち、参照回数204がT回以上の情報(Tは定
数))に関してそれぞれヴァリデーション依頼メッセ−
ジ330には、ヴァリデーションの対象となる情報(す
なわちキャッシュ表107に含まれる情報のうち、参照
回数204がT回以上の情報(Tは定数))に関してそ
れぞれヴァリデーション依頼メッセージ・エントリ33
1を作成し、サーバID332に自分のサーバIDを、
URL333に当該情報のURLを格納する。日付33
4には「空」を格納する。続くステップ1108で作成
したヴァリデーション依頼メッセージ330をリーダに
対して送信する。続くステップ1109では、リーダが
ヴァリデーション結果を返答として返すのを待って受け
取る。ステップ1109ではヴァリデーション結果をも
とにキャッシュ表107を更新する。すなわち、ヴァリ
デーション結果であるヴァリデーション依頼メッセージ
330に格納されたヴァリデーション依頼メッセージ・
エントリ331のそれぞれについて、URL333がキ
ャッシュ表107のURL201に等しいキャッシュ表
エントリ200を検索し、もしそのようなキャッシュ表
エントリ200があれば、参照回数204に0を格納す
る。そして、当該キャッシュ表エントリ200の日付2
03を当該ヴァリデーション依頼メッセージ・エントリ
331の日付334と比較する。もし日付334がより
新しければ、キャッシュ表107中の情報は古いので、
当該キャッシュ表エントリ200を削除する。この際、
グループのキャッシュ・ディレクトリ108を更新する
ために、サーバ10はグループのメンバに対してホスト
URLメッセージ370を送る。ホストURLメッセー
ジ370のサーバID372はサーバ10のIDを、U
RL373は当該URL333を、フラグ374は「存
在しない」を保持する。
【0113】なお、上記定数Tの設定に際しては、WW
Wのローカリティが低いことを考慮することが重要であ
る。例えば、我々の組織では、ユーザが要求したWWW
の情報のうち70%近くが、一回しか参照されないこと
がわかった。このため、例えばTを1にすると、キャッ
シュされた情報のうちヴァリデーションをすべき情報
を、効果的に絞りこむことができ、大量の情報をすべて
ヴァリデーションしなくてもよい。
【0114】以上の手順で、先行ヴァリデーションが行
われ、キャッシュ表107の中の情報は常にある程度以
上の新鮮さが保証される。
【0115】
【発明の効果】サーバ動作情報(動作しているサーバの
リスト)を分散管理するためのサーバ状態伝播プロトコ
ルを持ったことにより、WWWのプロキシのように複数
のサーバを連携して動作させる際の、管理者の手間を減
らすことができる。管理者は他のいくつかのサーバを指
定してサーバを立ち上げる以外、サーバ間の連携を管理
する必要がない。
【0116】サーバ状態伝播プロトコルが形成するマル
チキャスト階層を用いてキャッシュ・ディレクトリの伝
播と、キャッシュ制御を、集中管理サーバなしで行う広
域協調キャッシュ管理プロトコルを備えたことにより、
複数のサーバに分散して存在するキャッシュを運営する
ために、複数のサーバ間で互いのキャッシュのリストを
効率よく交換し、以て1つのサーバのキャッシュにない
情報を別のサーバに問い合わせることができる。
【0117】ユーザの要求以前にあらかじめヴァリデー
ション動作を行っておく「先行ヴァリデーション」を備
えたことにより、ヴァリデーション動作がユーザ反応時
間を悪化させないようにすることができる。
【図面の簡単な説明】
【図1】本発明の内部構成を示すブロック図。
【図2】データ構造を示す図。
【図3】メッセージの形式を説明する図。
【図4】サーバ初期化時の階層形成処理のフローチャー
ト。
【図5】グループ参加要求処理のフローチャート。
【図6】階層維持メッセージ受信処理のフローチャー
ト。
【図7】階層再構成処理のフローチャート。
【図8】キャッシュ価値回覧処理のフローチャート。
【図9】移動予告回覧処理のフローチャート。
【図10】破棄予告回覧処理のフローチャート。
【図11】ヴァリデーション処理のフローチャート。
【符号の説明】
10、10’、10”、…:サーバ、11:クライアン
ト、12:ネットワーク、13、13’、13”、…:
外部サーバ、100:クライアント要求処理部、10
1:キャッシュ管理部、102:サーバ管理部、10
3:ヴァリデーション管理部、104:キャッシュ価値
評価部、105:キャッシュ移動破棄部、106:通信
部、107:キャッシュ表、108:キャッシュ・ディ
レクトリ、109:サーバ状態表、110:グループ
表。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 野田 文雄 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】ネットワークで互いに接続された1つ以上
    のサーバ機能を有する計算機からなり、該計算機はそれ
    ぞれ一意な番号(ID)を持ち、それぞれ独立に動作ま
    たは停止することができ、該IDを用いて該計算機間の
    通信先を指定し、動作中の計算機を1つ以上の第1のグ
    ループに分類して管理するサーバ分散管理方法であっ
    て、 第1のグループに属する計算機のそれぞれに、該計算機
    の属するグループを構成する計算機のIDを通知する処
    理と、 管理者が動作中の計算機の初期IDを1つ以上与えて第
    1の計算機を新たに起動した際に、該計算機を第1のグ
    ループのいずれかに追加する処理と、 第1のグループのいずれかの台数が第1の定数を超えた
    場合に、第1のグループを分類し直して、各グループを
    第1の定数以下の台数に再分類する処理と、からなるこ
    とを特徴とするサーバ分散管理方法。
  2. 【請求項2】前記第1のグループのそれぞれがリーダを
    持ち、 前記追加する処理は、 前記初期IDに対応する1つ以上の計算機から、該計算
    機が保持する動作中の計算機の表を前記第1の計算機に
    送信する処理と、 第1の計算機が該表中の第2の計算機を選択する処理
    と、 第1の計算機をグループに追加する要求を、第1の計算
    機が第2の計算機経由で、第2の計算機の属するグルー
    プのリーダである第3の計算機へ送信する処理と、 第3の計算機が第1の計算機を該グループへ追加する処
    理とからなる請求項1に記載のサーバ分散管理方法。
  3. 【請求項3】前記動作中の計算機が、前記第1のグルー
    プの相互の上下関係を決定し、もって第1のグループが
    階層構造を形成する請求項1に記載のサーバ分散管理方
    法。
  4. 【請求項4】前記再分類する処理は、 前記第1の定数を超えたグループのリーダが新たなグル
    ープを作成する処理と、 該超えたグループに属する計
    算機の一部を該新たなグループに移動する処理と、から
    なる請求項1に記載のサーバ分散管理方法。
  5. 【請求項5】前記再分類する処理は、前記第1の定数を
    超えたグループのリーダが、該リーダの属するグループ
    を構成する計算機の一部を前記階層構造で隣接するグル
    ープに移動する処理を含む請求項3に記載のサーバ分散
    管理方法。
  6. 【請求項6】前記第1の計算機をグループに追加する要
    求を送信する処理は、 前記動作中の計算機の一部または全部との通信速度を計
    測する処理と、 第1の計算機との通信速度が大きい計算機が属するグル
    ープへ追加の要求を送信する処理と、からなる請求項2
    に記載のサーバ分散管理方法。
  7. 【請求項7】ネットワークで互いに接続された1つ以上
    のサーバ機能を有する計算機からなり、該計算機はそれ
    ぞれ一意な番号(ID)を持ち、それぞれ独立に動作ま
    たは停止することができ、該IDを用いて該計算機間の
    通信先を指定し、動作中の計算機を1つ以上の第1のグ
    ループに分類して管理するサーバ分散管理方法であっ
    て、 第1のグループに属する計算機のそれぞれに、該計算機
    の属するグループを構成する計算機のIDを通知する処
    理と、 管理者が動作中の計算機の初期IDを1つ以上与えて第
    1の計算機を新たに起動した際に、該計算機を第1のグ
    ループのいずれかに追加する処理と、 第1のグループのいずれかの台数が第1の定数を超えた
    場合に、第1のグループを分類し直して、各グループを
    第1の定数以下の台数に再分類する処理と、 動作中の計算機のいずれかが停止または故障または通信
    が不能になった場合に、該計算機の属するグループから
    該計算機を削除する処理と、 前記第1のグループのいずれかの台数が第2の定数未満
    となった場合に、第1のグループに属する一部または全
    部の計算機を第2のグループに移動させる処理と、から
    なることを特徴とするサーバ分散管理方法。
  8. 【請求項8】前記第2のグループとして、請求項3の階
    層構造で隣接するグループを用いる請求項7に記載のサ
    ーバ分散管理方法。
  9. 【請求項9】前記第1のグループに属する計算機が、第
    1のグループを構成する計算機のIDを収集する処理を
    行う請求項1または請求項7に記載のサーバ分散管理方
    法。
  10. 【請求項10】前記第1のグループに属する計算機のそ
    れぞれが、該計算機の属するするグループを構成するす
    べての計算機のIDを保持する表を持つ請求項1または
    請求項7に記載のサーバ分散管理方法。
  11. 【請求項11】前記第1のグループの1つである第3の
    グループに属する計算機が、第3のグループを構成する
    計算機の一部または全部に1つのデータを送信する場合
    に、第3のグループを構成する計算機の間で該データを
    順に回覧する請求項1または請求項7に記載のサーバ分
    散管理方法。
  12. 【請求項12】前記第3のグループに属する計算機が、
    前記第3のグループを構成する1つ以上の計算機からデ
    ータを収集する場合に、1つのメッセージを該1つ以上
    の計算機の間で回覧し、回覧時に該1つ以上の計算機の
    各々が該メッセージにデータを付加する請求項1または
    請求項7に記載のサーバ分散管理方法。
  13. 【請求項13】ネットワークで互いに接続されて情報を
    利用するクライアントと、1つ以上の情報を保持してク
    ライアントにより指定された情報を提供する2つ以上の
    サーバとからなり、1つのサーバが保持する情報を別の
    サーバに移動させるサーバ分散管理方法であって、 第1のサーバが保持する第1の情報を第2のサーバに移
    動させることを1つ以上の第3のサーバに予告する移動
    予告メッセージを第3のサーバに送付する処理と、 該メッセージを受け取った第3のサーバが、第3のサー
    バが持つ第2の情報を第2のサーバに移動する動作を中
    止する処理と、からなることを特徴とするサーバ分散管
    理方法。
  14. 【請求項14】前記第3のサーバが、請求項1または請
    求項7に記載のグループに属する計算機である請求項1
    3に記載のサーバ分散管理方法。
  15. 【請求項15】前記移動予告メッセージを請求項11に
    記載の順に回覧して第3のサーバに送付する請求項13
    に記載のサーバ分散管理方法。
  16. 【請求項16】前記移動予告メッセージを受け取った第
    3のサーバは、前記第2のサーバへの情報の移動数が第
    1の定数以上である場合に第2の情報を第2のサーバに
    移動する動作を中止する請求項13に記載の情報サーバ
    分散管理方法。
  17. 【請求項17】ネットワークで互いに接続された、情報
    を利用するクライアントと、1つ以上の情報を保持し、
    クライアントからの依頼により指定された情報を提供す
    る2つ以上のサーバからなり、サーバが保持するデータ
    を破棄することができるサーバ分散管理方法であって、 第1のサーバが保持する第1の情報を破棄する際に、第
    1の情報のコピーを持つ可能性がある1つ以上の第2の
    サーバに、該破棄を予告する破棄予告メッセージを送付
    する処理と、 該破棄予告メッセージを受け取った第2のサーバが自身
    の保持する第1の情報のコピーの破棄を中止する処理
    と、からなるサーバ分散管理方法。
  18. 【請求項18】前記第2のサーバが、請求項1または請
    求項7に記載のグループに属する計算機である請求項1
    7に記載のサーバ分散管理方法。
  19. 【請求項19】前記破棄予告メッセージを、請求項11
    に記載の順に回覧して第2のサーバに送付する請求項1
    7に記載のサーバ分散管理方法。
  20. 【請求項20】前記第2のサーバが第2の情報を破棄す
    る際に、回覧された前記破棄予告メッセージに、該破棄
    の予告を追加して回覧する請求項17に記載のサーバ分
    散管理方法。
  21. 【請求項21】前記第2のサーバが、前記第1のサーバ
    及び第2のサーバのうち、第1の情報またはそのコピー
    を持つ可能性があるサーバの数の予測である保持数を保
    持し、 前記破棄予告メッセージに記載の第1の情報またはその
    コピーの破棄予告数を得、 該保持数から該破棄予告数を減じた数が1以下であれ
    ば、第2のサーバが保持する第1の情報またはそのコピ
    ーの破棄を中止する請求項17に記載のサーバ分散管理
    方法。
  22. 【請求項22】ネットワークで互いに接続された、情報
    を利用するクライアントと、1つ以上の情報のコピーを
    保持し、クライアントからの依頼により指定された情報
    を提供するサーバと、1つ以上の情報を保持し、サーバ
    またはクライアントに情報を提供する2つ以上の外部サ
    ーバとからなり、サーバまたはクライアントが情報のコ
    ピーが最新かどうかを問合わせるヴァリデーションに対
    して外部サーバが答えるサーバ分散管理方法であって、 サーバが保持する情報のうち、前回のヴァリデーション
    から1回以上参照された情報を、所定の時間毎に、サー
    バが外部サーバにヴァリデーションを行うことを特徴と
    するサーバ分散管理方法。
  23. 【請求項23】前記所定の時間として、8時間以上24
    時間以下の時間を用いる請求項22に記載のサーバ分散
    管理方法。
  24. 【請求項24】前記所定の時間毎のヴァリデーションに
    かえて、前記情報を外部サーバから入手してから8時間
    以上24時間以下で、かつサーバの負荷またはサーバ近
    辺のネットワークの負荷が所定の値以下の時にヴァリデ
    ーションを行う請求項22に記載のサーバ分散管理方
    法。
  25. 【請求項25】前記所定の時間毎のヴァリデーションに
    かえて、前記情報を外部サーバから入手してから8時間
    以上24時間以下で、かつ管理者が指定した時間帯の中
    でヴァリデーションを行う請求項22に記載の情報サー
    バ分散管理方法。
JP9259591A 1997-09-25 1997-09-25 サーバ分散管理方法 Pending JPH1196102A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9259591A JPH1196102A (ja) 1997-09-25 1997-09-25 サーバ分散管理方法
US09/159,784 US6256747B1 (en) 1997-09-25 1998-09-24 Method of managing distributed servers and distributed information processing system using the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9259591A JPH1196102A (ja) 1997-09-25 1997-09-25 サーバ分散管理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008070582A Division JP2008165833A (ja) 2008-03-19 2008-03-19 サーバ分散管理方法

Publications (1)

Publication Number Publication Date
JPH1196102A true JPH1196102A (ja) 1999-04-09

Family

ID=17336243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9259591A Pending JPH1196102A (ja) 1997-09-25 1997-09-25 サーバ分散管理方法

Country Status (2)

Country Link
US (1) US6256747B1 (ja)
JP (1) JPH1196102A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323786A (ja) * 2005-05-20 2006-11-30 Nippon Hoso Kyokai <Nhk> 名前解決装置および名前解決プログラム
JP2008140283A (ja) * 2006-12-05 2008-06-19 Hitachi Ltd 分散階層拠点による情報検索方法
EP2624141A1 (en) 2012-01-27 2013-08-07 Fujitsu Limited Information processing device, memory management method, and memory management program
JP2014067267A (ja) * 2012-09-26 2014-04-17 Hitachi Information & Telecommunication Engineering Ltd ファイル管理システム及び方法、プログラム

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240451B1 (en) * 1995-05-25 2001-05-29 Punch Networks Corporation Method and apparatus for automatically disseminating information over a network
JP3702988B2 (ja) * 1997-12-15 2005-10-05 株式会社堀場製作所 測定装置のメンテナンス方法
US6507863B2 (en) * 1999-01-27 2003-01-14 International Business Machines Corporation Dynamic multicast routing facility for a distributed computing environment
US7730300B2 (en) 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US6697489B1 (en) 1999-03-30 2004-02-24 Sony Corporation Method and apparatus for securing control words
US7349902B1 (en) * 1999-08-04 2008-03-25 Hewlett-Packard Development Company, L.P. Content consistency in a data access network system
CA2281370C (en) * 1999-09-01 2002-11-26 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for maintaining consistency among large numbers of similarly configured information handling servers
CA2281367C (en) * 1999-09-01 2002-12-17 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for simplified administration of large numbers of similar information handling servers
US6667980B1 (en) * 1999-10-21 2003-12-23 Sun Microsystems, Inc. Method and apparatus for providing scalable services using a packet distribution table
US6912513B1 (en) 1999-10-29 2005-06-28 Sony Corporation Copy-protecting management using a user scrambling key
US7039614B1 (en) 1999-11-09 2006-05-02 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US6745242B1 (en) 1999-11-30 2004-06-01 Verizon Corporate Services Group Inc. Connectivity service-level guarantee monitoring and claim validation systems and methods
JP2001197223A (ja) * 2000-01-06 2001-07-19 Sony Corp 通信システム、通信管理装置及び方法
JP2001209596A (ja) * 2000-01-27 2001-08-03 Fujitsu Ltd 情報集配信システム
US7225164B1 (en) * 2000-02-15 2007-05-29 Sony Corporation Method and apparatus for implementing revocation in broadcast networks
US6993587B1 (en) * 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
US6748447B1 (en) * 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US6654902B1 (en) * 2000-04-11 2003-11-25 Hewlett-Packard Development Company, L.P. Persistent reservation IO barriers
US20020007458A1 (en) * 2000-07-11 2002-01-17 Yoshikatsu Ooi Communication apparatus
US7051070B2 (en) * 2000-12-18 2006-05-23 Timothy Tuttle Asynchronous messaging using a node specialization architecture in the dynamic routing network
US8505024B2 (en) 2000-12-18 2013-08-06 Shaw Parsing Llc Storing state in a dynamic content routing network
US7188145B2 (en) 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US7555561B2 (en) * 2001-03-19 2009-06-30 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data broadcasting method
US7159014B2 (en) * 2001-06-04 2007-01-02 Fineground Networks Method and system for efficient and automated version management of embedded objects in web documents
US7139398B2 (en) 2001-06-06 2006-11-21 Sony Corporation Time division partial encryption
US7747853B2 (en) 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
US7895616B2 (en) 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
US7765567B2 (en) 2002-01-02 2010-07-27 Sony Corporation Content replacement by PID mapping
US7823174B2 (en) 2002-01-02 2010-10-26 Sony Corporation Macro-block based content replacement by PID mapping
US8818896B2 (en) 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
US7724907B2 (en) * 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US8667525B2 (en) 2002-12-13 2014-03-04 Sony Corporation Targeted advertisement selection from a digital stream
US8645988B2 (en) 2002-12-13 2014-02-04 Sony Corporation Content personalization for digital content
KR101150361B1 (ko) * 2003-08-11 2012-06-11 소니 주식회사 페이지 데이터 수신 방법, 페이지 데이터 제공 방법 및 그 장치
US7107403B2 (en) * 2003-09-30 2006-09-12 International Business Machines Corporation System and method for dynamically allocating cache space among different workload classes that can have different quality of service (QoS) requirements where the system and method may maintain a history of recently evicted pages for each class and may determine a future cache size for the class based on the history and the QoS requirements
US7143240B2 (en) * 2003-10-31 2006-11-28 International Business Machines Corporation System and method for providing a cost-adaptive cache
US7853980B2 (en) 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
US7895617B2 (en) 2004-12-15 2011-02-22 Sony Corporation Content substitution editor
US8041190B2 (en) 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US8185921B2 (en) 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
US8103783B2 (en) * 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US7720936B2 (en) 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US8504775B2 (en) 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US8701010B2 (en) 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US7783757B2 (en) * 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US7584294B2 (en) 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US8589519B2 (en) * 2008-06-18 2013-11-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for uniform resource identifier handling of user device
JP4388128B1 (ja) * 2008-08-29 2009-12-24 株式会社東芝 情報提供サーバ、情報提供方法及び情報提供システム
US9398066B1 (en) 2013-03-06 2016-07-19 Amazon Technologies, Inc. Server defenses against use of tainted cache
US9471533B1 (en) 2013-03-06 2016-10-18 Amazon Technologies, Inc. Defenses against use of tainted cache
CN104252424B (zh) * 2013-06-26 2018-04-17 腾讯科技(深圳)有限公司 一种用户原创内容消息的缓存处理方法及装置
US9860153B2 (en) 2014-12-23 2018-01-02 Intel Corporation Technologies for protocol execution with aggregation and caching
US10511484B1 (en) * 2017-03-24 2019-12-17 Amazon Technologies, Inc. Membership self-discovery in distributed computing environments
US11424997B2 (en) * 2019-12-10 2022-08-23 Dell Products L.P. Secured network management domain access system
EP4217847A1 (en) * 2020-09-23 2023-08-02 ARRIS Enterprises LLC Using a mobile application with a cloud server to manage a home network

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
JP3370704B2 (ja) * 1992-10-12 2003-01-27 株式会社日立製作所 通信制御方法
US5619656A (en) * 1994-05-05 1997-04-08 Openservice, Inc. System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed
US6061722A (en) * 1996-12-23 2000-05-09 T E Network, Inc. Assessing network performance without interference with normal network operations
US6141686A (en) * 1998-03-13 2000-10-31 Deterministic Networks, Inc. Client-side application-classifier gathering network-traffic statistics and application and user names using extensible-service provider plugin for policy-based network control

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323786A (ja) * 2005-05-20 2006-11-30 Nippon Hoso Kyokai <Nhk> 名前解決装置および名前解決プログラム
JP2008140283A (ja) * 2006-12-05 2008-06-19 Hitachi Ltd 分散階層拠点による情報検索方法
EP2624141A1 (en) 2012-01-27 2013-08-07 Fujitsu Limited Information processing device, memory management method, and memory management program
US9021208B2 (en) 2012-01-27 2015-04-28 Fujitsu Limited Information processing device, memory management method, and computer-readable recording medium
JP2014067267A (ja) * 2012-09-26 2014-04-17 Hitachi Information & Telecommunication Engineering Ltd ファイル管理システム及び方法、プログラム

Also Published As

Publication number Publication date
US6256747B1 (en) 2001-07-03

Similar Documents

Publication Publication Date Title
JPH1196102A (ja) サーバ分散管理方法
US11647097B2 (en) Providing access to managed content
US6182111B1 (en) Method and system for managing distributed data
CN102067557B (zh) 使用本地托管高速缓存和密码散列函数来减少网络通信的方法和系统
US7076553B2 (en) Method and apparatus for real-time parallel delivery of segments of a large payload file
US9069835B2 (en) Organizing data in a distributed storage system
US7676812B2 (en) Large scale event notification system
US20150215405A1 (en) Methods of managing and storing distributed files based on information-centric network
JP2003248611A (ja) 記憶管理統合システム、および、その記憶管理制御方法
HU224787B1 (en) Load balancing cooperating cache servers
US8572201B2 (en) System and method for providing a directory service network
US8478898B2 (en) System and method for routing directory service operations in a directory service network
CN107438096A (zh) 针对分布式存储的拥塞感知负载平衡
KR20150103477A (ko) 분산환경 기반의 캐쉬 관리 장치 및 방법
US20050149468A1 (en) System and method for providing location profile data for network nodes
JP4271967B2 (ja) 分散ファイルシステム及び分散ファイルシステムの運用方法
CN102316154A (zh) 优化对基于联盟基础结构的资源的访问
JP2005063374A (ja) データ管理方法、データ管理装置、およびそのためのプログラムならびに記録媒体。
US9922031B2 (en) System and method for efficient directory performance using non-persistent storage
JP2000089996A (ja) 情報処理装置およびデータベースシステム
JP4222065B2 (ja) 情報システムにおけるデータアクセス方法および情報システム
JP2007293433A (ja) 文書管理システム
JP2008165833A (ja) サーバ分散管理方法
AU5756000A (en) Distributed virtual web cache implemented entirely in software
JP4243150B2 (ja) コンテンツ配信システムおよび利用者端末装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040330

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040330

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070618

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080122