End-to-end monitoring and optimization of a content delivery network using anycast routing
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/173
출원번호
US-0286486
(2011-11-01)
등록번호
US-8738766
(2014-05-27)
발명자
/ 주소
Kazerani, Alexander A.
Khakpour, Amir
출원인 / 주소
EdgeCast Networks, Inc.
대리인 / 주소
Los Angeles Patent Group
인용정보
피인용 횟수 :
7인용 특허 :
28
초록▼
Some embodiments implement systems and methods to monitor CDN performance from the end user's perspective. To achieve full end-to-end monitoring, the systems and methods monitor the performance of Anycast routing for routing an end user to the optimal PoP of the CDN and monitor the performance of di
Some embodiments implement systems and methods to monitor CDN performance from the end user's perspective. To achieve full end-to-end monitoring, the systems and methods monitor the performance of Anycast routing for routing an end user to the optimal PoP of the CDN and monitor the performance of different routes that deliver content from the optimally selected PoP back to the end user. Systems and methods are also provided to leverage the monitored performance in order to automatically optimize the performance of the CDN by optimizing or modifying Anycast routing and by performing route grooming as needed to ensure that the optimal route is selected to deliver content to different sets of end users that request content from a particular PoP.
대표청구항▼
1. A method for monitoring route performance of a particular point-of-presence (PoP) of a content delivery network (CDN), said method comprising: providing content that is embedded with monitoring code from the particular PoP to an end user machine using as a default route, a first route from a set
1. A method for monitoring route performance of a particular point-of-presence (PoP) of a content delivery network (CDN), said method comprising: providing content that is embedded with monitoring code from the particular PoP to an end user machine using as a default route, a first route from a set of routes, wherein each route of the set of routes comprises a different set of network hops that is traversed in reaching the end user machine and the first route comprises a first set of network hops, and wherein the monitoring code comprises sets of instructions which when executed by the end user machine cause the end user machine to (i) identify the set of routes from which content can be served from the particular PoP to the end user machine, (ii) measure performance for downloading a particular object from the particular PoP using each route of the set of routes, and (iii) report said performance measurements to a monitoring server;serving a different instance of the particular object from the particular PoP to the end user machine through different sets of network hops corresponding to each route of the set of routes;receiving at the monitoring server, performance measurements produced by the end user machine executing said monitoring code; andconfiguring the particular PoP with a particular second route from the set of routes that is not the first route as the default route for use in serving content from the particular PoP to the end user machine when the particular route is determined to be optimal relative to the first route based on said performance measurements, wherein the particular route comprises a second set of network hops that differ from the first set of network hops of the first route. 2. The method of claim 1, wherein the set of routes further comprises at least one peering route that is established with a neighboring autonomous system (AS) for connecting in part the end user machine to the particular PoP. 3. The method of claim 2, wherein the first route is the peering route. 4. The method of claim 1 further comprising generating a report to identify instances when the first route does not result in an end user optimally receiving content from the particular PoP. 5. The method of claim 1 further comprising configuring the particular second route from the set of routes based on (i) cost of the particular route relative to cost of the first route and (ii) reported performance measurements from the end user machine. 6. The method of claim 1 further comprising repeating said configuring on a periodic interval based on performance measurements reported by end user machines during each periodic interval. 7. The method of claim 1, wherein the monitoring code further comprises a set of instructions for identifying the particular PoP using Anycast routing. 8. The method of claim 1, wherein the monitoring code further comprises a plurality of IP addresses for addressing a request for the particular object to the particular PoP, wherein each IP address causes the particular PoP to serve the particular object using a different route of the set of routes. 9. The method of claim 1 further comprising associating a different IP address to each route of the set of routes from which content can be served from the particular PoP to the end user machine. 10. The method of claim 1, wherein said configuring comprises modifying a configuration of a router at the particular PoP. 11. The method of claim 1 further comprising analyzing performance measurements reported by at least the end user machine of a set of end user machines associated with a particular AS, and wherein configuring the particular second route comprises selecting a route from the set of routes that is not the first route for use in serving content from the particular PoP to end users associated with the particular AS. 12. The method of claim 1 further comprising analyzing performance measurements reported by at least the end user machine of a set of end user machines that are located in a particular geographic region, and wherein configuring the particular second route comprises selecting a route from the set of routes that is not the first route for use in serving content from the particular PoP to end users located in the particular geographic region. 13. The method of claim 1 further comprising analyzing performance measurements reported by at least the end user machine of a set of end user machines having a particular IP address prefix, and wherein configuring the particular second route comprises selecting a particular route from the set of routes that is not the first route for use in serving content from the particular PoP to end users having the particular IP address prefix. 14. The method of claim 1, wherein providing the monitoring code embedded in said content comprises encoding said monitoring code as a set of JavaScript instructions that are embedded in an error page that is served to the end user machine when the end user machine submits an invalid request for content. 15. A method for monitoring route performance of a particular PoP of a CDN, said method comprising: at an end user machine, receiving content that is embedded with monitoring code comprising sets of instructions for performing said route performance monitoring;based on a set of instructions of the monitoring code, identifying addressing for downloading a particular object from the particular PoP using a default route and each route of a set of routes that are available for connecting in part the end user machine to the particular PoP, wherein the set of routes comprises routes of different transit providers and each route of the set of routes comprises a different set of network hops that are traversed in connecting in part the end user machine to the particular PoP;based on a set of instructions of the monitoring code, downloading and measuring performance in downloading the particular object from different sets of network hops corresponding to the default route and each route of the set of routes;reporting said performance measurements to a monitoring server for determining whether the default route is optimal relative to each route of the set of routes. 16. The method of claim 15, wherein the set of routes further comprises at least one peering route that is established with a neighboring AS for connecting in part the end user machine to the particular PoP. 17. The method of claim 15 further comprising submitting a set of requests for the particular object to the particular PoP, wherein each request of the set of requests comprises a different identified address to cause said particular object to be downloaded from the particular PoP using a different route of the set of routes. 18. The method of claim 15, wherein determining whether the default route is optimal relative to each route of the set of routes comprises determining whether latency for serving the particular object from the particular PoP to the end user machine using the default route is less than latency for serving the particular object from the particular PoP to the end user machine using any of the routes of the set of routes. 19. A monitoring system for monitoring route performance of a particular PoP of a CDN comprising a plurality of PoPs, said monitoring system comprising: a first server comprising a processor coupled to memory for serving to an end user machine, content that is embedded with monitoring code, the monitoring code (i) identifying a set of routes from which content can be served from the particular PoP to the end user machine and (ii) comprising sets of instructions causing the end user machine processing the content to measure performance for downloading a particular object from the particular PoP using each route of the set of routes and report said measurements to a second server, wherein the set of routes comprises routes of different transit providers and each route of the set of routes comprises a different set of network hops that are traversed in connecting in part the end user machine to the particular PoP; anda second server comprising a processor coupled to memory for (i) receiving said performance measurements that are reported by the end user machine, (ii) generating from said performance measurement, a performance report that identifies if a default route that is used to serve content from the particular PoP to the end user machine is optimal relative to other routes of the set of routes, and (iii) modifying a routing policy of the particular PoP to select a particular route from the set of routes that is not the default route for use in serving content from the particular PoP to the particular end user machine when the performance report identifies the particular route as optimal relative to the default route.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (28)
Jungck,Peder J., Apparatus and method for domain name resolution.
Blumer Thomas P. ; Amstein Peter R. ; Drellishak Scott F. ; Forgaard Randy J. ; Schulert Andrew J., Computer system and computer-implemented process for remote editing of computer files.
Leighton, F. Thomson; Lewin, Daniel M., Content delivery network using edge-of-network servers for providing content delivery to a set of participating content providers.
Boutboul, Irwin; Martin, David E.; Meliksetian, Dikran S.; Zhou, Nianjun, Method, system and program product for optimized concurrent data download within a grid computing environment.
Ahmadi Hamid (Somers NY) Chen Jeane S. (Briarcliff Manor NY) Chow Chee-Seng (Ossining NY) Gurin Roch (Yorktown Heights NY) Gn Levent (Durham NC) Lee Anthony M. (White Plains NY) Tedijanto Theodore E., Methods and apparatus for optimum path selection in packet transmission networks.
Joshi,Prajakta Suresh; Kommula,Sunanda Lakshmi, Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.