Data matching using flow based packet data storage
AssigneeSilver Peak Systems, Inc.
InventorsDavid Anthony Hughes, John Burns, Zhigang Yin
Life of this patent
Estimating the term…
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.
Claims18
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.
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.
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.
Dependencies are inferred from the claim text.