(57)【特許請求の範囲】
【請求項１】
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持するか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、
同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、
前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段とを有し、
前記コンテンツ取得先装置決定手段は、同階層情報取得手段により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および応答時間に基づいて前記コンテンツ取得先装置を決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなる情報処理装置。
【請求項２】
前記コンテンツ取得先装置決定手段は、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、自己および同階層の他の情報処理装置の全ての中で負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、自己および同階層の他の情報処理装置の全ての中に負荷率が所定の閾値より低いものがなければ、自己および同階層の他の情報処理装置の全てのものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持していた場合、当該コンテンツを保持しているものの中に負荷率が所定の閾値より低いものがあれば該当するものをコンテンツ取得先装置の候補として残し、当該コンテンツの保持を保持しているものの中に負荷率が所定の閾値より低いものがない場合、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中にも負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものが無い場合、前記当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定する構成とされてなる請求項１に記載の情報処理装置。
【請求項３】
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得段階と、
同階層情報取得段階で取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定段階と、
前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供段階とを有し、
前記コンテンツ取得先装置決定段階では、同階層情報取得段階により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および応答時間に基づいて前記コンテンツ取得先装置を決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および前記応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなる情報処理装置の制御方法。
【請求項４】
情報処理装置の動作を制御するためにコンピュータを、
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、
同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、
前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段として機能させ、
前記コンテンツ取得先装置決定手段は、同階層情報取得手段により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および前記応答時間に基づいて前記コンテンツ取得先装置を決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および前記応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに係り、特にコンテンツの要求およびコンテンツの提供を行う情報処理装置、情報処理装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
例えばネットワークを介してセンサー情報の管理を行う技術分野などにおいては、ネットワークを流れる情報量の削減、情報を提供するキャッシュサーバの負荷低減、及びサービスを受けるクライアントに対するレスポンス時間の短縮等が望まれている。そのような要求を満たすための技術として、ネットワークに接続されているキャッシュサーバの負荷を分散する階層・分散キャッシュ技術がある。
【０００３】
この階層・分散キャッシュ技術では、コンテンツの要求に対し、要求を受けたキャッシュサーバがそのコンテンツを保持していない場合、ＩＣＰ（Ｉｎｔｅｒｎｅｔ  Ｃａｃｈｅ  Ｐｒｏｔｏｃｏｌ）メッセージを用いて他のキャッシュサーバがこれを保持していないかを問い合わせ、保持しているキャッシュサーバが存在する場合はそのキャッシュサーバからコンテンツを取得し、要求元へコンテンツを提供する。該当するコンテンツを保持するキャッシュサーバが存在しない場合には、上位のキャッシュサーバか、コンテンツサーバ(オリジンサーバ)からコンテンツを取得する。
【０００４】
図１は上記階層・分散キャッシュ技術を実現するためのネットワーク構成例を示す。
【０００５】
図１のネットワーク構成では、最上位にコンテンツサーバ５０が存在し、下層にはキャッシュサーバ２０−５，２０−６の階層、更に下層にはキャッシュサーバ２０−１〜２０−４の階層が設けられ、最下位には、これらコンテンツサーバ５０，キャッシュサーバ２０−１〜２０−６に対してコンテンツを要求するクライアント１０−１〜１０−１２の層が存在する。
【０００６】
なお以下の説明においてクライアント１０−１〜１０−１２を総称してクライアント１０と称し、或いはキャッシュサーバ２０−１〜２０−６を総称してキャッシュサーバ２０と称することがある。
【０００７】
以下に図２〜４とともに、従来の階層・分散キャッシュ技術における、上記クライアント１０―１〜１０−１２からのコンテンツの要求に対しコンテンツサーバ５０或いはキャッシュサーバ２０−１〜２０−６が該当するコンテンツを提供する際の動作の例について説明する。
【０００８】
ここで従来のキャッシュ機能について説明する。
【０００９】
キャッシュサーバ２０がクライアント１０からコンテンツの要求を受信すると、自己が該当するコンテンツを保持しているか否かを判定し、自己が保持していれば当該キャッシュサーバ２０からクライアント１０に対し該当するコンテンツを送信する。自己が保持していなければ隣接する同階層のキャッシュサーバ２０に当該コンテンツを要求し、同階層のキャッシュサーバ２０が該当するコンテンツを保持していればそこから当該コンテンツを取得し、クライアント１０に対しこれを送信する。同階層のキャッシュサーバも該当するコンテンツを保持していなければ、コンテンツサーバ５０または上位のキャッシュサーバ２０から当該コンテンツを取得し、これをクライアント１０へ送信する。
【００１０】
ここで同階層又は上位のキャッシュサーバ２０或いはコンテンツサーバ５０から取得したコンテンツを自己が保持する際、そのキャッシュメモリの記憶容量が不足しているような場合、現在保持しているコンテンツの中で最も古い情報を削除して該当する新たなコンテンツを保持するか、或いは現在保持しているコンテンツの中で最もアクセスされていない情報を削除して該当する新たなコンテンツを保持する。
【００１１】
図２において、キャッシュサーバ２０はクライアント１０からコンテンツの要求（ステップＳ２０１）を受信すると、自己が該当するコンテンツを保持しているか検索する（ステップＳ２０２）。その結果自己が保持していればキャッシュサーバ２０はクライアント１０に対し該当するコンテンツを送信する（ステップＳ２０３）。
【００１２】
他方該当するコンテンツを保持していなかった場合（図３中、ステップＳ２１１，Ｓ２１２）、キャッシュサーバ２０は隣接する同階層のキャッシュサーバ２０にコンテンツを要求する（ステップＳ２１３）。
【００１３】
同階層のキャッシュサーバ２０が該当するコンテンツを保持していれば、前記最初にコンテンツの要求を受けたキャッシュサーバ２０は当該コンテンツを保持しているキャッシュサーバ２０から当該コンテンツを取得し、これをクライアント２０に送信する（ステップＳ２１４）。
【００１４】
又同階層のキャッシュサーバ２０も当該コンテンツを保持していなければ（図４中、ステップＳ２２１，Ｓ２２２，Ｓ２２３）、前記最初にコンテンツの要求を受けたキャッシュサーバ２０はコンテンツサーバ５０または上位のキャッシュサーバ２０からコンテンツを取得し、クライアント１０に対しこれを送信する（ステップＳ２２４，Ｓ２２５，Ｓ２２６）。
【００１５】
このような従来技術においては、コンテンツの共有およびキャッシュサーバ間のアクセス負荷の分散が可能となり、クライアントからのアクセス頻度が高いコンテンツに関しては有効に機能すると期待される一方、アクセス頻度の低いコンテンツが同じ階層のキャッシュサーバで重複して保持され合うと冗長となり、必ずしも各キャッシュサーバの容量が有効に利用されないような状況も想定される。
【００１６】
又上記ＩＣＰメッセージを用いてコンテンツの取得先を検索する際、キャッシュサーバ間の負荷の偏り等が生ずるおそれがある。
【００１７】
上述の階層・分散キャッシュ技術以外の階層・分散キャッシュ技術として、例えば特許文献１に記載されたものがある。ここでは、最下層に位置するキャッシュサーバのみがコンテンツを保持し、上位のサーバは当該コンテンツを保持するキャッシュサーバの情報を管理し、下位のキャッシュサーバからのコンテンツの検索おいてディレクトリサーバとして機能する。この技術においてもキャッシュサーバ間で同じコンテンツを重複して保持することになるため、上記と同様の問題が生じ得る。
【特許文献１】特表２００１−５１２６０４号公報
【非特許文献１】ＩＥＴＦ
【非特許文献２】ＲＦＣ  ２１８６
【非特許文献３】ＲＦＣ  ２１８７
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明はこのような状況に鑑みてなされたものであり、情報処理装置による、アクセス頻度が低いコンテンツの冗長な保持を回避して情報処理装置の記憶容量を有効に利用することを可能とし、又アクセス頻度が高いコンテンツについては複数の情報処理装置で保持し合うことにより負荷分散を可能とする構成の情報処理装置、情報処理装置の制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明では情報処理装置がコンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持するか否かのコンテンツ保持情報および各情報処理装置の負荷状況を示す負荷情報並びに、いずれかの情報処理装置が該当するコンテンツを保持している場合、当該情報処理装置における当該コンテンツに対する外部からのアクセス頻度（すなわち単位時間当たりのアクセス回数等）を示すアクセス頻度情報を取得し、このように取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定し、前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供するようにした。
【００２０】
このような構成の本発明によれば、同階層の情報処理装置の負荷状況を示す負荷情報、該当するコンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得し、又当該取得に要した応答時間を取得し、これらの取得情報に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定し、当該コンテンツ取得先装置に対する接続のための接続先情報を要求元に提供する。
【００２１】
そして各情報処理装置は、当該接続先情報に基づいた、要求元からのコンテンツの要求を受けた際、自己が該当するコンテンツを保持していればこれを要求元に提供し、自己が該当するコンテンツを保持していなければ他の情報記憶装置からこれを取得して自己が保持するとともに要求元に提供する。
【００２２】
又本発明によれば、最初にコンテンツの要求元から当該コンテンツの要求を受けた情報処理装置は、少なくともその段階では、自己が該当するコンテンツを保持しているか否かにかかわらず、当該コンテンツを提供することはない。代わりに自己および同階層他の情報記憶装置の負荷情報、当該コンテンツに係るアクセス頻度情報およびそれらの情報の取得に要した応答時間を取得し、これら取得した情報に基づいてコンテンツ取得先装置を決定し、その接続先情報を要求元に提供する。そして要求元はこの接続先情報に基づいて該当するコンテンツ取得先装置から直接該当するコンテンツを取得する。
【００２３】
このように本発明によれば、コンテンツを直接要求元に提供するのは必ずしも最初の段階で当該コンテンツの要求を受けた情報処理装置ではなく、コンテンツ取得先装置として選ばれた情報処理装置であり、当該選ばれた情報処理装置が該当するコンテンツを保持していなければ他の情報記憶装置からこれを取得して自己が保持するとともに要求元に提供する。その結果情報記憶装置間で効果的な負荷分散が図れる。
【００２４】
すなわち従来は最初の段階でコンテンツの要求を受けたキャッシュサーバが直接要求元に該当するコンテンツを提供するため、当該キャッシュサーバが該当するコンテンツを保持していなければ他のキャッシュサーバ或いはコンテンツサーバからこれを取得し、自己が保持するとともに要求元に提供していた。したがって仮に当該最初の段階でコンテンツの要求を受けたキャッシュサーバの負荷が既に高い状態であった場合、更にその負荷が増加することとなり、効果的な負荷分散が図れなかった。これに対し本発明では上記の如く、コンテンツを直接要求元に提供する情報処理装置は最初の段階でコンテンツの要求を受けた情報処理装置に限られず、負荷の低い情報処理装置が選ばれるようにすることが可能なため、効果的な負荷分散が図れる。
【００２５】
同様に、従来技術では当該最初の段階でコンテンツの要求を受けたキャッシュサーバにおいて該当するコンテンツに対するアクセス頻度が既に高い状態であった場合、更にそのアクセス頻度が増加することとなり、効果的な負荷分散が図れなかった。これに対し本発明では上記の如く、コンテンツを直接要求元に提供する情報処理装置は最初の段階でコンテンツの要求を受けた情報処理装置に限られず、該当するコンテンツについてのアクセス頻度の低い情報処理装置が選ばれるようにすることが可能なため、効果的な負荷分散が図れる。
【００２６】
すなわち本発明によれば、要求に係るコンテンツを保持しているか否かにかかわらず、負荷が高い情報処理装置、アクセス頻度が高い情報処理装置、或いは情報を取得するための要求に対する応答時間が長い情報処理装置がコンテンツ取得先装置として選ばれないように制御することが可能となる。そのような制御を行うことにより、負荷が低く、アクセス頻度が低く、且つ応答時間が短い情報処理装置がコンテンツ取得先装置として選ばれるようにすることが可能となる。
【００２７】
又アクセス頻度が高いコンテンツを保持している情報処理装置は同時に当該装置自体の負荷も増加する可能性が高く、もってこのような装置はコンテンツ取得先装置に選ばれ難くなり、その結果他の情報処理装置がコンテンツ取得先装置に選ばれ易くなる。そしてこのようにして選ばれた情報処理装置が該当するコンテンツを保持していない場合には他の情報記憶装置からこれを取得することとなる。その結果アクセス頻度が高いコンテンツについては複数の情報処理装置が重複して保持し合うようになり、効果的な負荷の分散が図れる。
【００２８】
逆にアクセス頻度が低いコンテンツについて考えると、このようなコンテンツを保持している情報処理装置は当該コンテンツに対するアクセス頻度が低いため装置自体の負荷も低くなる可能性が高く、したがってコンテンツ取得先装置に選ばれる可能性が高まる。その結果他の情報処理装置がコンテンツ取得先装置に選ばれる可能性が減るため、当該他の情報記憶装置が選ばれて該当するコンテンツを保持し合うことで冗長となるような事態の発生を回避し得る。したがって各情報処理装置の記憶容量の有効利用が図れる。
【００２９】
又コンテンツ取得先装置を決定する際、情報取得の際の応答時間が短いものを選ぶようにすることにより、当該コンテンツの要求元が接続先情報に基づいてコンテンツ取得先装置から当該コンテンツを取得する際に要する時間を効果的に短縮することが可能となり、コンテンツに対するヒット率を高めることが出来る。ここで上記応答時間が短いことは、当該情報処理装置の位置が論理的或いは物理的に近い位置にあることを意味する。
【００３０】
又最初の段階でコンテンツの要求を受けた情報処理装置が当該コンテンツを保持していなかった場合、従来技術では当該情報処理装置が他の情報記憶装置から該当するコンテンツを取得し、自己が保持するとともに要求元に提供していた。これに対し、本発明によれば、最初の段階でコンテンツの要求を受けた情報処理装置はコンテンツ取得先装置を決定し、対応する接続先情報を要求元に提供するものとされ、このコンテンツ取得先装置の決定は、負荷状況、該当するコンテンツについてのアクセス頻度および情報取得の際の応答時間に基づいてなされる。このため、最初の段階でコンテンツの要求を受けた情報処理装置がコンテンツ取得先装置に選ばれるとは限らない。すなわち、同階層の他の情報記憶装置が該当するコンテンツを保持しており、その負荷がそれほど高くなく、且つ当該コンテンツに対するアクセス頻度もそれほど高くない場合、当該他の情報処理装置がコンテンツ取得先装置に選ばれるように構成することが出来る。その結果、最初の段階でコンテンツの要求を受けた情報処理装置が当該コンテンツを他の情報記憶装置から取得して自己が保持する必要がなくなる。その結果各情報処理装置の記憶容量の有効利用が図れる。
【００３１】
又この場合、当該最初の段階でコンテンツの要求を受けた情報処理装置の記憶容量が既に不足しているような場合、新たに当該コンテンツを取得して自己が保持するためには既に保持しているコンテンツを削除する必要があるが、本発明によれば、一定の条件下では上記の如く新たに当該コンテンツを取得して自己が保持する必要がないため、その場合既に保持していたコンテンツを削除する必要がなくなる。ここで、このように削除する必要がなくなり引き続き保持することが可能となったコンテンツが、同階層において当該情報処理装置のみが保持していたような場合にはコンテンツに対するヒット率を向上させることが可能となる。
【発明の効果】
【００３２】
このように本発明によれば、アクセス頻度が低いコンテンツの冗長な保持を回避して情報処理装置の記憶容量を有効に利用することを可能とし、又アクセス頻度が高いコンテンツについては複数の情報処理装置で重複して保持し合うことにより負荷分散を可能とする構成の情報処理装置、情報処理装置の制御方法およびプログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００３３】
以下に本発明の実施例による階層・分散キャッシュ方式について述べる。
【００３４】
本発明の実施例による階層・分散キャッシュ方式を実現するキャッシュサーバは上述の従来のキャッシュサーバの機能に加え、以下の機能を持つ。
【００３５】
・クライアント、または下位のキャッシュサーバからコンテンツの要求を受信すると、当該コンテンツの取得先を判定するために同階層のキャッシュサーバへ情報(該当するコンテンツの保持の有無、自己が負っている負荷、自己が保有する当該コンテンツに対する外部からのアクセス頻度)を取得するための要求を送信する機能
・上記の情報を取得するための要求に対して応答を送信する機能
・上記応答を受信した場合についてタイムアウト値を設定し、当該タイムアウト値の示す時間以内に受信した応答につき、自己および当該応答を行ったキャッシュサーバの中から、コンテンツの要求元のクライアント又は下位のキャッシュサーバが同コンテンツを取得するために接続すべき接続先(すなわちコンテンツ取得先装置)を、当該コンテンツの保持の有無、自己が負っている負荷および当該コンテンツに対する外部からのアクセス頻度に基づいて判定する機能（以下接続先判定機能と称する）
・このようにして決定した接続先をコンテンツの要求元のクライアント又は下位のキャッシュサーバへ通知する機能
・コンテンツの要求元の下位のキャッシュサーバとして上記接続先の通知を受信すると、要求したコンテンツと当該接続先との組をデータベースにおいて管理する機能
・コンテンツの要求元の下位のキャッシュサーバとしてコンテンツの要求を行う際、上記データベースにおいて管理されている情報から、当該コンテンツに対応する前記接続先を得、当該接続先に対してコンテンツの要求を行う機能
・自己が保有する各コンテンツに対するアクセス頻度を計測、管理する機能
又本発明の実施例による階層・分散キャッシュ方式を実現するクライアントは、一般的な、コンテンツを参照するためのクライアントの機能に加え、下記の機能を持つ。
【００３６】
・キャッシュサーバから前記接続先の通知を受信すると、要求したコンテンツと当該接続先との組をデータベースにおいて管理する機能
・コンテンツの要求を行う際に、上記データベースにおいて管理されている情報から、当該コンテンツに対応する前記接続先を得、当該接続先に対して要求を行う機能
ここで前記接続先判定機能による処理では、前記クライアント又は前記キャッシュサーバからコンテンツの要求を受信すると、同階層のキャッシュサーバから情報を取得し、その情報によって前記接続先を判定し、当該クライアントまたはキャッシュサーバへ当該接続先を通知する。
【００３７】
又この接続先判定機能は、同階層のキャッシュサーバの中から、要求されたコンテンツにつき、コンテンツの保持の有無、当該コンテンツに対する外部からのアクセス頻度、さらに、これらの情報を取得するための要求に対する応答を受信するまでの応答時間によって前記接続先を判定する機能である。
【００３８】
又上記キャッシュサーバ或いは上記クライアントは各コンテンツに対する前記接続先をデータベースにおいて管理するための機能を有する。
【００３９】
又上記キャッシュサーバ或いは上記クライアントがコンテンツを要求する際、上記の如く自己のデータベースに管理されている前記接続先を当該データベースから取得し、設定する処理を行う。
【００４０】
即ち本発明の実施例によれば、コンテンツの要求を受信したキャッシュサーバが同じ階層のキャッシュサーバからコンテンツの保持の有無およびその負荷情報を取得する機能を設けておき、下位のキャッシュサーバ又はクライアントからコンテンツの要求を受信すると、同じ階層のキャッシュサーバからコンテンツの保持の有無および負荷情報の取得を行うとともに、コンテンツ有の場合には該当するコンテンツに対する外部からのアクセス頻度も取得する。
【００４１】
そしてキャッシュサーバは要求されたコンテンツに対する下位のキャッシュサーバ又はクライアントが当該コンテンツを取得するために接続すべき接続先を判定し、通知するための機能を有する。
【００４２】
この場合キャッシュサーバは同じ階層のキャッシュサーバから取得した情報と、取得に要した応答時間とを用い、要求されたコンテンツに対する接続先を判定し、要求元に対して判定結果を通知する。
【００４３】
又キャッシュサーバは各コンテンツと対応する接続先との組をデータベースにおいて管理しておき、コンテンツを取得する際、このデータベースの情報を基に、該当する接続先からコンテンツを取得する。
【００４４】
又下位のキャッシュサーバ或いはクライアントが、自己が要求したコンテンツと、要求先のキャッシュサーバから通知された対応する接続先との組の情報をデータベースにおいて管理しておき、コンテンツの取得、更新を行う際にはこのデータベースの情報を参照し、該当する接続先を設定し、当該コンテンツを取得し、或いは更に取得したコンテンツを更新する。
【００４５】
以下上述の本発明の実施例の階層・分散キャッシュ方式につき、図とともに詳細に説明する。
【００４６】
まず当該階層・分散キャッシュ方式を実現するためのネットワーク構成は図１とともに上述のものと同様であり、重複する説明を省略する。
【００４７】
又以下の説明において本発明の実施例の階層・分散キャッシュ方式を実現するキャッシュサーバ２０およびクライアント１０につき、便宜上図１〜４とともに上述の従来技術によるキャッシュサーバ２０およびクライアント１０とそれぞれ同符号を付して説明するが、本発明の実施例によるキャッシュサーバ２０およびクライアント１０はそれぞれ以下に説明するが如く、上記従来技術によるキャッシュサーバ２０およびクライアント１０が有しない新規な構成を有する。しかしながら以下に説明するこの新規な構成を除き本発明の実施例によるキャッシュサーバ２０およびクライアント１０は従来技術のキャッシュサーバ２０およびクライアント１０と同様のための機能を有しており、これら従来技術と同様な機能部分に関するここでの詳細な説明を省略する。
【００４８】
次に図５とともに、本発明の実施例の階層・分散キャッシュ方式を構成するキャッシュサーバ２０の機能について説明する。
【００４９】
図５に示す如く、同キャッシュサーバ２０は通信管理機能部６１，メッセージ制御機能部６２，キャッシュ管理機能部６３，アクセス頻度管理機能部６４，隣接キャッシュサーバ管理機能部６５，キャッシュ情報管理ＤＢ６６，負荷情報取得機能部６７，接続先判定機能部６８，接続先設定機能部７０，接続先情報管理ＤＢ７１を有する。
【００５０】
以下にこれら各機能部の機能について説明する。
【００５１】
通信管理機能部６１は他の装置から当該キャッシュサーバ宛の通信を受信し、メッセージ制御機能部６２に渡す。また、メッセージ制御機能部６２からの要求を受け、メッセージを送信する。
【００５２】
メッセージ制御機能部６２は、他の各機能部からの要求を契機に、それぞれの場合に必要な処理を決定し、各機能部にその処理を振り分けるための機能を有する。
【００５３】
接続先判定機能部６８は、下位のキャッシュサーバ又はクライアントからのコンテンツの要求に対し、同階層のキャッシュサーバからコンテンツの保持の有無、負荷情報および要求されたコンテンツに対するアクセス頻度の各情報を取得し、コンテンツの要求元としての前記キャッシュサーバ或いはクライアントが当該コンテンツを取得するために接続すべき接続先を判定し、当該要求元に判定結果を通知するための機能を有する。
【００５４】
ここで上記接続先として当該キャッシュサーバが選択される場合もあり得る。詳細は図１８とともに後述する。
【００５５】
接続先管理機能部６９は、各コンテンツに対する上記接続先の情報を保持・管理するための機能を有する。これらの情報は接続先情報管理データベース(DB)７１に保持される。
【００５６】
接続先設定機能部７０は、各コンテンツを取得する際、接続先情報管理データベース７１の情報を基に、対応する接続先を設定するための機能を有する。
【００５７】
アクセス頻度管理機能部６４は、自己が保有する各コンテンツに対する外部からのアクセス頻度を計測、管理するための機能を有する。これらの情報はキャッシュ情報管理データベース(DB)６６に保持される。
【００５８】
隣接キャッシュサーバ管理機能部６５は前記接続先が判定される際、当該機能部６５によって管理されている隣接する（すなわち同階層の）キャッシュサーバに対し、コンテンツの保持の有無等の情報を取得するための要求メッセージを送信するための機能を有する。
【００５９】
キャッシュ管理機能部６３は、自己が保有するコンテンツの管理、検索を行うための機能を有する。これらコンテンツに関する情報はキャッシュ情報管理データベース(DB)６６に保持される。
【００６０】
負荷情報取得機能部６７は当該キャッシュサーバの負荷情報（すなわち当該キャッシュサーバの動作の制御を行うＣＰＵの稼働率或いは使用率等の情報）を取得するための機能を有する。
【００６１】
なお当該キャッシュサーバ２０は、図５に示す以外の構成は従来の周知の一般的なキャッシュサーバの構成と同様である。すなわちコンテンツを保持し、当該コンテンツに対する外部からのアクセスを可能にするための機能を有する記憶装置および当該記憶装置に対する外部からのコンテンツの書き込みおよび外部からのコンテンツの読み出しを可能にするための、上記ＣＰＵを含む制御装置を有する。又この制御装置は、自己が上記接続先として指定された場合であって自己が該当するコンテンツを保持していない場合に上位のキャッシュサーバ２０或いはコンテンツサーバ５０にコンテンツを要求してこれを取得し、記憶装置に当該コンテンツを保持するための機能を有する。
【００６２】
これら記憶装置および制御装置は、例えば図２９とともに後述するように同キャッシュサーバ２０が図２９に示される構成を有するコンピュータによって構成される場合、それぞれ図示のメモリ５０４，ＣＰＵ５０１等が該当する。
【００６３】
図６（ａ）は、上記接続先情報管理DB７１が保持する接続先キャッシュサーバ情報テーブルの例を示す。
【００６４】
この接続先キャッシュサーバ情報テーブルには、各コンテンツを識別するための情報と、そのコンテンツの取得先（即ち上記接続先）としてのキャッシュサーバを識別するための情報とが、互いに関連付けられて保持される。
【００６５】
図６（ｂ）は、上記キャッシュ情報管理DB６６内のキャッシュ情報テーブルの例を示す。
【００６６】
このキャッシュ情報テーブルには、自己が保持する各コンテンツに関する外部からのアクセス頻度が保持される。具体的には、各コンテンツを識別するための情報(コンテンツアドレス)と、これに関連付けられた、当該コンテンツに対する単位時間当たりのアクセス数が保持される。
【００６７】
次に、本発明の実施例の階層・分散キャッシュ方式を構成するクライアント１０の機能につき、図７とともに述べる。
【００６８】
図７に示す如く、同クライアント１０は、通信管理機能部６１，メッセージ制御機能部６２，接続先管理機能部６９、接続先設定機能部７０および接続先情報管理ＤＢ７１を有する。
【００６９】
このうち通信管理機能６１は他の装置から当該クライアント宛の通信を受信し、メッセージ制御機能部６２に渡す。また、メッセージ制御機能部６２からの要求を受け、他の装置に対しメッセージを送信する。
【００７０】
メッセージ制御機能部６２は他の各機能部からの要求を契機に、それぞれの場合に必要な処理を決定し、各機能部に対し、その処理を振り分けるための機能を有する。
【００７１】
接続先管理機能部６９は、各コンテンツに対する、当該コンテンツを取得するために接続すべき接続先の情報を保持・管理するための機能を有する。これらの情報は接続先情報管理データベース(DB)７１に保持される。この接続先情報管理DB７１は、上述のキャッシュサーバ２０における接続先情報管理DB７１と同様の構成を有する。
【００７２】
接続先設定機能部７０は、コンテンツを取得する際、上記接続先情報管理データベース７１の情報を基に、当該コンテンツを取得するために接続すべき接続先を設定するための機能を有する。
【００７３】
なお当該クライアント１０は図７に示す以外の構成は従来の周知の一般的なコンピュータの構成と同様である。すなわちコンテンツを参照等する際、これを前記接続先として指定されたキャッシュサーバ２０から取得し、必要に応じてその内容の更新等を行うための、ＣＰＵを含む制御装置を有する。この制御装置は、例えば図２９とともに後述するように同クライアント１０が図２９に示される構成を有するコンピュータによって構成される場合、図示のＣＰＵ５０１等が該当する。
【００７４】
以下に図とともに本発明の実施例の階層・分散キャッシュ方式による、実際にコンテンツを取得する際のシーケンスの例、具体的にはコンテンツを保持するキャッシュサーバからコンテンツを取得する際の処理の流れについて説明する。
【００７５】
まず、下位のキャッシュサーバ、またはクライアントが上位のキャッシュサーバから前記接続先の通知を受信し、コンテンツを保持するキャッシュサーバからコンテンツを取得するシーケンスの例につき、図８とともに説明する。
【００７６】
下位のキャッシュサーバA又はクライアントは、要求するコンテンツZを取得するための要求を、自己が接続している上位のキャッシュサーバBに対して送信する（ステップＳ１）。
【００７７】
これを受けたキャッシュサーバBは、同じ階層のキャッシュサーバＣ1−Ｃｎに対し、そのコンテンツの保持の有無、負荷情報およびコンテンツZに対するアクセス頻度の各情報を取得するための要求を送信する（ステップＳ１）。
【００７８】
これを受けたキャッシュサーバＣ１−Ｃｎは、コンテンツＺの保持の有無、自己の負荷情報、および（コンテンツＺ保持の場合は）コンテンツZに対するアクセス頻度の各情報を応答する（ステップＳ２）。
【００７９】
ここで上記負荷情報は負荷情報取得機能部６７により取得されたものであり、コンテンツＺの保持の有無およびコンテンツＺ保持の場合のコンテンツＺに対するアクセス頻度の各情報は、自己のキャッシュ情報管理ＤＢ６６に保持・管理されているものである。
【００８０】
これらの情報を受けたキャッシュサーバＢは、その接続判定機能部６８の機能によって当該コンテンツＺを取得するために接続すべき接続先を判定する(ステップＳ３)。この例では上記接続先判定機能部６８は接続先としてキャッシュサーバＣ１を選択し（具体的な選択方法については図１８とともに後述する）、コンテンツＺを取得するための要求元（すなわち下位キャッシュサーバＡ又はクライアント）に対し、当該接続先(Ｃ1)の情報を通知する(ステップＳ４)。
【００８１】
なお上記ステップＳ３では条件によっては自己が選択される場合もある。詳細については図１８とともに後述する。
【００８２】
このようにして接続先の通知を受信した下位のキャッシュサーバA、またはクライアントは、自己の接続先管理機能部６９の機能により、当該コンテンツZとその接続先Ｃ１とを相互に関連付けて接続先情報管理ＤＢ７１に保持・管理する（ステップＳ５）。
【００８３】
そして当該下位のキャッシュサーバＡ又はクライアントは、その接続先設定機能部７０の機能により、当該コンテンツＺに対する前記接続先としてキャッシュサーバC1を設定し(ステップＳ６)、キャッシュサーバC1に対してコンテンツZを取得するための要求を送信する(ステップＳ７)。
【００８４】
これを受けた上位のキャッシュサーバＣ1は、自己が保持しているコンテンツZを要求元の下位のキャッシュサーバA、またはクライアントへ送信する(ステップＳ８)。
【００８５】
次に本発明の実施例の階層・分散キャッシュ方式による、コンテンツを取得する際のシーケンスの例、具体的にはコンテンツを保持しないキャッシュサーバからコンテンツを取得する際の処理の流れにつき、図９とともに説明する。
【００８６】
この場合、下位のキャッシュサーバ又はクライアントが上位のキャッシュサーバから接続先の通知を受信し、当該接続先としての、コンテンツを保持しないキャッシュサーバからコンテンツを取得する。
【００８７】
すなわち下位のキャッシュサーバA又はクライアントは要求するコンテンツZを取得するための要求を、接続している上位のキャッシュサーバBに対して送信する(ステップＳ２１)。
【００８８】
これを受けたキャッシュサーバBは同じ階層のキャッシュサーバＣ１−Ｃｎに対し、そのコンテンツＺの保持の有無、負荷情報およびコンテンツZに対するアクセス頻度を取得するためを取得するための要求を送信する(ステップＳ２１)。
【００８９】
これを受けたキャッシュサーバＣ１−Ｃｎは、コンテンツＺの保持の有無、負荷情報、および（コンテンツＺ保持の場合は）コンテンツZに対するアクセス頻度の各情報を応答する(ステップＳ２２)。
【００９０】
これを受けたキャッシュサーバＢは、その接続判定機能部６８の機能により、コンテンツＺを取得するために接続すべき接続先を判定し(ステップＳ２３)、コンテンツＺの要求元である下位のキャッシュサーバＡ又はクライアントに対し、当該判定結果としての接続先(Ｃ１)を通知する(ステップＳ２４)。
【００９１】
このようにして接続先の通知を受信した下位のキャッシュサーバA又はクライアントは、その接続先管理機能６９により、コンテンツZとその接続先C1とを相互に関連付けて接続先情報管理ＤＢ７１に保持・管理する(ステップＳ２５)。
【００９２】
そして当該下位のキャッシュサーバＡ又はクライアントは、その接続先設定機能部７０の機能により、上記接続先情報管理ＤＢ７１に保持・管理された情報に基づき、コンテンツＺの接続先としてキャッシュサーバC1を設定し（ステップＳ２６）、キャッシュサーバC1に対し、コンテンツZを取得するための要求を送信する（ステップＳ２７）。
【００９３】
これを受けた上位のキャッシュサーバＣ1は、自身ではコンテンツＺを保持していないため、コンテンツサーバ５０または上位のキャッシュサーバDに対し、コンテンツZを取得するための要求を送信する(ステップＳ２８)。
【００９４】
このようにして上位のキャッシュサーバC1はコンテンツZを取得する(ステップＳ２９)と、自己が保持すると同時に、下位のキャッシュサーバA又はクライアントへ当該コンテンツＺを送信する。
【００９５】
次に本発明の実施例の階層・分散キャッシュ方式による、コンテンツを取得する際のシーケンスの例、具体的には、既に接続先の情報が保持されているコンテンツを取得する場合の処理の流れを図１０とともに説明する。
【００９６】
この場合、下位のキャッシュサーバ又はクライアントが、既に接続先を保持しているコンテンツを取得する。
【００９７】
すなわち下位のキャッシュサーバA又はクライアントは、要求するコンテンツZの接続先として、その接続先設定機能７０の機能により、接続先情報管理ＤＢ７１に保持・管理されている情報に基づき、上位のキャッシュサーバC1を設定し(ステップＳ４１)、このキャッシュサーバC1に対し、コンテンツZを取得するための要求を送信する(ステップＳ４２)。
【００９８】
これを受けた上位のキャッシュサーバC1は、下位のキャッシュサーバA又はクライアントに対し、コンテンツZを送信する(ステップＳ４３)。
【００９９】
次に、本発明の実施例の階層・分散キャッシュ方式におけるキャッシュサーバ２０或いはクライアント１０が有する各機能部の機能による動作の例につき、図とともに説明する。
【０１００】
まずキャッシュサーバ２０の動作例について説明する。
【０１０１】
ここでは最初に下位のキャッシュサーバ又はクライアントからコンテンツを取得するための要求を受信した際のキャッシュサーバの動作例を説明する。
【０１０２】
コンテンツの取得のための要求を受信する（ステップＳ５１）と、キャッシュサーバ２０の通信管理機能部６１はそのメッセージをメッセージ制御機能部６２に渡す(ステップＳ５２）。
【０１０３】
メッセージ制御機能部６２はこれを受け、隣接キャッシュサーバ管理機能部６５に対し、隣接する（すなわち同階層の、以下同様）キャッシュサーバ２０の情報を取得するよう指示する（ステップＳ５３）。
【０１０４】
隣接キャッシュサーバ管理機能部６５はこれを受け、隣接するキャッシュサーバ２０全てに対して情報を取得するための要求を送信するようメッセージ制御機能部６２に指示する（ステップＳ５４、Ｓ５５）。
【０１０５】
メッセージ制御機能部６２は、指示された情報を取得するための要求を、通信管理機能部６１に渡す（ステップＳ５５）。
【０１０６】
通信管理機能部６１は、隣接するキャッシュサーバに対し、情報を取得するための要求を、該当する隣接するキャッシュサーバ全て対して送信する。
【０１０７】
次に隣接するキャッシュサーバからの情報を取得するための要求を受信した際のキャッシュサーバの動作の例について説明する。
【０１０８】
ここでは隣接するキャッシュサーバから該当するコンテンツの保持の有無、負荷情報、当該コンテンツに対するアクセス頻度の各情報を取得するための要求を受信したときのキャッシュサーバ２０の動作の例を図１２とともに説明する。
【０１０９】
上記情報を取得するための要求を受信する(ステップＳ６１)と、キャッシュサーバ２０の通信管理機能部６１はそのメッセージをメッセージ制御機能部６２に渡す(ステップＳ６２)。
【０１１０】
メッセージ制御機能部６２はこれを受け、キャッシュ情報管理機能部６３に対し、自己が保持しているコンテンツの検索を指示する(ステップＳ６３)。
【０１１１】
キャッシュ情報管理機能部６３はキャッシュ情報管理DB６６を参照し、該当するコンテンツの保持の有無を確認し、その結果を検索結果としてメッセージ制御機能部６２に対し、応答する(ステップＳ６４，Ｓ６５)。
【０１１２】
メッセージ制御機能部６２はステップＳ６５の検索結果が「該当するコンテンツ保持」の場合、当該コンテンツに対する外部からのアクセス頻度の情報の取得を、アクセス頻度管理機能部６４に指示する(ステップＳ６６)。
【０１１３】
アクセス頻度管理機能部６４はこれを受け、キャッシュ情報管理DB６６を参照し、該当するコンテンツに対するアクセス頻度の情報を得、これをメッセージ制御機能部６２に対し、応答する(ステップＳ６７，Ｓ６８)。
【０１１４】
メッセージ制御機能部６２は負荷情報取得機能部６７に対し、負荷情報の取得を指示する(ステップＳ６９)。
【０１１５】
負荷情報取得機能部６７は当該キャッシュサーバ２０のＣＰＵの動作状態を監視することによりその負荷情報を取得し、これをメッセージ制御機能部６２に対し、応答する(ステップＳ７０)。
【０１１６】
メッセージ制御機能部６２はこのようにして取得した情報（すなわち、ステップＳ６５で得た該当するコンテンツの保持の有無、ステップＳ６８で得た当該コンテンツに対するアクセス頻度およびステップＳ７０で得た負荷情報）を、キャッシュサーバの情報として通信管理機能部６１に応答する(ステップＳ７１)。
【０１１７】
通信管理機能部６１はこのキャッシュサーバの情報を、該当する、隣接するキャッシュサーバ２０（すなわち前記情報を取得するための要求の送信元）に対し、送信する。
【０１１８】
次に、図１３とともに、隣接するキャッシュサーバから、上記情報を取得するための要求に対する応答を受信した際のキャッシュサーバの動作の例を説明する。
【０１１９】
情報を取得するための要求に対する応答を受信すると、キャッシュサーバ２０の通信管理機能部６１はそのメッセージをメッセージ制御機能部６２に渡す(ステップＳ８１，Ｓ８２)。
【０１２０】
メッセージ制御機能部６２は接続先判定機能部６８に対し、このようにして取得した隣接するキャッシュサーバの情報を渡す(ステップＳ８３)。
【０１２１】
接続先判定機能部６８はタイムアウト判定を行い、タイムアウト後（すなわち前記情報を取得するための要求の発行後、前記タイムアウト値の示す時間経過後に当該メッセージを受信した場合、以下同様）であれば当該メッセージを破棄し、タイムアウト内（すなわち前記情報を取得するための要求の発行後、前記タイムアウト値が示す時間以内に当該メッセージを受信した場合、以下同様）であれば、当該コンテンツを取得するために接続すべき接続先の判定用に、このようにして取得した隣接するキャッシュサーバの情報を保持する(ステップＳ８４，Ｓ８５)。
【０１２２】
次に図１４とともに、上記接続先判定後のキャッシュサーバの動作の例を説明する。
【０１２３】
隣接するキャッシュサーバに対し情報を取得するための要求を送信した後、前記タイムアウト値が示す時間が経過すると、キャッシュサーバ２０はタイムアウト値が示す時間以内に取得した、隣接するキャッシュサーバから得たキャッシュサーバの情報に基づき、当該コンテンツを取得するために接続すべき接続先の判定を行う。ここではこの接続先の判定後のキャッシュサーバ２０の動作の例について説明する。
【０１２４】
接続先判定機能部６８はタイムアウト内に受信した隣接するキャッシュサーバから得たキャッシュサーバの情報に基づき、これらの隣接するキャッシュサーバの中から、当該コンテンツを取得するために接続すべき接続先を判定し、このようにして得た上記接続先を、メッセージ制御機能部６２へ通知する(ステップＳ９１，Ｓ９２)。
【０１２５】
メッセージ制御機能部６２はこの接続先の通知を通信管理機能部６１へ渡す(ステップＳ９３)。
【０１２６】
通信管理機能部６１は当該コンテンツを取得するための要求を行った下位のキャッシュサーバ又はクライアントに対し、当該接続先を知らせるための通知を送信する。
【０１２７】
次に、上位のキャッシュサーバから上記接続先の通知を受信した際のキャッシュサーバの動作の例につき、図１５とともに説明する。
【０１２８】
上記接続先の通知を受信すると、キャッシュサーバ２０通信管理機能部６１はそのメッセージをメッセージ制御機能部６２に渡す(ステップＳ１０１，１０２)。
【０１２９】
メッセージ制御機能部６２は接続先管理機能部６９に対し、このようにして得られた接続先を通知し、該当するコンテンツの接続先として管理するように指示する（ステップＳ１０３）。
【０１３０】
接続先管理機能部６９はこのようにして通知された接続先と該当するコンテンツを識別するための情報とを相互に関連付けて保持するように接続先情報管理DB７１を更新し、更新が完了した旨を示す応答を、メッセージ制御機能部６２に渡す(ステップＳ１０４，Ｓ１０５)。
【０１３１】
メッセージ制御機能部６２は接続先設定機能部７０に対し、該当するコンテンツの接続先を設定するよう指示する(ステップＳ１０６)。
【０１３２】
接続先設定機能部７０は接続先情報管理DB７１を参照し、上記の如く該当するコンテンツを識別するための情報と関連付けて保持された、該当する接続先を設定し(ステップＳ１０７)、当該接続先が設定された旨を示す応答を、メッセージ制御機能部６２に渡す(ステップＳ１０８)。
【０１３３】
メッセージ制御機能部６２は該当するコンテンツを取得するための要求を、通信管理機能部６１へ渡す(ステップＳ１０９)。
【０１３４】
通信管理機能部６１は、このようにして設定された接続先としてのキャッシュサーバ２０に対し、前記コンテンツを取得するための要求を送信する。このときのコンテンツを取得するための要求には、当該接続先が設定されたことを示す情報（即ちフラグ等）が付与される。その結果、図１１とともに上述した、隣接するキャッシュサーバに対して送信される、コンテンツを取得するための要求と区別される。
【０１３５】
次に、既に接続先を識別するための情報を保持しているコンテンツを取得するための要求を送信する際のキャッシュサーバの動作の例を図１６とともに説明する。
【０１３６】
ここでは既に接続先を識別する情報を接続先情報管理DB７１にて保持しているコンテンツを取得するための要求を送信するときのキャッシュサーバの動作の例を説明する。
【０１３７】
この場合、クライアント又は下位のキャッシュサーバからコンテンツを取得するための要求を受信すると、キャッシュサーバ２０の通信管理機能部６１は、そのメッセージをメッセージ制御機能部６２に渡す(ステップＳ１１１，Ｓ１１２)。
【０１３８】
メッセージ制御機能部６２は接続先設定機能部７０に対し、該当するコンテンツの接続先を設定するよう指示する(ステップＳ１１３)。
【０１３９】
接続先設定機能部７０は接続先情報管理DB７１を参照し、上記の如く当該コンテンツを識別するための情報と関連付けて保持された、該当する接続先を得、これを当該コンテンツに対する接続先として設定 (ステップＳ１１４)し、このようにして接続先が設定された旨を示す応答を、メッセージ制御機能部６２に渡す(ステップＳ１１５)。
【０１４０】
メッセージ制御機能部６２は当該コンテンツを取得するための要求を、通信管理機能部６１へ渡す(ステップＳ１１６)。
【０１４１】
通信管理機能部６１は、このようにして設定された接続先としてのキャッシュサーバ２０に対し、前記コンテンツを取得するための要求を送信する。このときのコンテンツを取得するための要求には、当該接続先が設定されたことを示す情報（即ちフラグ等）が付与される。その結果、図１１とともに上述した、隣接するキャッシュサーバに対して送信される、コンテンツを取得するための要求と区別される。
【０１４２】
次に本発明の実施例の階層・分散キャッシュ方式を構成するクライアント１０の動作の例につき、図１７とともに説明する。
【０１４３】
ここではキャッシュサーバ２０からの上記接続先の通知を受信した際のクライアント１０の動作につき説明する。
【０１４４】
上記接続先の通知を受信すると、クライアント１０の通信管理機能部６１はそのメッセージをメッセージ制御機能部６２に渡す(ステップＳ１２１，Ｓ１２２)。
【０１４５】
メッセージ制御機能６２は接続先管理機能部６９に対し、当該接続先を通知し、該当するコンテンツの接続先を管理するように指示する(ステップＳ１２３)。
【０１４６】
接続先管理機能６２はこのように通知された接続先と、該当するコンテンツを識別するための情報とを相互に関連付けて保持するように接続先情報管理DB７１を更新するとともに、更新完了の旨を示す応答を、メッセージ制御機能部６２に渡す(ステップＳ１２４，Ｓ１２５)。
【０１４７】
メッセージ制御機能部６２は接続先設定機能部７０に対し、該当するコンテンツの接続先を設定するよう指示する(ステップＳ１２６)。
【０１４８】
そして接続先設定機能７０は接続先情報管理DB７１を参照し、上記の如く当該コンテンツを識別するための情報と関連付けて保持された、該当する接続先を得、これを当該コンテンツに対する接続先として設定(ステップＳ１２７)し、当該設定を完了した旨を示す応答を、メッセージ制御機能部６２に渡す(ステップＳ１２８)。
【０１４９】
これを受けたメッセージ制御機能部６２は、前記コンテンツを取得するための要求を通信管理機能部６１へ渡す(ステップＳ１２９)。
【０１５０】
これを受けた通信管理機能部６１は、このようにして設定された上記接続先としてのキャッシュサーバ２０に対し、前記コンテンツを取得するための要求を送信する。
【０１５１】
このときのコンテンツを取得するための要求には、当該接続先が設定されたことを示す情報（即ちフラグ等）が付与される。その結果、図１１とともに上述した、隣接するキャッシュサーバに対して送信される、コンテンツを取得するための要求と区別される。
【０１５２】
次に本発明の階層・分散キャッシュ方式を実現するためのキャッシュサーバ２０の接続先判定機能部６８が実行する、コンテンツを取得するために接続すべき接続先としてのキャッシュサーバ２０を判定するための具体的な方法につき、図１８とともに説明する。
【０１５３】
ここでは、要求に係るコンテンツを保持しているキャッシュサーバ２０の中でその負荷が、設定した閾値より低く、前記コンテンツの保持の有無の情報および負荷情報を取得する際の応答時間が短いキャッシュサーバ２０を上記接続先として選択する。
【０１５４】
まず上記情報を取得するための要求に対する応答を受信したキャッシュサーバ２０の中から、該当するコンテンツを保持するキャッシュサーバが選択される(ステップＳ１５１の「有」)。
【０１５５】
そしてこのようにして選択されたキャッシュサーバ２０の中から、上記設定された閾値よりも低い負荷のキャッシュサーバが選択される(ステップＳ１５５の「有」)。
【０１５６】
そしてこのようにして選択されたキャッシュサーバ２０の中から、該当するコンテンツに対するアクセス頻度が、設定された閾値よりも低いキャッシュサーバが選択される(ステップＳ１５９の「有」)。
【０１５７】
そして、このようにして選択されたキャッシュサーバ２０の中から、上記情報を取得するための要求に対する応答時間が最も短いキャッシュサーバ２０が上記接続先として選択される(ステップＳ１６０)。
【０１５８】
その結果コンテンツを保持するキャッシュサーバ２０が選択されるため、冗長なコンテンツ保持状態の発生を回避できる。
【０１５９】
又この図１８の方法によれば、一定の条件下では、要求に係るコンテンツを保持しないキャッシュサーバ２０の中で、上記設定された閾値より負荷が低く、応答時間が短いキャッシュサーバを接続先として選択する。
【０１６０】
すなわち、上記情報を取得するための要求に対する応答を受信したキャッシュサーバ２０の中には該当するコンテンツを保持するキャッシュサーバ２０が存在しない、または、存在している場合でも、上記設定された閾値より負荷が低く且つアクセス頻度が上記設定された閾値より低いという条件（ステップＳ１５５，Ｓ１５９）を満たすキャッシュサーバ２０が存在しない場合、当該コンテンツを保持しないキャッシュサーバが選択される。
【０１６１】
この場合、上記ステップＳ１５１において、上記情報を取得するための要求に対する応答を受信したキャッシュサーバ２０の中には該当するコンテンツを保持しているキャッシュサーバ２０が存在しない場合(「無」)、ステップＳ１５２にて、前記応答を受信したキャッシュサーバ２０の中から、上記設定された閾値より負荷が低いキャッシュサーバが２０選択される（「有」）。
【０１６２】
そしてこのようにして選択されたキャッシュサーバ２０の中から、上記情報を取得するための要求に対する応答時間が最も短いキャッシュサーバ２０が接続先として選択される(ステップＳ１５３)。
【０１６３】
その結果負荷の低いキャッシュサーバ２０が選択されるため負荷が分散され、負荷、アクセスが特定のキャッシュサーバ２０に集中する事態を回避できる。
【０１６４】
又図１８中、ステップＳ１５２にて、上記情報を取得するための要求に対する応答を受信したキャッシュサーバ２０の中に負荷が上記設定された閾値より低いものが存在しない場合（「無」）、当該応答を受信したキャッシュサーバ２０の中で、最も負荷の低いものが、上記接続先として選択される（ステップＳ１５４）。
【０１６５】
その結果負荷の低いキャッシュサーバ２０が選択されるため負荷が分散され、負荷、アクセスが特定のキャッシュサーバ２０に集中する事態を回避できる。
【０１６６】
又、ステップＳ１５５において、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ２０中の、更に該当するコンテンツを有するキャッシュサーバ２０の中に、上記設定された閾値より負荷が低いものが存在しない場合（「無」）、ステップＳ１５６にて、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ２０中の、該当するコンテンツを有さないキャッシュサーバ２０の中から、上記設定された閾値より負荷が低いものを選択し（「有」）、選択された当該設定された閾値より負荷が低いものの中から、上記情報を取得するための要求に対する応答時間が最も短いキャッシュサーバ２０が接続先として選択される(ステップＳ１５７)。
【０１６７】
他方、ステップＳ１５６にて、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ２０の中の、該当するコンテンツを有さないキャッシュサーバ２０の中には、上記設定された閾値より負荷が低いものが存在しない場合（「無」）、ステップＳ１５８にて、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ２０中の、該当するコンテンツを有さないキャッシュサーバ２０の中から、最も負荷が低いものが上記接続先として選択される、
その結果負荷の低いキャッシュサーバ２０が選択されるため負荷が分散され、負荷、アクセスが特定のキャッシュサーバ２０に集中する事態を回避できる。
【０１６８】
又ステップＳ１５９にて、ステップＳ１５５で選択されたキャッシュサーバ２０の中に、該当するコンテンツに対するアクセス頻度が設定された閾値よりも低いキャッシュサーバが存在しない場合(ステップＳ１５９の「無」)、ステップＳ１６１にて、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ２０の中の、該当するコンテンツを有さないキャッシュサーバ２０の中から、前記設定された閾値より負荷が低いもの（「有」）が選択される。そしてこのようにして選択されたキャッシュサーバ２０の中から、上記情報を取得するための要求に対する応答時間が最も短いキャッシュサーバ２０が接続先として選択される(ステップＳ１６２)。
【０１６９】
他方、ステップＳ１６１にて、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ２０の中の、該当するコンテンツを有さないキャッシュサーバ２０の中に、前記設定された閾値より負荷が低いものが無い場合（「無」）、前記該当するコンテンツを有さないキャッシュサーバ２０の中から負荷が最も低いものが前記接続先として選択される（ステップＳ１６３）。
【０１７０】
その結果負荷の低いキャッシュサーバ２０が選択されるため負荷が分散され、負荷、アクセスが特定のキャッシュサーバ２０に集中する事態を回避できる。
【０１７１】
次に図１９〜２８とともに、本発明の実施例の階層・分散キャッシュ方式による、実際のキャッシュ動作の具体例につき、従来技術との対比において説明する。
【０１７２】
図１９〜２８中、（ａ）は従来技術による場合を示し、（ｂ）は本発明の実施例による場合を示す。
【０１７３】
前提として、それぞれのコンテンツＸ，Ｙ，Ｚは同サイズとし、同階層の各キャッシュサーバＣ１，Ｃ２のキャッシュメモリの記憶容量はそれぞれコンテンツ２個分とし、クライアントＡ１がコンテンツＸ，Ｙを要求し、クライアントＡ２がコンテンツＸ，Ｚを要求し、クライアントＡ３がコンテンツＸ，Ｙを要求し、クライアントＡ４がコンテンツＸ，Ｚを要求するものとする。
【０１７４】
又図中、実線はコンテンツの送受信の信号の流れを示し、破線は上記情報を取得するための要求および同要求に対する応答の信号の流れを示す。
【０１７５】
図１９に示す状態では、キャッシュサーバＣ１，Ｃ２とも、コンテンツは全く保持していない状態とする。
【０１７６】
次に図２０の状態では、クライアントＡ１がキャッシュサーバＣ１に対しコンテンツＸを要求したとする。この場合、同図（ｂ）の本発明の実施例の場合、当該キャッシュサーバＣ１の上記接続先判定機能部６８による図１８の方法による判定の結果、キャッシュサーバＣ１が上記接続先として選択される。これは同階層のキャッシュサーバＣ１，Ｃ２ともコンテンツＸを持たず（ステップＳ１５１の無）、負荷率は双方とも閾値より低いと仮定すると（ステップＳ１５２の有）、キャッシュサーバＣ１自身は前記情報を取得するための要求に対する応答時間がゼロであるため、キャッシュサーバＣ１が選択される（ステップＳ１５３）。又図２０（ａ）の従来技術の場合は、上記クライアントＡ１から要求を受けたキャッシュサーバＣ１自身が無条件に当該要求に係るコンテンツＸを提供する。したがって図２０の場合、従来技術の場合および本発明の実施例の場合の双方とも、キャッシュサーバＣ１がコンテンツサーバＳから該当するコンテンツＸを取得して自己が保持し、要求元のクライアントＡ１がキャッシュサーバＣ１から当該保持に係るコンテンツＸを取得する。
【０１７７】
次に図２１の状態では、クライアントＡ２がキャッシュサーバＣ１にコンテンツＺを要求したとする。この場合、同図（ａ）の従来技術の場合には上記の如く無条件に要求を受けたキャッシュサーバＣ１がコンテンツＺを提供するため、コンテンツＺをコンテンツサーバＳから取得して自己が保持し、クライアントＡ２がキャッシュサーバＣ１から、当該保持に係るコンテンツＺを取得する。
【０１７８】
他方図２１（ｂ）の本発明の実施例の場合、図１８の判定方法による判定の結果、キャッシュサーバＣ１，Ｃ２ともコンテンツＺを有さず（ステップＳ１５１の無）、コンテンツの保持が全く無いキャッシュサーバＣ２の負荷率は閾値より低く、コンテンツＸを保持しているキャッシュサーバＣ１の負荷率が閾値を超えていると仮定すると、負荷率が閾値より低いキャッシュサーバＣ２が接続先として選択される（ステップＳ１５２，Ｓ１５３）。キャッシュサーバＣ２がコンテンツＺの接続先として選択されたことにより、キャッシュサーバＣ２がコンテンツＺをコンテンツサーバＳから取得して自己が保持し、クライアントＡ２はキャッシュサーバＣ２から、当該保持に係るコンテンツＺを取得する。その結果、図２１（ａ）の従来技術の場合にはキャッシュサーバＣ１がコンテンツＸ，Ｚを保持しており、同図（ｂ）の本発明の実施例の場合には、キャッシュサーバＣ１はコンテンツＸを保持しており、キャッシュサーバＣ２がコンテンツＺを保持している状態となる。
【０１７９】
次に、このような状態において、図２２の状態では、クライアントＡ３がキャッシュサーバＣ２に対し、コンテンツＸを要求したとする。この場合、同図（ａ）の従来技術の場合には上記の如く無条件に要求を受けたキャッシュサーバＣ２がコンテンツＸを提供するため、コンテンツＸを同階層のキャッシュサーバＣ１から取得して自己が保持し、クライアントＡ３はキャッシュサーバＣ２から、当該保持に係るコンテンツＸを取得する。その結果、キャッシュサーバＣ１はコンテンツＸ，Ｚを保持しており、キャッシュサーバＣ２はコンテンツＸを保持した状態となる。
【０１８０】
他方図２２（ｂ）の本発明の実施例の場合、図１８の判定方法による判定の結果、コンテンツＸをキャッシュサーバＣ１が保持しているため（ステップＳ１５１の有）、ステップＳ１５５，Ｓ１５９の条件が満たされていたと仮定すると、キャッシュサーバＣ１が接続先として選択され、クライアントＡ３はコンテンツＸをキャッシュサーバＣ１から取得する。その結果、キャッシュサーバＣ１がコンテンツＸを保持し、キャッシュサーバＣ２がコンテンツＺを保持している状態が維持される。
【０１８１】
次に図２３の状態では、更にクライアントＡ４がコンテンツＺをキャッシュサーバＣ２に対し要求したとする。この場合、同図（ａ）の従来技術の場合には上記の如く無条件に要求を受けたキャッシュサーバＣ２がコンテンツＺを提供するため、同階層のキャッシュサーバＣ１からこれを取得して自己が保持し、クライアントＡ３はキャッシュサーバＣ２から、当該保持に係るコンテンツＺを取得する。その結果、キャッシュサーバＣ１，Ｃ２ともコンテンツＸ，Ｚを保持している状態となる。
【０１８２】
他方図２３（ｂ）の本発明の実施例の場合、図１８の判定方法による判定の結果、コンテンツＺをキャッシュサーバＣ２が保持しているため（ステップＳ１５１の有）、ステップＳ１５５，Ｓ１５９の条件が満たされていたと仮定すると、キャッシュサーバＣ２が接続先として選択され、クライアントＡ３はキャッシュサーバＣ２からコンテンツＺを取得する。その結果、キャッシュサーバＣ１がコンテンツＸを保持し、キャッシュサーバＣ２がコンテンツＺを保持している状態が更に維持される。
【０１８３】
図２４の場合、更にクライアントＡ１がコンテンツＹをキャッシュサーバＣ１に要求したとする。この場合、同図（ａ）の従来技術の場合、上記の如く無条件に要求を受けたキャッシュサーバＣ１がコンテンツＹを提供するため、コンテンツサーバＳからこれを取得して自己が保持し、クライアントＡ１はキャッシュサーバＣ１から、当該保持に係るコンテンツＹを取得する。その結果、キャッシュサーバＣ１はコンテンツＹ，Ｚを保持し、キャッシュサーバＣ２はコンテンツＸ，Ｚを保持している状態となる。これはキャッシュサーバＣ１において、上記の如く記憶容量がコンテンツ２個分であるため、古いコンテンツＸの方が廃棄され、代わりに今回要求のあったコンテンツＹが保持されたからである。
【０１８４】
他方図２４（ｂ）の本発明の実施例の場合、図１８の判定方法による判定の結果、コンテンツＹを保持しているものが同階層になく（ステップＳ１５１の無）、キャッシュサーバＣ１，Ｃ２とも負荷率が閾値より低いと仮定すると（ステップＳ１５２の有）、キャッシュサーバＣ１自身は前記情報を取得するための要求に対する応答時間はゼロであるためキャッシュサーバＣ１が接続先として選択され（ステップＳ１５３）、キャッシュサーバＣ１がコンテンツサーバＳからコンテンツＹを取得して自己が保持し、クライアントＡ１はキャッシュサーバＣ１から、当該保持に係るコンテンツＹを取得する。その結果、キャッシュサーバＣ１はコンテンツＸ，Ｙを保持し、キャッシュサーバＣ２はコンテンツＺを保持している状態となる。
【０１８５】
図２５の場合、更にクライアントＡ２がコンテンツＸをキャッシュサーバＣ１に要求したとする。この場合、同図（ａ）の従来技術の場合、上記の如く無条件に要求を受けたキャッシュサーバＣ１がコンテンツＸを提供するため、同階層のキャッシュサーバＣ２からこれを取得して自己が保持し、クライアントＡ２はキャッシュサーバＣ１から、当該保持に係るコンテンツＸを取得する。その結果、キャッシュサーバＣ１はコンテンツＸ、Ｙを保持し、キャッシュサーバＣ２はコンテンツＸ，Ｚを保持している状態となる。これはキャッシュサーバＣ１において、上記の如く記憶容量がコンテンツ２個分であるため、古いコンテンツＺが廃棄され、代わりに今回要求のあったコンテンツＸが保持されたからである。
【０１８６】
図２５（ｂ）の本発明の実施例の場合、キャッシュサーバＣ１自身がコンテンツＸを保持しており（図１８中、ステップＳ１５１の有）、ステップＳ１５５の条件は満たされていたが（有）、ステップＳ１５９の判定においてキャッシュサーバＣ１のコンテンツＸに対するアクセス頻度が高く閾値を超えていたと仮定する（無）と、キャッシュサーバＣ２の方が接続先として選択される（ステップＳ１６１，Ｓ１６２又はＳ１６３）。その結果キャッシュサーバＣ２はコンテンツサーバＳからコンテンツＸを取得して自己が保持し、クライアントＡ１はキャッシュサーバＣ２から、当該保持に係るコンテンツＸを取得する。その結果、キャッシュサーバＣ１はコンテンツＸ，Ｙを保持し、キャッシュサーバＣ２はコンテンツＸ，Ｚを保持している状態となる。
【０１８７】
図２６の場合、更にクライアントＡ３がコンテンツＹをキャッシュサーバＣ２に対し要求し、同図（ａ）の従来技術の場合、上記の如く無条件に要求を受けたキャッシュサーバＣ２がコンテンツＹを提供するため、同階層のキャッシュサーバＣ１からこれを取得して自己が保持し、クライアントＡ３はキャッシュサーバＣ２から、当該保持に係るコンテンツＹを取得する。その結果、キャッシュサーバＣ１はコンテンツＸ、Ｙを保持しており、キャッシュサーバＣ２はコンテンツＹ，Ｚを保持している状態となる。これはキャッシュサーバＣ２において、上記の如く記憶容量がコンテンツ２個分であるため、古いコンテンツＸが廃棄され、代わりに今回要求のあったコンテンツＹが保持されたからである。
【０１８８】
図２６（ｂ）の本発明の実施例の場合、同階層のキャッシュサーバＣ１の方がコンテンツＹを保持しており（図１８中、ステップＳ１５１の有）、当該キャッシュサーバＣ１についてステップＳ１５５、Ｓ１５９の条件がそれぞれ満たされていたと仮定すると（有）、キャッシュサーバＣ１が接続先として選択される（ステップＳ１６０）。その結果クライアントＡ３はキャッシュサーバＣ１からコンテンツＹを取得する。その結果、キャッシュサーバＣ１はコンテンツＸ，Ｙを保持し、キャッシュサーバＣ２はコンテンツＸ，Ｚを保持している状態が維持される。
【０１８９】
図２７の場合、更にクライアントＡ４がコンテンツＸをキャッシュサーバＣ２に対し要求し、同図（ａ）の従来技術の場合、上記の如く無条件に要求を受けたキャッシュサーバＣ２がコンテンツＸを提供するため、同階層のキャッシュサーバＣ１からこれを取得して自己が保持し、クライアントＡ４はキャッシュサーバＣ２から、当該保持に係るコンテンツＸを取得する。その結果、キャッシュサーバＣ１はコンテンツＸ、Ｙを保持しており、キャッシュサーバＣ２もコンテンツＸ，Ｙを保持している状態となる。これはキャッシュサーバＣ２において、上記の如く記憶容量がコンテンツ２個分であるため、古いコンテンツＺが廃棄され、代わりに今回要求のあったコンテンツＸが保持されたからである。
【０１９０】
図２７（ｂ）の本発明の実施例の場合、キャッシュサーバＣ２自身が既にコンテンツＸを保持しており、（図１８中、ステップＳ１５１の有）、当該キャッシュサーバＣ１についてステップＳ１５５、Ｓ１５９の条件がそれぞれ満たされていたとすると（有）、キャッシュサーバＣ１が接続先として選択される（ステップＳ１６０）。その結果クライアントＡ４はキャッシュサーバＣ２からコンテンツＸを取得する。その結果、キャッシュサーバＣ１はコンテンツＸ，Ｙを保持し、キャッシュサーバＣ２はコンテンツＸ，Ｚを保持している状態が更に維持される。
【０１９１】
このように、図２８（ａ）に示される如く、従来技術の場合、キャッシュサーバＣ１、Ｃ２が保持しているコンテンツの内容が頻繁に変更される。これは従来技術の場合コンテンツを要求されたキャッシュサーバ自身が無条件に当該コンテンツを提供するため、自身が当該コンテンツを保持していない場合、これを他のキャッシュサーバ或いはコンテンツサーバから取得して自己が保持した上で、これを要求元に提供するためである。その結果、キャッシュサーバＣ１，Ｃ２間、キャッシュサーバＣ１とコンテンツサーバＳとの間、およびキャッシュサーバＣ２とコンテンツサーバＳとの間で頻繁にコンテンツの転送が行われることになり、キャッシュサーバＣ１，Ｃ２およびコンテンツサーバＳの負荷が増加する。
【０１９２】
他方、図２８（ｂ）に示される如く、本発明の実施例の場合、一定の条件下では、コンテンツＸ，ＹについてはキャッシュサーバＣ１が保持し続け、コンテンツＸ，ＺについてはキャッシュサーバＣ２が保持し続け、クライアントＡ１〜Ａ４は要求に係るコンテンツを保持をしているキャッシュサーバからコンテンツを取得するように構成することが可能である。これは本発明の実施例では要求を受けたキャッシュサーバ自身が必ずしも該当するコンテンツを直接要求元に提供するのではなく、まず同階層のキャッシュサーバとの間でいずれのキャッシュサーバが当該コンテンツを提供すべきかを判定し、その判定により選択されたキャッシュサーバが当該コンテンツを直接要求元に提供する。したがって該当するコンテンツを保持しているキャッシュサーバの負荷が閾値未満（図１８中、ステップＳ１５５の有）であり、且つ要求に係るコンテンツに対するアクセス頻度が閾値未満（同、ステップＳ１５９の有）であれば、当該キャッシュサーバが接続先として選択され（同、ステップＳ１６０）、コンテンツの要求元は当該キャッシュサーバから該当するコンテンツを取得する。したがってその場合、直接要求を受けたキャッシュサーバ自身が該当するコンテンツを保持していない場合でも、当該キャッシュサーバ自身が新たに該当するコンテンツを保持して要求元に提供する必要がなくなる。その結果コンテンツサーバＳおよびキャッシュサーバＣ１、Ｃ２間のコンテンツの転送量を効果的に低減可能であり、もってそれらの負荷を効果的に低減可能である。
【０１９３】
又本発明の実施例によれば、上記コンテンツＸ，Ｙ，Ｚのうち、コンテンツＸに対するアクセス頻度が比較的高く、コンテンツＹ，Ｚに対するアクセス頻度が比較的低いような場合、図２８（ｂ）に示す如く、アクセス頻度の高いコンテンツＸについてはキャッシュサーバＣ１，Ｃ２の双方で重複して保持し、アクセス頻度の低いコンテンツＹ，ＺについてはキャッシュサーバＣ１，Ｃ２それぞれに分散して保持させるように構成することが出来る。すなわち図１８のステップＳ１５５では、要求されたコンテンツを保持しているキャッシュサーバの負荷率が閾値以上の場合（無）、当該キャッシュサーバは接続先として選択されない。同様にステップＳ１５９では、要求されたコンテンツを保持しているキャッシュサーバの当該コンテンツに対するアクセス頻度が閾値以上の場合（無）、当該キャッシュサーバは接続先として選択されない。したがって該当するコンテンツを保持しているキャッシュサーバにおいて、当該コンテンツに対するアクセス頻度が高い場合、負荷率もこれに応じて増加するためステップＳ１５５の条件を満たさなくなるか、或いはステップＳ１５９の条件を満たさなくなる可能性が高く、その場合、当該キャッシュサーバは接続先として選択されず、他の同階層のキャッシュサーバが代わりに接続先として選択される（ステップＳ１５６〜Ｓ１５８或いはＳ１６１〜Ｓ１６３）。その場合、当該接続先として選択されたキャッシュサーバも当該コンテンツを重複して保持することになる。したがってアクセス頻度が高いコンテンツは重複して複数のキャッシュサーバに保持されるようになる。このようにアクセス頻度の高いコンテンツが複数のキャッシュサーバにより重複して保持されることにより当該コンテンツに対するアクセスはこれら複数のキャッシュサーバに分散されることになり、もって単一のキャッシュサーバのみが当該コンテンツを保持することにより当該キャッシュサーバの負荷率が著しく増加するような事態を防止することが可能となる。
【０１９４】
図２９は上述の本発明の実施例におけるキャッシュサーバ２０或いはクライアント１０をコンピュータで実現する場合について説明するための、コンピュータの構成例を示すブロック図である。
【０１９５】
図２９に示すごとく、同コンピュータ５００は、与えられたプログラムを構成する命令を実行することによって様々な動作を実行するためのＣＰＵ５０１と、キーボード、マウス等よりなりユーザが操作内容又はデータを入力するための操作部５０２と、ユーザにＣＰＵ５０１による処理経過、処理結果等を表示するＣＲＴ、液晶表示器等よりなる表示部５０３と、ＲＯＭ、ＲＡＭ等よりなりＣＰＵ５０４が実行するプログラム、データ等を記憶したり作業領域として使用されるメモリ５０４と，プログラム、データ等を格納するハードディスク装置５０５と、ＣＤ−ＲＯＭ５０７を媒介として外部からプログラムをロードしたりデータをロードするためのＣＤ−ＲＯＭドライブ５０６と、インターネット、ＬＡＮ等の通信網５０９を介して外部サーバからプログラムをダウンロード等するためのモデム５０８とを有する。
【０１９６】
同コンピュータ５００はＣＤ−ＲＯＭ５０７を媒介として、あるいは通信ネットワーク５０９を媒介として、図５〜図２８とともに上述のキャッシュサーバ２０あるいはクライアント１０が実行する処理をＣＰＵ５０１に実行させるための命令よりなるプログラムをロードあるいはダウンロードする。そしてこれをハードディスク装置５０５にインストールし、適宜メモリ５０４にロードしてＣＰＵ５０１が実行する。その結果、同コンピュータ５００によりキャッシュサーバ２０或いはクライアント１０が実現される。
【０１９７】
なお、図５中、隣接キャッシュサーバ管理機能部６５、メッセージ制御機能部６２および通信管理機能部６１が同階層情報取得手段に対応し、接続先判定機能部６８がコンテンツ取得先装置決定手段に対応し、メッセージ制御機能部６２および通信管理機能部６１が接続先情報提供手段に対応する。
【０１９８】
又、図7中、通信管理機能部６１，メッセージ制御機能部６２、接続先管理機能部６９、接続先設定機能部７０および接続先情報管理ＤＢ７１がコンテンツ要求手段に対応する。
【０１９９】
本発明は以下の付記に記載の構成をとり得る。
（付記１）
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持するか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、
同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、
前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段とを有する情報処理装置。
（付記２）
コンテンツ取得装置決定手段は、同階層情報取得手段により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および応答時間に基づいて前記コンテンツ取得先装置を決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなる付記１に記載の情報処理装置。
（付記３）
コンテンツ取得装置決定手段は、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、自己および同階層の他の情報処理装置の全ての中で負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、自己および同階層の他の情報処理装置の全ての中に負荷率が所定の閾値より低いものがなければ、自己および同階層の他の情報処理装置の全てのものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持していた場合、当該コンテンツを保持しているものの中に負荷率が所定の閾値より低いものがあれば該当するものをコンテンツ取得先装置の候補として残し、当該コンテンツの保持を保持しているものの中に負荷率が所定の閾値より低いものがない場合、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中にも負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものが無い場合、前記当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定する構成とされてなる付記２に記載の情報処理装置。
（付記４）
前記接続先情報に基づいてなされた、該当するコンテンツの要求を受けた、該当するコンテンツ取得先装置としての情報処理装置は、自己が該当するコンテンツを保持している場合にはこれを要求元に提供するが、保持していない場合には他の情報処理装置から該当するコンテンツを取得し、自己が保持するとともに前記要求元に提供する構成とされてなる付記１に記載の情報処理装置。
（付記５）
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段とよりなる第１の情報処理装置に対しコンテンツを要求する、前記要求元としての第２の情報処理装置であって、
前記第１の情報処理装置の接続先情報提供手段から前記接続先情報の提供を受け、当該接続先情報が示すコンテンツ取得先装置としての第１の情報処理装置に対し該当するコンテンツを要求するコンテンツ要求手段を有する情報処理装置。
（付記６）
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得段階と、
同階層情報取得段階で取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定段階と、
前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供段階とを有する、情報処理装置の制御方法。
（付記７）
コンテンツ取得装置決定段階では、同階層情報取得段階により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および応答時間に基づいて前記コンテンツ取得先装置を決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および前記応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなる付記６に記載の情報処理装置の制御方法。
（付記８）
コンテンツ取得装置決定段階では、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、自己および同階層の他の情報処理装置の全ての中で負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、自己および同階層の他の情報処理装置の全ての中に負荷率が所定の閾値より低いものがなければ、自己および同階層の他の情報処理装置の全てのものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持していた場合、当該コンテンツを保持しているものの中に負荷率が所定の閾値より低いものがあれば該当するものをコンテンツ取得先装置の候補として残し、当該コンテンツの保持を保持しているものの中に負荷率が所定の閾値より低いものがない場合、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中にも負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものが無い場合、前記当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定する構成とされてなる付記７に記載の情報処理装置の制御方法。
（付記９）
前記接続先情報に基づいた該当するコンテンツの要求を受けた、該当するコンテンツ取得先装置としての情報処理装置は、自己が該当するコンテンツを保持している場合にはこれを要求元に提供するが、保持していない場合には他の情報処理装置から該当するコンテンツを取得し、自己が保持するとともに前記要求元に提供する構成とされてなる付記６に記載の情報処理装置の制御方法。
（付記１０）
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段とよりなる第１の情報処理装置に対しコンテンツを要求する、前記要求元としての第２の情報処理装置の制御方法であって、
前記第１の情報処理装置の接続先情報提供手段から前記接続先情報の提供を受け、当該接続先情報が示すコンテンツ取得先装置としての第１の情報処理装置に対し該当するコンテンツを要求するコンテンツ要求段階とを有する情報処理装置の制御方法。
（付記１１）
情報処理装置の動作を制御するためにコンピュータを、
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、
同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、
前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段として機能させるためのプログラム。
（付記１２）
コンテンツ取得装置決定手段は、同階層情報取得手段により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および前記応答時間に基づいて前記コンテンツ取得先装置を決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および前記応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなる付記１１に記載のプログラム。
（付記１３）
コンテンツ取得装置決定手段は、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、自己および同階層の他の情報処理装置の全ての中で負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、自己および同階層の他の情報処理装置の全ての中に負荷率が所定の閾値より低いものがなければ、自己および同階層の他の情報処理装置の全てのものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持していた場合、当該コンテンツを保持しているものの中に負荷率が所定の閾値より低いものがあれば該当するものをコンテンツ取得先装置の候補として残し、当該コンテンツの保持を保持しているものの中に負荷率が所定の閾値より低いものがない場合、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中にも負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものが無い場合、前記当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中にも負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定する構成とされてなる付記１２に記載のプログラム。
（付記１４）
前記接続先情報に基づいた該当するコンテンツの要求を受けた、該当するコンテンツ取得先装置としての情報処理装置は、自己が該当するコンテンツを保持している場合にはこれを要求元に提供するが、保持していない場合には他の情報処理装置から該当するコンテンツを取得し、自己が保持するとともに前記要求元に提供する構成とされてなる付記１１に記載のプログラム。
（付記１５）
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段とよりなる第１の情報処理装置に対しコンテンツを要求する、前記要求元としての第２の情報処理装置の動作を制御するためにコンピュータを、
前記第１の情報処理装置の接続先情報提供手段から前記接続先情報の提供を受け、当該接続先情報が示すコンテンツ取得先装置としての第１の情報処理装置に対し該当するコンテンツを要求するコンテンツ要求手段として機能させるためのプログラム。
【図面の簡単な説明】
【０２００】
【図１】本発明を適用し得る、階層・分散キャッシュ技術を実現するキャッシュサーバのネットワーク構成例を示す図である。
【図２】従来の階層・分散キャッシュ技術における各キャッシュサーバのキャッシュ機能を説明するための図（その１）である。
【図３】従来の階層・分散キャッシュ技術における各キャッシュサーバのキャッシュ機能を説明するための図（その２）である。
【図４】従来の階層・分散キャッシュ技術における各キャッシュサーバのキャッシュ機能を説明するための図（その３）である。
【図５】本発明の一実施例によるキャッシュサーバの機能ブロック図である。
【図６】図５に示されている接続先情報管理ＤＢが保持する情報の例を示す図（ａ）および図５に示されているキャッシュ情報管理ＤＢが保持する情報の例を示す図（ｂ）である。
【図７】本発明の一実施例によるクライアントの機能ブロック図である。
【図８】本発明の一実施例によるコンテンツ取得シーケンス例(コンテンツを保持するキャッシュサーバからコンテンツを取得する場合)を示す図である。
【図９】本発明の一実施例によるコンテンツ取得シーケンス例(コンテンツを保持していないキャッシュサーバからコンテンツを取得する場合)を示す図である。
【図１０】本発明の一実施例によるコンテンツ取得シーケンス例(接続先が保持されたコンテンツを取得する場合)を示す図である。
【図１１】本発明の一実施例による下位のキャッシュサーバ又はクライアントからのコンテンツ取得要求受信時のキャッシュサーバの動作例を示す図である。
【図１２】本発明の一実施例による隣接キャッシュサーバからの情報取得要求受信時のキャッシュサーバの動作例を示す図である。
【図１３】本発明の一実施例による隣接キャッシュサーバからの情報取得要求に対する応答受信時のキャッシュサーバの動作例を示す図である。
【図１４】本発明の一実施例による接続先判定後のキャッシュサーバの動作例を示す図である。
【図１５】本発明の一実施例による上位のキャッシュサーバからの接続先通知受信時のキャッシュサーバの動作例を示す図である。
【図１６】本発明の一実施例による接続先情報を保持しているコンテンツに対する取得要求時のキャッシュサーバの動作例を示す図である。
【図１７】本発明の一実施例によるキャッシュサーバからの接続先通知受信時のクライアントの動作例を示す図である。
【図１８】本発明の一実施例による接続先判定機能における判定方法を説明するためのフローチャートである。
【図１９】本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図（その１）である。
【図２０】本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図（その２）である。
【図２１】本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図（その３）である。
【図２２】本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図（その４）である。
【図２３】本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図（その５）である。
【図２４】本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図（その６）である。
【図２５】本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図（その７）である。
【図２６】本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図（その８）である。
【図２７】本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図（その９）である。
【図２８】本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図（その１０）である。
【図２９】本発明の一実施例によるキャッシュサーバ或いはクライアントをコンピュータで構成する場合について説明するための、コンピュータの機能ブロック図である。
【符号の説明】
【０２０１】
１０、１０−１〜１０−１２、Ａ１〜Ａ４  クライアント
２０，２０−１〜２０−６、Ｃ１，Ｃ２  キャッシュサーバ
５０、Ｓ  コンテンツサーバ
６１  通信管理機能部
６２  メッセージ制御機能部
６３  キャッシュ管理機能部
６４  アクセス頻度管理機能部
６５  隣接キャッシュサーバ管理機能部
６６  キャッシュ情報管理ＤＢ
６７  負荷情報取得機能部
６８  接続先判定機能部
６９  接続先管理機能部
７０  接続先設定機能部
７１  接続先情報管理ＤＢ
【図１】
0005109618.tif 000002
【図２】
0005109618.tif 000003
【図３】
0005109618.tif 000004
【図４】
0005109618.tif 000005
【図５】
0005109618.tif 000006
【図６】
0005109618.tif 000007
【図７】
0005109618.tif 000008
【図８】
0005109618.tif 000009
【図９】
0005109618.tif 000010
【図１０】
0005109618.tif 000011
【図１１】
0005109618.tif 000012
【図１２】
0005109618.tif 000013
【図１３】
0005109618.tif 000014
【図１４】
0005109618.tif 000015
【図１５】
0005109618.tif 000016
【図１６】
0005109618.tif 000017
【図１７】
0005109618.tif 000018
【図１８】
0005109618.tif 000019
【図１９】
0005109618.tif 000020
【図２０】
0005109618.tif 000021
【図２１】
0005109618.tif 000022
【図２２】
0005109618.tif 000023
【図２３】
0005109618.tif 000024
【図２４】
0005109618.tif 000025
【図２５】
0005109618.tif 000026
【図２６】
0005109618.tif 000027
【図２７】
0005109618.tif 000028
【図２８】
0005109618.tif 000029
【図２９】
0005109618.tif 000030