US2014307740A1PendingUtilityA1

Traffic Manager with Programmable Queuing

54
Assignee: NET NAVIGATION SYSTEMS LLCPriority: Dec 19, 2003Filed: Jun 27, 2014Published: Oct 16, 2014
Est. expiryDec 19, 2023(expired)· nominal 20-yr term from priority
H04L 49/90H04L 49/9057H04L 47/52G06F 9/3004H04L 49/9047H04L 49/9021H04L 49/901
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A traffic manager includes an execution unit that is responsive to instructions related to queuing of data in memory. The instructions may be provided by a network processor that is programmed to generate such instructions, depending on the data. Examples of such instructions include (1) writing of data units (of fixed size or variable size) without linking to a queue, (2) re-sequencing of the data units relative to one another without moving the data units in memory, and (3) linking the previously-written data units to a queue. The network processor and traffic manager may be implemented in a single chip.

Claims

exact text as granted — not AI-modified
1 - 12 . (canceled) 
     
     
         13 . A network communications traffic management system, the system comprising:
 a network processor having a network interface to receive packet fragments in a first order of sequence, where the packet fragments were transmitted as a packet in a predetermined second order of sequence, the network processor sending write instruction for writing the received packet fragments in memory, and writing a stitch instruction for reassembling the packet fragments in the second order of sequence; and,   an execution unit accepting the packet fragments and write instructions from the network processor and storing the packet fragments in a memory, and in response to the stitch instructions, storing pointers in memory for coupling the packet fragments in the second order.   
     
     
         14 . The system of  claim 13  wherein the network processor, upon receipt of all the packet fragments in the packet, sends a link instruction; and,
 wherein the execution unit associates the packet fragments, coupled together in memory in the second order of sequence, with a queue. 
 
     
     
         15 . The system of  claim 14  further comprising:
 a scheduler using the pointer to read the packet fragments from the queue in the memory in the second order of sequence, and schedule the packet for transmission. 
 
     
     
         16 . The system of  claim 13  wherein the execution unit stores the pointers for coupling the packet fragments in the second order subsequent to receiving all the packet fragments in the packet. 
     
     
         17 . The system of  claim 13  wherein the execution unit stores a pointer for coupling a first packet fragment to a second packet fragment in the second order, prior to receiving all the packet fragments in the packet. 
     
     
         18 . The system of  claim 13  wherein the network process sends memory start addresses for packet fragments to the execution unit with the write instructions. 
     
     
         19 . The system of  claim 13  wherein the execution unit stores a “next” pointer in memory, associated with each current packet fragment, to identify a next packet fragment in the second order of sequence. 
     
     
         20 . The system of  claim 19  where the network process sends a memory start addresses for a current packet fragment that is identical to the “next” pointer associated with a previously received packet fragment. 
     
     
         21 . The system of  claim 13  wherein the execution comprises a plurality of parallel first-in first-out (FIFO) memories. including a first FIFO memory for accepting instruction from the network processor, a second FIFO memory for accepting queue identities to be assigned to packets, and a third FIFO memory to accept packet fragments. 
     
     
         22 . The system of  claim 13  wherein the execution unit stores each packet fragment in a plurality of adjacent cells in memory. 
     
     
         23 . A method for network communications traffic management, the method comprising:
 receiving packet fragments in a first order of sequence, where the packet fragments were transmitted as a packet in a predetermined second order of sequence;   writing the received packet fragments in memory, in the first order of sequence;   generating stitch instruction for reassembling the packet fragments in the second order of sequence; and,   storing pointers in memory for coupling the packet fragments in the second order.   
     
     
         24 . The method of  claim 23  further comprising:
 upon receipt of all the packet fragments in the packet, generating a link instruction; and, 
 associating the packet fragments, coupled together in memory in the second order of sequence, with a queue. 
 
     
     
         25 . The method of  claim 24  further comprising:
 using the pointer, reading the packet fragments from the queue in the memory in the second order of sequence; and, 
 scheduling the packet for transmission. 
 
     
     
         26 . The method of  claim 23  wherein storing the pointers in memory includes storing the pointers subsequent to receiving all the packet fragments in the packet. 
     
     
         27 . The method of  claim 23  wherein storing the pointers in memory includes storing a pointer for coupling a first packet fragment to a second packet fragment in the second order, prior to receiving all the packet fragments in the packet. 
     
     
         28 . The method of  claim 23  wherein writing the packet fragments in memory includes:
 generating a write instruction for each packet fragment; and, 
 including a memory start addresses for each packet fragment with the write instructions. 
 
     
     
         29 . The method of  claim 23  wherein storing the pointers in memory includes storing a “next” pointer in memory, associated with each current packet fragment, to identify a next packet fragment in the second order of sequence. 
     
     
         30 . The method of  claim 29  wherein writing the packet fragments in memory includes generating a write instruction for a current packet fragment with a memory start address that is identical to the “next” pointer associated with a previously received packet fragment. 
     
     
         31 . The method of  claim 23  wherein writing the packet fragments in memory includes storing each packet fragment in a plurality of adjacent cells in memory. 
     
     
         32 . A method for network communications traffic management, the method comprising:
 a network processor receiving packet fragments in a first order of sequence, where the packet fragments were transmitted as a packet in a predetermined second order of sequence;   an execution unit writing the received packet fragments in memory, in the first order of sequence;   the network processor generating stitch instruction for reassembling the packet fragments in the second order of sequence; and,   the execution unit storing pointers in memory for coupling the packet fragments in the second order.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.