Scalable, distributed, asynchronous data collection mechanism
First Claim
1. A method of establishing a distributed data collection mechanism, comprising:
- providing an endpoint from which data is to be collected;
providing a collector to receive collection data from the endpoint; and
configuring the endpoint to initiate data collection by transmitting a data structure to the collector.
1 Assignment
0 Petitions
Accused Products
Abstract
The “scan” phase of a distributed data collection process is decoupled from upload of the return collection data, with the “scan” consisting merely of an infrequent profile push to configure autonomous scanners at the data collection endpoints. Distributed data collection is initiated by endpoints within the distributed network, which autonomously perform a scan and transmit a Collection Table of Contents (CTOC) data structure to a nearest available collector, then await a ready message from the collector. When ready to receive the return collection data, the collector signals the endpoint, which transfer the data collection in small packets to the collector. The collector stores the received data collection in persistent storage, then initiates collection to a higher collector or recipient in substantially the same manner as the endpoint. A routing manager controls the routing of data from endpoints through one or more collectors to the recipient. Scans for the data collection may thus be performed fully parallel, and upload of the collection data proceeds by direct channel under the control of the collectors. Bandwidth utilization for the data collection may thus be optimized for network loading by blackout periods and cooperation of the collectors with other distributed applications. The resulting distributed data collection mechanism is scalable, with large numbers of endpoints and large return collection data sizes being efficiently supported.
83 Citations
39 Claims
-
1. A method of establishing a distributed data collection mechanism, comprising:
-
providing an endpoint from which data is to be collected;
providing a collector to receive collection data from the endpoint; and
configuring the endpoint to initiate data collection by transmitting a data structure to the collector. - View Dependent Claims (2, 3, 4, 5, 6)
providing an autonomous scanner within the endpoint configured to scan the endpoint for collection data upon occurrence of a predetermined event.
-
-
3. The method of claim 2, wherein the step of providing an endpoint from which data is to be collected further comprises:
providing a plurality of endpoints, wherein each endpoint includes an autonomous scanner.
-
4. The method of claim 3, wherein the step of configuring the endpoint to initiate data collection by transmitting a data structure to the collector further comprises:
configuring each of the plurality of endpoints to initiate data collection by transmitting a data structure to the collector, wherein each of the plurality of endpoints is configured to upload collection data to the collector.
-
5. The method of claim 4, wherein the step of providing a collector to receive collection data from the endpoint further comprises:
providing a plurality of collectors to receive collection data from the plurality of endpoints, wherein the plurality of endpoints is logically divided into groups with each group of endpoints configured to upload collection data to a different collector within the plurality of collectors.
-
6. The method of claim 5, further comprising:
providing a routing manager specifying, for each endpoint within the plurality of endpoints, a collector within the plurality of collectors to which the respective endpoint uploads collection data.
-
7. A method of distributed data collection, comprising:
-
initiating data collection utilizing an endpoint from which data is to be collected by transmitting a data structure from the endpoint to a collector designated to receive collection data from the endpoint; and
initiating upload of the collection data from the endpoint to the collector by transmitting a ready signal from the collector to the endpoint. - View Dependent Claims (8, 9, 10, 11, 12, 13)
transmitting a collection table of contents containing a source, a recipient, a priority, and a time window from the endpoint to the collector.
-
-
9. The method of claim 8, further comprising:
-
responsive to transmitting the collection table of contents from the endpoint to the collector, receiving a collection identifier for the collection data; and
storing the collection identifier within the collection table of contents.
-
-
10. The method of claim 7, wherein the step of initiating upload of the collection data from the endpoint to the collector by transmitting a ready signal from the collector to the endpoint further comprises:
transmitting the ready signal to the endpoint when the collector is ready to receive the collection data.
-
11. The method of claim 7, where in the step of initiating upload of the collection data from the endpoint to the collector by transmitting a ready signal from the collector to the endpoint further comprises:
transmitting the ready signal based on a priority of the collection data, an availability of the endpoint, a number of pending collection data uploads to the collector from other endpoints, and network traffic for the collector.
-
12. The method of claim 7, further comprising:
checking a routing manager for the endpoint to determine to which collector among a plurality of collectors the collection data is to be directed.
-
13. The method of claim 7, further comprising:
-
responsive to receiving the ready signal from the collector at the endpoint, transmitting the collection data from the endpoint to the collector in packets; and
storing the collection data in persistent storage associated with the collector.
-
-
14. A system for establishing a distributed data collection mechanism, comprising:
-
an endpoint from which data is to be collected;
a collector to receive collection data from the endpoint, wherein the endpoint is configured to initiate data collection by transmitting a data structure to the collector. - View Dependent Claims (15, 16, 17, 18, 19)
an autonomous scanner within the endpoint configured to scan the endpoint for collection data upon occurrence of a predetermined event.
-
-
16. The system of claim 15, further comprising:
a plurality of endpoints, wherein each endpoint includes an autonomous scanner.
-
17. The system of claim 16, wherein each of the plurality of endpoints initiate data collection by transmitting a data structure to the collector and upload collection data to the collector.
-
18. The system of claim 16, further comprising:
a plurality of collectors to receive collection data from the plurality of endpoints, wherein the plurality of endpoints is logically divided into groups with each group of endpoints configured to upload collection data to a different collector within the plurality of collectors.
-
19. The system of claim 18, further comprising:
a routing manager specifying, for each endpoint within the plurality of endpoints, a collector within the plurality of collectors to which the respective endpoint uploads collection data.
-
20. A system for distributed data collection, comprising:
-
means for initiating data collection utilizing an endpoint from which data is to be collected by transmitting a data structure from the endpoint to a collector designated to receive collection data from the endpoint; and
means for initiating upload of the collection data from the endpoint to the collector by transmitting a ready signal from the collector to the endpoint. - View Dependent Claims (21, 22, 23, 24, 25, 26)
means for transmitting a collection table of contents containing a source, a recipient, a priority, and a time window from the endpoint to the collector.
-
-
22. The system of claim 21, further comprising:
-
means, responsive to transmitting the collection table of contents from the endpoint to the collector, for receiving a collection identifier for the collection data; and
means for storing the collection identifier within the collection table of contents.
-
-
23. The system of claim 20, wherein the means for initiating upload of the collection data from the endpoint to the collector by transmitting a ready signal from the collector to the endpoint further comprises:
means for transmitting the ready signal to the endpoint when the collector is ready to receive the collection data.
-
24. The system of claim 23, wherein the means for initiating upload of the collection data from the endpoint to the collector by transmitting a ready signal from the collector to the endpoint further comprises:
means for transmitting the ready signal based on a priority of the collection data, an availability of the endpoint, a number of pending collection data uploads to the collector from other endpoints, and network traffic for the collector.
-
25. The system of claim 20, further comprising:
means for checking a routing manager for the endpoint to determine to which collector among a plurality of collectors the collection data is to be directed.
-
26. The system of claim 20, further comprising:
-
means, responsive to receiving the ready signal from the collector at the endpoint, for transmitting the collection data from the endpoint to the collector in packets; and
means for storing the collection data in persistent storage associated with the collector.
-
-
27. A computer program product for establishing a distributed data collection mechanism, comprising:
-
instructions for providing an endpoint from which data is to be collected;
instructions for providing a collector to receive collection data from the endpoint; and
instructions for configuring the endpoint to initiate data collection by transmitting a data structure to the collector. - View Dependent Claims (28, 29, 30, 31, 32)
instructions for providing an autonomous scanner within the endpoint configured to scan the endpoint for collection data upon occurrence of a predetermined event.
-
-
29. The computer program product of claim 28, wherein the instructions for providing an endpoint from which data is to be collected further comprise:
instructions for providing a plurality of endpoints, wherein each endpoint includes an autonomous scanner.
-
30. The computer program product of claim 29, wherein the instructions for configuring the endpoint to initiate data collection by transmitting a data structure to the collector further comprise:
instructions for configuring each of the plurality of endpoints to initiate data collection by transmitting a data structure to the collector, wherein each of the plurality of endpoints is configured to upload collection data to the collector.
-
31. The computer program product of claim 30, wherein the instructions for providing a collector to receive collection data from the endpoint further comprise:
instructions for providing a plurality of collectors to receive collection data from the plurality of endpoints, wherein the plurality of endpoints is logically divided into groups with each group of endpoints configured to upload collection data to a different collector within the plurality of collectors.
-
32. The computer program product of claim 31, further comprising:
instructions for providing a routing manager specifying, for each endpoint within the plurality of endpoints, a collector within the plurality of collectors to which the respective endpoint uploads collection data.
-
33. A computer program product of distributed data collection, comprising:
-
instructions for initiating data collection utilizing an endpoint from which data is to be collected by transmitting a data structure from the endpoint to a collector designated to receive collection data from the endpoint; and
instructions for initiating upload of the collection data from the endpoint to the collector by transmitting a ready signal from the collector to the endpoint. - View Dependent Claims (34, 35, 36, 37, 38, 39)
instructions for transmitting a collection table of contents containing a source, a recipient, a priority, and a time window from the endpoint to the collector.
-
-
35. The computer program product of claim 34, further comprising:
-
instructions, responsive to transmitting the collection table of contents from the endpoint to the collector, for receiving a collection identifier for the collection data; and
instructions for storing the collection identifier within the collection table of contents.
-
-
36. The computer program product of claim 33, wherein the instructions for initiating upload of the collection data from the endpoint to the collector by transmitting a ready signal from the collector to the endpoint further comprise:
instructions for transmitting the ready signal to the endpoint when the collector is ready to receive the collection data.
-
37. The computer program product of claim 33, wherein the instructions for initiating upload of the collection data from the endpoint to the collector by transmitting a ready signal from the collector to the endpoint further comprise:
instructions for transmitting the ready signal based on a priority of the collection data, an availability of the endpoint, a number of pending collection data uploads to the collector from other endpoints, and network traffic for the collector.
-
38. The computer program product of claim 33, further comprising:
instructions for checking a routing manager for the endpoint to determine to which collector among a plurality of collectors the collection data is to be directed.
-
39. The computer program product of claim 33, further comprising:
-
instructions, responsive to receiving the ready signal from the collector at the endpoint, for transmitting the collection data from the endpoint to the collector in packets; and
instructions for storing the collection data in persistent storage associated with the collector.
-
Specification