Patent ID: 7489689

Claim:
A system for scheduling packets from different flows for transmission via a channel, said system comprising: a data processor; a computer readable medium for storing computer program code which, when executed by the processor, builds a data structure, stored in memory, for holding information utilized to implement scheduling of packets, said data structure including information resident in a data base, used by said computer program code, including: a plurality of node objects stored in the memory; pointer information, associated with each node, determining parent, child, and sibling relationships to form a tree structure with multiple levels, with all nodes in a level being siblings, with a root level having one node that has at least two direct descendents, with internal nodes having at least m/2 descendents, and with leaf nodes having no descendents; priority information in the form of eligibility keys held in each node object, where each node object must hold at least m/2 eligibility keys but not more than m eligibility keys where m is an integer, where the eligibility keys held in each node object are sorted and a best eligibility key is copied to the node's parent node; and node open information indicating an open node at each level, where an open leaf node is the only node that can accept a new key.