US2013080623A1PendingUtilityA1

Dynamic route requests for multiple clouds

Assignee: THIREAULT JASONPriority: Sep 26, 2011Filed: Dec 14, 2011Published: Mar 28, 2013
Est. expirySep 26, 2031(~5.1 yrs left)· nominal 20-yr term from priority
Inventors:Jason Thireault
H04L 41/40H04L 61/00G06F 9/505H04L 67/10H04L 67/63H04L 45/70H04L 67/1014H04L 41/145H04L 41/5096G06F 9/5027
40
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Aspects of the present invention include a method of dynamically routing requests within multiple cloud computing networks. The method includes receiving a request for an application from a user device, forwarding the request to an edge server within a content delivery network (CDN), and analyzing the request to gather metrics about responsiveness provided by the multiple cloud computing networks running the application. The method further includes analyzing historical data for the multiple cloud computing networks regarding performance of the application, based on the performance metrics and the historical data, determining an optimal cloud computing network within the multiple cloud computing networks to route the request, routing the request to the optimal cloud computing network, and returning the response from the optimal cloud computing network to the user device.

Claims

exact text as granted — not AI-modified
1 . A method of dynamically routing of requests within a plurality of cloud computing networks, the method comprising:
 receiving a request for an application from a user device;   forwarding the request to an edge server within a content delivery network (CDN), the edge server being at a point of presence (POP) that is one of a plurality of POPs within the CDN;   analyzing the request to gather metrics for the application configured to run on the plurality of cloud computing networks;   analyzing, within the CDN, historical data for the plurality of cloud computing networks regarding performance of the application;   based on the performance metrics and the historical data, determining an optimal cloud computing network within the plurality of cloud computing networks to route the request;   routing the request to the optimal cloud computing network; and   returning the response from the optimal cloud computing network to the user device.   
     
     
         2 . The method of dynamically routing of requests within the plurality of cloud computing networks as in  claim 1 , wherein the determination of the optimal cloud computing network comprises determining a customer's cost preferences and routing the request to a cloud computing network which corresponds to the cost preferences. 
     
     
         3 . The method of dynamically routing of requests within the plurality of cloud computing networks as in  claim 1 , where the performance metrics are determined in part by sending ping requests to the plurality of cloud computing networks. 
     
     
         4 . The method of dynamically routing of requests within the plurality of cloud computing networks as in  claim 3 , wherein responsiveness is based in part on round trip time of the ping requests. 
     
     
         5 . The method of dynamically routing of requests within the plurality of cloud computing networks as in  claim 4 , further comprising storing the performance metrics in a performance database. 
     
     
         6 . The method of dynamically routing of requests within the plurality of cloud computing networks as in  claim 5 , further comprising:
 dynamically updating the performance database; and   determining the optimal cloud computing network based on data stored within the updated performance database.   
     
     
         7 . The method of dynamically routing of requests within the plurality of cloud computing networks as in  claim 1 , wherein the historical data includes logging information for each request processed by each of the plurality of cloud computing networks. 
     
     
         8 . A method of dynamically routing of requests within a plurality of clouds computing networks, the method comprising:
 receiving a plurality of cloud computing network routing preferences from a customer;   receiving rankings for each of the plurality of cloud computing network routing preferences;   based on the plurality of cloud computing network routing preferences and the rankings, establishing a cloud computing network routing table;   transmitting a status request to each of the plurality of cloud computing networks, wherein the status requests are configured to determine cloud resource and network resource conditions;   receiving cloud resource and network resource status updates;   storing historical information for each of the plurality of cloud computing networks;   based at least in part on the plurality of cloud computing network routing preferences and ranking, the status updates, and the historical information, dynamically updating the cloud computing network routing table, the dynamically updating being performed within a content delivery network (CDN);   receiving at least one application request;   forwarding the request to an edge server within the CDN, the edge server being at a point of presence (POP) that is one of a plurality of POPs within the CDN; and   based on the cloud computing network routine table and the requested at least one application, routine the at least one application request to at least one of the plurality of cloud computing networks.   
     
     
         9 . (canceled) 
     
     
         10 . The method of dynamically routing of requests within the plurality of cloud computing networks as in  claim 8 , further comprising receiving updates to the plurality of cloud computing network routing preferences. 
     
     
         11 . The method of dynamically routing of requests within the plurality of cloud computing networks as in  claim 8 , further comprising receiving updates to the rankings for each of the plurality of cloud computing network routing preferences. 
     
     
         12 . A system for dynamically routing of requests within a plurality of cloud computing networks, the system comprising:
 a memory storage device; and   one or more processors coupled with the memory storage device, wherein the memory storage device has sets of instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to:   receive a request for an application from an edge server, the edge server being at a point of presence (POP) that is one of a plurality of POPs within a content delivery network (CDN);   analyze the request which respect to a cloud computing network routing table;   based on the cloud computing network routing table and the requested application, determine a cloud computing network from the plurality of cloud computing networks to route the request;   receive performance information for the application configured to run on each of the plurality of cloud computing networks;   based on the performance information, update, within the CDN, the cloud computing network routing table; and   based on the updated cloud computing network routing table, re-route subsequent requests to one or more of the plurality of the cloud computing networks.   
     
     
         13 . The system for dynamically routing of requests within the plurality of cloud computing networks as in  claim 12 , further comprising the CDN. 
     
     
         14 . The system for dynamically routing of requests within the plurality of cloud computing networks as in  claim 13 , wherein the CDN includes a request analysis unit, a cloud control unit, a policy database, and the edge server. 
     
     
         15 . The system for dynamically routing of requests within the plurality of cloud computing networks as in  claim 14 , wherein the request analysis unit is configured to analyze requests to determine which of the plurality of cloud computing networks to route the requests. 
     
     
         16 . The system for dynamically routing of requests within the plurality of cloud computing networks as in  claim 15 , wherein the cloud control unit is configured to receive the analysis from the request analysis unit and route the requests in accordance with the analysis. 
     
     
         17 . The system for dynamically routing of requests within the plurality of cloud computing networks as in  claim 12 , wherein the re-routing of the subsequent requests is based on part on one or more of the plurality of cloud computing networks being down or partially down. 
     
     
         18 . The system for dynamically routing of requests within the plurality of cloud computing networks as in  claim 12 , wherein sets of instructions stored on the memory storage device, when further executed by the one or more processors, cause the one or more processors to store the performance information in a performance database. 
     
     
         19 . The system for dynamically routing of requests within the plurality of cloud computing networks as in  claim 18 , wherein sets of instructions stored on the memory storage device, when further executed by the one or more processors, cause the one or more processors to:
 dynamically update the performance database; and   determine an optimal cloud computing network based on data stored within the updated performance database.   
     
     
         20 . The system for dynamically routing of requests within the plurality of cloud computing networks as in  claim 19 , wherein the performance database includes logging information for each request processed by each of the plurality of cloud computing networks.

Join the waitlist — get patent alerts

Track US2013080623A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.