Data matching using flow based packet data storage
First Claim
Patent Images
1. A system for matching data using flow based packet data storage, the system comprising:
- a communications interface that receives at least one data packet at a network device between a source and a destination, the at least one data packet including data and flow information; and
a processor that;
identifies a flow between the source and the destination based on the flow information in the at least one data packet;
determines whether at least a portion of the data from the received at least one data packet indicates one or more potential matches to data in storage;
retrieves a list of possible data matches;
determines match sizes of at least two likely data matches by directly comparing packet bytes and matched data bytes; and
stores the data from the at least one data packet without a packet header in a block of memory allocated for the flow, orgenerates a retrieve instruction for the data match depending on the match sizes.
5 Assignments
0 Petitions
Accused Products
Abstract
A system for matching data using flow based packet data storage includes a communications interface and a processor. A communications interface receives a packet between a source and a destination. The processor identifies a flow between the source and the destination based on the packet. The processor determines whether some of packet data of the packet indicates a potential match to data in storage using hashes. The processor then stores the data from the most likely data match and second most likely data match without a packet header in a block of memory in the storage based on the flow.
-
Citations
18 Claims
-
1. A system for matching data using flow based packet data storage, the system comprising:
-
a communications interface that receives at least one data packet at a network device between a source and a destination, the at least one data packet including data and flow information; and a processor that; identifies a flow between the source and the destination based on the flow information in the at least one data packet; determines whether at least a portion of the data from the received at least one data packet indicates one or more potential matches to data in storage; retrieves a list of possible data matches; determines match sizes of at least two likely data matches by directly comparing packet bytes and matched data bytes; and stores the data from the at least one data packet without a packet header in a block of memory allocated for the flow, or generates a retrieve instruction for the data match depending on the match sizes. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for matching data using flow based packet data storage, the method comprising:
-
receiving at least one data packet at a network device between a source and a destination, the at least one data packet including data and flow information; identifying a flow between the source and the destination based on the flow information in the at least one data packet; determining whether at least a portion of the data from the received at least one data packet indicates one or more potential matches to data in storage; retrieving a list of possible data matches; determining match sizes at least two likely data matches by directly comparing packet bytes and matched data bytes; and storing the data from the at least one data packet without a packet header in a block of memory allocated for the flow, or generating a retrieve instruction for the data match depending on the match sizes. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium having embodied thereon a program, the program executable by a processor to perform a method for matching data using flow based packet data storage, the method comprising:
-
receiving at least one data packet at a network device between a source and a destination, the at least one data packet including data and flow information; identifying a flow between the source and the destination based on the flow information in the at least one data packet; determining whether at least a portion of the data from the received at least one data packet indicates one or more potential matches to data in storage; retrieving a list of possible data matches; determining match sizes of at least two likely data matches by directly comparing packet bytes and matched data bytes; and storing the data from the at least one data packet without a packet header in a block of memory allocated for the flow, or generating a retrieve instruction for the data match depending on the match sizes. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification