×

Network interface supporting of virtual paths for quality of service with dynamic buffer allocation

  • US 7,860,120 B1
  • Filed: 07/27/2001
  • Issued: 12/28/2010
  • Est. Priority Date: 07/27/2001
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of managing packet transmission in a computer system comprising:

  • receiving a plurality of packets from a computer host memory, wherein each packet has a header provided by a process running on a host processor;

    reading at least one quality of service parameter from the header of each received packet;

    storing each received packet into one of a plurality of queues according to the quality of service parameter, wherein each queue has a respective priority, wherein one of the plurality of queues is a high priority queue, wherein each queue of the plurality of queues other than the high priority queue has a corresponding timeout interval, and whereupon expiration of a timeout interval will cause a packet stored in the queue corresponding to the expired timeout interval to be forwarded ahead of packets stored in any other queuedynamically allocating memory resources to each queue of the plurality of queues, comprising the steps of;

    maintaining a list of free buffers for each queue, wherein each list of free buffers comprises a plurality of pointers to memory locations that are available to store packets assigned to the corresponding queue, wherein each pointer has a corresponding size parameter that specifies the size of the memory location indicated by the pointer; and

    maintaining a list of used buffers for each queue, wherein each list of used buffers comprises a plurality of pointers to memory locations that are being used to store packets that have been assigned to the corresponding queue, wherein each pointer has a corresponding size parameter that specifies the size of the memory location indicated by the pointer, wherein each size parameter is programmable to allow for different buffers corresponding to the pointers in the plurality of free buffer lists and used buffer lists to vary in size;

    forwarding each received packet to a network medium according to both the priority of the queue in which the packet was stored and any expired timeout interval; and

    after forwarding a packet out of a queue, assigning the memory space associated with the forwarded packet from the used buffer list of the corresponding queue to the free buffer list of the one queue of the plurality of queues having the least quantity of free buffers in its free buffer list.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×