JP5109618B2 - 情報処理装置、情報処理装置の制御方法およびプログラム - Google Patents

情報処理装置、情報処理装置の制御方法およびプログラム Download PDF

Info

Publication number
JP5109618B2
JP5109618B2 JP2007301659A JP2007301659A JP5109618B2 JP 5109618 B2 JP5109618 B2 JP 5109618B2 JP 2007301659 A JP2007301659 A JP 2007301659A JP 2007301659 A JP2007301659 A JP 2007301659A JP 5109618 B2 JP5109618 B2 JP 5109618B2
Authority
JP
Japan
Prior art keywords
content
information
information processing
cache server
request
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.)
Expired - Fee Related
Application number
JP2007301659A
Other languages
English (en)
Other versions
JP2009129076A (ja
Inventor
健 佐野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007301659A priority Critical patent/JP5109618B2/ja
Publication of JP2009129076A publication Critical patent/JP2009129076A/ja
Application granted granted Critical
Publication of JP5109618B2 publication Critical patent/JP5109618B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに係り、特にコンテンツの要求およびコンテンツの提供を行う情報処理装置、情報処理装置の制御方法およびプログラムに関する。
例えばネットワークを介してセンサー情報の管理を行う技術分野などにおいては、ネットワークを流れる情報量の削減、情報を提供するキャッシュサーバの負荷低減、及びサービスを受けるクライアントに対するレスポンス時間の短縮等が望まれている。そのような要求を満たすための技術として、ネットワークに接続されているキャッシュサーバの負荷を分散する階層・分散キャッシュ技術がある。
この階層・分散キャッシュ技術では、コンテンツの要求に対し、要求を受けたキャッシュサーバがそのコンテンツを保持していない場合、ICP(Internet Cache Protocol)メッセージを用いて他のキャッシュサーバがこれを保持していないかを問い合わせ、保持しているキャッシュサーバが存在する場合はそのキャッシュサーバからコンテンツを取得し、要求元へコンテンツを提供する。該当するコンテンツを保持するキャッシュサーバが存在しない場合には、上位のキャッシュサーバか、コンテンツサーバ(オリジンサーバ)からコンテンツを取得する。
図1は上記階層・分散キャッシュ技術を実現するためのネットワーク構成例を示す。
図1のネットワーク構成では、最上位にコンテンツサーバ50が存在し、下層にはキャッシュサーバ20−5,20−6の階層、更に下層にはキャッシュサーバ20−1〜20−4の階層が設けられ、最下位には、これらコンテンツサーバ50,キャッシュサーバ20−1〜20−6に対してコンテンツを要求するクライアント10−1〜10−12の層が存在する。
なお以下の説明においてクライアント10−1〜10−12を総称してクライアント10と称し、或いはキャッシュサーバ20−1〜20−6を総称してキャッシュサーバ20と称することがある。
以下に図2〜4とともに、従来の階層・分散キャッシュ技術における、上記クライアント10―1〜10−12からのコンテンツの要求に対しコンテンツサーバ50或いはキャッシュサーバ20−1〜20−6が該当するコンテンツを提供する際の動作の例について説明する。
ここで従来のキャッシュ機能について説明する。
キャッシュサーバ20がクライアント10からコンテンツの要求を受信すると、自己が該当するコンテンツを保持しているか否かを判定し、自己が保持していれば当該キャッシュサーバ20からクライアント10に対し該当するコンテンツを送信する。自己が保持していなければ隣接する同階層のキャッシュサーバ20に当該コンテンツを要求し、同階層のキャッシュサーバ20が該当するコンテンツを保持していればそこから当該コンテンツを取得し、クライアント10に対しこれを送信する。同階層のキャッシュサーバも該当するコンテンツを保持していなければ、コンテンツサーバ50または上位のキャッシュサーバ20から当該コンテンツを取得し、これをクライアント10へ送信する。
ここで同階層又は上位のキャッシュサーバ20或いはコンテンツサーバ50から取得したコンテンツを自己が保持する際、そのキャッシュメモリの記憶容量が不足しているような場合、現在保持しているコンテンツの中で最も古い情報を削除して該当する新たなコンテンツを保持するか、或いは現在保持しているコンテンツの中で最もアクセスされていない情報を削除して該当する新たなコンテンツを保持する。
図2において、キャッシュサーバ20はクライアント10からコンテンツの要求(ステップS201)を受信すると、自己が該当するコンテンツを保持しているか検索する(ステップS202)。その結果自己が保持していればキャッシュサーバ20はクライアント10に対し該当するコンテンツを送信する(ステップS203)。
他方該当するコンテンツを保持していなかった場合(図3中、ステップS211,S212)、キャッシュサーバ20は隣接する同階層のキャッシュサーバ20にコンテンツを要求する(ステップS213)。
同階層のキャッシュサーバ20が該当するコンテンツを保持していれば、前記最初にコンテンツの要求を受けたキャッシュサーバ20は当該コンテンツを保持しているキャッシュサーバ20から当該コンテンツを取得し、これをクライアント20に送信する(ステップS214)。
又同階層のキャッシュサーバ20も当該コンテンツを保持していなければ(図4中、ステップS221,S222,S223)、前記最初にコンテンツの要求を受けたキャッシュサーバ20はコンテンツサーバ50または上位のキャッシュサーバ20からコンテンツを取得し、クライアント10に対しこれを送信する(ステップS224,S225,S226)。
このような従来技術においては、コンテンツの共有およびキャッシュサーバ間のアクセス負荷の分散が可能となり、クライアントからのアクセス頻度が高いコンテンツに関しては有効に機能すると期待される一方、アクセス頻度の低いコンテンツが同じ階層のキャッシュサーバで重複して保持され合うと冗長となり、必ずしも各キャッシュサーバの容量が有効に利用されないような状況も想定される。
又上記ICPメッセージを用いてコンテンツの取得先を検索する際、キャッシュサーバ間の負荷の偏り等が生ずるおそれがある。
上述の階層・分散キャッシュ技術以外の階層・分散キャッシュ技術として、例えば特許文献1に記載されたものがある。ここでは、最下層に位置するキャッシュサーバのみがコンテンツを保持し、上位のサーバは当該コンテンツを保持するキャッシュサーバの情報を管理し、下位のキャッシュサーバからのコンテンツの検索おいてディレクトリサーバとして機能する。この技術においてもキャッシュサーバ間で同じコンテンツを重複して保持することになるため、上記と同様の問題が生じ得る。
特表2001−512604号公報 IETF RFC 2186 RFC 2187
本発明はこのような状況に鑑みてなされたものであり、情報処理装置による、アクセス頻度が低いコンテンツの冗長な保持を回避して情報処理装置の記憶容量を有効に利用することを可能とし、又アクセス頻度が高いコンテンツについては複数の情報処理装置で保持し合うことにより負荷分散を可能とする構成の情報処理装置、情報処理装置の制御方法およびプログラムを提供することを目的とする。
本発明では情報処理装置がコンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持するか否かのコンテンツ保持情報および各情報処理装置の負荷状況を示す負荷情報並びに、いずれかの情報処理装置が該当するコンテンツを保持している場合、当該情報処理装置における当該コンテンツに対する外部からのアクセス頻度(すなわち単位時間当たりのアクセス回数等)を示すアクセス頻度情報を取得し、このように取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定し、前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供するようにした。
このような構成の本発明によれば、同階層の情報処理装置の負荷状況を示す負荷情報、該当するコンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得し、又当該取得に要した応答時間を取得し、これらの取得情報に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定し、当該コンテンツ取得先装置に対する接続のための接続先情報を要求元に提供する。
そして各情報処理装置は、当該接続先情報に基づいた、要求元からのコンテンツの要求を受けた際、自己が該当するコンテンツを保持していればこれを要求元に提供し、自己が該当するコンテンツを保持していなければ他の情報記憶装置からこれを取得して自己が保持するとともに要求元に提供する。
又本発明によれば、最初にコンテンツの要求元から当該コンテンツの要求を受けた情報処理装置は、少なくともその段階では、自己が該当するコンテンツを保持しているか否かにかかわらず、当該コンテンツを提供することはない。代わりに自己および同階層他の情報記憶装置の負荷情報、当該コンテンツに係るアクセス頻度情報およびそれらの情報の取得に要した応答時間を取得し、これら取得した情報に基づいてコンテンツ取得先装置を決定し、その接続先情報を要求元に提供する。そして要求元はこの接続先情報に基づいて該当するコンテンツ取得先装置から直接該当するコンテンツを取得する。
このように本発明によれば、コンテンツを直接要求元に提供するのは必ずしも最初の段階で当該コンテンツの要求を受けた情報処理装置ではなく、コンテンツ取得先装置として選ばれた情報処理装置であり、当該選ばれた情報処理装置が該当するコンテンツを保持していなければ他の情報記憶装置からこれを取得して自己が保持するとともに要求元に提供する。その結果情報記憶装置間で効果的な負荷分散が図れる。
すなわち従来は最初の段階でコンテンツの要求を受けたキャッシュサーバが直接要求元に該当するコンテンツを提供するため、当該キャッシュサーバが該当するコンテンツを保持していなければ他のキャッシュサーバ或いはコンテンツサーバからこれを取得し、自己が保持するとともに要求元に提供していた。したがって仮に当該最初の段階でコンテンツの要求を受けたキャッシュサーバの負荷が既に高い状態であった場合、更にその負荷が増加することとなり、効果的な負荷分散が図れなかった。これに対し本発明では上記の如く、コンテンツを直接要求元に提供する情報処理装置は最初の段階でコンテンツの要求を受けた情報処理装置に限られず、負荷の低い情報処理装置が選ばれるようにすることが可能なため、効果的な負荷分散が図れる。
同様に、従来技術では当該最初の段階でコンテンツの要求を受けたキャッシュサーバにおいて該当するコンテンツに対するアクセス頻度が既に高い状態であった場合、更にそのアクセス頻度が増加することとなり、効果的な負荷分散が図れなかった。これに対し本発明では上記の如く、コンテンツを直接要求元に提供する情報処理装置は最初の段階でコンテンツの要求を受けた情報処理装置に限られず、該当するコンテンツについてのアクセス頻度の低い情報処理装置が選ばれるようにすることが可能なため、効果的な負荷分散が図れる。
すなわち本発明によれば、要求に係るコンテンツを保持しているか否かにかかわらず、負荷が高い情報処理装置、アクセス頻度が高い情報処理装置、或いは情報を取得するための要求に対する応答時間が長い情報処理装置がコンテンツ取得先装置として選ばれないように制御することが可能となる。そのような制御を行うことにより、負荷が低く、アクセス頻度が低く、且つ応答時間が短い情報処理装置がコンテンツ取得先装置として選ばれるようにすることが可能となる。
又アクセス頻度が高いコンテンツを保持している情報処理装置は同時に当該装置自体の負荷も増加する可能性が高く、もってこのような装置はコンテンツ取得先装置に選ばれ難くなり、その結果他の情報処理装置がコンテンツ取得先装置に選ばれ易くなる。そしてこのようにして選ばれた情報処理装置が該当するコンテンツを保持していない場合には他の情報記憶装置からこれを取得することとなる。その結果アクセス頻度が高いコンテンツについては複数の情報処理装置が重複して保持し合うようになり、効果的な負荷の分散が図れる。
逆にアクセス頻度が低いコンテンツについて考えると、このようなコンテンツを保持している情報処理装置は当該コンテンツに対するアクセス頻度が低いため装置自体の負荷も低くなる可能性が高く、したがってコンテンツ取得先装置に選ばれる可能性が高まる。その結果他の情報処理装置がコンテンツ取得先装置に選ばれる可能性が減るため、当該他の情報記憶装置が選ばれて該当するコンテンツを保持し合うことで冗長となるような事態の発生を回避し得る。したがって各情報処理装置の記憶容量の有効利用が図れる。
又コンテンツ取得先装置を決定する際、情報取得の際の応答時間が短いものを選ぶようにすることにより、当該コンテンツの要求元が接続先情報に基づいてコンテンツ取得先装置から当該コンテンツを取得する際に要する時間を効果的に短縮することが可能となり、コンテンツに対するヒット率を高めることが出来る。ここで上記応答時間が短いことは、当該情報処理装置の位置が論理的或いは物理的に近い位置にあることを意味する。
又最初の段階でコンテンツの要求を受けた情報処理装置が当該コンテンツを保持していなかった場合、従来技術では当該情報処理装置が他の情報記憶装置から該当するコンテンツを取得し、自己が保持するとともに要求元に提供していた。これに対し、本発明によれば、最初の段階でコンテンツの要求を受けた情報処理装置はコンテンツ取得先装置を決定し、対応する接続先情報を要求元に提供するものとされ、このコンテンツ取得先装置の決定は、負荷状況、該当するコンテンツについてのアクセス頻度および情報取得の際の応答時間に基づいてなされる。このため、最初の段階でコンテンツの要求を受けた情報処理装置がコンテンツ取得先装置に選ばれるとは限らない。すなわち、同階層の他の情報記憶装置が該当するコンテンツを保持しており、その負荷がそれほど高くなく、且つ当該コンテンツに対するアクセス頻度もそれほど高くない場合、当該他の情報処理装置がコンテンツ取得先装置に選ばれるように構成することが出来る。その結果、最初の段階でコンテンツの要求を受けた情報処理装置が当該コンテンツを他の情報記憶装置から取得して自己が保持する必要がなくなる。その結果各情報処理装置の記憶容量の有効利用が図れる。
又この場合、当該最初の段階でコンテンツの要求を受けた情報処理装置の記憶容量が既に不足しているような場合、新たに当該コンテンツを取得して自己が保持するためには既に保持しているコンテンツを削除する必要があるが、本発明によれば、一定の条件下では上記の如く新たに当該コンテンツを取得して自己が保持する必要がないため、その場合既に保持していたコンテンツを削除する必要がなくなる。ここで、このように削除する必要がなくなり引き続き保持することが可能となったコンテンツが、同階層において当該情報処理装置のみが保持していたような場合にはコンテンツに対するヒット率を向上させることが可能となる。
このように本発明によれば、アクセス頻度が低いコンテンツの冗長な保持を回避して情報処理装置の記憶容量を有効に利用することを可能とし、又アクセス頻度が高いコンテンツについては複数の情報処理装置で重複して保持し合うことにより負荷分散を可能とする構成の情報処理装置、情報処理装置の制御方法およびプログラムを提供することが可能となる。
以下に本発明の実施例による階層・分散キャッシュ方式について述べる。
本発明の実施例による階層・分散キャッシュ方式を実現するキャッシュサーバは上述の従来のキャッシュサーバの機能に加え、以下の機能を持つ。
・クライアント、または下位のキャッシュサーバからコンテンツの要求を受信すると、当該コンテンツの取得先を判定するために同階層のキャッシュサーバへ情報(該当するコンテンツの保持の有無、自己が負っている負荷、自己が保有する当該コンテンツに対する外部からのアクセス頻度)を取得するための要求を送信する機能
・上記の情報を取得するための要求に対して応答を送信する機能
・上記応答を受信した場合についてタイムアウト値を設定し、当該タイムアウト値の示す時間以内に受信した応答につき、自己および当該応答を行ったキャッシュサーバの中から、コンテンツの要求元のクライアント又は下位のキャッシュサーバが同コンテンツを取得するために接続すべき接続先(すなわちコンテンツ取得先装置)を、当該コンテンツの保持の有無、自己が負っている負荷および当該コンテンツに対する外部からのアクセス頻度に基づいて判定する機能(以下接続先判定機能と称する)
・このようにして決定した接続先をコンテンツの要求元のクライアント又は下位のキャッシュサーバへ通知する機能
・コンテンツの要求元の下位のキャッシュサーバとして上記接続先の通知を受信すると、要求したコンテンツと当該接続先との組をデータベースにおいて管理する機能
・コンテンツの要求元の下位のキャッシュサーバとしてコンテンツの要求を行う際、上記データベースにおいて管理されている情報から、当該コンテンツに対応する前記接続先を得、当該接続先に対してコンテンツの要求を行う機能
・自己が保有する各コンテンツに対するアクセス頻度を計測、管理する機能
又本発明の実施例による階層・分散キャッシュ方式を実現するクライアントは、一般的な、コンテンツを参照するためのクライアントの機能に加え、下記の機能を持つ。
・キャッシュサーバから前記接続先の通知を受信すると、要求したコンテンツと当該接続先との組をデータベースにおいて管理する機能
・コンテンツの要求を行う際に、上記データベースにおいて管理されている情報から、当該コンテンツに対応する前記接続先を得、当該接続先に対して要求を行う機能
ここで前記接続先判定機能による処理では、前記クライアント又は前記キャッシュサーバからコンテンツの要求を受信すると、同階層のキャッシュサーバから情報を取得し、その情報によって前記接続先を判定し、当該クライアントまたはキャッシュサーバへ当該接続先を通知する。
又この接続先判定機能は、同階層のキャッシュサーバの中から、要求されたコンテンツにつき、コンテンツの保持の有無、当該コンテンツに対する外部からのアクセス頻度、さらに、これらの情報を取得するための要求に対する応答を受信するまでの応答時間によって前記接続先を判定する機能である。
又上記キャッシュサーバ或いは上記クライアントは各コンテンツに対する前記接続先をデータベースにおいて管理するための機能を有する。
又上記キャッシュサーバ或いは上記クライアントがコンテンツを要求する際、上記の如く自己のデータベースに管理されている前記接続先を当該データベースから取得し、設定する処理を行う。
即ち本発明の実施例によれば、コンテンツの要求を受信したキャッシュサーバが同じ階層のキャッシュサーバからコンテンツの保持の有無およびその負荷情報を取得する機能を設けておき、下位のキャッシュサーバ又はクライアントからコンテンツの要求を受信すると、同じ階層のキャッシュサーバからコンテンツの保持の有無および負荷情報の取得を行うとともに、コンテンツ有の場合には該当するコンテンツに対する外部からのアクセス頻度も取得する。
そしてキャッシュサーバは要求されたコンテンツに対する下位のキャッシュサーバ又はクライアントが当該コンテンツを取得するために接続すべき接続先を判定し、通知するための機能を有する。
この場合キャッシュサーバは同じ階層のキャッシュサーバから取得した情報と、取得に要した応答時間とを用い、要求されたコンテンツに対する接続先を判定し、要求元に対して判定結果を通知する。
又キャッシュサーバは各コンテンツと対応する接続先との組をデータベースにおいて管理しておき、コンテンツを取得する際、このデータベースの情報を基に、該当する接続先からコンテンツを取得する。
又下位のキャッシュサーバ或いはクライアントが、自己が要求したコンテンツと、要求先のキャッシュサーバから通知された対応する接続先との組の情報をデータベースにおいて管理しておき、コンテンツの取得、更新を行う際にはこのデータベースの情報を参照し、該当する接続先を設定し、当該コンテンツを取得し、或いは更に取得したコンテンツを更新する。
以下上述の本発明の実施例の階層・分散キャッシュ方式につき、図とともに詳細に説明する。
まず当該階層・分散キャッシュ方式を実現するためのネットワーク構成は図1とともに上述のものと同様であり、重複する説明を省略する。
又以下の説明において本発明の実施例の階層・分散キャッシュ方式を実現するキャッシュサーバ20およびクライアント10につき、便宜上図1〜4とともに上述の従来技術によるキャッシュサーバ20およびクライアント10とそれぞれ同符号を付して説明するが、本発明の実施例によるキャッシュサーバ20およびクライアント10はそれぞれ以下に説明するが如く、上記従来技術によるキャッシュサーバ20およびクライアント10が有しない新規な構成を有する。しかしながら以下に説明するこの新規な構成を除き本発明の実施例によるキャッシュサーバ20およびクライアント10は従来技術のキャッシュサーバ20およびクライアント10と同様のための機能を有しており、これら従来技術と同様な機能部分に関するここでの詳細な説明を省略する。
次に図5とともに、本発明の実施例の階層・分散キャッシュ方式を構成するキャッシュサーバ20の機能について説明する。
図5に示す如く、同キャッシュサーバ20は通信管理機能部61,メッセージ制御機能部62,キャッシュ管理機能部63,アクセス頻度管理機能部64,隣接キャッシュサーバ管理機能部65,キャッシュ情報管理DB66,負荷情報取得機能部67,接続先判定機能部68,接続先設定機能部70,接続先情報管理DB71を有する。
以下にこれら各機能部の機能について説明する。
通信管理機能部61は他の装置から当該キャッシュサーバ宛の通信を受信し、メッセージ制御機能部62に渡す。また、メッセージ制御機能部62からの要求を受け、メッセージを送信する。
メッセージ制御機能部62は、他の各機能部からの要求を契機に、それぞれの場合に必要な処理を決定し、各機能部にその処理を振り分けるための機能を有する。
接続先判定機能部68は、下位のキャッシュサーバ又はクライアントからのコンテンツの要求に対し、同階層のキャッシュサーバからコンテンツの保持の有無、負荷情報および要求されたコンテンツに対するアクセス頻度の各情報を取得し、コンテンツの要求元としての前記キャッシュサーバ或いはクライアントが当該コンテンツを取得するために接続すべき接続先を判定し、当該要求元に判定結果を通知するための機能を有する。
ここで上記接続先として当該キャッシュサーバが選択される場合もあり得る。詳細は図18とともに後述する。
接続先管理機能部69は、各コンテンツに対する上記接続先の情報を保持・管理するための機能を有する。これらの情報は接続先情報管理データベース(DB)71に保持される。
接続先設定機能部70は、各コンテンツを取得する際、接続先情報管理データベース71の情報を基に、対応する接続先を設定するための機能を有する。
アクセス頻度管理機能部64は、自己が保有する各コンテンツに対する外部からのアクセス頻度を計測、管理するための機能を有する。これらの情報はキャッシュ情報管理データベース(DB)66に保持される。
隣接キャッシュサーバ管理機能部65は前記接続先が判定される際、当該機能部65によって管理されている隣接する(すなわち同階層の)キャッシュサーバに対し、コンテンツの保持の有無等の情報を取得するための要求メッセージを送信するための機能を有する。
キャッシュ管理機能部63は、自己が保有するコンテンツの管理、検索を行うための機能を有する。これらコンテンツに関する情報はキャッシュ情報管理データベース(DB)66に保持される。
負荷情報取得機能部67は当該キャッシュサーバの負荷情報(すなわち当該キャッシュサーバの動作の制御を行うCPUの稼働率或いは使用率等の情報)を取得するための機能を有する。
なお当該キャッシュサーバ20は、図5に示す以外の構成は従来の周知の一般的なキャッシュサーバの構成と同様である。すなわちコンテンツを保持し、当該コンテンツに対する外部からのアクセスを可能にするための機能を有する記憶装置および当該記憶装置に対する外部からのコンテンツの書き込みおよび外部からのコンテンツの読み出しを可能にするための、上記CPUを含む制御装置を有する。又この制御装置は、自己が上記接続先として指定された場合であって自己が該当するコンテンツを保持していない場合に上位のキャッシュサーバ20或いはコンテンツサーバ50にコンテンツを要求してこれを取得し、記憶装置に当該コンテンツを保持するための機能を有する。
これら記憶装置および制御装置は、例えば図29とともに後述するように同キャッシュサーバ20が図29に示される構成を有するコンピュータによって構成される場合、それぞれ図示のメモリ504,CPU501等が該当する。
図6(a)は、上記接続先情報管理DB71が保持する接続先キャッシュサーバ情報テーブルの例を示す。
この接続先キャッシュサーバ情報テーブルには、各コンテンツを識別するための情報と、そのコンテンツの取得先(即ち上記接続先)としてのキャッシュサーバを識別するための情報とが、互いに関連付けられて保持される。
図6(b)は、上記キャッシュ情報管理DB66内のキャッシュ情報テーブルの例を示す。
このキャッシュ情報テーブルには、自己が保持する各コンテンツに関する外部からのアクセス頻度が保持される。具体的には、各コンテンツを識別するための情報(コンテンツアドレス)と、これに関連付けられた、当該コンテンツに対する単位時間当たりのアクセス数が保持される。
次に、本発明の実施例の階層・分散キャッシュ方式を構成するクライアント10の機能につき、図7とともに述べる。
図7に示す如く、同クライアント10は、通信管理機能部61,メッセージ制御機能部62,接続先管理機能部69、接続先設定機能部70および接続先情報管理DB71を有する。
このうち通信管理機能61は他の装置から当該クライアント宛の通信を受信し、メッセージ制御機能部62に渡す。また、メッセージ制御機能部62からの要求を受け、他の装置に対しメッセージを送信する。
メッセージ制御機能部62は他の各機能部からの要求を契機に、それぞれの場合に必要な処理を決定し、各機能部に対し、その処理を振り分けるための機能を有する。
接続先管理機能部69は、各コンテンツに対する、当該コンテンツを取得するために接続すべき接続先の情報を保持・管理するための機能を有する。これらの情報は接続先情報管理データベース(DB)71に保持される。この接続先情報管理DB71は、上述のキャッシュサーバ20における接続先情報管理DB71と同様の構成を有する。
接続先設定機能部70は、コンテンツを取得する際、上記接続先情報管理データベース71の情報を基に、当該コンテンツを取得するために接続すべき接続先を設定するための機能を有する。
なお当該クライアント10は図7に示す以外の構成は従来の周知の一般的なコンピュータの構成と同様である。すなわちコンテンツを参照等する際、これを前記接続先として指定されたキャッシュサーバ20から取得し、必要に応じてその内容の更新等を行うための、CPUを含む制御装置を有する。この制御装置は、例えば図29とともに後述するように同クライアント10が図29に示される構成を有するコンピュータによって構成される場合、図示のCPU501等が該当する。
以下に図とともに本発明の実施例の階層・分散キャッシュ方式による、実際にコンテンツを取得する際のシーケンスの例、具体的にはコンテンツを保持するキャッシュサーバからコンテンツを取得する際の処理の流れについて説明する。
まず、下位のキャッシュサーバ、またはクライアントが上位のキャッシュサーバから前記接続先の通知を受信し、コンテンツを保持するキャッシュサーバからコンテンツを取得するシーケンスの例につき、図8とともに説明する。
下位のキャッシュサーバA又はクライアントは、要求するコンテンツZを取得するための要求を、自己が接続している上位のキャッシュサーバBに対して送信する(ステップS1)。
これを受けたキャッシュサーバBは、同じ階層のキャッシュサーバC1−Cnに対し、そのコンテンツの保持の有無、負荷情報およびコンテンツZに対するアクセス頻度の各情報を取得するための要求を送信する(ステップS1)。
これを受けたキャッシュサーバC1−Cnは、コンテンツZの保持の有無、自己の負荷情報、および(コンテンツZ保持の場合は)コンテンツZに対するアクセス頻度の各情報を応答する(ステップS2)。
ここで上記負荷情報は負荷情報取得機能部67により取得されたものであり、コンテンツZの保持の有無およびコンテンツZ保持の場合のコンテンツZに対するアクセス頻度の各情報は、自己のキャッシュ情報管理DB66に保持・管理されているものである。
これらの情報を受けたキャッシュサーバBは、その接続判定機能部68の機能によって当該コンテンツZを取得するために接続すべき接続先を判定する(ステップS3)。この例では上記接続先判定機能部68は接続先としてキャッシュサーバC1を選択し(具体的な選択方法については図18とともに後述する)、コンテンツZを取得するための要求元(すなわち下位キャッシュサーバA又はクライアント)に対し、当該接続先(C1)の情報を通知する(ステップS4)。
なお上記ステップS3では条件によっては自己が選択される場合もある。詳細については図18とともに後述する。
このようにして接続先の通知を受信した下位のキャッシュサーバA、またはクライアントは、自己の接続先管理機能部69の機能により、当該コンテンツZとその接続先C1とを相互に関連付けて接続先情報管理DB71に保持・管理する(ステップS5)。
そして当該下位のキャッシュサーバA又はクライアントは、その接続先設定機能部70の機能により、当該コンテンツZに対する前記接続先としてキャッシュサーバC1を設定し(ステップS6)、キャッシュサーバC1に対してコンテンツZを取得するための要求を送信する(ステップS7)。
これを受けた上位のキャッシュサーバC1は、自己が保持しているコンテンツZを要求元の下位のキャッシュサーバA、またはクライアントへ送信する(ステップS8)。
次に本発明の実施例の階層・分散キャッシュ方式による、コンテンツを取得する際のシーケンスの例、具体的にはコンテンツを保持しないキャッシュサーバからコンテンツを取得する際の処理の流れにつき、図9とともに説明する。
この場合、下位のキャッシュサーバ又はクライアントが上位のキャッシュサーバから接続先の通知を受信し、当該接続先としての、コンテンツを保持しないキャッシュサーバからコンテンツを取得する。
すなわち下位のキャッシュサーバA又はクライアントは要求するコンテンツZを取得するための要求を、接続している上位のキャッシュサーバBに対して送信する(ステップS21)。
これを受けたキャッシュサーバBは同じ階層のキャッシュサーバC1−Cnに対し、そのコンテンツZの保持の有無、負荷情報およびコンテンツZに対するアクセス頻度を取得するためを取得するための要求を送信する(ステップS21)。
これを受けたキャッシュサーバC1−Cnは、コンテンツZの保持の有無、負荷情報、および(コンテンツZ保持の場合は)コンテンツZに対するアクセス頻度の各情報を応答する(ステップS22)。
これを受けたキャッシュサーバBは、その接続判定機能部68の機能により、コンテンツZを取得するために接続すべき接続先を判定し(ステップS23)、コンテンツZの要求元である下位のキャッシュサーバA又はクライアントに対し、当該判定結果としての接続先(C1)を通知する(ステップS24)。
このようにして接続先の通知を受信した下位のキャッシュサーバA又はクライアントは、その接続先管理機能69により、コンテンツZとその接続先C1とを相互に関連付けて接続先情報管理DB71に保持・管理する(ステップS25)。
そして当該下位のキャッシュサーバA又はクライアントは、その接続先設定機能部70の機能により、上記接続先情報管理DB71に保持・管理された情報に基づき、コンテンツZの接続先としてキャッシュサーバC1を設定し(ステップS26)、キャッシュサーバC1に対し、コンテンツZを取得するための要求を送信する(ステップS27)。
これを受けた上位のキャッシュサーバC1は、自身ではコンテンツZを保持していないため、コンテンツサーバ50または上位のキャッシュサーバDに対し、コンテンツZを取得するための要求を送信する(ステップS28)。
このようにして上位のキャッシュサーバC1はコンテンツZを取得する(ステップS29)と、自己が保持すると同時に、下位のキャッシュサーバA又はクライアントへ当該コンテンツZを送信する。
次に本発明の実施例の階層・分散キャッシュ方式による、コンテンツを取得する際のシーケンスの例、具体的には、既に接続先の情報が保持されているコンテンツを取得する場合の処理の流れを図10とともに説明する。
この場合、下位のキャッシュサーバ又はクライアントが、既に接続先を保持しているコンテンツを取得する。
すなわち下位のキャッシュサーバA又はクライアントは、要求するコンテンツZの接続先として、その接続先設定機能70の機能により、接続先情報管理DB71に保持・管理されている情報に基づき、上位のキャッシュサーバC1を設定し(ステップS41)、このキャッシュサーバC1に対し、コンテンツZを取得するための要求を送信する(ステップS42)。
これを受けた上位のキャッシュサーバC1は、下位のキャッシュサーバA又はクライアントに対し、コンテンツZを送信する(ステップS43)。
次に、本発明の実施例の階層・分散キャッシュ方式におけるキャッシュサーバ20或いはクライアント10が有する各機能部の機能による動作の例につき、図とともに説明する。
まずキャッシュサーバ20の動作例について説明する。
ここでは最初に下位のキャッシュサーバ又はクライアントからコンテンツを取得するための要求を受信した際のキャッシュサーバの動作例を説明する。
コンテンツの取得のための要求を受信する(ステップS51)と、キャッシュサーバ20の通信管理機能部61はそのメッセージをメッセージ制御機能部62に渡す(ステップS52)。
メッセージ制御機能部62はこれを受け、隣接キャッシュサーバ管理機能部65に対し、隣接する(すなわち同階層の、以下同様)キャッシュサーバ20の情報を取得するよう指示する(ステップS53)。
隣接キャッシュサーバ管理機能部65はこれを受け、隣接するキャッシュサーバ20全てに対して情報を取得するための要求を送信するようメッセージ制御機能部62に指示する(ステップS54、S55)。
メッセージ制御機能部62は、指示された情報を取得するための要求を、通信管理機能部61に渡す(ステップS55)。
通信管理機能部61は、隣接するキャッシュサーバに対し、情報を取得するための要求を、該当する隣接するキャッシュサーバ全て対して送信する。
次に隣接するキャッシュサーバからの情報を取得するための要求を受信した際のキャッシュサーバの動作の例について説明する。
ここでは隣接するキャッシュサーバから該当するコンテンツの保持の有無、負荷情報、当該コンテンツに対するアクセス頻度の各情報を取得するための要求を受信したときのキャッシュサーバ20の動作の例を図12とともに説明する。
上記情報を取得するための要求を受信する(ステップS61)と、キャッシュサーバ20の通信管理機能部61はそのメッセージをメッセージ制御機能部62に渡す(ステップS62)。
メッセージ制御機能部62はこれを受け、キャッシュ情報管理機能部63に対し、自己が保持しているコンテンツの検索を指示する(ステップS63)。
キャッシュ情報管理機能部63はキャッシュ情報管理DB66を参照し、該当するコンテンツの保持の有無を確認し、その結果を検索結果としてメッセージ制御機能部62に対し、応答する(ステップS64,S65)。
メッセージ制御機能部62はステップS65の検索結果が「該当するコンテンツ保持」の場合、当該コンテンツに対する外部からのアクセス頻度の情報の取得を、アクセス頻度管理機能部64に指示する(ステップS66)。
アクセス頻度管理機能部64はこれを受け、キャッシュ情報管理DB66を参照し、該当するコンテンツに対するアクセス頻度の情報を得、これをメッセージ制御機能部62に対し、応答する(ステップS67,S68)。
メッセージ制御機能部62は負荷情報取得機能部67に対し、負荷情報の取得を指示する(ステップS69)。
負荷情報取得機能部67は当該キャッシュサーバ20のCPUの動作状態を監視することによりその負荷情報を取得し、これをメッセージ制御機能部62に対し、応答する(ステップS70)。
メッセージ制御機能部62はこのようにして取得した情報(すなわち、ステップS65で得た該当するコンテンツの保持の有無、ステップS68で得た当該コンテンツに対するアクセス頻度およびステップS70で得た負荷情報)を、キャッシュサーバの情報として通信管理機能部61に応答する(ステップS71)。
通信管理機能部61はこのキャッシュサーバの情報を、該当する、隣接するキャッシュサーバ20(すなわち前記情報を取得するための要求の送信元)に対し、送信する。
次に、図13とともに、隣接するキャッシュサーバから、上記情報を取得するための要求に対する応答を受信した際のキャッシュサーバの動作の例を説明する。
情報を取得するための要求に対する応答を受信すると、キャッシュサーバ20の通信管理機能部61はそのメッセージをメッセージ制御機能部62に渡す(ステップS81,S82)。
メッセージ制御機能部62は接続先判定機能部68に対し、このようにして取得した隣接するキャッシュサーバの情報を渡す(ステップS83)。
接続先判定機能部68はタイムアウト判定を行い、タイムアウト後(すなわち前記情報を取得するための要求の発行後、前記タイムアウト値の示す時間経過後に当該メッセージを受信した場合、以下同様)であれば当該メッセージを破棄し、タイムアウト内(すなわち前記情報を取得するための要求の発行後、前記タイムアウト値が示す時間以内に当該メッセージを受信した場合、以下同様)であれば、当該コンテンツを取得するために接続すべき接続先の判定用に、このようにして取得した隣接するキャッシュサーバの情報を保持する(ステップS84,S85)。
次に図14とともに、上記接続先判定後のキャッシュサーバの動作の例を説明する。
隣接するキャッシュサーバに対し情報を取得するための要求を送信した後、前記タイムアウト値が示す時間が経過すると、キャッシュサーバ20はタイムアウト値が示す時間以内に取得した、隣接するキャッシュサーバから得たキャッシュサーバの情報に基づき、当該コンテンツを取得するために接続すべき接続先の判定を行う。ここではこの接続先の判定後のキャッシュサーバ20の動作の例について説明する。
接続先判定機能部68はタイムアウト内に受信した隣接するキャッシュサーバから得たキャッシュサーバの情報に基づき、これらの隣接するキャッシュサーバの中から、当該コンテンツを取得するために接続すべき接続先を判定し、このようにして得た上記接続先を、メッセージ制御機能部62へ通知する(ステップS91,S92)。
メッセージ制御機能部62はこの接続先の通知を通信管理機能部61へ渡す(ステップS93)。
通信管理機能部61は当該コンテンツを取得するための要求を行った下位のキャッシュサーバ又はクライアントに対し、当該接続先を知らせるための通知を送信する。
次に、上位のキャッシュサーバから上記接続先の通知を受信した際のキャッシュサーバの動作の例につき、図15とともに説明する。
上記接続先の通知を受信すると、キャッシュサーバ20通信管理機能部61はそのメッセージをメッセージ制御機能部62に渡す(ステップS101,102)。
メッセージ制御機能部62は接続先管理機能部69に対し、このようにして得られた接続先を通知し、該当するコンテンツの接続先として管理するように指示する(ステップS103)。
接続先管理機能部69はこのようにして通知された接続先と該当するコンテンツを識別するための情報とを相互に関連付けて保持するように接続先情報管理DB71を更新し、更新が完了した旨を示す応答を、メッセージ制御機能部62に渡す(ステップS104,S105)。
メッセージ制御機能部62は接続先設定機能部70に対し、該当するコンテンツの接続先を設定するよう指示する(ステップS106)。
接続先設定機能部70は接続先情報管理DB71を参照し、上記の如く該当するコンテンツを識別するための情報と関連付けて保持された、該当する接続先を設定し(ステップS107)、当該接続先が設定された旨を示す応答を、メッセージ制御機能部62に渡す(ステップS108)。
メッセージ制御機能部62は該当するコンテンツを取得するための要求を、通信管理機能部61へ渡す(ステップS109)。
通信管理機能部61は、このようにして設定された接続先としてのキャッシュサーバ20に対し、前記コンテンツを取得するための要求を送信する。このときのコンテンツを取得するための要求には、当該接続先が設定されたことを示す情報(即ちフラグ等)が付与される。その結果、図11とともに上述した、隣接するキャッシュサーバに対して送信される、コンテンツを取得するための要求と区別される。
次に、既に接続先を識別するための情報を保持しているコンテンツを取得するための要求を送信する際のキャッシュサーバの動作の例を図16とともに説明する。
ここでは既に接続先を識別する情報を接続先情報管理DB71にて保持しているコンテンツを取得するための要求を送信するときのキャッシュサーバの動作の例を説明する。
この場合、クライアント又は下位のキャッシュサーバからコンテンツを取得するための要求を受信すると、キャッシュサーバ20の通信管理機能部61は、そのメッセージをメッセージ制御機能部62に渡す(ステップS111,S112)。
メッセージ制御機能部62は接続先設定機能部70に対し、該当するコンテンツの接続先を設定するよう指示する(ステップS113)。
接続先設定機能部70は接続先情報管理DB71を参照し、上記の如く当該コンテンツを識別するための情報と関連付けて保持された、該当する接続先を得、これを当該コンテンツに対する接続先として設定 (ステップS114)し、このようにして接続先が設定された旨を示す応答を、メッセージ制御機能部62に渡す(ステップS115)。
メッセージ制御機能部62は当該コンテンツを取得するための要求を、通信管理機能部61へ渡す(ステップS116)。
通信管理機能部61は、このようにして設定された接続先としてのキャッシュサーバ20に対し、前記コンテンツを取得するための要求を送信する。このときのコンテンツを取得するための要求には、当該接続先が設定されたことを示す情報(即ちフラグ等)が付与される。その結果、図11とともに上述した、隣接するキャッシュサーバに対して送信される、コンテンツを取得するための要求と区別される。
次に本発明の実施例の階層・分散キャッシュ方式を構成するクライアント10の動作の例につき、図17とともに説明する。
ここではキャッシュサーバ20からの上記接続先の通知を受信した際のクライアント10の動作につき説明する。
上記接続先の通知を受信すると、クライアント10の通信管理機能部61はそのメッセージをメッセージ制御機能部62に渡す(ステップS121,S122)。
メッセージ制御機能62は接続先管理機能部69に対し、当該接続先を通知し、該当するコンテンツの接続先を管理するように指示する(ステップS123)。
接続先管理機能62はこのように通知された接続先と、該当するコンテンツを識別するための情報とを相互に関連付けて保持するように接続先情報管理DB71を更新するとともに、更新完了の旨を示す応答を、メッセージ制御機能部62に渡す(ステップS124,S125)。
メッセージ制御機能部62は接続先設定機能部70に対し、該当するコンテンツの接続先を設定するよう指示する(ステップS126)。
そして接続先設定機能70は接続先情報管理DB71を参照し、上記の如く当該コンテンツを識別するための情報と関連付けて保持された、該当する接続先を得、これを当該コンテンツに対する接続先として設定(ステップS127)し、当該設定を完了した旨を示す応答を、メッセージ制御機能部62に渡す(ステップS128)。
これを受けたメッセージ制御機能部62は、前記コンテンツを取得するための要求を通信管理機能部61へ渡す(ステップS129)。
これを受けた通信管理機能部61は、このようにして設定された上記接続先としてのキャッシュサーバ20に対し、前記コンテンツを取得するための要求を送信する。
このときのコンテンツを取得するための要求には、当該接続先が設定されたことを示す情報(即ちフラグ等)が付与される。その結果、図11とともに上述した、隣接するキャッシュサーバに対して送信される、コンテンツを取得するための要求と区別される。
次に本発明の階層・分散キャッシュ方式を実現するためのキャッシュサーバ20の接続先判定機能部68が実行する、コンテンツを取得するために接続すべき接続先としてのキャッシュサーバ20を判定するための具体的な方法につき、図18とともに説明する。
ここでは、要求に係るコンテンツを保持しているキャッシュサーバ20の中でその負荷が、設定した閾値より低く、前記コンテンツの保持の有無の情報および負荷情報を取得する際の応答時間が短いキャッシュサーバ20を上記接続先として選択する。
まず上記情報を取得するための要求に対する応答を受信したキャッシュサーバ20の中から、該当するコンテンツを保持するキャッシュサーバが選択される(ステップS151の「有」)。
そしてこのようにして選択されたキャッシュサーバ20の中から、上記設定された閾値よりも低い負荷のキャッシュサーバが選択される(ステップS155の「有」)。
そしてこのようにして選択されたキャッシュサーバ20の中から、該当するコンテンツに対するアクセス頻度が、設定された閾値よりも低いキャッシュサーバが選択される(ステップS159の「有」)。
そして、このようにして選択されたキャッシュサーバ20の中から、上記情報を取得するための要求に対する応答時間が最も短いキャッシュサーバ20が上記接続先として選択される(ステップS160)。
その結果コンテンツを保持するキャッシュサーバ20が選択されるため、冗長なコンテンツ保持状態の発生を回避できる。
又この図18の方法によれば、一定の条件下では、要求に係るコンテンツを保持しないキャッシュサーバ20の中で、上記設定された閾値より負荷が低く、応答時間が短いキャッシュサーバを接続先として選択する。
すなわち、上記情報を取得するための要求に対する応答を受信したキャッシュサーバ20の中には該当するコンテンツを保持するキャッシュサーバ20が存在しない、または、存在している場合でも、上記設定された閾値より負荷が低く且つアクセス頻度が上記設定された閾値より低いという条件(ステップS155,S159)を満たすキャッシュサーバ20が存在しない場合、当該コンテンツを保持しないキャッシュサーバが選択される。
この場合、上記ステップS151において、上記情報を取得するための要求に対する応答を受信したキャッシュサーバ20の中には該当するコンテンツを保持しているキャッシュサーバ20が存在しない場合(「無」)、ステップS152にて、前記応答を受信したキャッシュサーバ20の中から、上記設定された閾値より負荷が低いキャッシュサーバが20選択される(「有」)。
そしてこのようにして選択されたキャッシュサーバ20の中から、上記情報を取得するための要求に対する応答時間が最も短いキャッシュサーバ20が接続先として選択される(ステップS153)。
その結果負荷の低いキャッシュサーバ20が選択されるため負荷が分散され、負荷、アクセスが特定のキャッシュサーバ20に集中する事態を回避できる。
又図18中、ステップS152にて、上記情報を取得するための要求に対する応答を受信したキャッシュサーバ20の中に負荷が上記設定された閾値より低いものが存在しない場合(「無」)、当該応答を受信したキャッシュサーバ20の中で、最も負荷の低いものが、上記接続先として選択される(ステップS154)。
その結果負荷の低いキャッシュサーバ20が選択されるため負荷が分散され、負荷、アクセスが特定のキャッシュサーバ20に集中する事態を回避できる。
又、ステップS155において、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ20中の、更に該当するコンテンツを有するキャッシュサーバ20の中に、上記設定された閾値より負荷が低いものが存在しない場合(「無」)、ステップS156にて、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ20中の、該当するコンテンツを有さないキャッシュサーバ20の中から、上記設定された閾値より負荷が低いものを選択し(「有」)、選択された当該設定された閾値より負荷が低いものの中から、上記情報を取得するための要求に対する応答時間が最も短いキャッシュサーバ20が接続先として選択される(ステップS157)。
他方、ステップS156にて、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ20の中の、該当するコンテンツを有さないキャッシュサーバ20の中には、上記設定された閾値より負荷が低いものが存在しない場合(「無」)、ステップS158にて、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ20中の、該当するコンテンツを有さないキャッシュサーバ20の中から、最も負荷が低いものが上記接続先として選択される、
その結果負荷の低いキャッシュサーバ20が選択されるため負荷が分散され、負荷、アクセスが特定のキャッシュサーバ20に集中する事態を回避できる。
又ステップS159にて、ステップS155で選択されたキャッシュサーバ20の中に、該当するコンテンツに対するアクセス頻度が設定された閾値よりも低いキャッシュサーバが存在しない場合(ステップS159の「無」)、ステップS161にて、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ20の中の、該当するコンテンツを有さないキャッシュサーバ20の中から、前記設定された閾値より負荷が低いもの(「有」)が選択される。そしてこのようにして選択されたキャッシュサーバ20の中から、上記情報を取得するための要求に対する応答時間が最も短いキャッシュサーバ20が接続先として選択される(ステップS162)。
他方、ステップS161にて、前記情報を取得するための要求に対する応答を受信したキャッシュサーバ20の中の、該当するコンテンツを有さないキャッシュサーバ20の中に、前記設定された閾値より負荷が低いものが無い場合(「無」)、前記該当するコンテンツを有さないキャッシュサーバ20の中から負荷が最も低いものが前記接続先として選択される(ステップS163)。
その結果負荷の低いキャッシュサーバ20が選択されるため負荷が分散され、負荷、アクセスが特定のキャッシュサーバ20に集中する事態を回避できる。
次に図19〜28とともに、本発明の実施例の階層・分散キャッシュ方式による、実際のキャッシュ動作の具体例につき、従来技術との対比において説明する。
図19〜28中、(a)は従来技術による場合を示し、(b)は本発明の実施例による場合を示す。
前提として、それぞれのコンテンツX,Y,Zは同サイズとし、同階層の各キャッシュサーバC1,C2のキャッシュメモリの記憶容量はそれぞれコンテンツ2個分とし、クライアントA1がコンテンツX,Yを要求し、クライアントA2がコンテンツX,Zを要求し、クライアントA3がコンテンツX,Yを要求し、クライアントA4がコンテンツX,Zを要求するものとする。
又図中、実線はコンテンツの送受信の信号の流れを示し、破線は上記情報を取得するための要求および同要求に対する応答の信号の流れを示す。
図19に示す状態では、キャッシュサーバC1,C2とも、コンテンツは全く保持していない状態とする。
次に図20の状態では、クライアントA1がキャッシュサーバC1に対しコンテンツXを要求したとする。この場合、同図(b)の本発明の実施例の場合、当該キャッシュサーバC1の上記接続先判定機能部68による図18の方法による判定の結果、キャッシュサーバC1が上記接続先として選択される。これは同階層のキャッシュサーバC1,C2ともコンテンツXを持たず(ステップS151の無)、負荷率は双方とも閾値より低いと仮定すると(ステップS152の有)、キャッシュサーバC1自身は前記情報を取得するための要求に対する応答時間がゼロであるため、キャッシュサーバC1が選択される(ステップS153)。又図20(a)の従来技術の場合は、上記クライアントA1から要求を受けたキャッシュサーバC1自身が無条件に当該要求に係るコンテンツXを提供する。したがって図20の場合、従来技術の場合および本発明の実施例の場合の双方とも、キャッシュサーバC1がコンテンツサーバSから該当するコンテンツXを取得して自己が保持し、要求元のクライアントA1がキャッシュサーバC1から当該保持に係るコンテンツXを取得する。
次に図21の状態では、クライアントA2がキャッシュサーバC1にコンテンツZを要求したとする。この場合、同図(a)の従来技術の場合には上記の如く無条件に要求を受けたキャッシュサーバC1がコンテンツZを提供するため、コンテンツZをコンテンツサーバSから取得して自己が保持し、クライアントA2がキャッシュサーバC1から、当該保持に係るコンテンツZを取得する。
他方図21(b)の本発明の実施例の場合、図18の判定方法による判定の結果、キャッシュサーバC1,C2ともコンテンツZを有さず(ステップS151の無)、コンテンツの保持が全く無いキャッシュサーバC2の負荷率は閾値より低く、コンテンツXを保持しているキャッシュサーバC1の負荷率が閾値を超えていると仮定すると、負荷率が閾値より低いキャッシュサーバC2が接続先として選択される(ステップS152,S153)。キャッシュサーバC2がコンテンツZの接続先として選択されたことにより、キャッシュサーバC2がコンテンツZをコンテンツサーバSから取得して自己が保持し、クライアントA2はキャッシュサーバC2から、当該保持に係るコンテンツZを取得する。その結果、図21(a)の従来技術の場合にはキャッシュサーバC1がコンテンツX,Zを保持しており、同図(b)の本発明の実施例の場合には、キャッシュサーバC1はコンテンツXを保持しており、キャッシュサーバC2がコンテンツZを保持している状態となる。
次に、このような状態において、図22の状態では、クライアントA3がキャッシュサーバC2に対し、コンテンツXを要求したとする。この場合、同図(a)の従来技術の場合には上記の如く無条件に要求を受けたキャッシュサーバC2がコンテンツXを提供するため、コンテンツXを同階層のキャッシュサーバC1から取得して自己が保持し、クライアントA3はキャッシュサーバC2から、当該保持に係るコンテンツXを取得する。その結果、キャッシュサーバC1はコンテンツX,Zを保持しており、キャッシュサーバC2はコンテンツXを保持した状態となる。
他方図22(b)の本発明の実施例の場合、図18の判定方法による判定の結果、コンテンツXをキャッシュサーバC1が保持しているため(ステップS151の有)、ステップS155,S159の条件が満たされていたと仮定すると、キャッシュサーバC1が接続先として選択され、クライアントA3はコンテンツXをキャッシュサーバC1から取得する。その結果、キャッシュサーバC1がコンテンツXを保持し、キャッシュサーバC2がコンテンツZを保持している状態が維持される。
次に図23の状態では、更にクライアントA4がコンテンツZをキャッシュサーバC2に対し要求したとする。この場合、同図(a)の従来技術の場合には上記の如く無条件に要求を受けたキャッシュサーバC2がコンテンツZを提供するため、同階層のキャッシュサーバC1からこれを取得して自己が保持し、クライアントA3はキャッシュサーバC2から、当該保持に係るコンテンツZを取得する。その結果、キャッシュサーバC1,C2ともコンテンツX,Zを保持している状態となる。
他方図23(b)の本発明の実施例の場合、図18の判定方法による判定の結果、コンテンツZをキャッシュサーバC2が保持しているため(ステップS151の有)、ステップS155,S159の条件が満たされていたと仮定すると、キャッシュサーバC2が接続先として選択され、クライアントA3はキャッシュサーバC2からコンテンツZを取得する。その結果、キャッシュサーバC1がコンテンツXを保持し、キャッシュサーバC2がコンテンツZを保持している状態が更に維持される。
図24の場合、更にクライアントA1がコンテンツYをキャッシュサーバC1に要求したとする。この場合、同図(a)の従来技術の場合、上記の如く無条件に要求を受けたキャッシュサーバC1がコンテンツYを提供するため、コンテンツサーバSからこれを取得して自己が保持し、クライアントA1はキャッシュサーバC1から、当該保持に係るコンテンツYを取得する。その結果、キャッシュサーバC1はコンテンツY,Zを保持し、キャッシュサーバC2はコンテンツX,Zを保持している状態となる。これはキャッシュサーバC1において、上記の如く記憶容量がコンテンツ2個分であるため、古いコンテンツXの方が廃棄され、代わりに今回要求のあったコンテンツYが保持されたからである。
他方図24(b)の本発明の実施例の場合、図18の判定方法による判定の結果、コンテンツYを保持しているものが同階層になく(ステップS151の無)、キャッシュサーバC1,C2とも負荷率が閾値より低いと仮定すると(ステップS152の有)、キャッシュサーバC1自身は前記情報を取得するための要求に対する応答時間はゼロであるためキャッシュサーバC1が接続先として選択され(ステップS153)、キャッシュサーバC1がコンテンツサーバSからコンテンツYを取得して自己が保持し、クライアントA1はキャッシュサーバC1から、当該保持に係るコンテンツYを取得する。その結果、キャッシュサーバC1はコンテンツX,Yを保持し、キャッシュサーバC2はコンテンツZを保持している状態となる。
図25の場合、更にクライアントA2がコンテンツXをキャッシュサーバC1に要求したとする。この場合、同図(a)の従来技術の場合、上記の如く無条件に要求を受けたキャッシュサーバC1がコンテンツXを提供するため、同階層のキャッシュサーバC2からこれを取得して自己が保持し、クライアントA2はキャッシュサーバC1から、当該保持に係るコンテンツXを取得する。その結果、キャッシュサーバC1はコンテンツX、Yを保持し、キャッシュサーバC2はコンテンツX,Zを保持している状態となる。これはキャッシュサーバC1において、上記の如く記憶容量がコンテンツ2個分であるため、古いコンテンツZが廃棄され、代わりに今回要求のあったコンテンツXが保持されたからである。
図25(b)の本発明の実施例の場合、キャッシュサーバC1自身がコンテンツXを保持しており(図18中、ステップS151の有)、ステップS155の条件は満たされていたが(有)、ステップS159の判定においてキャッシュサーバC1のコンテンツXに対するアクセス頻度が高く閾値を超えていたと仮定する(無)と、キャッシュサーバC2の方が接続先として選択される(ステップS161,S162又はS163)。その結果キャッシュサーバC2はコンテンツサーバSからコンテンツXを取得して自己が保持し、クライアントA1はキャッシュサーバC2から、当該保持に係るコンテンツXを取得する。その結果、キャッシュサーバC1はコンテンツX,Yを保持し、キャッシュサーバC2はコンテンツX,Zを保持している状態となる。
図26の場合、更にクライアントA3がコンテンツYをキャッシュサーバC2に対し要求し、同図(a)の従来技術の場合、上記の如く無条件に要求を受けたキャッシュサーバC2がコンテンツYを提供するため、同階層のキャッシュサーバC1からこれを取得して自己が保持し、クライアントA3はキャッシュサーバC2から、当該保持に係るコンテンツYを取得する。その結果、キャッシュサーバC1はコンテンツX、Yを保持しており、キャッシュサーバC2はコンテンツY,Zを保持している状態となる。これはキャッシュサーバC2において、上記の如く記憶容量がコンテンツ2個分であるため、古いコンテンツXが廃棄され、代わりに今回要求のあったコンテンツYが保持されたからである。
図26(b)の本発明の実施例の場合、同階層のキャッシュサーバC1の方がコンテンツYを保持しており(図18中、ステップS151の有)、当該キャッシュサーバC1についてステップS155、S159の条件がそれぞれ満たされていたと仮定すると(有)、キャッシュサーバC1が接続先として選択される(ステップS160)。その結果クライアントA3はキャッシュサーバC1からコンテンツYを取得する。その結果、キャッシュサーバC1はコンテンツX,Yを保持し、キャッシュサーバC2はコンテンツX,Zを保持している状態が維持される。
図27の場合、更にクライアントA4がコンテンツXをキャッシュサーバC2に対し要求し、同図(a)の従来技術の場合、上記の如く無条件に要求を受けたキャッシュサーバC2がコンテンツXを提供するため、同階層のキャッシュサーバC1からこれを取得して自己が保持し、クライアントA4はキャッシュサーバC2から、当該保持に係るコンテンツXを取得する。その結果、キャッシュサーバC1はコンテンツX、Yを保持しており、キャッシュサーバC2もコンテンツX,Yを保持している状態となる。これはキャッシュサーバC2において、上記の如く記憶容量がコンテンツ2個分であるため、古いコンテンツZが廃棄され、代わりに今回要求のあったコンテンツXが保持されたからである。
図27(b)の本発明の実施例の場合、キャッシュサーバC2自身が既にコンテンツXを保持しており、(図18中、ステップS151の有)、当該キャッシュサーバC1についてステップS155、S159の条件がそれぞれ満たされていたとすると(有)、キャッシュサーバC1が接続先として選択される(ステップS160)。その結果クライアントA4はキャッシュサーバC2からコンテンツXを取得する。その結果、キャッシュサーバC1はコンテンツX,Yを保持し、キャッシュサーバC2はコンテンツX,Zを保持している状態が更に維持される。
このように、図28(a)に示される如く、従来技術の場合、キャッシュサーバC1、C2が保持しているコンテンツの内容が頻繁に変更される。これは従来技術の場合コンテンツを要求されたキャッシュサーバ自身が無条件に当該コンテンツを提供するため、自身が当該コンテンツを保持していない場合、これを他のキャッシュサーバ或いはコンテンツサーバから取得して自己が保持した上で、これを要求元に提供するためである。その結果、キャッシュサーバC1,C2間、キャッシュサーバC1とコンテンツサーバSとの間、およびキャッシュサーバC2とコンテンツサーバSとの間で頻繁にコンテンツの転送が行われることになり、キャッシュサーバC1,C2およびコンテンツサーバSの負荷が増加する。
他方、図28(b)に示される如く、本発明の実施例の場合、一定の条件下では、コンテンツX,YについてはキャッシュサーバC1が保持し続け、コンテンツX,ZについてはキャッシュサーバC2が保持し続け、クライアントA1〜A4は要求に係るコンテンツを保持をしているキャッシュサーバからコンテンツを取得するように構成することが可能である。これは本発明の実施例では要求を受けたキャッシュサーバ自身が必ずしも該当するコンテンツを直接要求元に提供するのではなく、まず同階層のキャッシュサーバとの間でいずれのキャッシュサーバが当該コンテンツを提供すべきかを判定し、その判定により選択されたキャッシュサーバが当該コンテンツを直接要求元に提供する。したがって該当するコンテンツを保持しているキャッシュサーバの負荷が閾値未満(図18中、ステップS155の有)であり、且つ要求に係るコンテンツに対するアクセス頻度が閾値未満(同、ステップS159の有)であれば、当該キャッシュサーバが接続先として選択され(同、ステップS160)、コンテンツの要求元は当該キャッシュサーバから該当するコンテンツを取得する。したがってその場合、直接要求を受けたキャッシュサーバ自身が該当するコンテンツを保持していない場合でも、当該キャッシュサーバ自身が新たに該当するコンテンツを保持して要求元に提供する必要がなくなる。その結果コンテンツサーバSおよびキャッシュサーバC1、C2間のコンテンツの転送量を効果的に低減可能であり、もってそれらの負荷を効果的に低減可能である。
又本発明の実施例によれば、上記コンテンツX,Y,Zのうち、コンテンツXに対するアクセス頻度が比較的高く、コンテンツY,Zに対するアクセス頻度が比較的低いような場合、図28(b)に示す如く、アクセス頻度の高いコンテンツXについてはキャッシュサーバC1,C2の双方で重複して保持し、アクセス頻度の低いコンテンツY,ZについてはキャッシュサーバC1,C2それぞれに分散して保持させるように構成することが出来る。すなわち図18のステップS155では、要求されたコンテンツを保持しているキャッシュサーバの負荷率が閾値以上の場合(無)、当該キャッシュサーバは接続先として選択されない。同様にステップS159では、要求されたコンテンツを保持しているキャッシュサーバの当該コンテンツに対するアクセス頻度が閾値以上の場合(無)、当該キャッシュサーバは接続先として選択されない。したがって該当するコンテンツを保持しているキャッシュサーバにおいて、当該コンテンツに対するアクセス頻度が高い場合、負荷率もこれに応じて増加するためステップS155の条件を満たさなくなるか、或いはステップS159の条件を満たさなくなる可能性が高く、その場合、当該キャッシュサーバは接続先として選択されず、他の同階層のキャッシュサーバが代わりに接続先として選択される(ステップS156〜S158或いはS161〜S163)。その場合、当該接続先として選択されたキャッシュサーバも当該コンテンツを重複して保持することになる。したがってアクセス頻度が高いコンテンツは重複して複数のキャッシュサーバに保持されるようになる。このようにアクセス頻度の高いコンテンツが複数のキャッシュサーバにより重複して保持されることにより当該コンテンツに対するアクセスはこれら複数のキャッシュサーバに分散されることになり、もって単一のキャッシュサーバのみが当該コンテンツを保持することにより当該キャッシュサーバの負荷率が著しく増加するような事態を防止することが可能となる。
図29は上述の本発明の実施例におけるキャッシュサーバ20或いはクライアント10をコンピュータで実現する場合について説明するための、コンピュータの構成例を示すブロック図である。
図29に示すごとく、同コンピュータ500は、与えられたプログラムを構成する命令を実行することによって様々な動作を実行するためのCPU501と、キーボード、マウス等よりなりユーザが操作内容又はデータを入力するための操作部502と、ユーザにCPU501による処理経過、処理結果等を表示するCRT、液晶表示器等よりなる表示部503と、ROM、RAM等よりなりCPU504が実行するプログラム、データ等を記憶したり作業領域として使用されるメモリ504と,プログラム、データ等を格納するハードディスク装置505と、CD−ROM507を媒介として外部からプログラムをロードしたりデータをロードするためのCD−ROMドライブ506と、インターネット、LAN等の通信網509を介して外部サーバからプログラムをダウンロード等するためのモデム508とを有する。
同コンピュータ500はCD−ROM507を媒介として、あるいは通信ネットワーク509を媒介として、図5〜図28とともに上述のキャッシュサーバ20あるいはクライアント10が実行する処理をCPU501に実行させるための命令よりなるプログラムをロードあるいはダウンロードする。そしてこれをハードディスク装置505にインストールし、適宜メモリ504にロードしてCPU501が実行する。その結果、同コンピュータ500によりキャッシュサーバ20或いはクライアント10が実現される。
なお、図5中、隣接キャッシュサーバ管理機能部65、メッセージ制御機能部62および通信管理機能部61が同階層情報取得手段に対応し、接続先判定機能部68がコンテンツ取得先装置決定手段に対応し、メッセージ制御機能部62および通信管理機能部61が接続先情報提供手段に対応する。
又、図7中、通信管理機能部61,メッセージ制御機能部62、接続先管理機能部69、接続先設定機能部70および接続先情報管理DB71がコンテンツ要求手段に対応する。
本発明は以下の付記に記載の構成をとり得る。
(付記1)
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持するか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、
同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、
前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段とを有する情報処理装置。
(付記2)
コンテンツ取得装置決定手段は、同階層情報取得手段により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および応答時間に基づいて前記コンテンツ取得先装置を決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなる付記1に記載の情報処理装置。
(付記3)
コンテンツ取得装置決定手段は、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、自己および同階層の他の情報処理装置の全ての中で負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、自己および同階層の他の情報処理装置の全ての中に負荷率が所定の閾値より低いものがなければ、自己および同階層の他の情報処理装置の全てのものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持していた場合、当該コンテンツを保持しているものの中に負荷率が所定の閾値より低いものがあれば該当するものをコンテンツ取得先装置の候補として残し、当該コンテンツの保持を保持しているものの中に負荷率が所定の閾値より低いものがない場合、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中にも負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものが無い場合、前記当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定する構成とされてなる付記2に記載の情報処理装置。
(付記4)
前記接続先情報に基づいてなされた、該当するコンテンツの要求を受けた、該当するコンテンツ取得先装置としての情報処理装置は、自己が該当するコンテンツを保持している場合にはこれを要求元に提供するが、保持していない場合には他の情報処理装置から該当するコンテンツを取得し、自己が保持するとともに前記要求元に提供する構成とされてなる付記1に記載の情報処理装置。
(付記5)
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段とよりなる第1の情報処理装置に対しコンテンツを要求する、前記要求元としての第2の情報処理装置であって、
前記第1の情報処理装置の接続先情報提供手段から前記接続先情報の提供を受け、当該接続先情報が示すコンテンツ取得先装置としての第1の情報処理装置に対し該当するコンテンツを要求するコンテンツ要求手段を有する情報処理装置。
(付記6)
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得段階と、
同階層情報取得段階で取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定段階と、
前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供段階とを有する、情報処理装置の制御方法。
(付記7)
コンテンツ取得装置決定段階では、同階層情報取得段階により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および応答時間に基づいて前記コンテンツ取得先装置を決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および前記応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなる付記6に記載の情報処理装置の制御方法。
(付記8)
コンテンツ取得装置決定段階では、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、自己および同階層の他の情報処理装置の全ての中で負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、自己および同階層の他の情報処理装置の全ての中に負荷率が所定の閾値より低いものがなければ、自己および同階層の他の情報処理装置の全てのものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持していた場合、当該コンテンツを保持しているものの中に負荷率が所定の閾値より低いものがあれば該当するものをコンテンツ取得先装置の候補として残し、当該コンテンツの保持を保持しているものの中に負荷率が所定の閾値より低いものがない場合、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中にも負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものが無い場合、前記当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定する構成とされてなる付記7に記載の情報処理装置の制御方法。
(付記9)
前記接続先情報に基づいた該当するコンテンツの要求を受けた、該当するコンテンツ取得先装置としての情報処理装置は、自己が該当するコンテンツを保持している場合にはこれを要求元に提供するが、保持していない場合には他の情報処理装置から該当するコンテンツを取得し、自己が保持するとともに前記要求元に提供する構成とされてなる付記6に記載の情報処理装置の制御方法。
(付記10)
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段とよりなる第1の情報処理装置に対しコンテンツを要求する、前記要求元としての第2の情報処理装置の制御方法であって、
前記第1の情報処理装置の接続先情報提供手段から前記接続先情報の提供を受け、当該接続先情報が示すコンテンツ取得先装置としての第1の情報処理装置に対し該当するコンテンツを要求するコンテンツ要求段階とを有する情報処理装置の制御方法。
(付記11)
情報処理装置の動作を制御するためにコンピュータを、
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、
同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、
前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段として機能させるためのプログラム。
(付記12)
コンテンツ取得装置決定手段は、同階層情報取得手段により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および前記応答時間に基づいて前記コンテンツ取得先装置を決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および前記応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなる付記11に記載のプログラム。
(付記13)
コンテンツ取得装置決定手段は、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、自己および同階層の他の情報処理装置の全ての中で負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、自己および同階層の他の情報処理装置の全ての中に負荷率が所定の閾値より低いものがなければ、自己および同階層の他の情報処理装置の全てのものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持していた場合、当該コンテンツを保持しているものの中に負荷率が所定の閾値より低いものがあれば該当するものをコンテンツ取得先装置の候補として残し、当該コンテンツの保持を保持しているものの中に負荷率が所定の閾値より低いものがない場合、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中にも負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものが無い場合、前記当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中にも負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定する構成とされてなる付記12に記載のプログラム。
(付記14)
前記接続先情報に基づいた該当するコンテンツの要求を受けた、該当するコンテンツ取得先装置としての情報処理装置は、自己が該当するコンテンツを保持している場合にはこれを要求元に提供するが、保持していない場合には他の情報処理装置から該当するコンテンツを取得し、自己が保持するとともに前記要求元に提供する構成とされてなる付記11に記載のプログラム。
(付記15)
コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段とよりなる第1の情報処理装置に対しコンテンツを要求する、前記要求元としての第2の情報処理装置の動作を制御するためにコンピュータを、
前記第1の情報処理装置の接続先情報提供手段から前記接続先情報の提供を受け、当該接続先情報が示すコンテンツ取得先装置としての第1の情報処理装置に対し該当するコンテンツを要求するコンテンツ要求手段として機能させるためのプログラム。
本発明を適用し得る、階層・分散キャッシュ技術を実現するキャッシュサーバのネットワーク構成例を示す図である。 従来の階層・分散キャッシュ技術における各キャッシュサーバのキャッシュ機能を説明するための図(その1)である。 従来の階層・分散キャッシュ技術における各キャッシュサーバのキャッシュ機能を説明するための図(その2)である。 従来の階層・分散キャッシュ技術における各キャッシュサーバのキャッシュ機能を説明するための図(その3)である。 本発明の一実施例によるキャッシュサーバの機能ブロック図である。 図5に示されている接続先情報管理DBが保持する情報の例を示す図(a)および図5に示されているキャッシュ情報管理DBが保持する情報の例を示す図(b)である。 本発明の一実施例によるクライアントの機能ブロック図である。 本発明の一実施例によるコンテンツ取得シーケンス例(コンテンツを保持するキャッシュサーバからコンテンツを取得する場合)を示す図である。 本発明の一実施例によるコンテンツ取得シーケンス例(コンテンツを保持していないキャッシュサーバからコンテンツを取得する場合)を示す図である。 本発明の一実施例によるコンテンツ取得シーケンス例(接続先が保持されたコンテンツを取得する場合)を示す図である。 本発明の一実施例による下位のキャッシュサーバ又はクライアントからのコンテンツ取得要求受信時のキャッシュサーバの動作例を示す図である。 本発明の一実施例による隣接キャッシュサーバからの情報取得要求受信時のキャッシュサーバの動作例を示す図である。 本発明の一実施例による隣接キャッシュサーバからの情報取得要求に対する応答受信時のキャッシュサーバの動作例を示す図である。 本発明の一実施例による接続先判定後のキャッシュサーバの動作例を示す図である。 本発明の一実施例による上位のキャッシュサーバからの接続先通知受信時のキャッシュサーバの動作例を示す図である。 本発明の一実施例による接続先情報を保持しているコンテンツに対する取得要求時のキャッシュサーバの動作例を示す図である。 本発明の一実施例によるキャッシュサーバからの接続先通知受信時のクライアントの動作例を示す図である。 本発明の一実施例による接続先判定機能における判定方法を説明するためのフローチャートである。 本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図(その1)である。 本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図(その2)である。 本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図(その3)である。 本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図(その4)である。 本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図(その5)である。 本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図(その6)である。 本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図(その7)である。 本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図(その8)である。 本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図(その9)である。 本発明の一実施例によるキャッシュサーバの動作例を従来技術のキャッシュサーバの動作例と対比して示す図(その10)である。 本発明の一実施例によるキャッシュサーバ或いはクライアントをコンピュータで構成する場合について説明するための、コンピュータの機能ブロック図である。
符号の説明
10、10−1〜10−12、A1〜A4 クライアント
20,20−1〜20−6、C1,C2 キャッシュサーバ
50、S コンテンツサーバ
61 通信管理機能部
62 メッセージ制御機能部
63 キャッシュ管理機能部
64 アクセス頻度管理機能部
65 隣接キャッシュサーバ管理機能部
66 キャッシュ情報管理DB
67 負荷情報取得機能部
68 接続先判定機能部
69 接続先管理機能部
70 接続先設定機能部
71 接続先情報管理DB

Claims (4)

  1. コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持するか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、
    同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、
    前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段とを有し、
    前記コンテンツ取得先装置決定手段は、同階層情報取得手段により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および応答時間に基づいて前記コンテンツ取得先装置を決定し、
    自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなる情報処理装置。
  2. 前記コンテンツ取得装置決定手段は、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、自己および同階層の他の情報処理装置の全ての中で負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、自己および同階層の他の情報処理装置の全ての中に負荷率が所定の閾値より低いものがなければ、自己および同階層の他の情報処理装置の全てのものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
    自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持していた場合、当該コンテンツを保持しているものの中に負荷率が所定の閾値より低いものがあれば該当するものをコンテンツ取得先装置の候補として残し、当該コンテンツの保持を保持しているものの中に負荷率が所定の閾値より低いものがない場合、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中にも負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定し、
    前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、前記コンテンツ取得先装置の候補として残されたものの中に該当するコンテンツに対する外部からのアクセス頻度が所定値未満のものが無い場合、前記当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがあればその中で最も応答時間が短いものをコンテンツ取得先装置に決定し、当該コンテンツを保持していないものの中に負荷率が所定の閾値より低いものがなければ、当該コンテンツを保持していないものの中で最も負荷率が低いものをコンテンツ取得先装置に決定する構成とされてなる請求項に記載の情報処理装置。
  3. コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得段階と、
    同階層情報取得段階で取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定段階と、
    前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供段階とを有し、
    前記コンテンツ取得先装置決定段階では、同階層情報取得段階により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および応答時間に基づいて前記コンテンツ取得先装置を決定し、
    自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および前記応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなる情報処理装置の制御方法
  4. 情報処理装置の動作を制御するためにコンピュータを、
    コンテンツの要求を受けると、自己および同階層の他の情報処理装置から当該コンテンツを保持しているか否かのコンテンツ保持情報および当該他の情報処理装置の負荷状況を示す負荷情報並びに当該他の情報処理装置が該当するコンテンツを保持している場合、当該他の情報処理装置における当該コンテンツに対する外部からのアクセス頻度を示すアクセス頻度情報を取得する同階層情報取得手段と、
    同階層情報取得手段により取得された情報および当該取得に要した応答時間に基づき、自己および同階層の他の情報処理装置のうちから、当該要求に係るコンテンツの要求元が当該コンテンツを取得すべきコンテンツ取得先装置を決定するコンテンツ取得先装置決定手段と、
    前記要求元が当該コンテンツの取得を目的として前記コンテンツ取得先装置に接続するために必要な接続先情報を前記要求元に提供する接続先情報提供手段として機能させ
    前記コンテンツ取得先装置決定手段は、同階層情報取得手段により取得されたコンテンツ保持情報、負荷情報およびアクセス頻度情報に基づき、自己および同階層の他の情報処理装置のいずれもが前記要求に係るコンテンツを保持していない場合、各情報処理装置の負荷状況および前記応答時間に基づいて前記コンテンツ取得先装置を決定し、
    自己および同階層の他の情報処理装置のいずれかが前記要求に係るコンテンツを保持している場合、当該保持に係る各情報処理装置の負荷状況、前記アクセス頻度および前記応答時間に基づいて前記コンテンツ取得先装置を決定する構成とされてなるプログラム
JP2007301659A 2007-11-21 2007-11-21 情報処理装置、情報処理装置の制御方法およびプログラム Expired - Fee Related JP5109618B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007301659A JP5109618B2 (ja) 2007-11-21 2007-11-21 情報処理装置、情報処理装置の制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007301659A JP5109618B2 (ja) 2007-11-21 2007-11-21 情報処理装置、情報処理装置の制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009129076A JP2009129076A (ja) 2009-06-11
JP5109618B2 true JP5109618B2 (ja) 2012-12-26

Family

ID=40819952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007301659A Expired - Fee Related JP5109618B2 (ja) 2007-11-21 2007-11-21 情報処理装置、情報処理装置の制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5109618B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5272991B2 (ja) * 2009-09-24 2013-08-28 ブラザー工業株式会社 情報通信システム、情報通信方法及びプログラム
JP5293533B2 (ja) * 2009-09-24 2013-09-18 ブラザー工業株式会社 情報通信システム及び情報通信方法
JP5326968B2 (ja) * 2009-09-28 2013-10-30 ブラザー工業株式会社 情報通信システム、サポート装置、サポート装置のプログラム、及びコンテンツ取得方法
JP2012078901A (ja) * 2010-09-30 2012-04-19 Brother Ind Ltd サーバ装置、ページ送信プログラム、及びページ送信方法
JP2015170125A (ja) * 2014-03-06 2015-09-28 富士通株式会社 コンテンツ取得プログラム、装置、及び方法
JP6520725B2 (ja) * 2016-01-05 2019-05-29 日本電気株式会社 情報提供装置、情報提供方法、およびコンピュータ・プログラム、情報提供システム
JP6724534B2 (ja) 2016-05-09 2020-07-15 富士通株式会社 情報処理装置、重複除去プログラム、及び重複除去方法
JP7255849B2 (ja) * 2019-02-27 2023-04-11 Necソリューションイノベータ株式会社 情報処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290787A (ja) * 2000-04-10 2001-10-19 Ntt Communications Kk データ配信方法及びデータ配信プログラムを格納した記憶媒体
JP2002259197A (ja) * 2001-02-27 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> アクティブコンテンツキャッシュ制御システムと、アクティブコンテンツキャッシュ制御装置及び方法と、アクティブコンテンツキャッシュ制御処理用プログラム及びそのプログラムの記録媒体
JP2002268979A (ja) * 2001-03-07 2002-09-20 Nippon Telegr & Teleph Corp <Ntt> ダウンロード方法及び装置、ダウンロード用プログラム並びにそのプログラムを記録した記録媒体
JP2005018293A (ja) * 2003-06-24 2005-01-20 Kanazawa Inst Of Technology コンテンツ配信制御装置、コンテンツ配信制御方法およびコンテンツ配信制御プログラム
JP2007257357A (ja) * 2006-03-23 2007-10-04 Fujitsu Ltd サーバおよび接続先サーバ切替制御方法

Also Published As

Publication number Publication date
JP2009129076A (ja) 2009-06-11

Similar Documents

Publication Publication Date Title
JP5109618B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
US20200257595A1 (en) Systems and methods for restoring data from network attached storage
JP6607783B2 (ja) 分散キャッシュクラスタ管理
JP5902716B2 (ja) 大規模記憶システム
JP5831264B2 (ja) 情報処理システム、情報処理装置およびプログラム
US8463788B2 (en) Balancing caching load in a peer-to-peer based network file system
US8375235B2 (en) Storage system
EP3281110A1 (en) Workload aware storage platform
JP2008040645A (ja) Nasマイグレーションによる負荷分散方法、並びに、その方法を用いた計算機システム及びnasサーバ
US9529772B1 (en) Distributed caching cluster configuration
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
JP2014026529A (ja) ストレージシステムおよびその制御方法
JP2008191915A (ja) ファイル格納方法及び計算機システム
WO2012164735A1 (ja) 情報処理装置、データ管理方法およびデータ管理プログラム
US11281683B1 (en) Distributed computation system for servicing queries using revisions maps
US20230418671A1 (en) Cloud cluster storage resource autoscaler
US9146734B1 (en) Handling managed object data
JP2005004720A (ja) ストレージ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120821

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120911

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120924

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5109618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees