DYNAMIC EXECUTION
First Claim
1. A computer implemented method of providing a service by a server to a plurality of client devices, the service being based on execution of a plurality of computations, the method comprising:
- receiving, by a processor, a request for the service from a first client device of the plurality of devices;
determining, by the processor, a classification for the first client device;
determining, by the processor, a portion of the plurality of computations to be executed by the first client device based on the determined classification, a remainder of the plurality of computations to be executed by the server;
providing, by the processor, the determined portion of the plurality of computations to the first client device for execution thereby;
causing, by the processor, the server to execute the remainder of the plurality of computations and provide the result thereof to the first client device;
causing, by the processor, the first client device to execute the determined portion of the plurality of computations provided thereto to obtain a result therefrom and aggregate an obtained result with the result received from the server, and present the aggregate result to a user of the first client device;
receiving, by the processor, a request for the service from a second client device of the plurality of client devices;
determining, by the processor, responsive to the request from the second client device, a classification for the second client device, the classification for the second client device being different from the classification of the first client device;
determining, by the processor, a portion of the plurality of computations to be executed by the second client device based on the classification therefore, the remainder of the plurality of computations to be executed by the server;
instructing, by the processor, the second client device to execute the determined portion of the plurality of computations to generate a result thereof;
instructing, by the processor, the server to execute the remainder of the plurality of computations and provide the result thereof to the second client device; and
wherein the second client device aggregates the generated result with the result received from the server and presents the aggregate result to a user of the second client device.
8 Assignments
0 Petitions
Accused Products
Abstract
The disclosed embodiments relate to provisioning of a service, such as a financial service, to a device, such as a mobile device operative to access the service wirelessly or otherwise, in a manner which efficiently provides a consistent user experience which meets a user'"'"'s expectations as to the functionality and quality of the service, including the user interface therefore and service delivery, which leverages the available capacities of the devices through which the service is provided so as to maximize the functionality and quality of the provided service without diminishing the experience, i.e. without substantially reducing the quality or functionality.
0 Citations
20 Claims
-
1. A computer implemented method of providing a service by a server to a plurality of client devices, the service being based on execution of a plurality of computations, the method comprising:
-
receiving, by a processor, a request for the service from a first client device of the plurality of devices; determining, by the processor, a classification for the first client device; determining, by the processor, a portion of the plurality of computations to be executed by the first client device based on the determined classification, a remainder of the plurality of computations to be executed by the server; providing, by the processor, the determined portion of the plurality of computations to the first client device for execution thereby; causing, by the processor, the server to execute the remainder of the plurality of computations and provide the result thereof to the first client device; causing, by the processor, the first client device to execute the determined portion of the plurality of computations provided thereto to obtain a result therefrom and aggregate an obtained result with the result received from the server, and present the aggregate result to a user of the first client device; receiving, by the processor, a request for the service from a second client device of the plurality of client devices; determining, by the processor, responsive to the request from the second client device, a classification for the second client device, the classification for the second client device being different from the classification of the first client device; determining, by the processor, a portion of the plurality of computations to be executed by the second client device based on the classification therefore, the remainder of the plurality of computations to be executed by the server; instructing, by the processor, the second client device to execute the determined portion of the plurality of computations to generate a result thereof; instructing, by the processor, the server to execute the remainder of the plurality of computations and provide the result thereof to the second client device; and wherein the second client device aggregates the generated result with the result received from the server and presents the aggregate result to a user of the second client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for provision of a plurality of services by a server to a plurality of client devices, the service being based on execution of a plurality of computations, the system comprising:
-
first logic stored in a memory and executable by a processor coupled with the server, to cause the processor to receive a request for a service of the plurality of services from a first client device of the plurality of client devices; second logic stored in the memory and executable by the processor to cause the processor to determine, responsive to the request, a currently available capacity for the first client device to execute the plurality of computations based a classification of the first client device'"'"'s available capacity; third logic stored in the memory and executable by the processor to cause the processor to determine a portion of the plurality of computations to be executed by the first client device based on the determined classification, a remainder of the plurality of computations to be executed by the server; fourth logic stored in the memory and executable by the processor to cause the processor to instruct the first client device to execute the determined portion of the plurality of computations to generate a result thereof; fifth logic stored in the memory and executable by the processor to cause the processor to instruct the server to execute the remainder of the plurality of computations and provide the result thereof to the first client device; and wherein the first client device aggregates the generated result with the result received from the server, and presents the aggregate result to a user of the first client device; the first logic further executable by the processor to cause the processor to receive a request for the service from a second client device; the second logic further executable by the processor to cause the processor to determine, responsive to the request from the second client device, a classification for the second client device, the classification for the second client device being different from the classification of the first client device; the third logic is further executable by the processor to cause the processor to determine a portion of the plurality of computations to be executed by the second client device based on the determined classification, the remainder of the plurality of computations to be executed by the server; the fourth logic is further executable by the processor to cause the processor to instruct the second client device to execute the determined portion of the plurality of computations to generate a result thereof; and the fifth logic is further executable by the processor to cause the processor to instruct the server to execute the remainder of the plurality of computations and provide the result thereof to the second client device; wherein the second client device aggregates the generated result with the result received from the server, and presents the aggregate result to a user of the second client device. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system for provision of a plurality of services by a server to a plurality of client devices, each of the plurality of services being based on execution of a plurality of computations, the system comprising computer executable program code stored in a non-transitory memory and executable by a processor of an server coupled therewith to cause the processor to receive a request from a client device of the plurality of client devices for one of the plurality of services to be provisioned thereto, determine a classification for the client device based on the client device'"'"'s available processing capacity, display capacity, communication capacity, memory capacity, storage capacity, or a combination thereof and reallocate, based on the determined classification, the plurality of computations among the client device and the server for execution thereby, wherein a result of a portion of plurality of computations generated as a result of execution by the server is provided to the one client device as it is generated for aggregation with a result of a portion of the plurality of computations generated as a result of execution by the one client device, the aggregate result being presented to a user of the client device;
- and
the system further comprising computer executable program code stored in the non-transitory memory and executable by the processor coupled therewith to cause the processor to receive a request from the client device for another of the plurality of services to be provisioned thereto, determine based on the client device'"'"'s currently available processing capacity, current display capacity, current communication capacity, current memory capacity, current storage capacity, or a combination thereof and reallocate a current classification for the client device and reallocate, based on the determined current classification, the plurality of computations among the client device and the server for execution thereby, wherein a result of the portion of plurality of computations generated as a result of execution by the server is provided to the client device as it is generated for aggregation with a result of the portion of the plurality of computations generated as a result of execution by the client device, the aggregate result being presented to a user of the client device. - View Dependent Claims (20)
- and
Specification