(54) USING ORDERED LOCKING MECHANISMS TO MAINTAIN SEQUENCES OF ITEMS SUCH AS PACKETS
(75) Inventors: John J. Williams, Jr., Pleasanton, CA (US); John Andrew Fingerhut, Campbell, CA (US); Kenneth Harvey Potter, Jr., Raleigh, NC (US)
(73) Assignee: Cisco Technology, Inc., San Jose, CA (US)
( * ) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 U.S.C. 154(b) by 1170 days.
(21) Appl.No.: 10/706,704
(22) Filed: Nov. 12, 2003
(65) Prior Publication Data
US 2005/0100017 Al May 12, 2005
(51) Int. CI.
H04L12/56 (2006.01)
(52) U.S. CI 370/394; 707/8
(58) Field of Classification Search 370/394;
707/8; 718/107 See application file for complete search history.
(56) References Cited
U.S. PATENT DOCUMENTS
5,682,537 A 10/1997 Daviesetal.
5,699,500 A 12/1997 Dasgupta
6,161,144 A 12/2000 Michaels et al.
6,163,856 A * 12/2000 Dionetal 714/4
6,170,025 Bl 1/2001 Drottar et al.
6,405,274 Bl 6/2002 Chan
6,411,983 Bl* 6/2002 Gallop 718/104
6,473,849 Bl 10/2002 Keller et al.
6,529,983 Bl 3/2003 Marshall et al.
6,920,447 B2* 7/2005 Pudipeddi et al 707/3
7,304,999 B2 12/2007 Sukonik et al.
Sequences of items may be maintained using ordered locks. These items may correspond to anything, but using ordered locks to maintain sequences of packets may be particularly useful. One implementation uses a locking request, acceptance, and release protocol. One implementation associates instructions with locking requests such that when a lock is acquired, the locking mechanism executes or causes to be executed the associated instructions as an acceptance request of the lock is implied by the association of instructions (or may be explicitly requested). In some applications, the ordering of the entire sequence of packets is not required to be preserved, but rather only among certain sub-sequences of the entire sequence of items, which can be accomplished by converting an initial root ordered lock (maintaining the sequence of the entire stream of items) to various other locks (each maintaining a sequence of different sub-streams of items).
51 Claims, 14 Drawing Sheets