The usage of data networks has increased tremendously over the past decades. With increased reliance on network-based applications, including e-commerce, on-line entertainment, voice-over Internet protocol (VoIP) telephony, and countless others, demand on data networks will only continue to grow. As a result of this growing demand, data network performance will have to continue to increase to service this demand.
To support improved data network performance, routers and other traffic management devices will have to direct resource requests at increasingly higher speeds to direct data packets or other data events between their sources and destinations. Traffic management devices frequently use tables to facilitate packet routing: upon identifying some attribute presented by or derived from the packet, the traffic management device performs a table lookup on that attribute to determine the destination to which the packet should be routed.
One issue that may cause delays in routing packets arises when the table must be updated to store a new or updated destination for a packet associated with a particular transmission. While the table is being updated, typically at least a portion of the table is locked and cannot be accessed. Traffic management devices may need information in the locked portion to route packets. However, because there may be no way to store and then later route these packets while continuing to process incoming traffic when the table is locked, these packets may be dropped and resent. Resending the packets results in increased traffic, reducing network performance.