WO2020256076A1 - 誘導先評価装置、誘導先評価方法およびプログラム - Google Patents

誘導先評価装置、誘導先評価方法およびプログラム Download PDF

Info

Publication number
WO2020256076A1
WO2020256076A1 PCT/JP2020/024017 JP2020024017W WO2020256076A1 WO 2020256076 A1 WO2020256076 A1 WO 2020256076A1 JP 2020024017 W JP2020024017 W JP 2020024017W WO 2020256076 A1 WO2020256076 A1 WO 2020256076A1
Authority
WO
WIPO (PCT)
Prior art keywords
evaluation
data
guidance
guidance destination
candidates
Prior art date
Application number
PCT/JP2020/024017
Other languages
English (en)
French (fr)
Inventor
佳子 木佐
貴行 亀井
Original Assignee
エヌ・ティ・ティ・コミュニケーションズ株式会社
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
Priority claimed from JP2019115693A external-priority patent/JP7508204B2/ja
Application filed by エヌ・ティ・ティ・コミュニケーションズ株式会社 filed Critical エヌ・ティ・ティ・コミュニケーションズ株式会社
Priority to CN202080045536.9A priority Critical patent/CN114080792A/zh
Priority to EP20825665.1A priority patent/EP4047890A4/en
Publication of WO2020256076A1 publication Critical patent/WO2020256076A1/ja
Priority to US17/555,184 priority patent/US12015546B2/en

Links

Images

Classifications

    • 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
    • H04L47/2416Real-time traffic
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • 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
    • H04L45/123Evaluation of link metrics
    • 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
    • H04L45/308Route determination based on user's profile, e.g. premium users
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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
    • H04L45/124Shortest path evaluation using a combination of metrics

Definitions

  • One aspect of the present invention relates to load distribution on a network.
  • HTTP Hypertext Transfer Protocol
  • CDN Content Delivery Network
  • load distribution technology includes, for example, a method of inducing a request to each server according to a predetermined policy such as round robin and weighted round robin (static distribution method), and a state of each server, for example, the number of connections. It is roughly divided into a method (dynamic distribution method) that guides requests to the optimum server while monitoring the number of clients, data communication volume, response time, server load, etc. in real time.
  • Non-Patent Document 1 describes that CDN technology is being studied in order to economically and high-quality deliver high-definition, high-presence next-generation video content represented by 4K / 8K and AR / VR. ing.
  • the above-mentioned static distribution method is easy to realize load distribution by a simple policy, but its efficiency may decrease when the state of the candidate guidance destination changes.
  • the efficiency of load balancing does not easily decrease even if the state of the guidance destination changes, but on the other hand, the load balancer needs to monitor the state of the candidate guidance destination in real time and select the guidance destination. There is.
  • An object of the present invention is to dynamically evaluate candidates for request guidance destinations.
  • the guidance destination evaluation device includes a metric acquisition unit and a guidance destination evaluation unit.
  • the metric acquisition unit acquires time-series data of a plurality of types of metrics associated with each of the plurality of candidates of the guidance destination for the guidance control device to guide the request including the first destination data.
  • the guidance destination evaluation unit evaluates a plurality of candidates based on time series data of a plurality of types of metrics associated with the plurality of candidates, and generates guidance destination evaluation data. As a result, it is possible to dynamically evaluate the candidate of the request guidance destination.
  • the guidance destination evaluation unit selects a plurality of candidates based on the time series data of a plurality of types of metrics associated with the plurality of candidates and the priorities assigned to the plurality of types of metrics. You may evaluate it.
  • this guidance destination evaluation device hereinafter, referred to as a guidance destination evaluation device according to the second aspect of the present invention
  • a plurality of candidates are considered in consideration of the priority assigned to each metric in addition to the value of each metric itself. Can be evaluated.
  • the guidance destination evaluation device may further include a priority acquisition unit for acquiring the priority received from the customer device authorized to set the priority, and the guidance destination evaluation unit may include a plurality of guidance destination evaluation units.
  • a plurality of candidates may be evaluated based on the time series data of a plurality of types of metrics associated with the candidates and the priority received from the customer device, and the guidance destination evaluation data may be generated.
  • the guidance destination evaluation device hereinafter, referred to as a guidance destination evaluation device according to the third aspect of the present invention
  • the user (customer) of the customer device sets a priority that matches his / her taste. You can freely adjust the effect of the metric value on the evaluation.
  • the guidance destination evaluation unit performs weighted addition of values based on time series data of a plurality of types of metrics corresponding to each of the plurality of candidates according to the priority.
  • the evaluation value of the candidate may be calculated, and at least a part of the plurality of candidates may be ranked in descending order of the evaluation value to generate the guidance destination evaluation data.
  • this guidance destination evaluation device hereinafter, referred to as a guidance destination evaluation device according to the fourth aspect of the present invention
  • the influence of the value of each metric on the evaluation is adjusted through the priority assigned to the metric.
  • each of the values based on the time series data of a plurality of types of metrics may be normalized so as to be within a predetermined numerical range.
  • this guidance destination evaluation device hereinafter referred to as the guidance destination evaluation device according to the fifth aspect of the present invention, it is possible to fairly handle metrics having different domains and evaluate candidates for guidance destinations.
  • the plurality of types of metrics associated with the first candidate included in the plurality of candidates are the transmission cost of the request when the first candidate is selected as the guidance destination.
  • the first metric related to the above and the second metric related to the transmission quality of the request when the first candidate is selected as the guidance destination may be included.
  • candidates for guidance destinations can be evaluated from a plurality of viewpoints including transmission cost and transmission quality.
  • the guidance destination evaluation device may further include an evaluation providing unit that provides guidance destination evaluation data to an external device.
  • an evaluation providing unit that provides guidance destination evaluation data to an external device.
  • the guidance destination evaluation device is an update condition determination unit that determines whether or not the predetermined evaluation update conditions are satisfied, and a guidance when it is determined that the evaluation update conditions are satisfied. It may further include an update request unit that requests the update of the prior evaluation data. As a result, the guidance destination evaluation data can be updated every time the evaluation update condition is satisfied.
  • a time series of a plurality of types of metrics associated with each of the plurality of guidance destination candidates for the guidance control device to guide a request including the first destination data includes acquiring data and evaluating a plurality of candidates based on time series data of a plurality of types of metrics associated with the plurality of candidates to generate guidance destination evaluation data.
  • a plurality of types of metrics associated with each of the plurality of guidance destination candidates for the guidance control device to guide a request including the first destination data It functions as a means for acquiring time-series data of the above, a means for evaluating a plurality of candidates based on time-series data of a plurality of types of metrics associated with a plurality of candidates, and a means for generating guidance destination evaluation data. As a result, it is possible to dynamically evaluate the candidate of the request guidance destination.
  • FIG. 1A is a diagram illustrating a load distribution system including a guidance destination evaluation device according to an embodiment.
  • FIG. 1B is a diagram illustrating a load distribution system including a guidance destination evaluation device according to the embodiment.
  • FIG. 1C is a diagram illustrating a load distribution system including a guidance destination evaluation device according to the embodiment.
  • FIG. 1D is a diagram illustrating a load distribution system including a guidance destination evaluation device according to an embodiment.
  • FIG. 2 is a block diagram illustrating a policy determination device including a guidance destination evaluation device according to the embodiment.
  • FIG. 3 is a block diagram illustrating the guidance destination evaluation device according to the embodiment.
  • FIG. 4 is a block diagram illustrating the metric generator in FIG.
  • FIG. 5 is a block diagram illustrating the policy control device in FIG. FIG.
  • FIG. 6 is a diagram showing an example of the stored contents of the monitoring data storage unit shown in FIG.
  • FIG. 7 is a diagram showing an example of the stored contents of the metric storage unit shown in FIG.
  • FIG. 8 is a diagram showing an example of the storage contents of the setting data storage unit shown in FIG.
  • FIG. 9 is an explanatory diagram of the operation of the guidance destination evaluation unit shown in FIG.
  • FIG. 10 is an explanatory diagram of the operation of the policy determination unit shown in FIG.
  • FIG. 11 is a flowchart showing an operation example of the guidance destination evaluation device of FIG.
  • FIG. 12 is a flowchart showing an operation example of the metric generator of FIG.
  • FIG. 13 is a flowchart showing an operation example of the policy control device of FIG.
  • FIG. 1A shows the first configuration and processing flow of a load distribution system including a policy determining device 10 that utilizes the guidance destination evaluation data generated by the guidance destination evaluation device 11 according to the embodiment of the present invention. It is a figure which shows the example of.
  • the guidance control system 1 including the policy determination device 10 is provided on the Web or the cloud, for example, via a data transmission network, a probe server 41, ..., a monitoring system 42, ..., End user 50A, 50B, ... (hereinafter collectively referred to as "end user 50"), edge servers 70A, 70B, 70C, ... (hereinafter collectively referred to as "edge server 70"), CDN 100A, 100B, ... (Hereinafter, collectively referred to as "CDN 100”), and the origin server 60 are communicably connected.
  • the data transmission network is configured to include, for example, a relay network and a plurality of access networks for accessing the relay network.
  • a relay network a public network such as the general Internet or a closed network controlled so that it can be accessed only from a limited number of devices is used.
  • the access network for example, a wireless LAN (Local Area Network), a mobile phone network, a wired telephone network, FTTH (Fiber To The Home), and a CATV (Cable Television) network are used.
  • the data transmission network will be described as the Internet for the sake of simplicity.
  • the probe server 41 and / or the monitoring system 42 is composed of, for example, a server computer or a personal computer.
  • the probe server 41 and / or the monitoring system 42 is a state of equipment in the network, such as the origin server 60, the edge server 70 and / or the CDN 100, for example, log information such as an operation log and a security log, and a server or memory. Continuously collect / monitor load information such as usage status.
  • the probe server 41 and / or the monitoring system 42 generates monitoring data and sends it to the policy-determining device 10. Any number of probe servers 41 and / or monitoring systems 42 can be connected to the policy-determining device 10 over the network.
  • the end user 50 is, for example, an information processing terminal such as a personal computer or a smartphone owned by the user, a vehicle capable of transmitting and receiving information by connecting to a network, or an IoT device capable of collecting and transmitting measurement results from various sensors. is there. Therefore, the access request from the end user 50 includes a request for downloading data such as content such as a moving image and a software update program, and a request for uploading data such as IoT data.
  • An arbitrary number of end users 50 can be connected to the guidance control device 30 in the guidance control system 1 via a network.
  • the edge server 70 is composed of a server computer of any size capable of caching data.
  • the CDN 100A as an edge network is operated by, for example, a first CDN operator.
  • the CDN 100B Is operated by, for example, a CDN operator different from the first CDN operator.
  • the illustrated CDN 100 does not reveal the information of the internal edge server to the guidance control system 1, but some CDN 100 reveals the information of the internal edge server to the guidance control system 1. You may. In the latter case, the guidance control system 1 may treat the CDN 100 as a candidate for the guidance destination, or may treat the edge server inside the CDN 100 as a candidate for the guidance destination.
  • each of the CDN 100A, CDN 100B, ..., And the edge server 70 accessible from the guidance control system 1 will be referred to simply as "edges" as candidates for guidance destinations, and these will be collectively referred to as edge groups.
  • the edge group can also include a cloud computing service provided by a service provider (not shown), a CDN that partially reveals internal information, and the like. Any number of edges can be connected to the end user 50 over the network.
  • the origin server 60 is, for example, a data server or IoT that is operated and managed by a content distribution company, such as a Web server or a file server, and holds content for distribution to the end user 50 (the end user 50 downloads data). It is a data server that collects data from the end user 50 (end user 50 uploads the data), which is operated and managed by a business operator that collects the data. Although the figure shows only one origin server 60, there may be any number of origin servers 60.
  • the guidance control system 1 selects and guides an appropriate guidance destination from the edge group including the CDN 100 or the edge server 70 in response to the access request from the end user 50. More specifically, the policy determination device 10 included in the guidance control system 1 determines the policy used to control the guidance destination for guiding the request, and the guidance control device included in the guidance control system 1 determines the policy. 30 directs the request according to this policy.
  • the policy may indicate a plurality of candidates to which the request is guided and the ratio of guiding the request to each of the candidates. The guidance control device 30 can use this ratio, for example, as a weight in a weighted round robin to distribute requests.
  • the guidance control system 1 includes a policy determination device 10 and guidance control devices 30A, 30B, ... (hereinafter collectively referred to as "guidance control device 30").
  • the guidance control system 1 can include any number of guidance control devices 30.
  • the policy determining device 10 is, for example, a server computer or a personal computer, collects monitoring data from the probe server 41 and / or the monitoring system 42, and determines a policy based on a plurality of metrics derived or calculated from the monitoring data. (Generate / Update).
  • the metric is an index that is a material for evaluating a candidate that can be selected as a request guidance destination, and indicates the state of the candidate.
  • the metric may be the value itself contained in the monitoring data, or it may be a processed value or a statistical value of such a value.
  • the policy determination device 10 can also determine a policy based on a request from a customer who is a service provider using the origin server 60. For example, the policy-determining device 10 can evaluate the candidate and determine the policy by considering each metric of the candidate of the guidance destination based on the criteria set by the customer device according to the priority. Alternatively, the policy-determining device 10 can determine the policy so that the request is guided to each candidate at a ratio based on the weight set by the customer device.
  • the customer appliance has the authority to set the weights for determining the policy applied to the request containing the destination data to the origin server 60 and / or the priority assigned to the evaluation-related metrics for determining this policy.
  • a licensed device For example, a terminal connected to the corporate network, a terminal connected to the public network, or the like accesses a website (portal) for making such a setting according to an operation of an operator of the origin server 60 or the like. These terminals are authorized by passing any authentication such as password authentication, and function as a customer device while the authority is authorized.
  • the customer device can browse evaluation data (for example, ranking data) of a plurality of destination candidates, and set weights and / or priorities.
  • the policy determination device 10 instructs the policy indicating how to select the guidance destination as the brain of the guidance control system 1.
  • the guidance control device 30 executes the guidance control process based on the policy determined by the policy determination device 10 which is a brain as the body of the guidance control system 1.
  • the guidance control device 30 can correspond to, for example, an L4 load balancer (also referred to as a DNS load balancer).
  • the guidance control devices 30A, 30B, ... Are arranged in the first zone # 1, the second zone # 2, ..., Respectively.
  • a zone is defined for each guidance control device 30, and the guidance control device 30 can guide a request to PoP (Point of Presence) belonging to the corresponding zone.
  • PoP means a base of a guidance destination having a connection point with an external network.
  • step S10 the policy determination device 10 continuously monitors the usage status and performance of equipment in the network by continuously collecting monitoring data from the probe server 41 and / or the monitoring system 42.
  • the policy determination device 10 may directly collect information representing the load of each CDN 100 or each edge server 70, or may acquire the information via the guidance control device 30.
  • the policy determination device 10 receives the policy update (or generation) request from the guidance control device 30 (step S11).
  • This request may be, for example, periodically output from the guidance control device 30, or may be output from the guidance control device 30 triggered by a configuration change of the edge related to the zone. ..
  • the guidance control device 30 can send the information acquired about each CDN 100, each edge server 70, or the origin server 60 to the policy decision device 10.
  • step S12 the policy determination device 10 determines the policy based on the monitoring data collected in the previously executed step S10, and then returns the latest policy to the guidance control device 30. That is, the policy determination device 10 derives or calculates a plurality of metrics from the collected monitoring data, and generates or updates the policy based on the calculated metrics.
  • the monitoring data collected by the policy determination device 10 can include operation logs, network status monitoring results, and the like as dynamic data, and preference conditions and contracts set by the customer as static data.
  • the contents, contract fee of each CDN, etc. can be included.
  • the policy determining device 10 acquires a distribution schedule of data held by the origin server 60, and based on the acquired distribution schedule, prioritizes a specific edge for a time zone in which specific data is distributed. You can decide which policy to choose.
  • the policy determination device 10 acquires the priority (preference criterion) and / or edge weight (guidance ratio) of the metrics set by the customer device, evaluates the candidate of the guidance destination according to the priority, and / or the weight thereof. It is possible to decide the policy according to.
  • the policy may be determined individually for each origin server 60, or may be determined in common among a plurality of origin servers.
  • the guidance control device 30 stores the latest policy received from the policy determination device 10 in step S12 in a storage unit (not shown).
  • the policy determination device 10 does not trigger the policy update request from the guidance control device 30 in step S11, but periodically determines, for example, a policy for the guidance control device 30 and notifies the guidance control device 30. You may. That is, the policy determination device 10 can periodically derive or calculate a plurality of metrics from the collected monitoring data, and generate or update the policy based on the calculated metrics.
  • FIG. 1A shows the control procedure and control contents of the request guidance control by the DNS type guidance control device 30. It will be described using.
  • Example 1-1 of induction control (S31 to S36)
  • the guidance control according to the first embodiment is performed as follows.
  • the end user 50A sets the connection destination IP address for accessing the origin server 60 (for example, origin.example.com) as an access request at a location designated by the end user 50A for name resolution.
  • the origin server 60 for example, origin.example.com
  • the DNS resolver 80 may be a dedicated server or a program that can be executed by the end user 50A.
  • the DNS resolver 80 that received the inquiry from the end user 50A inquires about the guidance control device 30A as an authoritative DNS server that holds the information of origin.example.com.
  • the guidance control device 30A that has received the inquiry acquires the information included in the inquiry as address information and stores it in a storage unit (not shown).
  • the guidance control device 30A Upon receiving an inquiry about the information of origin.example.com from the DNS resolver 80, the guidance control device 30A further reads the address information stored in the storage unit and generates it by the policy determination device 10 which is also stored in the storage unit.
  • the edge server 70A is specified as the guidance destination according to the given policy.
  • step S33 the guidance control device 30A returns the guidance destination information to the DNS resolver 80.
  • the IP address of the edge server 70A is included in the guidance destination information sent from the guidance control device 30A to the DNS resolver 80 in step S33.
  • step S34 the DNS resolver 80 returns the guidance destination information received from the guidance control device 30A to the end user 50A.
  • step S35 the end user 50A starts access to the edge server 70A, which is the designated guidance destination.
  • the edge server 70A holds the cache of the content requested by the end user 50A, the process ends.
  • the edge server 70A accesses the origin server 60 and acquires the content from the origin server 60 in step S36.
  • the guidance destination designated by the guidance control device 30A can deliver the content held in the origin server 60 to the end user 50A.
  • FIG. 1B shows a second example of the overall configuration and processing flow of a load distribution system including a policy determination device 10 that utilizes the guidance destination evaluation data generated by the guidance destination evaluation device 11 according to the embodiment of the present invention. It is a figure.
  • FIG. 1B shows a processing flow in which the guidance control device 30A selects the CDN 100 as the guidance destination instead of the edge server 70 when the end user 50A tries to access the origin server 60 for content distribution. .. Since steps S10 to S12 and step S31 in FIG. 1B are the same as steps S10 to S12 and step S31 in FIG. 1A, description thereof will be omitted.
  • step S32 following step S31 the DNS resolver 80 that received the inquiry from the end user 50A inquires about the guidance control device 30A as an authoritative DNS server that holds the information of origin.example.com.
  • the guidance control device 30A that has received the inquiry acquires the information included in the inquiry as address information and stores it in a storage unit (not shown).
  • the guidance control device 30A Upon receiving the inquiry about the information of origin.example.com from the DNS resolver 80, the guidance control device 30A further reads the address information stored in the storage unit and generates it by the policy determination device 10 which is also stored in the storage unit. According to the policy, CDN 100B is specified as the guidance destination.
  • step S43 the guidance control device 30A returns the guidance destination information to the DNS resolver 80. Since the IP address of the cache server in the CDN 100B, which is the guidance destination for the guidance control device 30, is unknown, the DNS resolver 80 is guided to the authoritative DNS server 90 of the CDN 100B in step S43.
  • step S44 the DNS resolver 80 inquires the authoritative DNS server 90 of the CDN 100B for the IP address corresponding to the domain name of the origin server 60.
  • step S45 the authoritative DNS server 90 of the CDN 100B returns information about the appropriate edge server in the CDN 100B, that is, the IP address of this edge server to the DNS resolver 80.
  • step S46 the DNS resolver 80 returns the guidance destination information regarding the edge server of the CDN 100B received from the authoritative DNS server 90 to the end user 50.
  • step S47 the end user 50A starts access to the edge server in the CDN 100B, which is the designated guidance destination. If the edge server holds a cache of the content requested by the end user 50A, the process ends.
  • the edge server in the CDN 100B When the edge server in the CDN 100B does not hold the cache of the content requested by the end user 50A, the edge server accesses the origin server 60 and acquires the content from the origin server 60 in step S48.
  • the guidance destination designated by the guidance control device 30A can deliver the content held in the origin server 60 to the end user 50A.
  • the guidance control device 30A can specify the origin server 60 as the guidance destination for the DNS resolver 80 instead of the edge.
  • the end user 50A wants to upload data to the origin server 60, the end user 50A needs to send a request to the origin server 60 or another appropriate edge. Therefore, the above flow can be applied regardless of whether the data flow to be requested is downstream or upstream.
  • the guidance control system 1 described with respect to FIGS. 1A and 1B can dynamically and intelligently control the guidance destination of the request from the end user 50. That is, the policy determination device 10 becomes a brain and dynamically determines the policy based on the collected monitoring data. Then, the guidance control device 30 arranged in each zone serves as a body, and an appropriate guidance destination is selected from a plurality of edges according to the policy defined by the policy determining device 10 which is a brain.
  • the guidance control device 30 included in the guidance control system 1 can distribute requests to edges to which a non-zero ratio is assigned in the policy, for example, by using this ratio as a weight in a weighted round robin.
  • the policy determination device 10 included in the guidance control system 1 may determine different policies for different time zones, for example, daytime and nighttime.
  • FIG. 1C shows a third example of the overall configuration and processing flow of the load distribution system including the policy determination device 10 using the guidance destination evaluation data generated by the guidance destination evaluation device 11 according to the embodiment of the present invention. It is a figure.
  • FIG. 1C shows an example of a processing flow using the guidance control devices 20A, 20B, ...
  • the guidance control device 20 may correspond to, for example, an L7 load balancer (also referred to as an HTTP load balancer).
  • FIG. 1C shows a processing flow in which the guidance control device 20A designates the edge server 70A as the guidance destination when the end user 50A intends to access the origin server 60 for content distribution. Since steps S10 to S12 in FIG. 1C are the same as steps S10 to S12 in FIGS. 1A and 1B, description thereof will be omitted.
  • the guidance control according to the second embodiment is performed as follows. It is assumed that the end user 50A is connected to the guidance control device 20A in the specific zone # 1 in advance by DNS name resolution or anycast.
  • step S21 the end user 50A transmits an HTTP request to the guidance control device 20A as an access request.
  • the guidance control device 20A receives the HTTP request, acquires the address information included in the HTTP request, and stores it in a storage unit (not shown).
  • the guidance control device 20A may store the HTTP request itself in the storage unit.
  • the guidance control device 20A selects the edge server 70A as the guidance destination according to the policy also stored in the storage unit, and transfers the HTTP request to the edge server 70A.
  • the guidance control device 20A can select the guidance destination in consideration of the content of the request included in the HTTP request, the type of the target data, the information of the end user 50A, and the like, in addition to the policy.
  • the edge server 70A holds the cache of the content requested by the end user 50A, the process ends.
  • the edge server 70A If the edge server 70A does not hold the cache of the content requested by the end user 50A, the edge server 70A further transfers the request to the origin server 60 in step S23.
  • the guidance destination designated by the guidance control device 20A can deliver the content held in the origin server 60 to the end user 50A.
  • FIG. 1D shows a fourth example of the overall configuration and processing flow of a load distribution system including a policy determination device 10 that utilizes the guidance destination evaluation data generated by the guidance destination evaluation device 11 according to the embodiment of the present invention. It is a figure.
  • FIG. 1D shows a processing flow in which the guidance control device 20A designates the CDN 100 as the guidance destination instead of the edge server 70 when the end user 50A tries to access the origin server 60 for content distribution. .. Since steps S10 to S12 in FIG. 1D are the same as steps S10 to S12 in FIGS. 1A to 1C, description thereof will be omitted. Further, since step S21 in FIG. 1D is the same as step S21 in FIG. 1C, the description thereof will be omitted.
  • step S52 following step S21 the guidance control device 20A selects the CDN 100B as the guidance destination according to the policy also stored in the storage unit, and transfers the HTTP request to the CDN 100B.
  • the guidance control device 20A can select the guidance destination based on the content of the request included in the HTTP request, the type of the target data, the information of the end user 50A, and the like, in addition to the policy. If the edge server to which the HTTP request is transferred in the CDN 100B holds the cache of the content requested by the end user 50A, the process ends.
  • the edge server in the CDN 100B does not hold the cache of the content requested by the end user 50A, the edge server further transfers the request to the origin server 60 in step S53.
  • the guidance destination designated by the guidance control device 20A can deliver the content held in the origin server 60 to the end user 50A.
  • step S22 or step S52 the guidance control device 20A can specify the origin server 60 as the guidance destination instead of the edge.
  • the end user 50 wants to upload data to the origin server 60, the end user 50 must first send a request to the origin server 60 or another suitable edge. Therefore, the above flow can be applied regardless of whether the data flow to be requested is downstream or upstream.
  • the guidance control system 1 including the guidance control devices 20A, 20B, ... Described with reference to FIGS. 1C and 1D can dynamically and intelligently control the guidance destination of the HTTP request from the end user 50. It can. That is, the policy determination device 10 becomes a brain and dynamically determines the policy based on the collected monitoring data. Then, the guidance control device 20 arranged in each zone becomes a body, and an appropriate guidance destination is selected from a plurality of edges according to the policy defined by the policy determining device 10 which is a brain.
  • the guidance control system 1 can select a guidance destination according to the information included in the HTTP request in addition to the policy.
  • the guidance destination is determined according to the device type or agent of the end user 50, the type or content of the data to be transmitted, and the like. It can be set to change.
  • the guidance control device 20 included in the guidance control system 1 can distribute requests to edges to which a non-zero ratio is assigned in the policy, for example, by using this ratio as a weight in a weighted round robin.
  • the policy determination device 10 included in the guidance control system 1 may determine different policies for different time zones, for example, daytime and nighttime.
  • the policy determination device 10 including the guidance destination evaluation device 11 according to the embodiment will be described with reference to the drawings.
  • the guidance control device 20 and the guidance control device 30 are basically not distinguished and will be referred to as the guidance control device 20.
  • FIG. 2 is a block diagram showing an example of a policy determination device 10 including a guidance destination evaluation device 11 according to the embodiment.
  • the policy determination device 10 of FIG. 2 includes a guidance destination evaluation device 11, a metric generation device 12, and a policy control device 13.
  • the policy determination device 10 can also be called a policy determination system.
  • the functional division in FIG. 2 is only an example, and the policy determination device 10 is a single or a plurality of computers including a part or all functional units of the guidance destination evaluation device 11, the metric generation device 12, and the policy control device 13. It may be.
  • the guidance destination evaluation device 11 evaluates a plurality of candidates for the guidance destination for the guidance control device 20 to guide the request based on, for example, the metric data provided by the metric generation device 12, and generates guidance destination evaluation data. ..
  • the guidance destination evaluation device 11 provides the guidance destination evaluation data to the policy control device 13 or another external device, for example, via a network.
  • the metric generation device 12 collects metric data, which is time-series data of a plurality of metric data, which is an index indicating the state of candidates that can be selected as a request guidance destination, from, for example, the probe server 41 and / or the monitoring system 42 described above. Generate based on monitoring data. The metric generation device 12 provides such metric data to the guidance destination evaluation device 11 or another external device, for example, via a network.
  • the policy control device 13 determines a policy for use by the guidance control device 20 based on, for example, the guidance destination evaluation data provided by the guidance destination evaluation device 11 or the weight set by the customer device, and determines this. Notify the guidance control device 20.
  • the guidance destination evaluation device 11 includes a communication I / F (interface) 110, a processor 120, and a memory 130, as illustrated in FIG.
  • the communication I / F 110 includes, for example, one or more wired or wireless communication interface units, and according to the communication protocol used in the network, the metric generation device 12, the policy control device 13, and other external devices (not shown). It enables the transmission and reception of various information with and from a device, for example, a customer device. Further, the communication I / F 110 may be, for example, an optical communication module.
  • the processor 120 is typically a CPU (Central Processing Unit) and / or a GPU (Graphics Processing Unit), but is a microcomputer, FPGA (Field Programmable Gate Array), DSP (Digital Signal Processor), or other general-purpose processor 120. It may be a processor of.
  • the processor 120 performs, for example, input / output control, communication control, processing related to evaluation of guidance destination candidates (edges), and the like.
  • the memory 130 temporarily stores a program executed by the processor 120 for the processor 120 to realize each process and data used by the processor 120, for example, metric data, setting data, guidance destination evaluation data, and the like.
  • the memory may include a RAM having a work area where such programs / data are deployed.
  • the processor 120 executes the metric acquisition unit 121, the priority acquisition unit 122, the update condition determination unit 123, the update request unit 124, the guidance destination evaluation unit 125, and the evaluation provision request in FIG. It can function as an acquisition unit 126 and an evaluation providing unit 127.
  • the memory 130 may include a metric storage unit 131, a setting data storage unit 132, and an evaluation data storage unit 133.
  • the communication I / F 110 receives various data from the external device and sends them to the processor 120, and conversely, transmits various data received from the processor 120 to the external device.
  • the communication I / F 110 receives metric data from the metric generation device 12 or other external device via the network, and sends the metric data to the metric acquisition unit 121. Further, the communication I / F 110 receives the priority from the customer device or other external device via the network, and sends the priority to the priority acquisition unit 122.
  • the communication I / F 110 receives the evaluation provision request described later from the policy control device 13 or other external device via the network, and sends this to the evaluation provision request acquisition unit 126.
  • the communication I / F 110 receives the guidance destination evaluation data that is the target of the evaluation provision request and the data that identifies the external device that is the request source from the evaluation provision unit 127, and networks the guidance destination evaluation data to the external device. Send via.
  • the metric acquisition unit 121 acquires the metric data received by the communication I / F 110 and writes it in the metric storage unit 131 in the memory 130.
  • the metric storage unit 131 can store a plurality of types of metric values and / or their scores at a given time point for the candidate as metric data in association with the guide destination candidate. Details of the metric data will be described later.
  • the metric storage unit 131 can memorize the value and the score for each metric for each edge.
  • the metric data stored in the metric storage unit 131 can be read out by, for example, the update condition determination unit 123 and / or the guidance destination evaluation unit 125.
  • the setting data storage unit 132 stores various setting data.
  • the setting data includes, for example, parameters related to the evaluation of the guidance destination, data on the guidance control device 20 lower than the policy determination device 10, data on the guidance destination candidates that can be selected by the guidance control device 20, and the like. obtain.
  • Parameters related to the evaluation of the guide destination can be included in, for example, the priority that can be assigned to each metric used for scoring the candidate guide destination by the weighted sum, and the ranking as the guide destination evaluation data. It may include parameters (specified number of edges) that specify the number of candidates for guidance, various threshold values, and the like.
  • the setting data storage unit 132 stores various parameters. These parameters include standard values specified from the server of the company or organization that operates and manages the guidance control system 1, the origin server 60 that is operated and managed by the content distribution business operator or the business operator that collects IoT data, or the customer device. .. Further, the parameter can include an arbitrary value set by API or the like from any external device that requires the guidance destination evaluation data described later. The arbitrary value is transmitted from an external device together with the evaluation provision request or in association with the evaluation provision request, and is stored in the setting data storage unit 132 by the priority acquisition unit 122 acquired via the communication I / F 110. obtain. Alternatively, the arbitrary value may be received from, for example, a customer device independently of the evaluation provision request. FIG.
  • the setting data storage unit 132 stores the same information for each origin server 60.
  • the setting data storage unit 132 stores the priority and the designated number of edges k.
  • the priority is set for two metrics, RTT and cost, but the metric for setting the priority is not limited to this, and the number of metrics is not limited to two.
  • the priority acquisition unit 122 acquires the priority received by the communication I / F 110 and writes it to the setting data storage unit 132 in the memory 130.
  • the priority acquisition unit 122 may register the received priority as an arbitrary value of the priority shown in FIG.
  • the priority acquisition unit 122 may acquire parameters other than the priority, such as the specified number of edges. In this case, the priority acquisition unit can be read as the parameter acquisition unit.
  • the guidance destination evaluation unit 125 evaluates the candidate of the guidance destination using the standard value when the arbitrary value is not registered, and guides using the arbitrary value when the arbitrary value is registered. The previous candidate may be evaluated.
  • the update condition determination unit 123 determines whether or not the predetermined evaluation update condition is satisfied. Then, when the update condition determination unit 123 determines that the evaluation update condition is satisfied, the update request unit 124 is notified that the evaluation update condition is satisfied.
  • the evaluation update condition may be that the metric and / or its score stored in the metric storage unit 131 is changing, or that the change exceeds the threshold value. Further, the evaluation update condition may be that the elapsed time from the evaluation of the candidate of the previous guidance destination exceeds the threshold value. Further, the evaluation update condition may be that the evaluation provision request is received from the policy control device 13 or another external device.
  • the update request unit 124 When the update request unit 124 is notified by the update condition determination unit 123 that the evaluation update condition is satisfied, the update request unit 124 requests the guidance destination evaluation unit 125 to update the evaluation.
  • the guidance destination evaluation unit 125 reads the metric data from the metric storage unit 131, and reads the parameter including the priority from the setting data storage unit 132.
  • the guidance destination evaluation unit 125 evaluates the guidance destination candidates based on the metric data and the parameters, and generates guidance destination evaluation data.
  • the guidance destination evaluation unit 125 stores the guidance destination evaluation data in the evaluation data storage unit 133.
  • the guidance destination evaluation unit 125 can evaluate the candidate of the guidance destination by using the update request unit 124 as a trigger to request the update of the evaluation. Alternatively, when the guidance destination evaluation unit 125 receives the evaluation provision request from the evaluation provision unit 127, the guidance destination evaluation unit 125 may generate the guidance destination evaluation data that is the target of the request.
  • This evaluation provision request may include, for example, a candidate of a guidance destination to be requested, a priority, a specified number of edges, and the like.
  • the guidance destination evaluation unit 125 can evaluate the plurality of candidates based on the time series data of the plurality of types of metrics associated with the plurality of candidates of the guidance destination and the priority assigned to the plurality of types of metrics. .. For example, the guidance destination evaluation unit 125 determines the evaluation value (edge score) of the candidate by weighting and adding a plurality of types of metrics (scores) of the guidance destination candidate according to the priority assigned to each metric. You may. An example of scoring according to FIG. 9 is shown. In FIG. 9, “edge 1”, “edge 2”, ..., “Edge 7” correspond to candidates for guidance destinations, and the priorities assigned to the “RTT score” and the “cost score” are “0. 8 ”and“ 0.2 ”.
  • the priority may be set according to the preference of the administrator such as the policy determination device 10, the guidance control device 20, and / or the origin server 60.
  • “RTT” is more important than “cost”, but conversely, "cost” may be emphasized, and metrics (scores) other than “cost” and “RTT” are emphasized. May be done.
  • the guidance destination evaluation data includes, for example, a plurality of candidates for the guidance destination and their evaluation values (edge scores). Further, the guidance destination evaluation data may be ranking data in which a plurality of candidates of the guidance destination are ranked in ascending or descending order of evaluation values.
  • the guidance destination evaluation unit 125 does not need to include all edges in the ranking when generating ranking data as guidance destination evaluation data. Specifically, the guidance destination evaluation unit 125 includes the edges having scores from the first place to the kth place in the ranking according to the designated number of edges k, which is one of the parameters stored in the setting data storage unit 132. Alternatively, candidates that are not in a usable state may be excluded.
  • the evaluation data storage unit 133 stores the guidance destination evaluation data generated by the guidance destination evaluation unit 125.
  • the guidance destination evaluation data stored in the evaluation data storage unit 133 is read out by, for example, the evaluation providing unit 127 or the like.
  • the evaluation provision request acquisition unit 126 acquires the evaluation provision request transmitted from the external device and received by the communication I / F 110.
  • the evaluation provision request may target at least a part of the plurality of candidates to be guided.
  • the evaluation provision request acquisition unit 126 sends the evaluation provision request to the evaluation provision unit 127.
  • the evaluation provision unit 127 receives the evaluation provision request from the evaluation provision request acquisition unit 126.
  • the evaluation providing unit 127 prepares the guidance destination evaluation data to be the target of this request, and provides the data to the source of the request via the communication I / F 110.
  • the evaluation providing unit 127 may extract necessary data from the guidance destination evaluation data stored in the evaluation data storage unit 133, or may request the guidance destination evaluation unit 125 to generate the necessary data. May be good.
  • the evaluation providing unit 127 provides the guidance destination evaluation data in response to the evaluation provision request.
  • the guidance destination evaluation is periodically performed on the policy control device 13 or other external device. You may do the data.
  • the metric generator 12 in FIG. 2 includes a communication I / F 210, a processor 220, and a memory 230, as illustrated in FIG.
  • the communication I / F 210 includes, for example, one or more wired or wireless communication interface units, the guidance destination evaluation device 11, the probe server 41 and / or the monitoring system 42, according to the communication protocol used in the network. Furthermore, it enables transmission and reception of various information with other external devices (not shown).
  • the communication I / F 210 can be, for example, an optical communication module.
  • the processor 220 is typically a CPU and / or GPU, but may be a microcomputer, FPGA, DSP, or other general purpose or dedicated processor.
  • the processor 220 performs processing related to, for example, input / output control, communication control, and metric generation.
  • the memory 230 temporarily stores a program executed by the processor 220 and data used by the processor 220, such as monitoring data and metrics data, in order for the processor 220 to realize each process.
  • the memory may include a RAM having a work area where such programs / data are deployed.
  • the processor 220 can function as the monitoring data acquisition unit 221, the metric generation unit 222, the metric provision request acquisition unit 223, and the metric provision unit 224 in FIG. 4 by executing the program stored in the memory 230.
  • the memory 230 may include a monitoring data storage unit 231 and a metric storage unit 232.
  • the communication I / F 210 receives various data from the external device and sends it to the processor 220, and conversely, transmits various data received from the processor 220 to the external device.
  • the communication I / F 210 receives monitoring data related to the state of equipment in the network from the probe server 41 or the monitoring system 42 via the network, and sends this to the monitoring data acquisition unit 221.
  • the monitoring data is, for example, a candidate that can be selected by the lower guidance control device 20 of the policy determination device 10 as a guidance destination of a request including destination data from the end user 50 to the origin server 60, for example, the edge server 70 and / Or may include data indicating the state of CDN 100.
  • the status of the candidate of the guidance destination is the load of the candidate, the response time (for example, RTT (Round-Trip Time)), the cost (communication charge), the availability, the number of connections, the number of clients, the data communication amount, and the response time.
  • Etc. may or may not be included.
  • the communication I / F 210 receives the metric provision request described later from the guidance destination evaluation device 11 or other external device via the network, and sends this to the metric provision request acquisition unit 223.
  • the communication I / F 210 receives data identifying the metric that is the target of the metric provision request and the external device that is the request source from the metric providing unit 224, and transmits the metric to the external device via the network.
  • the monitoring data acquisition unit 221 acquires the monitoring data received by the communication I / F 210 and writes it in the monitoring data storage unit 231 in the memory 230.
  • the monitoring data storage unit 231 stores the monitoring data acquired by the monitoring data acquisition unit 221.
  • the monitoring data stored in the monitoring data storage unit 231 can be read out by, for example, the metric generation unit 222.
  • the monitoring data storage unit 231 stores monitoring data in association with each edge.
  • FIG. 6 is a diagram showing an example of the storage contents of the monitoring data storage unit 231.
  • the monitoring data storage unit 231 stores the same information for each origin server 60. Here, it is shown in a table format, but it goes without saying that it is not limited to this.
  • the monitoring data storage unit 231 stores information about each defined metric such as availability, quality such as RTT (Rand Trip Time), cost, and the like for each edge.
  • the cost is a value obtained based on various costs such as a transit cost according to the amount of data sent and received, an electric power charge for operating an edge server, and the like.
  • the monitoring data may be any other information such as throughput, number of requests, etc., and may be any information that can be acquired by the probe server 41 and / or the monitoring system 42.
  • This guidance control system It can be arbitrarily set by the server of the company or organization that operates and manages 1, the origin server 60 that is operated and managed by the content distribution company or the company that collects IoT data, or the customer device.
  • the metric generation unit 222 reads the monitoring data stored in the monitoring data storage unit 231 and generates time-series data (metric data) of a plurality of types of metrics associated with each of the guidance destination candidates based on the monitoring data.
  • the metric generation unit 222 stores the generated metric data in the metric storage unit 232.
  • the metric is an index indicating the state of candidates that can be selected as the destination for guiding the above request.
  • Metric data is represented by a time stamp and a metric value.
  • the metric at a given point in time may be the value itself contained in the monitoring data, or a processed or statistical value of such value.
  • the metric generation unit 222 can generate a metric every unit time such as 1 second.
  • the metric generation unit 222 may normalize the value of a given type of metric at a given time point as, for example, a score from 0 to 1.
  • the metric generation unit 222 can normalize the metric value by using, for example, a sigmoid function.
  • the value of the normalized metric can be called the (metric) score.
  • the metric generation unit 222 may generate the metric that is the target of the request.
  • This metric provision request may include, for example, information that specifies the edge, duration, and / or metric type for which the request is made. That is, by requesting the provision of metrics, it is possible to receive the provision of time-series data for any period of any kind of metrics at any edge.
  • the metrics associated with a given candidate of the guidance destination are, for example, the first metric related to the transmission cost of the request when the candidate is selected as the guidance destination, and the transmission quality of the request when the candidate is selected as the guidance destination. It may include a second metric related to, etc.
  • the first metric can be, for example, various costs incurred when a candidate is selected, such as a CDN usage fee as a candidate, a power usage fee of an edge server as a candidate, and the like.
  • the second metric can also be, for example, edge availability, RTT, packet loss rate, and so on.
  • the metric storage unit 232 can store a plurality of types of metric values and / or their scores at a given time point for the candidate as metric data in association with the guide destination candidate.
  • FIG. 7 illustrates RTT and cost as metrics and their scores for each candidate (edge) of the guidance destination.
  • the metric data is shown in a table format, but it is needless to say that the metric data is not limited to this.
  • the metric storage unit 232 stores the value and the score for each metric for each edge.
  • the metric data stored in the metric storage unit 232 can be read out by, for example, the metric supply unit 224.
  • the metric provision request acquisition unit 223 acquires the metric provision request transmitted from the external device and received by the communication I / F 210.
  • the metric provision request may target at least a part of time series data of a plurality of types of metrics associated with at least a part of a plurality of candidates to be guided.
  • the metric provision request acquisition unit 223 sends the metric provision request to the metric provision unit 224.
  • the metric provision unit 224 receives the metric provision request from the metric provision request acquisition unit 223.
  • the metric providing unit 224 prepares the metric data to be the target of this request, and provides the data to the source of the request via the communication I / F 110.
  • the metric providing unit 224 may extract necessary data from the metric data stored in the metric storage unit 232, or may request the metric generation unit 222 to generate the necessary data.
  • the metric providing unit 224 provides the metric data in response to the metric providing request.
  • the guided destination evaluation data is periodically sent to the guided destination evaluation device 11 or other external device. You may do.
  • the policy control device 13 in FIG. 2 includes a communication I / F 310, a processor 320, and a memory 330, as illustrated in FIG.
  • the communication I / F 310 includes, for example, one or more wired or wireless communication interface units, and according to the communication protocol used in the network, the guidance destination evaluation device 11 and other external devices (not shown) such as a customer. Enables transmission and reception of various information with and from the device.
  • the communication I / F 310 is also used when performing data communication with the guidance control device 20.
  • the communication I / F 310 can be, for example, an optical communication module.
  • the processor 320 is typically a CPU and / or GPU, but may be a microcomputer, FPGA, DSP, or other general purpose or dedicated processor.
  • the processor 320 performs processing related to, for example, input / output control, communication control, policy determination, and the like.
  • the memory 330 temporarily stores a program executed by the processor 320 for the processor 320 to realize each process and data used by the processor 320, for example, guidance destination evaluation data, setting data, weights, policies, and the like.
  • the memory may include a RAM having a work area where such programs / data are deployed.
  • the processor 320 executes the evaluation acquisition unit 321 of FIG. 5, the update condition determination unit 322, the update request unit 323, the policy determination unit 324, the evaluation provision unit 325, and the weight acquisition unit 326. , And can function as policy notification unit 327.
  • the memory 330 may include an evaluation data storage unit 331, a setting data storage unit 332, a policy storage unit 333, and a weight storage unit 334.
  • the communication I / F 310 receives various data from the external device and sends it to the processor 320, and conversely, transmits various data received from the processor 320 to the external device.
  • the communication I / F 310 receives the guidance destination evaluation data from the guidance destination evaluation device 11 or other external device via the network, and sends this to the evaluation acquisition unit 321.
  • the communication I / F 310 receives the guidance destination evaluation data from the evaluation providing unit 325 and transmits the guidance destination evaluation data to the customer device or other external device via the network.
  • the communication I / F 310 receives the weight from the customer device or other external device via the network and sends it to the weight acquisition unit 326.
  • the communication I / F 310 receives data (for example, an address) for identifying the lower guidance control device 20 of the policy determination device 10 which is the policy and its notification destination from the policy notification unit 327, and sends the guidance control device 20 to the guidance control device 20. Send the policy over the network.
  • This policy is used by the guidance control device 20 as the notification destination to control the guidance destination of the request including the destination data from the end user 50 to the origin server 60.
  • the evaluation acquisition unit 321 acquires the guidance destination evaluation data received by the communication I / F 310, and writes this in the evaluation data storage unit 331 in the memory 330.
  • the evaluation data storage unit 331 stores the guidance destination evaluation data acquired by the evaluation acquisition unit 321.
  • the guidance destination evaluation data stored in the evaluation data storage unit 331 can be read out by various functional units of the processor 320, for example, a policy determination unit 324, an evaluation providing unit 325, and the like.
  • the update condition determination unit 322 determines whether or not the predetermined policy update condition is satisfied. Then, when it is determined that the policy update condition is satisfied, the update condition determination unit 322 notifies the update request unit 323 that the policy update condition is satisfied. When a plurality of guidance control devices 20 are present below the policy determination device 10, the update condition determination unit 322 satisfies the policy update conditions for each guidance control device 20 for the policy used by the guidance control device 20. It may be determined whether or not.
  • the policy update condition may be that the elapsed time from the previous policy update (or decision) exceeds the threshold value. Further, the policy update condition may be that the policy update request is received from the guidance control device 20 lower than the policy determination device 10 and stored in the memory 330.
  • the update request unit 323 When the update request unit 323 is notified by the update condition determination unit 322 that the policy update condition is satisfied, the update request unit 323 requests the policy determination unit 324 to update the policy.
  • the policy determination unit 324 may be used, for example, when the policy determination device 10 is initially set, when the guidance control device 20 lower than the policy determination device 10 is additionally set, or when the update request unit 323 requests the policy update. , The policy is determined based on various data stored in the memory 330, and is written in the policy storage unit 333.
  • the policy determination unit 324 stores the guidance destination evaluation data stored in the evaluation data storage unit 331, the setting data stored in the setting data storage unit 332, and / or the weight storage unit 334 in order to determine the policy. You can refer to the weights.
  • the policy determination unit 324 may determine the policy based on the weights stored in the weight storage unit 334, for example. In this case, in order to prompt the customer to input the weight, the policy determination unit 324 may request the evaluation providing unit 325 to provide the latest guidance destination evaluation data to the customer device. On the other hand, the policy determination unit 324 may autonomously determine the policy based on the guidance destination evaluation data when the weight is not stored in the weight storage unit 334 or as a default.
  • the guide destination candidates may be narrowed down to include the guide destination candidates in the policy based on the score of the candidate. For example, the policy determination unit 324 may exclude candidates whose (edge) score rank is lower than a predetermined rank in the guidance destination evaluation data, for example, a rank corresponding to a specified number of edges. Can be excluded if is less than a predetermined threshold.
  • the policy determination unit 324 requests the candidate from the guidance control device 20 that uses the policy to be determined based on the score of the guidance destination candidate included in the guidance destination evaluation data or the weight stored in the weight storage unit 334. Determine the weight that indicates the rate of inducing. For example, the policy determination unit 324 may describe the weights stored in the weight storage unit 334 as they are in the policy, or the weights assigned to each candidate among the total weights assigned to all the candidates of the guidance destination may be described. The proportion may be determined as the weight of the candidate. Alternatively, as shown in FIG. 10, the policy determination unit 324 may determine the ratio of the score of each candidate to the total score of all the candidates of the guidance destination included in the policy as the weight of the candidate.
  • weights may be predetermined according to the order of scores.
  • the weight can be used, for example, as a weight in a weighted round robin type load distribution technique. That is, the guidance control device 20 using the policy of FIG. 10 guides 55% of the requests to the edge 1 and the remaining 45% to the edge 7.
  • the policy storage unit 333 stores the policy determined by the policy determination unit 324.
  • the policy stored in the policy storage unit 333 can be read by, for example, the policy notification unit 327.
  • the evaluation providing unit 325 provides the guidance destination evaluation data to the customer device or another external device via the communication I / F 310 in response to the request from the policy determining unit 324. If the policy determination unit 324 does not make a policy determination based on the weight set by the customer device, the evaluation providing unit 325 may be unnecessary.
  • the weight acquisition unit 326 acquires the weight received from the customer device by the communication I / F 310, and writes this in the weight storage unit 334 in the memory 330. If the policy determination unit 324 does not make a policy determination based on the weight set by the customer device, the weight acquisition unit 326 may be unnecessary.
  • the weight is assigned to at least a part of the guide destination candidates by the customer who has viewed the guide destination evaluation data, for example. Since the weight can be set arbitrarily by the customer, it may not correlate with the evaluation value of the candidate in the guidance destination evaluation data.
  • the weight storage unit 334 stores the weights acquired by the weight acquisition unit 326.
  • the weights stored in the weight storage unit 334 can be read out by, for example, the policy determination unit 324. If the policy determination unit 324 does not make a policy determination based on the weight set by the customer device, the weight storage unit 334 may be unnecessary.
  • the policy notification unit 327 When a new policy (including an updated policy) is saved in the policy storage unit 333, the policy notification unit 327 reads the policy and notifies the corresponding guidance control device 20. Specifically, the policy notification unit 327 sends data identifying the policy and the guidance control device 20 as the notification destination to the communication I / F 310, and the communication I / F 310 sends the communication I / F 310 to the guidance control device 20 via the network. Send the policy.
  • FIG. 11 shows an operation example of the guidance destination evaluation device 11.
  • the communication I / F 110 waits for the reception of the metric data, the priority, and the evaluation provision request (step S401, step S403, and step S408).
  • the update condition determination unit 123 waits for the satisfaction of the evaluation update condition (step S405).
  • step S402 If the metric data is received, the process proceeds to step S402, if the priority is received, the process proceeds to step S404, if it is determined that the evaluation update condition is satisfied, the process proceeds to step S406, and the evaluation provision request is received. If so, the process proceeds to step S409.
  • step S402 the metric acquisition unit 121 acquires the received metric data and writes it in the metric storage unit 131.
  • the communication I / F 110 waits for the reception of the metric data, the priority, and the evaluation provision request (step S401, step S403, and step S408), while the update condition determination unit 123 waits for the satisfaction of the evaluation update condition. (Step S405).
  • step S404 the priority acquisition unit 122 acquires the received priority and writes it in the setting data storage unit 132.
  • the communication I / F 110 waits for the reception of the metric data, the priority, and the evaluation provision request (step S401, step S403, and step S408), while the update condition determination unit 123 waits for the satisfaction of the evaluation update condition. (Step S405).
  • step S406 the update request unit 124 requests the guidance destination evaluation unit 125 to update the evaluation.
  • the guidance destination evaluation unit 125 has a plurality of guidance destinations based on the metric data stored in the metric storage unit 131, the parameters including the priority stored in the setting data storage unit 132, and the like. Candidates are evaluated and guidance destination evaluation data is generated (updated) (step S407).
  • the communication I / F 110 waits for the reception of the metric data, the priority, and the evaluation provision request (step S401, step S403, and step S408), while the update condition determination unit 123 waits for the satisfaction of the evaluation update condition. (Step S405).
  • step S409 the evaluation providing unit 127 prepares the guidance destination evaluation data corresponding to the received evaluation providing request, and provides it to the external device that is the source of this request via the communication I / F 110.
  • the communication I / F 110 waits for the reception of the metric data, the priority, and the evaluation provision request (step S401, step S403, and step S408), while the update condition determination unit 123 waits for the satisfaction of the evaluation update condition. (Step S405).
  • the evaluation providing unit 127 provides the guidance destination evaluation data triggered by the reception of the evaluation providing request, but the guidance destination evaluation data is updated (step S407) or the previous step S409.
  • the guidance destination evaluation data may be provided to the policy control device 13 or another external device with the elapse of a predetermined period from the implementation of the above.
  • FIG. 12 shows an operation example of the metric generator 12.
  • the communication I / F 210 waits for the reception of the monitoring data and the metric provision request (step S501 and step S504).
  • the process proceeds to step S502
  • the communication I / F 210 receives the metric provision request, the process proceeds to step S505.
  • step S502 the monitoring data acquisition unit 221 acquires the received monitoring data and writes it in the monitoring data storage unit 231. Then, the metric generation unit 222 generates metric data based on the monitoring data acquired in step S502 (step S503). For example, the metric generation unit 222 may generate metric data including a new time stamp and the value of the metric and / or its score.
  • step S503 the communication I / F 210 waits for the reception of the monitoring data and the metric provision request (step S501 and step S504).
  • step S505 the metric providing unit 224 prepares the metric data corresponding to the received metric providing request, and provides the metric data to the external device that is the source of this request via the communication I / F 210.
  • the communication I / F 210 waits for the reception of the monitoring data and the metric provision request (step S501 and step S504).
  • the metric providing unit 224 provides the metric data with the reception of the metric providing request as a trigger, but it is determined from the generation of the metric data (step S503) or the previous execution of the step S505.
  • the metric data may be provided to the guidance destination evaluation device 11 or another external device by using the elapse of the period as a trigger.
  • FIG. 13 shows an operation example of the policy control device 13.
  • the communication I / F 310 waits for the reception of the guidance destination evaluation data (step S601).
  • the update condition determination unit 322 waits for the satisfaction of the policy update condition (step S603). If the guidance destination evaluation data is received, the process proceeds to step S602. If it is determined that the policy update condition is satisfied, the process proceeds to step S604.
  • step S602 the evaluation acquisition unit 321 acquires the received guidance destination evaluation data and writes it in the evaluation data storage unit 331.
  • the communication I / F 310 waits for the reception of the guidance destination evaluation data (step S601), while the update condition determination unit 322 waits for the satisfaction of the policy update condition (step S603).
  • step S604 the update request unit 323 requests the policy determination unit 324 to update the policy.
  • the policy determination unit 324 requests the evaluation providing unit 325 to provide the guidance destination evaluation data to the customer device in response to the request in step S604, and the evaluation providing unit 325 receives the guidance destination stored in the evaluation data storage unit 331.
  • the evaluation data is provided to the customer device (step S605). Note that step S605 is an option and may be omitted together with step S606, step S607, and step S608 described later. In this case, the process proceeds from step S604 to step S609.
  • step S605 the communication I / F 310 waits for the reception of the wait, for example, for a predetermined period (step S606). If the communication I / F 310 receives the wait, the process proceeds to step S607, and if the communication I / F 310 does not receive the wait, the process proceeds to step S609.
  • step S607 the weight acquisition unit 326 acquires the received weight and writes it in the weight storage unit 334.
  • the policy determination unit 324 determines a new policy based on the weight acquired in step S607 (step S608). For example, the policy determination unit 324 may describe the weight as it is in the policy, or set the ratio of the weight assigned to each candidate to the total weight assigned to all the candidates of the guidance destination as the weight of the candidate. You may decide. After step S608, the process proceeds to step S610.
  • step S609 the policy determination unit 324 reads out the guidance destination evaluation data from the evaluation data storage unit 331, and determines a new policy based on the score of the guidance destination candidate included in the data. For example, the policy determination unit 324 may determine the ratio of the score of each candidate to the total score of all the candidates to be guided to be included in the policy as the weight of the candidate. After step S609, the process proceeds to step S610.
  • step S610 the policy notification unit 327 notifies the guidance control device 20 of the policy determined in step S608 or step S609.
  • the communication I / F 310 waits for the reception of the guidance destination evaluation data (step S601), while the update condition determination unit 322 waits for the satisfaction of the policy update condition (step S603).
  • the guidance destination evaluation device is used for time-series data of a plurality of types of metrics associated with each of the plurality of guidance destination candidates for the guidance control device to guide the request. Based on this, the plurality of candidates are evaluated and guidance destination evaluation data is generated. Therefore, according to this guidance destination evaluation device, the candidate of the guidance destination of the request can be dynamically evaluated.
  • the metric generator receives a metric provision request from an external device on the network via the communication I / F
  • the metric data to be requested is sent to the request source external device via the communication I / F. Send. Therefore, it is possible to provide a new service to the external device.
  • the guidance destination evaluation device receives an evaluation provision request from an external device on the network via the communication I / F
  • the guidance destination evaluation data to be requested is received from the request source via the communication I / F. Send to an external device. Therefore, it is possible to provide a new service to the external device.
  • the external device that requests the guidance destination evaluation data and the metric data from the guidance destination evaluation device and the metric generation device is not particularly limited, but some kind of authentication control is performed to perform a specific external device.
  • Metrics data and guidance destination evaluation data may be provided only for.
  • billing control may be performed based on the amount of data to be provided, for example, the number of edges included in the guidance destination evaluation data, the type of metric included in the metric data, and the like.
  • the configuration of the guidance destination evaluation device, its processing procedure, the configuration of each storage unit, and the like can be variously modified without departing from the gist of the present invention.
  • the present invention is not limited to the above embodiment as it is, and at the implementation stage, the components can be modified and embodied within a range that does not deviate from the gist thereof.
  • various inventions can be formed by an appropriate combination of a plurality of components disclosed in the above-described embodiment. For example, some components may be removed from all the components shown in the embodiments. In addition, components from different embodiments may be combined as appropriate.
  • Guidance control system 10 ... Policy determination device 11 ... Guidance destination evaluation device 12 ... Metrics generation device 13 ... Policy control device 20, 20A, 20B, 30, 30A, 30B ... Guidance control device 41 ... Probe server 42 ... Monitoring system 50 , 50A, 50B ... End user 60 ... Origin server 70, 70A, 70B, 70C ... Edge server 80 ... DNS resolver 90 ... Authorized DNS server 100, 100A, 100B ... CDN 110, 210, 310 ... Communication I / F 120, 220, 320 ... Processor 121 ... Metrics acquisition unit 122 ... Priority acquisition unit 123, 322 ... Update condition determination unit 124, 323 ... Update request unit 125 ...
  • Guidance destination evaluation unit 126 ... Evaluation provision request acquisition unit 127, 325 ... Evaluation Provision unit 130, 230, 330 ... Memory 131,232 ... Metric storage unit 132, 332 ... Setting data storage unit 133, 331 ... Evaluation data storage unit 221 ... Monitoring data acquisition unit 222 ... Metrics generation unit 223 ... Metrics provision request acquisition unit 224 ... Metrics provision unit 231 ... Monitoring data storage unit 321 ... Evaluation acquisition unit 324 ... Policy determination unit 326 ... Weight acquisition unit 327 ... Policy notification unit 333 ... Policy storage unit 334 ... Weight storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

リクエストの誘導先の候補を動的に評価する。 本発明の第1の態様に係る誘導先評価装置は、メトリクス取得部と、誘導先評価部とを含む。メトリクス取得部は、誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得する。誘導先評価部は、複数の候補に関連付けられる複数種類のメトリクスの時系列データに基づいて複数の候補を評価し、誘導先評価データを生成する。

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の態様に係る誘導先評価装置において、誘導先評価部は、複数の候補に関連付けられる複数種類のメトリクスの時系列データと複数種類のメトリクスに割り当てられたプライオリティとに基づいて複数の候補を評価してもよい。この誘導先評価装置(以降、本発明の第2の態様に係る誘導先評価装置と称する)によれば、各メトリクスの値そのものに加えて各メトリクスに割り当てられたプライオリティを考慮して複数の候補を評価することが可能となる。
 第2の態様に係る誘導先評価装置は、プライオリティを設定する権限を認可されたカスタマー装置から受信されたプライオリティを取得するプライオリティ取得部をさらに具備してもよく、誘導先評価部は、複数の候補に関連付けられる複数種類のメトリクスの時系列データとカスタマー装置から受信されたプライオリティとに基づいて複数の候補を評価し、誘導先評価データを生成してもよい。この誘導先評価装置(以降、本発明の第3の態様に係る誘導先評価装置と称する)によれば、カスタマー装置のユーザ(カスタマー)は、自らの嗜好に合致したプライオリティを設定することで各メトリクスの値が評価に与える影響を自由に調整できる。
 第2または第3の態様に係る誘導先評価装置において、誘導先評価部は、複数の候補の各々に対応する複数種類のメトリクスの時系列データに基づく値をプライオリティに従って重み付き加算することで当該候補の評価値を算出し、複数の候補の少なくとも一部を評価値の降順にランク付けして誘導先評価データを生成してもよい。この誘導先評価装置(以降、本発明の第4の態様に係る誘導先評価装置と称する)によれば、各メトリクスの値が評価に与える影響を当該メトリクスに割り当てられたプライオリティを介して調整することができるとともに、評価値の高い候補を把握しやすいランキング形式の誘導先評価データを生成することができる。
 第4の態様に係る誘導先評価装置において、複数種類のメトリクスの時系列データに基づく値の各々は、所定の数値範囲内に収まるように正規化されていてもよい。この誘導先評価装置(以降、本発明の第5の態様に係る誘導先評価装置と称する)によれば、変域の異なるメトリクスを公平に扱って誘導先の候補を評価することができる
 第1乃至第5の態様に係る誘導先評価装置において、複数の候補に含まれる第1の候補に関連付けられる複数種類のメトリクスは、第1の候補を誘導先として選択した場合のリクエストの伝送コストに関わる第1のメトリクスと、第1の候補を誘導先として選択した場合のリクエストの伝送品質に関わる第2のメトリクスとを含んでもよい。この誘導先評価装置(以降、本発明の第6の態様に係る誘導先評価装置と称する)によれば、伝送コストおよび伝送品質を含む複数の観点で誘導先の候補を評価することができる。
 第1乃至第6の態様に係る誘導先評価装置は、誘導先評価データを外部装置に提供する評価提供部をさらに具備してもよい。この誘導先評価装置(以降、本発明の第7の態様に係る誘導先評価装置と称する)によれば、誘導先評価データを外部装置に提供することが可能となる。
 第1乃至第7の態様に係る誘導先評価装置は、予め定められた評価更新条件が満足するか否かを判定する更新条件判定部と、評価更新条件が満足すると判定された場合に、誘導先評価データの更新を要求する更新要求部とをさらに具備してもよい。これにより、評価更新条件が満足する毎に誘導先評価データを更新することができる。
 本発明の第8の態様に係る誘導先評価方法は、誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得することと、複数の候補に関連付けられる複数種類のメトリクスの時系列データに基づいて複数の候補を評価し、誘導先評価データを生成することとを含む。これにより、リクエストの誘導先の候補を動的に評価することができる。
 本発明の第9の態様に係る誘導先評価プログラムは、コンピュータを、誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得する手段、複数の候補に関連付けられる複数種類のメトリクスの時系列データに基づいて複数の候補を評価し、誘導先評価データを生成する手段として機能させる。これにより、リクエストの誘導先の候補を動的に評価することができる。
 本発明によれば、リクエストの誘導先の候補を動的に評価することができる。
図1Aは、実施形態に係る誘導先評価装置を含む負荷分散システムを例示する図である。 図1Bは、実施形態に係る誘導先評価装置を含む負荷分散システムを例示する図である。 図1Cは、実施形態に係る誘導先評価装置を含む負荷分散システムを例示する図である。 図1Dは、実施形態に係る誘導先評価装置を含む負荷分散システムを例示する図である。 図2は、実施形態に係る誘導先評価装置を含むポリシー決定装置を例示するブロック図である。 図3は、実施形態に係る誘導先評価装置を例示するブロック図である。 図4は、図2中のメトリクス生成装置を例示するブロック図である。 図5は、図2中のポリシー制御装置を例示するブロック図である。 図6は、図4に示した監視データ記憶部の記憶内容の一例を示す図である。 図7は、図3に示したメトリクス記憶部の記憶内容の一例を示す図である。 図8は、図3に示した設定データ記憶部の記憶内容の一例を示す図である。 図9は、図3に示した誘導先評価部の動作の説明図である。 図10は、図5に示したポリシー決定部の動作の説明図である。 図11は、図3の誘導先評価装置の動作例を示すフローチャートである。 図12は、図4のメトリクス生成装置の動作例を示すフローチャートである。 図13は、図5のポリシー制御装置の動作例を示すフローチャートである。
 以下、図面を参照してこの発明に係わる実施形態を説明する。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。
 まず、実施形態に係る誘導先評価装置によって生成される誘導先評価データを利用するポリシー決定装置の理解を助けるために、ポリシー決定装置の適用例から説明する。
 [適用例]
 (1)構成
 図1Aは、この発明の実施形態に係る誘導先評価装置11によって生成される誘導先評価データを利用するポリシー決定装置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は、誘導制御システム1のボディとして、ブレインたるポリシー決定装置10によって決定されたポリシーに基づく誘導制御処理を実行する。誘導制御装置30は、例えばL4ロードバランサ(DNSロードバランサと呼ぶこともできる)に相当し得る。誘導制御装置30A,30B,・・・はそれぞれ、第1のゾーン#1,第2のゾーン#2,・・・に配備される。誘導制御装置30毎にゾーンが定義されており、誘導制御装置30はその対応するゾーンに属するPoP(Point of Presence)へリクエストを誘導することができる。ここで、PoPは、外部ネットワークとの接続点を持つ、誘導先の拠点を意味する。
 (2)動作
 次に、誘導制御システム1を含む負荷分散システムによる情報処理動作について説明する。
 (2-1)ポリシーの決定(S10~S12)
 はじめに、図1Aを参照して、ポリシーの決定処理について説明する。
 実施形態では、まずステップ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ごとに個別に決定されてもよいし、複数のオリジンサーバ間で共通に決定されてもよい。誘導制御装置30は、ステップS12において受け取った、ポリシー決定装置10から最新のポリシーを、図示しない記憶部に格納する。
 なお、ポリシー決定装置10は、上記ステップS11の誘導制御装置30からのポリシー更新要求をトリガとせず、例えば定期的に誘導制御装置30のためのポリシーを決定し、当該誘導制御装置30に通知してもよい。すなわち、ポリシー決定装置10は、定期的に、収集した監視データから複数のメトリクスを導出または算出し、算出されたメトリクスに基づいてポリシーを生成または更新することができる。
 (2-2)DNS式誘導制御装置による誘導制御
 次に、誘導制御に係る第1の実施例として、DNS式の誘導制御装置30によるリクエスト誘導制御について、その制御手順および制御内容を図1Aを用いて説明する。
 (2-2-1)誘導制御の実施例1-1(S31~S36)
 図1Aにおいて、エンドユーザ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)
 図1Bは、この発明の実施形態に係る誘導先評価装置11によって生成される誘導先評価データを利用するポリシー決定装置10を備えた負荷分散システムの全体構成および処理フローの第2の例を示す図である。特に図1Bは、エンドユーザ50Aがコンテンツ配信を求めてオリジンサーバ60にアクセスしようとする場合に、誘導制御装置30Aが、エッジサーバ70ではなくCDN 100を誘導先として選択する処理フローを示している。なお、図1BのステップS10~S12およびステップS31は、図1Aのステップ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内の適切なエッジサーバに関する情報、すなわちこのエッジサーバのIPアドレスをDNSリゾルバ80に返す。
 ステップS46において、DNSリゾルバ80は、権威DNSサーバ90から受領したCDN 100Bのエッジサーバに関する誘導先情報を、エンドユーザ50に回答する。
 ステップS47において、エンドユーザ50Aは、指定された誘導先であるCDN 100B内のエッジサーバへのアクセスを開始する。当該エッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
 CDN 100B内のエッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、当該エッジサーバは、ステップS48において、オリジンサーバ60にアクセスし、オリジンサーバ60からコンテンツを取得する。
 かくして、誘導制御装置30Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをからエンドユーザ50Aへ配信することが可能になる。
 なお、図1AのステップS33または図1BのステップS43において、誘導制御装置30AがDNSリゾルバ80に対し、エッジではなくオリジンサーバ60を誘導先として指定することも可能である。
 また、エンドユーザ50Aがオリジンサーバ60に対してデータをアップロードしようとする場合も、エンドユーザ50Aは、オリジンサーバ60または他の適切なエッジにリクエストを送信する必要がある。従って、リクエストの対象となるデータの流れがダウンストリームであるかアップストリームであるかにかかわらず、上記フローを適用することができる。
 以上のように、図1Aおよび図1Bに関して説明した誘導制御システム1は、エンドユーザ50からのリクエストの誘導先をダイナミックかつインテリジェントに制御することができる。すなわち、ポリシー決定装置10がブレインとなり、収集した監視データに基づき、ポリシーを動的に決定する。そして、各ゾーンに配置された誘導制御装置30がボディとなり、ブレインたるポリシー決定装置10によって定義されたポリシーに従い、複数のエッジの中から適切な誘導先を選択する。
 例えば、誘導制御システム1に含まれる誘導制御装置30は、ポリシーにおいて非零の割合を割り当てられたエッジに対してこの割合を例えば重み付きラウンドロビンにおけるウェイトとして用いて、リクエストを振り分けることができる。また、誘導制御システム1に含まれるポリシー決定装置10は、異なる時間帯、例えば日中および夜間について異なるポリシーを決定してもよい。
 (2-3)HTTP式誘導制御装置による誘導制御
 次に、誘導制御の第2の実施例として、HTTP式の誘導制御装置20によるリクエスト誘導制御について説明する。
 (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と同じであるので説明は省略する。
 エンドユーザ50Aが、コンテンツ配信を求めてオリジンサーバ(データサーバ)60にアクセスしようとする場合、実施例2に係る誘導制御は以下のように行われる。なお、エンドユーザ50Aは、あらかじめ、DNS名前解決やエニーキャストにより特定のゾーン #1の誘導制御装置20Aに接続しているものとする。
 まずステップS21において、エンドユーザ50Aは、アクセスリクエストとして、HTTPリクエストを誘導制御装置20Aに送信する。これに対し、誘導制御装置20Aは、HTTPリクエストを受信し、当該HTTPリクエストに含まれるアドレス情報を取得して、図示しない記憶部に格納する。誘導制御装置20Aは、HTTPリクエスト自体を記憶部に格納するようにしてもよい。
 次いでステップS22において、誘導制御装置20Aは、同じく記憶部に格納されたポリシーに従って、誘導先としてエッジサーバ70Aを選択し、エッジサーバ70AにHTTPリクエストを転送する。このとき、誘導制御装置20Aは、ポリシーに加えて、HTTPリクエストに含まれるリクエストの内容、対象データの種別、エンドユーザ50Aの情報などを考慮して、誘導先を選択することができる。エッジサーバ70Aが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
 エッジサーバ70Aが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、エッジサーバ70Aは、ステップS23において、さらにオリジンサーバ60にリクエストを転送する。
 かくして、誘導制御装置20Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをエンドユーザ50Aへ配信することが可能になる。
 (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と同じであるので説明は省略する。
 ステップS21に次ぐステップS52において、誘導制御装置20Aは、同じく記憶部に格納されたポリシーに従って、誘導先としてCDN 100Bを選択し、CDN 100BにHTTPリクエストを転送する。このとき、誘導制御装置20Aは、ポリシーに加えて、HTTPリクエストに含まれるリクエストの内容、対象データの種別、エンドユーザ50Aの情報などに基づき、誘導先を選択することができる。CDN 100B内でHTTPリクエストが転送されたエッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持している場合、処理は終了する。
 CDN 100B内のエッジサーバが、エンドユーザ50Aが要求するコンテンツのキャッシュを保持していない場合、当該エッジサーバは、ステップS53において、さらにオリジンサーバ60にリクエストを転送する。
 かくして、誘導制御装置20Aにより指定された誘導先は、オリジンサーバ60に保持されたコンテンツをエンドユーザ50Aへ配信することが可能になる。
 なお、ステップS22またはステップS52において、誘導制御装置20Aがエッジではなくオリジンサーバ60を誘導先として指定することも可能である。
 また、エンドユーザ50がオリジンサーバ60に対してデータをアップロードしようとする場合も、エンドユーザ50は、まずオリジンサーバ60または他の適切なエッジにリクエストを送信する必要がある。従って、リクエストの対象となるデータの流れがダウンストリームであるかアップストリームであるかにかかわらず、上記フローを適用することができる。
 以上のように、図1Cおよび図1Dに関して説明した誘導制御装置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に誘導することにより、上記差がコンテンツ側から意識されないようにすることも可能となる。
 [実施形態]
 以下、図面を参照して、実施形態に係る誘導先評価装置11を含むポリシー決定装置10を説明する。以降の説明において、誘導制御装置20および誘導制御装置30を基本的に区別せず、誘導制御装置20と称することとする。
 (1)構成
 図2は、実施形態に係る誘導先評価装置11を含むポリシー決定装置10の一例を示すブロック図である。図2のポリシー決定装置10は、誘導先評価装置11と、メトリクス生成装置12と、ポリシー制御装置13とを含む。ポリシー決定装置10は、ポリシー決定システムと呼ぶこともできる。また、図2の機能分割は一例に過ぎず、ポリシー決定装置10は、誘導先評価装置11、メトリクス生成装置12およびポリシー制御装置13の一部または全部の機能部を備える単一または複数のコンピュータであってもよい。
 誘導先評価装置11は、誘導制御装置20がリクエストを誘導するための誘導先の複数の候補を、例えばメトリクス生成装置12によって提供されるメトリクスデータに基づいて評価し、誘導先評価データを生成する。誘導先評価装置11は、かかる誘導先評価データをポリシー制御装置13または他の外部装置に例えばネットワーク経由で提供する。
 メトリクス生成装置12は、リクエストの誘導先として選択可能な候補の状態を示す指標である複数のメトリクスの時系列データであるメトリクスデータを、例えば前述のプローブサーバ41および/または監視システム42から収集した監視データに基づいて生成する。メトリクス生成装置12は、かかるメトリクスデータを誘導先評価装置11または他の外部装置に例えばネットワーク経由で提供する。
 ポリシー制御装置13は、誘導制御装置20が使用するためのポリシーを、例えば誘導先評価装置11によって提供される誘導先評価データ、またはカスタマー装置によって設定されるウェイト、に基づいて決定し、これを当該誘導制御装置20に通知する。
 実施形態に係る誘導先評価装置11は、図3に例示されるように、通信I/F(インタフェース)110と、プロセッサ120と、メモリ130とを含む。
 通信I/F 110は、例えば1つ以上の有線または無線の通信インタフェースユニットを含んでおり、ネットワークで使用される通信プロトコルに従い、メトリクス生成装置12およびポリシー制御装置13、さらには図示しないその他の外部機器、例えばカスタマー装置、との間で各種情報の送受信を可能にする。また、通信I/F 110は例えば光通信モジュールであり得る。
 プロセッサ120は、典型的にはCPU(Central Processing Unit)および/またはGPU(Graphics Processing Unit)であるが、マイコン、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、またはその他の汎用または専用のプロセッサなどであってもよい。プロセッサ120は、例えば、入出力制御、通信制御、誘導先の候補(エッジ)の評価に関わる処理、などを行う。
 メモリ130は、プロセッサ120が各処理を実現するために当該プロセッサ120によって実行されるプログラムおよび当該プロセッサ120によって使用されるデータ、例えば、メトリクスデータ、設定データ、誘導先評価データ、などを一時的に格納する。メモリは、かかるプログラム/データが展開されるワークエリアを有するRAMを含み得る。
 プロセッサ120は、メモリ130に保存されたプログラムを実行することで、図3のメトリクス取得部121、プライオリティ取得部122、更新条件判定部123、更新要求部124、誘導先評価部125、評価提供要求取得部126、および評価提供部127として機能し得る。また、メモリ130は、メトリクス記憶部131、設定データ記憶部132、および評価データ記憶部133を含み得る。
 通信I/F 110は、外部装置から種々のデータを受信してプロセッサ120へ送ったり、逆にプロセッサ120から受け取った種々のデータを外部装置へ送信したりする。
 例えば、通信I/F 110は、メトリクス生成装置12またはその他の外部装置からネットワーク経由で、メトリクスデータを受信し、これをメトリクス取得部121へ送る。また、通信I/F 110は、カスタマー装置またはその他の外部装置からネットワーク経由で、プライオリティを受信し、これをプライオリティ取得部122へ送る。
 さらに、通信I/F 110は、ポリシー制御装置13またはその他の外部装置からネットワーク経由で、後述される評価提供要求を受信し、これを評価提供要求取得部126へ送る。他方、通信I/F 110は、評価提供部127から評価提供要求の対象となる誘導先評価データおよびその要求元となる外部装置を識別するデータを受け取り、当該外部装置へ誘導先評価データをネットワーク経由で送信する。
 メトリクス取得部121は、通信I/F 110によって受信されたメトリクスデータを取得し、これをメモリ130中のメトリクス記憶部131に書き込む。
 メトリクス記憶部131は、誘導先の候補に、当該候補についての所与の時点における複数種類のメトリクスの値および/またはそのスコアを対応付けてメトリクスデータとして保存し得る。メトリクスデータの詳細は後述する。メトリクス記憶部131は、エッジ毎に、各メトリクスについて、その値とスコアとを記憶し得る。メトリクス記憶部131に保存されたメトリクスデータは、例えば、更新条件判定部123、および/または誘導先評価部125によって読み出され得る。
 設定データ記憶部132は、種々の設定データを保存する。ここで、設定データは、例えば、誘導先の評価に関わるパラメータ、ポリシー決定装置10の下位の誘導制御装置20に関するデータ、当該誘導制御装置20が選択可能な誘導先の候補に関するデータ、などを含み得る。
 誘導先の評価に関わるパラメータは、例えば、誘導先の候補をメトリクスを重み付き和によりスコアリングするために用いられる、メトリクス毎に割り当てられ得るプライオリティ、誘導先評価データとしてのランキングに含めることのできる誘導先の候補の数を指定するパラメータ(指定エッジ数)、種々の閾値、などを含み得る。
 設定データ記憶部132は、各種パラメータを記憶する。これらのパラメータは、本誘導制御システム1を運用管理する会社もしくは団体のサーバ、あるいはコンテンツ配信事業者やIoTデータを収集する事業者が運営管理するオリジンサーバ60またはカスタマー装置から指定した標準値を含む。さらに、パラメータは、後述される誘導先評価データを必要とする任意の外部機器から、APIなどによって設定される任意値を含むことができる。任意値は、評価提供要求と一緒に、あるいは評価提供要求に関連付けて外部機器から送信され、それを通信I/F 110を介して取得したプライオリティ取得部122によって、設定データ記憶部132に保存され得る。或いは、任意値は、評価提供要求とは独立に例えばカスタマー装置から受信することもあり得る。図8は、設定データ記憶部132の記憶内容の一例を示す図であり、設定データ記憶部132は、各オリジンサーバ60について、同様の情報を記憶している。設定データ記憶部132は、プライオリティと指定エッジ数kとを記憶する。この例では、プライオリティとして、RTTとコストの2つのメトリクスに対して設定した例であるが、プライオリティを設定するメトリクスはこれに限定されず、またメトリクスの数も2つに限るものではない。
 プライオリティ取得部122は、通信I/F 110によって受信されたプライオリティを取得し、これをメモリ130中の設定データ記憶部132に書き込む。例えば、プライオリティ取得部122は、受信されたプライオリティを、図8に示すプライオリティの任意値として登録し得る。なお、プライオリティ取得部122は、例えば指定エッジ数などのプライオリティ以外のパラメータを取得してもよい。この場合に、プライオリティ取得部はパラメータ取得部と読み替えることもできる。誘導先評価部125は、各パラメータについて、任意値が登録されていない場合には標準値を用いて誘導先の候補を評価し、任意値が登録されている場合には任意値を用いて誘導先の候補を評価してもよい。
 更新条件判定部123は、予め定められた評価更新条件が満足するか否かを判定する。そして、更新条件判定部123は、評価更新条件が満足したと判定した場合に、更新要求部124に評価更新条件が満足したことを通知する。
 例えば、評価更新条件は、メトリクス記憶部131に保存されたメトリクスおよび/またはそのスコアが変化していること、または閾値を超える変化をしていること、であってもよい。また、評価更新条件は、前回の誘導先の候補の評価からの経過時間が閾値を超えていること、であってもよい。さらに、評価更新条件は、ポリシー制御装置13または他の外部装置から評価提供要求が受信されたこと、であってもよい。
 更新要求部124は、更新条件判定部123から評価更新条件が満足したことを通知されると、誘導先評価部125に評価の更新を要求する。
 誘導先評価部125は、メトリクス記憶部131からメトリクスデータを読み出し、設定データ記憶部132からプライオリティを含むパラメータを読み出す。誘導先評価部125は、メトリクスデータとパラメータとに基づいて、誘導先の候補を評価し、誘導先評価データを生成する。誘導先評価部125は、誘導先評価データを評価データ記憶部133に保存する。
 誘導先評価部125は、更新要求部124からを評価の更新が要求されたことをトリガとして、誘導先の候補を評価し得る。或いは、誘導先評価部125は、評価提供部127から評価提供要求を受け取ると、当該要求の対象となる誘導先評価データを生成してもよい。この評価提供要求は、例えば、要求の対象となる誘導先の候補、プライオリティ、指定エッジ数、などを含み得る。
 誘導先評価部125は、誘導先の複数の候補に関連付けられる複数種類のメトリクスの時系列データと、これら複数種類のメトリクスに割り当てられたプライオリティとに基づいてこれら複数の候補を評価することができる。例えば、誘導先評価部125は、誘導先の候補の複数種類のメトリクス(のスコア)をメトリクス毎に割り当てられたプライオリティに従って重み付き加算することで、当該候補の評価値(エッジスコア)を決定してもよい。図9にかかるスコアリングの一例を示す。図9において、「エッジ1」,「エッジ2」,・・・,「エッジ7」は誘導先の候補に相当し、「RTTスコア」および「コストスコア」に割り当てられたプライオリティはそれぞれ「0.8」および「0.2」である。なお、プライオリティは、ポリシー決定装置10、誘導制御装置20、および/またはオリジンサーバ60、などの管理者の嗜好により設定可能としてもよい。図9の例では、「コスト」よりも「RTT」が重視されているが、逆に「コスト」を重視してもよいし、「コスト」および「RTT」以外のメトリクス(のスコア)が重視されてもよい。
 なお、誘導先評価データは、例えば、誘導先の複数の候補とその評価値(エッジスコア)とを含む。さらに、誘導先評価データは、評価値の昇順または降順に誘導先の複数の候補をランク付けしたランキングデータであってもよい。
 誘導先評価部125は、誘導先評価データとしてランキングデータを生成する場合に、すべてのエッジをランキングに含める必要はない。具体的には、誘導先評価部125は、設定データ記憶部132に記憶されたパラメータの1つである指定エッジ数kに従って、スコアが第1位から第k位までのエッジをランキングに含めてもよいし、可用状態でない候補を除外してもよい。
 評価データ記憶部133は、誘導先評価部125によって生成された誘導先評価データを保存する。評価データ記憶部133に保存された誘導先評価データは、例えば、評価提供部127などにより読み出される。
 評価提供要求取得部126は、外部装置から送信され通信I/F 110によって受信された評価提供要求を取得する。ここで、評価提供要求は、誘導先の複数の候補のうちの少なくとも一部を対象とし得る。評価提供要求取得部126は、評価提供要求を評価提供部127へ送る。
 評価提供部127は、評価提供要求取得部126から評価提供要求を受け取る。評価提供部127は、この要求の対象となる誘導先評価データを準備し、通信I/F 110を介してかかるデータを要求の送信元に提供する。ここで、評価提供部127は、評価データ記憶部133に保存されている誘導先評価データから必要なデータを抽出してもよいし、誘導先評価部125に必要なデータの生成を依頼してもよい。
 なお、図3の例では、評価提供部127は、評価提供要求に応じて誘導先評価データを提供しているが、例えばポリシー制御装置13またはその他の外部装置に対して定期的に誘導先評価データをしてもよい。
 図2中のメトリクス生成装置12は、図4に例示されるように、通信I/F 210と、プロセッサ220と、メモリ230とを含む。
 通信I/F 210は、例えば1つ以上の有線または無線の通信インタフェースユニットを含んでおり、ネットワークで使用される通信プロトコルに従い、誘導先評価装置11、ならびにプローブサーバ41および/または監視システム42、さらには図示しないその他の外部機器との間で各種情報の送受信を可能にする。通信I/F 210は例えば光通信モジュールであり得る。
 プロセッサ220は、典型的にはCPUおよび/またはGPUであるが、マイコン、FPGA、DSP、またはその他の汎用または専用のプロセッサなどであってもよい。プロセッサ220は、例えば、入出力制御、通信制御、メトリクスの生成、などに関わる処理を行う。
 メモリ230は、プロセッサ220が各処理を実現するために当該プロセッサ220によって実行されるプログラムおよび当該プロセッサ220によって使用されるデータ、例えば、監視データ、メトリクスデータ、などを一時的に格納する。メモリは、かかるプログラム/データが展開されるワークエリアを有するRAMを含み得る。
 プロセッサ220は、メモリ230に保存されたプログラムを実行することで、図4の監視データ取得部221、メトリクス生成部222、メトリクス提供要求取得部223、およびメトリクス提供部224として機能し得る。また、メモリ230は、監視データ記憶部231、およびメトリクス記憶部232を含み得る。
 通信I/F 210は、外部装置から種々のデータを受信してプロセッサ220へ送ったり、逆にプロセッサ220から受け取った種々のデータを外部装置へ送信したりする。
 例えば、通信I/F 210は、プローブサーバ41または監視システム42からネットワーク経由で、ネットワーク内の設備の状態に関わる監視データを受信し、これを監視データ取得部221へ送る。ここで、監視データは、例えば、ポリシー決定装置10の下位の誘導制御装置20がエンドユーザ50からのオリジンサーバ60への宛先データを含むリクエストの誘導先として選択可能な候補、例えばエッジサーバ70および/またはCDN 100、の状態を示すデータを含み得る。ここで、誘導先の候補の状態は、当該候補の負荷、応答時間(例えば、RTT(Round-Trip Time))、コスト(通信料)、可用性、コネクション数、クライアント数、データ通信量、応答時間、などの一部または全部を含んでもよいし、含まなくてもよい。
 また、通信I/F 210は、誘導先評価装置11またはその他の外部装置からネットワーク経由で、後述されるメトリクス提供要求を受信し、これをメトリクス提供要求取得部223へ送る。他方、通信I/F 210は、メトリクス提供部224からメトリクス提供要求の対象となるメトリクスおよびその要求元となる外部装置を識別するデータを受け取り、当該外部装置へメトリクスをネットワーク経由で送信する。
 監視データ取得部221は、通信I/F 210によって受信された監視データを取得し、これをメモリ230中の監視データ記憶部231に書き込む。
 監視データ記憶部231は、監視データ取得部221によって取得された監視データを保存する。監視データ記憶部231に保存された監視データは、例えばメトリクス生成部222により読み出され得る。
 監視データ記憶部231は、各エッジに対応付けて監視データを記憶する。図6は、この監視データ記憶部231の記憶内容の一例を示す図であり、監視データ記憶部231は、各オリジンサーバ60について、同様の情報を記憶している。ここでは、テーブル形式で示すが、これに限定されないことは勿論である。監視データ記憶部231は、エッジ毎に、例えば、アベイラビリティやRTT(Rand Trip Time)などの品質、コスト、などの定義された各メトリクスについての情報を記憶する。コストは、データの送受信量などに応じたトランジット費、エッジサーバを稼動するための電力料金、などの様々な費用に基づいて求められた値である。監視データは、スループット、リクエスト数、などその他様々なものが考えられ、プローブサーバ41および/または監視システム42で取得可能な情報であれば、どのようなものであってもよく、本誘導制御システム1を運用管理する会社もしくは団体のサーバ、あるいはコンテンツ配信事業者やIoTデータを収集する事業者が運営管理するオリジンサーバ60またはカスタマー装置によって任意に設定可能である。
 メトリクス生成部222は、監視データ記憶部231に保存された監視データを読み出し、これに基づいて誘導先の候補の各々に関連付けられる複数種類のメトリクスの時系列データ(メトリクスデータ)を生成する。メトリクス生成部222は、生成したメトリクスデータをメトリクス記憶部232に保存する。
 前述のように、メトリクスは、上記リクエストの誘導先として選択可能な候補の状態を示す指標である。メトリクスデータは、タイムスタンプとメトリクスの値とで表現される。所与の時点におけるメトリクスは、監視データに含まれる値そのものであってもよいし、かかる値の加工値または統計値であってもよい。メトリクス生成部222は、例えば1秒などの単位時間毎にメトリクスを生成し得る。
 メトリクス生成部222は、所与の時点における所与の種類のメトリクスの値を例えば0から1までのスコアとして正規化してもよい。メトリクス生成部222は、例えばシグモイド関数を利用してメトリクスの値を正規化し得る。正規化されたメトリクスの値は、(メトリクス)スコアと呼ぶことができる。
 また、メトリクス生成部222は、メトリクス提供部224からメトリクス提供要求を受け取ると、当該要求の対象となるメトリクスを生成してもよい。このメトリクス提供要求は、例えば、要求の対象となるエッジ、期間、および/またはメトリクスの種類を指定する情報を含み得る。すなわち、メトリクス提供要求により、任意のエッジの任意の種類のメトリクスの任意の期間に亘る時系列データの提供を受けることができる。
 誘導先の所与の候補に関連付けられるメトリクスは、例えば、当該候補を誘導先として選択した場合のリクエストの伝送コストに関わる第1のメトリクス、当該候補を誘導先として選択した場合のリクエストの伝送品質に関わる第2のメトリクス、などを含み得る。第1のメトリクスは、例えば、候補を選択したときに生じる各種コスト、例えば候補としてのCDNの使用料、候補としてのエッジサーバの電力使用料、などであり得る。また、第2のメトリクスは、例えば、エッジの可用性、RTT、パケット損失率、などであり得る。
 メトリクス記憶部232は、誘導先の候補に、当該候補についての所与の時点における複数種類のメトリクスの値および/またはそのスコアを対応付けてメトリクスデータとして保存し得る。図7に、誘導先の候補(エッジ)毎に、メトリクスとしてのRTTおよびコストと、これらのスコアとを例示する。ここでは、メトリクスデータをテーブル形式で示すが、これに限定されないことは勿論である。メトリクス記憶部232は、エッジ毎に、各メトリクスについて、その値とスコアとを記憶する。メトリクス記憶部232に保存されたメトリクスデータは、例えば、メトリクス提供部224によって読み出され得る。
 メトリクス提供要求取得部223は、外部装置から送信され通信I/F 210によって受信されたメトリクス提供要求を取得する。ここで、メトリクス提供要求は、誘導先の複数の候補のうちの少なくとも一部に関連付けられる複数種類のメトリクスの時系列データの少なくとも一部を対象とし得る。メトリクス提供要求取得部223は、メトリクス提供要求をメトリクス提供部224へ送る。
 メトリクス提供部224は、メトリクス提供要求取得部223からメトリクス提供要求を受け取る。メトリクス提供部224は、この要求の対象となるメトリクスデータを準備し、通信I/F 110を介してかかるデータを要求の送信元に提供する。ここで、メトリクス提供部224は、メトリクス記憶部232に保存されているメトリクスデータから必要なデータを抽出してもよいし、メトリクス生成部222に必要なデータの生成を依頼してもよい。
 なお、図4の例では、メトリクス提供部224は、メトリクス提供要求に応じてメトリクスデータを提供しているが、例えば誘導先評価装置11またはその他の外部装置に対して定期的に誘導先評価データをしてもよい。
 図2中のポリシー制御装置13は、図5に例示されるように、通信I/F 310と、プロセッサ320と、メモリ330とを含む。
 通信I/F 310は、例えば1つ以上の有線または無線の通信インタフェースユニットを含んでおり、ネットワークで使用される通信プロトコルに従い、誘導先評価装置11、さらには図示しないその他の外部機器、例えばカスタマー装置、との間で各種情報の送受信を可能にする。また、通信I/F 310は、誘導制御装置20との間でデータ通信を行う際にも使用される。通信I/F 310は例えば光通信モジュールであり得る。
 プロセッサ320は、典型的にはCPUおよび/またはGPUであるが、マイコン、FPGA、DSP、またはその他の汎用または専用のプロセッサなどであってもよい。プロセッサ320は、例えば、入出力制御、通信制御、ポリシーの決定、などに関わる処理を行う。
 メモリ330は、プロセッサ320が各処理を実現するために当該プロセッサ320によって実行されるプログラムおよび当該プロセッサ320によって使用されるデータ、例えば、誘導先評価データ、設定データ、ウェイト、ポリシー、などを一時的に格納する。メモリは、かかるプログラム/データが展開されるワークエリアを有するRAMを含み得る。
 プロセッサ320は、メモリ330に保存されたプログラムを実行することで、図5の評価取得部321、更新条件判定部322、更新要求部323、ポリシー決定部324、評価提供部325、ウェイト取得部326、およびポリシー通知部327として機能し得る。また、メモリ330は、評価データ記憶部331、設定データ記憶部332、ポリシー記憶部333、およびウェイト記憶部334を含み得る。
 通信I/F 310は、外部装置から種々のデータを受信してプロセッサ320へ送ったり、逆にプロセッサ320から受け取った種々のデータを外部装置へ送信したりする。
 例えば、通信I/F 310は、誘導先評価装置11またはその他の外部装置からネットワーク経由で、誘導先評価データを受信し、これを評価取得部321へ送る。他方、通信I/F 310は、評価提供部325から誘導先評価データを受け取り、カスタマー装置またはその他の外部装置へこの誘導先評価データをネットワーク経由で送信する。また、通信I/F 310は、カスタマー装置またはその他の外部装置からネットワーク経由で、ウェイトを受信し、これをウェイト取得部326へ送る。
 さらに、通信I/F 310は、ポリシー通知部327からポリシーおよびその通知先となる、ポリシー決定装置10の下位の誘導制御装置20を識別するデータ(例えばアドレス)を受け取り、当該誘導制御装置20へポリシーをネットワーク経由で送信する。このポリシーは、通知先となる誘導制御装置20によって、エンドユーザ50からのオリジンサーバ60への宛先データを含むリクエストの誘導先を制御するために用いられる。
 評価取得部321は、通信I/F 310によって受信された誘導先評価データを取得し、これをメモリ330中の評価データ記憶部331に書き込む。
 評価データ記憶部331は、評価取得部321によって取得された誘導先評価データを保存する。評価データ記憶部331に保存された誘導先評価データは、プロセッサ320の種々の機能部、例えば、ポリシー決定部324、評価提供部325、などにより読み出され得る。
 更新条件判定部322は、予め定められたポリシー更新条件が満足するか否かを判定する。そして、更新条件判定部322は、ポリシー更新条件が満足したと判定した場合に、更新要求部323にポリシー更新条件が満足したことを通知する。なお、ポリシー決定装置10の下位に複数の誘導制御装置20が存在する場合には、更新条件判定部322は誘導制御装置20毎に当該誘導制御装置20の使用するポリシーについてポリシー更新条件が満足するか否かを判定してもよい。
 例えば、ポリシー更新条件は、前回のポリシーの更新(または決定)からの経過時間が閾値を超えていること、であってもよい。また、ポリシー更新条件は、ポリシー決定装置10の下位の誘導制御装置20からポリシー更新要求が受信されメモリ330に保存されていること、であってもよい。
 更新要求部323は、更新条件判定部322からポリシー更新条件が満足したことを通知されると、ポリシー決定部324にポリシーの更新を要求する。
 ポリシー決定部324は、例えば、ポリシー決定装置10の初期設定時、当該ポリシー決定装置10の下位の誘導制御装置20の追加設定時、更新要求部323によってポリシーの更新を要求された時、などに、メモリ330に保存された種々のデータに基づいてポリシーを決定し、ポリシー記憶部333に書き込む。ポリシー決定部324は、ポリシーを決定するために、評価データ記憶部331に保存された誘導先評価データ、設定データ記憶部332に保存された設定データ、および/またはウェイト記憶部334に保存されたウェイトを参照し得る。
 ポリシー決定部324は、例えば、ウェイト記憶部334に保存されたウェイトに基づいてポリシーを決定してもよい。この場合に、カスタマーにウェイトの入力を促すために、ポリシー決定部324は、最新の誘導先評価データをカスタマー装置に提供するよう評価提供部325に依頼してもよい。他方、ポリシー決定部324は、ウェイト記憶部334にウェイトが保存されていない場合に、またはデフォルトとして、誘導先評価データに基づいてポリシーを自律決定してもよい。
 ポリシー決定部324は、ポリシーを自律決定する場合に、誘導先の候補を当該候補のスコアなどに基づいて、ポリシーに含める誘導先の候補を絞り込んでもよい。例えば、ポリシー決定部324は、誘導先評価データにおいて(エッジ)スコアの順位が予め定められた順位、例えば指定エッジ数に対応する順位、よりも下である候補を除外してもよいし、スコアが予め定められた閾値未満である候補を除外してもよい。
 ポリシー決定部324は、誘導先評価データに含まれる誘導先の候補のスコア、またはウェイト記憶部334に保存されたウェイトに基づいて、これから決定するポリシーを使用する誘導制御装置20が当該候補にリクエストを誘導する割合を示すウェイトを決定する。例えば、ポリシー決定部324は、ウェイト記憶部334に保存されたウェイトをそのままポリシーに記載してもよいし、誘導先の全候補に割り当てられたウェイトの総和のうち各候補に割り当てられたウェイトが占める割合を当該候補のウェイトとして決定してもよい。或いは、図10に示されるように、ポリシー決定部324は、ポリシーに含める誘導先の全候補のスコアの総和のうち各候補のスコアが占める割合を当該候補のウェイトとして決定し得る。なお、これらはウェイトの決定法の例に過ぎず、例えばウェイトはスコアの順位別に予め定められていてもよい。ウェイトは、例えば重み付きラウンドロビン方式の負荷分散技術におけるウェイトとして用いることができる。すなわち、図10のポリシーを使用する誘導制御装置20は、リクエストの55%をエッジ1に誘導し、残りの45%をエッジ7に誘導することになる。
 ポリシー記憶部333は、ポリシー決定部324によって決定されたポリシーを保存する。ポリシー記憶部333に保存されたポリシーは、例えばポリシー通知部327により読み出され得る。
 評価提供部325は、ポリシー決定部324からの依頼に応じて、通信I/F 310を介して誘導先評価データをカスタマー装置または他の外部装置に提供する。なお、ポリシー決定部324が、カスタマー装置によって設定されたウェイトに基づくポリシー決定を行わない場合には、評価提供部325は不要となり得る。
 ウェイト取得部326は、通信I/F 310によってカスタマー装置から受信されたウェイトを取得し、これをメモリ330中のウェイト記憶部334に書き込む。なお、ポリシー決定部324が、カスタマー装置によって設定されたウェイトに基づくポリシー決定を行わない場合には、ウェイト取得部326は不要となり得る。ウェイトは、例えば、誘導先評価データを閲覧したカスタマーによって誘導先の候補の少なくとも一部に割り当てられる。なお、ウェイトはカスタマーが任意に設定可能であるので、誘導先評価データにおける候補の評価値と相関しないこともあり得る。
 ウェイト記憶部334は、ウェイト取得部326によって取得されたウェイトを保存する。ウェイト記憶部334に保存されたウェイトは、例えばポリシー決定部324により読み出され得る。なお、ポリシー決定部324が、カスタマー装置によって設定されたウェイトに基づくポリシー決定を行わない場合には、ウェイト記憶部334は不要となり得る。
 ポリシー通知部327は、ポリシー記憶部333に新たなポリシー(更新されたポリシーを含む)が保存されると、当該ポリシーを読み出し、対応する誘導制御装置20に通知する。具体的には、ポリシー通知部327は、ポリシーおよびその通知先となる誘導制御装置20を識別するデータを通信I/F 310へ送り、通信I/F 310はこの誘導制御装置20へネットワーク経由でポリシーを送信する。
 (2)動作
 次に、以上のように構成された誘導先評価装置11、メトリクス生成装置12、およびポリシー制御装置13の動作をそれぞれ説明する。
 図11は、誘導先評価装置11の動作例を示す。図11の動作例では、通信I/F 110は、メトリクスデータ、プライオリティ、および評価提供要求の受信を待ち受ける(ステップS401、ステップS403およびステップS408)。他方、更新条件判定部123は、評価更新条件の満足を待ち受ける(ステップS405)。
 メトリクスデータが受信されれば処理はステップS402に進み、プライオリティが受信されれば処理はステップS404に進み、評価更新条件が満足したと判定されれば処理はステップS406に進み、評価提供要求が受信されれば処理はステップS409へ進む。
 ステップS402において、メトリクス取得部121は、受信されたメトリクスデータを取得し、メトリクス記憶部131に書き込む。ステップS402の後、通信I/F 110がメトリクスデータ、プライオリティ、および評価提供要求の受信を待ち受ける(ステップS401、ステップS403およびステップS408)一方で、更新条件判定部123は評価更新条件の満足を待ち受ける(ステップS405)。
 ステップS404において、プライオリティ取得部122は、受信されたプライオリティを取得し、設定データ記憶部132に書き込む。ステップS404の後、通信I/F 110がメトリクスデータ、プライオリティ、および評価提供要求の受信を待ち受ける(ステップS401、ステップS403およびステップS408)一方で、更新条件判定部123は評価更新条件の満足を待ち受ける(ステップS405)。
 ステップS406において、更新要求部124は、評価の更新を誘導先評価部125に要求する。誘導先評価部125は、ステップS406における要求に応じて、メトリクス記憶部131に保存されたメトリクスデータ、設定データ記憶部132に保存されたプライオリティを含むパラメータ、などに基づいて、誘導先の複数の候補を評価し、誘導先評価データを生成(更新)する(ステップS407)。ステップS407の後、通信I/F 110がメトリクスデータ、プライオリティ、および評価提供要求の受信を待ち受ける(ステップS401、ステップS403およびステップS408)一方で、更新条件判定部123は評価更新条件の満足を待ち受ける(ステップS405)。
 ステップS409において、評価提供部127は、受信された評価提供要求に応じた誘導先評価データを準備し、この要求の送信元である外部装置に通信I/F 110を介して提供する。ステップS409の後、通信I/F 110がメトリクスデータ、プライオリティ、および評価提供要求の受信を待ち受ける(ステップS401、ステップS403およびステップS408)一方で、更新条件判定部123は評価更新条件の満足を待ち受ける(ステップS405)。
 なお、図11の動作例では、評価提供部127は、評価提供要求の受信をトリガとして誘導先評価データを提供しているが、誘導先評価データの更新(ステップS407)、またはステップS409の前回の実施から所定期間が経過したことをトリガとして誘導先評価データをポリシー制御装置13または他の外部装置に提供してもよい。
 図12は、メトリクス生成装置12の動作例を示す。図12の動作例では、通信I/F 210は、監視データおよびメトリクス提供要求の受信を待ち受ける(ステップS501およびステップS504)。通信I/F 210が監視データを受信すると処理はステップS502に進み、通信I/F 210がメトリクス提供要求を受信すると処理はステップS505へ進む。
 ステップS502において、監視データ取得部221は、受信された監視データを取得し、監視データ記憶部231に書き込む。そして、メトリクス生成部222は、ステップS502において取得された監視データに基づいてメトリクスデータを生成する(ステップS503)。例えば、メトリクス生成部222は、新たなタイムスタンプとメトリクスおよび/またはそのスコアの値とを含むメトリクスデータを生成し得る。ステップS503の後、通信I/F 210は、監視データおよびメトリクス提供要求の受信を待ち受ける(ステップS501およびステップS504)。
 ステップS505において、メトリクス提供部224は、受信されたメトリクス提供要求に応じたメトリクスデータを準備し、この要求の送信元である外部装置に通信I/F 210を介して提供する。ステップS505の後、通信I/F 210は、監視データおよびメトリクス提供要求の受信を待ち受ける(ステップS501およびステップS504)。
 なお、図12の動作例では、メトリクス提供部224は、メトリクス提供要求の受信をトリガとしてメトリクスデータを提供しているが、メトリクスデータの生成(ステップS503)、またはステップS505の前回の実施から所定期間が経過したことをトリガとしてメトリクスデータを誘導先評価装置11または他の外部装置に提供してもよい。
 図13は、ポリシー制御装置13の動作例を示す。図13の動作例では、通信I/F 310は、誘導先評価データの受信を待ち受ける(ステップS601)。他方、更新条件判定部322は、ポリシー更新条件の満足を待ち受ける(ステップS603)。誘導先評価データが受信されれば処理はステップS602に進む。ポリシー更新条件が満足したと判定されれば処理はステップS604に進む。
 ステップS602において、評価取得部321は、受信された誘導先評価データを取得し、評価データ記憶部331に書き込む。ステップS602の後、通信I/F 310は誘導先評価データの受信を待ち受ける(ステップS601)一方で、更新条件判定部322はポリシー更新条件の満足を待ち受ける(ステップS603)。
 ステップS604において、更新要求部323は、ポリシーの更新をポリシー決定部324に要求する。ポリシー決定部324は、ステップS604における要求に応じて、誘導先評価データをカスタマー装置に提供するよう評価提供部325に依頼し、評価提供部325は評価データ記憶部331に保存されている誘導先評価データをカスタマー装置に提供する(ステップS605)。なお、ステップS605はオプションであり、後述されるステップS606、ステップS607およびステップS608とともに省略されてもよい。この場合に、処理はステップS604からステップS609へ進む。
 ステップS605の後に、通信I/F 310は、ウェイトの受信を例えば所定期間に亘って待ち受ける(ステップS606)。通信I/F 310がウェイトを受信した場合に処理はステップS607へ進み、通信I/F 310がウェイトを受信しなかった場合に処理はステップS609へ進む。
 ステップS607において、ウェイト取得部326は受信されたウェイトを取得し、ウェイト記憶部334に書き込む。次に、ポリシー決定部324は、ステップS607において取得されたウェイトに基づいて新たなポリシーを決定する(ステップS608)。例えば、ポリシー決定部324は、ウェイトをそのままポリシーに記載してもよいし、誘導先の全候補に割り当てられたウェイトの総和のうち各候補に割り当てられたウェイトが占める割合を当該候補のウェイトとして決定してもよい。ステップS608の後に処理はステップS610へ進む。
 ステップS609において、ポリシー決定部324は、評価データ記憶部331から誘導先評価データを読み出し、当該データに含まれる誘導先の候補のスコアに基づいて新たなポリシーを決定する。例えば、ポリシー決定部324は、ポリシーに含める誘導先の全候補のスコアの総和のうち各候補のスコアが占める割合を当該候補のウェイトとして決定してもよい。ステップS609の後に処理はステップS610へ進む。
 ステップS610において、ポリシー通知部327は、ステップS608またはステップS609において決定されたポリシーを誘導制御装置20に通知する。ステップS610の後、通信I/F 310は誘導先評価データの受信を待ち受ける(ステップS601)一方で、更新条件判定部322はポリシー更新条件の満足を待ち受ける(ステップS603)。
 (3)効果
 以上詳述したように実施形態に係る誘導先評価装置は、誘導制御装置がリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データに基づいて、当該複数の候補を評価して誘導先評価データを生成する。故に、この誘導先評価装置によれば、リクエストの誘導先の候補を動的に評価することができる。
 さらに、メトリクス生成装置は、ネットワーク上の外部装置からのメトリクス提供要求を通信I/Fを介して受信すると、要求の対象となるメトリクスデータを通信I/Fを介してその要求元の外部装置に送信する。よって、外部装置への新たなサービスを提供することができる。
 また、誘導先評価装置は、ネットワーク上の外部装置からの評価提供要求を通信I/Fを介して受信すると、要求の対象となる誘導先評価データを通信I/Fを介してその要求元の外部装置に送信する。よって、外部装置への新たなサービスを提供することができる。
 また、前述の実施形態では、誘導先評価装置やメトリクス生成装置に対して誘導先評価データやメトリクスデータを要求する外部装置について特に限定していないが、何らかの認証制御を行って、特定の外部装置についてのみメトリクスデータや誘導先評価データを提供するようにしてもよい。また、その提供に際して、提供するデータの量、例えば、誘導先評価データに含まれるエッジの個数、メトリクスデータに含まれるメトリクスの種類、などを基準にした課金制御などを行うようにしてもよい。
 その他、誘導先評価装置の構成とその処理手順、各記憶部の構成などについても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
 要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
 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…ウェイト記憶部

Claims (10)

  1.  誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得するメトリクス取得部と、
     前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データに基づいて前記複数の候補を評価し、誘導先評価データを生成する誘導先評価部と
     を具備する、誘導先評価装置。
  2.  前記誘導先評価部は、前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データと前記複数種類のメトリクスに割り当てられたプライオリティとに基づいて前記複数の候補を評価する、請求項1に記載の誘導先評価装置。
  3.  前記プライオリティを設定する権限を認可されたカスタマー装置から受信されたプライオリティを取得するプライオリティ取得部をさらに具備し、
     前記誘導先評価部は、前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データと前記カスタマー装置から受信されたプライオリティとに基づいて前記複数の候補を評価し、前記誘導先評価データを生成する、
     請求項2に記載の誘導先評価装置。
  4.  前記誘導先評価部は、前記複数の候補の各々に対応する前記複数種類のメトリクスの時系列データに基づく値を前記プライオリティに従って重み付き加算することで当該候補の評価値を算出し、前記複数の候補の少なくとも一部を前記評価値の降順にランク付けして前記誘導先評価データを生成する、請求項2または請求項3に記載の誘導先評価装置。
  5.  前記複数種類のメトリクスの時系列データに基づく値の各々は、所定の数値範囲内に収まるように正規化されている、請求項4に記載の誘導先評価装置。
  6.  前記複数の候補に含まれる第1の候補に関連付けられる複数種類のメトリクスは、前記第1の候補を前記誘導先として選択した場合の前記リクエストの伝送コストに関わる第1のメトリクスと、前記第1の候補を前記誘導先として選択した場合の前記リクエストの伝送品質に関わる第2のメトリクスとを含む、請求項1乃至請求項5のいずれか1項に記載の誘導先評価装置。
  7.  前記誘導先評価データを外部装置に提供する評価提供部をさらに具備する、請求項1乃至請求項6のいずれか1項に記載の誘導先評価装置。
  8.  予め定められた評価更新条件が満足するか否かを判定する更新条件判定部と、
     前記評価更新条件が満足すると判定された場合に、前記誘導先評価データの更新を要求する更新要求部と
     をさらに具備する、請求項1乃至請求項7のいずれか1項に記載の誘導先評価装置。
  9.  誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得することと、
     前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データに基づいて前記複数の候補を評価し、誘導先評価データを生成することと
     を具備する、誘導先評価方法。
  10.  コンピュータを、
     誘導制御装置が第1の宛先データを含むリクエストを誘導するための誘導先の複数の候補の各々に関連付けられる複数種類のメトリクスの時系列データを取得する手段、
     前記複数の候補に関連付けられる前記複数種類のメトリクスの時系列データに基づいて前記複数の候補を評価し、誘導先評価データを生成する手段
     として機能させる、誘導先評価プログラム。
PCT/JP2020/024017 2019-06-21 2020-06-18 誘導先評価装置、誘導先評価方法およびプログラム WO2020256076A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080045536.9A CN114080792A (zh) 2019-06-21 2020-06-18 引导目标评价装置、引导目标评价方法以及程序
EP20825665.1A EP4047890A4 (en) 2019-06-21 2020-06-18 ROUTING DESTINATION EVALUATION DEVICE, ROUTING DESTINATION EVALUATION METHOD AND PROGRAM
US17/555,184 US12015546B2 (en) 2019-06-21 2021-12-17 Routing destination evaluation apparatus, routing destination evaluating method and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019115693A JP7508204B2 (ja) 2019-06-21 誘導先評価装置、誘導先評価方法およびプログラム
JP2019-115693 2019-06-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/555,184 Continuation US12015546B2 (en) 2019-06-21 2021-12-17 Routing destination evaluation apparatus, routing destination evaluating method and program

Publications (1)

Publication Number Publication Date
WO2020256076A1 true WO2020256076A1 (ja) 2020-12-24

Family

ID=73995239

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/024017 WO2020256076A1 (ja) 2019-06-21 2020-06-18 誘導先評価装置、誘導先評価方法およびプログラム

Country Status (5)

Country Link
US (1) US12015546B2 (ja)
EP (1) EP4047890A4 (ja)
JP (1) JP2023155506A (ja)
CN (1) CN114080792A (ja)
WO (1) WO2020256076A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12015546B2 (en) 2019-06-21 2024-06-18 Ntt Communications Corporation Routing destination evaluation apparatus, routing destination evaluating method and program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460652B (zh) * 2019-07-26 2021-09-14 网宿科技股份有限公司 一种资源获取方法及边缘计算调度服务器

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 (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007089B2 (en) * 2001-06-06 2006-02-28 Akarnai Technologies, Inc. Content delivery network map generation using passive measurement data
EP1436736B1 (en) 2001-09-28 2017-06-28 Level 3 CDN International, Inc. Configurable adaptive global traffic control and management
US7027426B2 (en) * 2002-08-05 2006-04-11 Harris Corporation Multi-channel mobile ad hoc network
US20060294219A1 (en) 2003-10-03 2006-12-28 Kazuki Ogawa Network system based on policy rule
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US11258531B2 (en) * 2005-04-07 2022-02-22 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US20070263650A1 (en) * 2006-05-09 2007-11-15 Srivatsa Sivan Subramania Method for prioritizing web service requests
JP5114228B2 (ja) * 2008-01-29 2013-01-09 株式会社ジャストシステム データ入力装置及びデータ入力方法
CN101610174B (zh) * 2009-07-24 2011-08-24 深圳市永达电子股份有限公司 一种日志事件关联分析系统与方法
JP2011170422A (ja) 2010-02-16 2011-09-01 Kddi Corp P2p型通信用ポリシー管理システム
JP2012159873A (ja) 2011-01-28 2012-08-23 Nec Corp パケット分類システム、パケット分類方法、及びパケット分類用プログラム
US10261834B2 (en) * 2013-12-18 2019-04-16 Telefonaktiebolaget Lm Ericsson (Publ) Method and network node for selecting a media processing unit based on a media service handling parameter value
US9602380B2 (en) 2014-03-28 2017-03-21 Futurewei Technologies, Inc. Context-aware dynamic policy selection for load balancing behavior
US9961131B2 (en) * 2014-04-25 2018-05-01 Microsoft Technology Licensing, Llc Enhanced reliability for client-based web services
JP2015231134A (ja) 2014-06-05 2015-12-21 株式会社日立製作所 ポリシー配布装置
US11057446B2 (en) * 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
WO2017001621A1 (en) 2015-06-30 2017-01-05 British Telecommunications Public Limited Company Modifying quality of service treatment for data flows
GB2539977A (en) * 2015-06-30 2017-01-04 British Telecomm Communications Network
JP6326510B2 (ja) * 2015-08-28 2018-05-16 株式会社日立製作所 評価システム、評価方法およびデータ解析システム
US20170126789A1 (en) * 2015-10-30 2017-05-04 AppDynamics, Inc. Automatic Software Controller Configuration based on Application and Network Data
US10055262B1 (en) * 2015-12-11 2018-08-21 Amazon Technologies, Inc. Distributed load balancing with imperfect workload information
EP3400687A4 (en) * 2016-01-08 2019-06-12 Inspeed Networks, Inc. BIDIRECTIONAL DATA TRAFFIC CONTROL
US20180278498A1 (en) 2017-03-23 2018-09-27 Cisco Technology, Inc. Process representation for process-level network segmentation
US10560372B1 (en) 2017-08-28 2020-02-11 Amazon Technologies, Inc. Request routing based on server software versions
US10673761B2 (en) 2017-09-29 2020-06-02 Vmware, Inc. Methods and apparatus to improve packet flow among virtualized servers
US10958677B2 (en) * 2018-12-18 2021-03-23 At&T Intellectual Property I, L.P. Risk identification for unlabeled threats in network traffic
US11128733B2 (en) * 2019-03-27 2021-09-21 Cloudflare, Inc. Server-side resource prioritization
JP7297550B2 (ja) 2019-06-21 2023-06-26 エヌ・ティ・ティ・コミュニケーションズ株式会社 ポリシー決定装置、ポリシー決定方法およびプログラム
JP7191781B2 (ja) 2019-06-21 2022-12-19 エヌ・ティ・ティ・コミュニケーションズ株式会社 ポリシー決定装置、ポリシー決定方法、およびプログラム
WO2020256076A1 (ja) 2019-06-21 2020-12-24 エヌ・ティ・ティ・コミュニケーションズ株式会社 誘導先評価装置、誘導先評価方法およびプログラム
JP7297551B2 (ja) 2019-06-21 2023-06-26 エヌ・ティ・ティ・コミュニケーションズ株式会社 ポリシー決定装置、ポリシー決定方法およびプログラム

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 (3)

* Cited by examiner, † Cited by third party
Title
"Cloud Native SDx Control Technology", 14 August 2020 (2020-08-14), Japanese, XP055773303, Retrieved from the Internet <URL:https://www.ntt.co.jp/journal/1804/files/JN20180450.pdf> *
PETER LAQUERRE, NISHA SINGH: "Oracle Cloud Infrastructure Load Balancing Classic E76938-08 Oracle", 20 November 2018 (2018-11-20), pages 1 - 57, XP009532606, Retrieved from the Internet <URL:https://docs.oracle.com/cd/E83857_01/iaas-classic/load-balancer-cloud/lbrug/using-oracle-cloud-infrastructure-load-balancing-classic.pdf> *
SEISHO YASUKAWA ET AL.: "Research toward Realizing a Future Network Architecture", NTT TECHNICAL REVIEW, March 2018 (2018-03-01), pages 23 - 30, XP055644390

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12015546B2 (en) 2019-06-21 2024-06-18 Ntt Communications Corporation Routing destination evaluation apparatus, routing destination evaluating method and program

Also Published As

Publication number Publication date
US12015546B2 (en) 2024-06-18
EP4047890A4 (en) 2023-06-07
JP2023155506A (ja) 2023-10-20
EP4047890A1 (en) 2022-08-24
US20220116316A1 (en) 2022-04-14
JP2021002766A (ja) 2021-01-07
CN114080792A (zh) 2022-02-22

Similar Documents

Publication Publication Date Title
WO2020256074A1 (ja) ポリシー決定装置、ポリシー決定方法およびプログラム
US11381487B2 (en) Routing mode and point-of-presence selection service
Wichtlhuber et al. An SDN-based CDN/ISP collaboration architecture for managing high-volume flows
US9002978B2 (en) Content delivery prediction and feedback systems
JP2023155506A (ja) 誘導先評価装置、誘導先評価方法およびプログラム
US7970876B2 (en) Global server load balancer
WO2015011886A1 (ja) 通信システム
WO2020256075A1 (ja) ポリシー決定装置、ポリシー決定方法およびプログラム
Pedersen et al. Using latency as a QoS indicator for global cloud computing services
JP7508204B2 (ja) 誘導先評価装置、誘導先評価方法およびプログラム
JP7191781B2 (ja) ポリシー決定装置、ポリシー決定方法、およびプログラム
WO2017045438A1 (zh) 一种移动网络决策cdn中缓存内容的方法、装置及系统
Bernardi et al. Bsense: A flexible and open-source broadband mapping framework
Arumaithurai et al. Evaluation of ALTO-enhanced request routing for CDN interconnection
Warrior et al. Drongo: Speeding up CDNs with subnet assimilation from the client
EP2827557B1 (en) Automated application metric selection for multi-cost ALTO queries
Najaflou et al. The nearest origin-shield (NOS): a jitter-free overlay routing framework for content delivery networks
Tomic et al. Implementation and efficiency analysis of composite DNS-metric for dynamic server selection
JP7183762B2 (ja) サーバ選択装置、サーバ選択方法及びプログラム
EP2827558B1 (en) Automated metric weight tuning for multi-cost ALTO queries
Frank Dynamic content delivery infrastructure deployment using network cloud resources
Tran et al. QoE-Based Routing for Content Distribution Network Architecture
Enz Supporting Data Distribution Optimization in a Network of Heterogeneous Storage Services based on Distributed Measurements of Network Monitoring Metrics
KR20170120456A (ko) Mptcp 프록시 서버 및 mptcp 프록시 서버에서의 데이터 분배 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20825665

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2020825665

Country of ref document: EP