IP Library Patent Application 16101095
Patent Application
App. No. 16/101,095

SELECTIVELY RE-HOMING DATA PROCESSING TASKS BASED ON DATA COMPLEXITY AND CANDIDATE SYSTEM PERFORMANCE CHARACTERISTICS

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
16/101,095
Abstract

Techniques are disclosed for selectively re-homing data processing tasks based on data complexity and candidate system performance characteristics. A server system obtains performance capabilities of a target system such that the server can decide whether to send program code and data to the target system for execution, based in part on the complexity of the data and code used in performing the request. In cases where a client system sending a request is capable of executing code and where other constraints are satisfied, e.g., bandwidth, throughput, and data volume, then the server can decide to re-home both the data and the program code to the client for execution.

Claims (63)

1 . A method for determining a processing system for a data processing request, comprising:

receiving, at a server computer, a request for data processing from a client computer;

evaluating, at the server computer, a plurality of short-circuit decision criteria;

transmitting, from the sever computer to the client computer, a performance benchmark component to the client computer configured to be run by the client computer and to generate a performance score related to the client computer;

receiving, from the client computer, the performance score based on the performance benchmark component; and

determining, based at least in part on the performance score, to instruct the client computer to perform data processing associated with the data processing request.

2 . The method of claim 1 , further comprising: sending, from the server computer to the client computer, data related to the request for data processing.

3 . The method of claim 2 , further comprising: sending, from the sever computer to the client computer, code components related to the request for data processing, wherein the code components are configured to be executed by the client computer in order to perform the data processing.

4 . The method of claim 3 , wherein the code components comprise a JavaScript application configured to perform the data processing.

5 . The method of claim 1 , further comprising:

determining a code complexity score associated with the request for data processing; and

determining that the code complexity score does not exceed a threshold code complexity score, which would require the server computer to perform the data processing.

6 . The method of claim 1 , further comprising:

determining a data complexity score associated with the request for data processing; and

determining that the data complexity score does not exceed a threshold data complexity score, which would require the server computer to perform the data processing.

7 . The method of claim 1 , wherein:

the request for data processing includes an indication of a processing capability of the client computer; and

the plurality of short-circuit decision criteria comprise at least:

determining whether a volume of data to be processed in accordance with the request exceeds a data volume threshold; and

determining whether the indication of the processing capability of the client computer meets a capability criterion.

8 . An server computer, comprising:

a memory comprising computer-executable instructions;

a processor configured to execute the computer-executable instructions and cause the server computer to perform a method for determining a processing system for a data processing request, the method comprising:

receiving, at the server computer, a request for data processing from a client computer;

evaluating, at the server computer, a plurality of short-circuit decision criteria;

transmitting, from the sever computer to the client computer, a performance benchmark component to the client computer configured to be run by the client computer and to generate a performance score related to the client computer;

receiving, from the client computer, the performance score based on the performance benchmark component; and

determining, based at least in part on the performance score, to instruct the client computer to perform data processing associated with the data processing request.

9 . The server computer of claim 8 , wherein the method further comprises: sending, from the server computer to the client computer, data related to the request for data processing.

10 . The server computer of claim 9 , wherein the method further comprises: sending, from the sever computer to the client computer, code components related to the request for data processing, wherein the code components are configured to be executed by the client computer in order to perform the data processing.

11 . The server computer of claim 10 , wherein the code components comprise a JavaScript application configured to perform the data processing.

12 . The server computer of claim 8 , wherein the method further comprises:

determining a code complexity score associated with the request for data processing; and

determining that the code complexity score does not exceed a threshold code complexity score, which would require the server computer to perform the data processing.

13 . The server computer of claim 8 , wherein the method further comprises:

determining a data complexity score associated with the request for data processing; and

determining that the data complexity score does not exceed a threshold data complexity score, which would require the server computer to perform the data processing.

14 . The server computer of claim 8 , wherein:

the request for data processing includes an indication of a processing capability of the client computer; and

the plurality of short-circuit decision criteria comprise at least:

determining whether a volume of data to be processed in accordance with the request exceeds a data volume threshold; and

determining whether the indication of the processing capability of the client computer meets a capability criterion.

15 . A non-transitory computer-readable medium comprising executable instructions that, when executed by a processor of a server computer, cause the server computer to perform a method for determining a processing system for a data processing request, comprising:

receiving, at the server computer, a request for data processing from a client computer;

evaluating, at the server computer, a plurality of short-circuit decision criteria;

transmitting, from the sever computer to the client computer, a performance benchmark component to the client computer configured to be run by the client computer and to generate a performance score related to the client computer;

receiving, from the client computer, the performance score based on the performance benchmark component; and

determining, based at least in part on the performance score, to instruct the client computer to perform data processing associated with the data processing request.

16 . The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:

sending, from the server computer to the client computer, data related to the request for data processing; and

sending, from the sever computer to the client computer, code components related to the request for data processing, wherein the code components are configured to be executed by the client computer in order to perform the data processing.

17 . The non-transitory computer-readable medium of claim 16 , wherein the code components comprise a JavaScript application configured to perform the data processing.

18 . The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:

determining a code complexity score associated with the request for data processing; and

determining that the code complexity score does not exceed a threshold code complexity score, which would require the server computer to perform the data processing.

19 . The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:

determining a data complexity score associated with the request for data processing; and

determining that the data complexity score does not exceed a threshold data complexity score, which would require the server computer to perform the data processing.

20 . The non-transitory computer-readable medium of claim 15 , wherein:

the request for data processing includes an indication of a processing capability of the client computer; and

the plurality of short-circuit decision criteria comprise at least:

determining whether a volume of data to be processed in accordance with the request exceeds a data volume threshold; and

determining whether the indication of the processing capability of the client computer meets a capability criterion.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 27, 2023
From: VCP CAPITAL MARKETS, LLC
To: OPENGOV, INC.
Reel/Frame 062881/0993 →
SECURITY INTEREST Recorded Aug 29, 2019
From: OPENGOV, INC.
To: VCP CAPITAL MARKETS, LLC
Reel/Frame 050210/0270 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2018
From: ROSENGARTEN, MIKE
To: OPENGOV, INC.
Reel/Frame 046626/0083 →