Dynamic partitioning of applications between clients and servers
First Claim
Patent Images
1. A computer-implemented optimization system having computer readable media that store executable instructions executed by a processor, comprising:
- a cloud application that comprises client components of a client device and server components of a server configured to process workload;
a request component configured to receive a request from the cloud application to process portions of the workload via the client components and the server components, the request includes client resource information of available client resources to process the workload;
an optimization component that models dynamic application partitioning between the client device and the server by obtaining current values of client-specific parameters of the client resource information and computing an optimal dynamic partitioning of the client and server components to process the workload between the client device and the server based on the client-specific parameters of the client resource information; and
a microprocessor that executes computer-executable instructions associated with at least one of the request component or the optimization component.
2 Assignments
0 Petitions
Accused Products
Abstract
Optimization mechanism that dynamically splits the computation in an application (e.g., cloud), that is, which parts run on a client (e.g., mobile) and which parts run on servers in a datacenter. This optimization can be based on application characteristics, network connectivity (e.g., latency, bandwidth, etc.) between the client and the datacenter, power or energy available at the client, size of the application objects, load in the datacenter, security and privacy concerns (e.g., cannot share all data on the client with the datacenter), and other criteria, as desired.
26 Citations
28 Claims
-
1. A computer-implemented optimization system having computer readable media that store executable instructions executed by a processor, comprising:
-
a cloud application that comprises client components of a client device and server components of a server configured to process workload; a request component configured to receive a request from the cloud application to process portions of the workload via the client components and the server components, the request includes client resource information of available client resources to process the workload; an optimization component that models dynamic application partitioning between the client device and the server by obtaining current values of client-specific parameters of the client resource information and computing an optimal dynamic partitioning of the client and server components to process the workload between the client device and the server based on the client-specific parameters of the client resource information; and a microprocessor that executes computer-executable instructions associated with at least one of the request component or the optimization component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented optimization system having computer readable media that store executable instructions executed by a processor, comprising:
-
a request component that receives a request from a cloud application to process workload, the cloud application comprises client components of a client and server components of a server for processing the workload; an optimization component that models dynamic partitioning of the cloud application by obtaining current values of client-specific parameters of the client components and the server components and computing an optimal dynamic partitioning of the client components and server components to process the workload between the client and the server based on the client-specific parameters, client resources and server resources, and sends a response to the client that defines which client components to run locally against the workload; and a microprocessor that executes computer-executable instructions associated with at least one of the request component or the optimization component. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-implemented optimization method performed by a computer system executing machine-readable instructions, the method, comprising acts of:
-
receiving from a cloud application a request for processing workload via a client device and a server; receiving client resource availability information of the client device and server resource availability information of the server to process the workload; modeling dynamic application partitioning of the cloud application between the client device and the server by obtaining current values of parameters of the respective client and server resource availability information and computing an optimal dynamic partitioning of the cloud application; partitioning the computation of components of the cloud application that include server components of the server and client components of the client device between the client device and the server based on the current values of the parameters of the respective client and server resource availability information; and processing the workload using the components as partitioned. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification