IP Library Granted Patent US 11,847,108
Granted Patent B2
US 11,847,108 · App. 16/596,581 · Granted Dec 19, 2023

System and method for capturing data to provide to a data analyser

Inventors: Steven L. Pope (Cambridge, GB); David J. Riddoch (Huntingdon, GB); Matthew Knight (Irvine, CA)
Assignee: XILINX, INC.
G06F16/2272G06F16/2322H04L43/028H04L43/04H04L43/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,847,108
App. No.
16/596,581
Granted
Dec 19, 2023
Kind
B2
Abstract

A system has data capture devices collecting data from different points in a network. The captured data is written to a data store and is directed to an output. The data from the different data capture devices can be delivered to a data analytics device. As long as the data analytics device is able to keep pace with the data that is directed to the output, that data is used by the analytics device. If the analytics device is not able to keep pace, the data written to the data store is retrieved and is used until the analytics device has caught up.

Claims (51)

1. An apparatus comprising a data injecting arrangement comprising:

an input configured to receive data directly from a plurality of data capture devices that is network connected to the input, wherein said data is captured from a network by the plurality of data capture devices in a first format and processed by the plurality of data capture devices to convert it to a different format, and wherein the processing to convert the data to the different format comprises placing the data in accordance with a network communication protocol for communication between the plurality of data capture devices and the input;

at least one buffer configured to store said data; and

at least one processor configured to:

process said received data such that said data is in said first format; and

provide the received data to an output,

wherein the data injecting arrangement comprises the output, wherein the output is configured to output said received data in said first format to an application which uses said data, and

wherein the at least one processor is configured to, in response to the at least one buffer filling up above a threshold, (i) send messages to the plurality of data capture devices in order to reduce a rate at which the data is sent to the data injecting arrangement such that the at least one buffer does not overflow and (ii) configure the input to switch from receiving data directly from the plurality of data capture devices to receiving data indirectly from the plurality of data capture devices via a block store.

2. A data injecting arrangement as claimed in claim 1 , wherein the at least one processor is configured to control a rate of output of said data to said application by at least one of:

controlling the rate such that said rate does not exceed a maximum output rate; and

controlling the rate in dependence upon messaging from the application.

3. A data injecting arrangement as claimed in claim 1 , wherein the input is configured to receive data directly from the plurality of data capture devices.

4. A data injecting arrangement as claimed in claim 1 , wherein the at least one processor is configured to:

receive from the application, a request for data;

select one or more of the data capture devices in dependence upon the request from the application; and

cause sending to the selected one or more of the data capture devices, a request for data from the selected one or more of the data capture devices.

5. A data injecting arrangement as claimed in claim 4 , wherein the at least one processor is configured to establish connections with the selected one or more of the data capture devices.

6. A data injecting arrangement as claimed in claim 1 , wherein the at least one processor is configured to filter the data in accordance with data requirements of the application.

7. A system comprising a first device and a plurality of data capture devices, wherein the first device and the plurality of capture devices are network connected, wherein each of said plurality of data capture devices comprises:

an input configured to capture data from a network in a first format;

a processor configured to process said data to have a different format and to include time information, wherein processing said data comprises converting the data to the different format such that it is in accordance with a network communication protocol for communication between the plurality of data capture devices and the first device;

a writer configured to write said data to a data store; and

an output configured to output said data in said different format, and said first device comprising:

an input configured to receive directly from the plurality of data capture devices said data in said different format with time information;

at least one buffer configured to store data; and

at least one processor configured to:

process received data such that said received data is in said first format; and

an output configured to output said received data in said first format to an application which uses said data,

wherein the at least one processor is configured to, in response to the at least one buffer filling up above a threshold, (i) send messages to the plurality of data capture devices in order to reduce a rate at which the data is sent to the data injecting arrangement such that the at least one buffer does not overflow and (ii) configure the input to switch from receiving data directly from the plurality of data capture devices to receiving data indirectly from the plurality of data capture devices via a block store.

8. A system as claimed in claim 7 , wherein the at least one processor of the first device is configured to provide the received data to the output of the first device in an order dependent upon the time information received with the received data.

9. A system as claimed in claim 7 , wherein:

the first format is an unencapsulated format;

the different format is an encapsulated format;

the processing said data to have a different format comprises encapsulating said data to place said data in said encapsulated format; and

the processing said received data such that said data is in said first format comprises removing encapsulation from said received data such that said data is in said unencapsulated format.

10. A data injecting arrangement comprising:

an input configured to receive directly from a plurality of data capture devices, data captured by said plurality of data capture devices from a network, wherein said data is, prior to being converted to an encapsulated format by the plurality of data capture devices, captured by the plurality of data capture devices from the network in a unencapsulated format and received from the plurality of data capture devices in the encapsulated format;

at least one buffer configured to store data;

at least one processor configured to remove encapsulation from said received data such that said data is in said unencapsulated format; and

an output configured to output said received data in said unencapsulated format to an application which uses said data,

wherein the at least one processor is configured to, in response to the at least one buffer filling up above a threshold, (i) send messages to the plurality of data capture devices in order to reduce a rate at which the data is sent to the data injecting arrangement such that the at least one buffer does not overflow and (ii) configure the input to switch from receiving data directly from the plurality of data capture devices to receiving data indirectly from the plurality of data capture devices via a block store.

11. A data injecting arrangement as claimed in claim 10 , wherein the encapsulated format is a transmission control protocol format.

12. A data injecting arrangement as claimed in claim 10 , wherein the at least one processor may be configured to control a rate of output of said data to said application by at least one of:

controlling the rate such that said rate does not exceed a maximum output rate; and

controlling the rate in dependence upon messaging from the application.

13. A data injecting arrangement as claimed in claim 10 , wherein the input is configured to receive data directly from the plurality of data capture devices that is network connected to the input in real time.

14. A data injecting arrangement as claimed in claim 10 , wherein the at least one processor is configured to:

receive from the application, a request for data;

select one or more of the data capture devices in dependence upon the request from the application; and

cause sending of a request for data from the selected one or more of the data capture devices.

15. A system as claimed in claim 10 , wherein the received data is in a packet capture format.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: SOLARFLARE COMMUNICATIONS, INC.
To: XILINX, INC.
Reel/Frame 051108/0209 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2019
From: POPE, STEVEN L.; RIDDOCH, DAVID J.; KNIGHT, MATTHEW
To: SOLARFLARE COMMUNICATIONS, INC.
Reel/Frame 050658/0611 →
Continuity (3)
Division 14752472 · Jun 26, 2015
Continuation In Part 14730094 · Jun 3, 2015
Related Publication 20200042509A1 · Feb 6, 2020