Patent ID: 8787197

Claim:
A network device, comprising: an input circuit configured to receive, from a network, a plurality of data streams each comprising a plurality of packets of data; an output circuit configured to transmit, to the network, the plurality of data streams; a forwarding engine including a plurality of different types of resources used by the network device for transmission of the plurality of data streams, wherein the plurality of different types of resources includes (i) an allocation of buffer or queue pointers and (ii) an allocation of time slots in a schedule, the forwarding engine configured to transfer the packets of data from the input circuit to the output circuit using the plurality of different types of resources; and a resource manager configured to determine performance requirements for each of the plurality of data streams, determine whether the performance requirements for each of the plurality of data streams can be accepted, store, in a data stream table, data entries corresponding to the performance requirements for each of the plurality of data streams in response to a determination that the performance requirements can be accepted, and program, for each of the plurality of data streams, the plurality of different types of resources based on the data entries stored in the data stream table.