JP2014112768A - 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ - Google Patents

自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ Download PDF

Info

Publication number
JP2014112768A
JP2014112768A JP2012266139A JP2012266139A JP2014112768A JP 2014112768 A JP2014112768 A JP 2014112768A JP 2012266139 A JP2012266139 A JP 2012266139A JP 2012266139 A JP2012266139 A JP 2012266139A JP 2014112768 A JP2014112768 A JP 2014112768A
Authority
JP
Japan
Prior art keywords
cache
cache server
server
pbr
router
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012266139A
Other languages
English (en)
Inventor
Genki MATSUI
元輝 松井
Daisuke Ito
大輔 伊藤
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 JP2012266139A priority Critical patent/JP2014112768A/ja
Priority to US14/649,738 priority patent/US20150347246A1/en
Priority to PCT/JP2013/081464 priority patent/WO2014087850A1/ja
Publication of JP2014112768A publication Critical patent/JP2014112768A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】従来手法で、キャッシュサーバの障害発生時にエンドユーザに対するSLAを保証できる自動障害対応キャッシュシステムを提供しようとする場合、キャッシュシステム管理事業者にかかる設備コストや運用コストが大きくなる。
【解決手段】キャッシュサーバとその予備キャッシュサーバの関係を動的に管理し、障害が発生したとき、この障害が発生した第1のキャッシュサーバにトラフィックを転送しているPBRルータに距離的に近い第2のキャッシュサーバを予備キャッシュサーバとして使う。また、キャッシュエージェントとキャッシュマネージャの機能を持つ装置あるいはモジュールを用意し、キャッシュエージェントが第1のキャッシュサーバの障害を検出したことをトリガに障害が発生した第1のキャッシュサーバにトラフィックを転送しているPBRルータのトラフィック転送先を、該PBRルータに距離的に近い第2のキャッシュサーバに自動変更する。
【選択図】 図9

Description

本発明は、ネットワーク上のキャッシュサーバに関する技術であり、特に、エンドユーザが使用していたキャッシュサーバが停止した場合に、エンドユーザのトラフィックを別のキャッシュサーバに転送する自動障害対応キャッシュシステム及びキャッシュサーバの障害時の対応方法に関する技術である。
ネットワーク内のトラフィック削減を目的として、エンドユーザ近傍にキャッシュサーバを置きそこからデータを返すキャッシュシステムが用いられる。キャッシュシステムでは、多数のキャッシュサーバをネットワークに分散させて設置するため、キャッシュサーバの運用管理や障害時の障害対応にかかるコストが大きい。特にキャッシュサーバの障害対応は、キャッシュサーバを経由する通信を遮断せずに対応する必要があることからルータの設定変更のような手間がかかりコストが大きい。そこで、キャッシュサーバ障害発生時の障害対応にかかるコスト削減を目的として、自動障害対応システムが用いられる。
例えば、現用系サーバに対して予備系サーバを用意し、現用系サーバの障害発生時に予備系サーバに切り替える自動障害対応システムが一般的に使われている。具体的には、特許文献1に従来技術として記載されている。すなわち、特許文献1には、フェイルオーバーシステム100が、活発なノード110および不活発なノード1202を含む演算処理装置を含み、通常は活発なノード110上でプロセスが実行されると共にそのプロセスを不活発なノード120がモニターしており、活発なノード110の障害を検知すれば活発なノード110のすべての動作がシャットダウンされ、不活発なノード120が新しい活発なノードとなり活動をすべて再開するフェイルオーバーメカニズムが開始する、ことが開示されている。
また、複数のサーバの障害監視を行うロードバランサ装置がサーバの障害を検出した場合に、障害が発生しているサーバにリクエストを割り振らず、正常サーバ(障害が発生していないサーバ)にのみ処理を割り振る自動障害対応システムが一般的に使われている。具体的には、特許文献2に次のようなシステムが記載されている。サーバは、高有用性を必要とし、複数のサーバがありその1つに障害が発生したとき、障害にも拘わらず処理を継続するためにフェイルオーバーに移行する。そのような状況では、複数のサーバの各々に作業を分配するために一般的にロードバランサ装置が使用される。ロードバランサ装置は、何れかのサーバがダウンした時、その障害を検知し、残りのサーバに全てのリクエストを分配することでその障害を補償しようとする。
さらに、特許文献3には、ネットワーク負荷・サーバ負荷・クライアントの位置を考慮した、クライアントにとって最適な代理サーバを自動的に選択する代理サーバ選択装置が開示されている。
US 2003/0097610 A1 US 2006/0294207 A1 特開2001−273225号公報
上記の従来システムをキャッシュシステムにおいて利用することを考えた場合、以下の問題と課題が発明者らによって見出された。
まず、特許文献1に記載の現用系サーバと予備系サーバを用いたシステムでは、現用キャッシュサーバ一台もしくは複数台に対して予備キャッシュサーバを少なくとも一台設置する必要がある。しかし、現用系サーバと予備系サーバとが予め登録された固定的な関係にあり、ネットワーク上に多数設置するキャッシュサーバ一台または複数台毎に予備キャッシュサーバを設置すると、設備コストと運用コストが増加するという第一の問題がある。
次に、特許文献2に記載の二つ目のードバランサ装置を用いたシステムでは、サーバとロードバランサとは、予め登録された固定的な関係にある。ロードバランサ装置を一台しか設置しない場合、ロードバランサ装置が単一障害点となる。そのため、ロードバランサ装置を冗長化するために、キャッシュサーバ一台または複数台に対してロードバランサ装置を複数台設置する必要がある。しかし、この場合設備コストと運用コストが高くなるという第二の問題がある。
また、ロードバランサ装置が管理できるキャッシュサーバ台数はロードバランサ装置のスループットに律束される。具体的には、ロードバランサ装置一台が備えるNIC(ネットワーク Interface Card)の帯域幅は一般的に最大でも10Gbps程度である。また、キャッシュサーバ装置が備えるNICの帯域幅は一般的に1Gbps程度である。すなわち、ロードバランサ装置一台あたりが管理できるキャッシュサーバは最大で十台程度である。この場合、キャッシュサーバ複数台あたりにロードバランサ装置を一台設置すると、設備コストが増加するという第三の問題がある。
さらに、特許文献3に記載された、クライアントにとって最適な代理サーバを自動的に選択する装置においては、代理サーバとして機能するキャッシュサーバ自体に障害が発生した時の障害対応策については、なんら配慮されていない。
したがって、以上の各問題を踏まえて、ネットワーク上にキャッシュサーバが多数ある場合でも、キャッシュサーバに障害が発生した時の対応策として、設備コストや運用コストが増加しない、自動障害対応キャッシュシステム及び対応方法を提供することが本発明の主な課題である。
本発明の代表的なものの一例を示すと、次のとおりである。自動障害対応キャッシュシステムは、ネットワーク上に、一つのキャッシュマネージャと、複数のキャッシュサーバと、前記キャッシュサーバの各々の上で動作するキャッシュエージェントと、データベースと、少なくとも1つのPBRルータとを備えており、前記データベースは、前記各キャッシュエージェントの識別情報と通し番号を持つ第1のデータベースと、前記各PBRルータの識別情報と該各PBRルータに距離的に近い前記キャッシュサーバの識別情報を持つ第2のデータベースを含んでおり、1つの前記キャッシュエージェントは、第1のキャッシュサーバの障害を検出したことをトリガに、前記第1のキャッシュサーバの障害を検出したことを伝える旨と障害が発生した該第1のキャッシュサーバの識別情報を記述した障害検出通知を、前記キャッシュマネージャに送る機能を備え、前記キャッシュマネージャは、前記データベースから、前記障害が検出された前記第1のキャッシュサーバの識別情報が前記距離的に近いキャッシュサーバとして登録されている、第1のPBRルータの識別情報を取得する機能と、前記データベースから、前記第1のPBRルータに距離的に近いキャッシュサーバとして登録されている第2のキャッシュサーバの識別情報を取得する機能と、前記第1のPBRルータにアクセスし、該第1のPBRルータのトラフィック転送先を前記第2のキャッシュサーバに変更する機能とを備えていることを特徴とする。
本発明によれば、ネットワーク上にキャッシュサーバが多数ある場合でも、それらの予備キャッシュサーバを動的に最適なものに変更可能である。そのため、ネットワーク上のあるキャッシュサーバに障害が発生した時でもエンドユーザは他のキャッシュサーバを継続して利用でき、エンドユーザに対するSLAを保証できると共に、キャッシュシステム管理事業者が負担する設備コストや運用コストの削減にも貢献できる。
本発明の実施例1に係る、自動障害対応キャッシュシステムの全体構成を示す図である。 実施例1のキャッシュマネージャの構成を示す図である。 実施例1のキャッシュサーバの構成を示す図である。 実施例1における近傍キャッシュ表の構成例を示す図である。 実施例1におけるキャッシュサーバ一覧表の構成例を示す図である。 実施例1におけるルール設定例を示す図である。 実施例1におけるルール設定内容例を示す図である。 実施例1のキャッシュサーバ追加処理のシーケンスである。 実施例1のキャッシュマネージャの近傍キャッシュ表更新処理のフローチャートである。 実施例1のキャッシュマネージャのキャッシュサーバ一覧表更新処理のフローチャートである。 実施例1のルール設定処理のフローチャートである。 実施例1のキャッシュサーバ追加処理のキャッシュマネージャのフローチャートである。 実施例1におけるキャッシュサーバ障害時の対応方法を示す図である。 実施例1のキャッシュサーバ障害検出時のシーケンスである。 実施例1のキャッシュマネージャのキャッシュサーバ障害検出時のフローチャートである。 実施例1のキャッシュエージェントのキャッシュサーバ障害検出時のフローチャートである。 実施例1のキャッシュサーバ復旧時のシーケンスである。 実施例1のキャッシュマネージャのキャッシュサーバ復旧時のフローチャートである。 実施例1のキャッシュエージェントのキャッシュサーバ追加要求処理のフローチャートである。 実施例1の距離測定のフローチャートである。 実施例1のping結果から距離を測る例の図である。 実施例1のキャッシュサーバ削除処理のシーケンスである。 実施例1のキャッシュサーバ削除処理のキャッシュマネージャのフローチャートである。 実施例1のルール更新処理のシーケンスである。 実施例1のルール更新処理のキャッシュマネージャのフローチャートである。 実施例1の、ネットワーク構成変化検出処理のキャッシュエージェントのフローチャートである。 実施例1の、キャッシュマネージャの全体フローチャートである。 実施例1のキャッシュエージェントの全体フローチャートである。 本発明の実施例2に係る、キャッシュマネージャの構成を示す図である。 実施例2に係るキャッシュサーバの構成を示す図である。 実施例2のキャッシュサーバ一覧表の構成である。 実施例2のキャッシュサーバ障害検出時のシーケンスである。 実施例2のキャッシュマネージャの全体動作のフローチャートである。 実施例2のキャッシュエージェントの全体動作のフローチャートである。
本発明では、上記従来技術の課題の解決手段として、障害が発生したキャッシュサーバにトラフィックを転送しているPBRルータのトラフィック転送先を、キャッシュサーバの障害発生時に自動的に変更する。具体的には、 キャッシュサーバの障害発生時にPBRルータのトラフィック転送先を障害が発生したキャッシュサーバの代わりとなる別のキャッシュサーバ(以降、予備キャッシュサーバとする)に変更する。ここで、予備キャッシュサーバは、障害が発生したキャッシュサーバにトラフィックを転送しているPBRルータに近い(例えばRTTが小さい)キャッシュサーバとする。そして本発明では、PBRルータのトラフィック転送先変更処理を、二種類の装置(あるいはモジュール)をネットワーク上に設置し、これらの連携によって処理する。本発明ではこれら二種類の装置(またはモジュール)をそれぞれキャッシュエージェント、キャッシュマネージャと呼ぶ。なお、各PBRルータの予備キャッシュサーバ、すなわち各PBRルータに距離的に近いキャッシュサーバの識別情報は、近傍キャッシュ表として予めキャッシュマネージャが持つデータベースに登録しておく。PBRルータのトラフィック転送先変更処理の概要は次の通りである。まずキャッシュエージェントは、自身が障害監視を行っているキャッシュサーバの障害を検出した時にキャッシュマネージャに障害を検出したことを通知し、その後キャッシュサーバを停止する。通知を受けたキャッシュマネージャは予備キャッシュサーバの識別情報が登録されたデータベース(近傍キャッシュ表)を参照し、障害が発生したキャッシュサーバにトラフィックを転送しているPBRルータの識別情報と、該PBRルータの予備キャッシュサーバの識別情報をデータベースから取得する。さらにキャッシュマネージャは、取得した識別情報を持つPBRルータにアクセスし、トラフィックの転送先を予備キャッシュサーバに変更する。
以上のように本発明では、キャッシュサーバの予備キャッシュサーバをあらかじめ用意せず、データベースを用いてキャッシュサーバとその予備キャッシュサーバの関係を動的に管理し、障害が発生したキャッシュサーバにトラフィックを転送しているPBRルータに距離的に近いキャッシュサーバをデータベースから抽出し、予備キャッシュサーバとして使うことで、上記の課題を解決できる。
なお、以下の実施例では、キャッシュサーバの障害対応処理として説明するが、本発明による障害対応処理はキャッシュサーバの障害発生時のみに限らず、キャッシュサーバの定期メンテナンスに伴うキャッシュサーバの停止時やネットワーク構成変化の検出時にも同様に適用することができる。
以下、本発明の実施例を、図面を用いて説明する。
本発明の実施例1に係る、自動障害対応キャッシュシステムについて、説明する。
ここでは、キャッシュサーバの障害発生時に、PBRルータのトラフィック転送先を予備キャッシュサーバに変更する処理を自動化する、自動障害対応キャッシュシステムについて説明する。本実施例は、キャッシュエージェントがキャッシュサーバ装置上で動作する場合の例である。
図1に、本実施例の自動障害対応キャッシュシステムが動作するネットワークの全体構成例を示す。
ネットワーク(1011)は、ISP(Internet Service Provider)やキャリア網などのネットワークであり、コンテンツ等のサービスを提供するサーバ装置(ウェブサーバ,コンテンツサーバなど)(図示略)が接続されている。キャッシュマネージャ(1021)は、本実施例のキャッシュシステムのメインコンポーネント(若しくは装置)である。各キャッシュサーバ(1031、1033、1035)は、前記サーバ装置が保持し各PC等(1061〜1064)に提供するコンテンツの複製を保持し、コンテンツをエンドユーザである各クライアント端末(PC等)に返すコンポーネント(若しくは装置)である。各キャッシュサーバ(1031、1033、1035)上では、各キャッシュエージェント(1032、1034、1036)の機能を担うモジュールが動作する。各キャッシュエージェント((Cache Agent:1032、1034、1036)は本実施例のキャッシュシステムを構成するコンポーネントであり、キャッシュマネージャ(1021)と連携して動作する。
本実施例において、ネットワークは、少なくとも1つのキャッシュマネージャ(1021)と、複数のルータ(1041〜1043)と複数のPBR(Policy Based Routing)ルータ(1051〜1053)によって構成される。
ここでPBRルータとは、転送するトラフィックの条件とトラフィックの転送先を記述したルールを基にルーティングをおこなう機能を持つルータ装置のことである。また、ルータおよびPBRルータに準ずる中継装置を用いるネットワークであれば本実施例と同様のキャッシュシステムを構成できる。
なお、本発明ではネットワーク上の距離を測る指針としてRTT(Round Trip Time、往復遅延時間)を用いる。インターネットプロトコルの下では、RTTはICMP(Internet Control Message Protocol)で計測できる。また、他のプロトコルであってもRTTを計測する手段があれば本発明を適用可能である。なお、距離として物理的距離やホップ数、往復ではなく片道のRTT値など、RTTのほかにPBRルータとキャッシュサーバ間の距離として使用できるものがあれば代用することができる。
なお、ネットワーク(1011)上に、キャッシュマネージャ(1021)の故障時に代替して動作する予備のマネージャとしてキャッシュマネージャ(1022)を設けても良い。
図2A、図2Bに、図1のキャッシュマネージャ(1021)とキャッシュサーバ(1031、1033)の詳細構成を示す。
まず、図2Aに示すように、キャッシュマネージャ(1021)は、CPU(2011)、主記憶(2012)、二次記憶(2013)を含む。主記憶(2012)にはキャッシュマネージャモジュール(2021)と近傍キャッシュ表(2022)とキャッシュサーバ一覧表(2023)がある。キャッシュマネージャモジュール(2021)はキャッシュマネージャ(1021)をコントロールするプログラムの実行時イメージである。キャッシュマネージャモジュール(2021)の動作の詳細は後述する。近傍キャッシュ表(2022)はネットワーク上の各PBRルータに距離的に近いキャッシュサーバ、すなわち予備キャッシュサーバの識別情報を複数保持する表である。ここでは、各PBRルータに距離的に近いキャッシュサーバを順番に、第1近傍キャッシュサーバ、第2近傍キャッシュサーバ、第3近傍キャッシュサーバとして登録する。
二次記憶(2013)には、キャッシュマネージャモジュールプログラム(2031)が含まれる。キャッシュマネージャ(1021)動作時にはキャッシュマネージャモジュールプログラム(2031)を主記憶(2012)上に展開し、キャッシュマネージャモジュール(2021)として実行する。
次に、図2Bに示すように、キャッシュサーバ(1031、1033)は、CPU(2041)、主記憶(2042)、二次記憶(2043)を含む。主記憶(2042)にはキャッシュエージェントモジュール(2051)とキャッシュ管理モジュール(2052)がある。キャッシュエージェントモジュール(2051)はキャッシュエージェント(1032、1034)をコントロールするプログラムの実行時イメージである。キャッシュエージェントモジュール(2051)の動作の詳細は後述する。キャッシュ管理モジュール(2052)はコンテンツのキャッシュや配信をおこなうプログラムの実行時イメージである。二次記憶(2043)にはキャッシュエージェントモジュールプログラム(2061)とキャッシュ管理モジュールプログラム(2062)とキャッシュ管理領域(2063)が含まれる。キャッシュエージェント(1032、1034)動作時にはキャッシュエージェントモジュールプログラム(2061)を主記憶(2042)上に展開し、キャッシュエージェントモジュール(2051)として実行する。キャッシュサーバ(1031、1033)の動作時には、キャッシュ管理モジュールプログラム(2062)を主記憶(2042)上に展開し、キャッシュ管理モジュール(2052)として実行する。本実施例では、キャッシュ管理モジュールプログラム(2062)は汎用のものを利用する。キャッシュ管理領域(2063)はキャッシュ管理モジュール(2052)が管理する領域であり、コンテンツをキャッシュする領域である。
図3Aに、近傍キャッシュ表(2022)の詳細を示す。近傍キャッシュ表(2022)には、ネットワーク上のPBRルータを識別するPBRルータIPアドレス列(3011)と、第1近傍キャッシュサーバのIPアドレスを保持する第1近傍キャッシュサーバIP列(3012)と、第2近傍キャッシュサーバのIPアドレスを保持する第2近傍キャッシュサーバIP列(3016)と、第3近傍キャッシュサーバのIPアドレスを保持する第3近傍キャッシュサーバIP列(3020)と、PBRルータから第1近傍キャッシュサーバ、第2近傍キャッシュサーバ、第3近傍キャッシュサーバそれぞれまでの距離を表す距離1列(3013)、距離2列(3017)、距離3列(3021)がある。また各キャッシュサーバが停止しているか否かを表す停止フラグ列(3014、3018、3022)と、各キャッシュサーバがPBRルータのトラフィック転送先として割り当てられているか否かを表す割当フラグ列(3015、3019、3023)がある。ここでは、キャッシュサーバが停止している場合は停止フラグをオンとして1を設定し、停止していない場合は停止フラグをオフとして0を設定する。同様にPBRルータのトラフィック転送先として割り当てられている場合は割当フラグをオンとして1を設定し、割り当てられていない場合は割当フラグをオフとして0を設定する。なお、ここでは登録するキャッシュサーバ数を3つとしたが、1つ以上であればいくつ登録してもよい。ここでPBRルータを識別するためのIPアドレスは、PBRルータ装置固有のものである。
なお、近傍キャッシュ表(2022)の主キーはPBRルータIPアドレス列(3011)であり、PBRルータIPアドレス列を用いて特定の1行を限定する事ができる。
近傍キャッシュ表には、PBRルータ毎に、各PBRルータから距離的に近い順に第1〜第3近傍キャッシュサーバが設定されるが、これらの距離関係は、キャッシュサーバの故障の有無、キャッシュサーバの追加・削除、あるいは通信環境によって、常に変化する。すなわち、キャッシュマネージャ(1021)は、以下に述べるキャッシュサーバの障害対応処理、キャッシュサーバ復旧対応処理、キャッシュサーバ追加処理、キャッシュサーバ削除処理、及び、ルール更新処理を行い、その過程で、近傍キャッシュ表(2022)やキャッシュサーバ一覧表(2023)を自動的に更新する。従って、近傍キャッシュ表の各PBRルータに対する第1〜第3近傍キャッシュサーバの構成は動的に変化する。
例えば、近傍キャッシュ表のリストの1行目のPBRルータIPアドレス列(3011)のg1.g2.g3.g4が図1のPBRルータ(1051)を指し、このPBRルータ(1051)に対して距離的に近い順に、第1近傍キャッシュサーバ(1031)、第2近傍キャッシュサーバ(1033)、第3近傍キャッシュサー(1035)が登録されているものとする。もし、第1近傍キャッシュサーバ(1031)に障害が発生したときは、このキャッシュサーバ(1031)の停止フラグ1をオン(1)としこのキャッシュサーバ以外でPBRルータ(1051)からの距離が最も小さくかつ停止フラグがオフ(0)の予備キャッシュサーバ、ここでは第2近傍キャッシュサーバ(1033)を新たな第1近傍キャッシュサーバとし、その割当てフラグ2をオン(1)としPBRルータ(1051)のトラフィック転送先に変更する。
また、近傍キャッシュ表の各行のPBRルータに関して、キャッシュサーバIP列(3012、3016、3020)毎に、各キャッシュサーバのCPU使用率、負荷、優先度等を登録するための列を追加しても良い。この点に関しては、後で詳細に説明する。
またキャッシュサーバ一覧表(2023)はネットワーク上に存在するキャッシュサーバの一覧である。
図3Bに、キャッシュサーバ一覧表(2023)を示す。キャッシュサーバ一覧表(2023)には、通し番号であるID列(3024)とキャッシュサーバを識別するキャッシュサーバIPアドレス列(3025)と各キャッシュサーバが停止中であるか否かを表す停止フラグ列(3026)がある。ここで、キャッシュサーバを識別するためのIPアドレスはキャッシュサーバ装置固有のものである。停止フラグについては近傍キャッシュ表(2022)の停止フラグ(3014、3018、3022)と同じである。また、キャッシュサーバ一覧表(2023)の主キーはID列(3024)であり、ID列を用いて特定の1行を限定する事ができる。また、キャッシュサーバIPアドレス列(3025)もユニーク列であり、キャッシュサーバIPアドレス列を用いて特定の1行を限定する事ができる。
ここでPBRルータのトラフィック転送先と転送トラフィック条件を合わせて「ルール」と呼び、図3Cに示すように、PBRルータの転送トラフィック条件5000、ポート番号5001、 トラフィック転送先5002、 キャッシュサーバ5003の指定欄がある。図3Dの設定例では、jyouken destination port 80によって、転送するトラフィックの条件5004を宛先ポート80番に指定している。また、tensou c11.c12.c13.c14によって、転送するトラフィックの条件に合致したトラフィックの転送先5005に、c11.c12.c13.c14を指定している。なお、ルールの設定に使用するコマンドは使用するPBRルータで定められた適切なコマンドを使用する。
図4に、本システムに新たなキャッシュサーバを追加するキャッシュサーバ追加処理のシーケンスを示す。例えば、図1の例において、キャッシュサーバ(1031、1033)が存在する既存のシステムに新たにキャッシュサーバ(1035)を追加することを想定する。なお、自動障害対応キャッシュシステムを新規に自動作成したり、既存のシステムのデータを初期化して再設定する場合にも、同様な処理を行う。
本処理はキャッシュマネージャ(1021)と新たに追加されるキャッシュサーバ(1035)のキャッシュエージェント(1036)の間で執り行われる。まず新しく追加するキャッシュサーバ(1035)上で動作するキャッシュエージェント(1036)がキャッシュマネージャ(1021)に対しキャッシュサーバ追加要求(10001)を出す。続いてキャッシュマネージャ(1021)は新しく追加するキャッシュサーバ(1035)に関するレコードをキャッシュサーバ一覧表(2023)に追加しキャッシュサーバ一覧表を更新する(10002)。
続いてキャッシュマネージャ(1021)は近傍キャッシュ表(2022)のPBRルータIP列(2041)から全てのPBRルータIPを取り出してリストにし、リストの1行目のPBRルータをPBRルータAとして(10003)、キャッシュエージェント(10021)にPBRルータAとの距離測定指示(10004)を出す。キャッシュエージェント(10021)は距離測定結果をキャッシュマネージャ(1021)に通知する(10005)。(なお、距離測定の処理に関しては、図14B、図15参照)。
続いて、キャッシュマネージャ(1021)は、キャッシュエージェント(10021)から返された距離測定結果を集計し、距離が小さいキャッシュサーバを近傍キャッシュ表(2022)に追加し更新(10006)する。その後、キャッシュマネージャ(1021)はPBRルータ(1051)にアクセスし、コマンドライン経由でルール(転送するトラフィックの条件とトラフィックの転送先)を設定(10007)する。PBRルータAのルール設定が完了後、キャッシュマネージャ(1021)はリストの2行目のPBRルータを取りだしPBRルータAとし(10008)、キャッシュエージェント(10021)にPBRルータAとの距離測定指示(10009)を出す。以後、リストの残りについても上記処理を続ける。
上記のように、本システムはキャッシュエージェント(1032、1034)の起動をトリガに、各PBRルータに対して転送するトラフィックの条件とトラフィックの転送先の設定を自動処理する。なお、キャッシュエージェント(1032、1034)が起動後にキャッシュマネージャ(1021)に追加要求をおこなうには、キャッシュマネージャ(1021)のIPアドレスなどの識別情報をキャッシュエージェント(1032、1034)が保持している必要がある。ここでは、キャッシュエージェント(1032、1034)は起動した時点でキャッシュマネージャ(1021)のIPアドレスなどの識別情報を保持しているとし、キャッシュエージェント(1032、1034)の起動をトリガとした。
図5に、図4のキャッシュサーバCを追加する処理のうち、近傍キャッシュ表(2022)の更新処理(10006)のフローチャートを示す。キャッシュマネージャ(1021)は追加されるキャッシュサーバCについての近傍キャッシュ表更新処理開始後(11001)、キャッシュサーバ一覧表からキャッシュサーバCの停止フラグがオフであるか否かを判断する(11002)。続いてキャッシュマネージャ(1021)はキャッシュサーバC上で動作するキャッシュエージェント(1032、1034)にPBRルータAとの距離測定を指示する(11003)。その後変数nを1に設定する(11004)。続いてキャッシュマネージャ(1021)はキャッシュエージェント(1032、1034)から距離測定結果を受け取り、その結果が近傍キャッシュ表(2022)のPBRルータAレコードの距離nに登録されている値よりも小さいか否かを判断する(11006)。大きかった場合は、変数nの値が最大登録キャッシュサーバ数と一致するか否かを判断(11007)し、一致しない場合は変数nの値に1を加えて(11005)処理11006に戻り、大きかった場合は処理を終了する。小さかった場合は第nキャッシュサーバIPを第n+1キャッシュサーバIPに登録し、距離nを距離n+1に登録する(11008)。続いてキャッシュサーバCのIPアドレスを近傍キャッシュ表(2022)のPBRルータAレコードの第nキャッシュサーバIPに登録し、距離nには受け取った距離測定結果を登録する(11009)。その後処理を終了する。
図6A、図6Bに、図4のキャッシュサーバ追加処理のうち、キャッシュサーバ一覧表更新処理(10002)とルール設定処理(10007)のフローチャートを示す。
図6Aは、キャッシュサーバ一覧表(2023)の更新処理のフローチャートである。キャッシュマネージャ(1021)はキャッシュサーバCのキャッシュサーバ一覧表更新処理開始(12001)後、キャッシュエージェント(1032、1034)から送られてきた追加要求メッセージに含まれるキャッシュサーバCのIPアドレスをキャッシュサーバ一覧表(2023)に追加(12002)し、処理を終了(12003)する。なお、キャッシュエージェント(1032、1034)から削除要求メッセージが送られてきた場合には、キャッシュサーバCのIPアドレスをキャッシュサーバ一覧表(2023)から削除(12002)し、処理を終了(12003)する。
図6Bは、ルール設定処理のフローチャートである。キャッシュマネージャ(1021)はPBRルータAのルール設定処理開始後(12004)、sshコマンドなどによってPBRルータAにアクセス(12005)する。なお、ここではPBRルータにアクセスするためにsshコマンドを用いたが、同様の機能を持ったコマンドまたは手段があれば代用できる。その後、近傍キャッシュ表(2022)からPBRルータAレコードに登録されている第1近傍キャッシュサーバのIPアドレスを取り出す(12006)。続いて取り出したIPアドレスを転送先にコマンドラインから設定し、同様に転送条件を設定(12007)する。その後処理を終了(12008)する。
図7に、図4のキャッシュサーバ追加処理のうち、キャッシュマネージャ(1021)の処理部分のフローチャートを示す。キャッシュマネージャ(1021)はキャッシュサーバCの追加処理開始(13001)後、図6AのキャッシュサーバCのキャッシュサーバ一覧表更新処理(13002)を実行する。続いて近傍キャッシュ表(2022)から全レコードのPBRルータIPアドレス列(2041)を取りだしPBRルータ配列を作る(13003)。続いて変数PBRルータAにPBRルータ配列の先頭をコピー(13004)し、PBRルータ配列の先頭を削除(13005)する。その後図5のキャッシュサーバCについての近傍キャッシュ表更新処理をおこなう(13006)。続いて図6BのPBRルータAのルール設定処理(13007)をおこない、PBRルータ配列に続きがあるか否かを判断(13008)する。続きがある場合、手順13004に戻り、続きがなければそのまま処理を終了(13009)する。
続いて、本実施例の自動障害対応キャッシュシステムの全体的な動作を説明する。ここでは、本システムにおいてキャッシュエージェントがキャッシュサーバの障害を検出した場合の処理と、キャッシュエージェントが障害から復旧したキャッシュサーバを検出した場合の処理について記す。
すなわち、以下では、図8に示したように、キャッシュエージェント(1032)が第1のキャッシュサーバ(1031)の障害を検出した場合、及び、その後復旧した場合を想定して説明する。障害の発生したキャッシュサーバ(1031)上で動作するキャッシュエージェント(1032)は、キャッシュマネージャ(1021)に「障害検出」の通知を行う。これを受けて、キャッシュマネージャ(1021)は、障害が発生した第1のキャッシュサーバ(1031)を停止させ、近傍キャッシュ表2022を参照し、この近傍キャッシュ表のリストの1行目のPBRルータ(1051)に関して、障害が発生した第1のキャッシュサーバ(1031)以外で距離が最も小さくかつ停止フラグがオフの第2のキャッシュサーバを予備キャッシュサーバとしそのIPアドレスを取得する。そして、PBRルータ(1051)のトラフィック転送先を指定された第2のキャッシュサーバ(1033)に変更する。キャッシュマネージャは、リストの1行目のPBRルータの転送先変更の完了後、近傍キャッシュ表のリストの2行目のPBRルータ(1052)に関して、トラフィック転送先の変更の処理を行い、転送先を指定された予備キャッシュサーバに変更する。同様に、近傍キャッシュ表の各行のPBRルータの転送先の変更処理を行う。以下、詳細に説明する。
図9に、本システムにおいて、キャッシュエージェント(1032)が第1のキャッシュサーバ(1031)の障害を検出した場合のキャッシュサーバ障害対応処理シーケンスを示す。本処理は、障害が発生したキャッシュサーバ上で動作するキャッシュエージェント(1032)とキャッシュマネージャ(1021)の間で執り行われる。まず、障害が発生した第1のキャッシュサーバ(1031)上で動作するキャッシュエージェント(1032)がキャッシュマネージャ(1021)に対して障害検出通知を出し(4001)、第1のキャッシュサーバ(1031)を停止する(4002)。続いて、キャッシュマネージャ(1021)は、キャッシュサーバ一覧表(2023)に登録されている障害が発生した第1のキャッシュサーバ(1031)のレコードの停止フラグ(3026)をオンに設定(4003)する。
続いて、キャッシュマネージャ(1021)は、近傍キャッシュ表(2022)のPBRルータIP列(3011)のうち、障害が発生した第1のキャッシュサーバ(1031)が関連する複数のPBRルータIPを取り出してリストにし、このリストの1行目のPBRルータ(1051)をPBRルータAとする(4004)。次にキャッシュマネージャ(1021)はPBRルータAレコードの障害が発生した第1のキャッシュサーバ(1031)の停止フラグ(3014)をオンに設定し、割当フラグ(3015)をオフに設定する(4005)。さらにキャッシュマネージャ(1021)はPBRルータAレコードのうち、障害が発生した第1のキャッシュサーバ(1031)以外で距離が最も小さくかつ停止フラグがオフである第2のキャッシュサーバIPを近傍キャッシュ表(2022)から取り出し、予備キャッシュサーバBとする(4006)。最後に、キャッシュマネージャ(1021)はPBRルータA(1051)にアクセスし、コマンドライン経由でトラフィック転送先を予備キャッシュサーバB(第2のキャッシュサーバ1033)に変更する(4007)。なお、ここではトラフィックの転送先のみを変更したが、PBRルータにはトラフィックの転送先だけでなく、転送するトラフィックの条件があらかじめ設定されているとする(図3C、図3D参照)。
PBRルータA(1051)の転送先変更が完了後、キャッシュマネージャ(1021)はPBRルータIP列(3011)のリストの2行目のPBRルータ(1052)を取りだしPBRルータAとし(4008)、キャッシュマネージャ(1021)はPBRルータAレコードの障害が発生した第1のキャッシュサーバ(1031)の停止フラグをオンに設定し、割当フラグをオフに設定する(4009)。さらにキャッシュマネージャ(1021)は2行目のPBRルータAレコードのうち、障害が発生した第1のキャッシュサーバ(1031)以外で距離的に近くかつ停止フラグがオフであるキャッシュサーバIPを近傍キャッシュ表(2022)から取り出し、予備キャッシュサーバBとする。PBRルータIP列(3011)のリストの3行目のPBRルータ(1053)についても、同様に取りだしてPBRルータAとし、以後、上記処理を続ける。
上記のように、本システムはキャッシュエージェント(1032、1034、−)が、自身が動作するキャッシュサーバ(1031、1033、−)の障害検出をトリガに各PBRルータのトラフィック転送先を障害が発生したキャッシュサーバに距離的に近い別のキャッシュサーバ、すなわち予備キャッシュサーバに自動変更する。なお、ここでは障害が発生したキャッシュサーバにトラフィックを転送していたPBRルータ装置に距離的に近いキャッシュサーバを予備キャッシュサーバとして使用したが、キャッシュマネージャが保持する近傍キャッシュ表に各キャッシュサーバのCPU使用率やキャッシュシステム管理事業者が設定する各キャッシュサーバの優先度フラグを登録し、各PBRルータとキャッシュサーバ間の距離に加えて該情報を用いて予備キャッシュサーバを選択することも可能である。例えばPBRルータからの距離が20ms以下のキャッシュサーバのうちCPU使用率が一番低いキャッシュサーバを予備キャッシュサーバとして使う場合が考えられる。この場合、予備キャッシュサーバが過負荷になることを回避し予備キャッシュサーバの障害発生率を抑えることが期待できる。
また、キャッシュサーバ装置を設置するキャッシュシステム管理事業者が各キャッシュサーバの性能を考慮して優先度フラグを設定し、PBRルータ装置との距離と各キャッシュサーバのCPU使用率に加えて優先度フラグに基づいて予備キャッシュサーバを選択することも考えられる。優先度フラグについては、キャッシュサーバのCPU性能が高い、HDDやSDD容量が大きいキャッシュサーバを高性能なキャッシュサーバとして他のキャッシュサーバよりも優先して予備キャッシュサーバとして使うことを目的として登録することが考えられる。例えば、高性能なキャッシュサーバの優先度フラグをオンに設定し、優先度フラグがオンとなっているキャッシュサーバのうち、PBRルータとの距離が一番小さいかつCPU使用率が一番小さいキャッシュサーバを予備キャッシュサーバとして選択することが考えられる。なお、優先度フラグは、キャッシュサーバ追加時にキャッシュエージェントがキャッシュマネージャに対して通知する追加要求メッセージの中に優先度フラグを含めるとする。上記のように優先度フラグを選択基準の一つとして使う場合、高性能なキャッシュサーバを優先的に予備キャッシュサーバとして使うことができる。ここで高性能なキャッシュサーバ、すなわちCPU性能が高い場合はエンドユーザに対するレスポンス速度が高速であることが期待でき、HDDやSDD容量が大きい場合は多くのコンテンツを保持することができるためエンドユーザが要求してきたコンテンツに対するヒット率が高いことが期待できる。
あるいはまた、キャッシュマネージャが、ネットワーク上での各PCからのサーバ装置へのアクセスランキング、換言するとコンテンツ等のサービスの人気ランキングに基づいて、各サーバ装置のキャッシュ状況を事前に把握し、そのようなサーバ装置に関係するキャッシュサーバの優先度を高く設定しておくことも考えられる。これにより、エンドユーザのキャッシュヒットヒット率を高めることかできる。
なお、キャッシュエージェント(1032、1034)がキャッシュサーバの障害検出後にキャッシュマネージャ(1021)に障害検出通知をおこなうには、キャッシュマネージャ(1021)のIPアドレスなどの識別情報をキャッシュエージェント(1032、1034、−)が保持している必要がある。ここでは、キャッシュエージェント(1032、1034)は起動した時点でキャッシュマネージャ(1021)のIPアドレスなどの識別情報を保持しているとした。
図10に、キャッシュサーバ障害対応処理のうちキャッシュマネージャ(1021)のフローチャートを示す。キャッシュマネージャ(1021)は障害が発生したキャッシュサーバC(例えばキャッシュサーバ1031)についての障害対応処理開始(6001)後、キャッシュサーバ一覧表に登録されている障害が発生したキャッシュサーバの停止フラグをオンに設定する(6002)。その後近傍キャッシュ表のうち、障害が発生したキャッシュサーバCが関連する複数のPBRルータのIPアドレスを取り出し、PBRルータ配列を作成する(6003)。続いて変数PBRルータAにPBRルータ配列の先頭をコピー(6004)し、PBRルータ配列の先頭を削除(6005)する。その後近傍キャッシュ表(2022)に登録されているPBRルータAレコードの障害が発生したキャッシュサーバCの割当フラグがオンであるか否かを判断する(6006)。割当フラグがオンでない場合は処理6017に移動する。割当フラグがオンである場合、変数nを1に設定(6007)し、障害が発生したキャッシュサーバCが第nキャッシュサーバとして登録されているか否かを判断する(6008)。登録されていない場合は、変数nに1を加えて(6009)手順6008に戻る。登録されている場合は、第n+1キャッシュサーバの停止フラグがオンであるか否かを判断する(6011)。そして該停止フラグがオンである場合にはn+1が近傍キャッシュ表(2022)のうち、各PBRルータに対して登録されているキャッシュサーバ数と同じであるかを判断(6012)する。
なお、図3Aの近傍キャッシュ表(2022)の場合、各PBRルータに対して登録されているキャッシュサーバ数は3である。同じである場合はPBRルータAにssh(Secure Shell)コマンドなどによってアクセスしてPBR機能を無効化(6015)し、手順6017に移動する。なお、ここではPBRルータにアクセスするためにsshコマンドを用いたが、同様の機能を持ったコマンドまたは手段があれば代用できる。同じでない場合は変数nに1を加えて(6010)手順6011に戻る。また、第n+1キャッシュサーバの停止フラグがオンでない場合は、変数予備キャッシュサーバBにPBRルータAレコードの第n+1キャッシュサーバのIPアドレスを代入する(6013)。続いてPBRルータAにsshでアクセスし、PBRルータAのトラフィック転送先を予備キャッシュサーバBに変更する(6014)。続いて第n+1キャッシュサーバの割当フラグをオンに設定(6016)し、障害が発生したキャッシュサーバCの停止フラグをオンに設定する(6017)。その後、PBRルータ配列に続きがあるか否かを判断(6018)し、続きがある場合には手順6004に戻り、無い場合には処理を終了する(6019)。
図11に、キャッシュサーバ障害対応処理のうち、キャッシュエージェント(1032、1034)の障害検出通知処理のフローチャートを示す。キャッシュエージェント(1032、1034)は障害検出通知処理を開始(7001)後、キャッシュマネージャ(1021)に対して障害検出メッセージを送信(7002)し処理を終了(7003)する。ここで障害検出メッセージは本システムのキャッシュエージェント(1032、1034)による障害検出メッセージであることをキャッシュマネージャ(1021)が確認できる形式とし、メッセージ内に障害が発生したキャッシュサーバのIPアドレスを含むとする。なお、障害が発生したキャッシュサーバにトラフィックを転送しているPBRルータの転送先を変更することがキャッシュマネージャ(1021)に伝わるメッセージであれば、障害検出メッセージの形式は任意とする。
また、キャッシュエージェント(1032、1034)がキャッシュサーバの復旧を検出した場合には、キャッシュエージェント(1032、1034)がキャッシュマネージャ(1021)に対してキャッシュサーバ復旧検出通知をおこなう。復旧検出メッセージの形式は任意であるが、本システムのキャッシュエージェント(1032、1034)による復旧検出メッセージであることをキャッシュマネージャ(1021)が確認できる形式とし、メッセージ内に復旧したキャッシュサーバのIPアドレスを含むとする。
ここまでの処理で本システムにおいて障害が発生したキャッシュサーバの障害対応処理をおこなうことができる。なお、障害が発生したキャッシュサーバに距離的に近いキャッシュサーバを予備キャッシュサーバとして使うことで、エンドユーザからのリクエストに対するレスポンス速度を劣化させないという利点がある。
続いて障害が発生して停止していたキャッシュサーバが本システムに復旧した場合の処理について記す。
図12に、本システムに障害が発生して停止していたキャッシュサーバが復旧した場合の処理のシーケンスを示す。本処理は、キャッシュマネージャ(1021)と復旧したキャッシュサーバ(1031)上で動作するキャッシュエージェント(1032)の間で執り行われる。まず復旧したキャッシュサーバ(1031)上で動作するキャッシュエージェント(1032)がキャッシュマネージャ(1021)に対しキャッシュサーバ復旧通知(8001)を出す。続いてキャッシュマネージャ(1021)はキャッシュサーバ一覧表のうち、復旧したキャッシュサーバ(1031)の停止フラグをオフに設定する(8002)。
続いてキャッシュマネージャ(1021)は近傍キャッシュ表(2022)のPBRルータIP列(3011)のうち、復旧したキャッシュサーバ(1031)が関連する複数のPBRルータIPを取り出してリストにし、リストの1行目のPBRルータをPBRルータAとする(8003)。次にキャッシュマネージャ(1021)はPBRルータAレコードの復旧したキャッシュサーバ(1031)の停止フラグ(3014、3018、3022)をオフに設定し、割当フラグ(3015、3019、3023)をオンに設定する(8004)。さらにキャッシュマネージャ(1021)はPBRルータAにアクセスし、コマンドライン経由で転送するトラフィック転送先を復旧したキャッシュサーバに設定する(8005)。
PBRルータAの転送先変更が完了後、キャッシュマネージャ(1021)はリストの2行目のPBRルータを取りだしPBRルータAとし(8006)、キャッシュマネージャ(1021)はPBRルータAレコードの復旧したキャッシュサーバ(1031)の停止フラグ(3014、3018、3022)をオンに設定し、割当フラグ(3015、3019、3023)をオフに設定する(8007)。さらにキャッシュマネージャ(1021)はPBRルータAにアクセスし、コマンドライン経由で転送するトラフィック転送先を復旧したキャッシュサーバに設定する(8008)。以後、リストの残りについても上記処理を続ける。
図13に、キャッシュサーバ復旧対応処理のうちキャッシュマネージャ(1021)による処理のフローチャートを示す。キャッシュマネージャ(1021)は復旧したキャッシュサーバC(1031)についての復旧対応処理開始(9001)後、キャッシュサーバ一覧表に登録されている復旧したキャッシュサーバの停止フラグをオフに設定する(9002)。その後近傍キャッシュ表のうち、復旧したキャッシュサーバCが関連する複数のPBRルータのIPアドレスを取り出し、PBRルータ配列を作成する(9003)。続いて変数PBRルータAにPBRルータ配列の先頭をコピー(9004)し、PBRルータ配列の先頭を削除(9005)する。その後、変数nを1に設定する(9006)。続いて近傍キャッシュ表(2022)に登録されているPBRルータAレコードのうち、復旧したキャッシュサーバCが第nキャッシュサーバとして登録されているか否かを判断する(9007)。登録されていない場合、変数nに1を加えて(9008)手順9007に戻る。登録されている場合は、第n+1キャッシュサーバの割当フラグがオンであるか否かを判断する(9009)。割当フラグがオンでない場合は手順9012に進む。割当フラグがオンである場合はPBRルータAにsshでアクセスし、PBRルータAのトラフィック転送先を復旧したキャッシュサーバCに変更する(9010)。続いて第n+1キャッシュサーバの割当フラグをオフに設定し、第nキャッシュサーバの割当フラグをオンに設定する(9011)。続いて復旧キャッシュサーバCの停止フラグをオフに設定する(9012)。最後にPBRルータ配列に続きがあるか否かを判断(9013)し、続きがある場合は処理9004に戻り、続きが無い場合は処理を終了(9014)する。
ここまでの処理で本システムに復旧したキャッシュサーバの復旧対応処理をおこなうことができる。
続いて本システムに新たなキャッシュサーバを追加する場合の処理について記す。
図14Aは、キャッシュサーバ追加要求処理のフローチャートである。キャッシュエージェント(1032、1034、−)はキャッシュサーバ追加要求処理開始(14001)後、キャッシュマネージャ(1021)に追加要求メッセージを送信(14002)し、処理を終了(14003)する。ここで追加要求メッセージは本システムのキャッシュマネージャ(1021)がキャッシュエージェント(1032、1034)による追加要求メッセージであることを確認できる形式とし、メッセージ内に追加するキャッシュサーバのIPアドレスを含むとする。なお、新しく追加するキャッシュサーバをキャッシュサーバ一覧表(2023)に登録することを要求する旨がキャッシュマネージャ(1021)に伝わるメッセージであれば、追加要求メッセージの形式は任意とする。
図14Bは、距離測定処理のフローチャートである。キャッシュエージェント(1032、1034)はPBRルータXとの距離測定処理開始(14004)後、PBRルータXにpingを発行(14005)して距離を測定する。すなわち、Pingにより、リプライが返ってくるまでの時間から対象ノード間のラウンドトリップタイムを求める。その後測定結果をキャッシュマネージャ(1021)に返し(14006)、処理を終了(14007)する。
ここで、図14Bの手順14005の具体例を、図15に示す。図15では、aaa.example.com [a1.a2.a3.a4]からzzz.example.com [z1.z2.z3.z4]にpingを発行した例である。pingの結果、距離の4回平均が11msであることが判る。この結果から、距離として11msが得られる。なお、ここでは距離を測定する手段として広く用いられているpingプログラムを用いたが、同様の機能を持った別のプログラムを用いてもいい。
以上によって、本システムに新たにキャッシュサーバを追加することができる。続いて、本システムからキャッシュサーバを削除する場合の例について説明する。
図16に、本システムにキャッシュサーバを削除するキャッシュサーバ削除処理のシーケンスを示す。例えば、図1の例において、キャッシュサーバ(1031、1033、1037)が存在する既存のシステムから第4のキャッシュサーバ(1037)を削除することを想定する。
本処理は、キャッシュマネージャ(1021)と全てのキャッシュエージェント(1032、1034、1038)の間で執り行われる。まずこれから削除する第4のキャッシュサーバ(1037)上で動作するキャッシュエージェント(1038)が、キャッシュマネージャ(1021)に対しキャッシュサーバ削除要求(16001)を出す。続いてキャッシュマネージャ(1021)は削除するキャッシュサーバ(1037)に関するレコードをキャッシュサーバ一覧表(2023)から削除しキャッシュサーバ一覧表を更新(16002)する。次にキャッシュマネージャ(1021)は近傍キャッシュ表(2022)内のこれから削除するキャッシュサーバ(1037)に関する複数の行を取り出してリストを作成し、リストの1行目のPBRルータを取りだしPBRルータAとする(16003)。続いてキャッシュマネージャ(1021)はこれから削除する第4のキャッシュサーバ(1037)以外のキャッシュサーバ(1031、1033)のキャッシュエージェント(1032、1034)にPBRルータAとの距離測定指示(16004)を出す。その後キャッシュマネージャ(1021)はキャッシュエージェント(1032、1034)から距離測定結果を受け取り(16005)、距離測定結果を用いて近傍キャッシュ表を更新する(16006)。続いてキャッシュマネージャ(1021)はPBRルータAにルールを設定する(16007)。以後、リストの残りに対しても手順16004から手順16007を繰り返しおこなう。
図17に、図16のキャッシュサーバ削除処理のうち、キャッシュマネージャ(1021)の処理部分のフローチャートを示す。キャッシュマネージャ(1021)はキャッシュサーバC(1037)の削除処理開始(17001)後、キャッシュサーバCのIPアドレスをキャッシュサーバ一覧表(2023)から削除しキャッシュサーバ一覧表を更新する(17002)。続いてキャッシュマネージャ(1021)は近傍キャッシュ表(2022)からキャッシュサーバC(1037)を含む全レコードのPBRルータIPアドレス列(2041)を取りだしPBRルータ配列を作る(17003)。続いてキャッシュマネージャ(1021)は変数PBRルータAにPBRルータ配列の先頭をコピー(17004)し、PBRルータ配列の先頭を削除(17005)する。その後キャッシュマネージャ(1021)はPBRルータAとキャッシュサーバC以外の全キャッシュエージェント(1032、1034)について近傍キャッシュ表更新処理(17006)をおこない、PBRルータAのルール設定処理(17007)をおこなう。続いてキャッシュマネージャ(1021)はPBRルータ配列に続きがあるか判断(17008)し、あれば手順17004に戻り、なければ処理を終了(17009)する。
ここまでの処理で本システムからキャッシュサーバを削除することができる。続いて本システムのPBRルータに設定されたルールを更新する場合の処理について記す。
図18に、全PBRルータのルールを更新するためのルール更新処理のシーケンスを示す。ルール更新処理は、図7のキャッシュサーバ追加処理のうちのキャッシュサーバ一覧表更新処理以降の処理(13003〜13009)を実行することで実現できる。まずキャッシュマネージャ(1021)は近傍キャッシュ表(2022)のPBRルータIP列(2041)から全てのPBRルータIPを取り出してリストにし、リストの1行目のPBRルータをPBRルータAとし(18001)、全キャッシュエージェント(1032、1034、−)にPBRルータAとの距離測定指示(18002)を出す。その後、キャッシュマネージャ(1021)はキャッシュエージェント(1032、1034、−)から距離測定結果を受け取り(18003)、その結果を基に近傍キャッシュ表を更新する(18004)。その後、キャッシュマネージャ(1021)はPBRルータAにルールを設定(18005)する。以後、リストの残りについても上記処理を続ける。
図19に、図18のルール更新処理のうちキャッシュマネージャ(1021)の処理部分のフローチャートを示す。キャッシュマネージャ(1021)はルール更新処理開始(19001)後、近傍キャッシュ表(2022)から全レコードのPBRルータIPアドレス列(2041)を取りだしPBRルータ配列を作る(19002)。続いて変数PBRルータAにPBRルータ配列の先頭をコピー(19003)し、PBRルータ配列の先頭を削除(19004)する。その後キャッシュマネージャ(1021)はPBRルータAと全キャッシュサーバ(1031、1033、−)上で動作するキャッシュエージェント(1032、1034、−)について近傍キャッシュ表更新処理(19005)をおこない、次にPBRルータAのルール設定処理(19006)をおこなう。続いてキャッシュマネージャ(1021)はPBRルータ配列に続きがあるか判断(19007)し、あれば手順19003に戻り、なければ処理を終了(19008)する。なお、ルール更新処理を実行するトリガとしてはいくつかのバリエーションが考えられる。例えば、各キャッシュエージェント(1032、1034、−)がネットワーク構成の監視を行い、ネットワーク構成が変化したことを検出した場合にキャッシュエージェント(1032、1034)がキャッシュマネージャ(1021)に対してネットワーク構成変化検出通知を行う。この通知をトリガにキャッシュマネージャ(1021)がルール更新を行うことが考えられる。
キャッシュエージェント(1032、1034、−)のネットワーク構成変化検出処理のフローチャートは、図20のようになる。
図20は、キャッシュエージェント(1032、1034、−)のネットワーク構成変化検出処理のフローチャートである。まずキャッシュエージェント(1032、1034、−)はネットワーク構成変化検出処理開始(20001)後、キャッシュサーバ一覧表(2023)からキャッシュサーバIP列を取り出しキャッシュサーバ配列を作る(20002)。続いて変更キャッシュサーバC(例えばキャッシュサーバ1037)にキャッシュサーバ配列の先頭IPアドレスを代入する(20003)。続いてキャッシュサーバ配列の先頭を削除する(20004)。その後キャッシュサーバCに対してtracerouteを実行する(20005)。この”traceroute”コマンドにより、ネットワーク経路をリスト表示させる。続いてtracerouteの結果得た経路が、経路リストに登録された経路と一致するか否かを判定する(20006)。一致しない場合は、得た経路を経路リストに新しく登録(20007)し、キャッシュマネージャ(1021)に対してネットワーク構成変化検出通知(20008)を行う。一致する場合はキャッシュサーバ配列に続きがあるか否かを判定(20009)し、続きがある場合は手順20003に戻り、ない場合は処理を終了(20010)する。なお、ここでは経路を取得する手段として広く用いられているtracerouteプログラムを用いたが、同様の機能を持った別のプログラムを用いてもいい。
他にネットワーク構成の変化検出方法として既存の障害検出システム(例えばhttp://h50146.www5.hp.com/products/software/oe/hpux/component/ha/serviceguard_A_11_20.htmlに記載の障害検出システム)を利用し、該システムのアラートによって検出する方法がある。なお、他の既存の障害検出装置や障害検出方法など、障害やネットワーク構成の変化を検出するものであれば代用できる。
最後に、これまでに説明した個々の処理手順を統合して、キャッシュマネージャ(1021)の動作を図21に、キャッシュエージェント(1032、1034、−)の動作を図22に示す。
図21は、キャッシュマネージャの動作フローチャートである。キャッシュマネージャ(1021)は起動(21001)後、近傍キャッシュ表(2022)にPBRルータのIPアドレスを登録(21002)する。これは初期値として与えるPBRルータIPアドレスの一覧であり、ここでは人手で入力する。他にも設定ファイルに書くといった方法が考えられる。続いてキャッシュマネージャモジュール(2021)を起動(21003)し、これ以降は処理依頼を待ちうける。キャッシュサーバ追加要求があった場合(21004)は、図7のキャッシュサーバ追加処理を実行(21005)する。また、キャッシュサーバ削除要求があった場合(21006)は、図17のキャッシュサーバ削除処理を実行(21007)する。また、キャッシュエージェント(1032、1034、−)から障害検出通知があった場合(21008)は、図10のキャッシュサーバ障害対応処理を実行(21009)する。ここで障害とは装置の故障などのほかに、ネットワーク構成の変化なども含むものとし、これらを検出することを障害の検出とする。
本実施例では、キャッシュエージェント(1032、1034、−)がキャッシュサーバの障害を検出するとしたが、キャッシュマネージャ(1021)からキャッシュサーバ(1032、1034、−)に対してpingコマンドを定期的に実行し、pingコマンドに対するキャッシュサーバ(1032、1034、−)からの応答が無い場合を障害として検出することも可能である。なお、ここではキャッシュマネージャ(1021)がキャッシュサーバ(1032、1034、−)の生存確認をおこなうためにpingコマンドを用いたが、キャッシュマネージャ(1021)がキャッシュサーバ(1032、1034、−)の生存確認をおこなえる手段であれば代用できる。キャッシュエージェント(1032、1034、−)からキャッシュサーバの復旧通知があった場合(21010)は、図13のキャッシュサーバ復旧対応処理を実行(21011)する。また、ルール更新トリガイベントが発生した場合(21012)は図19のルール更新処理を実行(21013)する。
図22は、キャッシュエージェント(1032、1034、−)の動作フローチャートである。キャッシュエージェントは起動(22001)後、キャッシュエージェントモジュールを起動(22002)し、キャッシュマネージャ(1021)にキャッシュサーバ追加要求(22003)をおこなう。これ以降は処理の依頼を待ちうける。距離測定依頼があった場合(22004)は、図14BのPBRルータXとの距離測定処理を実行(22005)する。また、自身が動作するキャッシュサーバの障害を検出した場合(22006)は、図11の障害検出通知処理を実行(22007)する。この待ち受け中に管理者から明示的に終了指示があった場合(22006)はキャッシュマネージャ(1021)にキャッシュサーバ削除要求を出し(22007)、キャッシュエージェント(1032、1034)を停止(22008)する。
以上によって、キャッシュサーバ障害対応処理、キャッシュサーバ復旧対応処理、キャッシュサーバ追加処理、キャッシュサーバ削除処理、ルール更新処理をおこなうことができる。
以上の処理手順を実装したキャッシュマネージャ(1021)とキャッシュエージェント(1032、1034、−)を用いて図1の構成を取ることで、キャッシュサーバの障害発生時に障害が発生したキャッシュサーバに距離的に近い別のキャッシュサーバにエンドユーザのトラフィックを転送することができ、エンドユーザは継続してキャッシュサーバを利用することができる。さらにキャッシュエージェント(1032、1034、−)がキャッシュサーバの障害検出通知をトリガにPBRルータのトラフィック転送先の変更処理を自動処理することができる。
本実施例の適用例として、自動障害対応キャッシュシステムは、1台のキャッシュマネージャと、数千台のPBRルータと、100台乃至1000台程度のキャッシュサーバとで構成される。すなわち、本実施例を例えば特許文献1に記載の従来方式と比較すると、本実施例では1台のキャッシュマネージャをシステム上に新たに設ける必要がある。しかし、従来は現用キャッシュサーバと固定的な関係にある予備キャッシュサーバの台数の関係が、1対1もしくは1対複数(1桁)と多く設ける必要があるのに対し、本実施例では予備キャッシュサーバを動的に管理するので、このような制約が無くなり、ネットワーク上にキャッシュサーバが多数ある場合でも、1台のキャッシュマネージャで全てのキャッシュサーバを有効に利用できる。すなわち、本実施例によれば、キャッシュサーバの予備キャッシュサーバやロードバランサをあらかじめ用意せず、データベースを用いてキャッシュサーバとその予備キャッシュサーバの関係を動的に管理し、障害が発生したキャッシュサーバにトラフィックを転送しているPBRルータに距離的に近いキャッシュサーバをデータベースから抽出し、予備キャッシュサーバとして使うことができる。
ネットワーク上に例えば1000台のキャッシュサーバがあれば、それらの各々を他のキャッシュサーバの予備キャッシュサーバとして機能させることができる。
これにより、あるキャッシュサーバに障害が発生した時でも、エンドユーザは他のキャッシュサーバを継続して利用でき、エンドユーザに対するSLAを保証できる。しかも、キャッシュサーバに対して固定的な関係にある予備キャッシュサーバやロードバランサが不要になるので、キャッシュシステム管理事業者が負担する設備コストの削減や、メンテナンスに伴う運用コストの削減に貢献できる。
本実施例は実施例1のバリエーションであり、実施例1においてキャッシュマネージャ装置が行っていたキャッシュサーバの障害対応処理、キャッシュサーバ復旧対応処理、キャッシュサーバ追加処理、キャッシュサーバ削除処理、ルール更新処理を複数あるキャッシュエージェントのうちのひとつのキャッシュエージェントが代表して行う場合の例を説明する。なお、キャッシュエージェントはキャッシュサーバ上で動作するとする。この場合、キャッシュマネージャ装置は上記処理を行う代表キャッシュエージェントを選択する装置として動作するという特徴がある。そこで本実施例では上記の特徴に合わせてキャッシュマネージャ、キャッシュエージェントそれぞれの構成とキャッシュマネージャとキャッシュエージェントの動作に変更を加えている。なお、本実施例のその他の構成は実施例1の図1と同じである。
図23A、図23Bに、本実施例のキャッシュマネージャ(1021)とキャッシュサーバの詳細構成を示す。図23Aにおいて、キャッシュマネージャ(1021)はCPU(23011)、主記憶(23012)、二次記憶(23013)を含む。主記憶(23012)にはキャッシュマネージャモジュール(23021)とキャッシュサーバ一覧表(23022)がある。キャッシュマネージャモジュール(23021)はキャッシュマネージャ(1021)をコントロールするプログラムの実行時イメージである。キャッシュマネージャモジュール(23021)の動作の詳細は後述する。またキャッシュサーバ一覧表(23022)はネットワーク上に存在するキャッシュサーバの一覧である。
図23Bにおいて、キャッシュサーバ(1031、1033、−)はCPU(23041)、主記憶(23042)、二次記憶(23043)を含む。主記憶(23042)にはキャッシュエージェントモジュール(23051)とキャッシュ管理モジュール(23052)と近傍キャッシュ表(23053)がある。キャッシュエージェントモジュール(23051)はキャッシュエージェント(1032、1034、−)をコントロールするプログラムの実行時イメージである。キャッシュエージェントモジュール(23051)の動作の詳細は後述する。キャッシュ管理モジュール(23052)はコンテンツのキャッシュや配信をおこなうプログラムの実行時イメージである。二次記憶(23043)にはキャッシュエージェントモジュールプログラム(23061)とキャッシュ管理モジュールプログラム(23062)とキャッシュ管理領域(23063)が含まれる。キャッシュエージェント(1032、1034)動作時にはキャッシュエージェントモジュールプログラム(23061)を主記憶(23042)上に展開し、キャッシュエージェントモジュール(23051)として実行する。キャッシュサーバ(1031、1033、−)の動作時にはキャッシュ管理モジュールプログラム(23062)を主記憶(23042)上に展開し、キャッシュ管理モジュール(23052)として実行する。本実施例では、キャッシュ管理モジュールプログラム(23062)は汎用のものを利用する。キャッシュ管理領域(23063)はキャッシュ管理モジュール(23052)が管理する領域であり、コンテンツをキャッシュする領域である。近傍キャッシュ表(23053)は実施例1の図3と同じものを用いる。
図24に、キャッシュサーバ一覧表の詳細を示す。キャッシュサーバ一覧表(23022)には通し番号であるID列(24011)とキャッシュサーバの識別情報であるキャッシュサーバIPアドレス列(24012)と各キャッシュサーバが停止中であるか否かを表す停止フラグ列(24013)と代表キャッシュエージェントであるか否かを表す代表キャッシュエージェントフラグ列(24014)がある。ここで、キャッシュサーバの識別情報であるIPアドレスはキャッシュサーバ装置固有のものである。停止フラグについては実施例1のキャッシュサーバ一覧表(2023)と同じである。また、キャッシュサーバ上で動作するキャッシュエージェント(1032、1034、−)のいずれかが代表キャッシュエージェントである場合には代表キャッシュエージェントフラグをオンとして1を設定し、代表キャッシュエージェントでない場合は代表キャッシュエージェントフラグをオフとして0を設定する。また、キャッシュサーバ一覧表(23022)の主キーはID列(24011)であり、ID列を用いて特定の1行を限定する事ができる。また、キャッシュサーバIPアドレス列(24012)もユニーク列であり、キャッシュサーバIPアドレス列を用いて特定の1行を限定する事ができる。二次記憶(23013)にはキャッシュマネージャモジュールプログラム(23031)が含まれる。キャッシュマネージャ(1021)動作時にはキャッシュマネージャモジュールプログラム(23031)を主記憶(23012)上に展開し、キャッシュマネージャモジュール(23021)として実行する。
次に、本実施例の動作について、説明する。
図25は、本システムにおいてCache Agnet(1032、1034、−)がキャッシュサーバの障害を検出した場合のキャッシュサーバ障害対応処理シーケンスを示す。ここでは、図1のシステム構成において、キャッシュサーバ(1031)に障害が発生し、キャッシュエージェント(1034)が代表キャッシュエージェントとして機能する場合の例を説明する。本処理は障害が発生したキャッシュサーバ(1031)上で動作するキャッシュエージェント(1032)とキャッシュマネージャ(1021)とこのキャッシュマネージャが選択した代表キャッシュエージェント(1034)の間で執り行われる。まず障害が発生したキャッシュサーバ(1031)上で動作するキャッシュエージェント(1032)がキャッシュマネージャ(1021)に対して障害検出通知(25101)を出す。続いてキャッシュマネージャ(1021)は、キャッシュサーバ一覧表(23022)に登録されている障害が発生したキャッシュサーバ(1031)レコードの停止フラグをオンに設定する(25102)。続いてキャッシュマネージャ(1021)はキャッシュサーバ一覧表(23022)の代表キャッシュエージェントフラグがオンであるキャッシュサーバのIPアドレスを取得し、代表キャッシュエージェント(1034)にキャッシュサーバ一覧表を送付(25103)する。続いてキャッシュマネージャ(1021)は代表キャッシュエージェント(1034)のIPアドレスを障害検出通知を行ってきたキャッシュエージェント(1032)に通知する(25104)。続いてキャッシュエージェント(1032)は、キャッシュマネージャ(1021)から通知された代表キャッシュエージェント(1034)に対して障害検出通知を行う(25105)。続いて代表キャッシュエージェント(1034)は、近傍キャッシュ表(2022)のPBRルータIP列(3011)のうち、障害が発生したキャッシュサーバ(1031)が関連する複数のPBRルータIPを取り出してリストにし、リストの1行目のPBRルータをPBRルータAとする(25106)。次に代表キャッシュエージェント(1034)はPBRルータAレコードの障害が発生したキャッシュサーバ(1031)の停止フラグをオンに設定し、割当フラグをオフに設定する(25107)。さらに代表キャッシュエージェント(1034)はPBRルータAレコードのうち、障害が発生したキャッシュサーバ以外で距離が最も小さくかつ停止フラグがオフであるキャッシュサーバIPを近傍キャッシュ表(2022)から取り出し、予備キャッシュサーバBとする(25108)。最後に、代表キャッシュエージェント(1034)はPBRルータAにアクセスし、コマンドライン経由で転送するトラフィック転送先を予備キャッシュサーバBに変更する(25109)。以後、リストの残りについても上記処理を続ける。最後に代表キャッシュエージェント(1034)は自身が持つ近傍キャッシュ表を全てのキャッシュエージェント(1036、1032)に配布(25110)し、処理完了通知をキャッシュマネージャ(1021)に送る(25111)。
上記のように、本システムは、キャッシュマネージャ(1021)が、複数あるキャッシュエージェント(1032、1034、−)の中から代表キャッシュエージェントを一つ選択し、代表キャッシュエージェントがキャッシュサーバの障害対応処理を行う。なお、代表キャッシュエージェントが行うキャッシュサーバ障害対応処理、キャッシュサーバ復旧対応処理、キャッシュサーバ追加処理、キャッシュサーバ削除処理、ルール更新処理は実施例1のキャッシュマネージャ(1021)と同じであり、フローチャートも同じである。ただし、代表キャッシュエージェントは処理完了後に自身以外の全てのキャッシュエージェントに近傍キャッシュ表を配布し、処理完了通知をキャッシュマネージャに対して行う必要がある点のみ実施例1と異なる。なお、本実施例ではキャッシュマネージャ装置を設置したが、キャッシュマネージャを一つの装置として設置せず、例えばDNSサーバに代表キャッシュエージェントを選択させることでも実施できる。
図26は、キャッシュマネージャの全体動作のフローチャートである。キャッシュマネージャ(1021)は起動(26001)後、キャッシュマネージャモジュール(23021)を起動(26002)し、これ以降は処理依頼を待ちうける。キャッシュサーバ追加要求があった場合(26003)、実施例1の図6Aのキャッシュサーバ一覧表更新処理を実行(26004)する。その後キャッシュマネージャ(1021)はキャッシュサーバ一覧表から代表キャッシュエージェントフラグがオンであるキャッシュエージェントのIPアドレスを取得(26005)し、代表キャッシュエージェント(1034)に対してキャッシュサーバ一覧表を送付する(26006)。続いてキャッシュサーバ追加要求または削除要求してきたキャッシュエージェントに対して代表キャッシュエージェントのIPアドレスを通知(26007)する。キャッシュサーバ追加要求または削除要求以外の処理要求があった場合(26009)は、代表キャッシュエージェントからの処理完了通知があるか否かを判定する(26010)。処理完了通知であった場合は、キャッシュマネージャ(1021)はキャッシュサーバ一覧表の代表キャッシュエージェントフラグをオフに設定する(26011)。その後、代表キャッシュエージェントのIDを変数nに代入(26012)し、IDがn+1であるキャッシュエージェントの停止フラグがオフであるか否かを判定する(26013)。オフである場合にはIDがn+1であるキャッシュエージェントの代表キャッシュエージェントフラグをオンに設定する(26014)。オフでない場合はnに1を加えて(26015)手順26013に戻る。
図27は、キャッシュエージェントの全体動作のフローチャートである。キャッシュエージェント(1032、1034、−)は起動(27001)後、近傍キャッシュ表(2022)にPBRルータのIPアドレスを登録(27002)する。これは初期値として与えるPBRルータIPアドレスの一覧であり、ここでは人手で入力する。他にも設定ファイルに書くといった方法が考えられる。続いてキャッシュエージェントモジュール(23021)を起動(27003)し、キャッシュマネージャ(1021)に対してキャッシュサーバ追加要求をおこなう(27004)。これ以降は処理依頼を待ちうける。距離測定依頼があった場合(27005)は実施例1の図14(B)の距離測定処理を行う(27006)。キャッシュサーバの障害を検出通知した場合(27007)は、実施例1の図11の障害検出通知処理を行い(27008)、キャッシュサーバを停止(27011)する。管理者から明示的に終了指示があった場合(27009)はキャッシュマネージャ(1021)にキャッシュサーバ削除要求を出し(27010)、キャッシュサーバを停止(27011)する。自身以外のキャッシュエージェントからキャッシュサーバ追加要求があった場合(27012)は、実施例1の図7のキャッシュサーバ追加処理を行う(27013)。処理が完了後、自身以外の全てキャッシュエージェントに対して近傍キャッシュ表を配布し(27018)、キャッシュマネージャ(1021)に処理完了通知を行う(27019)。その後手順27005に戻る。また、自身以外のキャッシュエージェントからキャッシュサーバ削除要求があった場合(27014)は、実施例1の図17のキャッシュサーバ削除処理を行う(27015)。処理が完了後、自身以外の全てキャッシュエージェントに対して近傍キャッシュ表を配布し(27018)、キャッシュマネージャ(1021)に処理完了通知を行う(27019)。その後手順27005に戻る。さらに自身以外のキャッシュエージェントからキャッシュサーバ障害検出通知があった場合(27016)は、実施例1の図10のキャッシュサーバ障害対応処理を行う(27017)。処理が完了後、自身以外の全てキャッシュエージェントに対して近傍キャッシュ表を配布し(27018)、キャッシュマネージャ(1021)に処理完了通知を行う(27019)。その後手順27005に戻る。
上記のように、本実施例ではキャッシュマネージャ(1021)が、複数あるキャッシュエージェント(1032、1034、−)の中から代表キャッシュエージェントを一つ選択し、代表キャッシュエージェントがキャッシュサーバの障害対応処理を行う。なお、代表キャッシュエージェントは実施例1のキャッシュマネージャ(1021)と同じ動作をするため、キャッシュサーバ障害対応処理、復旧対応処理、追加処理、削除処理、ルール更新処理のフローチャートは実施例1と同じである。ただし、代表キャッシュエージェントは処理完了後に自身以外の全てのキャッシュエージェントに近傍キャッシュ表を配布し、処理完了通知をキャッシュマネージャに対して行う必要がある点が実施例1と異なる。
本実施例においても、あるキャッシュサーバに障害が発生した時でも、エンドユーザは他のキャッシュサーバを継続して利用でき、エンドユーザに対するSLAを保証できると共に、キャッシュシステム管理事業者が負担する設備コストや運用コストの削減にも貢献できる。
1011…ネットワーク、1021…キャッシュマネージャ、1031、1033、1035…キャッシュサーバ、1032、1034、1036…キャッシュエージェント、1041〜1043…ルータ、1051〜1053…PBR(Policy Based Routing)ルータ、1061〜1064…PC、2011…CPU、2012…主記憶、2013…二次記憶、2021…キャッシュマネージャモジュール、2022…近傍キャッシュ表、2023…キャッシュサーバ一覧表、2041…CPU、2042…主記憶、2043…二次記憶、2051…キャッシュエージェントモジュール、2052…キャッシュ管理モジュール、2061…キャッシュエージェントモジュールプログラム、2062…キャッシュ管理モジュールプログラム、2063…キャッシュ管理領域。

Claims (15)

  1. ネットワーク上に、一つのキャッシュマネージャと、複数のキャッシュサーバと、前記キャッシュサーバの各々の上で動作するキャッシュエージェントと、データベースと、少なくとも1つのPBRルータとを備えており、
    前記データベースは、
    前記各キャッシュエージェントの識別情報と通し番号を持つ第1のデータベースと、
    前記各PBRルータの識別情報と該各PBRルータに距離的に近い前記キャッシュサーバの識別情報を持つ第2のデータベースを含んでおり、
    前記キャッシュエージェントは、
    第1のキャッシュサーバの障害を検出したことをトリガに、該第1のキャッシュサーバの障害を検出したこと及び該第1のキャッシュサーバの識別情報を記述した障害検出通知を、前記キャッシュマネージャに送る機能を備え、
    前記キャッシュマネージャは、
    前記データベースから、前記障害が検出された前記第1のキャッシュサーバの識別情報が前記距離的に近いキャッシュサーバとして登録されている、第1のPBRルータの識別情報を取得する機能と、
    前記データベースから、前記第1のPBRルータに距離的に近いキャッシュサーバとして登録されている第2のキャッシュサーバの識別情報を取得する機能と、
    前記第1のPBRルータにアクセスし、該第1のPBRルータのトラフィック転送先を前記第2のキャッシュサーバに変更する機能とを備えている
    ことを特徴とする自動障害対応キャッシュシステム。
  2. 請求項1において、
    前記第2のデータベースは、前記各キャッシュサーバの負荷に関する情報を保有しており、
    前記キャッシュマネージャは、
    前記第2のデータベースの情報を基に、前記第1のキャッシュサーバにトラフィックを転送している前記第1のPBRルータのトラフィック転送先である前記第2のキャッシュサーバとして、該第1のPBRルータとの距離が所定値以下で、かつ、前記負荷が小さいキャッシュサーバを選択する機能を備えている
    ことを特徴とする自動障害対応キャッシュシステム。
  3. 請求項1において、
    前記第2のデータベースは、前記各キャッシュサーバの負荷及び優先度に関する情報を保有しており、
    前記キャッシュマネージャは、
    前記第2のデータベースの情報を基に、前記第1のキャッシュサーバにトラフィックを転送している前記第1のPBRルータのトラフィック転送先である前記第2のキャッシュサーバとして、該第1のPBRルータとの距離が所定値以下で、かつ、前記負荷が小さく、かつ、前記優先度の高いキャッシュサーバを選択する機能を備えている
    ことを特徴とする自動障害対応キャッシュシステム。
  4. 請求項1において、
    前記第2のデータベースの情報は、近傍キャッシュ表として保有されており、
    該近傍キャッシュ表は、
    前記ネットワーク上の前記各PBRルータを識別するIPアドレスと、
    前記各キャッシュサーバのIPアドレスと、
    前記各PBRルータから前記各キャッシュサーバそれぞれまでの距離と、
    前記各キャッシュサーバが停止しているか否かを表す停止フラグと、
    前記各キャッシュサーバが前記各PBRルータのトラフィック転送先として割り当てられているか否かを表す割当フラグ列と、
    前記各キャッシュサーバのCPU使用率と、
    前記各キャッシュサーバの優先度の情報とを保持しており、
    前記キャッシュマネージャは、前記近傍キャッシュ表の情報に基づいて、前記第2のキャッシュサーバを選択する
    ことを特徴とする自動障害対応キャッシュシステム。
  5. 請求項1において、
    前記キャッシュエージェントは、
    前記ネットワークの構成の変化の有無を検出する手段として、
    前記第1のデータベースからキャッシュサーバIP列を取り出しキャッシュサーバ配列を作る機能と、
    変数キャッシュサーバに前記キャッシュサーバ配列の先頭IPアドレスを代入し、該変数キャッシュサーバに対して経路を取得する手段を実行し、その結果得た経路が経路リストに登録された経路と一致するか否かを判定する機能と、
    前記判定の結果が一致しない場合は前記得た経路を前記経路リストに新しく登録する機能と、
    前記キャッシュマネージャに対してネットワーク構成の変化検出通知を行う機能とを有する
    ことを特徴とする自動障害対応キャッシュシステム。
  6. 請求項1において、
    前記キャッシュマネージャは、前記第1のデータベースと前記第2のデータベースを保持しており、
    前記キャッシュサーバの上で動作する前記キャッシュエージェントが、各々、前記キャッシュサーバに関する障害対応処理を行う
    ことを特徴とする自動障害対応キャッシュシステム。
  7. 請求項4において、
    前記キャッシュマネージャは、前記第1のデータベースを保持しており、
    前記各キャッシュエージェントは、前記第2のデータベースを保持しており、
    前記近傍キャッシュ表は、前記各キャッシュサーバ上で動作する前記各キャッシュエージェントが、代表キャッシュエージェントであるか否かを示す情報を保有しており、
    前記代表キャッシュエージェントが、前記ネットワーク上における前記複数のキャッシュサーバに関する障害対応処理を行う障害対応処理を代表して行い、
    前記代表キャッシュエージェントは前記障害対応処理の完了後に自身以外の全ての前記各キャッシュエージェントに前記近傍キャッシュ表を配布し、処理完了通知を前記キャッシュマネージャに対して行う
    ことを特徴とする自動障害対応キャッシュシステム。
  8. 請求項4において、
    前記キャッシュエージェントが、前記キャッシュサーバの復旧対応処理、追加処理、削除処理、もしくはルール更新処理を行い、前記各処理の過程で、前記近傍キャッシュ表を自動的に更新する
    ことを特徴とする自動障害対応キャッシュシステム。
  9. キャッシュシステムにおけるキャッシュサーバの障害対応処理方法であって、
    前記キャッシュシステムは、ネットワーク上に、一つのキャッシュマネージャと、複数のキャッシュサーバと、前記キャッシュサーバの各々の上で動作するキャッシュエージェントと、データベースと、少なくとも1つのPBRルータとを備えており、
    前記データベースは、
    前記各キャッシュエージェントの識別情報と通し番号を持つ第1のデータベースと、
    前記各PBRルータの識別情報と該各PBRルータに距離的に近い前記キャッシュサーバの識別情報を持つ第2のデータベースを含んでおり、
    1つの前記キャッシュエージェントが、第1のキャッシュサーバの障害を検出したことをトリガに、該第1のキャッシュサーバの障害を検出したことを伝える旨と該第1のキャッシュサーバの識別情報を記述した障害検出通知を、前記キャッシュマネージャに送る第1のステップと、
    前記キャッシュマネージャが、
    前記データベースから、前記障害が検出された前記第1のキャッシュサーバの識別情報が前記距離的に近いキャッシュサーバとして登録されている、第1のPBRルータの識別情報を取得する第2のステップと、
    前記データベースから、前記第1のPBRルータに距離的に近いキャッシュサーバとして登録されている第2のキャッシュサーバの識別情報を取得する第3のステップと、
    前記第1のPBRルータにアクセスし、該第1のPBRルータのトラフィック転送先を前記第2のキャッシュサーバに変更する第4のステップを含む
    ことを特徴とするキャッシュシステムにおけるキャッシュサーバの障害対応処理方法。
  10. 請求項9において、
    前記第2のデータベースの情報は、近傍キャッシュ表として保持されており、
    該近傍キャッシュ表は、
    前記ネットワーク上の前記各PBRルータを識別するIPアドレスと、
    前記各キャッシュサーバのIPアドレスと、
    前記各PBRルータから前記各キャッシュサーバそれぞれまでの距離と、
    前記各キャッシュサーバが停止しているか否かを表す停止フラグと、
    前記各キャッシュサーバが前記各PBRルータのトラフィック転送先として割り当てられているか否かを表す割当フラグ列と、
    前記各キャッシュサーバの負荷に関する情報とを含んでおり、
    前記キャッシュマネージャが、
    前記第2のキャッシュサーバとして、前記第1のPBRルータとの距離が所定値以下で、かつ、前記負荷が小さいキャッシュサーバを選択する
    ことを特徴とするキャッシュシステムにおけるキャッシュサーバの障害対応処理方法。
  11. 請求項10において、
    前記近傍キャッシュ表が、前記各キャッシュサーバの優先度に関する情報を保持しており、
    前記キャッシュマネージャが、
    前記第2のキャッシュサーバとして、前記距離が所定値以下で、かつ、前記負荷が小さく、かつ、前記優先度の高いキャッシュサーバを選択する
    ことを特徴とするキャッシュシステムにおけるキャッシュサーバの障害対応処理方法。
  12. 請求項9において、
    前記キャッシュマネージャは、前記第1のデータベースと前記第2のデータベースを保持しており、
    前記キャッシュサーバの上で動作する前記キャッシュエージェントが、各々、前記キャッシュサーバに関する障害対応処理を行う
    ことを特徴とするキャッシュシステムにおけるキャッシュサーバの障害対応処理方法。
  13. 請求項9において、
    前記キャッシュマネージャは、前記第1のデータベースを保持しており、
    前記各キャッシュエージェントは、前記第2のデータベースを保持しており、
    前記近傍キャッシュ表は、前記各キャッシュサーバ上で動作する前記各キャッシュエージェントが、代表キャッシュエージェントであるか否かを示す情報を保有しており、
    前記代表キャッシュエージェントが、
    前記ネットワーク上における前記複数のキャッシュサーバに関する障害対応処理を行う障害対応処理を代表して行い、
    前記障害対応処理の完了後に自身以外の全ての前記各キャッシュエージェントに前記近傍キャッシュ表を配布し、処理完了通知を前記キャッシュマネージャに対して行う
    ことを特徴とするキャッシュシステムにおけるキャッシュサーバの障害対応処理方法。
  14. ネットワークに接続されるキャッシュマネージャであって、
    前記ネットワークは、複数のキャッシュサーバと、前記キャッシュサーバの各々の上で動作するキャッシュエージェントと、データベースと、少なくとも1つのPBRルータとを備えるものであって、
    前記データベースは、
    前記各キャッシュエージェントの識別情報と通し番号を持つ第1のデータベースと、
    前記各PBRルータの識別情報と該各PBRルータに距離的に近い前記キャッシュサーバの識別情報を持つ第2のデータベースを含んでおり、
    前記キャッシュマネージャは、
    前記ネットワーク上の前記キャッシュエージェントから、第1のキャッシュサーバの障害を検出したこと及び該第1のキャッシュサーバの識別情報を記述した障害検出通知を受け取る機能と、
    前記データベースから、前記障害が検出された前記第1のキャッシュサーバの識別情報が前記距離的に近いキャッシュサーバとして登録されている、第1のPBRルータの識別情報を取得する機能と、
    前記データベースから、前記第1のPBRルータに距離的に近いキャッシュサーバとして登録されている第2のキャッシュサーバの識別情報を取得する機能と、
    前記第1のPBRルータにアクセスし、該第1のPBRルータのトラフィック転送先を前記第2のキャッシュサーバに変更する機能とを備えている
    ことを特徴とするキャッシュマネージャ。
  15. 請求項14において、
    前記第2のデータベースは、前記各キャッシュサーバの負荷及び優先度に関する情報を含んでおり、
    前記キャッシュマネージャは、
    前記第2のデータベースの情報を基に、前記第1のキャッシュサーバにトラフィックを転送している前記第1のPBRルータのトラフィック転送先である前記第2のキャッシュサーバとして、該第1のPBRルータとの距離が所定値以下で、かつ、前記負荷が小さく、かつ、前記優先度の高いキャッシュサーバを選択する機能を備えている
    ことを特徴とするキャッシュマネージャ。
JP2012266139A 2012-12-05 2012-12-05 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ Pending JP2014112768A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012266139A JP2014112768A (ja) 2012-12-05 2012-12-05 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ
US14/649,738 US20150347246A1 (en) 2012-12-05 2013-11-22 Automatic-fault-handling cache system, fault-handling processing method for cache server, and cache manager
PCT/JP2013/081464 WO2014087850A1 (ja) 2012-12-05 2013-11-22 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012266139A JP2014112768A (ja) 2012-12-05 2012-12-05 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ

Publications (1)

Publication Number Publication Date
JP2014112768A true JP2014112768A (ja) 2014-06-19

Family

ID=50883273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012266139A Pending JP2014112768A (ja) 2012-12-05 2012-12-05 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ

Country Status (3)

Country Link
US (1) US20150347246A1 (ja)
JP (1) JP2014112768A (ja)
WO (1) WO2014087850A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018043111A1 (ja) * 2016-08-29 2018-03-08 ソニー株式会社 情報処理装置、情報処理方法、及び、情報処理システム
WO2020139069A1 (en) * 2018-12-24 2020-07-02 Mimos Berhad A system and method for automated delivery of faults information enforced through role based management in federated cloud

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9137205B2 (en) 2012-10-22 2015-09-15 Centripetal Networks, Inc. Methods and systems for protecting a secured network
US9565213B2 (en) 2012-10-22 2017-02-07 Centripetal Networks, Inc. Methods and systems for protecting a secured network
US9203806B2 (en) * 2013-01-11 2015-12-01 Centripetal Networks, Inc. Rule swapping in a packet network
US9124552B2 (en) 2013-03-12 2015-09-01 Centripetal Networks, Inc. Filtering network data transfers
US9094445B2 (en) 2013-03-15 2015-07-28 Centripetal Networks, Inc. Protecting networks from cyber attacks and overloading
US9264370B1 (en) 2015-02-10 2016-02-16 Centripetal Networks, Inc. Correlating packets in communications networks
US9866576B2 (en) 2015-04-17 2018-01-09 Centripetal Networks, Inc. Rule-based network-threat detection
US9917856B2 (en) 2015-12-23 2018-03-13 Centripetal Networks, Inc. Rule-based network-threat detection for encrypted communications
US10721719B2 (en) * 2017-06-20 2020-07-21 Citrix Systems, Inc. Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node
US10503899B2 (en) 2017-07-10 2019-12-10 Centripetal Networks, Inc. Cyberanalysis workflow acceleration
US11233777B2 (en) 2017-07-24 2022-01-25 Centripetal Networks, Inc. Efficient SSL/TLS proxy
US11108685B2 (en) * 2019-06-27 2021-08-31 Bank Of America Corporation Intelligent delivery of data packets within a network transmission path based on time intervals
CN114124817B (zh) * 2020-03-15 2023-03-14 腾讯科技(深圳)有限公司 基于边缘计算的通信方法、装置、介质及电子设备
CN112532525B (zh) * 2020-11-25 2022-11-25 北京金山云网络技术有限公司 设备恢复服务的处理方法、装置和系统
CN112769692B (zh) * 2020-12-30 2022-10-11 深圳市微网力合信息技术有限公司 一种基于WiFi6的无线路由器故障处理方法及系统
CN113448738B (zh) * 2021-08-31 2021-11-12 成都派沃特科技股份有限公司 服务器可用度调整方法、装置、设备及存储介质

Citations (4)

* 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 データ配信方法及びデータ配信プログラムを格納した記憶媒体
JP2005063234A (ja) * 2003-08-15 2005-03-10 Ntt Comware Corp コンテンツ配信システムにおけるポータルサーバおよびキャッシュサーバ、ならびにコンテンツ配信方法、コンテンツ配信プログラム
US20110153719A1 (en) * 2009-12-22 2011-06-23 At&T Intellectual Property I, L.P. Integrated Adaptive Anycast for Content Distribution
US20110231475A1 (en) * 2010-03-22 2011-09-22 At&T Intellectual Property I, L.P. Internet Protocol Version 6 Content Routing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1093626A (ja) * 1996-09-11 1998-04-10 Nippon Telegr & Teleph Corp <Ntt> データ通信網における通信状態に依存したホストのトラヒック負荷分散制御方法
JP3784137B2 (ja) * 1997-06-04 2006-06-07 富士通株式会社 負荷分散システム
US7996517B2 (en) * 2002-01-23 2011-08-09 Novell, Inc. Transparent network connection takeover
US7302608B1 (en) * 2004-03-31 2007-11-27 Google Inc. Systems and methods for automatic repair and replacement of networked machines
US20090172192A1 (en) * 2007-12-28 2009-07-02 Christian Michael F Mapless Global Traffic Load Balancing Via Anycast
US8078906B2 (en) * 2008-08-21 2011-12-13 Infinidat, Ltd. Grid storage system and method of operating thereof
JP5625937B2 (ja) * 2011-01-19 2014-11-19 日本電気株式会社 ルータ、キャッシュルータ及びコンテンツデータキャッシュシステム並びにコンテンツデータキャッシュ方法
JP5853378B2 (ja) * 2011-03-04 2016-02-09 日本電気株式会社 通信切替システム、通信切替方法、及びプログラム

Patent Citations (4)

* 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 データ配信方法及びデータ配信プログラムを格納した記憶媒体
JP2005063234A (ja) * 2003-08-15 2005-03-10 Ntt Comware Corp コンテンツ配信システムにおけるポータルサーバおよびキャッシュサーバ、ならびにコンテンツ配信方法、コンテンツ配信プログラム
US20110153719A1 (en) * 2009-12-22 2011-06-23 At&T Intellectual Property I, L.P. Integrated Adaptive Anycast for Content Distribution
US20110231475A1 (en) * 2010-03-22 2011-09-22 At&T Intellectual Property I, L.P. Internet Protocol Version 6 Content Routing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016015602; Nikhil Handigol et al.: 'Plug-n-Serve: Load-Balancing Web Traffic using OpenFlow' ACM SIGCOMM Demo , 200908 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018043111A1 (ja) * 2016-08-29 2018-03-08 ソニー株式会社 情報処理装置、情報処理方法、及び、情報処理システム
US10979495B2 (en) 2016-08-29 2021-04-13 Saturn Licensing Llc Information processing apparatus, information processing method, and information processing system
WO2020139069A1 (en) * 2018-12-24 2020-07-02 Mimos Berhad A system and method for automated delivery of faults information enforced through role based management in federated cloud

Also Published As

Publication number Publication date
WO2014087850A1 (ja) 2014-06-12
US20150347246A1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
WO2014087850A1 (ja) 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ
WO2021120970A1 (zh) 一种分布式本地dns系统及域名查询方法
US10534632B2 (en) Computer system and maintenance method of computer system
CN111615066B (zh) 一种基于广播的分布式微服务注册及调用方法
US8375001B2 (en) Master monitoring mechanism for a geographical distributed database
JP6963168B2 (ja) 情報処理装置、メモリ制御方法およびメモリ制御プログラム
US7619965B2 (en) Storage network management server, storage network managing method, storage network managing program, and storage network management system
US20040049553A1 (en) Information processing system having data migration device
US20150372911A1 (en) Communication path management method
US20130007253A1 (en) Method, system and corresponding device for load balancing
JP2010050749A (ja) 経路制御システム
EP2939401B1 (en) Method for guaranteeing service continuity in a telecommunication network and system thereof
JP6272190B2 (ja) 計算機システム、計算機、負荷分散方法及びそのプログラム
JP2012533129A (ja) 仮想ネットワークの高性能で自動化された管理方法及びシステム
EP3044906A1 (en) Apparatus and method for monitoring network performance
US20160234129A1 (en) Communication system, queue management server, and communication method
WO2012176337A1 (ja) 情報処理システム、情報処理システムの制御方法、管理装置および系切替プログラム
JP2013218449A (ja) クラウドコンピューティングシステム
CN108509296A (zh) 一种处理设备故障的方法和系统
JP4309321B2 (ja) ネットワークシステムの運用管理方法及びストレージ装置
JP6740543B2 (ja) 通信装置、システム、ロールバック方法及びプログラム
JP2006235837A (ja) 負荷分散システム、負荷分散装置管理サーバ、負荷分散装置の切り替え方法及びプログラム
JP2008304982A (ja) 情報の管理方法及び情報処理装置
CN114900526A (zh) 负载均衡方法及系统、计算机存储介质、电子设备
JP6490167B2 (ja) 通信装置、通信方法、コンピュータプログラムおよび通信システム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161025