Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for managing operation of an application to avoid degradation of quality of service, comprising: monitoring execution of a first instance of the application executing in a first computing environment for a degraded quality of service, the first instance of the application comprising a primary operating instance of the application; receiving a high traffic of messages from the first instance of the application; receiving a first plurality of UDP packets among the high traffic of messages indicating a degraded quality of service corresponding to the first instance of the application, the degraded quality of service comprising a deterioration of bandwidth available to the first instance of the application; determining a bandwidth available to a second instance of the application executing in a second computing environment located in a different subnet of a computer network from the first computing environment; sending a second plurality of UDP packets to the first instance of the application, the second plurality of UDP packets comprising an instruction to perform one or more actions that facilitate transfer of a primary operation of the application; and migrating the primary operation of the application from the first instance of the application to the second instance of the application when the bandwidth available to the second instance exceeds the bandwidth available to the first instance of the application.
2. The method of claim 1 , further including dynamically provisioning the second instance of the application following detecting the degraded quality of service corresponding to the first instance of the application.
3. The method of claim 1 , wherein detecting the degraded quality of service comprises detecting bandwidth starvation in a networking device providing network routing service to a first subnet of the computer network, the first subnet comprising a plurality of computing environments, including the first computing environment.
4. The method of claim 3 , wherein detecting bandwidth starvation comprises sending a plurality of probes to a destination and determining a delay in a received response to the plurality of probes.
5. The method of claim 4 , wherein the destination is outside of the first subnet, wherein a probe of the plurality of probes comprises a packet pair, wherein the packet pair comprises a first packet and a second packet, and detecting bandwidth starvation comprises: sending the packet pair to the destination; and measuring a time delay between receiving a response from the destination corresponding to the first packet of the packet pair and a response from the destination corresponding to the second packet of the packet pair.
6. The method of claim 4 , wherein sending a plurality of probes comprises sending a plurality of single probe packets to the destination, and detecting bandwidth starvation comprises: queueing the plurality of single probe packets to be sent to the destination; and measuring a queueing delay corresponding to the plurality of single probe packets in the networking device.
7. The method of claim 1 , wherein migrating primary operation of the application comprises: re-assigning a second IP address corresponding to the second instance of the application with a first IP address corresponding to the first instance of the application.
8. The method of claim 1 , wherein migrating primary operation of the application comprises: re-programming a DNS resolution of a domain name corresponding to the first instance of the application to correspond to the second instance of the application.
9. The method of claim 1 , further including: provisioning a third instance of the application when the bandwidth available to the second instance of the application does not exceed the bandwidth available to the first instance of the application, the third instance of the application being provisioned on a third computing environment located in a different subnet of the computer network from both the first computing environment and the second computing environment; migrating primary operation of the application from the first instance of the application to the third instance of the application when the bandwidth available to the third instance exceeds the bandwidth available to the first instance of the application.
10. The method of claim 1 , further including: provisioning, following migrating primary operation of the application from the first instance of the application to the second instance of the application, a third instance of the application being provisioned on a third computing environment located in a different subnet of the computer network from both the first computing environment and the second computing environment.
11. The method of claim 1 , wherein the first plurality of UDP packets compete with the high traffic of messages such that the first plurality of UDP packets are received at a monitoring agent.
12. A method for managing operation of an application to avoid low bandwidth, comprising: monitoring execution of a first instance of the application for low bandwidth, the first instance of the application serving as a primary operating instance of the application and executing in a first computing environment located in a first subnet of a computer network; receiving a high traffic of messages from the first instance of the application; receiving a first plurality of UDP packets among the high traffic of messages indicating a low bandwidth condition corresponding to the first instance of the application, the low bandwidth condition indicating that a bandwidth available to the first instance of the application is below a first threshold bandwidth; determining a bandwidth available to a pre-launched, second instance of the application operating as a stand-by instance of the application, the second instance of the application executing in a second computing environment hosted in a second subnet of the computer network different from the first subnet; sending a second plurality of UDP packets to the first instance of the application, the second plurality of UDP packets comprising an instruction to perform one or more actions that facilitate transfer of a primary operation of the application; and migrating the primary operation of the application from the first instance to the second instance of the application when the bandwidth available to the second instance of the application exceeds a second threshold bandwidth.
13. The method of claim 12 , wherein the first plurality of UDP packets compete with the high traffic of messages such that the first plurality of UDP packets are received at a monitoring agent.
14. The method of claim 12 , wherein the second threshold bandwidth is set to be greater than the current bandwidth of the primary operating instance of the application.
15. The method of claim 12 , wherein migrating primary operation of the application from the first instance to the second instance of the application comprises: deactivating the first instance of the application as the primary operating instance of the application; activating the second instance of the application as the primary operating instance of the application; and launching a third instance of the application on a third computing environment hosted in a third subnet of the computer network that is different from the first and second subnets, the third computing environment comprising a new stand-by instance of the application.
16. The method of claim 15 , wherein deactivating the first instance of the application as a primary operating instance of the application comprises: providing notification to the first instance of the application to terminate operation and perform any operations required to facilitate migration of primary operation of the application to the second instance of the application.
17. The method of claim 12 , wherein migrating primary operation of the application from the first instance to the second instance of the application comprises: deactivating the first instance of the application as the primary operating instance of the application; activating the second instance of the application as the primary operating instance of the application; and designating a pre-launched third instance of the application as a new stand-by instance for the application, the pre-launched third instance of the application executing on a third computing environment in a third subnet of the computer network that is different from the first and second subnets.
18. The method of claim 12 , further including, when the bandwidth available to the second instance of the application does not exceed the second threshold bandwidth: launching a plurality of additional instances of the application; estimating bandwidths available to each of the plurality of additional instances of the application; evaluating the bandwidths relative to the second threshold bandwidth; selecting a new stand-by instance from the plurality of additional instances; and migrating the primary operation of the application from the first instance to the selected new stand-by instance if a bandwidth corresponding to the selected new stand-by instance has a bandwidth greater than the second pre-determined threshold.
19. The method of claim 18 , wherein each of the plurality of additional instances of the application are launched on different computing environments each hosted in a different subnet of the computer network from the first and second subnets.
20. The method of claim 12 , wherein migrating primary operation from the first instance of the application to the second instance of the application comprises: changing a static IP address of the second computing environment to the static IP address of the first computing environment.
21. The method of claim 12 , wherein migrating the primary operation from the first instance of the application to the second instance of the application comprises: changing a DNS translation of a domain name corresponding to the application from translating to an IP address of the first computing environment to an IP address of the second computing environment.
22. An application management system, the system comprising: a computer network comprising a plurality of computing environments distributed among a plurality of subnets of the computer network, a first computing environment of the plurality of computing environments being communicatively coupled to a first subnet of the plurality of subnets by a first networking device, the first computing environment executing a first instance of an application comprising a primary operating instance of the application, a second computing environment of the plurality of computing environments being communicatively coupled to a second subnet of the plurality of subnets by a second networking device, the second computing environment executing a second instance of the application comprising a stand-by instance of the application; and a monitoring agent for managing operation of the application, the monitoring agent being configured to: receive a high traffic of messages from the first instance of the application, receive a first plurality of UDP packets among the high traffic of messages indicating that a degraded quality of service is being experienced by the first instance of the application, send a second plurality of UDP packets to the first instance of the application, the second plurality of UDP packets comprising an instruction to perform one or more actions that facilitate transfer of a primary operation of the application, and initiate a migration of the primary operation of the application from the first instance of the application to the second instance of the application when a bandwidth available to the second instance of the application exceeds a bandwidth available to the first instance of the application.
23. The system of claim 22 , wherein at least one of the first computing environment and the second computing environment comprises a virtual machine.
24. The system of claim 22 , wherein the monitoring agent is executed on another one of the plurality of computing environments that is not communicatively coupled to the first subnet.
25. The system of claim 22 , wherein the monitoring agent is configured to detect that a degraded quality of service is being experienced by the first instance of the application by detecting bandwidth over-consumption by at least one of a plurality of constituent computing environments communicatively coupled to the first subnet.
26. The system of claim 22 , wherein monitoring agent is configured to detect that a degraded quality of service is being experienced by the first instance of the application by detecting a denial of service attack affecting at least one of a plurality of constituent computing environments communicatively coupled to the first subnet.
27. The application management system of claim 22 , wherein the first plurality of UDP packets compete with the high traffic of messages such that the first plurality of UDP packets are received at the monitoring agent.
Unknown
April 17, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.