Fast lookup and update of current hop limit
First Claim
1. A method for transmitting packets from a communications device, the method comprising:
- traversing a search tree to locate a node that corresponds to a particular transmission control protocol (TCP) connection, wherein the search tree comprises a plurality of nodes, each node pointing to a data structure of a corresponding TCP connection from a plurality of TCP connections;
receiving data for transmission on a first TCP connection from the plurality of TCP connections;
based on the received data, accessing connection parameters of the first TCP connection, the connection parameters comprising a hop limit value that is cached in a first data structure for the TCP connection;
assembling a packet header based on the connection parameters; and
transmitting a data packet over the first TCP connection, the data packet comprising the packet header and the received data.
1 Assignment
0 Petitions
Accused Products
Abstract
In order to facilitate efficient and scalable lookup of current hop limits of transmitted packets, a communications device embeds hop limit values along with other connection parameters in a connection data structure. To transmit a packet for a particular connection, the communications device retrieves the data structure for the particular connection and applies the hop limit value embedded in the data structure to the packet for transmission. To keep track of the hop limits being embedded in different data structures of different connections, the communications device use a binary search in which each node of the search tree correspond to a different connection. The communications device maintains one such search tree per communications interface.
67 Citations
20 Claims
-
1. A method for transmitting packets from a communications device, the method comprising:
-
traversing a search tree to locate a node that corresponds to a particular transmission control protocol (TCP) connection, wherein the search tree comprises a plurality of nodes, each node pointing to a data structure of a corresponding TCP connection from a plurality of TCP connections; receiving data for transmission on a first TCP connection from the plurality of TCP connections; based on the received data, accessing connection parameters of the first TCP connection, the connection parameters comprising a hop limit value that is cached in a first data structure for the TCP connection; assembling a packet header based on the connection parameters; and transmitting a data packet over the first TCP connection, the data packet comprising the packet header and the received data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A communications device comprising:
-
a set of processors; and a transmitter for assembling packets for transmission for a transmission control protocol (TCP) connection, the assembling of a packet for the TCP connection comprising; receiving data for transmission on the TCP connection; based on the received data, accessing connection parameters of the TCP connection, the parameters comprising a hop limit value that is cached in a data structure for the TCP connection; assembling a packet header based on the accessed connection parameters; and transmitting a data packet over the TCP connection, the data packet comprising the packet header and the received data. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. One or more computer-readable storage media comprising computer-executable instructions for assembling packets for transmission for a transmission control protocol (TCP) connection, that when executed by one or more processors, cause the one or more processors to:
-
receive data for transmission on the TCP connection; based on the received data, access connection parameters of the TCP connection, the parameters comprising a hop limit value that is cached in a data structure for the TCP connection; assemble a packet header based on the accessed connection parameters; and transmit a data packet over the TCP connection, the data packet comprising the packet header and the received data. - View Dependent Claims (18, 19, 20)
-
Specification