A method of communicating packets of a flow pair, wherein the flow pair comprises a first flow and a second flow, wherein packets of the first flow pass from a first network device, through a network appliance, and to a second network device, wherein packets of the second flow pass from the second network device, through the network appliance, and to the first network device, the method comprising:
- (a) receiving a packet of the first flow onto a network processor of the network appliance;
- (b) without performing deep packet inspection on any packet of the flow pair determining on the network processor a predicted future time when a future packet of the flow pair will be received onto the network appliance;
- (c) determining on the network processor to send the future packet to a selected one of a plurality of processor integrated circuits based at least in part on the predicted future time;
- (d) preloading data associated with a flow to the selected processor, wherein the network processor initiates a preloading of the data prior to the predicted future time when the future packet will be received, and wherein the network processor initiates the preloading by waiting an amount of time and then initiating the preloading;
- (e) receiving the future packet onto the network processor;
- and
- (f) sending the future packet from the network processor to the selected one of the processor integrated circuits determined in (c), wherein (a) through (f) are performed by the network processor, and wherein the network processor and the plurality of processor integrated circuits are parts of the network appliance.