Patent ID: 7418523

Claim:
A method of scheduling the transmission of the at least one data unit from a node on a communications network, the network node including at least one input port communicably coupleable to at least one output port, comprising the steps of: providing a first memory at each output port of the network node, the first memory comprising at least two linear time-indexed arrays having a plurality of locations, each location corresponding to a respective timeslot within a time window ranging from time t=0 to t =500 msec, at least one of the two linear time-indexed arrays for buffering the at least one data unit; receiving at least one first data unit at in input port of the network node, the at least one first data unit having an associated timestamp value, a packet buffer, a packet descriptor and a pointer to the packet buffer, the timestamp value having a granularity of about a minimum packet size; transferring the first data unit from the input port with a cross-connect and inserting the packet descriptor into the respective timeslot: inserting the first data unit into a respective location of the time-based array based on the associated timestamp value; indicating with a variable there is a valid data unit in the respective location; partitioning a binary value of the timestamp associated with the first data unit into a plurality of sub-fields, each sub-field comprising one or more bits, and using the plurality of sub-fields to generate a corresponding plurality of acceleration bit-strings for use in identifying the first data unit in the time-based array having a lowest associated timestamp value; extracting the identified first data unit having the lowest associated timestamp value from the time-based array; and designating the extracted first data unit as a next data unit to be transmitted over the network.