SCALABLE DATA FEED SYSTEM
First Claim
1. A system for pulling data from a plurality of data sources, the system comprising:
- a server configured to provide a pull service for retrieving data from the plurality of data sources, the server further configured to;
retrieve information identifying an assigned data source of the plurality of data sources, wherein the pull service is tasked with pulling data from the assigned data source;
receive a command to pull requested data;
schedule an attempt to pull the requested data from the assigned data source, wherein the schedule is maintained at least in part as a queue of work items, wherein work items specify the requested data to be pulled from the assigned data source;
execute a scheduled work item; and
if execution of the work item is successful, forward the requested data to a push service.
2 Assignments
0 Petitions
Accused Products
Abstract
A scalable data feed system is disclosed. The data feed system may be offered as a cloud service that can serve many enterprises or tenants that require data to be pulled from information sources such as FTP, POP3, databases, line of business systems, a topic subscription, or an RSS feed, and pushed the data to information sinks, such as SMTP, email, FTP, mobile phones, and other devices and services. A pull agent pumps data from pull sources and pushes the data out to push agent counterparts. The push agent transforms and sends the data in messages to push sink, such as FTP, SMTP, or a mobile device. Both the pull agent and the push agent services are implemented as replicated services over a structured overlay network for high availability that can serve multiple requests to pump out data from multiple pull sources and push the data to multiple information sinks.
19 Citations
20 Claims
-
1. A system for pulling data from a plurality of data sources, the system comprising:
-
a server configured to provide a pull service for retrieving data from the plurality of data sources, the server further configured to; retrieve information identifying an assigned data source of the plurality of data sources, wherein the pull service is tasked with pulling data from the assigned data source; receive a command to pull requested data; schedule an attempt to pull the requested data from the assigned data source, wherein the schedule is maintained at least in part as a queue of work items, wherein work items specify the requested data to be pulled from the assigned data source; execute a scheduled work item; and if execution of the work item is successful, forward the requested data to a push service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 19, 20)
-
-
9. A method for pulling data from a plurality of data sources using a pull service, the method comprising:
-
retrieving information identifying an assigned data source of the plurality of data sources, wherein the pull service is tasked with pulling data from the assigned data source; receiving a command to pull requested data; scheduling an attempt to pull the requested data from the assigned data source, wherein the schedule is maintained at least in part as a queue of work items, wherein work items specify the requested data to be pulled from the assigned data source; executing a scheduled work item; and if the execution of the work item is successful, forwarding the requested data to a push service. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method, comprising:
-
receiving data using a pull agent service that pulls data from an endpoint source; sending the data from the pull agent service to a push agent service; transforming the data at the push agent service; and sending the transformed data as messages to an information sink. - View Dependent Claims (17, 18)
-
Specification