DYNAMIC SCHEDULING OF TASKS FOR COLLECTING AND PROCESSING DATA FROM EXTERNAL SOURCES
First Claim
1. A computer-implemented method, comprising:
- identifying a plurality of first jobs, wherein each first job in the plurality of first job includes collecting data from an external source;
assigning each first job in the plurality of first jobs to a forwarder in a set of forwarders, wherein each forwarder in the set of forwarders is configured to collect data from a source and transmit the collected data to an indexer to be processed and stored;
transmitting, for each first job in the plurality of first jobs, data detailing the first job, wherein the data is transmitted to the forwarder assigned to the first job;
receiving a communication from each of one or more forwarders in the set of forwarders, wherein the communication is indicative of whether the assigned first job has been completed;
identifying a second job, wherein the second job includes collecting data;
selecting a forwarder of the set of forwarders to perform the second job, wherein the selection is based on the received communication; and
assigning the second job to the selected forwarder.
1 Assignment
0 Petitions
Accused Products
Abstract
A scheduler manages execution of a plurality of data-collection jobs, assigns individual jobs to specific forwarders in a set of forwarders, and generates and transmits tokens (e.g., pairs of data-collection tasks and target sources) to assigned forwarders. The forwarder uses the tokens, along with stored information applicable across jobs, to collect data from the target source and forward it onto an indexer for processing. For example, the indexer can then break a data stream into discrete events, extract a timestamp from each event and index (e.g., store) the event based on the timestamp. The scheduler can monitor forwarders'"'"' job performance, such that it can use the performance to influence subsequent job assignments. Thus, data-collection jobs can be efficiently assigned to and executed by a group of forwarders, where the group can potentially be diverse and dynamic in size.
120 Citations
30 Claims
-
1. A computer-implemented method, comprising:
-
identifying a plurality of first jobs, wherein each first job in the plurality of first job includes collecting data from an external source; assigning each first job in the plurality of first jobs to a forwarder in a set of forwarders, wherein each forwarder in the set of forwarders is configured to collect data from a source and transmit the collected data to an indexer to be processed and stored; transmitting, for each first job in the plurality of first jobs, data detailing the first job, wherein the data is transmitted to the forwarder assigned to the first job; receiving a communication from each of one or more forwarders in the set of forwarders, wherein the communication is indicative of whether the assigned first job has been completed; identifying a second job, wherein the second job includes collecting data; selecting a forwarder of the set of forwarders to perform the second job, wherein the selection is based on the received communication; and assigning the second job to the selected forwarder. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system, comprising:
-
one or more data processors; and a non-transitory computer-readable storage medium containing instructions which when executed on the one or more data processors, cause the one or more processors to perform operations including; identifying a plurality of first jobs, wherein each first job in the plurality of first jobs includes collecting data from an external source; assigning each first job in the plurality of first jobs to a forwarder in a set of forwarders, wherein each forwarder in the set of forwarders is configured to collect data from a source and transmit the collected data to an indexer to be processed and stored; transmitting, for each first job in the plurality of first jobs, data detailing the first job, wherein the data is transmitted to the forwarder assigned to the first job; receiving a communication from each of one or more forwarders in the set of forwarders, wherein the communication is indicative of whether the assigned first job has been completed; identifying a second job, wherein the second job includes collecting data; selecting a forwarder of the set of forwarders to perform the second job, wherein the selection is based on the received communication; and assigning the second job to the selected forwarder. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more data processors to:
-
identify a plurality of first jobs, wherein each first job in the plurality of first jobs includes collecting data from an external source; assign each first job in the plurality of first jobs to a forwarder in a set of forwarders, wherein each forwarder in the set of forwarders is configured to collect data from a source and transmit the collected data to an indexer to be processed and stored; transmit, for each first job in the plurality of first jobs, data detailing the first job, wherein the data is transmitted to the forwarder assigned to the first job; receive a communication from each of one or more forwarders in the set of forwarders, wherein the communication is indicative of whether the assigned first job has been completed; identify a second job, wherein the second job includes collecting data; select a forwarder of the set of forwarders to perform the second job, wherein the selection is based on the received communication; and assign the second job to the selected forwarder. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
Specification