JP7297550B2 - ポリシー決定装置、ポリシー決定方法およびプログラム - Google Patents

ポリシー決定装置、ポリシー決定方法およびプログラム Download PDF

Info

Publication number
JP7297550B2
JP7297550B2 JP2019115685A JP2019115685A JP7297550B2 JP 7297550 B2 JP7297550 B2 JP 7297550B2 JP 2019115685 A JP2019115685 A JP 2019115685A JP 2019115685 A JP2019115685 A JP 2019115685A JP 7297550 B2 JP7297550 B2 JP 7297550B2
Authority
JP
Japan
Prior art keywords
policy
guidance
data
destination
candidates
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.)
Active
Application number
JP2019115685A
Other languages
English (en)
Other versions
JP2021002764A (ja
Inventor
麻穂子 田村
進太郎 小野
佳子 木佐
貴行 亀井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2019115685A priority Critical patent/JP7297550B2/ja
Priority to EP20826374.9A priority patent/EP3989496A4/en
Priority to CN202080045529.9A priority patent/CN114008595A/zh
Priority to PCT/JP2020/024015 priority patent/WO2020256074A1/ja
Publication of JP2021002764A publication Critical patent/JP2021002764A/ja
Priority to US17/555,232 priority patent/US20220116328A1/en
Application granted granted Critical
Publication of JP7297550B2 publication Critical patent/JP7297550B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/535Tracking the activity of the user
    • 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/55Push-based network services
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Description

この発明の一態様は、ネットワーク上の負荷分散に関する。
近年、IoT(Internet of Things)や移動体通信技術の発展に伴い、インターネットをはじめとするネットワークを通じて伝送されるデータの量は、飛躍的に増加している。そのため、ネットワークにおける負荷分散やトラヒック制御技術のさらなる発展が求められている。
ネットワークシステムにおいてHTTP(Hypertext Transfer Protocol)リクエストを単一のサーバ、例えばCDN(Content Delivery Network)におけるオリジンサーバ、に集中させずに、当該サーバまたはその代わりとなるサーバへ分散させることで、当該システムの拡張性および可用性を高めることができる。かかる負荷分散技術は、例えば、ラウンドロビン、重み付きラウンドロビン、などの予め定められたポリシーに従ってリクエストを各サーバに誘導する方式(静的分散方式)と、各サーバの状態、例えば、コネクション数、クライアント数、データ通信量、応答時間、サーバ負荷、などをリアルタイムに監視しつつ最適なサーバにリクエストを誘導する方式(動的分散方式)とに大別される。
また近年では、負荷分散技術は、例えば、エッジコンピューティング技術、CDN技術、などに応用されている。非特許文献1では、4K/8K,AR/VRに代表される高精細・高臨場の次世代映像コンテンツを経済的かつ高品質に配信するために、CDN技術が検討されていることが記載されている。
安川 正祥ほか、「将来ネットワークアーキテクチャの具現化に向けた取り組み」、NTT技術ジャーナル2018年3月、23~30ページ
前述の静的分散方式は、負荷分散をシンプルなポリシーによって実現し易い反面、誘導先の候補の状態に変化が生じた場合にその効率が低下するおそれがある。他方、前述の動的分散方式は、誘導先の状態が変化しても負荷分散の効率が低下しにくい反面、ロードバランサが誘導先の候補の状態をリアルタイムに監視して誘導先を選択する必要がある。
本発明は、リクエストの誘導を制御するために使用するポリシーを動的に決定することを目的とする。
本発明の第1の態様に係るポリシー決定装置は、監視データ取得部と、メトリクス生成部と、誘導先評価部と、ポリシー決定部と、ポリシー通知部とを含む。監視データ取得部は、外部装置から受信した、ネットワーク内の設備の状態に関わる監視データを取得する。メトリクス生成部は、誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを監視データに基づいて生成する。誘導先評価部は、複数の候補に関連付けられる複数種類のメトリクスの時系列データと複数種類のメトリクスに割り当てられたプライオリティとに基づいて複数の候補を評価し、誘導先評価データを生成する。ポリシー決定部は、誘導先評価データの生成後に、誘導制御装置が誘導先を制御するために使用するポリシーを決定する。ポリシー通知部は、ポリシーを誘導制御装置に通知する。これにより、ポリシーを動的に決定することができる。
第1の態様に係るポリシー決定装置は、ポリシーを決定するためのウェイトを設定する権限を認可された第1のカスタマー装置に誘導先評価データを提供する評価提供部と、第1のカスタマー装置から受信されたウェイトを取得するウェイト取得部とをさらに含んでもよく、ポリシー決定部は、誘導制御装置がリクエストを複数の候補に、取得されたウェイトに基づく割合で誘導するようにポリシーを決定してもよい。このポリシー決定装置(以降、本発明の第2の態様に係るポリシー決定装置と称する)によれば、第1のカスタマー装置のユーザ(カスタマー)の嗜好に合致したポリシーを決定することができる。
第2の態様に係るポリシー決定装置は、予め定められたポリシー更新条件が満足するか否かを判定する更新条件判定部と、ポリシー更新条件が満足すると判定された場合に、ポリシーの更新を要求する更新要求部とをさらに含んでもよく、ポリシー決定部は、ポリシーの更新の要求に応じて、評価提供部に最新の誘導先評価データを第1のカスタマー装置に提供するよう依頼してもよい。このポリシー決定装置(以降、本発明の第3の態様に係るポリシー決定装置と称する)によれば、最新の評価データをカスタマーに提供してウェイトの設定を促すことができる。
第2の態様または第3の態様に係るポリシー決定装置において、第1のカスタマー装置から受信されるウェイトは、第1の時間帯に複数の候補に割り当てる第1のウェイトと、第1の時間帯とは異なる第2の時間帯に複数の候補に割り当てる第2のウェイトとを含んでもよく、ポリシー決定部は、誘導制御装置が第1の時間帯に亘ってリクエストを複数の候補に第1のウェイトに基づく示す割合で誘導するようにポリシーを決定し、誘導制御装置が第2の時間帯に亘ってリクエストを複数の候補に第2のウェイトに基づく割合で誘導するようにポリシーを決定してもよい。このポリシー決定装置(以降、本発明の第4の態様に係るポリシー決定装置と称する)によれば、カスタマーの時間帯別の嗜好に合致したポリシーを決定することができる。
第2の態様乃至第4の態様に係るポリシー決定装置において、誘導先評価データは、複数の候補のそれぞれの評価値を含んでもよく、ポリシー決定部は、第1のカスタマー装置からウェイトが受信されない場合に、誘導制御装置がリクエストを複数の候補に評価値に基づく割合で誘導するようにポリシーを決定してもよい。このポリシー決定装置(以降、本発明の第5の態様に係るポリシー決定装置と称する)によれば、カスタマーによるウェイトの設定が滞った場合にも、評価値に基づいてポリシーを動的に決定することができる。
第1の態様乃至第5の態様に係るポリシー決定装置は、プライオリティを設定する権限を認可された第2のカスタマー装置から受信されたプライオリティを取得するプライオリティ取得部をさらに含んでもよく、誘導先評価部は、複数の候補に関連付けられる複数種類のメトリクスの時系列データと取得されたプライオリティとに基づいて複数の候補を評価し、誘導先評価データを生成してもよい。このポリシー決定装置(以降、本発明の第6の態様に係るポリシー決定装置と称する)によれば、第2のカスタマー装置のユーザ(カスタマー)は、自らの嗜好に合致したプライオリティを設定することで各メトリクスの値が評価に与える影響を自由に調整できる。
第6の態様に係るポリシー決定装置において、誘導先評価データは、複数の候補のそれぞれの評価値を含んでもよく、ポリシー決定部は、誘導制御装置がリクエストを複数の候補に評価値に基づく割合で誘導するようにポリシーを決定してもよい。このポリシー決定装置(以降、本発明の第7の態様に係るポリシー決定装置と称する)によれば、カスタマーの嗜好に合致した基準に従って生成された誘導先評価データに基づいてポリシーを動的に決定することができる。
第1の態様乃至第7の態様に係るポリシー決定装置において、複数の候補に含まれる第1の候補に関連付けられる複数種類のメトリクスは、第1の候補を誘導先として選択した場合のリクエストの伝送コストに関わる第1のメトリクスと、第1の候補を誘導先として選択した場合のリクエストの伝送品質に関わる第2のメトリクスとを含んでもよい。このポリシー決定装置(以降、本発明の第8の態様に係るポリシー決定装置と称する)によれば、伝送コストおよび伝送品質を含む複数の観点で誘導先の候補を評価することができる。
第1の態様乃至第8の態様に係るポリシー決定装置において、誘導先評価部は、複数の候補の各々に対応する複数種類のメトリクスの時系列データに基づく値をプライオリティに従って重み付き加算することで当該候補の評価値を算出してもよい。これにより、各メトリクスの値が評価に与える影響を当該メトリクスに割り当てられたプライオリティを介して調整することができる。
本発明の第9の態様に係るポリシー決定方法は、外部装置から受信した、ネットワーク内の設備の状態に関わる監視データを取得することと、誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを監視データに基づいて生成することと、複数の候補に関連付けられる複数種類のメトリクスの時系列データと複数種類のメトリクスに割り当てられたプライオリティとに基づいて複数の候補を評価し、誘導先評価データを生成することと、誘導先評価データの生成後に、誘導制御装置が誘導先を制御するために使用するポリシーを決定することと、ポリシーを誘導制御装置に通知することとを含む。これにより、ポリシーを動的に決定することができる。
本発明の第10の態様に係るポリシー決定プログラムは、コンピュータを、外部装置から受信した、ネットワーク内の設備の状態に関わる監視データを取得する手段、誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを監視データに基づいて生成する手段、複数の候補に関連付けられる複数種類のメトリクスの時系列データと複数種類のメトリクスに割り当てられたプライオリティとに基づいて複数の候補を評価し、誘導先評価データを生成する手段、誘導先評価データの生成後に、誘導制御装置が誘導先を制御するために使用するポリシーを決定する手段、ポリシーを誘導制御装置に通知する手段として機能させる。これにより、ポリシーを動的に決定することができる。
本発明によれば、リクエストの誘導を制御するために使用するポリシーを動的に決定することができる。
図1は、実施形態に係るポリシー決定装置を含む負荷分散システムを例示する図である。 図2は、実施形態に係るポリシー決定装置を含む負荷分散システムを例示する図である。 図3は、実施形態に係るポリシー決定装置を含む負荷分散システムを例示する図である。 図4は、実施形態に係るポリシー決定装置を含む負荷分散システムを例示する図である。 図5は、実施形態に係るポリシー決定装置を例示するブロック図である。 図6は、図5に示した監視データ記憶部の記憶内容の一例を示す図である。 図7は、図5に示したメトリクス記憶部の記憶内容の一例を示す図である。 図8は、図5に示した設定データ記憶部の記憶内容の一例を示す図である。 図9は、図5に示した誘導先評価部の動作の説明図である。 図10は、図5に示したポリシー決定部の動作の説明図である。 図11は、図5のポリシー決定装置の、メトリクスデータに関する動作例を示すフローチャートである。 図12は、図5のポリシー決定装置の、誘導先評価データに関する動作例を示すフローチャートである。 図13は、図5のポリシー決定装置の、ポリシーに関する動作例を示すフローチャートである。 図14は、実施形態に係るポリシー決定装置による時間帯別ポリシーの決定の一例を示す図である。 図15は、実施形態に係るポリシー決定装置による多段制御の一例を示す図である。
以下、図面を参照してこの発明に係わる実施形態を説明する。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。
[実施形態]
(1)構成
(1-1)負荷分散システムの構成
図1は、実施形態に係るポリシー決定装置10を備えた負荷分散システムの全体構成および処理フローの第1の例を示す図である。
実施形態に係るポリシー決定装置10を含む誘導制御システム1は、例えば、Web上またはクラウド上に設けられ、データ伝送ネットワークを介して、プローブサーバ41,・・・、監視システム42,・・・、エンドユーザ50A,50B,・・・(以下、まとめて「エンドユーザ50」ともいう)、エッジサーバ70A,70B,70C,・・・(以下、まとめて「エッジサーバ70」ともいう)、CDN 100A,100B,・・・(以下、まとめて「CDN 100」ともいう)、ならびにオリジンサーバ60と通信可能に接続されている。
データ伝送ネットワークは、例えば、中継網と、この中継網に対しアクセスするための複数のアクセス網とを含んで構成される。中継網としては、一般的なインターネットのような公衆網や、限られた機器などからのみアクセスできるよう制御された閉域網が用いられる。アクセス網としては、例えば、無線LAN(Local Area Network)、携帯電話網、有線電話網、FTTH(Fiber To The Home)、CATV(Cable Television)網が用いられる。以下では簡単のためデータ伝送ネットワークをインターネットとして説明する。
プローブサーバ41および/または監視システム42は、例えば、サーバコンピュータまたはパーソナルコンピュータにより構成される。プローブサーバ41および/または監視システム42は、ネットワーク内の設備、例えばオリジンサーバ60、エッジサーバ70および/またはCDN 100、などの状態、例えば、動作ログやセキュリティログなどのログ情報、サーバやメモリの使用状況などの負荷情報を継続的に収集/監視する。プローブサーバ41および/または監視システム42は、監視データをポリシー決定装置10に送信する。任意の数のプローブサーバ41および/または監視システム42がネットワークを介してポリシー決定装置10に接続可能である。
エンドユーザ50は、例えば、ユーザが所持するパーソナルコンピュータやスマートフォンなどの情報処理端末、ネットワークに接続して情報を送受信可能な車両、または種々のセンサから計測結果を収集して送信可能なIoTデバイスである。従って、エンドユーザ50からのアクセスリクエストには、動画をはじめとするコンテンツやソフトウェア更新プログラムなど、データのダウンロードを要求するものと、IoTデータ等のデータのアップロードを要求するものとが含まれる。なお、任意の数のエンドユーザ50がネットワークを介して誘導制御システム1中の誘導制御装置30に接続可能である。
エッジサーバ70は、データをキャッシュ可能な任意の規模のサーバコンピュータにより構成される。エッジネットワークとしてのCDN 100Aは、例えば、第1のCDN事業者によって運営される。
CDN 100B,・・・は、例えば、第1のCDN事業者とは異なるCDN事業者によって運営される。図示されたCDN 100は、誘導制御システム1に対して内部のエッジサーバの情報を明らかにしていないが、一部のCDN 100は、誘導制御システム1に対して内部のエッジサーバの情報を明らかにしてもよい。後者の場合に、誘導制御システム1は、CDN 100を誘導先の候補として扱ってもよいし、このCDN 100内部のエッジサーバを誘導先の候補として扱ってもよい。
以下では、CDN 100A,CDN 100B,・・・ならびに誘導制御システム1からアクセス可能なエッジサーバ70の各々を、誘導先の候補として、単に「エッジ」とも呼び、これらをまとめてエッジ群と呼ぶこともある。エッジ群には、図示していない、サービス提供事業者が提供するクラウドコンピューティングサービスや、内部の情報を部分的に明らかにしているCDN等も含めることができる。任意の数のエッジが、ネットワークを介してエンドユーザ50に接続可能である。
オリジンサーバ60は、例えば、Webサーバやファイルサーバなど、コンテンツ配信事業者が運営管理する、エンドユーザ50に配信(エンドユーザ50がデータをダウンロード)するためのコンテンツを保持するデータサーバ、または、IoTデータを収集し利活用する事業者が運営管理する、エンドユーザ50からデータを収集(エンドユーザ50がデータをアップロード)するデータサーバである。図では1つのオリジンサーバ60のみを示しているが、任意の数のオリジンサーバ60が存在し得る。
誘導制御システム1は、エンドユーザ50からのアクセスリクエストに対して、CDN 100またはエッジサーバ70を含むエッジ群から適切な誘導先を選択し、誘導する。より具体的には、誘導制御システム1に含まれるポリシー決定装置10が、リクエストを誘導するための誘導先を制御するために使用されるポリシーを決定し、誘導制御システム1に含まれる誘導制御装置30がこのポリシーに従ってリクエストを誘導する。ここで、ポリシーは、リクエストの誘導先の複数の候補と、その候補それぞれにリクエストを誘導する割合とを示し得る。誘導制御装置30は、この割合を例えば重み付きラウンドロビンにおけるウェイトとして用いて、リクエストを振り分けることができる。
誘導制御システム1は、ポリシー決定装置10と、誘導制御装置30A,30B,・・・(以下、まとめて「誘導制御装置30」という)とを備える。誘導制御システム1は、任意の数の誘導制御装置30を備えることができる。
ポリシー決定装置10は、例えばサーバコンピュータまたはパーソナルコンピュータであって、プローブサーバ41および/または監視システム42から監視データを収集し、監視データから導出または算出される複数のメトリクスに基づいて、ポリシーを決定(生成/更新)する。
ここで、メトリクスとは、リクエストの誘導先として選択可能な候補を評価するための材料となる指標であって、当該候補の状態を示す。メトリクスは、監視データに含まれる値そのものであってもよいし、かかる値の加工値または統計値であってもよい。
ポリシー決定装置10はまた、オリジンサーバ60を用いたサービスの提供主体であるカスタマーからの要求に基づいてポリシーを決定することもできる。例えば、ポリシー決定装置10は、誘導先の候補の各メトリクスをカスタマー装置により設定されたプライオリティに応じた基準で考慮することで当該候補を評価し、ポリシーを決定することもできる。或いは、ポリシー決定装置10は、カスタマー装置により設定されたウェイトに基づく割合でそれぞれの候補にリクエストが誘導されるようにポリシーを決定することもできる。
ここで、カスタマー装置は、オリジンサーバ60への宛先データを含むリクエストに適用されるポリシーを決定するためのウェイトおよび/またはこのポリシーを決定するための評価に関わるメトリクスに割り当てられるプライオリティを設定する権限を認可された装置を指す。例えば、オリジンサーバ60のオペレータなどの操作に従って、社内ネットワークに接続された端末、または公衆網に接続された端末などが、かかる設定を行うためのWebサイト(ポータル)にアクセスする。これらの端末は、パスワード認証などの任意の認証を通過することで上記権限を認可され、当該権限が認可されている間はカスタマー装置として機能する。カスタマー装置は、複数の誘導先の候補の評価データ(例えばランキングデータ)を閲覧したり、ウェイトおよび/またはプライオリティを設定したりすることができる。
このように、ポリシー決定装置10は、誘導制御システム1のブレインとして、誘導制御装置30がどのように誘導先を選択すべきかを示すポリシーを指示する。
一方、誘導制御装置30は、誘導制御システム1のボディとして、ブレインたるポリシー決定装置10によって決定されたポリシーに基づく誘導制御処理を実行する。誘導制御装置30は、例えばL4ロードバランサ(DNSロードバランサと呼ぶこともできる)に相当し得る。誘導制御装置30A,30B,・・・はそれぞれ、第1のゾーン#1,第2のゾーン#2,・・・に配備される。誘導制御装置30毎にゾーンが定義されており、誘導制御装置30はその対応するゾーンに属するPoP(Point of Presence)へリクエストを誘導することができる。ここで、PoPは、外部ネットワークとの接続点を持つ、誘導先の拠点を意味する。
(1-2)ポリシー決定装置
図5は、実施形態に係るポリシー決定装置10の一例を示すブロック図である。なお、この「(1-2)ポリシー決定装置」、ならびに後述する「(2-4)ポリシー決定装置の動作」、および「(2-5)時間帯別ポリシーの決定」の説明において、誘導制御装置20および誘導制御装置30を基本的に区別せず、誘導制御装置20と称することとする。
実施形態に係るポリシー決定装置10は、図5に例示されるように、通信I/F(インタフェース)110と、プロセッサ120と、メモリ140とを含む。
通信I/F 110は、例えば1つ以上の有線または無線の通信インタフェースユニットを含んでおり、ネットワークで使用される通信プロトコルに従い、プローブサーバ41および/または監視システム42や図示しないその他の外部機器、例えばカスタマー装置、との間で各種情報の送受信を可能にする。また、通信I/F 110は、誘導制御装置20との間でデータ通信を行う際にも使用される。通信I/F 110は例えば光通信モジュールであり得る。
プロセッサ120は、典型的にはCPU(Central Processing Unit)および/またはGPU(Graphics Processing Unit)であるが、マイコン、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、またはその他の汎用または専用のプロセッサなどであってもよい。プロセッサ120は、例えば、入出力制御、通信制御、ポリシーの決定、などに関わる処理を行う。
メモリ140は、プロセッサ120が各処理を実現するために当該プロセッサ120によって実行されるプログラムおよび当該プロセッサ120によって使用されるデータ、例えば監視データ、メトリクスデータ、設定データ、誘導先評価データ、ウェイト、ポリシー、などを一時的に格納する。メモリは、かかるプログラム/データが展開されるワークエリアを有するRAM(Random Access Memory)を含み得る。
プロセッサ120は、メモリ140に保存されたプログラムを実行することで、図5の監視データ取得部121、メトリクス生成部122、プライオリティ取得部123、更新条件判定部124、更新要求部125、誘導先評価部126、ポリシー決定部127、評価提供部128、ウェイト取得部129、およびポリシー通知部130として機能し得る。また、メモリ140は、図5の監視データ記憶部141、メトリクス記憶部142、設定データ記憶部143、ウェイト記憶部144、評価データ記憶部145、およびポリシー記憶部146を含み得る。
通信I/F 110は、外部装置から種々のデータを受信してプロセッサ120へ送ったり、逆にプロセッサ120から受け取った種々のデータを外部装置へ送信したりする。
例えば、通信I/F 110は、プローブサーバ41または監視システム42からネットワーク経由で、ネットワーク内の設備の状態に関わる監視データを受信し、これを監視データ取得部121へ送る。ここで、監視データは、例えば、ポリシー決定装置10の下位の誘導制御装置20がエンドユーザ50からのオリジンサーバ60への宛先データを含むリクエストの誘導先として選択可能な候補、例えばエッジサーバ70および/またはCDN 100、の状態を示すデータを含み得る。ここで、誘導先の候補の状態は、当該候補の負荷、応答時間(例えば、RTT(Round-Trip Time))、コスト(通信料)、可用性、コネクション数、クライアント数、データ通信量、応答時間、などの一部または全部を含んでもよいし、含まなくてもよい。
また、通信I/F 110は、ポリシー通知部130からポリシーおよびその通知先となる、ポリシー決定装置10の下位の誘導制御装置20を識別するデータ(例えばアドレス)を受け取り、当該誘導制御装置20へポリシーをネットワーク経由で送信する。このポリシーは、通知先となる誘導制御装置20によって、エンドユーザ50からのオリジンサーバ60への宛先データを含むリクエストの誘導先を制御するために用いられる。
また、通信I/F 110は、評価提供部128から誘導先評価データを受け取り、カスタマー装置またはその他の外部装置へこの誘導先評価データをネットワーク経由で送信する。さらに、通信I/F 110は、カスタマー装置またはその他の外部装置からネットワーク経由で、プライオリティを受信し、これをプライオリティ取得部123へ送る。通信I/F 110は、カスタマー装置またはその他の外部装置からネットワーク経由で、ウェイトを受信し、これをウェイト取得部129へ送る。
監視データ取得部121は、通信I/F 110によって受信された監視データを取得し、これをメモリ140中の監視データ記憶部141に書き込む。
監視データ記憶部141は、監視データ取得部121によって取得された監視データを保存する。監視データ記憶部141に保存された監視データは、例えばメトリクス生成部122により読み出され得る。
監視データ記憶部141は、各エッジに対応付けて監視データを記憶する。図6は、この監視データ記憶部141の記憶内容の一例を示す図であり、監視データ記憶部141は、各オリジンサーバ60について、同様の情報を記憶している。ここでは、テーブル形式で示すが、これに限定されないことは勿論である。監視データ記憶部141は、エッジ毎に、例えば、アベイラビリティやRTT(Rand Trip Time)などの品質、コスト、などの定義された各メトリクスについての情報を記憶する。コストは、データの送受信量などに応じたトランジット費、エッジサーバを稼動するための電力料金、などの様々な費用に基づいて求められた値である。監視データは、スループット、リクエスト数、などその他様々なものが考えられ、プローブサーバ41および/または監視システム42で取得可能な情報であれば、どのようなものであってもよく、本誘導制御システム1を運用管理する会社もしくは団体のサーバ、あるいはコンテンツ配信事業者やIoTデータを収集する事業者が運営管理するオリジンサーバ60またはカスタマー装置によって任意に設定可能である。
メトリクス生成部122は、監視データ記憶部141に保存された監視データを読み出し、これに基づいて誘導先の候補の各々に関連付けられる複数種類のメトリクスの時系列データ(メトリクスデータ)を生成する。メトリクス生成部122は、生成したメトリクスデータをメトリクス記憶部142に保存する。
前述のように、メトリクスは、上記リクエストの誘導先として選択可能な候補の状態を示す指標である。メトリクスデータは、タイムスタンプとメトリクスの値とで表現される。所与の時点におけるメトリクスは、監視データに含まれる値そのものであってもよいし、かかる値の加工値または統計値であってもよい。メトリクス生成部122は、例えば1秒などの単位時間毎にメトリクスを生成し得る。
メトリクス生成部122は、所与の時点における所与の種類のメトリクスの値を例えば0から1までのスコアとして正規化してもよい。メトリクス生成部122は、例えばシグモイド関数を利用してメトリクスの値を正規化し得る。正規化されたメトリクスの値は、(メトリクス)スコアと呼ぶことができる。
誘導先の所与の候補に関連付けられるメトリクスは、例えば、当該候補を誘導先として選択した場合のリクエストの伝送コストに関わる第1のメトリクス、当該候補を誘導先として選択した場合のリクエストの伝送品質に関わる第2のメトリクス、などを含み得る。第1のメトリクスは、例えば、候補を選択したときに生じる各種コスト、例えば候補としてのCDNの使用料、候補としてのエッジサーバの電力使用料、などであり得る。また、第2のメトリクスは、例えば、エッジの可用性、RTT、パケット損失率、などであり得る。
メトリクス記憶部142は、誘導先の候補に、当該候補についての所与の時点における複数種類のメトリクスの値および/またはそのスコアを対応付けてメトリクスデータとして保存し得る。図7に、誘導先の候補(エッジ)毎に、メトリクスとしてのRTTおよびコストと、これらのスコアとを例示する。ここでは、メトリクスデータをテーブル形式で示すが、これに限定されないことは勿論である。メトリクス記憶部142は、エッジ毎に、各メトリクスについて、その値とスコアとを記憶し得る。メトリクス記憶部142に保存されたメトリクスデータは、例えば、更新条件判定部124、誘導先評価部126、および/またはポリシー決定部127によって読み出され得る。
設定データ記憶部143は、種々の設定データを保存する。ここで、設定データは、例えば、ポリシーの決定に関わるパラメータ、ポリシー決定装置10の下位の誘導制御装置20に関するデータ、当該誘導制御装置20が選択可能な誘導先の候補に関するデータ、などを含み得る。
ポリシーの決定に関わるパラメータは、例えば、誘導先の候補をメトリクスを重み付き和によりスコアリングするために用いられる、メトリクス毎に割り当てられ得るプライオリティ、ポリシーおよび/または後述されるランキングに含めることのできる誘導先の候補の数を指定するパラメータ(指定エッジ数)、種々の閾値、などを含み得る。
設定データ記憶部143は、各種パラメータを記憶する。これらのパラメータは、本誘導制御システム1を運用管理する会社もしくは団体のサーバ、あるいはコンテンツ配信事業者やIoTデータを収集する事業者が運営管理するオリジンサーバ60またはカスタマー装置から指定した標準値を含む。さらに、パラメータは、後述される誘導先評価データを必要とする任意の外部機器から、APIなどによって設定される任意値を含むことができる。任意値は、カスタマー装置または他の外部機器から通信I/F 110を介して取得したプライオリティ取得部123によって、設定データ記憶部143に保存され得る。図8は、設定データ記憶部143の記憶内容の一例を示す図であり、設定データ記憶部143は、各オリジンサーバ60について、同様の情報を記憶している。設定データ記憶部143は、プライオリティと指定エッジ数kとを記憶する。この例では、プライオリティとして、RTTとコストの2つのメトリクスに対して設定した例であるが、プライオリティを設定するメトリクスはこれに限定されず、またメトリクスの数も2つに限るものではない。
プライオリティ取得部123は、通信I/F 110によって受信されたプライオリティを取得し、これをメモリ140中の設定データ記憶部143に書き込む。例えば、プライオリティ取得部123は、受信されたプライオリティを、図8に示すプライオリティの任意値として登録し得る。なお、プライオリティ取得部123は、例えば指定エッジ数などのプライオリティ以外のパラメータを取得してもよい。この場合に、プライオリティ取得部はパラメータ取得部と読み替えることもできる。誘導先評価部126は、各パラメータについて、任意値が登録されていない場合には標準値を用いて誘導先の候補を評価し、任意値が登録されている場合には任意値を用いて誘導先の候補を評価してもよい。
更新条件判定部124は、予め定められたポリシー更新条件が満足するか否かを判定する。そして、更新条件判定部124は、ポリシー更新条件が満足したと判定した場合に、更新要求部125にポリシー更新条件が満足したことを通知する。なお、ポリシー決定装置10の下位に複数の誘導制御装置20が存在する場合には、更新条件判定部124は誘導制御装置20毎に当該誘導制御装置20の使用するポリシーについてポリシー更新条件が満足するか否かを判定してもよい。
例えば、ポリシー更新条件は、メトリクス記憶部142に保存されたメトリクスおよび/またはそのスコアが変化していること、または閾値を超える変化をしていること、であってもよい。また、ポリシー更新条件は、前回のポリシーの更新(または決定)からの経過時間が閾値を超えていること、であってもよい。さらに、ポリシー更新条件は、ポリシー決定装置10の下位の誘導制御装置20からポリシー更新要求が受信されメモリ140に保存されていること、であってもよい。
更新要求部125は、更新条件判定部124からポリシー更新条件が満足したことを通知されると、ポリシー決定部127にポリシーの更新を要求する。
誘導先評価部126は、メトリクス記憶部142からメトリクスデータを読み出し、設定データ記憶部143からプライオリティを含むパラメータを読み出す。誘導先評価部126は、メトリクスデータとパラメータとに基づいて、誘導先の候補を評価し、誘導先評価データを生成する。誘導先評価部126は、誘導先評価データを評価データ記憶部145に保存する。
誘導先評価部126は、誘導先の候補を定期的に評価してもよいし、ポリシー決定部127からの依頼をトリガとして誘導先の候補を評価してもよい。
誘導先評価部126は、誘導先の複数の候補に関連付けられる複数種類のメトリクスの時系列データと、これら複数種類のメトリクスに割り当てられたプライオリティとに基づいてこれら複数の候補を評価することができる。例えば、誘導先評価部126は、誘導先の候補の複数種類のメトリクス(のスコア)をメトリクス毎に割り当てられたプライオリティに従って重み付き加算することで、当該候補の評価値(エッジスコア)を決定してもよい。図9にかかるスコアリングの一例を示す。図9において、「エッジ1」,「エッジ2」,・・・,「エッジ7」は誘導先の候補に相当し、「RTTスコア」および「コストスコア」に割り当てられたプライオリティはそれぞれ「0.8」および「0.2」である。なお、プライオリティは、ポリシー決定装置10、誘導制御装置20、および/またはオリジンサーバ60、などの管理者の嗜好により設定可能としてもよい。図9の例では、「コスト」よりも「RTT」が重視されているが、逆に「コスト」を重視してもよいし、「コスト」および「RTT」以外のメトリクス(のスコア)が重視されてもよい。
なお、誘導先評価データは、例えば、誘導先の複数の候補とその評価値(エッジスコア)とを含む。さらに、誘導先評価データは、評価値の昇順または降順に誘導先の複数の候補をランク付けしたランキングデータであってもよい。
誘導先評価部126は、誘導先評価データとしてランキングデータを生成する場合に、すべてのエッジをランキングに含める必要はない。具体的には、誘導先評価部126は、設定データ記憶部143に記憶されたパラメータの1つである指定エッジ数kに従って、スコアが第1位から第k位までのエッジをランキングに含めてもよいし、可用状態でない候補を除外してもよい。
評価データ記憶部145は、誘導先評価部126によって生成された誘導先評価データを保存する。評価データ記憶部145に保存された誘導先評価データは、プロセッサ120の種々の機能部、例えば、ポリシー決定部127、評価提供部128、などにより読み出される。
ポリシー決定部127は、例えば、ポリシー決定装置10の初期設定時、当該ポリシー決定装置10の下位の誘導制御装置20の追加設定時、更新要求部125によってポリシーの更新を要求された時、などに、メモリ140に保存された種々のデータに基づいてポリシーを決定し、ポリシー記憶部146に書き込む。ポリシー決定部127は、ポリシーを決定するために、メトリクス記憶部142に保存されたメトリクス、設定データ記憶部143に保存された設定データ、ウェイト記憶部144に保存されたウェイト、および/または評価データ記憶部145に保存された誘導先評価データを参照し得る。なお、ポリシー決定部127は、ポリシーを決定する前に、誘導先評価部126に最新の誘導先評価データを生成するように依頼してもよい。
ポリシー決定部127は、例えば、ウェイト記憶部144に保存されたウェイトに基づいてポリシーを決定してもよい。この場合に、カスタマーにウェイトの入力を促すために、ポリシー決定部127は、最新の誘導先評価データをカスタマー装置に提供するよう評価提供部128に依頼してもよい。他方、ポリシー決定部127は、ウェイト記憶部144にウェイトが保存されていない場合に、またはデフォルトとして、誘導先評価データに基づいてポリシーを自律決定してもよい。
ポリシー決定部127は、ポリシーを自律決定する場合に、誘導先の候補を当該候補のスコア、および/または当該候補の可用性もしくは他のメトリクス、などに基づいて、ポリシーに含める誘導先の候補を絞り込んでもよい。例えば、ポリシー決定部127は、誘導先評価データにおいて(エッジ)スコアの順位が予め定められた順位、例えば指定エッジ数に対応する順位、よりも下である候補を除外してもよいし、スコアが予め定められた閾値未満である候補を除外してもよいし、可用状態でない候補を除外してもよい。
ポリシー決定部127は、誘導先評価データに含まれる誘導先の候補のスコア、またはウェイト記憶部144に保存されたウェイトに基づいて、これから決定するポリシーを使用する誘導制御装置20が当該候補にリクエストを誘導する割合を示すウェイトを決定する。例えば、ポリシー決定部127は、ウェイト記憶部144に保存されたウェイトをそのままポリシーに記載してもよいし、誘導先の全候補に割り当てられたウェイトの総和のうち各候補に割り当てられたウェイトが占める割合を当該候補のウェイトとして決定してもよい。或いは、図10に示されるように、ポリシー決定部127は、ポリシーに含める誘導先の全候補のスコアの総和のうち各候補のスコアが占める割合を当該候補のウェイトとして決定し得る。なお、これらはウェイトの決定法の例に過ぎず、例えばウェイトはスコアの順位別に予め定められていてもよい。ウェイトは、例えば重み付きラウンドロビン方式の負荷分散技術におけるウェイトとして用いることができる。すなわち、図10のポリシーを使用する誘導制御装置20は、リクエストの55%をエッジ1に誘導し、残りの45%をエッジ7に誘導することになる。
ポリシー記憶部146は、ポリシー決定部127によって決定されたポリシーを保存する。ポリシー記憶部146に保存されたポリシーは、例えばポリシー通知部130により読み出され得る。
評価提供部128は、ポリシー決定部127からの依頼に応じて、通信I/F 110を介して誘導先評価データをカスタマー装置または他の外部装置に提供する。なお、ポリシー決定部127が、カスタマー装置によって設定されたウェイトに基づくポリシー決定を行わない場合には、評価提供部128は不要となり得る。
ウェイト取得部129は、通信I/F 110によってカスタマー装置から受信されたウェイトを取得し、これをメモリ140中のウェイト記憶部144に書き込む。なお、ポリシー決定部127が、カスタマー装置によって設定されたウェイトに基づくポリシー決定を行わない場合には、ウェイト取得部129は不要となり得る。ウェイトは、例えば、誘導先評価データを閲覧したカスタマーによって誘導先の候補の少なくとも一部に割り当てられる。なお、ウェイトはカスタマーが任意に設定可能であるので、誘導先評価データにおける候補の評価値と相関しないこともあり得る。
ウェイト記憶部144は、ウェイト取得部129によって取得されたウェイトを保存する。ウェイト記憶部144に保存されたウェイトは、例えばポリシー決定部127により読み出され得る。なお、ポリシー決定部127が、カスタマー装置によって設定されたウェイトに基づくポリシー決定を行わない場合には、ウェイト記憶部144は不要となり得る。
ポリシー通知部130は、ポリシー記憶部146に新たなポリシー(更新されたポリシーを含む)が保存されると、当該ポリシーを読み出し、対応する誘導制御装置20に通知する。具体的には、ポリシー通知部130は、ポリシーおよびその通知先となる誘導制御装置20を識別するデータを通信I/F 110へ送り、通信I/F 110はこの誘導制御装置20へネットワーク経由でポリシーを送信する。
(2)動作
次に、以上のように構成されたポリシー決定装置10および誘導制御装置30を含む負荷分散システムによる情報処理動作について説明する。
(2-1)ポリシーの決定(S10~S12)
はじめに、図1を参照して、ポリシーの決定処理について説明する。
実施形態では、まずステップS10において、ポリシー決定装置10は、継続的にプローブサーバ41および/または監視システム42から監視データを収集することによって、ネットワーク内の設備の使用状況や性能の監視を行う。あるいは、ポリシー決定装置10は、各CDN 100または各エッジサーバ70の負荷を表す情報を直接収集してもよいし、誘導制御装置30を介して取得するようにしてもよい。
他方、ポリシー決定装置10は、誘導制御装置30からのポリシー更新(または生成)要求を受け付ける(ステップS11)。この要求は、例えば、誘導制御装置30から定期的に出力されるものであってもよいし、ゾーンに関連するエッジの構成変更をトリガとして誘導制御装置30から出力されるものであってもよい。また、ポリシー更新要求とともに、誘導制御装置30が、各CDN 100、各エッジサーバ70またはオリジンサーバ60に関して取得した情報をポリシー決定装置10に送ることもできる。
次いでステップS12において、ポリシー決定装置10は、過去に実行されたステップS10において収集した監視データに基づいてポリシーを決定したのち、最新のポリシーを誘導制御装置30に返す処理を行う。ポリシー決定装置10は、収集した情報から複数のメトリクスを導出または算出し、算出されたメトリクスに基づいてポリシーを生成または更新する。
例えば、ポリシー決定装置10が収集する監視データには、動的なデータとして、動作ログやネットワーク状況の監視結果などを含めることができ、静的なデータとして、カスタマーから設定された選好基準や契約内容、各CDNの契約金などを含めることができる。例えば、ポリシー決定装置10は、例えば、オリジンサーバ60が保持するデータの配信スケジュールを取得し、取得した配信スケジュールに基づいて、特定のデータが配信される時間帯については特定のエッジを優先的に選択することを指定するポリシーを決定することができる。または、ポリシー決定装置10は、カスタマー装置が設定したメトリクスのプライオリティ(選好基準)および/またはエッジのウェイト(誘導割合)を取得し、そのプライオリティに応じた誘導先の候補の評価および/またはそのウェイトに応じたポリシーの決定も可能である。なお、ポリシーは、オリジンサーバ60ごとに個別に決定されてもよいし、複数のオリジンサーバ間で共通に決定されてもよい。
なお、ポリシー決定装置10は、上記ステップS11の誘導制御装置30からのポリシー更新要求をトリガとせず、例えば定期的に誘導制御装置30のためのポリシーを決定し、当該誘導制御装置30に通知してもよい。すなわち、ポリシー決定装置10は、定期的に、収集した監視データから複数のメトリクスを導出または算出し、算出されたメトリクスに基づいてポリシーを生成または更新することができる。
(2-2)DNS式誘導制御装置による誘導制御
次に、誘導制御に係る第1の実施例として、DNS式の誘導制御装置30によるリクエスト誘導制御について、その制御手順および制御内容を図1を用いて説明する。
(2-2-1)実施例1-1(S31~S36)
図1において、エンドユーザ50Aが、例えば、コンテンツ配信を求めてオリジンサーバ(データサーバ)60にアクセスしようとする場合、実施例1に係る誘導制御は以下のように行われる。
まずステップS31において、エンドユーザ50Aは、アクセスリクエストとして、オリジンサーバ60(origin.example.com)にアクセスするための接続先IPアドレスを、名前解決のため、エンドユーザ50Aが指定した場所であるDNSリゾルバ80に問い合わせる。なお、DNSリゾルバ80は、専用のサーバであってもよいし、エンドユーザ50Aが実行可能なプログラムであってもよい。
次いでステップS32において、エンドユーザ50Aからの問合せを受けたDNSリゾルバ80が、origin.example.comの情報を保持している権威DNSサーバとしての誘導制御装置30Aに問い合わせる。問合せを受けた誘導制御装置30Aは、この問合せに含まれる情報をアドレス情報として取得する。DNSリゾルバ80からorigin.example.comの情報についての問合せを受けた誘導制御装置30Aはさらに、ポリシー決定装置10により決定されたポリシーに従って、誘導先としてエッジサーバ70Aを指定する。
ステップS33において、誘導制御装置30Aは、DNSリゾルバ80に誘導先情報を回答する。このとき、ステップS33において誘導制御装置30AからDNSリゾルバ80に送られる誘導先情報には、エッジサーバ70AのIPアドレスが含められることになる。
次いでステップS34において、DNSリゾルバ80は、誘導制御装置30Aから受領した誘導先情報をエンドユーザ50Aに回答する。
ステップS35において、エンドユーザ50Aは、指定された誘導先であるエッジサーバ70Aへのアクセスを開始する。エッジサーバ70Aが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
エッジサーバ70Aが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、エッジサーバ70Aは、ステップS36において、オリジンサーバ60にアクセスし、オリジンサーバ60からコンテンツを取得する。
かくして、誘導制御装置30Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをエンドユーザ50Aへ配信することが可能になる。
(2-2-2)実施例1-2(S31~S48)
図2は、実施形態に係るポリシー決定装置10を備えた負荷分散システムの全体構成および処理フローの第2の例を示す図である。特に図2は、エンドユーザ50Aがコンテンツ配信を求めてオリジンサーバ60にアクセスしようとする場合に、誘導制御装置30Aが、エッジサーバ70ではなくCDN 100を誘導先として選択する処理フローを示している。なお、図2のステップS10~S12およびステップS31は、図1のステップS10~S12およびステップS31と同じであるので説明を省略する。
ステップS31に次ぐステップS32において、エンドユーザ50Aからの問合せを受けたDNSリゾルバ80が、origin.example.comの情報を保持している権威DNSサーバとしての誘導制御装置30Aに問い合わせる。問合せを受けた誘導制御装置30Aは、この問合せに含まれる情報をアドレス情報として取得する。DNSリゾルバ80からorigin.example.comの情報についての問合せを受けた誘導制御装置30Aはさらに、ポリシー決定装置10により決定されたポリシーに従って、誘導先としてCDN 100Bを指定する。
ステップS43において、誘導制御装置30Aは、DNSリゾルバ80に誘導先情報を回答する。誘導制御装置30にとって誘導先であるCDN 100B内のキャッシュサーバのIPアドレスは未知であるので、ステップS43においてDNSリゾルバ80は、CDN 100Bの権威DNSサーバ90を案内される。
そこで、ステップS44において、DNSリゾルバ80は、CDN 100Bの権威DNSサーバ90にオリジンサーバ60のドメイン名に対応するIPアドレスを問い合わせる。
ステップS45において、CDN 100Bの権威DNSサーバ90は、CDN 100B内の適切なエッジサーバに関する情報をDNSリゾルバ80に返す。
ステップS46において、DNSリゾルバ80は、権威DNSサーバ90から受領したCDN 100Bのエッジサーバに関する誘導先情報を、エンドユーザ50に回答する。
ステップS47において、エンドユーザ50Aは、指定された誘導先であるCDN 100B内のエッジサーバへのアクセスを開始する。当該エッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
CDN 100B内のエッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、当該エッジサーバは、ステップS48において、オリジンサーバ60にアクセスし、オリジンサーバ60からコンテンツを取得する。
かくして、誘導制御装置30Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをエンドユーザ50Aへ配信することが可能になる。
なお、図1のステップS33または図2のステップS43において、誘導制御装置30AがDNSリゾルバ80に対し、エッジではなくオリジンサーバ60を誘導先として指定することも可能である。
また、エンドユーザ50Aがオリジンサーバ60に対してデータをアップロードしようとする場合も、エンドユーザ50Aは、オリジンサーバ60または他の適切なエッジにリクエストを送信する必要がある。従って、リクエストの対象となるデータの流れがダウンストリームであるかアップストリームであるかにかかわらず、上記フローを適用することができる。
以上のように、図1および図2に関して説明した誘導制御システム1は、エンドユーザ50からのリクエストの誘導先をダイナミックかつインテリジェントに制御することができる。すなわち、ポリシー決定装置10がブレインとなり、収集した監視データに基づき、ポリシーを動的に決定する。そして、各ゾーンに配置された誘導制御装置30Aがボディとなり、ブレインたるポリシー決定装置10によって定義されたポリシーに従い、複数のエッジの中から適切な誘導先を選択する。
例えば、誘導制御システム1に含まれる誘導制御装置30は、ポリシーにおいて非零の割合を割り当てられたエッジに対してこの割合を例えば重み付きラウンドロビンにおけるウェイトとして用いて、リクエストを振り分けることができる。また、誘導制御システム1に含まれるポリシー決定装置10は、異なる時間帯、例えば日中および夜間について異なるポリシーを決定してもよい。
(2-3)HTTP式誘導制御装置による誘導制御
次に、誘導制御の第2の実施例として、HTTP式の誘導制御装置20によるリクエスト誘導制御について説明する。
(2-3-1)実施例2-1(S21~S23)
図3は、実施形態に係るポリシー決定装置10を備えた負荷分散システムの全体構成および処理フローの第3の例を示す図である。図3は、誘導制御装置20の一例として誘導制御装置20A,20B,・・・を用いた処理フローの例を示している。特に図3は、エンドユーザ50Aがコンテンツ配信を求めてオリジンサーバ60にアクセスしようとする場合に、誘導制御装置20Aが、エッジサーバ70Aを誘導先として指定する処理フローを示している。誘導制御装置20は、例えばL7ロードバランサ(HTTPロードバランサと呼ぶこともできる)に相当し得る。なお、図3のステップS10~S12は、図1,図2のステップS10~S12と同じであるので説明は省略する。
エンドユーザ50Aが、コンテンツ配信を求めてオリジンサーバ(データサーバ)60にアクセスしようとする場合、実施例2に係る誘導制御は以下のように行われる。なお、エンドユーザ50Aは、あらかじめ、DNS名前解決やエニーキャストにより特定のゾーン #1の誘導制御装置20Aに接続しているものとする。
まずステップS21において、エンドユーザ50Aは、アクセスリクエストとして、HTTPリクエストを誘導制御装置20Aに送信する。これに対し、誘導制御装置20Aは、HTTPリクエストを受信し、当該HTTPリクエストに含まれるアドレス情報を取得する。
次いでステップS22において、誘導制御装置20Aは、ポリシー決定装置10により生成されたポリシーに従って、誘導先としてエッジサーバ70Aを選択し、エッジサーバ70AにHTTPリクエストを転送する。このとき、誘導制御装置20Aは、ポリシーに加えて、HTTPリクエストに含まれるリクエストの内容、対象データの種別、エンドユーザ50Aの情報などを考慮して、誘導先を選択することができる。エッジサーバ70Aが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
エッジサーバ70Aが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、エッジサーバ70Aは、ステップS23において、さらにオリジンサーバ60にリクエストを転送する。
かくして、誘導制御装置20Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをエンドユーザ50Aへ配信することが可能になる。
(2-3-2)実施例2-2(S21~S53)
図4は、実施形態に係るポリシー決定装置10を備えた負荷分散システムの全体構成および処理フローの第4の例を示す図である。特に図4は、エンドユーザ50Aがコンテンツ配信を求めてオリジンサーバ60にアクセスしようとする場合に、誘導制御装置20Aが、エッジサーバ70ではなくCDN 100を誘導先として指定する処理フローを示している。なお、図4のステップS10~S12は、図1~図3のステップS10~S12と同じであるので説明は省略する。また、図4のステップS21は、図3のステップS21と同じであるので説明は省略する。
ステップS21に次ぐステップS52において、誘導制御装置20Aは、ポリシー決定装置10により決定されたポリシーに従って、誘導先としてCDN 100Bを選択し、CDN 100BにHTTPリクエストを転送する。このとき、誘導制御装置20Aは、ポリシーに加えて、HTTPリクエストに含まれるリクエストの内容、対象データの種別、エンドユーザ50Aの情報などを考慮して、誘導先を選択することができる。CDN 100B内でHTTPリクエストが転送されたエッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
CDN 100B内のエッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、当該エッジサーバは、ステップS53において、さらにオリジンサーバ60にリクエストを転送する。
かくして、誘導制御装置20Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをエンドユーザ50Aへ配信することが可能になる。
なお、ステップS22において、誘導制御装置20Aがエッジではなくオリジンサーバ60を誘導先として指定することも可能である。
また、エンドユーザ50がオリジンサーバ60に対してデータをアップロードしようとする場合も、エンドユーザ50は、オリジンサーバ60または他の適切なエッジにリクエストを送信する必要がある。従って、リクエストの対象となるデータの流れがダウンストリームであるかアップストリームであるかにかかわらず、上記フローを適用することができる。
以上のように、図3および図4に関して説明した誘導制御装置20A,20B,・・・を含む誘導制御システム1は、エンドユーザ50からのHTTPリクエストの誘導先をダイナミックかつインテリジェントに制御することができる。すなわち、ポリシー決定装置10がブレインとなり、収集した監視データに基づき、ポリシーを動的に決定する。そして、各ゾーンに配置された誘導制御装置20がボディとなり、ブレインたるポリシー決定装置10によって定義されたポリシーに従い、複数のエッジの中から適切な誘導先を選択する。
例えば、誘導制御システム1は、ポリシーに加えて、HTTPリクエストに含まれる情報に応じて誘導先を選択することもできる。一般に、HTTPリクエストには、エンドユーザ50の情報や伝送されるデータに関する情報が含まれるので、エンドユーザ50のデバイス種別もしくはエージェントまたは伝送対象であるデータの種別もしくは内容等に応じて誘導先を変えるように設定することが可能である。
また、誘導制御システム1に含まれる誘導制御装置20は、ポリシーにおいて非零の割合を割り当てられたエッジに対してこの割合を例えば重み付きラウンドロビンにおけるウェイトとして用いて、リクエストを振り分けることができる。また、誘導制御システム1に含まれるポリシー決定装置10は、異なる時間帯、例えば日中および夜間について異なるポリシーを決定してもよい。
特にコンテンツ側から見ると、異なるCDN事業者が提供するCDN 100間には提供されるサービスや機能に差があることが多い。誘導制御装置20を用いて、例えばいったん各CDN事業者のCDN 100でリクエストを受けたのち、特定のエッジサーバ70に誘導することにより、上記差がコンテンツ側から意識されないようにすることも可能となる。
(2-4)ポリシー決定装置の動作
図11は、ポリシー決定装置10の、メトリクスデータに関する動作例を示す。図11の動作例では、通信I/F 110は、監視データの受信を待ち受ける(ステップS201)。通信I/F 110が監視データを受信すると処理はステップS202に進む。
ステップS202において、監視データ取得部121は、受信された監視データを取得し、監視データ記憶部141に書き込む。そして、メトリクス生成部122は、ステップS202において取得された監視データに基づいてメトリクスデータを生成する(ステップS203)。例えば、メトリクス生成部122は、新たなタイムスタンプとメトリクスおよび/またはそのスコアの値とを含むメトリクスデータを生成し得る。ステップS203の後、通信I/F 110は、監視データの受信を待ち受ける(ステップS201)。
図12は、ポリシー決定装置10の、誘導先評価データに関する動作例を示す。図12の動作例では、通信I/F 110はプライオリティの受信を待ち受け(ステップS301)、誘導先評価部126は評価実施条件の満足を待ち受ける(ステップS303)。ここで、評価実施条件は、例えば、誘導先評価部126が誘導先の候補を定期的に評価する場合には、前回の実施から所定期間が経過したことであり得る。また、評価実施条件は、誘導先評価部126がポリシー決定部127から評価の実施を依頼されたこと、であってもよい。プライオリティが受信されれば処理はステップS302に進み、評価実施条件が満足すれば処理はステップS304に進む。
ステップS302において、プライオリティ取得部123は、受信されたプライオリティを取得し、設定データ記憶部143に書き込む。ステップS302の後、通信I/F 110はプライオリティの受信を待ち受け(ステップS301)、誘導先評価部126は評価実施条件の満足を待ち受ける(ステップS303)。
ステップS304において、誘導先評価部126は、メトリクス記憶部142に保存されたメトリクスデータ、設定データ記憶部143に保存されたプライオリティを含むパラメータ、などに基づいて、誘導先の複数の候補を評価し、誘導先評価データを生成する。ステップS302の後、通信I/F 110はプライオリティの受信を待ち受け(ステップS301)、誘導先評価部126は評価実施条件の満足を待ち受ける(ステップS303)。
図13は、ポリシー決定装置10の、ポリシーに関する動作例を示す。図13の動作例では、更新条件判定部124は、ポリシー更新条件の満足を待ち受ける(ステップS401)。ポリシー更新条件が満足したと判定されれば処理はステップ402に進む。
ステップ402において、更新要求部125は、ポリシーの更新をポリシー決定部127に要求する。ポリシー決定部127は、ステップ402における要求に応じて、誘導先評価データをカスタマー装置に提供するよう評価提供部128に依頼し、評価提供部128は評価データ記憶部145に保存されている誘導先評価データをカスタマー装置に提供する(ステップS403)。なお、ステップS403はオプションであり、後述されるステップ404、ステップ405およびステップ406とともに省略されてもよい。この場合に、処理はステップ402からステップ407へ進む。
ステップS403の後に、通信I/F 110は、ウェイトの受信を例えば所定期間に亘って待ち受ける(ステップ404)。通信I/F 110がウェイトを受信した場合に処理はステップ405へ進み、通信I/F 110がウェイトを受信しなかった場合に処理はステップ407へ進む。
ステップ405において、ウェイト取得部129は受信されたウェイトを取得し、ウェイト記憶部144に書き込む。次に、ポリシー決定部127は、ステップ405において取得されたウェイトに基づいて新たなポリシーを決定する(ステップ406)。例えば、ポリシー決定部127は、ウェイトをそのままポリシーに記載してもよいし、誘導先の全候補に割り当てられたウェイトの総和のうち各候補に割り当てられたウェイトが占める割合を当該候補のウェイトとして決定してもよい。ステップ406の後に処理はステップ408へ進む。
ステップ407において、ポリシー決定部127は、評価データ記憶部145から誘導先評価データを読み出し、当該データに含まれる誘導先の候補のスコアに基づいて新たなポリシーを決定する。例えば、ポリシー決定部127は、ポリシーに含める誘導先の全候補のスコアの総和のうち各候補のスコアが占める割合を当該候補のウェイトとして決定してもよい。ステップ407の後に処理はステップ408へ進む。
ステップ408において、ポリシー通知部130は、ステップ406またはステップ407において決定されたポリシーを誘導制御装置20に通知する。ステップ408の後、更新条件判定部124はポリシー更新条件の満足を待ち受ける(ステップS401)。
(2-5)時間帯別ポリシーの決定
図14は、実施形態に係るポリシー決定装置10による、時間帯別ポリシーの決定の一例を示す図である。
オリジンサーバ60のオペレータは、カスタマー装置を用いてポータルサイト61にアクセスし、当該サイト上で表示されるスケジューラ62に記載されたオリジンサーバ60のデータ配信スケジュールを確認できる。オペレータは、02:00から20:59までの時間帯にはアップデート用ソフトウェアを配信することを把握する。また、オペレータは、21:00から23:59までの時間帯(夜間)にはエンドユーザ50としてのスマートフォン向けのコンテンツ配信が増加すると予想する。そこで、オペレータは、02:00から20:59までの時間帯にはCDN 100DおよびCDN 100Eを誘導先の候補としそれぞれに「0.7」および「0.3」の割合を割り当て、さらに21:00から23:59までの時間帯ではスマートフォン向けのコンテンツ配信に適したCDN 100Fを誘導先の候補とし「1」の割合を割り当てるようにポータルサイト61上のフォームに入力を行う。そして、カスタマー装置は、オペレータからの入力に応じてウェイトを発行し、ポリシー決定装置10に送信する(ステップS61)。
次いで、ポリシー決定装置10は、ステップS62において、カスタマー装置から受信したウェイトに基づいて時間帯別にポリシーを決定する。かかるウェイトは、例えば、02:00から20:59までの時間帯に亘って各誘導先に割り当てる第1のウェイトと、21:00から23:59までの時間帯に亘って各誘導先に割り当てる第2のウェイトとを含み得る。具体的には、ポリシー決定装置10は、誘導制御装置20が02:00から20:59までの時間帯に亘ってリクエストをCDN 100DおよびCDN 100Eに7:3の割合で誘導するように上記第1のウェイトに基づいてポリシーを決定し、誘導制御装置20が21:00から23:59までの時間帯に亘ってリクエストをCDN 100Fに100%の割合で誘導するように上記第2のウェイトに基づいてポリシーを決定する。なお、図14の例では、02:00から21:00までの時間帯には、CDN 100Fをバックアップとすることが定められている。また、21:00から23:59までの時間帯には、CDN 100Dをバックアップとすることが定められている。図14の例では、00:00から01:59までのポリシーはブランクとなっているが、かかる時間帯のポリシーはポリシー決定装置10が誘導先評価データに基づいて自動的に決定してもよい。
次いで、誘導制御装置20は、ステップS63において、このような時間帯別ポリシーに基づいてエッジ(CDN)の選択または切替を実行する。例えば、誘導制御装置20は、時間帯別ポリシーに基づいて、2:00~20:59の時間帯には、CDN 100DとCDN 100Eとの間で7対3の分散配信を行うように誘導制御し、21:00~23:59の時間帯は、CDN 100Fによる配信を行うように誘導制御する。
変形例として、ポリシー決定装置10は、オリジンサーバ60のデータ配信スケジュールに基づいて、メトリクスに割り当てられるプライオリティ(標準値)および/またはエッジに割り当てられる割合を調整してもよい。
(2-6)多段式の誘導制御
図15は、実施形態に係るポリシー決定装置10による、多段式の誘導制御の一例を示す図である。
図15では、エンドユーザ50Aにより送信されたアクセスリクエストが、誘導制御システム1により、エッジサーバ70Aに誘導され(P11)、さらにその次にCDN 100Cへと誘導される(P12)。エッジサーバ70Aは、CDN 100Cが保持するエッジサーバ(中間サーバ)70Xを介して、オリジンサーバ60にアクセスリクエストを転送し(P12,P13)、必要なデータをキャッシュ701にキャッシュすることによって、エンドユーザ50Aに対してコンテンツの配信を行う。
このような2段階での誘導制御を行うことにより、エンドユーザ50Aとオリジンサーバ60との間のデータ伝送を、エッジサーバ70AとCDN 100Cの2つのエッジを経由させることができる。これにより、例えば、エッジサーバ70Aだけでは十分ではなかったセキュリティ機能を、CDN 100Cが提供する機能によって補うことが可能となる。すなわち、CDN 100Cの中間サーバ70Xを介することで、CDN 100CのWAF(Web Application Firewall)やボットフィルタリング機能を経たデータ配信が可能となる。
あるいは、エンドユーザ50Bは、エッジサーバ70Aのキャッシュ701からのコンテンツ配信にあたり、エッジサーバ70Aから直接ではなく、CDN 100Bを経由するように誘導される。これにより、エンドユーザ50Bに地理的に近いエッジサーバを有するCDN 100Bを経由して、より信頼性の高いコンテンツ配信が実現され、いわゆる、ラストワンマイル最適化を図ることができる。
なお、以上のような多段式の誘導制御は、図15に示した2段階の制御に限定されるものではなく、3段階、4段階など、任意の段数の誘導制御として実施されてよい。
(効果)
以上詳述したように実施形態に係るポリシー決定装置は、誘導制御装置がリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを生成し、この時系列データに基づいてこれら複数の候補を評価して誘導先評価データを生成する。そして、このポリシー決定装置は、誘導先評価データの生成後に、この誘導先評価データを提供されたカスタマー装置によって設定されるウェイト、または当該誘導先評価データに基づいて、誘導制御装置が誘導先を制御するために使用するポリシーを決定する。故に、このポリシー決定装置によれば、ポリシーを動的に決定することができる。
また、カスタマー装置のユーザ(カスタマー)は、各メトリクスの値が評価に与える影響を決定するパラメータであるプライオリティを自由に設定できる。これにより、ポリシー決定装置は、カスタマーの嗜好に合致した基準に従って生成された誘導先評価データをカスタマーに提供し、および/またはカスタマーの嗜好に合致したポリシーを決定することができる。
さらに、カスタマーは、時間帯毎に異なるプライオリティおよび/またはウェイトを設定してもよい。これにより、ポリシー決定装置は、時間帯毎に、カスタマーの嗜好に合致した基準に従って生成された誘導先評価データを提供し、および/またはカスタマーの嗜好に合致したポリシーを決定することができる。
またさらに、コンテンツの通過点であるエッジサーバ70では、様々な付加機能を提供することも可能である。例えば、ネットワークの状態を監視/分析し、必要に応じて動的に機能を挿入することで、配信品質の向上を可能にすることができる。そのような付加機能の例として、高速化(FEO、ラストワンマイルの最適化、WAN最適化)、処理分散(SSLオフロード、ディスク(キャッシュ))、プロトコル分散(プロトコル変換、v4/v6変換)、セキュリティ(WAF、ボットフィルタ、APIセキュリティ)などが考えられる。実施形態に係るポリシー決定装置は、このような強みをもつエッジサーバまたはCDNを経由するように誘導先を選択するポリシーを決定することにより、付加機能を容易に提供することができる。また、ポリシー決定装置が誘導先を多段式に選択するポリシーを決定することにより、複数の付加機能を組み合わせて提供することもできる。
また、ポリシー決定装置が多段式に誘導先を選択するポリシーを決定することにより、事業者間の機能差を隠すことも可能である。例えば、同一コンテンツを複数事業者から配信するケースにおいて、コンテンツパージのような、コンテンツ事業者からのニーズが高くCDN事業者各社より類似機能を提供している機能について、各社の仕様差を吸収し(隠し)、一括での操作を可能とすることができる。すなわち、ポリシー決定装置が、エンドユーザに対し、選択されたCDNからオリジンサーバに直接アクセスさせるのでなく、さらに他のエッジサーバを介在させるように誘導することによって、オリジンサーバからはCDNの仕様が見えないように設計することが可能となる。
[他の実施形態]
なお、この発明は上記実施形態に限定されるものではない。
例えば、誘導制御システム1が、ポリシー決定装置10と、誘導制御装置20とを、それぞれ別個の装置として備えるものとして説明したが、これに限定されない。ポリシー決定装置10と、誘導制御装置20とは、一体型の装置として構成されてもよい。
また、ポリシーがゾーンごとに設定されるものとして説明したが、これに限定されない。ポリシーは、複数のゾーン間で共通して設定されてもよいし、複数のゾーン間で協調的に設定されてもよい。
その他、ポリシーの具体的な生成方法等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
1…誘導制御システム
10…ポリシー決定装置
20,20A,20B,30,30A,30B…誘導制御装置
41…プローブサーバ
42…監視システム
50,50A,50B…エンドユーザ
60…オリジンサーバ
61…ポータルサイト
62…スケジューラ
70,70A,70B,70C…エッジサーバ
70X…中間サーバ
80…DNSリゾルバ
90…権威DNSサーバ
100,100A,100B,100C…CDN
110…通信I/F
120…プロセッサ
121…監視データ取得部
122…メトリクス生成部
123…プライオリティ取得部
124…更新条件判定部
125…更新要求部
126…誘導先評価部
127…ポリシー決定部
128…評価提供部
129…ウェイト取得部
130…ポリシー通知部
140…メモリ
141…監視データ記憶部
142…メトリクス記憶部
143…設定データ記憶部
144…ウェイト記憶部
145…評価データ記憶部
146…ポリシー記憶部
701…キャッシュ

Claims (9)

  1. 外部装置から受信した、ネットワーク内の設備の状態に関わる監視データを取得する監視データ取得部と、
    誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを前記監視データに基づいて生成するメトリクス生成部と、
    前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データと前記複数種類のメトリクスに割り当てられたプライオリティとに基づいて前記複数の候補を評価し、誘導先評価データを生成する誘導先評価部と、
    前記誘導先評価データの生成後に、前記誘導制御装置が前記誘導先を制御するために使用するポリシーを決定するポリシー決定部と、
    前記ポリシーを前記誘導制御装置に通知するポリシー通知部と
    を具備し、
    前記ポリシーを決定するためのウェイトを設定する権限を認可された第1のカスタマー装置に前記誘導先評価データを提供する評価提供部と、
    前記第1のカスタマー装置から受信されたウェイトを取得するウェイト取得部と、
    予め定められたポリシー更新条件が満足するか否かを判定する更新条件判定部と、
    前記ポリシー更新条件が満足すると判定された場合に、前記ポリシーの更新を要求する更新要求部と
    をさらに具備し、
    前記ポリシー決定部は、前記誘導制御装置が前記リクエストを前記複数の候補に、取得された前記ウェイトに基づく割合で誘導するように前記ポリシーを決定し、さらに、前記ポリシーの更新の要求に応じて、前記評価提供部に最新の前記誘導先評価データを前記第1のカスタマー装置に提供するよう依頼する、ポリシー決定装置。
  2. 前記第1のカスタマー装置から受信される前記ウェイトは、第1の時間帯に前記複数の候補に割り当てる第1のウェイトと、前記第1の時間帯とは異なる第2の時間帯に前記複数の候補に割り当てる第2のウェイトとを含み、
    前記ポリシー決定部は、前記誘導制御装置が前記第1の時間帯に亘って前記リクエストを前記複数の候補に前記第1のウェイトに基づく示す割合で誘導するように前記ポリシーを決定し、前記誘導制御装置が前記第2の時間帯に亘って前記リクエストを前記複数の候補に前記第2のウェイトに基づく割合で誘導するように前記ポリシーを決定する、
    請求項に記載のポリシー決定装置。
  3. 前記誘導先評価データは、前記複数の候補のそれぞれの評価値を含み、
    前記ポリシー決定部は、前記第1のカスタマー装置から前記ウェイトが取得されない場合に、前記誘導制御装置が前記リクエストを前記複数の候補に前記評価値に基づく割合で誘導するように前記ポリシーを決定する、
    請求項1または請求項2に記載のポリシー決定装置。
  4. 前記プライオリティを設定する権限を認可された第2のカスタマー装置から受信されたプライオリティを取得するプライオリティ取得部をさらに具備し、
    前記誘導先評価部は、前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データと取得された前記プライオリティとに基づいて前記複数の候補を評価し、誘導先評価データを生成する、
    請求項1乃至請求項のいずれか1項に記載のポリシー決定装置。
  5. 前記誘導先評価データは、前記複数の候補のそれぞれの評価値を含み、
    前記ポリシー決定部は、前記誘導制御装置が前記リクエストを前記複数の候補に前記評価値に基づく割合で誘導するように前記ポリシーを決定する、
    請求項に記載のポリシー決定装置。
  6. 前記複数の候補に含まれる第1の候補に関連付けられる複数種類のメトリクスは、前記第1の候補を前記誘導先として選択した場合の前記リクエストの伝送コストに関わる第1のメトリクスと、前記第1の候補を前記誘導先として選択した場合の前記リクエストの伝送品質に関わる第2のメトリクスとを含む、請求項1乃至請求項のいずれか1項に記載のポリシー決定装置。
  7. 前記誘導先評価部は、前記複数の候補の各々に対応する前記複数種類のメトリクスの時系列データに基づく値を前記プライオリティに従って重み付き加算することで当該候補の評価値を算出する、請求項1乃至請求項のいずれか1項に記載のポリシー決定装置。
  8. 外部装置から受信した、ネットワーク内の設備の状態に関わる監視データを取得することと、
    誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを前記監視データに基づいて生成することと、
    前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データと前記複数種類のメトリクスに割り当てられたプライオリティとに基づいて前記複数の候補を評価し、誘導先評価データを生成することと、
    前記誘導先評価データの生成後に、前記誘導制御装置が前記誘導先を制御するために使用するポリシーを決定することと、
    前記ポリシーを前記誘導制御装置に通知することと
    を具備し、
    前記ポリシーを決定するためのウェイトを設定する権限を認可された第1のカスタマー装置に前記誘導先評価データを提供することと、
    前記第1のカスタマー装置から受信されたウェイトを取得することと、
    予め定められたポリシー更新条件が満足するか否かを判定することと、
    前記ポリシー更新条件が満足すると判定された場合に、前記ポリシーの更新を要求することと
    をさらに具備し、
    前記誘導制御装置が前記リクエストを前記複数の候補に、取得された前記ウェイトに基づく割合で誘導するように前記ポリシーを決定し、さらに、前記ポリシーの更新の要求に応じて、最新の前記誘導先評価データを前記第1のカスタマー装置に提供するよう依頼する、ポリシー決定方法。
  9. コンピュータを、
    外部装置から受信した、ネットワーク内の設備の状態に関わる監視データを取得する手段、
    誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを前記監視データに基づいて生成する手段、
    前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データと前記複数種類のメトリクスに割り当てられたプライオリティとに基づいて前記複数の候補を評価し、誘導先評価データを生成する手段、
    前記誘導先評価データの生成後に、前記誘導制御装置が前記誘導先を制御するために使用するポリシーを決定する手段、
    前記ポリシーを前記誘導制御装置に通知する手段
    として機能させ
    前記ポリシーを決定するためのウェイトを設定する権限を認可された第1のカスタマー装置に前記誘導先評価データを提供する手段、
    前記第1のカスタマー装置から受信されたウェイトを取得する手段、
    予め定められたポリシー更新条件が満足するか否かを判定する手段、
    前記ポリシー更新条件が満足すると判定された場合に、前記ポリシーの更新を要求する手段
    としてさらに機能させ、
    前記決定する手段は、前記誘導制御装置が前記リクエストを前記複数の候補に、取得された前記ウェイトに基づく割合で誘導するように前記ポリシーを決定し、さらに、前記ポリシーの更新の要求に応じて、前記提供する手段に最新の前記誘導先評価データを前記第1のカスタマー装置に提供するよう依頼する、ポリシー決定プログラム。
JP2019115685A 2019-06-21 2019-06-21 ポリシー決定装置、ポリシー決定方法およびプログラム Active JP7297550B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019115685A JP7297550B2 (ja) 2019-06-21 2019-06-21 ポリシー決定装置、ポリシー決定方法およびプログラム
EP20826374.9A EP3989496A4 (en) 2019-06-21 2020-06-18 POLICY-SETTING DEVICE, POLICY-SETTING METHOD AND PROGRAM
CN202080045529.9A CN114008595A (zh) 2019-06-21 2020-06-18 策略决定装置、策略决定方法以及程序
PCT/JP2020/024015 WO2020256074A1 (ja) 2019-06-21 2020-06-18 ポリシー決定装置、ポリシー決定方法およびプログラム
US17/555,232 US20220116328A1 (en) 2019-06-21 2021-12-17 Policy determination apparatus, policy determining method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019115685A JP7297550B2 (ja) 2019-06-21 2019-06-21 ポリシー決定装置、ポリシー決定方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2021002764A JP2021002764A (ja) 2021-01-07
JP7297550B2 true JP7297550B2 (ja) 2023-06-26

Family

ID=73994280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019115685A Active JP7297550B2 (ja) 2019-06-21 2019-06-21 ポリシー決定装置、ポリシー決定方法およびプログラム

Country Status (5)

Country Link
US (1) US20220116328A1 (ja)
EP (1) EP3989496A4 (ja)
JP (1) JP7297550B2 (ja)
CN (1) CN114008595A (ja)
WO (1) WO2020256074A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220272050A1 (en) * 2021-02-25 2022-08-25 Zebra Technologies Corporation Systems and methods for allocating resources to execute functions
CN117999773A (zh) * 2021-09-30 2024-05-07 株式会社电装 数据通信系统、中心装置、主机装置、更新数据配置程序以及更新数据获取程序
CN117376613B (zh) * 2023-12-07 2024-03-15 方图智能(深圳)科技集团股份有限公司 一种分布式音视频传输控制方法、系统及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150565A1 (en) 2007-12-05 2009-06-11 Alcatel Lucent SOA infrastructure for application sensitive routing of web services

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970477A (en) * 1996-07-15 1999-10-19 Bellsouth Intellectual Property Management Corporation Method and system for allocating costs in a distributed computing network
US6968389B1 (en) * 2001-07-17 2005-11-22 Cisco Technology, Inc. System and method for qualifying requests in a network
US7860964B2 (en) * 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7584301B1 (en) * 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
WO2011074630A1 (ja) * 2009-12-17 2011-06-23 日本電気株式会社 負荷分散システム、負荷分散方法、負荷分散システムを構成する装置およびプログラム
US20170126789A1 (en) * 2015-10-30 2017-05-04 AppDynamics, Inc. Automatic Software Controller Configuration based on Application and Network Data
US20180278498A1 (en) * 2017-03-23 2018-09-27 Cisco Technology, Inc. Process representation for process-level network segmentation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150565A1 (en) 2007-12-05 2009-06-11 Alcatel Lucent SOA infrastructure for application sensitive routing of web services

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
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技術ジャーナル [オンライン],NTT,2018年04月,[検索日 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)

Also Published As

Publication number Publication date
JP2021002764A (ja) 2021-01-07
EP3989496A4 (en) 2022-07-20
EP3989496A1 (en) 2022-04-27
CN114008595A (zh) 2022-02-01
US20220116328A1 (en) 2022-04-14
WO2020256074A1 (ja) 2020-12-24

Similar Documents

Publication Publication Date Title
JP7297550B2 (ja) ポリシー決定装置、ポリシー決定方法およびプログラム
Wichtlhuber et al. An SDN-based CDN/ISP collaboration architecture for managing high-volume flows
JP7252213B2 (ja) コンテキストアウェア型の経路の計算及び選択
US8782130B2 (en) Method and system for client-side scaling of web server farm architectures in a cloud data center
CN109547517B (zh) 一种带宽资源调度方法和装置
EP1385314B1 (en) Global server load balancer
CN104348647B (zh) 多源带宽调度方法、装置及系统
CN108076142A (zh) 一种基于cdn技术加速用户请求的方法及系统
JP5888687B1 (ja) 配信サーバ又は配信ルート設計装置、配信サーバ又は配信ルート設計方法及びプログラム
JP2023155506A (ja) 誘導先評価装置、誘導先評価方法およびプログラム
JP7297551B2 (ja) ポリシー決定装置、ポリシー決定方法およびプログラム
KR101758065B1 (ko) 부하분산 시스템, 그 제어방법 및 이를 수행하기 위한 기록매체
Assila et al. A dynamic stackelberg-cournot game for competitive content caching in 5G networks
US11290379B2 (en) Egress traffic steering controller
KR100648572B1 (ko) 컨텐츠 전송 네트워크 시스템
JP7191781B2 (ja) ポリシー決定装置、ポリシー決定方法、およびプログラム
Najaflou et al. The nearest origin-shield (NOS): a jitter-free overlay routing framework for content delivery networks
KR101467023B1 (ko) 분산형 네트워크에서 동적 컨텍스트를 활용한 콘텐츠/서비스 제공 시스템 및 그 방법
CN115514637B (zh) 远程网关调整方法及系统
Pritom et al. Geography aware virtual machine migrations for distributed cloud data centers
Pratama et al. Random Load Balancing in Mini-NDN Using Modified Inherent Topology
JP2001067290A (ja) 高品質サーバアクセス装置
EP2827558B1 (en) Automated metric weight tuning for multi-cost ALTO queries

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220105

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221129

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230126

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230614

R150 Certificate of patent or registration of utility model

Ref document number: 7297550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150