Data gateway for jobs management based on a persistent job table and a server table
First Claim
1. A data gateway comprising:
- a server farm comprising a plurality of servers;
a persistent job table storage unit for centrally storing a persistent job table of jobs to be processed by the plurality of servers, wherein a job comprises an update of user data from multiple data sources, and wherein the persistent job table storage unit resides outside the plurality of servers;
a server table storage unit for centrally storing a server table of statuses of activities of the plurality of servers, wherein the server table storage unit resides outside the plurality of servers; and
a job engine processor for processing job requests from the multiple data sources using the persistent job table and the server table, wherein the persistent job table further comprises;
a retry count for indicating number of times the data gateway has tried processing a job;
a due time for specifying a next time the job is due for processing; and
a reschedule flag indicating the data gateway has received another notification for the job that is currently being processed.
9 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for updating user data from multiple data sources in a data gateway are disclosed. The data gateway includes a persistent job table for centrally storing jobs to be processed by the plurality of servers, a server table for centrally storing statuses of activities of the plurality of servers, and a job engine for processing job requests from the multiple data sources using the persistent job table and the server table. The data gateway includes a server farm having a plurality of servers, and where both the persistent job table and the server table reside outside the plurality of servers. The data gateway further includes a virtual Internet Protocol load balancer for dynamically mapping of jobs to be processed to particular servers according to user identifiers.
-
Citations
36 Claims
-
1. A data gateway comprising:
-
a server farm comprising a plurality of servers; a persistent job table storage unit for centrally storing a persistent job table of jobs to be processed by the plurality of servers, wherein a job comprises an update of user data from multiple data sources, and wherein the persistent job table storage unit resides outside the plurality of servers; a server table storage unit for centrally storing a server table of statuses of activities of the plurality of servers, wherein the server table storage unit resides outside the plurality of servers; and a job engine processor for processing job requests from the multiple data sources using the persistent job table and the server table, wherein the persistent job table further comprises; a retry count for indicating number of times the data gateway has tried processing a job; a due time for specifying a next time the job is due for processing; and a reschedule flag indicating the data gateway has received another notification for the job that is currently being processed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data gateway comprising:
-
a server farm comprising a plurality of servers; a persistent job table storage unit for centrally storing a persistent job table of jobs to be processed by the plurality of servers, wherein a job comprises an update of user data from multiple data sources, and wherein the persistent job table storage unit resides outside the plurality of servers; a server table storage unit for centrally storing a server table of statuses of activities of the plurality of servers, wherein the server table storage unit resides outside the plurality of servers; and a job engine processor for processing job requests from the multiple data sources using the persistent job table and the server table, wherein the job engine processor comprises; a job scheduler processor for scheduling job requests for updating user data; a storage queue for storing jobs to be processed; a job dispatcher for obtaining a lock for a job to be processed; and a job handler processor for processing the job according to the lock and a data source type of the job. - View Dependent Claims (10)
-
-
11. A method comprising:
-
receiving, via a data gateway, a job request, the data gateway comprising a server farm comprising a plurality of servers; fetching, via the data gateway, jobs due for processing from a persistent job table, stored on a persistent jobs table storage unit, wherein the persistent job table stores jobs to be processed by the plurality of servers, and wherein the persistent job table storage unit resides outside the plurality of servers; sending, via the data gateway, jobs to a storage queue; rescheduling, via the data gateway, jobs in the persistent job table for processing at a future time dispatching, via the data gateway, from the storage queue to a job handler processor a dispatched job to be processed; processing, via the job handler processor, the dispatched job by the job handler processor according to a data source type of the dispatched job; receiving, via the data gateway, a status from the job handler; and rescheduling, via the data gateway, the job in the persistent job table in response to the job being a recurring job and the status indicating the job has been completed. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method comprising:
-
receiving, via a data gateway, a job request, the data gateway comprising a server farm comprising a plurality of servers; fetching, via the data gateway, jobs due for processing from a persistent job table, stored on a persistent jobs table storage unit, wherein the persistent job table stores jobs to be processed by the plurality of servers, and wherein the persistent job table storage unit resides outside the plurality of servers; sending, via the data gateway, jobs to a storage queue; rescheduling, via the data gateway, jobs in the persistent job table for processing at a future time dispatching, via the data gateway, from the storage queue to a job handler processor a dispatched job to be processed; processing, via the job handler processor, the dispatched job by the job handler processor according to a data source type of the dispatched job; receiving, via the data gateway, a status from the job handler; rescheduling, via the data gateway, a job with a delay in the persistent job table in response to the status indicating a temporary error; and incrementing a retry count in the persistent job table. - View Dependent Claims (21, 22, 23)
-
-
24. A non-transitory computer readable storage medium for tangibly storing thereon program code for execution by a processor, the program code comprising:
-
code for receiving a job request at a data gateway, the data gateway comprising a server farm comprising a plurality of servers; code for fetching jobs due for processing from a persistent job table, stored in a persistent jobs table storage unit, wherein the persistent job table stores jobs to be processed by the plurality of servers, and wherein the persistent job table storage unit resides outside the plurality of servers; code for sending jobs to a storage queue; code for rescheduling jobs in the persistent job table for processing at a future time; code for dispatching a job to be processed from the storage queue to a job handler processor; code for processing the job by the job handler processor according to a data source type of the dispatched job; code for receiving a status from the job handler; and code for rescheduling the job in the persistent job table in response to the job being a recurring job and the status indicating the job has been completed. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A non-transitory computer readable storage medium for tangibly storing thereon program code for execution by a processor, the program code comprising:
-
code for receiving a job request at a data gateway, the data gateway comprising a server farm comprising a plurality of servers; code for fetching jobs due for processing from a persistent job table, stored in a persistent jobs table storage unit, wherein the persistent job table stores jobs to be processed by the plurality of servers, and wherein the persistent job table storage unit resides outside the plurality of servers; code for sending jobs to a storage queue; code for rescheduling jobs in the persistent job table for processing at a future time; code for dispatching a job to be processed from the storage queue to a job handler processor; code for processing the job by the job handler processor according to a data source type of the dispatched job; code for receiving a status from the job handler; code for rescheduling the job with a delay in the persistent job table in response to the status indicating a temporary error; and code for incrementing a retry count in the persistent job table. - View Dependent Claims (34, 35, 36)
-
Specification