Parallel processing for multiple instance real-time monitoring
First Claim
1. A computer-implemented method for analyzing network traffic, comprising:
- observing network data packets associated with a network data stream using a first process;
performing operations on the data packets using a first thread of execution of the first process running a plurality of execution threads, comprising;
routing the data packets to a plurality of first shared memories based on predetermined routing rules,removing the data packets stored in the plurality of first shared memories using additional threads from among the plurality of threads, each thread from among the plurality of threads dedicated to one of the plurality of first shared memories, andstoring the data packets to a plurality of second shared memories using the dedicated threads;
computing statistics associated with the data packets stored in the plurality of second shared memories; and
placing the computed statistics into a data pipeline, wherein the data pipeline stores the computed statistics according to time intervals, wherein the data pipeline comprises hierarchical levels of data structures associated with time intervals, the data structures of time intervals above the lowest-level comprising a predetermined number of data structures for the next-lower time interval.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for analyzing network traffic data to generate complex statistics associated with the network traffic in real-time through parallel processing and data pipelining. In one implementation, a system includes a processor and a memory. The memory stores instructions that cause the processor to generate a plurality of program instances, wherein a first program instance observes the network traffic and uses a plurality of execution threads to distribute portions of the network traffic to additional program instances tasked with generating statistics associated with the network traffic. In other embodiments, a plurality of additional execution threads to the first program instance are tasked with generating the statistics. In either case, the generated statistics are placed into a data pipeline organized into time intervals of generated statistics, wherein the computation of higher-order statistics are computed as the lower-order time intervals are processed.
-
Citations
24 Claims
-
1. A computer-implemented method for analyzing network traffic, comprising:
-
observing network data packets associated with a network data stream using a first process; performing operations on the data packets using a first thread of execution of the first process running a plurality of execution threads, comprising; routing the data packets to a plurality of first shared memories based on predetermined routing rules, removing the data packets stored in the plurality of first shared memories using additional threads from among the plurality of threads, each thread from among the plurality of threads dedicated to one of the plurality of first shared memories, and storing the data packets to a plurality of second shared memories using the dedicated threads; computing statistics associated with the data packets stored in the plurality of second shared memories; and placing the computed statistics into a data pipeline, wherein the data pipeline stores the computed statistics according to time intervals, wherein the data pipeline comprises hierarchical levels of data structures associated with time intervals, the data structures of time intervals above the lowest-level comprising a predetermined number of data structures for the next-lower time interval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system for analyzing network traffic, comprising:
-
one or more processors; and a memory system having instructions, that when executed by the one or more processors, cause the one or more processors to perform the operations of; observing network data packets associated with a network data stream using a first process; performing operations on the data packets using a first thread of execution of the first process running a plurality of execution threads, comprising; routing the data packets to a plurality of first shared memories based on predetermined routing rules, removing the data packets stored in the plurality of first shared memories using additional threads from among the plurality of threads, each thread from among the plurality of threads dedicated one of the plurality of first shared memories, and storing the data packets to a plurality of second shared memories using the dedicated threads; computing statistics associated with the data packets stored in the plurality of second shared memories; and placing the computed statistics into a data pipeline, wherein the data pipeline stores the computed statistics according to time intervals, wherein the data pipeline comprises hierarchical levels of data structures associated with time intervals, the data structures of time intervals above the lowest-level comprising a predetermined number of data structures for the next-lower time interval. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium storing instructions for analyzing network traffic, the instructions operable to cause one or more computer processors to perform operations, comprising:
-
observing network data packets associated with a network data stream using a first process; performing operations on the data packets using a first thread of execution of the first process running a plurality of execution threads, comprising; routing the data packets to a plurality of first shared memories based on predetermined routing rules, removing the data packets stored in the plurality of first shared memories using additional threads from among the plurality of threads, each thread from among the plurality of threads dedicated to one of the plurality of first shared memories, and storing the data packets to a plurality of second shared memories using the dedicated threads; and computing statistics associated with the data packets stored in the plurality of second shared memories; placing the computed statistics into a data pipeline, wherein the data pipeline stores the computed statistics according to time intervals, wherein the data pipeline comprises hierarchical levels of data structures associated with time intervals, the data structures of time intervals above the lowest-level comprising a predetermined number of data structures for the next-lower time interval. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification