Method and apparatus for efficiently matching responses to requests previously passed by a network node
First Claim
1. A method for ensuring that a received response message corresponds to a previously forwarded request message on a network node including a mapping function, the method comprising the steps of:
- at the network node, receiving an outgoing packet for which a response is expected, the outgoing packet including state information comprising a first set of data bit values;
first mapping, by the mapping function, the first set of data bit values to render a first mapped data value;
setting an entry within a bitmap at a position corresponding to the first mapped data value, the bitmap residing at the network node;
forwarding the outgoing packet to an end node, the end node comprising a name resolution cache;
at the network node, receiving an incoming packet from the end node, the incoming packet including state information comprising a second set of data bit values, the second set of data bit values corresponding to the first set of data bit values;
wherein the incoming packet is a response to the outgoing packet;
second mapping, by the mapping function, the second set of data bit values to render a second mapped data value;
testing an entry within one or more bitmaps;
wherein the one or more bitmaps include positions set in accordance with the setting step, the positions corresponding to the second mapped data value;
establishing a match between the first mapped data value and the second mapped data value with a mapping function value rendered from state information for a previous request packet; and
performing at least one function upon the incoming packet based upon whether the match is established during the testing step.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system are disclosed for efficiently matching incoming packets to previously forwarded outgoing packets within a network node to ensure a response received by a network node corresponds to a previously forwarded request. The network node receives an outgoing packet including state information and computes a mapping (e.g., hash) function value based upon the state information. Thereafter, the network node sets and entry within a bitmap at a position corresponding to the mapping function value. The network node also receives an incoming packet purportedly responsive to an earlier outgoing packet and includes state information of a type corresponding to the state information of an outgoing packet. The network node computes a mapping function value based upon the state information in the incoming packet. The network node then tests an entry corresponding to the mapping function value within one or more bitmaps including bits set at positions corresponding to previously forwarded outgoing packets. If the corresponding bit is not set within at least one of the bitmaps, then the network node discards the corresponding packet. Finally, in order to maintain a relative sparse bitmap, the entries are reset after detecting a clearance threshold event.
37 Citations
36 Claims
-
1. A method for ensuring that a received response message corresponds to a previously forwarded request message on a network node including a mapping function, the method comprising the steps of:
-
at the network node, receiving an outgoing packet for which a response is expected, the outgoing packet including state information comprising a first set of data bit values; first mapping, by the mapping function, the first set of data bit values to render a first mapped data value; setting an entry within a bitmap at a position corresponding to the first mapped data value, the bitmap residing at the network node; forwarding the outgoing packet to an end node, the end node comprising a name resolution cache; at the network node, receiving an incoming packet from the end node, the incoming packet including state information comprising a second set of data bit values, the second set of data bit values corresponding to the first set of data bit values; wherein the incoming packet is a response to the outgoing packet; second mapping, by the mapping function, the second set of data bit values to render a second mapped data value; testing an entry within one or more bitmaps; wherein the one or more bitmaps include positions set in accordance with the setting step, the positions corresponding to the second mapped data value; establishing a match between the first mapped data value and the second mapped data value with a mapping function value rendered from state information for a previous request packet; and performing at least one function upon the incoming packet based upon whether the match is established during the testing step. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A tangible computer-readable medium having computer-executable instructions for ensuring that a received response message corresponds to a previously forwarded request message on a network node including a mapping function, the tangible computer-readable medium having computer-executable instructions facilitating performing the steps of:
-
receiving an outgoing packet for which a response is expected, the outgoing packet including state information comprising a first set of data bit values; first mapping, by the mapping function, the first set of data bit values to render a first mapped data value; setting an entry within a bitmap at a position corresponding to the first mapped data value; receiving an incoming packet including state information comprising a second set of data bit values, the second set of data bit values corresponding to the first set of data bit values; wherein the incoming packet is a response to the outgoing packet; second mapping, by the mapping function, the second set of data bit values to render a second mapped data value; testing an entry within one or more bitmaps; wherein the one or more bitmaps include positions set in accordance with the setting step, the positions corresponding to the second mapped data value; establishing a match between the first mapped data value and the second mapped data value with a mapping function value rendered from state information for a previous request packet; and performing at least one function upon the incoming packet based upon whether the match is established during the testing step. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for packet handling within a network node including a network interface for receiving and forwarding outgoing packets and corresponding incoming packets between network entities comprising:
-
a mapping function; at least one bitmap residing at the node; and a received packet processor including executable instructions for; receiving an outgoing packet for which a response is expected, the outgoing packet including state information comprising a first set of data bit values; first mapping, by the mapping function, the first set of data bit values to render a first mapped data value; setting an entry within the at least one bitmap at a position corresponding to the first mapped data value; receiving an incoming packet including state information comprising a second set of data bit values, the second set of data bit values being of a type corresponding to the first set of data bit values; wherein the incoming packet is a response to the outgoing packet; second mapping, by the mapping function, the second set of data bit values to render a second mapped data value; testing an entry within one or more bitmaps; wherein the one or more bitmaps include positions set in accordance with the setting step, the positions corresponding to the second mapped data value; establishing a match with a mapping function value rendered from state information for a previous request packet, the match between the first mapped data value and the second mapped data value; and performing at least one function upon the incoming packet based upon whether the match is established during the testing step. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification