JP2014064096A - ルール設定方法、及び中継システム - Google Patents

ルール設定方法、及び中継システム Download PDF

Info

Publication number
JP2014064096A
JP2014064096A JP2012206869A JP2012206869A JP2014064096A JP 2014064096 A JP2014064096 A JP 2014064096A JP 2012206869 A JP2012206869 A JP 2012206869A JP 2012206869 A JP2012206869 A JP 2012206869A JP 2014064096 A JP2014064096 A JP 2014064096A
Authority
JP
Japan
Prior art keywords
computer
cache
module
resolve
cache server
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
JP2012206869A
Other languages
English (en)
Inventor
Genki MATSUI
元輝 松井
Daisuke Ito
大輔 伊藤
Toshiaki Suzuki
敏明 鈴木
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 JP2012206869A priority Critical patent/JP2014064096A/ja
Priority to PCT/JP2013/055401 priority patent/WO2014045610A1/ja
Publication of JP2014064096A publication Critical patent/JP2014064096A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】本発明の目的は、一通信事業者網規模を想定し、エンドユーザに対するキャッシュサーバの割り当て粒度を細かくし、コンテンツプロバイダとの連携が不要であって、PBRルータのルールの作成及び設定を自動化する中継システムを提供することである。
【解決手段】中継装置のルール設定方法であって、中継システムは、コンテンツの複製を保持するキャッシュ計算機、及び中継装置にルールを設定可能なルール設定モジュールを有し、ルール設定モジュールは、キャッシュ計算機と各中継装置とのネットワーク距離を測定し、中継装置毎に最近傍キャッシュ計算機を特定し、ユーザ装置から送信されたデータを最近傍キャッシュ計算機に転送するためのルールを中継装置に設定する。
【選択図】図6

Description

本発明は、コンテンツ計算機によって提供されるコンテンツの複製を保持するキャッシュ計算機と、中継装置とを備える中継システムに関し、特に、中継装置がエンドユーザからのデータを近傍のキャッシュ計算機に転送する中継システムに関する。
トラフィック量の増加によってネットワークが逼迫すると、エンドユーザに対するサービスの応答性が劣化するとともに、ネットワークを管理する通信事業者が負担する設備投資コストが増大する。そこでトラフィック量を減少させるために、エンドユーザの近傍にキャッシュサーバを配置し、キャッシュサーバがエンドユーザのリクエストを受け付け、リクエストに応じたデータを返すキャッシュシステムが知られている。このキャッシュシステムでは、エンドユーザのトラフィックをエンドユーザの近傍のキャッシュサーバに転送するトラフィック転送技術が用いられる。
例えば、DNSサーバがエンドユーザのトラフィックをキャッシュサーバに転送するトラフィック転送技術を用いたキャッシュシステムが知られている(例えば、特許文献1参照)。
また、トラフィックの宛先ポート番号に基づいて指定された転送先へルーティングする機能を利用してエンドユーザからのトラフィックをキャッシュサーバへ転送するトラフィック転送技術を用いたキャッシュシステムが知られている(例えば、特許文献2参照)。
米国特許出願公開第2002/0129134明細書 米国特許第6389462号明細書
従来のキャッシュシステムを一つの通信事業者が管理する通信網(以降では一通信事業者網という)に適用した場合に、以下の課題が見出された。
まず、例えば、特許文献1に記載されるように、DNSサーバを利用するキャッシュシステムでは、エンドユーザ近傍のキャッシュサーバを割り当てるために,エンドユーザが使用したDNSサーバ毎にキャッシュサーバを割り当てる。しかし,一通信事業者網規模のネットワークにはDNSサーバは数台程度しかない。そのため、DNSサーバを利用した従来のキャッシュシステムを一通信事業者網規模のネットワークに適用すると、DNSサーバ一台あたりに割り当てられるエンドユーザ数が多く、キャッシュサーバを割り当てる粒度が荒くなるという第一の課題がある。
また、一通信事業者網内を流れるトラフィックに含まれるWebページなどのコンテンツは、不特定多数のコンテンツプロバイダによって提供される。しかし、キャッシュシステムを提供するキャッシュプロバイダが全てのコンテンツプロバイダと契約することは現実的に不可能である。このため,DNSサーバ毎に割り当てたキャッシュサーバを利用するキャッシュシステムのようにキャッシュプロバイダとコンテンツプロバイダとの契約及び連携が必要なシステムは、不特定多数のコンテンツプロパイダによって提供されるコンテンツに対応できないという第二の課題がある。
次に、従来のトラフィックの宛先ポート番号に基づいて指定した転送先へルーティングする機能(以降では、該機能をPolicy Based Routing機能、略してPBR機能と呼ぶ)を利用するキャッシュシステムは、一通信事業者網内に数千台あるPBR機能を持つルータ(以降、PBRルータとする)に、転送するトラフィックの条件と条件に合致したトラフィックの転送先(以降では、これらをまとめたものをルールと呼ぶ)を設定することでPBRルータを経由したエンドユーザのトラフィックをPBRルータの近傍のキャッシュサーバへ転送できる。しかし、ルールに記述する転送先は各PBRルータの近傍のキャッシュサーバであるため、PBRルータ毎に異なる。すなわち、各PBRルータの近傍キャッシュサーバを探索する必要がある。しかし、一通信事業者網にはPBRルータが数千台あり、近傍キャッシュサーバの探索には非常に時間がかかるという第三の問題がある。また、PBRルータ毎に設定すべきルールが異なるため、数千台分のPBRルータのルールを手動で作成及び設定しては非常に時間がかかるという第四の問題がある。
したがって、本発明の目的は、一通信事業者網規模を想定し、エンドユーザに対するキャッシュサーバの割り当て粒度を細かくし、コンテンツプロバイダとの連携が不要であって、PBRルータのルールの作成及び設定を自動化する中継システムを提供することである。
本発明の代表的な一例を示せば、以下の通りである。すなわち、データを転送する中継装置のルール設定方法であって、前記中継装置は、中継システム内に設けられるものであって、ユーザ装置から送信されたデータを設定されたルールに基づいてデータを転送し、前記中継システムは、前記コンテンツ計算機によって提供されるコンテンツの複製を保持するキャッシュ計算機、及び前記中継装置にルールを設定可能なルール設定モジュールを有し、前記ルール設定方法は、前記ルール設定モジュールが、前記キャッシュ計算機と各中継装置とのネットワーク距離を測定し、前記ルール設定モジュールが、前記中継装置毎に、前記ネットワーク距離が最も近い最近傍キャッシュ計算機を特定し、前記ルール設定モジュールが、前記ユーザ装置から送信されたデータを前記最近傍キャッシュ計算機に転送するためのルールを前記中継装置に設定することを特徴とする。
本願において開示される発明のうち代表的なものによって得られる効果を簡潔に説明すれば、下記の通りである。すなわち、一通信事業者網規模を想定し、エンドユーザに対するキャッシュサーバの割り当て粒度を細かくし、コンテンツプロバイダとの連携が不要であって、PBRルータのルールの作成及び設定を自動化する中継システムを提供できる。
本発明の実施例1の中継システムの説明図である。 本発明の実施例1のResolve Managerのハードウェア構成図である。 本発明の実施例1の近傍キャッシュ表の説明図である。 本発明の実施例1のキャッシュサーバ一覧表の説明図である。 本発明の実施例1のキャッシュサーバのハードウェア構成図である。 本発明の実施例1のキャッシュサーバ追加処理のシーケンス図である。 本発明の実施例1のルール設定コマンドの説明図である。 本発明の実施例1のルール内容の説明図である。 本発明の実施例1のキャッシュサーバ追加処理のうちResolve Managerによる処理のフローチャートである。 本発明の実施例1のキャッシュサーバ一覧表更新処理のフローチャートである。 本発明の実施例1の近傍キャッシュ表更新処理のフローチャートである。 本発明の実施例1のルール設定処理のフローチャートである。 本発明の実施例1のResolve Agentによるキャッシュサーバ追加/削除要求処理のフローチャートである。 本発明の実施例1のResolve Agentによる距離測定処理のフローチャートである。 本発明の実施例1のネットワーク距離の測定結果の説明図である。 本発明の実施例1のキャッシュサーバ削除処理のシーケンス図である。 本発明の実施例1のキャッシュサーバ削除処理のうちResolve Managerによる処理のフローチャートである。 本発明の実施例1のルール更新処理のシーケンス図である。 本発明の実施例1のルール更新処理のうちResolve Managerによる処理のフローチャートである。 本発明の実施例1のResolve Managerの動作のフローチャートである。 本発明の実施例1のResolve Agentの動作のフローチャートである。 本発明の実施例2の中継システムの説明図である。 本発明の実施例2のResolve Managerのハードウェア構成図である。 本発明の実施例2のキャッシュサーバ一覧表の説明図である。 本発明の実施例2のキャッシュサーバのハードウェア構成図である。 本発明の実施例2のResolve Agentを実装する装置のハードウェア構成図である。 本発明の実施例3の中継システムの説明図である。 本発明の実施例3のResolve Managerのハードウェア構成図である。 本発明の実施例3のPBRルータのハードウェア構成図である。 本発明の実施例3の近傍キャッシュ表の説明図である。 本発明の実施例3のキャッシュサーバ追加処理のシーケンス図である。 本発明の実施例3のキャッシュサーバ追加処理のResolve Managerによる処理のフローチャートである。 本発明の実施例3のキャッシュサーバ追加処理のResolve Agentによる処理のフローチャートである。 本発明の実施例3のキャッシュサーバ削除処理のシーケンス図である。 本発明の実施例3のキャッシュサーバ削除処理のうちResolve Managerによって実行される処理のフローチャートである。 本発明の実施例3のキャッシュサーバ削除処理のうちResolve Agentによって実行される処理のフローチャートである。 本発明の実施例3のルール更新処理のフローチャートである。 本発明の実施例3のキャッシュサーバ削除処理のうちResolve Managerによって実行される処理のフローチャートである。 本発明の実施例3のキャッシュサーバ削除処理のうちResolve Agentによって実行される処理のフローチャートである。 本発明の実施例1のResolve Managerの動作のフローチャートである。 本発明の実施例3のResolve Agentの動作のフローチャートである。 本発明の実施例4の中継システムの説明図である。 本発明の実施例4のResolve Managerのハードウェア構成図である。 本発明の実施例4のResolve Agent一覧表の説明図である。 本発明の実施例4のResolve Agentを実装する計算機のハードウェア構成図である。 本発明の実施例5の初期構築処理のフローチャートである。
実施例1〜実施例5では、PBRルータがエンドユーザからのトラフィックを自身の近傍に存在するキャッシュサーバに転送する中継システムにおいて、PBRルータに設定されるルールが自動的に作成され、PBRルータにルールが自動的に設定される中継システムについて説明する。
本実施例では、キャッシュサーバ(キャッシュ計算機)とPBRルータとの間のネットワーク距離を測定するResolve Agentがキャッシュサーバに実装される。
以下、本発明の実施例1について図1〜図20を用いて説明する。
図1は、本発明の実施例1の中継システムの説明図である。
中継システムは、Webサーバ(ウェブ計算機)1011、Resolve Manager1021、キャッシュサーバA1031及びB1033、ルータA1041〜D1044、PBRルータA1051〜C1053、並びにPC A1061〜D1064を備える。また、キャッシュサーバA1031には、Resolve Agent A1032が実装され、キャッシュサーバB1033には、Resolve Agent B1034が実装される。
なお、キャッシュサーバA1031及びB1033を総称してキャッシュサーバといい、ルータA1041〜D1044を総称してルータといい、PBRルータA1051〜C1053を総称してPBRルータといい、PC A1061〜D1064を総称してPCといい、Resolve Agent A1032及びB1034を総称してResolve Agentという。
Webサーバ1011は、エンドユーザが利用するPCに提供するWebコンテンツを保持し、保持しているWebコンテンツをPCに配信するサーバ装置である。Resolve Manager1021は、本発明の中継システムによって実現されるキャッシュのメインコンポーネントであり、Resolve Agentを管理し、キャッシュサーバ追加要求、及びキャッシュサーバ削除要求などを受信する。
キャッシュサーバは、Webサーバ1011のWebコンテンツの複製を保持し、PBRルータによって転送されたPCからのリクエストに応じて、WebコンテンツをPCに返すサーバ装置である。また、キャッシュサーバ上では、Resolve Agentの機能を有するモジュールが動作する。Resolve Agentは、本発明の中継システムによって実現されるキャッシュシステムのメインコンポーネントであり、Resolve Manager1021と連携して動作し、自身が実装されるキャッシュサーバとPBRルータとの間のネットワーク距離を測定する。
Webサーバ1011とキャッシュサーバとは、ネットワークによって接続される。ネットワークは、一通信事業者によって提供されるネットワークであり、ルータ及びPBRルータによって構成される。PBRルータは、転送条件と転送先とを含むルールに基づいてトラフィックを転送するルータ装置である。また、ネットワークは、ルータ又はPBRルータに準ずる中継装置によって構成されてもよい。
また、本発明では、Resolve Agentが、キャッシュサーバとPBRルータとの間のネットワーク距離を測定するために、RTT(Round Trip Time、往復遅延時間)を用いる。なお、RTTは、インターネットプロトコルにおいては、ICMP(Internet Control Message Protocol)を利用することによって測定できる。また、RTTを測定する他のプロトコルも利用することができる。また、ネットワーク距離は、RTTだけでなく、キャッシュサーバとPBRルータとの間の物理的距離であってもよいし、ホップ数であってもよいし、方道のRTTであってもよい。
図1に示す中継システムにおいて、キャッシュサーバA1031が新たに追加される場合のキャッシュサーバ追加処理の概略を説明する。
図1に示す(1)では、新たに追加されるキャッシュサーバA1031に実装されるResolve Agent A1032が、Resolve Manager1021に、キャッシュサーバ追加要求を送信する。Resolve Manager1021は、キャッシュサーバ追加要求を受信すると、当該Resolve Agent A1032に各PBRルータA1051〜C1053との間のネットワーク距離の測定を指示する。
図1に示す(2)では、Resolve Agent A1032は、各PBRルータA1051〜C1053との間のネットワーク距離を測定する。そして、Resolve Agent A1032は、ネットワーク距離の測定結果をResolve Manager1021に送信する。
図1に示す(3)及び(4)では、Resolve Manager1021は、測定結果に基づいて、追加されたキャッシュサーバが最近傍キャッシュサーバとなるPBRルータに、PC A1061〜1064からのデータを当該最近傍キャッシュサーバに転送するルールを生成し、当該PBRルータに当該ルールを設定する。
図1に示す(5)では、PBRルータC1053が、最近傍となるキャッシュサーバB1033に、PC D1064からのデータを転送している。
これによって、PBRルータのルールの生成及び設定を自動化することができる。
図2は、本発明の実施例1のResolve Manager1021のハードウェア構成図である。
Resolve Manager1021は、CPU2011、主記憶デバイス2012、及び二次記憶デバイス2013を有する。主記憶デバイス2012には、Resolve Managerモジュール2021、近傍キャッシュ表2022、及びキャッシュサーバ一覧表2023が記憶される。二次記憶デバイス2013には、Resolve Managerモジュールプログラム2031が記憶される。Resolve Managerモジュールプログラム2031は、Resolve Manager1021を制御するプログラムである。また、主記憶デバイス2012に記憶されるResolve Managerモジュール2021は、二次記憶デバイス2013に記憶されたResolve Managerモジュールプログラム2031が主記憶デバイス2012にロードされた状態を示す。CPU2011は、主記憶デバイス2012にロードされたResolve Managerモジュール2021を実行する。
近傍キャッシュ表2022は、各PBRルータにネットワーク距離が最も近いキャッシュサーバである最近傍キャッシュサーバを管理するための表であり、図3で詳細を説明する。キャッシュサーバ一覧表2023は、ネットワーク上の利用可能なキャッシュサーバを管理するための表であり、図4で詳細を説明する。
図3は、本発明の実施例1の近傍キャッシュ表2022の説明図である。
近傍キャッシュ表2022は、上述したように、ネットワークを構成する各PBRルータの最近傍キャッシュサーバを管理するための表である。近傍キャッシュ表2022は、PBRルータIP2041、最近傍キャッシュIP2042、及び距離2043を含む。
PBRルータIP2041には、ネットワークを構成するPBRルータの識別情報として、PBRルータのIPアドレスが登録される。なお、PBRルータのIPアドレスは、PBRルータ装置固有のものである。
最近傍キャッシュIP2042には、最近傍キャッシュサーバのIPアドレスが登録される。距離2043には、PBRルータと最近傍キャッシュサーバとの間のネットワーク距離が登録される。
近傍キャッシュ表2022の主キーは、PBRルータIP2041に登録されたPBRルータのIPアドレスであり、当該IPアドレスによって、近傍キャッシュ表2022の所定の一行を特定可能である。
図4は、本発明の実施例1のキャッシュサーバ一覧表2023の説明図である。
キャッシュサーバ一覧表2023は、上述したように、ネットワーク上の利用可能なキャッシュサーバを管理するための表である。
キャッシュサーバ一覧表2023は、ID2051、及びキャッシュサーバIP2052を含む。ID2051には通し番号が登録される。キャッシュサーバIP2052には、ネットワーク上の利用可能なキャッシュサーバの識別情報として、キャッシュサーバのIPアドレスが登録される。なお、キャッシュサーバのIPアドレスは、キャッシュサーバ装置固有のものである。
キャッシュサーバ一覧表2023の主キーはID2051であり、ID2051に登録された通し番号によって、キャッシュサーバ一覧表2023の所定の一行を特定可能である。また、キャッシュサーバIP2052に登録されたキャッシュサーバのIPアドレスも、キャッシュサーバ一覧表2023の主キーとなり得る。
図5は、本発明の実施例1のキャッシュサーバ1031のハードウェア構成図である。
キャッシュサーバは、CPU2061、主記憶デバイス2062、及び二次記憶デバイス2063を有する。主記憶デバイス2062には、Resolve Agentモジュール2071、及びキャッシュ管理モジュール2072が記憶される。二次記憶デバイス2063には、Resolve Agentモジュールプログラム2081及びキャッシュ管理モジュールプログラム2082が記憶される。また、二次記憶デバイス2063は、キャッシュ管理領域2083を有する。Resolve Agentモジュールプログラム2081は、Resolve Agentが動作するためのプログラムであり、キャッシュ管理モジュールプログラム2082は、Webサーバ1011によって提供されるWebコンテンツの複製を保持し、当該WebコンテンツをPCに送信する機能を有する。キャッシュ管理領域2083は、キャッシュ管理モジュール2072が管理する記憶領域であり、Webサーバ1011によって提供されるWebコンテンツを記憶するための記憶領域である。
主記憶デバイス2062に記憶されたResolve Agentモジュール2071及びキャッシュ管理モジュール2072は、二次記憶デバイス2063に記憶されたResolve Agentモジュールプログラム2081、及びキャッシュ管理モジュールプログラム2082がロードされた状態を示す。CPU2061は、主記憶デバイス2062に記憶されたResolve Agentモジュール2071及びキャッシュ管理モジュール2072を実行する。
なお、本実施例のキャッシュ管理モジュールプログラム2082は汎用のものであればよい。
次に、図6〜図14を用いて、ネットワークに新たにキャッシュサーバが追加される場合のキャッシュサーバ追加処理について説明する。
図6は、本発明の実施例1のキャッシュサーバ追加処理のシーケンス図である。図6では、Resolve Agent C5021を実装したキャッシュサーバC5020がネットワークに追加されるものとする。
本キャッシュサーバ追加処理は、Resolve Manager1021と追加されるキャッシュサーバC5020のResolve Agent C5021との間で実行される。
まず、ネットワークに新たに追加されるキャッシュサーバ5020に実装されるResolve Agent5021が、キャッシュサーバ追加要求をResolve Manager1021に送信する(5001)。キャッシュサーバ追加要求には、新たに追加されるキャッシュサーバ5020のIPアドレスが含まれる。
Resolve Manager1021は、キャッシュサーバ追加要求を受信した場合、受信したキャッシュサーバ追加要求に含まれるキャッシュサーバ5020のIPアドレスをキャッシュサーバ一覧表2023に追加する(5002)。
次に、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータIP2041に登録された全PBRルータのIPアドレスを取得して、取得したPBRルータのIPアドレスのリストを生成する。そして、Resolve Manager1021は、生成したリストの1行目のIPアドレスによって識別されるPBRルータ(例えば、PBRルータA1051)をPBRルータAとし(5003)、Resolve Agent C5021にPBRルータAとのネットワーク距離測定指示を送信する(5004)。
Resolve Agent C5021は、PBRルータAとのネットワーク距離測定指示を受信した場合、自身が実装されるキャッシュサーバC5020とPBRルータA(PBRルータA1051)との間のネットワーク距離を測定する。
そして、Resolve Agent C5021は、PBRルータAとのネットワーク距離の測定結果をResolve Manager1021に送信する(5005)。
Resolve Manager1021は、測定結果を受信した場合、受信した測定結果が、近傍キャッシュ表2022のPBRルータAに対応するレコードの距離2043に登録された距離よりも小さいか否かを判定する。受信した測定結果が、近傍キャッシュ表2022のPBRルータAに対応するレコードの距離2043に登録された距離よりも小さいと判定された場合、Resolve Manager1021は、当該レコードの最近傍キャッシュIP2042に新たに追加されるキャッシュサーバC5020のIPアドレスを登録し、当該レコードの距離2043に測定結果を登録することによって、近傍キャッシュ表2022を更新する(5006)。また、この場合、Resolve Manager1021は、PCからのトラフィックを最近傍のキャッシュサーバとなるキャッシュサーバC5020に転送するようにPBRルータAにルールを設定する(5007)。
ステップ5007の処理におけるResolve Manager1021がPBRルータにルールを設定する方式について、図7A及び図7Bを用いて説明する。
図7Aは、本発明の実施例1のルール設定コマンドの説明図であり、図7Bは、本発明の実施例1のルール内容の説明図である。
Resolve Manager1021は、PBRルータにアクセスして、コマンドライン経由で、ルールを設定する。
図7Aに示す4000の「jyouken destination port80」では、図7Bの4020及び4030に示すように、転送先に転送するトラフィックの条件(転送条件)を、宛先ポートが80番であるトラフィックに指定する。
また、図7Aに示す4010の「tensou c11.c12.c13.c14」で、図7Bに示す4040及び4050に示すように、転送条件と一致するトラフィックの転送先をPBRルータの最近傍キャッシュサーバのIPアドレスに指定する。
なお、Resolve Manager1021がPBRルータのルールの設定に用いるコマンドは、PBRルータにとって適切なコマンドを使用すればよい。
なお、図6に示すステップ5006及び5007の処理は、受信した測定結果が近傍キャッシュ表2022のPBRルータAに対応するレコードの距離2043に登録された距離以上であると判定された場合には実行されない。
次に、Resolve Manager1021は、リストの2行目のIPアドレスによって識別されるPBRルータをPBRルータAに設定する(5008)。そして、Resolve Manager1021は、ステップ5004の処理と同様に、Resolve Agent C5021にPBRルータAとのネットワーク距離測定指示をPBRルータAに送信する(5009)。
そして、Resolve Manager1021は、測定結果を受信し、受信した測定結果が、近傍キャッシュ表2022のPBRルータAに対応するレコードの距離2043に登録された距離よりも小さいか否かを判定し、小さいと判定された場合にステップ5006及び5007の処理を実行する。
Resolve Manager1021は、上述した処理を、リストの全ての行のIPアドレスのPBRルータに実行し、キャッシュサーバ追加処理を終了する。
このようにして、追加されるキャッシュサーバ5020に実装されるResolve Agent C5021の起動をトリガにして、各PBRルータに設定されるルールの生成、及び生成されたルールの各PBRルータへの設定が自動化される。
なお、Resolve Agentは、キャッシュサーバ追加要求の送信先となるResolve Manager1021のIPアドレス等の識別情報を、起動後に保持している必要がある。本実施例では、Resolve Agentには、Resolve Manager1021のIPアドレスがResolve Agentの起動前に設定されているものとし、Resolve Agentの起動をキャッシュサーバ追加処理のトリガとした。
キャッシュサーバ追加処理のトリガは、これに限定されず、Resolve Agentの起動後に、外部記憶媒体等を介してResolve Manager1021のIPアドレスがResolve Agentに設定されたことをトリガとしてもよい。また、Resolve Agentの起動後に、Resolve Manager1021のIPアドレスが管理者等によって入力されたことをトリガとしてもよい。
次に、キャッシュサーバ追加処理のうちResolve Manager1021による処理について、図8〜図11を用いて説明する。
図8は、本発明の実施例1のキャッシュサーバ追加処理のうちResolve Manager1021による処理のフローチャートである。
Resolve Manager1021は、新たに追加されるキャッシュサーバ(キャッシュサーバC)に実装されるResolve Agentから送信されたキャッシュサーバ追加要求を受信した場合、当該処理の実行を開始する。
まず、Resolve Manager1021は、受信したキャッシュサーバ追加要求に基づいてキャッシュサーバ一覧表2023を更新するキャッシュサーバ一覧表更新処理を実行する(7001)。キャッシュサーバ一覧表更新処理は図9で詳細を説明する。
次に、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータIP2041に登録された全PBRルータのIPアドレスを取得して、取得したPBRルータのIPアドレスのリスト(PBRルータ配列)を生成する(7002)。
次に、Resolve Manager1021は、生成したPBRルータ配列の1行目のIPアドレスによって識別されるPBRルータをPBRルータAとし(7003)、PBRルータ配列の1行目のIPアドレスを削除する(7004)。
次に、Resolve Manager1021は、PBRルータAと新たに追加されるキャッシュサーバCとのネットワーク距離の測定指示を、キャッシュサーバCに実装されるResolve Agentに送信し、測定結果に基づいて近傍キャッシュ表2022のPBRルータAに対応するレコードを更新する近傍キャッシュ表更新処理を実行する(7005)。近傍キャッシュ表更新処理は、図10で詳細を説明する。
また、Resolve Manager1021は、ステップ7005の処理で、近傍キャッシュ表2022のPBRルータAに対応するレコードを更新した場合、PCからのトラフィックを最近傍キャッシュサーバに転送するルールをPBRルータAに設定するルール設定処理を実行する(7006)。ルール設定処理は、図11で詳細を説明する。
次に、Resolve Manager1021は、PBRルータ配列にIPアドレスが存在するか否かを判定する(7007)。
ステップ7007の処理で、PBRルータ配列にIPアドレスが存在する場合、全てのPBRルータに対して近傍キャッシュ表更新処理を実行していないので、ステップ7003の処理に戻る。
一方、ステップ7007の処理で、PBRルータ配列にIPアドレスが存在しない場合、全てのPBRルータに対して近傍キャッシュ表更新処理を実行したので、処理を終了する。
図9は、本発明の実施例1のキャッシュサーバ一覧表更新処理のフローチャートである。
Resolve Manager1021は、キャッシュサーバ追加要求に含まれる追加されるキャッシュサーバCのIPアドレスをキャッシュサーバ一覧表2023に追加し(6001)、処理を終了する。
なお、図9のキャッシュサーバ一覧表更新処理は、キャッシュサーバCがネットワークから削除される場合に実行されるキャッシュサーバ削除処理においても実行される。削除されるキャッシュサーバCに実装されるResolve Agentは、キャッシュサーバCのIPアドレスを含むキャッシュサーバ削除要求をResolve Manager1021に送信する。Resolve Manager1021は、受信したキャッシュサーバ削除要求に含まれるキャッシュサーバCのIPアドレスをキャッシュサーバ一覧表2023から削除する。キャッシュサーバ削除処理は、図15及び図16で詳細を説明する。
図10は、本発明の実施例1の近傍キャッシュ表更新処理のフローチャートである。
Resolve Manager1021は、追加されるキャッシュサーバCとPBRルータAとの間のネットワーク距離の測定指示を、キャッシュサーバCに実装されるResolve Agentに送信する(6002)。
Resolve Manager1021は、キャッシュサーバCに実装されるResolve Agentから測定結果(RTT)を受信すると、受信した測定結果が近傍キャッシュ表2022のPBRルータAに対応するレコードの距離より小さいか否かを判定する(6003)。
ステップ6003の処理で、受信した測定結果が近傍キャッシュ表2022のPBRルータAに対応するレコードの距離より小さいと判定された場合、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータAに対応するレコードの最近傍キャッシュIP2042に追加されたキャッシュサーバCのIPアドレスを登録し、当該レコードの距離2043に受信した測定結果を登録し(6004)、処理を終了する。
ステップ6003の処理で、受信した測定結果が近傍キャッシュ表2022のPBRルータAに対応するレコードの距離以上であると判定された場合、Resolve Manager1021は、ステップ6004〜6007の処理を実行せずに処理を終了する。
図11は、本発明の実施例1のルール設定処理のフローチャートである。
Resolve Manager1021は、受信した測定結果が近傍キャッシュ表2022のPBRルータAに対応するレコードの距離より小さいと判定された場合、ssh(Secure Shell)コマンドなどによってPBRルータAにアクセスする(6005)。
次に、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータAに対応するレコードの最近傍キャッシュIP2042に登録された最近傍キャッシュサーバのIPアドレスを取得する(6006)。そして、Resolve Manager1021は、ステップ6006の処理で取得した最近傍キャッシュサーバのIPアドレスを転送先とし、所定の転送条件を含むルールをPBRルータAに設定し(6007)、処理を終了する。
なお、ステップ6005の処理では、Resolve Manager1021は、sshコマンドを用いてPBRルータAにアクセスしたが、sshコマンドと同様の機能を有するコマンド又は手段があれば代用してもよい。
次に、キャッシュサーバ追加処理のうちResolve Agentによる処理について、図12及び図13を用いて説明する。
図12は、本発明の実施例1のResolve Agentによるキャッシュサーバ追加/削除要求処理のフローチャートである。
追加されるキャッシュサーバCに実装されるResolve Agentは、自身が起動すると、キャッシュサーバCのIPアドレスを含むキャッシュサーバ追加要求をResolve Manager1021に送信し(8001)、処理を終了する。
また、キャッシュサーバCに実装されるResolve Agentは、自身の起動を終了する場合、削除するキャッシュサーバCのIPアドレスを含むキャッシュサーバ削除要求をResolve Manager1021に送信し(8001)、処理を終了する。
なお、キャッシュサーバ追加要求及びキャッシュサーバ削除要求は、Resolve Manager1021がResolve Agentによる追加要求及び削除要求であることを確認できる形式であればよく、追加又は削除するキャッシュサーバをキャッシュサーバ一覧表2023に追加又は削除することを要求する旨がResolve Manager1021に通知可能なメッセージであれば形式は任意である。
図13は、本発明の実施例1のResolve Agentによる距離測定処理のフローチャートである。
Resolve Agentは、Resolve Manager1021から、PBRルータAとキャッシュサーバCとの間のネットワーク距離の測定指示を受信した場合、距離測定処理を実行する。
まず、Resolve Agentは、PBRルータAにpingを発行して(8002)、自身が実装されるキャッシュサーバとPBRルータAとの間のネットワーク距離を測定する。そして、Resolve Agentは、pingの結果取得されたRTTを測定結果としてResolve Manager1021に送信し(8003)、処理を終了する。
ここで、ステップ8002の処理の具体例について図14を用いて説明する。図14は、本発明の実施例1のネットワーク距離の測定結果の説明図である。
図14では、Resolve Agentが実装されたキャッシュサーバ(aaa.example.com [a1.a2.a3.a4])からPBRルータA(zzz.example.com [z1.z2.z3.z4])にpingを発行した場合の結果である。
pingの結果、4回のネットワーク距離の測定結果の平均が11msであるので、Resolve Agentは測定結果として11msを取得する。
なお、ネットワーク距離を測定するために広く用いられているpingプログラムを用いたが、ネットワーク距離を測定可能であれば他のプログラムを用いてもよい。
以上によって、ネットワークに新たにキャッシュサーバが追加される場合、Resolve Manager1021は、当該キャッシュサーバが最近傍のキャッシュサーバとなるPBRルータに対するルールを自動的に生成し、生成したルールを当該PBRルータに自動的に設定することができる。
次に、図15及び図16を用いて、ネットワークからキャッシュサーバが削除される場合のキャッシュサーバ削除処理について説明する。
図15は、本発明の実施例1のキャッシュサーバ削除処理のシーケンス図である。図15では、Resolve Agent C9021を実装したキャッシュサーバC9020がネットワークから削除されるものとする。
本キャッシュサーバ削除処理は、Resolve Manager1021と削除されるキャッシュサーバC9020のResolve Agent C9021との間で実行される。
まず、ネットワークから削除されるキャッシュサーバ9020に実装されるResolve Agent9021が、キャッシュサーバ削除要求をResolve Manager1021に送信する(9001)。キャッシュサーバ削除要求には、削除されるキャッシュサーバ9020のIPアドレスが含まれる。
Resolve Manager1021は、キャッシュサーバ削除要求を受信した場合、受信したキャッシュサーバ削除要求に含まれるキャッシュサーバ9020のIPアドレスをキャッシュサーバ一覧表2023から削除する(9002)。
次に、Resolve Manager1021は、近傍キャッシュ表2022の最近傍キャッシュIP2042に削除されるキャッシュサーバ9020のIPアドレスが登録されたレコードのPBRルータIP2041に登録されたPBRルータのIPアドレスを取得して、取得したPBRルータのIPアドレスのリストを生成する。そして、Resolve Manager1021は、生成したリストの1行目のIPアドレスによって識別されるPBRルータ(例えば、PBRルータA1051)をPBRルータAとし(9003)、削除されるキャッシュサーバC9020以外の全てのキャッシュサーバA1031及びB1033に実装されるResolve Agent A1032及びB1034に、PBRルータAとのネットワーク距離測定指示を送信する(9004)。
Resolve Agent A1032及びB1034は、PBRルータAとのネットワーク距離測定指示を受信した場合、自身が実装されるキャッシュサーバA1031及びB1033とPBRルータA(PBRルータA1051)との間のネットワーク距離を測定する。
そして、Resolve Agent A1032及びB1034は、PBRルータAとのネットワーク距離の測定結果をResolve Manager1021に送信する(9005)。
Resolve Manager1021は、各Resolve Agent A1032及びB1034から各キャッシュサーバA1031及びB1033とPBRルータAとの間のネットワーク距離の測定結果を受信した場合、測定結果が最小となる最近傍キャッシュサーバを特定する。そして、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータAに対応するレコードの最近傍キャッシュIP2042に、特定した最近傍キャッシュサーバのIPアドレスを登録し、当該レコードの距離2043に当該最近傍キャッシュサーバの測定結果を登録することによって、近傍キャッシュ表2022を更新する(9006)。また、Resolve Manager1021は、PCからのトラフィックを最近傍キャッシュサーバに転送するようにPBRルータAにルールを設定する(9007)。
次に、Resolve Manager1021は、リストの2行目以降の全てのIPアドレスによって識別される全てのPBRルータに対して、ステップ9004〜9007の処理を実行する。
図16は、本発明の実施例1のキャッシュサーバ削除処理のうちResolve Managerによる処理のフローチャートである。
Resolve Manager1021は、削除されるキャッシュサーバ(キャッシュサーバC)に実装されるResolve Agentから送信されたキャッシュサーバ削除要求を受信した場合、当該処理の実行を開始する。
まず、Resolve Manager1021は、受信したキャッシュサーバ削除要求に基づいてキャッシュサーバ一覧表2023を更新するキャッシュサーバ一覧表更新処理を実行する(10001)。キャッシュサーバ一覧表更新処理では、図9で説明したように、Resolve Manager1021は、受信したキャッシュサーバ削除要求に含まれるキャッシュサーバのIPアドレスをキャッシュサーバ一覧表2023から削除する。
次に、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータIP2041の最近傍キャッシュIP2042に登録されたIPアドレスがキャッシュサーバ削除要求に含まれるIPアドレスと一致する全てのレコードのPBRルータIP2041に登録されたPBRルータのIPアドレスを取得して、取得したPBRルータのIPアドレスのリスト(PBRルータ配列)を生成する(10002)。
次に、Resolve Manager1021は、生成したPBRルータ配列の1行目のIPアドレスによって識別されるPBRルータをPBRルータAとし(10003)、PBRルータ配列の1行目のIPアドレスを削除する(10004)。
次に、Resolve Manager1021は、PBRルータAと削除されるキャッシュサーバ以外の全キャッシュサーバとのネットワーク距離の測定指示を、これらのキャッシュサーバに実装されるResolve Agentに送信し、測定結果に基づいて近傍キャッシュ表2022のPBRルータAに対応するレコードを更新する近傍キャッシュ表更新処理を実行する(10005)。
キャッシュサーバ削除処理における近傍キャッシュ表更新処理について、図10に示すキャッシュサーバ追加処理における近傍キャッシュ表更新処理と異なる点について説明する。
図10に示すステップ6002の処理では、Resolve Manager1021は、削除されるキャッシュサーバ以外の全てのキャッシュサーバに実装されるResolve Agentに、PBRルータAとの間のネットワーク距離の測定指示を送信する。
また、図10に示すステップ6003及び6004の処理では、Resolve Manager1021は、各Resolve Agentから受信した測定結果に基づいて、PBRルータAとのネットワーク距離が最小となる最近傍キャッシュサーバを特定し、近傍キャッシュ表2022のPBRルータAに対応するレコードの最近傍キャッシュIP2042に特定した最近傍キャッシュサーバのIPアドレスを登録し、当該レコードの距離2043に特定した最近傍キャッシュサーバに実装されたResolve Agentから送信された測定結果を登録する。
次に、Resolve Manager1021は、PCからのトラフィックを最近傍キャッシュサーバに転送するルールをPBRルータAに設定するルール設定処理を実行する(10006)。ルール設定処理は、図11に示すルール設定処理と同じ処理である。
次に、Resolve Manager1021は、PBRルータ配列にIPアドレスが存在するか否かを判定する(10007)。
ステップ10007の処理で、PBRルータ配列にIPアドレスが存在する場合、全てのPBRルータに対して近傍キャッシュ表更新処理を実行していないので、ステップ10003の処理に戻る。
一方、ステップ10007の処理で、PBRルータ配列にIPアドレスが存在しない場合、全てのPBRルータに対して近傍キャッシュ表更新処理を実行したので、処理を終了する。
これによって、削除されるキャッシュサーバが最近傍キャッシュサーバとなっていたPBRルータの最近傍キャッシュサーバが、削除されるキャッシュサーバ以外のキャッシュサーバのうち最もネットワーク距離が小さいキャッシュサーバに更新され、削除されるキャッシュサーバが最近傍キャッシュサーバとなっていたPBRルータのルールを新たに特定された最近傍キャッシュサーバに転送するように設定できる。
次に、全てのPBRルータのルールを更新するためのルール更新処理について、図17及び図18を用いて説明する。ルール更新処理は、キャッシュサーバ及びPBRルータの少なくとも一方に障害を検出した場合(ネットワークに障害を検出した場合)に実行されてもよいし、所定時間毎に実行されてもよい。また、ルール更新処理は、各PBRルータと全てのキャッシュサーバとのネットワーク距離が測定され、測定結果に基づいて各PBRルータの最近傍キャッシュサーバが更新される。
図17は、本発明の実施例1のルール更新処理のシーケンス図である。
まず、Resolve Manager1021は、近傍キャッシュ表2022の全PBRルータのIPアドレスを含むリストを生成し、生成したリストの1行目のIPアドレスのPBRルータをPBRルータAとする(11001)。ステップ11001の処理は、図6に示す5003の処理と同じ処理である。
次に、Resolve Manager1021は、全てのキャッシュサーバのResolve AgentにPBRルータAとのネットワーク距離測定指示を送信する(11002)。Resolve Agentは、PBRルータAとのネットワーク距離測定指示を受信した場合、PBRルータAとの間のネットワーク距離を測定する。
そして、Resolve Agentは、PBRルータAとのネットワーク距離の測定結果をResolve Manager1021に送信する(11003)。
Resolve Manager1021は、測定結果を受信した場合、受信した測定結果のうちネットワーク距離が最小となるResolve Agentを実装するキャッシュサーバを、PBRルータAの最近傍キャッシュサーバとして特定する。そして、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータAに対応するレコードの最近傍キャッシュIP2042に当該キャッシュサーバのIPアドレスを登録し、当該レコードの距離2043に当該キャッシュサーバに実装されたResolve Agentからの測定結果を登録することによって、近傍キャッシュ表2022を更新する(11004)。
次に、Resolve Manager1021は、PCからのトラフィックを最近傍キャッシュサーバに転送するようにPBRルータAにルールを設定する(11005)。
ステップ11001〜11006の処理を全てのPBRルータに実行する。
図18は、本発明の実施例1のルール更新処理のうちResolve Manager1021による処理のフローチャートである。
図18に示すステップ12001〜12006の処理は、図8に示す7002〜7007の処理に対応する。ステップ7005の処理では、追加されるキャッシュサーバとPBRルータAとの間のネットワーク距離の測定を指示するのに対して、ステップ12004の処理では、全てのキャッシュサーバとPBRルータAとの間のネットワーク距離の測定を指示する。
まず、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータIP2041を参照し、PBRルータ配列を生成する(12001)。ステップ12001の処理はステップ7002の処理と同じである。
次に、Resolve Manager1021は、生成したPBRルータ配列の1行目のIPアドレスによって識別されるPBRルータをPBRルータAとし(12002)、PBRルータ配列の1行目のIPアドレスを削除する(12003)。ステップ12002及び12003の処理は、ステップ7003及び7004の処理と同じである。
次に、Resolve Manager1021は、PBRルータAと全てのキャッシュサーバとのネットワーク距離の測定指示を、全てのキャッシュサーバに実装されるResolve Agentに送信し、測定結果に基づいてPBRルータAの最近傍キャッシュサーバを特定し、近傍キャッシュ表2022のPBRルータAに対応するレコードを更新する近傍キャッシュ表更新処理を実行する(12004)。
近傍キャッシュ表更新処理について説明する。
まず、Resolve Manager1021は、キャッシュサーバ一覧表2023に登録された全てのキャッシュサーバに実装されたResolve Agentに対して、PBRルータAとのネットワーク距離の測定指示を送信する。
Resolve Manager1021は、全てのキャッシュサーバに実装されるResolve Agentから測定結果を受信すると、受信した測定結果が最小となるキャッシュサーバを、PBRルータAの最近傍キャッシュサーバとして特定する。
次に、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータAに対応するレコードの最近傍キャッシュIP2042に登録されたキャッシュサーバのIPアドレスと、特定した最近傍キャッシュサーバのIPアドレスとが一致するか否かを判定する。
最近傍キャッシュIP2042に登録されたキャッシュサーバのIPアドレスと、特定した最近傍キャッシュサーバのIPアドレスとが一致しない場合、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータAに対応するレコードの最近傍キャッシュIP2042に特定した最近傍キャッシュサーバのIPアドレスを登録し、当該レコードの距離2043に特定した最近傍キャッシュサーバの測定結果を登録し、処理を終了する。
一方、最近傍キャッシュIP2042に登録されたキャッシュサーバのIPアドレスと、特定した最近傍キャッシュサーバのIPアドレスとが一致する場合、そのまま処理を終了してもよいし、Resolve Manager1021が、近傍キャッシュ表2022のPBRルータAに対応するレコードの距離2043に特定した最近傍キャッシュサーバの測定結果を登録し、処理を終了してもよい。
このように、近傍キャッシュ表更新処理では、PBRルータAの最近傍キャッシュサーバが最新の最近傍キャッシュサーバに更新される。
図18に戻って、Resolve Manager1021は、ステップ12004の処理で近傍キャッシュ表更新処理を実行した後、当該近傍キャッシュ表更新処理でPBRルータAの最近傍キャッシュサーバが更新された場合、PCからのトラフィックを更新後の最近傍キャッシュサーバに転送するルールをPBRルータAに設定するルール設定処理を実行する(12005)。ステップ12005の処理は、ステップ7004の処理と同じである。
次に、Resolve Manager1021は、PBRルータ配列にIPアドレスが存在するか否かを判定する(12006)。
ステップ12006の処理で、PBRルータ配列にIPアドレスが存在する場合、全てのPBRルータに対して近傍キャッシュ表更新処理を実行していないので、ステップ12002の処理に戻る。
一方、ステップ12006の処理で、PBRルータ配列にIPアドレスが存在しない場合、全てのPBRルータに対して近傍キャッシュ表更新処理を実行したので、処理を終了する。
以上によって、所定のタイミング(所定時間毎、又はネットワークに障害を検出した場合)で、全てのPBRルータの最近傍キャッシュサーバを最新の最近傍キャッシュサーバに更新することができる。
実施例1の最後に、上述したResolve Manager1021の動作及びResolve Agentの動作について、図19及び図20を用いて説明する。
図19は、本発明の実施例1のResolve Manager1021の動作のフローチャートである。
Resolve Manager1021に電源が投入され、Resolve Manager1021が起動すると(13001)、Resolve Manager1021は、近傍キャッシュ表2022のPBRルータIP2041にネットワークを構成するPBRルータのIPアドレスを登録する(13002)。ステップ13002の処理で近傍キャッシュ表2022に登録されるPBRルータのIPアドレスは、管理者等によって入力されてもよいし、設定ファイルに記述されていてもよい。
次に、Resolve Manager1021のCPU2011は、二次記憶デバイス2013に記憶されたResolve Managerモジュールプログラム2031を主記憶デバイス2012にロードし、ロードされたResolve Managerモジュールプログラム2031を実行することによって、Resolve Managerモジュール2021を起動する(13003)。
Resolve Manager1021は、キャッシュサーバ追加要求を受信したか否かを判定する(13004)。ステップ13004の処理で、キャッシュサーバ追加要求を受信したと判定された場合、Resolve Manager1021は、図8に示すキャッシュサーバ追加処理を実行し、ステップ13004の処理に戻る。
ステップ13004の処理で、キャッシュサーバ追加要求を受信していないと判定された場合、Resolve Manager1021は、キャッシュサーバ削除要求を受信したか否かを判定する(13005)。
ステップ13005の処理で、キャッシュサーバ削除要求を受信したと判定された場合、Resolve Manager1021は、図16に示すキャッシュサーバ削除処理を実行し(13007)、ステップ13004の処理に戻る。
ステップ13005の処理で、キャッシュサーバ削除要求を受信していないと判定された場合、Resolve Manager1021は、ネットワークに障害が発生したことを検出したか否かを判定する(13008)。
ステップ13008の処理で、ネットワークに障害が発生したことを検出したと判定された場合、Resolve Manager1021は、図18に示すルール更新処理を実行し(13009)、ステップ13004の処理に戻る。
ステップ13008の処理で、ネットワークに障害が発生したことを検出していないと判定された場合、ステップ13004の処理に戻る。
つまり、Resolve Manager1021は、ステップ14003の処理の実行後、処理依頼の受け付けるまで待機し、処理依頼を受け付けると、処理依頼に応じた処理を実行する。
ここで、Resolve Manager1021のネットワークの障害検出について説明する。
ネットワークの障害とは、PBRルータ及びキャッシュサーバ等の装置の故障の他に、ネットワーク構成の変化も含む。
Resolve Manager1021が装置の故障をネットワークの障害として検出する方法としては、Resolve Manager1021がResolve Agent及びPBRルータにpingコマンドを所定時間毎に発行し、応答がない場合にネットワークの障害を検出する方法がある。Resolve Agent及びPBRルータの生存確認のために、pingコマンドを用いたが、他の手段があれば他の手段を用いてもよい。
また、Resolve Manager1021がネットワーク構成の変化をネットワークの障害として検出する方法としては、Resolve Manager1021が、Resolve Agent又はPBRルータにtracerouteコマンドを発行し、Resolve Manager1021からResolve Agent又はPBRルータへの経路上のルータの数又は当該ルータの識別情報を記憶し、tracerouteコマンドによって取得されたルータの数又はルータの識別情報が記憶していた情報と異なる場合、ネットワーク構成に変化があったので、ネットワーク障害として検出する方法がある。なお、経路に関する情報を取得するために、tracerouteコマンドを用いたが、他の手段があれば他の手段を用いてもよい。
さらに、Resolve Manager1021が適当なWebサーバからコンテンツをダウンロードする時間を計測し、当該時間が閾値以上である場合にネットワークの障害を検出してもよい。
また、Resolve Manager1021は、既存の障害検出システムを利用して、当該障害検出システムのアラートによってネットワーク障害を検出してもよい。
また、ネットワークを構成する装置の故障及びネットワーク構成の変化を検出できれば、他の既存の障害検出装置及び障害検出方法などを用いてもよい。
図20は、本発明の実施例1のResolve Agentの動作のフローチャートである。
まず、Resolve Agentを実装するキャッシュサーバに電源が投入され、Resolve Agentが起動すると(14001)、キャッシュサーバのCPU2061は、二次記憶デバイス2063に記憶されたResolve Agentモジュールプログラム2081を主記憶デバイス2062にロードし、ロードされたResolve Agentモジュールプログラム2081を実行することによって、Resolve Agentモジュール2071を起動する(14002)。
そして、Resolve Agentは、起動されたキャッシュサーバのIPアドレスを含むキャッシュサーバ追加要求をResolve Manager1021に送信する(14003)。
次に、Resolve Agentは、Resolve Manager1021からネットワーク距離の測定指示を受信したか否かを判定する(14004)。
ステップ14004の処理で、ネットワーク距離の測定指示を受信したと判定された場合、Resolve Agentは、指示されたPBRルータとのネットワーク距離を測定するネットワーク距離測定処理を実行し(14005)、ステップ14004の処理に戻る。
一方、ステップ14004の処理で、ネットワーク距離の測定指示を受信していないと判定された場合、Resolve Agentは、キャッシュサーバの起動が終了するか否かを判定する(14006)。
ステップ14006の処理で、キャッシュサーバの起動が終了すると判定された場合、キャッシュサーバがネットワークから削除されることになるので、キャッシュサーバ削除要求をResolve Manager1021に送信し(14007)、Resolve Agentモジュール2071を停止する(14008)。
一方、ステップ14006の処理で、キャッシュサーバの起動が終了しないと判定された場合、ステップ14004の処理に戻る。
以上によって、本実施例によれば、エンドユーザからのトラフィックを最近傍のキャッシュサーバに転送するPBRルータのルールを自動的に生成することができ、当該ルールをPBRルータに自動的に設定することができる。
実施例2は、実施例1のResolve Agentをキャッシュサーバ上で動作させず、キャッシュサーバの近くに存在する計算機上で動作させた場合の実施例である。
ここで、キャッシュサーバの近くに存在する計算機とは、キャッシュサーバに直接接続される計算機や、キャッシュサーバが接続されたハブ装置と同一のハブ装置に接続される計算機のことである。すなわち、キャッシュサーバ及びルータ装置を介さずに接続される計算機のことである。
Resolve Agentがキャッシュサーバ上で動作せず、キャッシュサーバと異なる装置で動作する場合、Resolve Agentとキャッシュサーバとはそれぞれ異なるIPアドレスを有する。このため、Resolve Manager1021は、Resolve Agentを管理するために、キャッシュサーバのIPアドレスだけでなくResolve AgentのIPアドレスも保持する必要がある。また、Resolve AgentがResolve Manager1021に送信するキャッシュサーバ追加要求は、自身が実装される装置のIPアドレスと、当該装置の近くに存在するキャッシュサーバのIPアドレスとを含む必要がある。
したがって、本実施例の実施例1からの主な変更点は以下の三つである。
第一の変更点は、キャッシュサーバ上でResolve Agentが動作しない点である。第二の変更点は、キャッシュサーバ一覧表が、キャッシュサーバと、キャッシュサーバの近くに存在するResolve Agentと、の関係を保持する点である。第三の変更点は、キャッシュサーバ追加要求に、Resolve AgentのIPアドレスと、当該Resolve Agentが実装される装置の近くに存在するキャッシュサーバのIPアドレスとが含まれる点である。
以下、本発明の実施例2について図21〜図25を用いて説明する。
図21は、本発明の実施例2の中継システムの説明図である。図21では、実施例1の図1に示す中継システムと同じ構成については、同じ符号を付与し、説明を省略する。
Webサーバ1011、ルータA1041〜D1044、及びPBRルータA1051〜C1053は、図1と同じである。
Resolve Manager15021は、上述したように、キャッシュサーバ一覧表が実施例1と異なり、詳細は図22及び図23で説明する。
キャッシュサーバA15031及びB15033は、Webコンテンツの複製を保持し、エンドユーザからのリクエストに応じて当該Webコンテンツを返し、実施例1と異なり、Resolve Agentはキャッシュサーバ上で動作しない。なお、キャッシュサーバの詳細は図24で説明する。
また、Resolve Agent A15032は、キャッシュサーバA15031の近くに存在する装置で動作し、Resolve Agent B15034は、キャッシュサーバB15033の近くに存在する装置で動作する。なお、Resolve Agentを実装する装置の詳細は図25で説明する。
本実施例では、Resolve Agentがキャッシュサーバと別の装置で動作するので、Resolve AgentによるPBRルータとのネットワーク距離の測定結果は、キャッシュサーバとPBRルータとの間のネットワーク距離ではないが、当該装置はキャッシュサーバの近くに存在するため、キャッシュサーバとPBRルータとの間のネットワーク距離として扱う。
図21に示す中継システムにおいて、キャッシュサーバA15031が新たに追加される場合のキャッシュサーバ追加処理の概略を説明する。
図21に示す(1)では、新たに追加されるキャッシュサーバA1031の近くに存在するResolve Agent A15032が、Resolve Manager15021に、キャッシュサーバ追加要求を送信する。Resolve Manager15021は、キャッシュサーバ追加要求を受信すると、当該Resolve Agent A15032に各PBRルータA1051〜C1053との間のネットワーク距離の測定を指示する。
図21に示す(2)では、Resolve Agent A15032は、各PBRルータA1051〜C1053との間のネットワーク距離を測定する。そして、Resolve Agent A15032は、ネットワーク距離の測定結果をResolve Manager15021に送信する。
図21に示す(3)及び(4)では、Resolve Manager15021は、測定結果に基づいて、追加されたキャッシュサーバが最近傍キャッシュサーバとなるPBRルータに、PC A1061〜1064からのデータを当該最近傍キャッシュサーバに転送するルールを生成し、当該PBRルータに当該ルールを設定する。
図21に示す(5)では、PBRルータC1053が、最近傍となるキャッシュサーバB1033に、PC D1064からのデータを転送している。
これによって、PBRルータのルールの生成及び設定を自動化することができる。
本実施例のルール更新処理は、実施例1と同じであるが、本実施例のキャッシュサーバ追加処理及びキャッシュサーバ削除処理は、Resolve Manager1021のキャッシュサーバ一覧表の更新処理が実施例1と異なる。図22〜図25でResolve Manager1021、キャッシュサーバ一覧表、キャッシュサーバ、及びResolveAgentの構成について説明し、その後、本実施例のキャッシュサーバ追加処理及びキャッシュサーバ削除処理について説明する。
図22は、本発明の実施例2のResolve Manager15021のハードウェア構成図である。図22では、実施例1の図2に示すResolve Manager1021と同じ構成については、同じ符号を付与し、説明を省略する。
Resolve Manager15021は、CPU2011、主記憶デバイス2012、及び二次記憶デバイス2013を有する。主記憶デバイス2012には、Resolve Managerモジュール2021、近傍キャッシュ表2022、及びキャッシュサーバ一覧表16023が記憶される。二次記憶デバイス2013には、Resolve Managerモジュールプログラム2031が記憶される。本実施例のResolve Manager15021と実施例1のResolve Manager1021は、キャッシュサーバ一覧表が異なるだけであり、その他の構成は同じである。
図23は、本発明の実施例2のキャッシュサーバ一覧表16023の説明図である。図23では、実施例1の図4に示すキャッシュサーバ一覧表2023と同じ構成については、同じ符号を付与し、説明を省略する。
キャッシュサーバ一覧表16023は、ID2051、キャッシュサーバIP2052、及びResolve Agent IP16041を含む。
ID2051及びキャッシュサーバIP2052は、実施例1のキャッシュサーバ一覧表2023と同じである。
Resolve Agent IP16041は、同じレコードのキャッシュサーバIP2052に登録されたIPアドレスによって識別されるキャッシュサーバの近くに存在する装置であって、Resolve Agentを実装する装置のIPアドレスが登録される。
また、Resolve Agent IP16041に登録されたIPアドレスは、キャッシュサーバ一覧表16023の主キーとなり得る。
図24は、本発明の実施例2のキャッシュサーバ15031のハードウェア構成図である。図24では、実施例1の図5に示すキャッシュサーバ1031と同じ構成については、同じ符号を付与し、説明を省略する。
本実施例のキャッシュサーバ15031は、Resolve Agentを動作させない点で実施例1のキャッシュサーバ1031と異なる。
キャッシュサーバ15031は、CPU2061、主記憶デバイス2062、及び二次記憶デバイス2063を有する。主記憶デバイス2062には、キャッシュ管理モジュール2072が記憶され、Resolve Agentモジュール2071は記憶されない。二次記憶デバイス2063には、キャッシュ管理モジュールプログラム2082が記憶され、Resolve Agentモジュールプログラム2081は記憶されない。また、二次記憶デバイス2063は、キャッシュ管理領域2083を有する。
図25は、本発明の実施例2のResolve Agentを実装する装置のハードウェア構成図である。
Resolve Agentを実装する装置は、CPU16081、主記憶デバイス16082、及び二次記憶デバイス16083を有する。
主記憶デバイス16082にはResolve Agentモジュール16091が記憶される。二次記憶デバイス16083にはResolve Agentモジュールプログラム16101が記憶される。主記憶デバイス16082に記憶されるResolve Agentモジュール16091は、二次記憶デバイス16083に記憶されたResolve Agentモジュールプログラム16101が主記憶デバイス16082にロードされた状態を示す。CPU16081は、主記憶デバイス16082にロードされたResolve Agentモジュール16091を実行する。
次に、本実施例のキャッシュサーバ追加処理及びキャッシュサーバ削除処理について説明する。
Resolve Agentを実装する装置は、自身のIPアドレスと自身の近くに存在するキャッシュサーバのIPアドレスとを含むキャッシュサーバ追加要求を送信する。当該装置の近くに存在するキャッシュサーバのIPアドレスは、例えば、Resolve Agentを実装する装置に事前に設定されているものとする。なお、キャッシュサーバ削除要求も、同様に、Resolve Agentを実装する装置のIPアドレスと、当該装置の近くに存在するキャッシュサーバのIPアドレスとを含む。
また、Resolve Manager15021がキャッシュサーバ追加要求又はキャッシュサーバ削除要求を受信した場合のキャッシュサーバ一覧表16023の更新処理が実施例1と異なる。
Resolve Manager15021は、キャッシュサーバ追加要求を受信した場合、キャッシュサーバ一覧表16023に新たにレコードを追加し、追加したレコードのキャッシュサーバIP2052に、受信したキャッシュサーバ追加要求に含まれるキャッシュサーバのIPアドレスを登録し、追加したレコードのResolve Agent IP16041に、受信したキャッシュサーバ追加要求に含まれるResolve Agentを実装する装置のIPアドレスを登録する。
Resolve Manager15021は、キャッシュサーバ削除要求を受信した場合、キャッシュサーバ削除要求に含まれるResolve Agentを実装する装置のIPアドレス及びキャッシュサーバのIPアドレスと一致するキャッシュサーバ一覧表16023のレコードを特定し、特定したレコードを削除する。
以上のように、キャッシュサーバの近くに存在する装置に、Resolve Agentを実装することによって、Resolve Agentをキャッシュサーバ上ではなく独立した他の装置上で動作させることができる。
実施例3は、Resolve AgentをPBRルータ上で動作させる実施例である。この場合、PBRルータ上で動作するResolve Agentが当該PBRルータの最近傍キャッシュサーバの特定処理、近傍キャッシュ表更新処理、及びルール設定処理を実行し、実施例1及び2と異なり、Resolve Manager17021は、Resolve Agentからのネットワーク距離の測定結果を集計しなくてもよい。また、本実施例では、PBRルータにResolve Agentが実装されるので、Resolve AgentのIPアドレスとPBRルータのIPアドレスとが同一となる。このため、本実施例では、Resolve Manager17021、Resolve Agent、PBRルータの構成及び動作が変更されている。
以下、本発明の実施例3について図26〜図40を用いて説明する。
図26は、本発明の実施例3の中継システムの説明図である。図26では、実施例1の図1に示す中継システムと同じ構成については、同じ符号を付与し、説明を省略する。
Webサーバ1011、及びルータA1041〜D1044は、図1と同じである。Resolve Manager17021は、キャッシュサーバ追加要求及びキャッシュサーバ削除要求を受信し、キャッシュサーバ追加要求を受信した場合には、キャッシュサーバ追加指示をPBRルータに実装されたResolve Agentに送信し、キャッシュサーバ削除要求を受信した場合には、キャッシュサーバ削除指示をPBRルータに実装されたResolve Agentに送信する。Resolve Manager17021の詳細は図27で説明する。
キャッシュサーバA17031及びB17032は、Webコンテンツの複製を保持し、エンドユーザからのリクエストに応じて当該Webコンテンツを返し、実施例1と異なり、Resolve Agentはキャッシュサーバ上で動作しない。
PBRルータA17051、B17053、及びC17055は、Resolve Agent A17052、B17054、及びC17056を実装する。PBRルータの詳細は図29で説明する。
図26に示す中継システムにおいて、キャッシュサーバA17031が新たに追加される場合のキャッシュサーバ追加処理の概略を説明する。
図26に示す(1)では、新たに追加されるキャッシュサーバA17031が、Resolve Manager17021に、キャッシュサーバ追加要求を送信する。
図26に示す(2)では、Resolve Manager17021は、キャッシュサーバ追加要求を受信すると、各PBRルータA17051〜17055に実装されたResolve Agent A〜C17051〜17055に、キャッシュサーバ追加指示を送信する。
図26に示す(3)では、Resolve Agent A〜C17051〜17055は、追加されたキャッシュサーバ17031との間のネットワーク距離を測定し、当該キャッシュサーバ17031が最近傍キャッシュサーバであれば、PC A1061〜D1064からのデータを当該キャッシュサーバ17031に転送するルールを生成し、自身を実装するPBRルータに設定する。
これによって、PBRルータのルールの生成及び設定を自動化することができる。
なお、本実施例では、中継システムの全体構成、Resolve Manager17021、Resolve Agent、及びPBRルータが変更されており、これに伴って、キャッシュサーバ追加処理、キャシュサーバ削除処理、及びルール更新処理が変更されている。キャッシュシステムの全体構成、Resolve Manager装置、Resolve Agent装置、PBRルータの詳細構成とキャッシュサーバ追加処理、キャッシュサーバ削除処理、及びルール更新処理について以下で説明する。
図27は、本発明の実施例3のResolve Manager17021のハードウェア構成図である。
Resolve Manager17021は、CPU2011、主記憶デバイス2012、及び二次記憶デバイス2013を有する。主記憶デバイス2012には、Resolve Managerモジュール18021が記憶され、実施例1及び2と異なり、近傍キャッシュ表、及びキャッシュサーバ一覧表は記憶されない。二次記憶デバイス2013には、Resolve Managerモジュールプログラム18031が記憶される。
図28は、本発明の実施例3のPBRルータのハードウェア構成図である。
PBRルータは、CPU18061、主記憶デバイス18062、及び二次記憶デバイス18063を有する。主記憶デバイス18062には、Resolve Agentモジュール18071、近傍キャッシュ表18072、ルータ管理モジュール18073、及びキャッシュサーバ一覧表18074が記憶される。二次記憶デバイス18063には、Resolve Agentモジュールプログラム18081及びルータ管理モジュールプログラム18082が記憶される。
Resolve Agentモジュールプログラム18081は、Resolve Agentが動作するためのプログラムであり、ルータ管理モジュールプログラム18082は、PBRルータの動作を管理するためのプログラムである。主記憶デバイス2062に記憶されたResolve Agentモジュール18071及びルータ管理モジュール18073は、二次記憶デバイス18063に記憶されたResolve Agentモジュールプログラム18081、及びルータ管理モジュールプログラム18082がロードされた状態を示す。CPU2061は、主記憶デバイス2062に記憶されたResolve Agentモジュール18071及びルータ管理モジュール18073を実行する。
近傍キャッシュ表18072は、自身(PBRルータ)の最近傍キャッシュサーバを保持するためのデータであり、詳細は図29で説明する。キャッシュサーバ一覧表18074は、ネットワークに存在し、利用可能なキャッシュサーバを保持するためのデータであり、実施例1のキャッシュサーバ一覧表2023と同じである。
図29は、本発明の実施例3の近傍キャッシュ表18072の説明図である。図29では、実施例1の図3に示す近傍キャッシュ表2022と同じ構成は、同じ符号を付与し、説明を省略する。
近傍キャッシュ表18072は、PBRルータIP2041、最近傍キャッシュIP2042、及び距離2043を含む。
本実施例の近傍キャッシュ表18072は、一つのPBRルータ(自身)の最近傍キャッシュサーバを保持するので、近傍キャッシュ表18072のレコードは一つである。
なお、本実施例では、ルータ管理モジュールプログラム18082は汎用のものであればよい。
次に、図30〜図32を用いて、キャッシュサーバ追加処理について説明する。
図30は、本発明の実施例3のキャッシュサーバ追加処理のシーケンス図である。
本実施例のキャッシュサーバ追加処理は、Resolve Manager17021と、追加されるキャッシュサーバA17031と、全てのResolve Agentとの間で実行される。
まず、ネットワークに新たに追加されるキャッシュサーバA17031が、キャッシュサーバ追加要求をResolve Manager1021に送信する(19001)。キャッシュサーバ追加要求には、新たに追加されるキャッシュサーバA17031のIPアドレスが含まれる。
Resolve Manager17021は、キャッシュサーバ追加要求を受信した場合、全てのPBRルータ(図30では、PBRルータ17051、17053)に実装されるResolve Agent(17052、17054)に、キャッシュサーバ追加指示を送信する(19002)。キャッシュサーバ追加指示には、新たに追加されるキャッシュサーバA17031のIPアドレスが含まれる。
Resolve Agent17052及び17054は、キャッシュサーバ追加指示を受信した場合、キャッシュサーバ一覧表18074に、受信したキャッシュサーバ追加指示に含まれるキャッシュサーバのIPアドレスを追加する(19003)。
次に、Resolve Agent17052及び17054は、自身が実装されるPBRルータ17051及び17053と新たに追加されるキャッシュサーバA17031との間のネットワーク距離を測定する(19004)。そして、Resolve Agent17052及び17054は、測定結果が近傍キャッシュ表18072の距離2043に登録された距離よりも小さいか否かを判定する。測定結果が近傍キャッシュ表18072の距離2043に登録された距離よりも小さいと判定された場合、Resolve Agent17052及び17054は、近傍キャッシュ表18072の最近傍キャッシュIP2042に新たに追加されるキャッシュサーバA17031のIPアドレスを登録し、距離2043に測定結果を登録することによって、近傍キャッシュ表2022を更新する(19005)。また、この場合、Resolve Agent17052及び17054は、PCからのトラフィックを最近傍キャッシュサーバとなるキャッシュサーバA17031に転送するようにルータ19101及び19102にルールを設定する(19006)。
また、Resolve Manager17021は、キャッシュサーバB17032から送信されたキャッシュサーバ追加要求を受信した場合(19007)、キャッシュサーバ追加指示を全てのResolve Agent17052及び17054が実装されたPBRルータA17051及び17053に送信する(19008)。Resolve Agent17052及び17054は、キャッシュサーバ追加指示を受信すると、ステップ19003〜19006を実行する。
このようにして、追加されるキャッシュサーバの起動をトリガにして、各PBRルータに設定されるルールの生成、及び生成されたルールの各PBRルータへの設定が自動化される。
なお、キャッシュサーバは、キャッシュサーバ追加要求の送信先となるResolve Manager17021のIPアドレス等の識別情報を、起動後に保持している必要がある。本実施例では、キャッシュサーバには、Resolve Manager17021のIPアドレスがResolve Agentの起動前に設定されているものとし、Resolve Agentの起動をキャッシュサーバ追加処理のトリガとした。
キャッシュサーバ追加処理のトリガは、これに限定されず、キャッシュサーバの起動後に、外部記憶媒体等を介してResolve Manager17021のIPアドレスがResolve Agentに設定されたことをトリガとしてもよい。また、キャッシュサーバの起動後に、Resolve Manager17021のIPアドレスが管理者等によって入力されたことをトリガとしてもよい。
図31は、本発明の実施例3のキャッシュサーバ追加処理のResolve Manager17021による処理のフローチャートである。
Resolve Manager17021は、新たに追加されたキャッシュサーバCから送信されたキャッシュサーバ追加要求を受信した場合に当該処理の実行を開始する。
Resolve Manager17021は、キャッシュサーバ追加要求を受信すると、全てのResolve Agentを実装したPBRルータにキャッシュサーバ追加指示を送信し(20001)、処理を終了する。
ここで、キャッシュサーバ追加指示は、Resolve Agent17052及び17054がResolve Manager17021によるキャッシュサーバの追加指示であることが確認できる形式であり、新たに追加されたキャッシュサーバのIPアドレスを含むものとする。なお、新たに追加されたキャッシュサーバのIPアドレスをキャッシュサーバ一覧表18074に登録することを指示する旨がResolve Agent17052及び17054に伝わるメッセージであれば、形式は任意でよい。
図32は、本発明の実施例3のキャッシュサーバ追加処理のResolve Agentによる処理のフローチャートである。
Resolve Agentは、Resolve Manager17021から送信されたキャッシュサーバ追加指示を受信した場合に当該処理を実行する。
まず、Resolve Agentは、受信したキャッシュサーバ追加指示に基づいてキャッシュサーバ一覧表18074を更新するキャッシュサーバ一覧表更新処理を実行する(21001)。キャッシュサーバ一覧表更新処理では、Resolve Agentは、キャッシュサーバ一覧表18074に新たなレコードを追加し、追加したレコードのキャッシュサーバIP2052(図4参照)に、受信したキャッシュサーバ追加指示のIPアドレスを登録する。
次に、Resolve Agentは、受信したキャッシュサーバ追加指示に含まれるIPアドレスによって識別されるキャッシュサーバと自身を実装するPBRルータとの間のネットワーク距離を測定する(21002)。
次に、Resolve Agentは、ステップ21002の処理で測定した測定結果(RTT)が、近傍キャッシュ表18072の距離2043に登録された距離より小さいか否かを判定する(21003)。
ステップ21003の処理で、測定結果(RTT)が近傍キャッシュ表18072の距離2043に登録された距離より小さいと判定された場合、Resolve Agentは、近傍キャッシュ表18072の最近傍キャッシュIP2042に新たに追加されるキャッシュサーバのIPアドレスを登録し、距離2043に測定結果を登録する(21004)。
そして、Resolve Agentは、最近傍キャッシュサーバとなる新たに追加されるキャッシュサーバのIPアドレスを転送先とし、所定の転送条件を含むルールをPBRルータに設定し(21005)、処理を終了する。
以上によって、キャッシュサーバを新たに追加する場合に、エンドユーザからのデータを最近傍キャッシュサーバに転送するルールを自動的に生成し、当該ルールをPBRルータに設定することができる。
次に、図33〜図35を用いて、キャッシュサーバ削除処理について説明する。
図33は、本発明の実施例3のキャッシュサーバ削除処理のシーケンス図である。
本実施例のキャッシュサーバ削除処理は、Resolve Manager17021と、追加されるキャッシュサーバA17031と、全てのResolve Agentとの間で実行される。
まず、ネットワークから削除されるキャッシュサーバA17031が、キャッシュサーバ削除要求をResolve Manager1021に送信する(22001)。キャッシュサーバ削除要求には、削除されるキャッシュサーバA17031のIPアドレスが含まれる。
Resolve Manager17021は、キャッシュサーバ削除要求を受信した場合、全てのPBRルータ(図33では、PBRルータ17051、17053)に実装されるResolve Agent(17052、17054)に、キャッシュサーバ削除指示を送信する(22002)。キャッシュサーバ削除指示には、削除されるキャッシュサーバA17031のIPアドレスが含まれる。
Resolve Agent17052及び17054は、キャッシュサーバ削除指示を受信した場合、キャッシュサーバ一覧表18074に、受信したキャッシュサーバ削除指示に含まれるキャッシュサーバのIPアドレスを削除する(22003)。
次に、Resolve Agent17052及び17054は、近傍キャッシュ表18072に削除されるキャッシュサーバのIPアドレスが登録されているか否かを判定し、削除されるキャッシュサーバのIPアドレスが近傍キャッシュ表18072に登録されている場合、削除されるキャッシュサーバ以外の全てのキャッシュサーバと自身が実装されたPBRルータとのネットワーク距離を測定する(22004)。
そして、Resolve Agent17052及び17054は、測定結果が最小となるキャッシュサーバを最近傍キャッシュサーバとして特定し、特定した最近傍キャッシュサーバのIPアドレスを近傍キャッシュ表18072の最近傍キャッシュIP2042に登録し、距離2043に最小となる測定結果を登録することによって、近傍キャッシュ表2022を更新する(22005)。また、この場合、Resolve Agent17052及び17054は、PCからのトラフィックを最近傍キャッシュサーバとなるキャッシュサーバに転送するようにルータ19101及び19102にルールを設定する(22006)。
また、Resolve Manager17021は、キャッシュサーバB17032から送信されたキャッシュサーバ削除要求を受信した場合(22007)、キャッシュサーバ削除指示を全てのResolve Agent17052及び17054が実装されたPBRルータA17051及び17053に送信する(22008)。Resolve Agent17052及び17054は、キャッシュサーバ削除指示を受信すると、ステップ22003〜22006を実行する。
図34は、本発明の実施例3のキャッシュサーバ削除処理のうちResolve Manager17021によって実行される処理のフローチャートである。
Resolve Manager17021は、削除されるキャッシュサーバCから送信されたキャッシュサーバ削除要求を受信した場合に当該処理の実行を開始する。
Resolve Manager17021は、キャッシュサーバ削除要求を受信すると、全てのResolve Agentを実装したPBRルータにキャッシュサーバ削除指示を送信し(23001)、処理を終了する。
ここで、キャッシュサーバ削除指示は、Resolve Agent17052及び17054がResolve Manager17021によるキャッシュサーバの削除指示であることが確認できる形式であり、削除されるキャッシュサーバのIPアドレスを含むものとする。なお、削除されるキャッシュサーバのIPアドレスをキャッシュサーバ一覧表18074から削除することを指示する旨がResolve Agent17052及び17054に伝わるメッセージであれば、形式は任意でよい。
図35は、本発明の実施例3のキャッシュサーバ削除処理のうちResolve Agentによって実行される処理のフローチャートである。
Resolve Agentは、Resolve Manager17021から送信されたキャッシュサーバ削除指示を受信した場合に当該処理を実行する。
まず、Resolve Agentは、受信したキャッシュサーバ削除指示に含まれる削除されるキャッシュサーバCのIPアドレスを取得する(24001)。
次に、Resolve Agentは、ステップ24001の処理で取得したIPアドレスが近傍キャッシュ表18072の最近傍キャッシュIP2042に登録されたIPアドレスと一致するか否かを判定する(24002)。
ステップ24001の処理で取得したIPアドレスが近傍キャッシュ表18072の最近傍キャッシュIP2042に登録されたIPアドレスと一致しないと、ステップ24002の処理で判定された場合、最近傍キャッシュサーバが削除されるキャッシュサーバでないので、Resolve Agentは、処理を終了する。
一方、ステップ24001の処理で取得したIPアドレスが近傍キャッシュ表18072の最近傍キャッシュIP2042に登録されたIPアドレスと一致すると、ステップ24002の処理で判定された場合、Resolve Agentは、当該最近傍キャッシュIP2042に登録されたIPアドレス及び距離2043に登録された値を削除し(24003)、キャッシュサーバ一覧表18074に登録されたキャッシュサーバのIPアドレスのうち、削除されるキャッシュサーバのIPアドレス以外のIPアドレスを取得し、キャッシュIP配列を生成する(24004)。
次に、Resolve Agentは、キャッシュIP配列の1行目のIPアドレスによって識別されるキャッシュサーバをキャッシュサーバAとし(24005)、キャッシュIP配列の1行目のIPアドレスを削除する(24006)。
次に、Resolve Agentは、キャッシュサーバAと自身が実装されたPBRルータとのネットワーク距離を測定し、測定結果に基づいて近傍キャッシュ表18072を更新する近傍キャッシュ表更新処理を実行する(24007)。
近傍キャッシュ表更新処理では、Resolve Agentは、キャッシュサーバAと自身が実装されたPBRルータとのネットワーク距離を測定する。そして、Resolve Agentは、測定結果が近傍キャッシュ表18072の距離2043に登録された距離より小さい場合に、当該キャッシュサーバAのIPアドレスを近傍キャッシュ表18072の最近傍キャッシュIP2042に登録し、当該測定結果を距離2043に登録する。
次に、Resolve Agentは、ステップ24007の処理で近傍キャッシュ表18072を更新した場合、PCからのトラフィックを最近傍キャッシュサーバに転送するルールをPBRルータに設定するルール設定処理を実行する(24008)。ルール設定処理の詳細は、Resolve Agentによって実行される点以外は実施例1の図11に示すルール設定処理と同じであるので、説明を省略する。
次に、Resolve Agentは、キャッシュIP配列にIPアドレスが存在するか否かを判定する(24009)。
ステップ24009の処理で、キャッシュIP配列にIPアドレスが存在する場合、全てのキャッシュサーバに対して近傍キャッシュ表更新処理を実行していないので、ステップ24007の処理に戻る。
一方、ステップ24009の処理で、キャッシュIP配列にIPアドレスが存在する場合、全てのキャッシュサーバに対して近傍キャッシュ表更新処理を実行したので、処理を終了する。
これによって、キャッシュサーバが削除される場合、最近傍キャッシュサーバが削除されるキャッシュサーバであったPBRルータの最近傍キャッシュサーバを、削除されるキャッシュサーバ以外のキャッシュサーバからネットワーク距離が最小となるキャッシュサーバに特定することができる。
次に、図36〜図38を用いて、ルール更新処理について説明する。
図36は、本発明の実施例3のルール更新処理のフローチャートである。
本実施例のルール更新処理は、Resolve Manager17021と、全てのResolve Agentとの間で実行される。
Resolve Managerは、所定時間毎又はネットワークに障害を検出した場合に、ルール更新指示を全てのPBRルータ17051及び17053に送信する(25001)。
Resolve Agent A17052及びB17054は、ルール更新指示を受信した場合、キャッシュサーバ一覧表18074に登録された全てのキャッシュサーバのIPアドレスを取得し、キャッシュIP配列を生成し、キャッシュIP配列の1行目のIPアドレスによって識別されるキャッシュサーバをキャッシュサーバAとする(25002)。
次に、Resolve Agent A17052及びB17054は、自身が実装されたPBRルータ17051及び17053とキャッシュサーバAとの間のネットワーク距離を測定する(25003)。
次に、Resolve Agent A17052及びB17054は、測定結果が近傍キャッシュ表18072の距離2043に登録された値より小さい場合、近傍キャッシュ表18072の最近傍キャッシュIP2042にキャッシュサーバAのIPアドレスを登録し、距離2043に当該測定結果を登録することによって、近傍キャッシュ表18072を更新する(25004)。
次に、Resolve Agent A17052及びB17054は、PCからのトラフィックを最近傍キャッシュサーバに転送するようにPBRルータAにルールを設定する(25005)。
そして、Resolve Agent A17052及びB17054は、キャッシュIP配列の残りのIPアドレスによって識別されるキャッシュサーバに対しても、ステップ25003〜25005の処理を実行する。
図37は、本発明の実施例3のキャッシュサーバ削除処理のうちResolve Manager17021によって実行される処理のフローチャートである。
Resolve Manager17021は、所定時間毎又はネットワークに異常が検出された場合に、全てのResolve Agentにルール更新指示を送信し(26001)、処理を終了する。
なお、Resolve Manager17021がネットワークの異常を検出する方式は、実施例1と同じである。
図38は、本発明の実施例3のキャッシュサーバ削除処理のうちResolve Agentによって実行される処理のフローチャートである。
Resolve Agentは、Resolve Manager17021から送信されたルール更新指示を受信した場合に、当該処理を実行する。
まず、Resolve Agentは、キャッシュサーバ一覧表18074に登録された全てのキャッシュサーバのIPアドレスを取得し、キャッシュIP配列を生成する(27001)。
次に、Resolve Agentは、キャッシュIP配列の1行目のIPアドレスによって識別されるキャッシュサーバをキャッシュサーバAとし(27002)、キャッシュIP配列の1行目のIPアドレスを削除する(27003)。
次に、Resolve Agentは、キャッシュサーバAと自身が実装されたPBRルータとのネットワーク距離を測定し、測定結果に基づいて近傍キャッシュ表18072を更新する近傍キャッシュ表更新処理を実行する(27004)。この近傍キャッシュ表更新処理は、図35のステップ24007の処理と同じであるので説明を省略する。
次に、Resolve Agentは、ステップ27004の処理で近傍キャッシュ表18072を更新した場合、PCからのトラフィックを最近傍キャッシュサーバに転送するルールをPBRルータに設定するルール設定処理を実行する(27005)。ルール設定処理の詳細は、Resolve Agentによって実行される点以外は実施例1の図11に示すルール設定処理と同じであるので、説明を省略する。
次に、Resolve Agentは、キャッシュIP配列にIPアドレスが存在するか否かを判定する(27006)。
ステップ27006の処理で、キャッシュIP配列にIPアドレスが存在する場合、全てのキャッシュサーバに対して近傍キャッシュ表更新処理を実行していないので、ステップ27004の処理に戻る。
一方、ステップ27006の処理で、キャッシュIP配列にIPアドレスが存在する場合、全てのキャッシュサーバに対して近傍キャッシュ表更新処理を実行したので、処理を終了する。
以上によって、所定のタイミング(所定時間毎、又はネットワークに障害を検出した場合)で全てのPBRルータの最近傍キャッシュサーバを最新の最近傍キャッシュサーバに更新することができる。
実施例3の最後に、上述したResolve Manager1021の動作及びResolve Agentの動作について、図39及び図40を用いて説明する。
図39は、本発明の実施例1のResolve Manager1021の動作のフローチャートである。
Resolve Manager17021に電源が投入され、Resolve Manager17021が起動すると(28001)、Resolve Manager17021のCPU2011は、二次記憶デバイス2013に記憶されたResolve Managerモジュールプログラム18031を主記憶デバイス2012にロードし、ロードされたResolve Managerモジュールプログラム18031を実行することによって、Resolve Managerモジュール18021を起動する(28002)。
Resolve Manager17021は、キャッシュサーバ追加要求を受信したか否かを判定する(28003)。ステップ28003の処理で、キャッシュサーバ追加要求を受信したと判定された場合、Resolve Manager17021は、図31に示す処理を実行することによってキャッシュサーバ追加指示を全てのPBRルータに送信し(28004)、ステップ28003の処理に戻る。
ステップ28003の処理で、キャッシュサーバ追加要求を受信していないと判定された場合、Resolve Manager17021は、キャッシュサーバ削除要求を受信したか否かを判定する(28005)。
ステップ28005の処理で、キャッシュサーバ削除要求を受信したと判定された場合、Resolve Manager17021は、図34に示すキャッシュサーバ削除処理を実行することによってキャッシュサーバ削除指示を全てのPBRルータに送信し(28006)、ステップ28003の処理に戻る。
ステップ28005の処理で、キャッシュサーバ削除要求を受信していないと判定された場合、Resolve Manager17021は、ネットワークに障害が発生したことを検出したか否かを判定する(28007)。
ステップ28007の処理で、ネットワークに障害が発生したことを検出したと判定された場合、Resolve Manager17021は、図37に示すルール更新処理を実行することによってルール更新指示を全てのPBRルータに送信し(28008)、ステップ28003の処理に戻る。
ステップ28007の処理で、ネットワークに障害が発生したことを検出していないと判定された場合、ステップ28003の処理に戻る。
ここで、Resolve Manager17021のネットワークの障害検出については、実施例1と同じなので説明を省略する。
図40は、本発明の実施例3のResolve Agentの動作のフローチャートである。
まず、Resolve Agentを実装するPBRルータに電源が投入され、Resolve Agentが起動すると(29001)、PBRルータのCPU18061は、二次記憶デバイス18063に記憶されたResolve Agentモジュールプログラム18081を主記憶デバイス18062にロードし、ロードされたResolve Agentモジュールプログラム18081を実行することによって、Resolve Agentモジュール18071を起動する(29002)。
次に、Resolve Agentは、キャッシュサーバ追加指示を受信したか否かを判定する(29003)。ステップ29003の処理で、キャッシュサーバ追加指示を受信したと判定された場合、Resolve Agentは、図32に示す処理を実行し(29004)、ステップ29003の処理に戻る。
ステップ29003の処理で、キャッシュサーバ追加指示を受信していないと判定された場合、Resolve Agentは、キャッシュサーバ削除指示を受信したか否かを判定する(29005)。
ステップ29005の処理で、キャッシュサーバ削除指示を受信したと判定された場合、Resolve Agentは、図35に示すキャッシュサーバ削除処理を実行し(29006)、ステップ29003の処理に戻る。
ステップ29005の処理で、キャッシュサーバ削除指示を受信していないと判定された場合、Resolve Agentは、ルール更新指示を受信したか否かを判定する(29007)。
ステップ29007の処理で、ルール更新指示を受信したと判定された場合、Resolve Agentは、図38に示すルール更新処理を実行し(29008)、ステップ29003の処理に戻る。
ステップ29007の処理で、ルール更新指示を受信していないと判定された場合、ステップ29003の処理に戻る。
以上の処理を実行するResolve Manager17021及びResolve Agentを用いることによって、Resolve AgentがPBRルータ上で動作するシステムを構築できる。
実施例4は、実施例3のResolve AgentをPBRルータ上で動作させず、PBRルータの近くに存在する計算機上で動作させた場合の実施例である。
ここで、PBRルータの近くに存在する計算機とは、PBRルータに直接接続される計算機や、PBRルータに接続されたハブ装置と同一のハブ装置に接続される計算機のことである。すなわち、PBRルータ及びルータ装置を介さずに接続される計算機のことである。
Resolve AgentがPBRルータの近くに存在する計算機上で動作する場合、Resolve AgentとPBRルータとはそれぞれ異なるIPアドレスを有する。このため、Resolve Manager17021は、Resolve Agentに対して各種指示を送信するためには、Resolve Agentを実装する計算機のIPアドレスを保持する必要がある。また、本実施例では、PBRルータの最近傍キャッシュサーバを特定するためのPBRルータとキャッシュサーバとの間のネットワーク距離は、Resolve Agentが実装された計算機とキャッシュサーバとの間のネットワーク距離で代用する。
以下、本発明の実施例4について図41〜図44を用いて説明する。
図41は、本発明の実施例4の中継システムの説明図である。図41では、実施例3の図26に示す中継システムと同じ構成については、同じ符号を付与し、説明を省略する。
Webサーバ1011、ルータA1041〜D1044、キャッシュサーバA15031及びB15033は、図26と同じである。
Resolve Manager30021は、Resolve Agentを実装する計算機のIPアドレスを保持するResolve Agent一覧表31022を保持する点で実施例3と異なり、詳細は図42及び図43で説明する。
PBRルータA30051〜C30053は、Resolve Agentが動作しない点で実施例3と異なる。
また、Resolve Agent A30033は、PBRルータA30051の近くに存在する計算機で動作し、Resolve Agent B30034は、PBRルータB30052の近くに存在する計算機で動作し、Resolve Agent C30035は、PBRルータC30054の近くに存在する計算機で動作する。Resolve Agentを実装する計算機については図44で詳細を説明する。
本実施例では、Resolve AgentがPBRルータと別の装置で動作するので、Resolve AgentによるキャッシュサーバとPBRルータとの間のネットワーク距離の測定結果は、キャッシュサーバとPBRルータとの間のネットワーク距離ではないが、当該装置はPBRルータの近くに存在するため、キャッシュサーバとPBRルータとの間のネットワーク距離として扱う。
次に、図42〜図44でResolve Manager30021、キャッシュサーバ一覧表、ResolveAgentを実装する計算機の構成について説明する。
図42は、本発明の実施例4のResolve Manager30021のハードウェア構成図である。図42では、実施例3の図27に示すResolve Manager17021と同じ構成については、同じ符号を付与し、説明を省略する。
Resolve Manager30021は、CPU2011、主記憶デバイス2012、及び二次記憶デバイス2013を有する。主記憶デバイス2012には、Resolve Managerモジュール18021、及びResolve Agent一覧表31022が記憶される。二次記憶デバイス2013には、Resolve Managerモジュールプログラム18031が記憶される。Resolve Agent一覧表31022は、Resolve Agentを実装する計算機のIPアドレスが登録される。Resolve Agent一覧表31022の詳細は図43で説明する。
図43は、本発明の実施例4のResolve Agent一覧表31022の説明図である。
Resolve Agent一覧表31022は、ID31051、及びResolve Agent IP31052を含む。
ID31051には通し番号が登録される。Resolve Agent IP31052には、Resolve Agentを実装する計算機のIPアドレスが登録される。
Resolve Agent一覧表31022の主キーはID31051であり、ID31051に登録された通し番号によって、Resolve Agent一覧表31022の所定の一行を特定可能である。また、Resolve Agent IP31052に登録されたResolve Agentを実装する計算機のIPアドレスも、Resolve Agent一覧表31022の主キーとなり得る。
なお、Resolve Agent一覧表31022のResolve Agent IP31052は、人手によって予め登録される。また、Resolve Agentが、自身を実装する計算機のIPアドレスを含む追加要求をResolve Manager30021に送信し、Resolve Manager30021は、追加要求を受信した場合、受信した追加要求に含まれるIPアドレスをResolve Agent IP31052に登録してもよい。
図44は、本発明の実施例4のResolve Agentを実装する計算機のハードウェア構成図である。
Resolve Agentは、CPU31061、主記憶デバイス31062、及び二次記憶デバイス31063を有する。
主記憶デバイス31062には、Resolve Agentモジュール31071、近傍キャッシュ表31072、及びキャッシュサーバ一覧表31073が記憶される。二次記憶デバイス31063には、Resolve Agentモジュールプログラム31031が記憶される。主記憶デバイス31062に記憶されるResolve Agentモジュール31071は、二次記憶デバイス31063に記憶されたResolve Agentモジュールプログラム31031が主記憶デバイス31062にロードされた状態を示す。CPU31061は、主記憶デバイス31062にロードされたResolve Agentモジュール31071を実行する。
近傍キャッシュ表31072は実施例3の図29と同じであり、キャッシュサーバ一覧表31073は実施例1の図4と同じである。
本実施例のキャッシュサーバ追加処理、キャッシュサーバ削除処理、及びルール更新処理では、Resolve Manager30021がキャッシュサーバ追加指示、キャッシュサーバ削除指示、及びルール更新指示をResolve Agentを実装する全ての計算機に送信する点で実施例3と異なるが、他の処理は実施例3と同じである。
以上によって、Resolve AgentをPBRルータ上で動作させず、PBRルータの近くに存在する計算機上で動作させることができる。
なお、キャッシュサーバの近くに存在する計算機でResolve Agentが動作する実施例2と本実施例との相違点について説明する。
通常、中継システムに配置されるPBRルータの数は、キャッシュサーバの数より多い。このため、本実施例では、中継システムで動作するResolve Agentの数を実施例2により多くすることができる。このため、エンドユーザの数が多い中継システムでは、実施例2ではなく本実施例の中継システムを採用することによって、Resolve Agentの数を増やし、一つのResolve Agentの負荷を軽減することができる。
本実施例では、中継システムを初期構築する場合の処理である初期構築処理の例について実施例1の中継システムを用いて説明する。本実施例では、Resolve Manager1021は、Resolve Agentからのキャッシュサーバ追加要求を受信しても、所定条件が成立するまで、ネットワーク距離の測定指示の送信処理以降の処理を待機する。
初期構築時には、所定時間の間に何台ものキャッシュサーバがネットワークに追加される。このため、Resolve Manager1021は、キャッシュサーバが追加されるたびに、追加されたキャッシュサーバとPBRルータとのネットワーク距離を測定し、各PBRルータの最近傍キャッシュサーバを特定していたのでは、ネットワーク距離が遠いキャッシュサーバを最近傍キャッシュサーバとして特定される可能性がある。例えば、ネットワークにキャッシュサーバが一台しか追加されていない場合には、全てのPBRルータの最近傍キャッシュサーバが当該キャッシュサーバに設定されてしまう。
PBRルータは、ネットワーク距離が遠いキャッシュサーバにエンドユーザからのリクエストを転送しては、当該リクエストをWebサーバ1011に転送するよりも、ネットワークが輻輳してしまう。
このため、本実施例では、Resolve Manager1021は、所定数以上のキャッシュサーバがネットワークに追加されてから、各PBRルータの最近傍キャッシュサーバを特定するように、キャッシュサーバ追加要求を受信しても、ネットワーク距離の測定指示の送信を待機する。
以下、実施例5について図45を用いて説明する。
図45は、本発明の実施例5の初期構築処理のフローチャートである。
まず、Resolve Manager1021は、初期構築処理を実行するプログラムを起動すると、時間のカウントを開始する(32001)。
そして、Resolve Manager1021は、キャッシュサーバ追加要求を受信した場合、キャッシュサーバ一覧表更新処理を実行する(32002)。キャッシュサーバ一覧表更新処理は、実施例1の図9に示す処理と同じあるので、説明を省略する。
次に、Resolve Manager1021は、時間のカウントを開始してから所定時間が経過したか否かを判定する(32003)。
ステップ32003の処理で、時間のカウントを開始してから所定時間が経過していないと判定された場合、ステップ32002の処理に戻る。
一方、ステップ32003の処理で、時間のカウントを開始してから所定時間が経過したと判定された場合、Resolve Manager1021は、所定時間が経過するまでに受信したキャッシュサーバ追加要求に基づいてキャッシュサーバ一覧表2023に登録されたキャッシュサーバの順に、ネットワーク距離を測定するべくステップ7002〜7007の処理を実行し、処理を終了する。ステップ7002〜7007の処理は、実施例1の図8に示すステップ7002〜7007の処理と同じであるので、説明を省略する。
なお、図45では、ステップ32002の処理では、初期構築処理を実行するプログラムの起動から所定時間が経過したことを、ネットワーク距離の測定指示の所定の条件としているが、他のバリエーションも考えられる。例えば、Resolve Manager1021の起動から所定時間が経過したことを条件としてもよいし、ネットワークに追加される全てのキャッシュサーバに実装されるResolve Agentが起動したことの連絡をResolve Managerの管理者が受け取ったことを条件としてもよい。
これによって、Resolve Manager1021は、初期構築時にキャッシュサーバ追加要求を受信しても、所定条件が成立するまでは、ネットワーク距離の測定をResolve Agentに指示しないので、所定数のキャッシュサーバがネットワークに追加されてから各PBRルータの最近傍キャッシュサーバを特定することができる。
なお、本実施例は、図45と同じ処理で実施例2にも適用可能である。
次に、本実施例を実施例3に適用する場合について図30を用いて説明する。
Resolve Manager17021は、所定条件が成立するまでは、キャッシュサーバ追加要求を受信しても、キャッシュサーバ追加指示を、Resolve Agentを実装するPBRルータに送信しない。
これによって、PBRルータに実装されたResolve Agentは、所定条件が成立するまでキャッシュサーバ追加指示を受信しないため、ネットワーク距離の測定を待機する。
したがって、Resolve Agentは、所定数のキャッシュサーバがネットワークに追加されてから自身を実装するPBRルータの最近傍キャッシュサーバを特定することができる。
また、Resolve Manager17021は、キャッシュサーバ追加要求を受信した場合、すぐにキャッシュサーバ追加指示を各PBRルータに送信し、各PBRルータに実装されたResolve Agentが、所定条件が成立するまでは、ネットワーク距離の測定を待機してもよい。この場合の所定条件は、例えば、最初にキャッシュサーバ追加指示を受信してから所定時間が経過したことを条件としてもよいし、PBRルータの起動から所定時間が経過したことを条件としてもよい。
なお、特許請求の範囲では、上述した実施例1〜実施例5のResolve Manager及びResolve Agentを総称する概念として、ルール設定モジュールとの用語を用いている。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
1011 Webサーバ
1021 Resolve Manager
1031、1033 キャッシュサーバ
1032、1034 Resolve Agent
1041〜1044 ルータ
1051〜1053 PBRルータ
1061〜1064 PC

Claims (14)

  1. データを転送する中継装置のルール設定方法であって、
    前記中継装置は、中継システム内に設けられるものであって、ユーザ装置から送信されたデータを設定されたルールに基づいてデータを転送し、
    前記中継システムは、コンテンツ計算機によって提供されるコンテンツの複製を保持するキャッシュ計算機、及び前記中継装置にルールを設定可能なルール設定モジュールを有し、
    前記ルール設定方法は、
    前記ルール設定モジュールが、前記キャッシュ計算機と各中継装置とのネットワーク距離を測定し、
    前記ルール設定モジュールが、前記中継装置毎に、前記ネットワーク距離が最も近い最近傍キャッシュ計算機を特定し、
    前記ルール設定モジュールが、前記ユーザ装置から送信されたデータを前記最近傍キャッシュ計算機に転送するためのルールを前記中継装置に設定することを特徴とするルール設定方法。
  2. 請求項1に記載のルール設定方法であって、
    前記ルール設定モジュールが、前記中継システムに前記キャッシュ計算機が追加されることを検出した場合、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離を測定し、
    前記ルール設定モジュールが、前記追加されるキャッシュ計算機が前記最近傍キャッシュ計算機となる前記中継装置に対して、前記ルールを設定することを特徴とするルール設定方法。
  3. 請求項1に記載のルール設定方法であって、
    前記ルール設定モジュールが、前記中継システムから前記キャッシュ計算機が削除されることを検出した場合、前記削除されるキャッシュ計算機が前記最近傍キャッシュ計算機となる中継装置と、前記削除されるキャッシュ計算機以外のキャッシュ計算機とのネットワーク距離を測定し、
    前記ルール設定モジュールが、前記削除されるキャッシュ計算機が前記最近傍キャッシュ計算機となる中継装置毎に、前記削除されるキャッシュ計算機以外のキャッシュ計算機から前記最近傍キャッシュ計算機を特定し、
    前記ルール設定モジュールが、前記削除されるキャッシュ計算機が前記最近傍キャッシュ計算機となる中継装置に対して、前記ルールを前記中継装置に設定することを特徴とするルール設定方法。
  4. 請求項1に記載のルール設定方法であって、
    前記ルール設定モジュールが、前記キャッシュ計算機及び前記中継装置の少なくとも一方に異常が発生したことを検出した場合、前記キャッシュ計算機と各中継装置とのネットワーク距離を測定し、
    前記ルール設定モジュールが、前記中継装置毎に、前記最近傍キャッシュ計算機を特定し、
    前記ルール設定モジュールが、前記ルールを前記中継装置に設定することを特徴とするルール設定方法。
  5. 請求項2に記載のルール設定方法であって、
    前記ルール設定モジュールが、前記中継システムを初期構築する場合において、前記中継システムに前記キャッシュ計算機が新たに追加されることを検出し、かつ、所定条件が成立してから、前記追加されるキャッシュ計算機と前記中継装置とのネットワーク距離を測定することを特徴とするルール設定方法。
  6. 請求項1に記載のルール設定方法であって、
    前記中継システムは、管理計算機を有し、
    前記ルール設定モジュールは、第1モジュール及び第2モジュールを含み、
    前記第1モジュールは前記管理計算機上で動作し、前記第2モジュールは前記キャッシュ計算機上で動作し、
    前記ルール設定方法は、
    新たに追加されるキャッシュ計算機が、前記管理計算機に追加要求を送信し、
    前記管理計算機の第1モジュールが、前記管理計算機が前記追加要求を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
    前記管理計算機の第1モジュールが、前記追加されるキャッシュ計算機に対して、前記各中継装置とのネットワーク距離の測定指示を送信し、
    前記追加されるキャッシュ計算機の第2モジュールが、前記測定指示を受信した場合、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離を測定し、
    前記追加されるキャッシュ計算機の第2モジュールが、前記各中継装置とのネットワーク距離の測定結果を前記管理計算機に送信し、
    前記管理計算機の第1モジュールが、前記測定結果を受信した場合、前記測定結果に基づいて前記各中継装置の前記最近傍キャッシュ計算機を特定し、
    前記管理計算機の第1モジュールが、前記各中継装置に前記ルールを設定することを特徴とするルール設定方法。
  7. 請求項1に記載のルール設定方法であって、
    前記中継システムは、管理計算機、及び前記キャッシュ計算機の近くに存在する計算機を備え、
    前記ルール設定モジュールは、第1モジュール及び第2モジュールを含み、
    前記第1モジュールは前記管理計算機上で動作し、前記第2モジュールは前記計算機上で動作し、
    前記ルール設定方法は、
    新たに追加されるキャッシュ計算機が、前記管理計算機に追加要求を送信し、
    前記管理計算機の第1モジュールが、前記管理計算機が前記追加要求を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
    前記管理計算機の第1モジュールが、前記追加されるキャッシュ計算機の近くに存在する計算機に対して、前記各中継装置とのネットワーク距離の測定指示を送信し、
    前記計算機の第2モジュールが、前記測定指示を受信した場合、前記計算機と前記各中継装置とのネットワーク距離を、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離として測定し、
    前記計算機の第2モジュールが、前記各中継装置とのネットワーク距離の測定結果を前記管理計算機に送信し、
    前記管理計算機の第1モジュールが、前記測定結果を受信した場合、前記測定結果に基づいて前記各中継装置の前記最近傍キャッシュ計算機を特定し、
    前記管理計算機の第1モジュールが、前記各中継装置に前記ルールを設定することを特徴とするルール設定方法。
  8. 請求項1に記載のルール設定方法であって、
    前記中継システムは、管理計算機を有し、
    前記ルール設定モジュールは、第1モジュール及び第2モジュールを含み、
    前記第1モジュールは前記管理計算機上で動作し、前記第2モジュールは前記中継装置上で動作し、
    前記ルール設定方法は、
    追加されるキャッシュ計算機が、前記管理計算機に追加要求を送信し、
    前記管理計算機の第1モジュールが、前記管理計算機が前記追加要求を受信した場合、前記キャッシュ計算機の追加指示を前記各中継装置に送信し、
    前記中継装置の第2モジュールが、前記追加指示を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
    前記中継装置の第2モジュールが、前記追加されるキャッシュ計算機と自身が動作する前記中継装置とのネットワーク距離を測定し、
    前記中継装置の第2モジュールが、前記ネットワーク距離の測定結果に基づいて、自身が動作する前記中継装置の前記最近傍キャッシュ計算機を特定し、
    前記中継装置の第2モジュールが、自身が動作する前記中継装置に前記ルールを設定することを特徴とするルール設定方法。
  9. 請求項1に記載のルール設定方法であって、
    前記中継システムは、管理計算機、及び前記中継装置の近くに存在する計算機を有し、
    前記ルール設定モジュールは、第1モジュール及び第2モジュールを含み、
    前記第1モジュールは前記管理計算機上で動作し、前記第2モジュールは前記計算機上で動作し、
    前記ルール設定方法は、
    追加されるキャッシュ計算機が、前記管理計算機に追加要求を送信し、
    前記管理計算機の第1モジュールが、前記管理計算機が前記追加要求を受信した場合、前記キャッシュ計算機の追加指示を前記各計算機に送信し、
    前記各計算機の第2モジュールが、前記追加指示を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
    前記各計算機の第2モジュールが、前記追加されるキャッシュ計算機と前記計算機とのネットワーク距離を、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離として測定し、
    前記各計算機の第2モジュールが、前記ネットワーク距離の測定結果に基づいて、前記計算機の近くに存在する中継装置の前記最近傍キャッシュ計算機を特定し、
    前記各計算機の第2モジュールが、前記計算機の近くに存在する中継装置に前記ルールを設定することを特徴とするルール設定方法。
  10. コンテンツ計算機によって提供されるコンテンツの複製を保持するキャッシュ計算機と、
    設定されたルールに基づいてユーザ装置から送信されたデータを転送する中継装置と、を備える中継システムであって、
    前記中継装置にルールを設定可能なルール設定モジュールを備え、
    前記ルール設定モジュールは、
    前記キャッシュ計算機と各中継装置とのネットワーク距離を測定し、
    前記中継装置毎に、前記ネットワーク距離が最も近い最近傍キャッシュ計算機を特定し、
    前記ユーザ装置から送信されたデータを前記最近傍キャッシュ計算機に転送するためのルールを前記中継装置に設定することを特徴とする中継システム。
  11. 請求項10に記載の中継システムであって、
    管理計算機を備え、
    前記ルール設定モジュールは、第1モジュール及び第2モジュールを含み、
    前記第1モジュールは前記管理計算機上で動作し、前記第2モジュールは前記キャッシュ計算機上で動作し、
    新たに追加されるキャッシュ計算機は、前記管理計算機に追加要求を送信し、
    前記管理計算機の第1モジュールは、
    前記管理計算機が前記追加要求を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
    前記追加されるキャッシュ計算機に対して、前記各中継装置とのネットワーク距離の測定指示を送信し、
    前記追加されるキャッシュ計算機の第2モジュールは、前記測定指示を受信した場合、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離を測定し、
    前記各中継装置とのネットワーク距離の測定結果を前記管理計算機に送信し、
    前記管理計算機の第1モジュールは、
    前記測定結果を受信した場合、前記測定結果に基づいて前記各中継装置の前記最近傍キャッシュ計算機を特定し、
    前記各中継装置に前記ルールを設定することを特徴とする中継システム。
  12. 請求項10に記載の中継システムであって、
    管理計算機、及び前記キャッシュ計算機の近くに存在する計算機を備え、
    前記ルール設定モジュールは、第1モジュール及び第2モジュールを含み、
    前記第1モジュールは前記管理計算機上で動作し、前記第2モジュールは前記計算機上で動作し、
    新たに追加されるキャッシュ計算機は、前記管理計算機に追加要求を送信し、
    前記管理計算機の第1モジュールは、
    前記管理計算機が前記追加要求を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
    前記追加されるキャッシュ計算機との近くに存在する計算機に対して、前記各中継装置とのネットワーク距離の測定指示を送信し、
    前記計算機の第2モジュールは、前記測定指示を受信した場合、前記計算機と前記各中継装置とのネットワーク距離を、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離として測定し、
    前記各中継装置とのネットワーク距離の測定結果を前記管理計算機に送信し、
    前記管理計算機の第1モジュールは、
    前記測定結果を受信した場合、前記測定結果に基づいて前記各中継装置の前記最近傍キャッシュ計算機を特定し、
    前記各中継装置に前記ルールを設定することを特徴とする中継システム。
  13. 請求項10に記載の中継システムであって、
    管理計算機を備え、
    前記ルール設定モジュールは、第1モジュール及び第2モジュールを含み、
    前記第1モジュールは前記管理計算機上で動作し、前記第2モジュールは前記中継装置上で動作し、
    追加されるキャッシュ計算機は、前記管理計算機に追加要求を送信し、
    前記管理計算機の第1モジュールは、前記管理計算機が前記追加要求を受信した場合、前記キャッシュ計算機の追加指示を前記各中継装置に送信し、
    前記中継装置の第2モジュールは、
    前記追加指示を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
    前記追加されるキャッシュ計算機と自身が動作する前記中継装置とのネットワーク距離を測定し、
    前記ネットワーク距離の測定結果に基づいて、自身が動作する前記中継装置の前記最近傍キャッシュ計算機を特定し、
    自身が動作する前記中継装置に前記ルールを設定することを特徴とする中継システム。
  14. 請求項10に記載の中継システムであって、
    管理計算機、及び前記中継装置の近くに存在する計算機を備え、
    前記ルール設定モジュールは、第1モジュール及び第2モジュールを含み、
    前記第1モジュールは前記管理計算機上で動作し、前記第2モジュールは前記計算機上で動作し、
    追加されるキャッシュ計算機は、前記管理計算機に追加要求を送信し、
    前記管理計算機の第1モジュールは、前記管理計算機が前記追加要求を受信した場合、前記キャッシュ計算機の追加指示を前記各計算機に送信し、
    前記各計算機の第2モジュールは、
    前記追加指示を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
    前記追加されるキャッシュ計算機と前記計算機とのネットワーク距離を、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離として測定し、
    前記ネットワーク距離の測定結果に基づいて、前記計算機の近くに存在する中継装置の前記最近傍キャッシュ計算機を特定し、
    前記計算機の近くに存在する中継装置に前記ルールを設定することを特徴とする中継システム。
JP2012206869A 2012-09-20 2012-09-20 ルール設定方法、及び中継システム Pending JP2014064096A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012206869A JP2014064096A (ja) 2012-09-20 2012-09-20 ルール設定方法、及び中継システム
PCT/JP2013/055401 WO2014045610A1 (ja) 2012-09-20 2013-02-28 ルール設定方法、及び中継システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012206869A JP2014064096A (ja) 2012-09-20 2012-09-20 ルール設定方法、及び中継システム

Publications (1)

Publication Number Publication Date
JP2014064096A true JP2014064096A (ja) 2014-04-10

Family

ID=50340943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012206869A Pending JP2014064096A (ja) 2012-09-20 2012-09-20 ルール設定方法、及び中継システム

Country Status (2)

Country Link
JP (1) JP2014064096A (ja)
WO (1) WO2014045610A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323448B1 (en) 2020-10-29 2022-05-03 Visa International Service Association Techniques for redundant access rule management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009044371A (ja) * 2007-08-08 2009-02-26 Nippon Telegr & Teleph Corp <Ntt> オーバーレイネットワーク形成方法とオーバーレイノードおよびオーバーレイネットワークとプログラム
JP2012151652A (ja) * 2011-01-19 2012-08-09 Nec Corp ルータ、キャッシュルータ及びコンテンツデータキャッシュシステム並びにコンテンツデータキャッシュ方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009044371A (ja) * 2007-08-08 2009-02-26 Nippon Telegr & Teleph Corp <Ntt> オーバーレイネットワーク形成方法とオーバーレイノードおよびオーバーレイネットワークとプログラム
JP2012151652A (ja) * 2011-01-19 2012-08-09 Nec Corp ルータ、キャッシュルータ及びコンテンツデータキャッシュシステム並びにコンテンツデータキャッシュ方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323448B1 (en) 2020-10-29 2022-05-03 Visa International Service Association Techniques for redundant access rule management
WO2022093362A1 (en) * 2020-10-29 2022-05-05 Visa International Service Association Techniques for redundant access rule management
US11765173B2 (en) 2020-10-29 2023-09-19 Visa International Service Association Techniques for redundant access rule management

Also Published As

Publication number Publication date
WO2014045610A1 (ja) 2014-03-27

Similar Documents

Publication Publication Date Title
US20150347246A1 (en) Automatic-fault-handling cache system, fault-handling processing method for cache server, and cache manager
JP6091724B2 (ja) リンクのヘルスチェック方法および装置
CN103368840B (zh) 减少多宿主网络连接内的边界网关协议会话的流量损失
KR101857511B1 (ko) 가상 머신 마이그레이션을 판정하는 방법 및 장치
US20140355441A1 (en) Method and apparatus of delivering assured services over unreliable internet infrastructure by using virtual overlay network architecture over a public cloud backbone
CN105993161B (zh) 用于解析地址的元件、方法、系统和计算机可读存储设备
US20230028646A1 (en) End-to-end path selection using dynamic software-defined cloud interconnect (sdci) tunnels
US20160036665A1 (en) Data verification based upgrades in time series system
EP3624401B1 (en) Systems and methods for non-intrusive network performance monitoring
JP2012533129A (ja) 仮想ネットワークの高性能で自動化された管理方法及びシステム
CN103503421A (zh) 负荷平衡系统中的sctp关联端点重定位
CN116389599A (zh) 网关服务请求的处理、云原生网关系统的管理方法及装置
JP5686027B2 (ja) 仮想マシン環境におけるネットワーク障害検知方法、装置、およびプログラム
JP2021039423A (ja) システム、および制御方法
US9563388B2 (en) Sharing a hosted device in a computer network
WO2014045610A1 (ja) ルール設定方法、及び中継システム
JP2013003768A (ja) 状態管理方法、処理装置、および状態管理プログラム
US11616731B1 (en) Determining a time-to-live budget for network traffic
JP2018125669A (ja) 送信パケットを監視する装置
US20150142960A1 (en) Information processing apparatus, information processing method and information processing system
US20180150336A1 (en) Management system and control method
CN109417513B (zh) 软件定义网络中动态检测对端的系统和方法
US10855610B2 (en) Information processing apparatus, information processing system, information processing method, and storage medium
JP2012203421A (ja) 情報処理方法、管理サーバおよび管理プログラム
US20210211381A1 (en) Communication method and related device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151013

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160223