Patent ID: 7330908

Claim:
A system for processing a plurality of packets according to an application defined by at least one entity, each of the plurality of packets being communicated via a network from a source to a destination intended by the source, each of the plurality of packets comprising a plurality of portions, the system comprising: a processor coupled with the network and operative to examine each of the plurality of packets; a location addressable memory operative to store a plurality of reference data specified by the application, each of the plurality of reference data stored at a particular address in the location addressable memory, wherein the location addressable memory is further operative to receive an address and return the reference data stored at the received address in the location addressable memory; a content addressable memory operative to store a plurality of query data specified by the application, each of the plurality of query data being stored in the content addressable memory associated with at least one location data, the at least one location data comprising at least one address in the location addressable memory of the particular reference data associated with the particular query data, wherein the content addressable memory is further operative to receive at least one query data of the plurality of query data and respond with the associated at least one location data; and an interface coupled between the processor, the location addressable memory and the content addressable memory, the interface operative to receive a first query data of the plurality of query data from the processor based on the examination, and, in response to receiving the first query data, access the content addressable memory based on the first query data to obtain the at least one location data associated with the first query data, access the location addressable memory based on the obtained at least one location data to obtain the reference data stored in the location addressable memory at the address identified by the obtained at least one location data, and provide the stored reference data to the processor, the processor being further operative to process at least one of the plurality of packets based on the stored reference data.