×

DYNAMIC EXECUTION

  • US 20180270332A1
  • Filed: 05/23/2018
  • Published: 09/20/2018
  • Est. Priority Date: 12/21/2012
  • Status: Active Grant
First Claim
Patent Images

1. A computer implemented method of providing a plurality of services by a server to a plurality of client devices, each service being based on execution of a plurality of computations, the method comprising:

  • receiving, by a processor of an intermediary device coupled with the server and the plurality of client devices, a request for a service of the plurality of services from a first client device of the plurality of client devices;

    determining, by the processor, responsive to the request, a currently available capacity for the first client device to execute the plurality of computations based on data indicative of the first client device'"'"'s available capacity obtained therefrom;

    determining, by the processor, a portion of the plurality of computations to be executed by the first client device based on the determined currently available capacity therefore, the remainder of the plurality of computations to be executed by the server;

    instructing, by the processor, the first client device to execute the determined portion of the plurality of computations to generate a result thereof; and

    instructing, by the processor, 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; and

    monitoring, by the processor, during provision of the service responsive to the request, the currently available capacity for the first client device to execute the plurality of computations, and reallocating the plurality of computations as between the first client device and the server based thereon.the method further comprising;

    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 currently available capacity for the second client device to execute the plurality of computations based on data indicative of the second device'"'"'s available capacity obtained therefrom, the currently available capacity for the second client device being different from the currently available capacity 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 determined currently available capacity 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; and

    monitoring, by the processor, during provision of the service responsive to the request, the currently available capacity for the second client device to execute the plurality of computations, and reallocating the plurality of computations as between the second client device and the server based thereon.

View all claims
  • 10 Assignments
Timeline View
Assignment View
    ×
    ×