Method and apparatus for predicting characteristics of incoming data packets to enable speculative processing to reduce processor latency
First Claim
Patent Images
1. In a packet router, a packet prediction mechanism configured to predict a characteristic of a future data packet, the packet prediction mechanism comprising:
- a characteristic predictor configured to compute the characteristic of the future data packet based on respective component histories from previously received data packets;
a speculative packet generator configured to construct a speculative packet portion based on the computed characteristic;
an output configured to communicate the speculative packet portion and a Packet identifier (ID) of the future data packet and store the speculative packet portion and the Packet ID in a position in a queue; and
logic configured to compare the speculative packet portion with the future data packet upon receipt, the logic adapted to either use the computed characteristic in the stored speculative packet portion or to invalidate the computed characteristic by storing a characteristic of the received data packet in the position of the queue.
6 Assignments
0 Petitions
Accused Products
Abstract
A system for processing data packets in a data packet network has at least one input port for receiving data packets, at least one output port for sending out data packets, a processor for processing packet data, and a packet predictor for predicting a future packet based on a received packet, such that at least some processing for the predicted packet may be accomplished before the predicted packet actually arrives at the system. The system is used in preferred embodiments in Internet routers.
21 Citations
14 Claims
-
1. In a packet router, a packet prediction mechanism configured to predict a characteristic of a future data packet, the packet prediction mechanism comprising:
-
a characteristic predictor configured to compute the characteristic of the future data packet based on respective component histories from previously received data packets; a speculative packet generator configured to construct a speculative packet portion based on the computed characteristic; an output configured to communicate the speculative packet portion and a Packet identifier (ID) of the future data packet and store the speculative packet portion and the Packet ID in a position in a queue; and logic configured to compare the speculative packet portion with the future data packet upon receipt, the logic adapted to either use the computed characteristic in the stored speculative packet portion or to invalidate the computed characteristic by storing a characteristic of the received data packet in the position of the queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a packet router, a method for initiating a prediction of a future data packet, comprising:
-
organizing previously received same-sourced and destined packets into a packet flow; predicting a packet characteristic for a future data packet in the packet flow; generating a Packet identifier (ID) for the future data packet and storing the Packet ID in a position of a queue; generating a speculative packet portion having the predicted packet characteristic; storing the speculative packet portion in the position of the queue; comparing the speculative packet portion with the future data packet upon receipt; and based on the comparing, either; using the predicted packet characteristic in the stored speculative packet portion, or invalidating the predicted packet characteristic by storing a characteristic of the received data packet in the position of the queue. - View Dependent Claims (11, 12, 13, 14)
-
Specification