Systems and methods to process a request received at an application program interface
First Claim
1. A system to process a request, the system comprising:
- at least one processor in communication with a non-transitory machine-readable medium storing instructions that, when executed by the at least one processor, cause the at least one processor to receive, over a network, the request from a client machine, the request comprising a job that is associated with data, the request received at an application program interface, the job indicating a set of tasks to be performed;
a peer-to-peer network of processing modules configured to generate a plurality of sub-jobs by dividing the job into equal quantities of work, the job being utilized to retrieve transaction data from a network-based marketplace, the plurality of sub-jobs respectively comprising at least one task of the set of tasks to be performed that corresponds to a portion of the data, the peer-to-peer network of processing modules configured to schedule the plurality of sub-jobs for parallel processing based on an availability of resources that are respectively utilized by the sub-jobs, the peer-to-peer network of processing modules configured to parallel process the plurality of sub-jobs and to generate task results that are respectively associated with the plurality of sub-jobs and to move one or more sub-jobs to a sub-job retry queue based on an availability of resources, moving the one or more sub-jobs to the sub-job retry queue making the one or more sub-jobs visible to one or more processing modules of the peer-to-peer network to which the one or more sub-jobs were not previously visible; and
a pool of database servers, the peer-to-peer network of processing modules limits a number of sub-jobs that are scheduled based on a peak load associated with the pool of database servers.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems to process a request received at an application program interface are described. The system receives a request from a client machine that includes a job that is associated with data. The request is received at an application program interface. Next, a peer-to-peer network of processing nodes generates a plurality of sub-jobs based on the job. The peer-to-peer network of processing nodes schedules the plurality of sub-jobs for parallel processing based on an availability of resources that are respectively utilized by the sub-jobs and parallel processes the plurality of sub-jobs before generating task results that are respectively associated with the plurality of sub-jobs.
25 Citations
21 Claims
-
1. A system to process a request, the system comprising:
-
at least one processor in communication with a non-transitory machine-readable medium storing instructions that, when executed by the at least one processor, cause the at least one processor to receive, over a network, the request from a client machine, the request comprising a job that is associated with data, the request received at an application program interface, the job indicating a set of tasks to be performed; a peer-to-peer network of processing modules configured to generate a plurality of sub-jobs by dividing the job into equal quantities of work, the job being utilized to retrieve transaction data from a network-based marketplace, the plurality of sub-jobs respectively comprising at least one task of the set of tasks to be performed that corresponds to a portion of the data, the peer-to-peer network of processing modules configured to schedule the plurality of sub-jobs for parallel processing based on an availability of resources that are respectively utilized by the sub-jobs, the peer-to-peer network of processing modules configured to parallel process the plurality of sub-jobs and to generate task results that are respectively associated with the plurality of sub-jobs and to move one or more sub-jobs to a sub-job retry queue based on an availability of resources, moving the one or more sub-jobs to the sub-job retry queue making the one or more sub-jobs visible to one or more processing modules of the peer-to-peer network to which the one or more sub-jobs were not previously visible; and a pool of database servers, the peer-to-peer network of processing modules limits a number of sub-jobs that are scheduled based on a peak load associated with the pool of database servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method to process a request, the method comprising:
-
receiving, over a network, a request from a client machine, the request comprising a job that is associated with data, the request received at an application program interface, the job indicating a set of tasks to be performed; generating a plurality of sub-jobs by dividing the job into equal quantities of work, the job being utilized for retrieving transaction data from a network-based marketplace, the plurality of sub-jobs respectively comprising at least one task of the set of tasks to be performed that corresponds to a portion of the data, the generating performed by a processing node in a peer-to-peer network of processing nodes; scheduling the plurality of sub-jobs for parallel processing based on an availability of resources that are respectively utilized by the sub-jobs, the resources including a pool of database servers, the scheduling including limiting a number of sub-jobs that are scheduled responsive to an identifying of a peak load associated with the pool of database servers, the scheduling being performed by a processing node in a peer-to-peer network of processing nodes moving one or more sub-jobs of the plurality of sub-jobs to a sub-job retry queue based on an availability of resources, moving the one or more sub-jobs to the sub-job retry queue making the one or more sub-jobs visible to one or more processing nodes of the peer-to-peer network to which the one or more sub-jobs were not previously visible; and parallel processing the sub-jobs with a plurality of processors to generate task results that are respectively associated with the plurality of sub-jobs, the parallel processing performed by at least one processing node in the peer-to-peer network of processing nodes. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 21)
-
-
20. A non-transitory machine-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform the following actions:
-
receive, over a network, a request from a client machine, the request comprising a job that is associated with data, the request received at an application program interface, the job indicating a set of tasks to be performed; generate a plurality of sub-jobs by dividing the job into equal quantities of work, the job is utilized to retrieve transaction data from a network-based marketplace, the plurality of sub-jobs respectively comprising at least one task of the set of tasks to be performed that corresponds to a portion of the data; schedule the plurality of sub-jobs for parallel processing based on an availability of resources that are respectively utilized by the sub-job, the resources include a pool of database servers, the schedule of the plurality of jobs includes a limitation of a number of sub-jobs that are scheduled responsive to an identification of a peak load associated with the pool of database servers move one or more sub-jobs of the plurality of sub-jobs to a sub-job retry queue based on an availability of resources, moving the one or more sub-jobs to the sub-job retry queue making the one or more sub-jobs visible to one or more processing nodes of the peer-to-peer network to which the one or more sub-jobs were not previously visible; and parallel process the sub-jobs with a plurality of processors to generate task results that are respectively associated with the sub-jobs.
-
Specification