Method and system for application load balancing
First Claim
1. A method for load balancing an application among a plurality of computing devices communicably coupled with at least one access network for communication between the devices, the method comprising:
- issuing a request, from a client device communicably coupled with said at least one access network, for said application;
monitoring a set of application attributes while executing said application, including measuring the set of application attributes associated with said application including at least one performance attribute for characterizing user perceived performance of said application based on one or more user interface events associated with a user interface of the application;
provisioning execution of said application on one of said client device and a server device in response to said request based on said set of application attributes, including determining whether to relocate said application from said server device to said client device based on said monitored set of application attributes while executing said application; and
executing said application on said one of said client and server devices based on provisioning execution of said application.
4 Assignments
0 Petitions
Accused Products
Abstract
In one aspect of the invention, a method for load balancing an application among a plurality of computing devices coupled with at least one access network for communication between the devices is provided. The method comprises storing the application on a server device coupled with the access network. The method also comprises measuring a set of application attributes associated with the application, including at least one performance attribute for characterizing a user perceived performance of the application. The method further comprises issuing a request, from a client device coupled with the access network, for the application. Additionally, the method comprises provisioning execution of the application on the client or server device in response to the request based on the set of application attributes. The method further comprises executing the application on the client or server device in response to provisioning the execution of the application.
111 Citations
43 Claims
-
1. A method for load balancing an application among a plurality of computing devices communicably coupled with at least one access network for communication between the devices, the method comprising:
-
issuing a request, from a client device communicably coupled with said at least one access network, for said application; monitoring a set of application attributes while executing said application, including measuring the set of application attributes associated with said application including at least one performance attribute for characterizing user perceived performance of said application based on one or more user interface events associated with a user interface of the application; provisioning execution of said application on one of said client device and a server device in response to said request based on said set of application attributes, including determining whether to relocate said application from said server device to said client device based on said monitored set of application attributes while executing said application; and executing said application on said one of said client and server devices based on provisioning execution of said application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for load balancing an application being executed within at least one network, the system comprising one or more computer-readable storage media storing instructions which, when executed by one or more systems, cause the system to run a plurality of modules to load balance an application being executed within at least one network, the plurality of modules comprising:
-
a plurality of execution modules communicably coupled with said at least one network to provide different execution environments for said application, the different execution environments includes at least one server and at least one client; at least one collection module coupled with said at least one network to monitor a set of application attributes while executing said application, the at least one collection module being operable to measure a set of application attributes associated with said application including at least one performance attribute for characterizing user perceived performance of said application based on one or more user interface events associated with a user interface of the application; at least one policy module coupled with said at least one network to determine a first execution module that satisfies at least one policy for determining an execution environment of said application based on said application attributes; and at least one program allocation module to allocate said application from a server to said first execution module, the first execution module being in a client. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system for load balancing an application among a plurality of computing devices communicably coupled with at least one access network for communication between the devices, the system comprising:
-
a client device communicably coupled with said at least one access network; a server device; means for issuing a request, from the client device communicably coupled with said at least one access network, for said application; monitoring a set of application attributes while executing said application, including means for measuring the set of application attributes including at least one performance attribute for characterizing user perceived performance of said application based on one or more user interface events associated with a user interface of the application; means for provisioning execution of said application on one of said server device and the client device in response to said request based on said set of application attributes, including means for determining whether to relocate said application from said server device to said client device during execution based on said monitored set of application attributes; and means for executing said application on said one of said client and server devices provisioning execution of said application. - View Dependent Claims (31, 32)
-
-
33. A method comprising:
-
monitoring a set of one or more application attributes associated with a mobile application program in a network comprising a plurality of nodes and an access network, the plurality of nodes including a mobile device, at least one of the application attributes characterizing user perceived performance of the application based on one or more user interface events associated with a user interface of the application; and load balancing execution of the mobile application program based on the set of application attributes and a storage location of the mobile application program, wherein load balancing the application comprises provisioning execution of the mobile application program on one of the plurality of nodes to achieve a level of user perceived performance of the mobile application program, wherein provisioning execution of the mobile application program comprises sending the mobile application program to a client device requesting the mobile application program if the set of application attributes is in a first state, and allowing a first server device that is storing the mobile application program to execute the mobile application program if the set of application attributes is in a second state, and executing the application on the one node. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. An article of manufacture having one or more computer-readable storage media storing instructions thereon which, when executed by one or more systems, cause the one or more systems to perform a method comprising:
-
monitoring a set of one or more application attributes associated with a mobile application program in a network comprising a plurality of nodes and an access network, the plurality of nodes including a mobile device and a first server device, at least one of the application attributes characterizing user perceived performance of the application based on one or more user interface events associated with a user interface of the application; and load balancing execution of the mobile application program based on the set of application attributes and a storage location of the mobile application program, wherein load balancing the application comprises provisioning execution of the mobile application program on one of the plurality of nodes to achieve a level of user perceived performance of the mobile application program, wherein provisioning execution of the mobile application program comprises sending the mobile application program to a mobile device requesting the mobile application program if the set of application attributes is in a first state, and allowing the first server device that is storing the mobile application program to execute the mobile application program if the set of application attributes is in a second state, and executing the application on the one node.
-
Specification