(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-21
(45)【発行日】2024-07-01
(54)【発明の名称】誘導先評価装置、誘導先評価方法およびプログラム
(51)【国際特許分類】
H04L 47/125 20220101AFI20240624BHJP
H04L 67/1008 20220101ALI20240624BHJP
【FI】
H04L47/125
H04L67/1008
(21)【出願番号】P 2019115693
(22)【出願日】2019-06-21
【審査請求日】2022-01-05
【審判番号】
【審判請求日】2023-09-04
(73)【特許権者】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】木佐 佳子
(72)【発明者】
【氏名】亀井 貴行
【合議体】
【審判長】山澤 宏
【審判官】北元 健太
【審判官】富澤 哲生
(56)【参考文献】
【文献】米国特許出願公開第2009/0150565(US,A1)
【文献】特表2005-537687(JP,A)
【文献】米国特許出願公開第2018/0191622(US,A1)
【文献】米国特許出願公開第2011/0289214(US,A1)
【文献】Peter LaQuerre et al.,Oracle Cloud Infrastructure Load Balancing Classicの使用 E76938-08 [オンライン],Oracle,2018年11月,[検索日 2020.8.14],インターネット:<https://docs.oracle.com/cd/E83857_01/iaas/load-balancer-cloud/lbrug/index.html>
【文献】弘田武志ほか,クラウドネイティブSDx制御技術,NTT技術ジャーナル[オンライン],2018年4月,[検索日 2020.8.14],インターネット:<https://www.ntt.co.jp/journal/1804/files/JN20180450.pdf>(Japanese),<https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr201807ra1.pdf&mode=show_pdf>(English)
(58)【調査した分野】(Int.Cl.,DB名)
H04L47/00-47/83
H04L67/00-67/75
(57)【特許請求の範囲】
【請求項1】
誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得するメトリクス取得部と、
前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データに基づいて前記複数の候補を評価し、誘導先評価データを生成する誘導先評価部と、
前記メトリクスまたはそのスコアの変化により予め定められた評価更新条件が満足するか否かを判定する更新条件判定部と、
前記評価更新条件が満足すると判定された場合に、前記誘導先評価データの更新を要求する更新要求部と
を具備
し、
前記誘導先評価部は、誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスをメトリクス毎に割り当てられたRTT(Round-Trip Time)及びコストのプライオリティに従って重み付き加算することで、当該候補の評価値を決定し、前記評価値を含む前記誘導先評価データを生成する、誘導先評価装置。
【請求項2】
前記誘導先評価部は、前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データと前記複数種類のメトリクスに割り当てられたプライオリティとに基づいて前記複数の候補を評価する、請求項1に記載の誘導先評価装置。
【請求項3】
前記プライオリティを設定する権限を認可されたカスタマー装置から受信されたプライオリティを取得するプライオリティ取得部をさらに具備し、
前記誘導先評価部は、前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データと前記カスタマー装置から受信されたプライオリティとに基づいて前記複数の候補を評価し、前記誘導先評価データを生成する、
請求項2に記載の誘導先評価装置。
【請求項4】
前記誘導先評価部は、前記複数の候補の各々に対応する前記複数種類のメトリクスの時系列データに基づく値を前記プライオリティに従って重み付き加算することで当該候補の評価値を算出し、前記複数の候補の少なくとも一部を前記評価値の降順にランク付けして前記誘導先評価データを生成する、請求項2または請求項3に記載の誘導先評価装置。
【請求項5】
前記複数種類のメトリクスの時系列データに基づく値の各々は、所定の数値範囲内に収まるように正規化されている、請求項4に記載の誘導先評価装置。
【請求項6】
前記複数の候補に含まれる第1の候補に関連付けられる複数種類のメトリクスは、前記第1の候補を前記誘導先として選択した場合の前記リクエストの伝送コストに関わる第1のメトリクスと、前記第1の候補を前記誘導先として選択した場合の前記リクエストの伝送品質に関わる第2のメトリクスとを含む、請求項1乃至請求項5のいずれか1項に記載の誘導先評価装置。
【請求項7】
前記誘導先評価データを外部装置に提供する評価提供部をさらに具備する、請求項1乃至請求項6のいずれか1項に記載の誘導先評価装置。
【請求項8】
誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得することと、
前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データに基づいて前記複数の候補を評価し、誘導先評価データを生成することと、
前記メトリクスまたはそのスコアの変化により予め定められた評価更新条件が満足するか否かを判定することと、
前記評価更新条件が満足すると判定された場合に、前記誘導先評価データの更新を要求することと
を具備
し、
前記誘導先評価データを生成することは、誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスをメトリクス毎に割り当てられたRTT(Round-Trip Time)及びコストのプライオリティに従って重み付き加算することで、当該候補の評価値を決定し、前記評価値を含む前記誘導先評価データを生成することである、誘導先評価方法。
【請求項9】
コンピュータを、
誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得する手段、
前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データに基づいて前記複数の候補を評価し、誘導先評価データを生成する手段、
前記メトリクスまたはそのスコアの変化により予め定められた評価更新条件が満足するか否かを判定する手段、
前記評価更新条件が満足すると判定された場合に、前記誘導先評価データの更新を要求する手段
として機能させ
、
前記誘導先評価データを生成する手段は、誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスをメトリクス毎に割り当てられたRTT(Round-Trip Time)及びコストのプライオリティに従って重み付き加算することで、当該候補の評価値を決定し、前記評価値を含む前記誘導先評価データを生成する、誘導先評価プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明の一態様は、ネットワーク上の負荷分散に関する。
【背景技術】
【0002】
近年、IoT(Internet of Things)や移動体通信技術の発展に伴い、インターネットをはじめとするネットワークを通じて伝送されるデータの量は、飛躍的に増加している。そのため、ネットワークにおける負荷分散やトラヒック制御技術のさらなる発展が求められている。
【0003】
ネットワークシステムにおいてHTTP(Hypertext Transfer Protocol)リクエストを単一のサーバ、例えばCDN(Content Delivery Network)におけるオリジンサーバ、に集中させずに、当該サーバまたはその代わりとなるサーバへ分散させることで、当該システムの拡張性および可用性を高めることができる。かかる負荷分散技術は、例えば、ラウンドロビン、重み付きラウンドロビン、などの予め定められたポリシーに従ってリクエストを各サーバに誘導する方式(静的分散方式)と、各サーバの状態、例えば、コネクション数、クライアント数、データ通信量、応答時間、サーバ負荷、などをリアルタイムに監視しつつ最適なサーバにリクエストを誘導する方式(動的分散方式)とに大別される。
【0004】
また近年では、負荷分散技術は、例えば、エッジコンピューティング技術、CDN技術、などに応用されている。非特許文献1では、4K/8K,AR/VRに代表される高精細・高臨場の次世代映像コンテンツを経済的かつ高品質に配信するために、CDN技術が検討されていることが記載されている。
【先行技術文献】
【非特許文献】
【0005】
【文献】安川 正祥ほか、「将来ネットワークアーキテクチャの具現化に向けた取り組み」、NTT技術ジャーナル2018年3月、23~30ページ
【発明の概要】
【発明が解決しようとする課題】
【0006】
前述の静的分散方式は、負荷分散をシンプルなポリシーによって実現し易い反面、誘導先の候補の状態に変化が生じた場合にその効率が低下するおそれがある。他方、前述の動的分散方式は、誘導先の状態が変化しても負荷分散の効率が低下しにくい反面、ロードバランサが誘導先の候補の状態をリアルタイムに監視して誘導先を選択する必要がある。
【0007】
本発明は、リクエストの誘導先の候補を動的に評価することを目的とする。
【課題を解決するための手段】
【0008】
本発明の第1の態様に係る誘導先評価装置は、メトリクス取得部と、誘導先評価部とを含む。メトリクス取得部は、誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得する。誘導先評価部は、複数の候補に関連付けられる複数種類のメトリクスの時系列データに基づいて複数の候補を評価し、誘導先評価データを生成する。これにより、リクエストの誘導先の候補を動的に評価することができる。
【0009】
第1の態様に係る誘導先評価装置において、誘導先評価部は、複数の候補に関連付けられる複数種類のメトリクスの時系列データと複数種類のメトリクスに割り当てられたプライオリティとに基づいて複数の候補を評価してもよい。この誘導先評価装置(以降、本発明の第2の態様に係る誘導先評価装置と称する)によれば、各メトリクスの値そのものに加えて各メトリクスに割り当てられたプライオリティを考慮して複数の候補を評価することが可能となる。
【0010】
第2の態様に係る誘導先評価装置は、プライオリティを設定する権限を認可されたカスタマー装置から受信されたプライオリティを取得するプライオリティ取得部をさらに具備してもよく、誘導先評価部は、複数の候補に関連付けられる複数種類のメトリクスの時系列データとカスタマー装置から受信されたプライオリティとに基づいて複数の候補を評価し、誘導先評価データを生成してもよい。この誘導先評価装置(以降、本発明の第3の態様に係る誘導先評価装置と称する)によれば、カスタマー装置のユーザ(カスタマー)は、自らの嗜好に合致したプライオリティを設定することで各メトリクスの値が評価に与える影響を自由に調整できる。
【0011】
第2または第3の態様に係る誘導先評価装置において、誘導先評価部は、複数の候補の各々に対応する複数種類のメトリクスの時系列データに基づく値をプライオリティに従って重み付き加算することで当該候補の評価値を算出し、複数の候補の少なくとも一部を評価値の降順にランク付けして誘導先評価データを生成してもよい。この誘導先評価装置(以降、本発明の第4の態様に係る誘導先評価装置と称する)によれば、各メトリクスの値が評価に与える影響を当該メトリクスに割り当てられたプライオリティを介して調整することができるとともに、評価値の高い候補を把握しやすいランキング形式の誘導先評価データを生成することができる。
【0012】
第4の態様に係る誘導先評価装置において、複数種類のメトリクスの時系列データに基づく値の各々は、所定の数値範囲内に収まるように正規化されていてもよい。この誘導先評価装置(以降、本発明の第5の態様に係る誘導先評価装置と称する)によれば、変域の異なるメトリクスを公平に扱って誘導先の候補を評価することができる
【0013】
第1乃至第5の態様に係る誘導先評価装置において、複数の候補に含まれる第1の候補に関連付けられる複数種類のメトリクスは、第1の候補を誘導先として選択した場合のリクエストの伝送コストに関わる第1のメトリクスと、第1の候補を誘導先として選択した場合のリクエストの伝送品質に関わる第2のメトリクスとを含んでもよい。この誘導先評価装置(以降、本発明の第6の態様に係る誘導先評価装置と称する)によれば、伝送コストおよび伝送品質を含む複数の観点で誘導先の候補を評価することができる。
【0014】
第1乃至第6の態様に係る誘導先評価装置は、誘導先評価データを外部装置に提供する評価提供部をさらに具備してもよい。この誘導先評価装置(以降、本発明の第7の態様に係る誘導先評価装置と称する)によれば、誘導先評価データを外部装置に提供することが可能となる。
【0015】
第1乃至第7の態様に係る誘導先評価装置は、予め定められた評価更新条件が満足するか否かを判定する更新条件判定部と、評価更新条件が満足すると判定された場合に、誘導先評価データの更新を要求する更新要求部とをさらに具備してもよい。これにより、評価更新条件が満足する毎に誘導先評価データを更新することができる。
【0016】
本発明の第8の態様に係る誘導先評価方法は、誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得することと、複数の候補に関連付けられる複数種類のメトリクスの時系列データに基づいて複数の候補を評価し、誘導先評価データを生成することとを含む。これにより、リクエストの誘導先の候補を動的に評価することができる。
【0017】
本発明の第9の態様に係る誘導先評価プログラムは、コンピュータを、誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得する手段、複数の候補に関連付けられる複数種類のメトリクスの時系列データに基づいて複数の候補を評価し、誘導先評価データを生成する手段として機能させる。これにより、リクエストの誘導先の候補を動的に評価することができる。
【発明の効果】
【0018】
本発明によれば、リクエストの誘導先の候補を動的に評価することができる。
【図面の簡単な説明】
【0019】
【
図1A】
図1Aは、実施形態に係る誘導先評価装置を含む負荷分散システムを例示する図である。
【
図1B】
図1Bは、実施形態に係る誘導先評価装置を含む負荷分散システムを例示する図である。
【
図1C】
図1Cは、実施形態に係る誘導先評価装置を含む負荷分散システムを例示する図である。
【
図1D】
図1Dは、実施形態に係る誘導先評価装置を含む負荷分散システムを例示する図である。
【
図2】
図2は、実施形態に係る誘導先評価装置を含むポリシー決定装置を例示するブロック図である。
【
図3】
図3は、実施形態に係る誘導先評価装置を例示するブロック図である。
【
図4】
図4は、
図2中のメトリクス生成装置を例示するブロック図である。
【
図5】
図5は、
図2中のポリシー制御装置を例示するブロック図である。
【
図6】
図6は、
図4に示した監視データ記憶部の記憶内容の一例を示す図である。
【
図7】
図7は、
図3に示したメトリクス記憶部の記憶内容の一例を示す図である。
【
図8】
図8は、
図3に示した設定データ記憶部の記憶内容の一例を示す図である。
【
図9】
図9は、
図3に示した誘導先評価部の動作の説明図である。
【
図12】
図12は、
図4のメトリクス生成装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、図面を参照してこの発明に係わる実施形態を説明する。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。
まず、実施形態に係る誘導先評価装置によって生成される誘導先評価データを利用するポリシー決定装置の理解を助けるために、ポリシー決定装置の適用例から説明する。
【0021】
[適用例]
(1)構成
図1Aは、この発明の実施形態に係る誘導先評価装置11によって生成される誘導先評価データを利用するポリシー決定装置10を備えた負荷分散システムの全体構成および処理フローの第1の例を示す図である。
【0022】
このポリシー決定装置10を含む誘導制御システム1は、例えば、Web上またはクラウド上に設けられ、データ伝送ネットワークを介して、プローブサーバ41,・・・、監視システム42,・・・エンドユーザ50A,50B,・・・(以下、まとめて「エンドユーザ50」ともいう)、エッジサーバ70A,70B,70C,・・・(以下、まとめて「エッジサーバ70」ともいう)、CDN 100A,100B,・・・(以下、まとめて「CDN 100」ともいう)、ならびにオリジンサーバ60と通信可能に接続されている。
【0023】
データ伝送ネットワークは、例えば、中継網と、この中継網に対しアクセスするための複数のアクセス網とを含んで構成される。中継網としては、一般的なインターネットのような公衆網や、限られた機器などからのみアクセスできるよう制御された閉域網が用いられる。アクセス網としては、例えば、無線LAN(Local Area Network)、携帯電話網、有線電話網、FTTH(Fiber To The Home)、CATV(Cable Television)網が用いられる。以下では簡単のためデータ伝送ネットワークをインターネットとして説明する。
【0024】
プローブサーバ41および/または監視システム42は、例えば、サーバコンピュータまたはパーソナルコンピュータにより構成される。プローブサーバ41および/または監視システム42は、ネットワーク内の設備、例えばオリジンサーバ60、エッジサーバ70および/またはCDN 100、などの状態、例えば、動作ログやセキュリティログなどのログ情報、サーバやメモリの使用状況などの負荷情報を継続的に収集/監視する。プローブサーバ41および/または監視システム42は監視データを生成し、ポリシー決定装置10に送信する。任意の数のプローブサーバ41および/または監視システム42がネットワークを介してポリシー決定装置10に接続可能である。
【0025】
エンドユーザ50は、例えば、ユーザが所持するパーソナルコンピュータやスマートフォンなどの情報処理端末、ネットワークに接続して情報を送受信可能な車両、または種々のセンサから計測結果を収集して送信可能なIoTデバイスである。従って、エンドユーザ50からのアクセスリクエストには、動画をはじめとするコンテンツやソフトウェア更新プログラムなど、データのダウンロードを要求するものと、IoTデータ等のデータのアップロードを要求するものとが含まれる。なお、任意の数のエンドユーザ50がネットワークを介して誘導制御システム1中の誘導制御装置30に接続可能である。
【0026】
エッジサーバ70は、データをキャッシュ可能な任意の規模のサーバコンピュータにより構成される。エッジネットワークとしてのCDN 100Aは、例えば、第1のCDN事業者によって運営される。
【0027】
CDN 100B,・・・は、例えば、第1のCDN事業者とは異なるCDN事業者によって運営される。図示されたCDN 100は、誘導制御システム1に対して内部のエッジサーバの情報を明らかにしていないが、一部のCDN 100は、誘導制御システム1に対して内部のエッジサーバの情報を明らかにしてもよい。後者の場合に、誘導制御システム1は、CDN 100を誘導先の候補として扱ってもよいし、このCDN 100内部のエッジサーバを誘導先の候補として扱ってもよい。
【0028】
以下では、CDN 100A,CDN 100B,・・・ならびに誘導制御システム1からアクセス可能なエッジサーバ70の各々を、誘導先の候補として、単に「エッジ」とも呼び、これらをまとめてエッジ群と呼ぶこともある。エッジ群には、図示していない、サービス提供事業者が提供するクラウドコンピューティングサービスや、内部の情報を部分的に明らかにしているCDN等も含めることができる。任意の数のエッジが、ネットワークを介してエンドユーザ50に接続可能である。
【0029】
オリジンサーバ60は、例えば、Webサーバやファイルサーバなど、コンテンツ配信事業者が運営管理する、エンドユーザ50に配信(エンドユーザ50がデータをダウンロード)するためのコンテンツを保持するデータサーバ、または、IoTデータを収集する事業者が運営管理する、エンドユーザ50からデータを収集(エンドユーザ50がデータをアップロード)するデータサーバである。図では1つのオリジンサーバ60のみを示しているが、任意の数のオリジンサーバ60が存在し得る。
【0030】
誘導制御システム1は、エンドユーザ50からのアクセスリクエストに対して、CDN 100またはエッジサーバ70を含むエッジ群から適切な誘導先を選択し、誘導する。より具体的には、誘導制御システム1に含まれるポリシー決定装置10が、リクエストを誘導するための誘導先を制御するために使用されるポリシーを決定し、誘導制御システム1に含まれる誘導制御装置30がこのポリシーに従ってリクエストを誘導する。ここで、ポリシーは、リクエストの誘導先の複数の候補と、その候補それぞれにリクエストを誘導する割合とを示し得る。誘導制御装置30は、この割合を例えば重み付きラウンドロビンにおけるウェイトとして用いて、リクエストを振り分けることができる。
【0031】
誘導制御システム1は、ポリシー決定装置10と、誘導制御装置30A,30B,・・・(以下、まとめて「誘導制御装置30」という)とを備える。誘導制御システム1は、任意の数の誘導制御装置30を備えることができる。
【0032】
ポリシー決定装置10は、例えばサーバコンピュータまたはパーソナルコンピュータであって、プローブサーバ41および/または監視システム42から監視データを収集し、監視データから導出または算出される複数のメトリクスに基づいて、ポリシーを決定(生成/更新)する。
【0033】
ここで、メトリクスとは、リクエストの誘導先として選択可能な候補を評価するための材料となる指標であって、当該候補の状態を示す。メトリクスは、監視データに含まれる値そのものであってもよいし、かかる値の加工値または統計値であってもよい。
【0034】
ポリシー決定装置10はまた、オリジンサーバ60を用いたサービスの提供主体であるカスタマーからの要求に基づいてポリシーを決定することもできる。例えば、ポリシー決定装置10は、誘導先の候補の各メトリクスをカスタマー装置により設定されたプライオリティに応じた基準で考慮することで当該候補を評価し、ポリシーを決定することもできる。或いは、ポリシー決定装置10は、カスタマー装置により設定されたウェイトに基づく割合でそれぞれの候補にリクエストが誘導されるようにポリシーを決定することもできる。
【0035】
ここで、カスタマー装置は、オリジンサーバ60への宛先データを含むリクエストに適用されるポリシーを決定するためのウェイトおよび/またはこのポリシーを決定するための評価に関わるメトリクスに割り当てられるプライオリティを設定する権限を認可された装置を指す。例えば、オリジンサーバ60のオペレータなどの操作に従って、社内ネットワークに接続された端末、または公衆網に接続された端末などが、かかる設定を行うためのWebサイト(ポータル)にアクセスする。これらの端末は、パスワード認証などの任意の認証を通過することで上記権限を認可され、当該権限が認可されている間はカスタマー装置として機能する。カスタマー装置は、複数の誘導先の候補の評価データ(例えばランキングデータ)を閲覧したり、ウェイトおよび/またはプライオリティを設定したりすることができる。
【0036】
このように、ポリシー決定装置10は、誘導制御システム1のブレインとして、どのように誘導先を選択すべきかを示すポリシーを指示する。
【0037】
一方、誘導制御装置30は、誘導制御システム1のボディとして、ブレインたるポリシー決定装置10によって決定されたポリシーに基づく誘導制御処理を実行する。誘導制御装置30は、例えばL4ロードバランサ(DNSロードバランサと呼ぶこともできる)に相当し得る。誘導制御装置30A,30B,・・・はそれぞれ、第1のゾーン#1,第2のゾーン#2,・・・に配備される。誘導制御装置30毎にゾーンが定義されており、誘導制御装置30はその対応するゾーンに属するPoP(Point of Presence)へリクエストを誘導することができる。ここで、PoPは、外部ネットワークとの接続点を持つ、誘導先の拠点を意味する。
【0038】
(2)動作
次に、誘導制御システム1を含む負荷分散システムによる情報処理動作について説明する。
【0039】
(2-1)ポリシーの決定(S10~S12)
はじめに、
図1Aを参照して、ポリシーの決定処理について説明する。
【0040】
実施形態では、まずステップS10において、ポリシー決定装置10は、継続的にプローブサーバ41および/または監視システム42から監視データを収集することによって、ネットワーク内の設備の使用状況や性能の監視を行う。あるいは、ポリシー決定装置10は、各CDN 100または各エッジサーバ70の負荷を表す情報を直接収集してもよいし、誘導制御装置30を介して取得するようにしてもよい。
【0041】
他方、ポリシー決定装置10は、誘導制御装置30からのポリシー更新(または生成)要求を受け付ける(ステップS11)。この要求は、例えば、誘導制御装置30から定期的に出力されるものであってもよいし、ゾーンに関連するエッジの構成変更をトリガとして誘導制御装置30から出力されるものであってもよい。また、ポリシー更新要求とともに、誘導制御装置30が、各CDN 100、各エッジサーバ70またはオリジンサーバ60に関して取得した情報をポリシー決定装置10に送ることもできる。
【0042】
次いでステップS12において、ポリシー決定装置10は、過去に実行されたステップS10において収集した監視データに基づいてポリシーを決定したのち、最新のポリシーを誘導制御装置30に返す処理を行う。すなわち、ポリシー決定装置10は、収集した監視データから複数のメトリクスを導出または算出し、算出されたメトリクスに基づいてポリシーを生成または更新する。
【0043】
例えば、ポリシー決定装置10が収集する監視データには、動的なデータとして、動作ログやネットワーク状況の監視結果などを含めることができ、静的なデータとして、カスタマーから設定された選好条件や契約内容、各CDNの契約金などを含めることができる。例えば、ポリシー決定装置10は、例えば、オリジンサーバ60が保持するデータの配信スケジュールを取得し、取得した配信スケジュールに基づいて、特定のデータが配信される時間帯については特定のエッジを優先的に選択することを指定するポリシーを決定することができる。または、ポリシー決定装置10は、カスタマー装置が設定したメトリクスのプライオリティ(選好基準)および/またはエッジのウェイト(誘導割合)を取得し、そのプライオリティに応じた誘導先の候補の評価および/またはそのウェイトに応じたポリシーの決定が可能である。なお、ポリシーは、オリジンサーバ60ごとに個別に決定されてもよいし、複数のオリジンサーバ間で共通に決定されてもよい。誘導制御装置30は、ステップS12において受け取った、ポリシー決定装置10から最新のポリシーを、図示しない記憶部に格納する。
【0044】
なお、ポリシー決定装置10は、上記ステップS11の誘導制御装置30からのポリシー更新要求をトリガとせず、例えば定期的に誘導制御装置30のためのポリシーを決定し、当該誘導制御装置30に通知してもよい。すなわち、ポリシー決定装置10は、定期的に、収集した監視データから複数のメトリクスを導出または算出し、算出されたメトリクスに基づいてポリシーを生成または更新することができる。
【0045】
(2-2)DNS式誘導制御装置による誘導制御
次に、誘導制御に係る第1の実施例として、DNS式の誘導制御装置30によるリクエスト誘導制御について、その制御手順および制御内容を
図1Aを用いて説明する。
【0046】
(2-2-1)誘導制御の実施例1-1(S31~S36)
図1Aにおいて、エンドユーザ50Aが、例えば、コンテンツ配信を求めてオリジンサーバ(データサーバ)60にアクセスしようとする場合、実施例1に係る誘導制御は以下のように行われる。
【0047】
まずステップS31において、エンドユーザ50Aは、アクセスリクエストとして、オリジンサーバ60(例えば、origin.example.com)にアクセスするための接続先IPアドレスを、名前解決のため、エンドユーザ50Aが指定した場所であるDNSリゾルバ80に問い合わせる。なお、DNSリゾルバ80は、専用のサーバであってもよいし、エンドユーザ50Aが実行可能なプログラムであってもよい。
【0048】
次いでステップS32において、エンドユーザ50Aからの問合せを受けたDNSリゾルバ80が、origin.example.comの情報を保持している権威DNSサーバとしての誘導制御装置30Aに問い合わせる。問合せを受けた誘導制御装置30Aは、この問合せに含まれる情報をアドレス情報として取得し、図示しない記憶部に格納する。DNSリゾルバ80からorigin.example.comの情報についての問合せを受けた誘導制御装置30Aはさらに、その記憶部に記憶したアドレス情報を読み出し、同じく記憶部に格納されている、ポリシー決定装置10により生成されたポリシーに従って、誘導先としてエッジサーバ70Aを指定する。
【0049】
ステップS33において、誘導制御装置30Aは、DNSリゾルバ80に誘導先情報を回答する。このとき、ステップS33において誘導制御装置30AからDNSリゾルバ80に送られる誘導先情報には、エッジサーバ70AのIPアドレスが含められることになる。
【0050】
次いでステップS34において、DNSリゾルバ80は、誘導制御装置30Aから受領した誘導先情報をエンドユーザ50Aに回答する。
【0051】
ステップS35において、エンドユーザ50Aは、指定された誘導先であるエッジサーバ70Aへのアクセスを開始する。エッジサーバ70Aが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
【0052】
エッジサーバ70Aが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、エッジサーバ70Aは、ステップS36において、オリジンサーバ60にアクセスし、オリジンサーバ60からコンテンツを取得する。
【0053】
かくして、誘導制御装置30Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをエンドユーザ50Aへ配信することが可能になる。
【0054】
(2-2-2)誘導制御の実施例1-2(S31~S48)
図1Bは、この発明の実施形態に係る誘導先評価装置11によって生成される誘導先評価データを利用するポリシー決定装置10を備えた負荷分散システムの全体構成および処理フローの第2の例を示す図である。特に
図1Bは、エンドユーザ50Aがコンテンツ配信を求めてオリジンサーバ60にアクセスしようとする場合に、誘導制御装置30Aが、エッジサーバ70ではなくCDN 100を誘導先として選択する処理フローを示している。なお、
図1BのステップS10~S12およびステップS31は、
図1AのステップS10~S12およびステップS31と同じであるので説明を省略する。
【0055】
ステップS31に次ぐステップS32において、エンドユーザ50Aからの問合せを受けたDNSリゾルバ80が、origin.example.comの情報を保持している権威DNSサーバとしての誘導制御装置30Aに問い合わせる。問合せを受けた誘導制御装置30Aは、この問合せに含まれる情報をアドレス情報として取得し、図示しない記憶部に格納する。DNSリゾルバ80からorigin.example.comの情報についての問合せを受けた誘導制御装置30Aはさらに、その記憶部に記憶したアドレス情報を読み出し、同じく記憶部に格納されている、ポリシー決定装置10により生成されたポリシーに従って、誘導先としてCDN 100Bを指定する。
【0056】
ステップS43において、誘導制御装置30Aは、DNSリゾルバ80に誘導先情報を回答する。誘導制御装置30にとって誘導先であるCDN 100B内のキャッシュサーバのIPアドレスは未知であるので、ステップS43においてDNSリゾルバ80は、CDN 100Bの権威DNSサーバ90を案内される。
【0057】
そこで、ステップS44において、DNSリゾルバ80は、CDN 100Bの権威DNSサーバ90にオリジンサーバ60のドメイン名に対応するIPアドレスを問い合わせる。
【0058】
ステップS45において、CDN 100Bの権威DNSサーバ90は、CDN 100B内の適切なエッジサーバに関する情報、すなわちこのエッジサーバのIPアドレスをDNSリゾルバ80に返す。
【0059】
ステップS46において、DNSリゾルバ80は、権威DNSサーバ90から受領したCDN 100Bのエッジサーバに関する誘導先情報を、エンドユーザ50に回答する。
【0060】
ステップS47において、エンドユーザ50Aは、指定された誘導先であるCDN 100B内のエッジサーバへのアクセスを開始する。当該エッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
【0061】
CDN 100B内のエッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、当該エッジサーバは、ステップS48において、オリジンサーバ60にアクセスし、オリジンサーバ60からコンテンツを取得する。
【0062】
かくして、誘導制御装置30Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをからエンドユーザ50Aへ配信することが可能になる。
【0063】
なお、
図1AのステップS33または
図1BのステップS43において、誘導制御装置30AがDNSリゾルバ80に対し、エッジではなくオリジンサーバ60を誘導先として指定することも可能である。
【0064】
また、エンドユーザ50Aがオリジンサーバ60に対してデータをアップロードしようとする場合も、エンドユーザ50Aは、オリジンサーバ60または他の適切なエッジにリクエストを送信する必要がある。従って、リクエストの対象となるデータの流れがダウンストリームであるかアップストリームであるかにかかわらず、上記フローを適用することができる。
【0065】
以上のように、
図1Aおよび
図1Bに関して説明した誘導制御システム1は、エンドユーザ50からのリクエストの誘導先をダイナミックかつインテリジェントに制御することができる。すなわち、ポリシー決定装置10がブレインとなり、収集した監視データに基づき、ポリシーを動的に決定する。そして、各ゾーンに配置された誘導制御装置30がボディとなり、ブレインたるポリシー決定装置10によって定義されたポリシーに従い、複数のエッジの中から適切な誘導先を選択する。
【0066】
例えば、誘導制御システム1に含まれる誘導制御装置30は、ポリシーにおいて非零の割合を割り当てられたエッジに対してこの割合を例えば重み付きラウンドロビンにおけるウェイトとして用いて、リクエストを振り分けることができる。また、誘導制御システム1に含まれるポリシー決定装置10は、異なる時間帯、例えば日中および夜間について異なるポリシーを決定してもよい。
【0067】
(2-3)HTTP式誘導制御装置による誘導制御
次に、誘導制御の第2の実施例として、HTTP式の誘導制御装置20によるリクエスト誘導制御について説明する。
【0068】
(2-3-1)誘導制御の実施例2-1(S21~S23)
図1Cは、この発明の実施形態に係る誘導先評価装置11によって生成された誘導先評価データを利用するポリシー決定装置10を備えた負荷分散システムの全体構成および処理フローの第3の例を示す図である。
図1Cは、誘導制御装置20の一例として誘導制御装置20A,20B,・・・を用いた処理フローの例を示している。誘導制御装置20は、例えばL7ロードバランサ(HTTPロードバランサと呼ぶこともできる)に相当し得る。特に
図1Cは、エンドユーザ50Aがコンテンツ配信を求めてオリジンサーバ60にアクセスしようとする場合に、誘導制御装置20Aが、エッジサーバ70Aを誘導先として指定する処理フローを示している。なお、
図1CのステップS10~S12は、
図1A,
図1BのステップS10~S12と同じであるので説明は省略する。
【0069】
エンドユーザ50Aが、コンテンツ配信を求めてオリジンサーバ(データサーバ)60にアクセスしようとする場合、実施例2に係る誘導制御は以下のように行われる。なお、エンドユーザ50Aは、あらかじめ、DNS名前解決やエニーキャストにより特定のゾーン #1の誘導制御装置20Aに接続しているものとする。
【0070】
まずステップS21において、エンドユーザ50Aは、アクセスリクエストとして、HTTPリクエストを誘導制御装置20Aに送信する。これに対し、誘導制御装置20Aは、HTTPリクエストを受信し、当該HTTPリクエストに含まれるアドレス情報を取得して、図示しない記憶部に格納する。誘導制御装置20Aは、HTTPリクエスト自体を記憶部に格納するようにしてもよい。
【0071】
次いでステップS22において、誘導制御装置20Aは、同じく記憶部に格納されたポリシーに従って、誘導先としてエッジサーバ70Aを選択し、エッジサーバ70AにHTTPリクエストを転送する。このとき、誘導制御装置20Aは、ポリシーに加えて、HTTPリクエストに含まれるリクエストの内容、対象データの種別、エンドユーザ50Aの情報などを考慮して、誘導先を選択することができる。エッジサーバ70Aが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
【0072】
エッジサーバ70Aが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、エッジサーバ70Aは、ステップS23において、さらにオリジンサーバ60にリクエストを転送する。
【0073】
かくして、誘導制御装置20Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをエンドユーザ50Aへ配信することが可能になる。
【0074】
(2-3-2)誘導制御の実施例2-2(S21~S53)
図1Dは、この発明の実施形態に係る誘導先評価装置11によって生成された誘導先評価データを利用するポリシー決定装置10を備えた負荷分散システムの全体構成および処理フローの第4の例を示す図である。特に
図1Dは、エンドユーザ50Aがコンテンツ配信を求めてオリジンサーバ60にアクセスしようとする場合に、誘導制御装置20Aが、エッジサーバ70ではなくCDN 100を誘導先として指定する処理フローを示している。なお、
図1DのステップS10~S12は、
図1A~
図1CのステップS10~S12と同じであるので説明は省略する。また、
図1DのステップS21は、
図1CのステップS21と同じであるので説明は省略する。
【0075】
ステップS21に次ぐステップS52において、誘導制御装置20Aは、同じく記憶部に格納されたポリシーに従って、誘導先としてCDN 100Bを選択し、CDN 100BにHTTPリクエストを転送する。このとき、誘導制御装置20Aは、ポリシーに加えて、HTTPリクエストに含まれるリクエストの内容、対象データの種別、エンドユーザ50Aの情報などに基づき、誘導先を選択することができる。CDN 100B内でHTTPリクエストが転送されたエッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
【0076】
CDN 100B内のエッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、当該エッジサーバは、ステップS53において、さらにオリジンサーバ60にリクエストを転送する。
【0077】
かくして、誘導制御装置20Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをエンドユーザ50Aへ配信することが可能になる。
【0078】
なお、ステップS22またはステップS52において、誘導制御装置20Aがエッジではなくオリジンサーバ60を誘導先として指定することも可能である。
【0079】
また、エンドユーザ50がオリジンサーバ60に対してデータをアップロードしようとする場合も、エンドユーザ50は、まずオリジンサーバ60または他の適切なエッジにリクエストを送信する必要がある。従って、リクエストの対象となるデータの流れがダウンストリームであるかアップストリームであるかにかかわらず、上記フローを適用することができる。
【0080】
以上のように、
図1Cおよび
図1Dに関して説明した誘導制御装置20A,20B,・・・を含む誘導制御システム1は、エンドユーザ50からのHTTPリクエストの誘導先をダイナミックかつインテリジェントに制御することができる。すなわち、ポリシー決定装置10がブレインとなり、収集した監視データに基づき、ポリシーを動的に決定する。そして、各ゾーンに配置された誘導制御装置20がボディとなり、ブレインたるポリシー決定装置10によって定義されたポリシーに従い、複数のエッジの中から適切な誘導先を選択する。
【0081】
例えば、誘導制御システム1は、ポリシーに加えて、HTTPリクエストに含まれる情報に応じて誘導先を選択することもできる。一般に、HTTPリクエストには、エンドユーザ50の情報や伝送されるデータに関する情報が含まれるので、エンドユーザ50のデバイス種別もしくはエージェント、または伝送対象であるデータの種別もしくは内容等に応じて誘導先を変えるように設定することが可能である。
【0082】
また、誘導制御システム1に含まれる誘導制御装置20は、ポリシーにおいて非零の割合を割り当てられたエッジに対してこの割合を例えば重み付きラウンドロビンにおけるウェイトとして用いて、リクエストを振り分けることができる。また、誘導制御システム1に含まれるポリシー決定装置10は、異なる時間帯、例えば日中および夜間について異なるポリシーを決定してもよい。
【0083】
特にコンテンツ側から見ると、異なるCDN事業者が提供するCDN 100間には提供されるサービスや機能に差があることが多い。誘導制御装置20を用いて、例えばいったん各CDN事業者のCDN 100でリクエストを受けたのち、特定のエッジサーバ70に誘導することにより、上記差がコンテンツ側から意識されないようにすることも可能となる。
【0084】
[実施形態]
以下、図面を参照して、実施形態に係る誘導先評価装置11を含むポリシー決定装置10を説明する。以降の説明において、誘導制御装置20および誘導制御装置30を基本的に区別せず、誘導制御装置20と称することとする。
【0085】
(1)構成
図2は、実施形態に係る誘導先評価装置11を含むポリシー決定装置10の一例を示すブロック図である。
図2のポリシー決定装置10は、誘導先評価装置11と、メトリクス生成装置12と、ポリシー制御装置13とを含む。ポリシー決定装置10は、ポリシー決定システムと呼ぶこともできる。また、
図2の機能分割は一例に過ぎず、ポリシー決定装置10は、誘導先評価装置11、メトリクス生成装置12およびポリシー制御装置13の一部または全部の機能部を備える単一または複数のコンピュータであってもよい。
【0086】
誘導先評価装置11は、誘導制御装置20がリクエストを誘導するための誘導先の複数の候補を、例えばメトリクス生成装置12によって提供されるメトリクスデータに基づいて評価し、誘導先評価データを生成する。誘導先評価装置11は、かかる誘導先評価データをポリシー制御装置13または他の外部装置に例えばネットワーク経由で提供する。
【0087】
メトリクス生成装置12は、リクエストの誘導先として選択可能な候補の状態を示す指標である複数のメトリクスの時系列データであるメトリクスデータを、例えば前述のプローブサーバ41および/または監視システム42から収集した監視データに基づいて生成する。メトリクス生成装置12は、かかるメトリクスデータを誘導先評価装置11または他の外部装置に例えばネットワーク経由で提供する。
【0088】
ポリシー制御装置13は、誘導制御装置20が使用するためのポリシーを、例えば誘導先評価装置11によって提供される誘導先評価データ、またはカスタマー装置によって設定されるウェイト、に基づいて決定し、これを当該誘導制御装置20に通知する。
【0089】
実施形態に係る誘導先評価装置11は、
図3に例示されるように、通信I/F(インタフェース)110と、プロセッサ120と、メモリ130とを含む。
【0090】
通信I/F 110は、例えば1つ以上の有線または無線の通信インタフェースユニットを含んでおり、ネットワークで使用される通信プロトコルに従い、メトリクス生成装置12およびポリシー制御装置13、さらには図示しないその他の外部機器、例えばカスタマー装置、との間で各種情報の送受信を可能にする。また、通信I/F 110は例えば光通信モジュールであり得る。
【0091】
プロセッサ120は、典型的にはCPU(Central Processing Unit)および/またはGPU(Graphics Processing Unit)であるが、マイコン、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、またはその他の汎用または専用のプロセッサなどであってもよい。プロセッサ120は、例えば、入出力制御、通信制御、誘導先の候補(エッジ)の評価に関わる処理、などを行う。
【0092】
メモリ130は、プロセッサ120が各処理を実現するために当該プロセッサ120によって実行されるプログラムおよび当該プロセッサ120によって使用されるデータ、例えば、メトリクスデータ、設定データ、誘導先評価データ、などを一時的に格納する。メモリは、かかるプログラム/データが展開されるワークエリアを有するRAMを含み得る。
【0093】
プロセッサ120は、メモリ130に保存されたプログラムを実行することで、
図3のメトリクス取得部121、プライオリティ取得部122、更新条件判定部123、更新要求部124、誘導先評価部125、評価提供要求取得部126、および評価提供部127として機能し得る。また、メモリ130は、メトリクス記憶部131、設定データ記憶部132、および評価データ記憶部133を含み得る。
【0094】
通信I/F 110は、外部装置から種々のデータを受信してプロセッサ120へ送ったり、逆にプロセッサ120から受け取った種々のデータを外部装置へ送信したりする。
【0095】
例えば、通信I/F 110は、メトリクス生成装置12またはその他の外部装置からネットワーク経由で、メトリクスデータを受信し、これをメトリクス取得部121へ送る。また、通信I/F 110は、カスタマー装置またはその他の外部装置からネットワーク経由で、プライオリティを受信し、これをプライオリティ取得部122へ送る。
【0096】
さらに、通信I/F 110は、ポリシー制御装置13またはその他の外部装置からネットワーク経由で、後述される評価提供要求を受信し、これを評価提供要求取得部126へ送る。他方、通信I/F 110は、評価提供部127から評価提供要求の対象となる誘導先評価データおよびその要求元となる外部装置を識別するデータを受け取り、当該外部装置へ誘導先評価データをネットワーク経由で送信する。
【0097】
メトリクス取得部121は、通信I/F 110によって受信されたメトリクスデータを取得し、これをメモリ130中のメトリクス記憶部131に書き込む。
【0098】
メトリクス記憶部131は、誘導先の候補に、当該候補についての所与の時点における複数種類のメトリクスの値および/またはそのスコアを対応付けてメトリクスデータとして保存し得る。メトリクスデータの詳細は後述する。メトリクス記憶部131は、エッジ毎に、各メトリクスについて、その値とスコアとを記憶し得る。メトリクス記憶部131に保存されたメトリクスデータは、例えば、更新条件判定部123、および/または誘導先評価部125によって読み出され得る。
【0099】
設定データ記憶部132は、種々の設定データを保存する。ここで、設定データは、例えば、誘導先の評価に関わるパラメータ、ポリシー決定装置10の下位の誘導制御装置20に関するデータ、当該誘導制御装置20が選択可能な誘導先の候補に関するデータ、などを含み得る。
【0100】
誘導先の評価に関わるパラメータは、例えば、誘導先の候補をメトリクスを重み付き和によりスコアリングするために用いられる、メトリクス毎に割り当てられ得るプライオリティ、誘導先評価データとしてのランキングに含めることのできる誘導先の候補の数を指定するパラメータ(指定エッジ数)、種々の閾値、などを含み得る。
【0101】
設定データ記憶部132は、各種パラメータを記憶する。これらのパラメータは、本誘導制御システム1を運用管理する会社もしくは団体のサーバ、あるいはコンテンツ配信事業者やIoTデータを収集する事業者が運営管理するオリジンサーバ60またはカスタマー装置から指定した標準値を含む。さらに、パラメータは、後述される誘導先評価データを必要とする任意の外部機器から、APIなどによって設定される任意値を含むことができる。任意値は、評価提供要求と一緒に、あるいは評価提供要求に関連付けて外部機器から送信され、それを通信I/F 110を介して取得したプライオリティ取得部122によって、設定データ記憶部132に保存され得る。或いは、任意値は、評価提供要求とは独立に例えばカスタマー装置から受信することもあり得る。
図8は、設定データ記憶部132の記憶内容の一例を示す図であり、設定データ記憶部132は、各オリジンサーバ60について、同様の情報を記憶している。設定データ記憶部132は、プライオリティと指定エッジ数kとを記憶する。この例では、プライオリティとして、RTTとコストの2つのメトリクスに対して設定した例であるが、プライオリティを設定するメトリクスはこれに限定されず、またメトリクスの数も2つに限るものではない。
【0102】
プライオリティ取得部122は、通信I/F 110によって受信されたプライオリティを取得し、これをメモリ130中の設定データ記憶部132に書き込む。例えば、プライオリティ取得部122は、受信されたプライオリティを、
図8に示すプライオリティの任意値として登録し得る。なお、プライオリティ取得部122は、例えば指定エッジ数などのプライオリティ以外のパラメータを取得してもよい。この場合に、プライオリティ取得部はパラメータ取得部と読み替えることもできる。誘導先評価部125は、各パラメータについて、任意値が登録されていない場合には標準値を用いて誘導先の候補を評価し、任意値が登録されている場合には任意値を用いて誘導先の候補を評価してもよい。
【0103】
更新条件判定部123は、予め定められた評価更新条件が満足するか否かを判定する。そして、更新条件判定部123は、評価更新条件が満足したと判定した場合に、更新要求部124に評価更新条件が満足したことを通知する。
【0104】
例えば、評価更新条件は、メトリクス記憶部131に保存されたメトリクスおよび/またはそのスコアが変化していること、または閾値を超える変化をしていること、であってもよい。また、評価更新条件は、前回の誘導先の候補の評価からの経過時間が閾値を超えていること、であってもよい。さらに、評価更新条件は、ポリシー制御装置13または他の外部装置から評価提供要求が受信されたこと、であってもよい。
【0105】
更新要求部124は、更新条件判定部123から評価更新条件が満足したことを通知されると、誘導先評価部125に評価の更新を要求する。
【0106】
誘導先評価部125は、メトリクス記憶部131からメトリクスデータを読み出し、設定データ記憶部132からプライオリティを含むパラメータを読み出す。誘導先評価部125は、メトリクスデータとパラメータとに基づいて、誘導先の候補を評価し、誘導先評価データを生成する。誘導先評価部125は、誘導先評価データを評価データ記憶部133に保存する。
【0107】
誘導先評価部125は、更新要求部124からを評価の更新が要求されたことをトリガとして、誘導先の候補を評価し得る。或いは、誘導先評価部125は、評価提供部127から評価提供要求を受け取ると、当該要求の対象となる誘導先評価データを生成してもよい。この評価提供要求は、例えば、要求の対象となる誘導先の候補、プライオリティ、指定エッジ数、などを含み得る。
【0108】
誘導先評価部125は、誘導先の複数の候補に関連付けられる複数種類のメトリクスの時系列データと、これら複数種類のメトリクスに割り当てられたプライオリティとに基づいてこれら複数の候補を評価することができる。例えば、誘導先評価部125は、誘導先の候補の複数種類のメトリクス(のスコア)をメトリクス毎に割り当てられたプライオリティに従って重み付き加算することで、当該候補の評価値(エッジスコア)を決定してもよい。
図9にかかるスコアリングの一例を示す。
図9において、「エッジ1」,「エッジ2」,・・・,「エッジ7」は誘導先の候補に相当し、「RTTスコア」および「コストスコア」に割り当てられたプライオリティはそれぞれ「0.8」および「0.2」である。なお、プライオリティは、ポリシー決定装置10、誘導制御装置20、および/またはオリジンサーバ60、などの管理者の嗜好により設定可能としてもよい。
図9の例では、「コスト」よりも「RTT」が重視されているが、逆に「コスト」を重視してもよいし、「コスト」および「RTT」以外のメトリクス(のスコア)が重視されてもよい。
【0109】
なお、誘導先評価データは、例えば、誘導先の複数の候補とその評価値(エッジスコア)とを含む。さらに、誘導先評価データは、評価値の昇順または降順に誘導先の複数の候補をランク付けしたランキングデータであってもよい。
【0110】
誘導先評価部125は、誘導先評価データとしてランキングデータを生成する場合に、すべてのエッジをランキングに含める必要はない。具体的には、誘導先評価部125は、設定データ記憶部132に記憶されたパラメータの1つである指定エッジ数kに従って、スコアが第1位から第k位までのエッジをランキングに含めてもよいし、可用状態でない候補を除外してもよい。
【0111】
評価データ記憶部133は、誘導先評価部125によって生成された誘導先評価データを保存する。評価データ記憶部133に保存された誘導先評価データは、例えば、評価提供部127などにより読み出される。
【0112】
評価提供要求取得部126は、外部装置から送信され通信I/F 110によって受信された評価提供要求を取得する。ここで、評価提供要求は、誘導先の複数の候補のうちの少なくとも一部を対象とし得る。評価提供要求取得部126は、評価提供要求を評価提供部127へ送る。
【0113】
評価提供部127は、評価提供要求取得部126から評価提供要求を受け取る。評価提供部127は、この要求の対象となる誘導先評価データを準備し、通信I/F 110を介してかかるデータを要求の送信元に提供する。ここで、評価提供部127は、評価データ記憶部133に保存されている誘導先評価データから必要なデータを抽出してもよいし、誘導先評価部125に必要なデータの生成を依頼してもよい。
【0114】
なお、
図3の例では、評価提供部127は、評価提供要求に応じて誘導先評価データを提供しているが、例えばポリシー制御装置13またはその他の外部装置に対して定期的に誘導先評価データをしてもよい。
【0115】
図2中のメトリクス生成装置12は、
図4に例示されるように、通信I/F 210と、プロセッサ220と、メモリ230とを含む。
【0116】
通信I/F 210は、例えば1つ以上の有線または無線の通信インタフェースユニットを含んでおり、ネットワークで使用される通信プロトコルに従い、誘導先評価装置11、ならびにプローブサーバ41および/または監視システム42、さらには図示しないその他の外部機器との間で各種情報の送受信を可能にする。通信I/F 210は例えば光通信モジュールであり得る。
【0117】
プロセッサ220は、典型的にはCPUおよび/またはGPUであるが、マイコン、FPGA、DSP、またはその他の汎用または専用のプロセッサなどであってもよい。プロセッサ220は、例えば、入出力制御、通信制御、メトリクスの生成、などに関わる処理を行う。
【0118】
メモリ230は、プロセッサ220が各処理を実現するために当該プロセッサ220によって実行されるプログラムおよび当該プロセッサ220によって使用されるデータ、例えば、監視データ、メトリクスデータ、などを一時的に格納する。メモリは、かかるプログラム/データが展開されるワークエリアを有するRAMを含み得る。
【0119】
プロセッサ220は、メモリ230に保存されたプログラムを実行することで、
図4の監視データ取得部221、メトリクス生成部222、メトリクス提供要求取得部223、およびメトリクス提供部224として機能し得る。また、メモリ230は、監視データ記憶部231、およびメトリクス記憶部232を含み得る。
【0120】
通信I/F 210は、外部装置から種々のデータを受信してプロセッサ220へ送ったり、逆にプロセッサ220から受け取った種々のデータを外部装置へ送信したりする。
【0121】
例えば、通信I/F 210は、プローブサーバ41または監視システム42からネットワーク経由で、ネットワーク内の設備の状態に関わる監視データを受信し、これを監視データ取得部221へ送る。ここで、監視データは、例えば、ポリシー決定装置10の下位の誘導制御装置20がエンドユーザ50からのオリジンサーバ60への宛先データを含むリクエストの誘導先として選択可能な候補、例えばエッジサーバ70および/またはCDN 100、の状態を示すデータを含み得る。ここで、誘導先の候補の状態は、当該候補の負荷、応答時間(例えば、RTT(Round-Trip Time))、コスト(通信料)、可用性、コネクション数、クライアント数、データ通信量、応答時間、などの一部または全部を含んでもよいし、含まなくてもよい。
【0122】
また、通信I/F 210は、誘導先評価装置11またはその他の外部装置からネットワーク経由で、後述されるメトリクス提供要求を受信し、これをメトリクス提供要求取得部223へ送る。他方、通信I/F 210は、メトリクス提供部224からメトリクス提供要求の対象となるメトリクスおよびその要求元となる外部装置を識別するデータを受け取り、当該外部装置へメトリクスをネットワーク経由で送信する。
【0123】
監視データ取得部221は、通信I/F 210によって受信された監視データを取得し、これをメモリ230中の監視データ記憶部231に書き込む。
【0124】
監視データ記憶部231は、監視データ取得部221によって取得された監視データを保存する。監視データ記憶部231に保存された監視データは、例えばメトリクス生成部222により読み出され得る。
【0125】
監視データ記憶部231は、各エッジに対応付けて監視データを記憶する。
図6は、この監視データ記憶部231の記憶内容の一例を示す図であり、監視データ記憶部231は、各オリジンサーバ60について、同様の情報を記憶している。ここでは、テーブル形式で示すが、これに限定されないことは勿論である。監視データ記憶部231は、エッジ毎に、例えば、アベイラビリティやRTT(Rand Trip Time)などの品質、コスト、などの定義された各メトリクスについての情報を記憶する。コストは、データの送受信量などに応じたトランジット費、エッジサーバを稼動するための電力料金、などの様々な費用に基づいて求められた値である。監視データは、スループット、リクエスト数、などその他様々なものが考えられ、プローブサーバ41および/または監視システム42で取得可能な情報であれば、どのようなものであってもよく、本誘導制御システム1を運用管理する会社もしくは団体のサーバ、あるいはコンテンツ配信事業者やIoTデータを収集する事業者が運営管理するオリジンサーバ60またはカスタマー装置によって任意に設定可能である。
【0126】
メトリクス生成部222は、監視データ記憶部231に保存された監視データを読み出し、これに基づいて誘導先の候補の各々に関連付けられる複数種類のメトリクスの時系列データ(メトリクスデータ)を生成する。メトリクス生成部222は、生成したメトリクスデータをメトリクス記憶部232に保存する。
【0127】
前述のように、メトリクスは、上記リクエストの誘導先として選択可能な候補の状態を示す指標である。メトリクスデータは、タイムスタンプとメトリクスの値とで表現される。所与の時点におけるメトリクスは、監視データに含まれる値そのものであってもよいし、かかる値の加工値または統計値であってもよい。メトリクス生成部222は、例えば1秒などの単位時間毎にメトリクスを生成し得る。
【0128】
メトリクス生成部222は、所与の時点における所与の種類のメトリクスの値を例えば0から1までのスコアとして正規化してもよい。メトリクス生成部222は、例えばシグモイド関数を利用してメトリクスの値を正規化し得る。正規化されたメトリクスの値は、(メトリクス)スコアと呼ぶことができる。
【0129】
また、メトリクス生成部222は、メトリクス提供部224からメトリクス提供要求を受け取ると、当該要求の対象となるメトリクスを生成してもよい。このメトリクス提供要求は、例えば、要求の対象となるエッジ、期間、および/またはメトリクスの種類を指定する情報を含み得る。すなわち、メトリクス提供要求により、任意のエッジの任意の種類のメトリクスの任意の期間に亘る時系列データの提供を受けることができる。
【0130】
誘導先の所与の候補に関連付けられるメトリクスは、例えば、当該候補を誘導先として選択した場合のリクエストの伝送コストに関わる第1のメトリクス、当該候補を誘導先として選択した場合のリクエストの伝送品質に関わる第2のメトリクス、などを含み得る。第1のメトリクスは、例えば、候補を選択したときに生じる各種コスト、例えば候補としてのCDNの使用料、候補としてのエッジサーバの電力使用料、などであり得る。また、第2のメトリクスは、例えば、エッジの可用性、RTT、パケット損失率、などであり得る。
【0131】
メトリクス記憶部232は、誘導先の候補に、当該候補についての所与の時点における複数種類のメトリクスの値および/またはそのスコアを対応付けてメトリクスデータとして保存し得る。
図7に、誘導先の候補(エッジ)毎に、メトリクスとしてのRTTおよびコストと、これらのスコアとを例示する。ここでは、メトリクスデータをテーブル形式で示すが、これに限定されないことは勿論である。メトリクス記憶部232は、エッジ毎に、各メトリクスについて、その値とスコアとを記憶する。メトリクス記憶部232に保存されたメトリクスデータは、例えば、メトリクス提供部224によって読み出され得る。
【0132】
メトリクス提供要求取得部223は、外部装置から送信され通信I/F 210によって受信されたメトリクス提供要求を取得する。ここで、メトリクス提供要求は、誘導先の複数の候補のうちの少なくとも一部に関連付けられる複数種類のメトリクスの時系列データの少なくとも一部を対象とし得る。メトリクス提供要求取得部223は、メトリクス提供要求をメトリクス提供部224へ送る。
【0133】
メトリクス提供部224は、メトリクス提供要求取得部223からメトリクス提供要求を受け取る。メトリクス提供部224は、この要求の対象となるメトリクスデータを準備し、通信I/F 110を介してかかるデータを要求の送信元に提供する。ここで、メトリクス提供部224は、メトリクス記憶部232に保存されているメトリクスデータから必要なデータを抽出してもよいし、メトリクス生成部222に必要なデータの生成を依頼してもよい。
【0134】
なお、
図4の例では、メトリクス提供部224は、メトリクス提供要求に応じてメトリクスデータを提供しているが、例えば誘導先評価装置11またはその他の外部装置に対して定期的に誘導先評価データをしてもよい。
【0135】
図2中のポリシー制御装置13は、
図5に例示されるように、通信I/F 310と、プロセッサ320と、メモリ330とを含む。
【0136】
通信I/F 310は、例えば1つ以上の有線または無線の通信インタフェースユニットを含んでおり、ネットワークで使用される通信プロトコルに従い、誘導先評価装置11、さらには図示しないその他の外部機器、例えばカスタマー装置、との間で各種情報の送受信を可能にする。また、通信I/F 310は、誘導制御装置20との間でデータ通信を行う際にも使用される。通信I/F 310は例えば光通信モジュールであり得る。
【0137】
プロセッサ320は、典型的にはCPUおよび/またはGPUであるが、マイコン、FPGA、DSP、またはその他の汎用または専用のプロセッサなどであってもよい。プロセッサ320は、例えば、入出力制御、通信制御、ポリシーの決定、などに関わる処理を行う。
【0138】
メモリ330は、プロセッサ320が各処理を実現するために当該プロセッサ320によって実行されるプログラムおよび当該プロセッサ320によって使用されるデータ、例えば、誘導先評価データ、設定データ、ウェイト、ポリシー、などを一時的に格納する。メモリは、かかるプログラム/データが展開されるワークエリアを有するRAMを含み得る。
【0139】
プロセッサ320は、メモリ330に保存されたプログラムを実行することで、
図5の評価取得部321、更新条件判定部322、更新要求部323、ポリシー決定部324、評価提供部325、ウェイト取得部326、およびポリシー通知部327として機能し得る。また、メモリ330は、評価データ記憶部331、設定データ記憶部332、ポリシー記憶部333、およびウェイト記憶部334を含み得る。
【0140】
通信I/F 310は、外部装置から種々のデータを受信してプロセッサ320へ送ったり、逆にプロセッサ320から受け取った種々のデータを外部装置へ送信したりする。
【0141】
例えば、通信I/F 310は、誘導先評価装置11またはその他の外部装置からネットワーク経由で、誘導先評価データを受信し、これを評価取得部321へ送る。他方、通信I/F 310は、評価提供部325から誘導先評価データを受け取り、カスタマー装置またはその他の外部装置へこの誘導先評価データをネットワーク経由で送信する。また、通信I/F 310は、カスタマー装置またはその他の外部装置からネットワーク経由で、ウェイトを受信し、これをウェイト取得部326へ送る。
【0142】
さらに、通信I/F 310は、ポリシー通知部327からポリシーおよびその通知先となる、ポリシー決定装置10の下位の誘導制御装置20を識別するデータ(例えばアドレス)を受け取り、当該誘導制御装置20へポリシーをネットワーク経由で送信する。このポリシーは、通知先となる誘導制御装置20によって、エンドユーザ50からのオリジンサーバ60への宛先データを含むリクエストの誘導先を制御するために用いられる。
【0143】
評価取得部321は、通信I/F 310によって受信された誘導先評価データを取得し、これをメモリ330中の評価データ記憶部331に書き込む。
【0144】
評価データ記憶部331は、評価取得部321によって取得された誘導先評価データを保存する。評価データ記憶部331に保存された誘導先評価データは、プロセッサ320の種々の機能部、例えば、ポリシー決定部324、評価提供部325、などにより読み出され得る。
【0145】
更新条件判定部322は、予め定められたポリシー更新条件が満足するか否かを判定する。そして、更新条件判定部322は、ポリシー更新条件が満足したと判定した場合に、更新要求部323にポリシー更新条件が満足したことを通知する。なお、ポリシー決定装置10の下位に複数の誘導制御装置20が存在する場合には、更新条件判定部322は誘導制御装置20毎に当該誘導制御装置20の使用するポリシーについてポリシー更新条件が満足するか否かを判定してもよい。
【0146】
例えば、ポリシー更新条件は、前回のポリシーの更新(または決定)からの経過時間が閾値を超えていること、であってもよい。また、ポリシー更新条件は、ポリシー決定装置10の下位の誘導制御装置20からポリシー更新要求が受信されメモリ330に保存されていること、であってもよい。
【0147】
更新要求部323は、更新条件判定部322からポリシー更新条件が満足したことを通知されると、ポリシー決定部324にポリシーの更新を要求する。
【0148】
ポリシー決定部324は、例えば、ポリシー決定装置10の初期設定時、当該ポリシー決定装置10の下位の誘導制御装置20の追加設定時、更新要求部323によってポリシーの更新を要求された時、などに、メモリ330に保存された種々のデータに基づいてポリシーを決定し、ポリシー記憶部333に書き込む。ポリシー決定部324は、ポリシーを決定するために、評価データ記憶部331に保存された誘導先評価データ、設定データ記憶部332に保存された設定データ、および/またはウェイト記憶部334に保存されたウェイトを参照し得る。
【0149】
ポリシー決定部324は、例えば、ウェイト記憶部334に保存されたウェイトに基づいてポリシーを決定してもよい。この場合に、カスタマーにウェイトの入力を促すために、ポリシー決定部324は、最新の誘導先評価データをカスタマー装置に提供するよう評価提供部325に依頼してもよい。他方、ポリシー決定部324は、ウェイト記憶部334にウェイトが保存されていない場合に、またはデフォルトとして、誘導先評価データに基づいてポリシーを自律決定してもよい。
【0150】
ポリシー決定部324は、ポリシーを自律決定する場合に、誘導先の候補を当該候補のスコアなどに基づいて、ポリシーに含める誘導先の候補を絞り込んでもよい。例えば、ポリシー決定部324は、誘導先評価データにおいて(エッジ)スコアの順位が予め定められた順位、例えば指定エッジ数に対応する順位、よりも下である候補を除外してもよいし、スコアが予め定められた閾値未満である候補を除外してもよい。
【0151】
ポリシー決定部324は、誘導先評価データに含まれる誘導先の候補のスコア、またはウェイト記憶部334に保存されたウェイトに基づいて、これから決定するポリシーを使用する誘導制御装置20が当該候補にリクエストを誘導する割合を示すウェイトを決定する。例えば、ポリシー決定部324は、ウェイト記憶部334に保存されたウェイトをそのままポリシーに記載してもよいし、誘導先の全候補に割り当てられたウェイトの総和のうち各候補に割り当てられたウェイトが占める割合を当該候補のウェイトとして決定してもよい。或いは、
図10に示されるように、ポリシー決定部324は、ポリシーに含める誘導先の全候補のスコアの総和のうち各候補のスコアが占める割合を当該候補のウェイトとして決定し得る。なお、これらはウェイトの決定法の例に過ぎず、例えばウェイトはスコアの順位別に予め定められていてもよい。ウェイトは、例えば重み付きラウンドロビン方式の負荷分散技術におけるウェイトとして用いることができる。すなわち、
図10のポリシーを使用する誘導制御装置20は、リクエストの55%をエッジ1に誘導し、残りの45%をエッジ7に誘導することになる。
【0152】
ポリシー記憶部333は、ポリシー決定部324によって決定されたポリシーを保存する。ポリシー記憶部333に保存されたポリシーは、例えばポリシー通知部327により読み出され得る。
【0153】
評価提供部325は、ポリシー決定部324からの依頼に応じて、通信I/F 310を介して誘導先評価データをカスタマー装置または他の外部装置に提供する。なお、ポリシー決定部324が、カスタマー装置によって設定されたウェイトに基づくポリシー決定を行わない場合には、評価提供部325は不要となり得る。
【0154】
ウェイト取得部326は、通信I/F 310によってカスタマー装置から受信されたウェイトを取得し、これをメモリ330中のウェイト記憶部334に書き込む。なお、ポリシー決定部324が、カスタマー装置によって設定されたウェイトに基づくポリシー決定を行わない場合には、ウェイト取得部326は不要となり得る。ウェイトは、例えば、誘導先評価データを閲覧したカスタマーによって誘導先の候補の少なくとも一部に割り当てられる。なお、ウェイトはカスタマーが任意に設定可能であるので、誘導先評価データにおける候補の評価値と相関しないこともあり得る。
【0155】
ウェイト記憶部334は、ウェイト取得部326によって取得されたウェイトを保存する。ウェイト記憶部334に保存されたウェイトは、例えばポリシー決定部324により読み出され得る。なお、ポリシー決定部324が、カスタマー装置によって設定されたウェイトに基づくポリシー決定を行わない場合には、ウェイト記憶部334は不要となり得る。
【0156】
ポリシー通知部327は、ポリシー記憶部333に新たなポリシー(更新されたポリシーを含む)が保存されると、当該ポリシーを読み出し、対応する誘導制御装置20に通知する。具体的には、ポリシー通知部327は、ポリシーおよびその通知先となる誘導制御装置20を識別するデータを通信I/F 310へ送り、通信I/F 310はこの誘導制御装置20へネットワーク経由でポリシーを送信する。
【0157】
(2)動作
次に、以上のように構成された誘導先評価装置11、メトリクス生成装置12、およびポリシー制御装置13の動作をそれぞれ説明する。
【0158】
図11は、誘導先評価装置11の動作例を示す。
図11の動作例では、通信I/F 110は、メトリクスデータ、プライオリティ、および評価提供要求の受信を待ち受ける(ステップS401、ステップS403およびステップS408)。他方、更新条件判定部123は、評価更新条件の満足を待ち受ける(ステップS405)。
【0159】
メトリクスデータが受信されれば処理はステップS402に進み、プライオリティが受信されれば処理はステップS404に進み、評価更新条件が満足したと判定されれば処理はステップS406に進み、評価提供要求が受信されれば処理はステップS409へ進む。
【0160】
ステップS402において、メトリクス取得部121は、受信されたメトリクスデータを取得し、メトリクス記憶部131に書き込む。ステップS402の後、通信I/F 110がメトリクスデータ、プライオリティ、および評価提供要求の受信を待ち受ける(ステップS401、ステップS403およびステップS408)一方で、更新条件判定部123は評価更新条件の満足を待ち受ける(ステップS405)。
【0161】
ステップS404において、プライオリティ取得部122は、受信されたプライオリティを取得し、設定データ記憶部132に書き込む。ステップS404の後、通信I/F 110がメトリクスデータ、プライオリティ、および評価提供要求の受信を待ち受ける(ステップS401、ステップS403およびステップS408)一方で、更新条件判定部123は評価更新条件の満足を待ち受ける(ステップS405)。
【0162】
ステップS406において、更新要求部124は、評価の更新を誘導先評価部125に要求する。誘導先評価部125は、ステップS406における要求に応じて、メトリクス記憶部131に保存されたメトリクスデータ、設定データ記憶部132に保存されたプライオリティを含むパラメータ、などに基づいて、誘導先の複数の候補を評価し、誘導先評価データを生成(更新)する(ステップS407)。ステップS407の後、通信I/F 110がメトリクスデータ、プライオリティ、および評価提供要求の受信を待ち受ける(ステップS401、ステップS403およびステップS408)一方で、更新条件判定部123は評価更新条件の満足を待ち受ける(ステップS405)。
【0163】
ステップS409において、評価提供部127は、受信された評価提供要求に応じた誘導先評価データを準備し、この要求の送信元である外部装置に通信I/F 110を介して提供する。ステップS409の後、通信I/F 110がメトリクスデータ、プライオリティ、および評価提供要求の受信を待ち受ける(ステップS401、ステップS403およびステップS408)一方で、更新条件判定部123は評価更新条件の満足を待ち受ける(ステップS405)。
【0164】
なお、
図11の動作例では、評価提供部127は、評価提供要求の受信をトリガとして誘導先評価データを提供しているが、誘導先評価データの更新(ステップS407)、またはステップS409の前回の実施から所定期間が経過したことをトリガとして誘導先評価データをポリシー制御装置13または他の外部装置に提供してもよい。
【0165】
図12は、メトリクス生成装置12の動作例を示す。
図12の動作例では、通信I/F 210は、監視データおよびメトリクス提供要求の受信を待ち受ける(ステップS501およびステップS504)。通信I/F 210が監視データを受信すると処理はステップS502に進み、通信I/F 210がメトリクス提供要求を受信すると処理はステップS505へ進む。
【0166】
ステップS502において、監視データ取得部221は、受信された監視データを取得し、監視データ記憶部231に書き込む。そして、メトリクス生成部222は、ステップS502において取得された監視データに基づいてメトリクスデータを生成する(ステップS503)。例えば、メトリクス生成部222は、新たなタイムスタンプとメトリクスおよび/またはそのスコアの値とを含むメトリクスデータを生成し得る。ステップS503の後、通信I/F 210は、監視データおよびメトリクス提供要求の受信を待ち受ける(ステップS501およびステップS504)。
【0167】
ステップS505において、メトリクス提供部224は、受信されたメトリクス提供要求に応じたメトリクスデータを準備し、この要求の送信元である外部装置に通信I/F 210を介して提供する。ステップS505の後、通信I/F 210は、監視データおよびメトリクス提供要求の受信を待ち受ける(ステップS501およびステップS504)。
【0168】
なお、
図12の動作例では、メトリクス提供部224は、メトリクス提供要求の受信をトリガとしてメトリクスデータを提供しているが、メトリクスデータの生成(ステップS503)、またはステップS505の前回の実施から所定期間が経過したことをトリガとしてメトリクスデータを誘導先評価装置11または他の外部装置に提供してもよい。
【0169】
図13は、ポリシー制御装置13の動作例を示す。
図13の動作例では、通信I/F 310は、誘導先評価データの受信を待ち受ける(ステップS601)。他方、更新条件判定部322は、ポリシー更新条件の満足を待ち受ける(ステップS603)。誘導先評価データが受信されれば処理はステップS602に進む。ポリシー更新条件が満足したと判定されれば処理はステップS604に進む。
【0170】
ステップS602において、評価取得部321は、受信された誘導先評価データを取得し、評価データ記憶部331に書き込む。ステップS602の後、通信I/F 310は誘導先評価データの受信を待ち受ける(ステップS601)一方で、更新条件判定部322はポリシー更新条件の満足を待ち受ける(ステップS603)。
【0171】
ステップS604において、更新要求部323は、ポリシーの更新をポリシー決定部324に要求する。ポリシー決定部324は、ステップS604における要求に応じて、誘導先評価データをカスタマー装置に提供するよう評価提供部325に依頼し、評価提供部325は評価データ記憶部331に保存されている誘導先評価データをカスタマー装置に提供する(ステップS605)。なお、ステップS605はオプションであり、後述されるステップS606、ステップS607およびステップS608とともに省略されてもよい。この場合に、処理はステップS604からステップS609へ進む。
【0172】
ステップS605の後に、通信I/F 310は、ウェイトの受信を例えば所定期間に亘って待ち受ける(ステップS606)。通信I/F 310がウェイトを受信した場合に処理はステップS607へ進み、通信I/F 310がウェイトを受信しなかった場合に処理はステップS609へ進む。
【0173】
ステップS607において、ウェイト取得部326は受信されたウェイトを取得し、ウェイト記憶部334に書き込む。次に、ポリシー決定部324は、ステップS607において取得されたウェイトに基づいて新たなポリシーを決定する(ステップS608)。例えば、ポリシー決定部324は、ウェイトをそのままポリシーに記載してもよいし、誘導先の全候補に割り当てられたウェイトの総和のうち各候補に割り当てられたウェイトが占める割合を当該候補のウェイトとして決定してもよい。ステップS608の後に処理はステップS610へ進む。
【0174】
ステップS609において、ポリシー決定部324は、評価データ記憶部331から誘導先評価データを読み出し、当該データに含まれる誘導先の候補のスコアに基づいて新たなポリシーを決定する。例えば、ポリシー決定部324は、ポリシーに含める誘導先の全候補のスコアの総和のうち各候補のスコアが占める割合を当該候補のウェイトとして決定してもよい。ステップS609の後に処理はステップS610へ進む。
【0175】
ステップS610において、ポリシー通知部327は、ステップS608またはステップS609において決定されたポリシーを誘導制御装置20に通知する。ステップS610の後、通信I/F 310は誘導先評価データの受信を待ち受ける(ステップS601)一方で、更新条件判定部322はポリシー更新条件の満足を待ち受ける(ステップS603)。
【0176】
(3)効果
以上詳述したように実施形態に係る誘導先評価装置は、誘導制御装置がリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データに基づいて、当該複数の候補を評価して誘導先評価データを生成する。故に、この誘導先評価装置によれば、リクエストの誘導先の候補を動的に評価することができる。
【0177】
さらに、メトリクス生成装置は、ネットワーク上の外部装置からのメトリクス提供要求を通信I/Fを介して受信すると、要求の対象となるメトリクスデータを通信I/Fを介してその要求元の外部装置に送信する。よって、外部装置への新たなサービスを提供することができる。
【0178】
また、誘導先評価装置は、ネットワーク上の外部装置からの評価提供要求を通信I/Fを介して受信すると、要求の対象となる誘導先評価データを通信I/Fを介してその要求元の外部装置に送信する。よって、外部装置への新たなサービスを提供することができる。
【0179】
また、前述の実施形態では、誘導先評価装置やメトリクス生成装置に対して誘導先評価データやメトリクスデータを要求する外部装置について特に限定していないが、何らかの認証制御を行って、特定の外部装置についてのみメトリクスデータや誘導先評価データを提供するようにしてもよい。また、その提供に際して、提供するデータの量、例えば、誘導先評価データに含まれるエッジの個数、メトリクスデータに含まれるメトリクスの種類、などを基準にした課金制御などを行うようにしてもよい。
【0180】
その他、誘導先評価装置の構成とその処理手順、各記憶部の構成などについても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【0181】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【符号の説明】
【0182】
1…誘導制御システム
10…ポリシー決定装置
11…誘導先評価装置
12…メトリクス生成装置
13…ポリシー制御装置
20,20A,20B,30,30A,30B…誘導制御装置
41…プローブサーバ
42…監視システム
50,50A,50B…エンドユーザ
60…オリジンサーバ
70,70A,70B,70C…エッジサーバ
80…DNSリゾルバ
90…権威DNSサーバ
100,100A,100B…CDN 110,210,310…通信I/F
120,220,320…プロセッサ
121…メトリクス取得部
122…プライオリティ取得部
123,322…更新条件判定部
124,323…更新要求部
125…誘導先評価部
126…評価提供要求取得部
127,325…評価提供部
130,230,330…メモリ
131,232…メトリクス記憶部
132,332…設定データ記憶部
133,331…評価データ記憶部
221…監視データ取得部
222…メトリクス生成部
223…メトリクス提供要求取得部
224…メトリクス提供部
231…監視データ記憶部
321…評価取得部
324…ポリシー決定部
326…ウェイト取得部
327…ポリシー通知部
333…ポリシー記憶部
334…ウェイト記憶部