JP4291284B2 - キャッシュシステム及びキャッシュサーバ - Google Patents

キャッシュシステム及びキャッシュサーバ Download PDF

Info

Publication number
JP4291284B2
JP4291284B2 JP2005058781A JP2005058781A JP4291284B2 JP 4291284 B2 JP4291284 B2 JP 4291284B2 JP 2005058781 A JP2005058781 A JP 2005058781A JP 2005058781 A JP2005058781 A JP 2005058781A JP 4291284 B2 JP4291284 B2 JP 4291284B2
Authority
JP
Japan
Prior art keywords
content
cache
server
cache server
distributed
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
JP2005058781A
Other languages
English (en)
Other versions
JP2006244121A (ja
JP2006244121A5 (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.)
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 JP2005058781A priority Critical patent/JP4291284B2/ja
Publication of JP2006244121A publication Critical patent/JP2006244121A/ja
Publication of JP2006244121A5 publication Critical patent/JP2006244121A5/ja
Application granted granted Critical
Publication of JP4291284B2 publication Critical patent/JP4291284B2/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

本発明は、ネットワーク上で分散したキャッシュサーバが連携する分散キャッシュシステムに関し、特に、キャッシュサーバの記憶領域の利用効率を向上する技術に関する。
多数のクライアントが接続するネットワークでは、キャッシュサーバが設けられている。キャッシュサーバは、クライアントからコンテンツを要求されると、外部ネットワークからコンテンツを取得する。そして、キャッシュサーバは、取得したコンテンツをクライアントに送信すると共に、当該コンテンツを記憶する。そして、キャッシュサーバは、クライアントから同一のコンテンツを再度要求されると、記憶したコンテンツをクライアントに送信する。キャッシュサーバを設けることによって、コンテンツを外部ネットワークから取得する回数を低減できる。
大規模なネットワークでは、多数のクライアントが存在する。よって、単一のキャッシュサーバでは、多数のクライアントからのコンテンツ要求に対応できない。そこで、複数のキャッシュサーバをネットワーク上に分散して配置する分散キャッシュシステムが提案されている。分散キャッシュシステムでは、それぞれのキャッシュサーバがクライアントへコンテンツを送信する。
この分散キャッシュシステムを実現するためには、キャッシュサーバを連携させる必要がある。キャッシュサーバの連携は、IFTF(Internet Engineering Task Force)から発行されているRFC2186に規定されてる(非特許文献1参照。)。RFC2186に記載されているキャッシュサーバは、コンテンツを取得すると、当該コンテンツをすべて記憶する。つまり、キャッシュサーバは、同一の分散キャッシュシステムに属する他のキャッシュサーバからコンテンツを取得した場合でも、当該コンテンツを記憶する。
これによると、同一のコンテンツを取得した複数のキャッシュサーバは、当該コンテンツをそれぞれが記憶する。つまり、分散キャッシュシステムは、コンテンツを重複して記憶することになる。分散キャッシュシステムは、コンテンツを重複して記憶すると、記憶できるコンテンツの数が減少する。すると、分散キャッシュシステムは、要求されたコンテンツを記憶している確率が低下する。更に、分散キャッシュシステムは、大容量の記憶領域が必要となるので、コストが増加する。
そこで、この問題を解決する分散キャッシュシステムが知られている(例えば、特許文献1参照。)。この分散キャッシュシステムでは、キャッシュサーバは、同一の分散キャッシュシステムに属する他のキャッシュサーバからコンテンツを取得すると、当該コンテンツを記憶しない。
特開2002−251313号公報 「RFC2186−Internet Cache Protocol(ICP) version 2」
しかしこの場合、キャッシュサーバは、クライアントからのコンテンツの要求の度に、他のキャッシュサーバからコンテンツを取得する。よって、キャッシュサーバ間のトラヒック量が増加するという問題があった。
また、要求される頻度の高いコンテンツを記憶するキャッシュサーバは、コンテンツを何度も要求されるので、負荷が大きい。よって、従来の分散キャッシュシステムは、要求頻度の高いコンテンツを要求されると、コンテンツの取得時間が長くなり、クライアントへのコンテンツの返信が遅れるという問題があった。
また、従来の分散キャッシュシステムは、クライアントが要求したコンテンツを記憶するキャッシュサーバが複数存在する場合に、最適な送信元を選択できなかった。そのため、特定のキャッシュサーバ及び特定の通信経路に負荷が集中するという問題があった。
そこで、本発明は、これらの問題を解決する分散キャッシュシステムを提供することを目的とする。
本発明は、クライアントから要求されて取得したコンテンツを記憶する複数のキャッシュサーバと、前記複数のキャッシュサーバと前記複数のキャッシュサーバが記憶するコンテンツとの対応関係を示す情報を管理する制御サーバと、を備えるキャッシュシステムにおいて、前記各キャッシュサーバは、他のキャッシュサーバに要求してコンテンツを取得するのに対応して、取得先のキャッシュサーバのアドレスと前記取得先のキャッシュサーバから前記コンテンツを取得した回数とを管理するコンテンツ情報管理テーブルを有し、前記クライアントから要求されたコンテンツを記憶していない場合、前記コンテンツ情報管理テーブルを参照し、前記取得先のキャッシュサーバのアドレスが記憶されている場合、該アドレスのキャッシュサーバに該コンテンツを要求し、前記取得先のキャッシュサーバのアドレスが記憶されていない場合、前記制御サーバに該コンテンツを要求し、前記要求によって、前記他のキャッシュサーバから該コンテンツを取得すると、前記コンテンツ情報管理テーブルを更新し、前記クライアントから該コンテンツを次回に要求される場合に備えて、前記更新されたコンテンツ情報管理テーブルに基づき、前記他のキャッシュサーバから該コンテンツを取得した回数と予め設定された閾値とを比較することによって、該コンテンツを前記各キャッシュサーバ内に記憶するか否かを決定することを特徴とする。
本発明によれば、分散キャッシュシステムは、記憶領域を効率的に利用しつつ、負荷を軽減できる。
以下、本発明の実施の形態を図面を参照して説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態の分散キャッシュシステム12のブロック図である。
分散キャッシュシステム12は、制御サーバ13及びキャッシュサーバ14を備える。キャッシュサーバ14は、二つを図示しているが、二つ以上であってもよい。
キャッシュサーバ14は、制御サーバ13及びクライアント15と接続する。なお、キャッシュサーバ14は、複数のクライアント15と接続してもよい。また、キャッシュサーバ14同士は、相互に接続してもよい。
キャッシュサーバ14は、図2で後述する構成を備え、クライアント15のアクセスが多いコンテンツを記憶する。
制御サーバ13は、コア網11を介してオリジンサーバ10に接続されている。ただし、制御サーバ13に接続されるオリジンサーバ10は、一つを図示しているが、いくつであってもよい。
コア網11は、例えば、TCP/IPプロトコルによって通信するネットワークである。
制御サーバ13は、キャッシュサーバ14と当該キャッシュサーバ14が記憶するコンテンツとの対応を示す情報を管理する。
オリジンサーバ10及びクライアント15は、CPU及びメモリ等を備える計算機である。クライアント15は、キャッシュサーバ14に対して、コンテンツを要求する。オリジンサーバ10は、クライアント15が要求するコンテンツのオリジナルを記憶する。
図2は、本発明の第1の実施の形態のキャッシュサーバ14のブロック図である。
キャッシュサーバ14は、CPU及びメモリを備える計算機である。CPUは、メモリに記憶された各種プログラムを実行することによって、各種処理を実行する。
また、キャッシュサーバ14は、通信部20、コンテンツ蓄積部21、コンテンツ管理部22、コンテンツ情報管理テーブル23、コンテンツキャッシュ判定部24及び要求処理部25を備える。
通信部20は、クライアント15、制御サーバ13及び他のキャッシュサーバ14と通信するインタフェースである。
要求処理部25は、クライアント15から受信したコンテンツ要求を処理する。
コンテンツ蓄積部21は、コンテンツを記憶する。コンテンツ管理部22は、コンテンツ蓄積部21が記憶するコンテンツを管理する。
コンテンツ情報管理テーブル23は、図3で後述するが、他のキャッシュサーバ14から以前に取得したコンテンツに関する情報を示す。
コンテンツキャッシュ判定部24は、通信部20が取得したコンテンツをコンテンツ蓄積部21に記憶するか否かを判定する。
図3は、本発明の第1の実施の形態のキャッシュサーバ14のコンテンツ情報管理テーブル23の構成図である。
コンテンツ情報管理テーブル23は、コンテンツID31、サーバID32及び取得回数33を含む。
コンテンツID31は、コンテンツを一意に識別する識別子である。例えば、コンテンツID31は、当該コンテンツのオリジナルの格納先のURL(Unified Resource Locator)である。
サーバID32は、当該コンテンツを記憶するキャッシュサーバ14を一意に識別する識別子である。例えば、サーバID32は、当該コンテンツを記憶するキャッシュサーバ14のIPアドレスである。
取得回数33は、当該コンテンツID31のコンテンツを当該サーバID32のキャッシュサーバ14から取得した回数である。
なお、コンテンツ情報管理テーブル23は、更に、前回要求時刻を含んでいてもよい。前回要求時刻は、クライアント15が当該コンテンツを前回要求した時刻である。この場合、キャッシュサーバ14は、コンテンツを要求された時刻から、前回要求時刻を減算することによって、コンテンツの要求間隔を算出する。そして、キャッシュサーバ14は、算出した要求間隔に基づいて、当該コンテンツを記憶(キャッシュ)するか否かを判定する。
以下、図4〜図7を参照して、クライアント(1)15がキャッシュサーバ(1)14にコンテンツを要求した場合の分散キャッシュシステム12の処理を説明する。
図4は、本発明の第1の実施の形態のキャッシュサーバ14の処理のフローチャートである。
まず、クライアント(1)15は、URLが「http://www.aaa.com/」のコンテンツ(コンテンツID:「700」)をキャッシュサーバ(1)14に要求する。
すると、キャッシュサーバ(1)14は、コンテンツの要求をクライアント(1)15から受信する。なお、キャッシュサーバ(1)14は、クライアント15からだけでなく、分散キャッシュシステム12内の他のキャッシュサーバ14から、コンテンツの要求を受信する。ここで、コンテンツを要求した装置を、要求元とする。
コンテンツの要求を受信すると、要求されたコンテンツのURLをコンテンツIDに変換する。例えば、コンテンツのURLとコンテンツIDとの対応を示すテーブルを参照して、URLの「http://www.aaa.com/」をコンテンツIDの「700」に変換する。なお、コンテンツIDは、URLであってもよい。この場合、要求されたコンテンツのURLをコンテンツIDとする。
次に、変換したコンテンツIDのコンテンツをコンテンツ蓄積部21に記憶(キャッシュ)しているか否かを判定する(101)。
コンテンツを記憶していると(キャッシュヒット)、要求元のクライアント(1)15に当該コンテンツを送信する(102)。そして、処理を終了する。
一方、コンテンツを記憶していないと、当該コンテンツをオリジンサーバ10又は他のキャッシュサーバ14から取得する必要がある。そこで、当該コンテンツを他のキャッシュサーバ14から以前に取得したことがあるか否かを判定する(103)。
具体的には、変換したコンテンツIDとコンテンツ情報管理テーブル23のコンテンツID31とが一致するエントリが、コンテンツ情報管理テーブル23に存在するか否かを判定する。
一致するエントリが存在すると、当該コンテンツを他のキャッシュサーバ14から取得できると判定する。そこで、一致したエントリからサーバID32を抽出する。次に、抽出したサーバID32に対応するキャッシュサーバ14に、当該コンテンツを要求する(104)。
例えば、図3に示すコンテンツ情報管理テーブル23の場合で説明する。まず、変換したコンテンツIDの「700」とコンテンツ情報管理テーブル23のコンテンツID31とが一致するエントリ30を、コンテンツ情報管理テーブル23から検索する。次に、検索したエントリ30から、サーバID32の「a.b.c.d」を抽出する。そして、抽出したサーバID32の「a.b.c.d」に対応するキャッシュサーバ(2)14に、当該コンテンツを要求する。
すると、コンテンツを要求されたキャッシュサーバ(2)14は、コンテンツID「700」のコンテンツをキャッシュサーバ(1)14に送信する。
一方、一致するエントリが存在しないと、当該コンテンツを他のキャッシュサーバ14から以前に取得していないので、制御サーバ13に当該コンテンツを要求する(105)。
すると、制御サーバ13は、キャッシュサーバ(1)14からコンテンツの要求を受信する。次に、制御サーバ13は、キャッシュサーバ14と当該キャッシュサーバ14が記憶するコンテンツとの対応を示す情報に基づいて、要求されたコンテンツを記憶するキャッシュサーバ14を検索する。
そして、制御サーバ13は、要求されたコンテンツを記憶するキャッシュサーバ14を見つけると、当該キャッシュサーバ14に当該コンテンツの送信を指示する。
送信を指示されたキャッシュサーバ14は、コンテンツを要求したキャッシュサーバ(1)14に、コンテンツを送信する。
一方、制御サーバ13は、要求されたコンテンツを記憶するキャッシュサーバ14が見つからないと、オリジンサーバ10から当該コンテンツを取得する。そして、制御サーバ13は、取得したコンテンツをキャッシュサーバ(1)14に送信する。
キャッシュサーバ(1)14は、送信元からコンテンツを受信する(106)。送信元は、当該コンテンツをキャッシュサーバ(1)14に送信した制御サーバ13又は他のキャッシュサーバ14である。
次に、送信元が分散キャッシュシステム12内の他のキャッシュサーバ14であるか否かを判定する。具体的には、送信元のサーバIDが、キャッシュサーバ14のサーバIDであるか否かを判定する。
送信元がキャッシュサーバであると、コンテンツ情報管理テーブル23を更新する(107)。
具体的には、受信したコンテンツのコンテンツIDとコンテンツ情報管理テーブル23のコンテンツID31とが一致するエントリがコンテンツ情報管理テーブル23に存在するか否かを判定する。
一致するエントリが存在すると、当該エントリの取得回数33を増加させる。
一方、一致するエントリが存在しないと、コンテンツ情報管理テーブル23に、新たなエントリを作成する。そして、新たなエントリのコンテンツID31に、受信したコンテンツのコンテンツIDを格納する。また、新たなエントリのサーバID32に、送信元のキャッシュサーバ14のサーバIDを格納する。更に、新たなエントリの取得回数33に、「1」を格納する。
例えば、キャッシュサーバ(2)14からコンテンツID「700」のコンテンツを受信すると、コンテンツ情報管理テーブル23に新たなエントリ30を作成する。次に、新たなエントリ30のコンテンツID31に、受信したコンテンツのコンテンツIDの「700」を格納する。また、新たなエントリ30のサーバID32に、送信元のキャッシュサーバ(2)14のサーバIDの「a.b.c.d」を格納する。また、新たなエントリ30の取得回数33に、「1」を格納する。
次に、受信したコンテンツを、コンテンツ蓄積部21に記憶(キャッシュ)するか否かを判定する(108)。なお、このキャッシュ判定処理は、後述する図5で詳細を説明する。
コンテンツをキャッシュすると判定すると、当該コンテンツをコンテンツ蓄積部21に記憶する。そして、記憶したコンテンツのコンテンツIDとコンテンツ情報管理テーブル23のコンテンツID31とが一致するエントリを、コンテンツ情報管理テーブル23から削除する(109)。
一方、コンテンツをキャッシュしないと判定すると、コンテンツ情報管理テーブル23を更新する必要がないので、そのままステップ102に進む。
そして、受信したコンテンツを要求元のクライアント(1)15に送信し(102)、処理を終了する。
図5は、本発明の第1の実施の形態のキャッシュサーバ14のキャッシュ判定処理のフローチャートである。
まず、キャッシュサーバ(1)14は、当該コンテンツの送信元が分散キャッシュシステム12内の他のキャッシュサーバ14であるか否かを判定する(201)。具体的には、送信元のサーバIDが、キャッシュサーバ14のサーバIDであるか否かを判定する。
送信元がキャッシュサーバ14でないと、分散キャッシュシステム12内のすべてのキャッシュサーバ14が当該コンテンツを記憶していない。そこで、当該コンテンツをキャッシュすると判定する(202)。そして、本処理を終了する。
一方、送信元がキャッシュサーバ14であると、当該コンテンツを他のキャッシュサーバ14から取得した回数が閾値以上であるか否かを判定する(203)。これによって、当該コンテンツをキャッシュするか否かを決定する。
具体的には、当該コンテンツのコンテンツIDとコンテンツ情報管理テーブル23のコンテンツID31とが一致するエントリをコンテンツ情報管理テーブル23から選択する。次に、選択したエントリから、取得回数33を抽出する。そして、抽出した取得回数33が、予め設定された閾値(例えば、「2」)以上であるか否かを判定する。
取得回数33が閾値以上であると、クライアント15からの要求回数が多いので、当該コンテンツをキャッシュすると判定し(202)、処理を終了する。例えば、図6に示すコンテンツ情報管理テーブル23のエントリ35から、取得回数の「2」を抽出したとする。すると、抽出した取得回数33の「2」が閾値の「2」以上に該当するので、当該コンテンツをキャッシュすると判定する。キャッシュサーバ14は、閾値を「2」に設定されると、「1」に設定される場合と比べて、キャッシュするコンテンツの数を大幅に減らすことができる。
一方、取得回数33が閾値より小さいと、クライアント15からの要求回数が少ないので、当該コンテンツをキャッシュしないと判定し(204)、処理を終了する。例えば、図3に示すコンテンツ情報管理テーブル23のエントリ30から取得回数33の「1」を抽出したとする。すると、抽出した取得回数33の「1」が閾値の「2」より小さいので、当該コンテンツをキャッシュしないと判定する。
以上のように、本発明の第1の実施の形態によれば、キャッシュサーバ14は、コンテンツの取得回数に応じて、コンテンツをキャッシュするか否かを判定する。つまり、キャッシュサーバ14は、取得回数の多いコンテンツを記憶する。
よって、本実施の形態の分散キャッシュシステム12は、コンテンツの問合せ処理の負荷を軽減できる。また、分散キャッシュシステム12は、キャッシュサーバ14間のトラヒック量を低減できる。また、分散キャッシュシステム12は、同一のコンテンツの複製を抑制でき、それぞれのキャッシュサーバ14のコンテンツ蓄積部21の利用効率を向上できる。
(第2の実施の形態)
図7は、本発明の第2の実施の形態の分散キャッシュシステム12のブロック図である。
第2の実施の形態の分散キャッシュシステム12は、制御サーバ13を備えない。それ以外の構成は、第1の実施の形態の分散キャッシュシステム(図1)と同一である。なお、同一の構成には同一の番号を付し、説明を省略する。
また、第2の実施の形態の分散キャッシュシステム12の処理は、キャッシュサーバ14の処理(図4)のステップ105を除いて、第1の実施の形態と同一である。なお、同一の処理は説明を省略する。
図8は、本発明の第2の実施の形態のキャッシュサーバ14の処理のステップ105の詳細のフローチャートである。
ステップ105において、キャッシュサーバ(1)14は、制御サーバ113でなく、分散キャッシュシステム12内の他のすべてのキャッシュサーバ14に、コンテンツを要求する(1051)。
次に、キャッシュサーバ(1)14は、要求したコンテンツを他のキャッシュサーバ14から取得できたか否かを判定する(1052)。
キャッシュサーバ(1)14は、コンテンツを取得できると、ステップ106に進む。
一方、キャッシュサーバ(1)14は、コンテンツを取得できないと、オリジンサーバ10に当該コンテンツを要求する(1053)。すると、キャッシュサーバ(1)14は、オリジンサーバ10から当該コンテンツを取得する。そして、ステップ106に進む。
(第3の実施の形態)
第3の実施の形態は、キャッシュサーバ14同士で負荷情報を通知する。これによって、分散キャッシュシステム12は、キャッシュサーバ14の負荷を分散できる。
第3の実施の形態の分散キャッシュシステム12の構成は、第1の実施の形態の分散キャッシュシステム(図1)と同一であり、説明を省略する。
また、第3の実施の形態の分散キャッシュシステム12は、第2の実施の形態の分散キャッシュシステム(図7)に適用することもできる。
図9は、本発明の第3の実施の形態のキャッシュサーバ14のブロック図である。
キャッシュサーバ14は、コンテンツキャッシュ通知判定部26を備える。それ以外の構成は、第1の実施の形態のキャッシュサーバ(図2)と同一である。同一の構成には同一の番号を付し、説明を省略する。
コンテンツキャッシュ通知判定部26は、他のキャッシュサーバ14にコンテンツを送信する際に、当該他のキャッシュサーバ14に当該コンテンツを記憶させるか否かを判定する。
図10は、本発明の第3の実施の形態のキャッシュサーバ14の処理のフローチャートである。
まず、キャッシュサーバ(1)14は、コンテンツの要求を要求元から受信する。要求元は、クライアント15、制御サーバ13又は分散キャッシュシステム内の他のキャッシュサーバ14である。コンテンツの要求を受信すると、受信したコンテンツ要求からコンテンツIDを取得する。
次に、取得したコンテンツIDのコンテンツをコンテンツ蓄積部21に記憶(キャッシュ)しているか否かを判定する(101)。
コンテンツを記憶していない場合の処理は、第1の実施の形態のキャッシュサーバの処理(図4)と同一である。同一の処理には同一の番号を付し、説明を省略する。
一方、コンテンツを記憶していると(キャッシュヒット)、要求元に当該コンテンツのキャッシュを指示するか否かを判定する(110)。なお、このキャッシュ指示判定処理は、後述する図11で詳細を説明する。
指示しないと判定すると、要求元に当該コンテンツを送信し(102)、処理を終了する。
一方、指示すると判定すると、要求元に当該コンテンツのキャッシュを指示する(111)。そして、要求元に当該コンテンツを送信し(102)、処理を終了する。
図11は、本発明の第3の実施の形態のキャッシュサーバ14のキャッシュ指示判定処理のフローチャートである。
まず、キャッシュサーバ(1)14は、要求元が分散キャッシュシステム12内の他のキャッシュサーバ14であるか否かを判定する(301)。具体的には、要求元のサーバIDが、他のキャッシュサーバ14のサーバIDであるか否かを判定する。
要求元がキャッシュサーバ14でないと、要求元にコンテンツのキャッシュを指示しないと判定する(302)。そして、本処理を終了する。
一方、要求元がキャッシュサーバ14であると、自身の負荷状態に応じて、コンテンツのキャッシュを指示するか否かを判定する。そこで、自身のCPU使用率を取得する(303)。そして、取得したCPU使用率が閾値以上であるか否かを判定する(304)。
CPU使用率が閾値より小さいと、自身の負荷が小さいと判定するので、要求元にコンテンツのキャッシュを指示しないと判定する(302)。そして、本処理を終了する。
一方、CPU使用率が閾値以上であると、自身の負荷が大きいと判定するので、コンテンツのキャッシュを指示すると判定する(305)。そして、本処理を終了する。
なお、キャッシュサーバ(1)14は、CPU使用率でなく、自身の負荷を示す他の値(例えば、メモリの使用率等)を用いて、キャッシュを指示するか否かを判定してもよい。
図12は、本発明の第3の実施の形態のキャッシュサーバ14のキャッシュ判定処理のフローチャートである。
キャッシュ判定処理は、図10のステップ108で行われる。また、第3の実施の形態のキャッシュ判定処理は、ステップ205が追加されたことを除き、第1の実施の形態のキャッシュ判定処理(図5)と同一である。同一の処理には同一の番号を付し、説明を省略する。
キャッシュサーバ(1)14は、ステップ201において、送信元がキャッシュサーバ14でないと判定すると、ステップ205を行う。
ステップ205では、送信元から、コンテンツのキャッシュを指示されたか否かを判定する。
キャッシュを指示されていないと、ステップ203に進む。
一方、キャッシュを指示されていると、コンテンツをキャッシュすると判定する(202)。そして、処理を終了する。
以上のように本実施の形態では、送信元のキャッシュサーバ14は、自身のCPU使用率が閾値以上となると、要求元のキャッシュサーバ14にコンテンツのキャッシュを指示する。そして、要求元のキャッシュサーバ14は、指示に応じて、コンテンツをキャッシュする。
これによって、負荷の大きいキャッシュサーバ14は、分散キャッシュシステム12内の他のキャッシュサーバから同一のコンテンツを複数回要求されなくなる。つまり、本実施の形態の分散キャッシュシステム12は、キャッシュサーバ14の負荷を分散できる。
(第4の実施の形態)
第4の実施の形態例では、分散キャッシュシステム12は、最適な送信元を決定する網管理サーバ16を備える。
図13は、本発明の第4の実施の形態の分散キャッシュシステム12のブロック図である。
本実施の形態の分散キャッシュシステム12は、網管理サーバ16を備える。それ以外の構成は、第1の実施の形態の分散キャッシュシステム(図1)と同一である。同一の構成には同一の番号を付し、説明を省略する。
網管理サーバ16は、図14で後述するが、キャッシュサーバ14の負荷状態及び分散キャッシュシステム12内のネットワークの負荷状態を監視する。
なお、網管理サーバ16は、制御サーバ13に含まれていてもよい。
図14は、本発明の第4の実施の形態の網管理サーバ16のブロック図である。
網管理サーバ16は、CPU及びメモリを備える計算機である。CPUは、メモリに記憶された各種プログラムを実行することによって、各種処理を実行する。
網管理サーバ16は、通信部40、問合せ処理部41、最適送信元キャッシュサーバ決定部42、ノード負荷情報収集部43、ノード負荷情報データベース44、ネットワーク負荷情報収集部45及びネットワーク負荷情報データベース46を備える。
通信部40は、制御サーバ13と通信するインタフェースである。問合せ処理部41は、制御サーバ13からの問合せを処理する。
最適送信元キャッシュサーバ決定部42は、要求されたコンテンツを記憶するキャッシュサーバ14の中から、最適な送信元を決定する。
なお、最適送信元キャッシュサーバ決定部42は、制御サーバ13に備えられていてもよい。この場合、網管理サーバ16は、ノード負荷情報データベース44及びネットワーク負荷情報データベース46に格納された情報を、制御サーバ13に定期的に送信する。すると、制御サーバ13は、受信した負荷情報を記憶する。そして、制御サーバ13は、記憶した負荷情報に基づいて、最適な送信元を決定する。
ノード負荷情報データベース44は、図15で後述するが、キャッシュサーバ14の負荷情報を記憶する。ノード負荷情報収集部43は、キャッシュサーバ14の負荷情報を定期的に収集し、収集した負荷情報をノード負荷情報データベース44に格納する。キャッシュサーバ14の負荷情報は、例えば、キャッシュサーバ14のCPU使用率及び/又はメモリ使用率等である。
ネットワーク負荷情報データベース46は、分散キャッシュシステム12内のネットワークのトラヒック量を記憶する。ネットワーク負荷情報収集部45は、分散キャッシュシステム12内のネットワークのトラヒック量を定期的に収集し、収集したトラヒック量をネットワーク負荷情報データベース44に格納する。
図15は、本発明の第4の実施の形態のノード負荷情報データベース44の構成図である。
ノード負荷情報データベース44は、サーバID51、CPU使用率52及びメモリ使用率53を含む。
サーバID51は、キャッシュサーバ14を一意に識別する識別子である。CPU使用率52は、当該キャッシュサーバ14のCPUの使用率である。メモリ使用率52は、当該キャッシュサーバ14のメモリの使用率である。CPU使用率51及びメモリ使用率52は、例えば、百分率で表す。
次に、制御サーバ13及び網管理サーバ16の処理を説明する。
まず、制御サーバ13は、キャッシュサーバ(1)14からコンテンツの要求を受信する。次に、制御サーバ13は、キャッシュサーバ14と当該キャッシュサーバ14が記憶するコンテンツとの対応を示す情報に基づいて、要求されたコンテンツを記憶するキャッシュサーバ14を検索する。
そして、制御サーバ13は、一つのキャッシュサーバ14を見つけると、第1の実施の形態の処理と同様に、見つけたキャッシュサーバ14に当該コンテンツの送信を指示する。
一方、制御サーバ13は、複数のキャッシュサーバ14を見つけると、見つけたすべてのキャッシュサーバ14のサーバIDを網管理サーバ16に送信する。
網管理サーバ16は、受信したサーバIDとノード負荷情報管理テーブル44のサーバID51とが一致するエントリを、ノード負荷情報管理テーブル44から選択する。次に、選択したエントリから、CPU使用率52及びメモリ使用率53を抽出する。
次に、網管理サーバ16は、受信したサーバIDのキャッシュサーバ14から要求元のキャッシュサーバ(1)14へのネットワークのトラヒック量を、ネットワーク負荷情報データベース46から抽出する。
次に、網管理サーバ16は、抽出したCPU使用率52、メモリ使用率53及びトラヒック量に基づいて、転送速度を推定する。転送速度は、受信したサーバIDのキャッシュサーバ14から、要求元のキャッシュサーバ(1)14へコンテンツを転送する速度である。
そして、網管理サーバ16は、推定した転送速度が最も速いキャッシュサーバ14を最適な送信元と決定する。
他にも、網管理サーバ16は、抽出したCPU使用率52が最も低いキャッシュサーバ14を最適な送信元と決定してもよい。また、網管理サーバ16は、抽出したそれぞれの項目ごとにキャッシュサーバ14に順位付けし、順位の合計が最も低いキャッシュサーバ14を最適な送信元と決定してもよい。
そして、網管理サーバ16は、決定した最適な送信元のサーバIDを、制御サーバ13に送信する。
制御サーバ13は、受信したサーバIDに対応するキャッシュサーバ14に当該コンテンツの送信を指示する。
以上のように第4の実施の形態によれば、キャッシュサーバ及びネットワークの負荷状態に基づいて、コンテンツの送信元を決定する。よって、本実施の形態の分散キャッシュシステムは、キャッシュサーバ及びネットワークの負荷を分散できる。
(第5の実施の形態)
図16は、本発明の第5の実施の形態の分散キャッシュシステム12のブロック図である。
第5の実施の形態の分散キャッシュシステム12は、制御サーバ13の代わりに、ルータ17を備える。それ以外の構成は、第4の実施の形態の分散キャッシュシステム(図13)と同一である。同一の構成には同一の番号を付し、説明を省略する。
ルータ17は、パケットを受信し、受信したパケットの宛先を判定する。そして、判定した宛先へ当該パケットを転送する。
網管理サーバ16は、ルータ17を介して、すべてのキャッシュサーバ14と接続される。なお、網管理サーバ16は、複数台のルータ17を介して、キャッシュサーバ14と接続されてもよい。
網管理サーバ16の構成及び処理は、第4の実施の形態の網管理サーバ(図14)と同一である。よって、説明を省略する。
なお、最適送信元キャッシュサーバ決定部42は、キャッシュサーバ14に備えられていてもよい。この場合、網管理サーバ16は、ノード負荷情報データベース44及びネットワーク負荷情報データベース46に格納された情報を、キャッシュサーバ14に定期的に送信する。すると、キャッシュサーバ14は、受信した負荷情報を記憶する。そしてキャッシュサーバ14は、記憶した負荷情報に基づいて、最適な送信元を決定する。
本実施の形態では、キャッシュサーバ(1)14は、制御サーバ113でなく、分散キャッシュシステム12内の他のすべてのキャッシュサーバ14に、当該コンテンツを記憶しているか否かを問い合わせる。
キャッシュサーバ(1)14は、分散キャッシュシステム12内に当該コンテンツを記憶するキャッシュサーバ14が一つ存在すると、当該キャッシュサーバ14に当該コンテンツを要求する。
一方、キャッシュサーバ(1)14は、分散キャッシュシステム12内に当該コンテンツを記憶するキャッシュサーバ14が複数存在すると、当該キャッシュサーバ14のサーバIDを網管理サーバ16に送信する。
すると、網管理サーバ16は、第4の実施の形態と同一の処理によって、最適な送信元を決定する。
そして、網管理サーバ16は、決定した最適な送信元のサーバIDを、キャッシュサーバ(1)14に送信する。
キャッシュサーバ(1)14は、受信したサーバIDに対応するキャッシュサーバ14から、当該コンテンツを取得する。特許請求の範囲に記載された発明のキャッシュシステムにおいて、前記キャッシュサーバは、以前に取得したコンテンツと、当該コンテンツを記憶するキャッシュサーバとの対応を示すコンテンツ管理情報を有し、要求されたコンテンツを記憶していない場合、前記コンテンツ管理情報に基づいて、前記要求されたコンテンツを記憶する他のキャッシュサーバを検索し、前記検索によって特定された他のキャッシュサーバから当該コンテンツを取得する。また、前記キャッシュサーバは、前記通知された最適な送信元から、前記要求されたコンテンツを取得する。また、網管理サーバは、前記キャッシュサーバから問い合わせを受けると、前記収集したキャッシュシステムの負荷情報を当該キャッシュサーバに送信し、前記キャッシュサーバは、前記受信したキャッシュシステムの負荷情報に基づいて、検索によって特定した他のキャッシュサーバの中から、コンテンツの最適な送信元を決定する。
本発明は、大規模ネットワーク用の分散キャッシュシステムに適用することができる。
本発明の第1の実施の形態の分散キャッシュシステムのブロック図である。 本発明の第1の実施の形態のキャッシュサーバのブロック図である。 本発明の第1の実施の形態のキャッシュサーバのコンテンツ情報管理テーブルの構成図である。 本発明の第1の実施の形態のキャッシュサーバの処理のフローチャートである。 本発明の第1の実施の形態のキャッシュサーバのキャッシュ判定処理のフローチャートである。 本発明の第1の実施の形態のキャッシュサーバのコンテンツ情報管理テーブル23の構成図である。 本発明の第2の実施の形態の分散キャッシュシステムのブロック図である。 本発明の第2の実施の形態のキャッシュサーバの処理のステップ105の詳細のフローチャートである。 本発明の第3の実施の形態のキャッシュサーバのブロック図である。 本発明の第3の実施の形態のキャッシュサーバの処理のフローチャートである。 本発明の第3の実施の形態のキャッシュサーバのキャッシュ指示判定処理のフローチャートである。 本発明の第3の実施の形態のキャッシュサーバのキャッシュ判定処理のフローチャートである。 本発明の第4の実施の形態の分散キャッシュシステムのブロック図である。 本発明の第4の実施の形態の網管理サーバのブロック図である。 本発明の第4の実施の形態のノード負荷情報データベースの構成図である。 本発明の第5の実施の形態の分散キャッシュシステムのブロック図である。
符号の説明
10 オリジンサーバ
11 コア網
12 分散キャッシュシステム
13 制御サーバ
14 キャッシュサーバ
15 クライアント
16 網管理サーバ
17 ルータ
20 通信部
21 コンテンツ蓄積部
22 コンテンツ管理部
23 コンテンツ情報管理テーブル
24 コンテンツキャッシュ判定部
25 要求処理部
26 コンテンツキャッシュ通知判定部
40 通信部
41 問合せ処理部
42 最適配信元キャッシュサーバ決定部
43 ノード負荷情報収集部
44 ノード負荷情報データベース
45 ネットワーク負荷情報収集部
46 ネットワーク負荷情報データベース

Claims (1)

  1. クライアントから要求されて取得したコンテンツを記憶する複数のキャッシュサーバと、前記複数のキャッシュサーバと前記複数のキャッシュサーバが記憶するコンテンツとの対応関係を示す情報を管理する制御サーバと、を備えるキャッシュシステムにおいて、
    前記キャッシュサーバは、
    他のキャッシュサーバに要求してコンテンツを取得するのに対応して、取得先のキャッシュサーバのアドレスと前記取得先のキャッシュサーバから前記コンテンツを取得した回数とを管理するコンテンツ情報管理テーブルを有し、
    前記クライアントから要求されたコンテンツを記憶していない場合、前記コンテンツ情報管理テーブルを参照し、
    前記取得先のキャッシュサーバのアドレスが記憶されている場合、該アドレスのキャッシュサーバに該コンテンツを要求し、
    前記取得先のキャッシュサーバのアドレスが記憶されていない場合、前記制御サーバに該コンテンツを要求し、
    前記要求によって、前記他のキャッシュサーバから該コンテンツを取得すると、前記コンテンツ情報管理テーブルを更新し、
    前記クライアントから該コンテンツを次回に要求される場合に備えて、前記更新されたコンテンツ情報管理テーブルに基づき、前記他のキャッシュサーバから該コンテンツを取得した回数と予め設定された閾値とを比較することによって、該コンテンツを前記各キャッシュサーバ内に記憶するか否かを決定することを特徴とするキャッシュシステム。
JP2005058781A 2005-03-03 2005-03-03 キャッシュシステム及びキャッシュサーバ Expired - Fee Related JP4291284B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005058781A JP4291284B2 (ja) 2005-03-03 2005-03-03 キャッシュシステム及びキャッシュサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005058781A JP4291284B2 (ja) 2005-03-03 2005-03-03 キャッシュシステム及びキャッシュサーバ

Publications (3)

Publication Number Publication Date
JP2006244121A JP2006244121A (ja) 2006-09-14
JP2006244121A5 JP2006244121A5 (ja) 2007-06-07
JP4291284B2 true JP4291284B2 (ja) 2009-07-08

Family

ID=37050477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005058781A Expired - Fee Related JP4291284B2 (ja) 2005-03-03 2005-03-03 キャッシュシステム及びキャッシュサーバ

Country Status (1)

Country Link
JP (1) JP4291284B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5036688B2 (ja) * 2008-11-04 2012-09-26 日本電信電話株式会社 キャッシュサーバへのコンテンツ配信方法とシステムおよびプログラム
JP5272991B2 (ja) * 2009-09-24 2013-08-28 ブラザー工業株式会社 情報通信システム、情報通信方法及びプログラム
KR101625913B1 (ko) * 2009-12-21 2016-05-31 한국전자통신연구원 비대칭 클러스터 파일시스템의 메타데이터 관리 장치 및 방법
US20140032702A1 (en) * 2011-04-22 2014-01-30 Nec Corporation Content distribution system, control apparatus, and content distribution method
WO2013047207A1 (ja) * 2011-09-30 2013-04-04 日本電気株式会社 キャッシュシステム、キャッシュ方法、及びキャッシュサーバ
JP2015165632A (ja) * 2014-03-03 2015-09-17 日本電気株式会社 情報転送装置、情報転送方法およびプログラム
JP2020109881A (ja) * 2017-04-26 2020-07-16 シャープ株式会社 無線通信システム、基地局装置、キャッシュ装置

Also Published As

Publication number Publication date
JP2006244121A (ja) 2006-09-14

Similar Documents

Publication Publication Date Title
US11909639B2 (en) Request routing based on class
US11194719B2 (en) Cache optimization
US11108729B2 (en) Managing request routing information utilizing client identifiers
EP2923468B1 (en) Transmission of a content reply packet in a content-centric network for caching a content in an intermediate node
JP4291284B2 (ja) キャッシュシステム及びキャッシュサーバ
US7725596B2 (en) System and method for resolving network layer anycast addresses to network layer unicast addresses
US7565450B2 (en) System and method for using a mapping between client addresses and addresses of caches to support content delivery
US9525659B1 (en) Request routing utilizing point of presence load information
US9514243B2 (en) Intelligent caching for requests with query strings
US10958501B1 (en) Request routing information based on client IP groupings
JP2007066161A (ja) キャッシュシステム
US20120124165A1 (en) Managing content delivery network service providers by a content broker
US20120072600A1 (en) Managing content delivery network service providers
US20050240574A1 (en) Pre-fetching resources based on a resource lookup query
US20110282993A1 (en) Hierarchical load balancing
US10917333B2 (en) Implementation method of unstructured data sharing mechanism for edge computing and the system
JP5177919B2 (ja) インデックスサーバとその方法
JP2002525749A (ja) インターネットキャッシングシステム、方法およびそのシステムの構成
KR101082362B1 (ko) 컨텐츠 전달 시스템 및 방법, 그 웹서버 및 컨텐츠 제공자 dns 서버
KR101255909B1 (ko) 데이터 로컬리티를 보장하는 하둡 파일 시스템
JP2007233700A (ja) キャッシュシステム、負荷監視サーバ、キャッシュ管理サーバ及びキャッシュサーバ。
JP2005038339A (ja) グリッドコンピューティングシステム、及びグリッドコンピューティングシステムにおける計算資源収集方法
KR101088023B1 (ko) 오브젝트 리다이렉션을 이용한 컨텐츠 전달 시스템 및 방법, 그 gslb 스위치
CN114338686A (zh) 一种cdn节点服务器的回源方法及装置
KR20110077298A (ko) 네트워크 혼잡 감소를 위하여 파일을 투명하게 내려받기 위한 방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070418

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090216

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees