A scheduler, scheduling method, and computer program product are provided
for implementing Quality-of-Service (QoS) scheduling of a plurality of
flows with aging time stamps. Subsets of time stamp data stored in a time
stamp aging memory array are sequentially accessed. Each time stamp data
subset contains time stamp data for a subplurality of flows. Guaranteed
aging processing steps are performed for each flow utilizing the time
stamp data subsets to identify and mark invalid calendar next time
values. When a new frame arrival for an empty flow is identified, flow
queue control block (FQCB) time stamp data and the flow time stamp data
in the time stamp aging memory array are accessed. Based on the calendar
to which the new frame is directed or the target calendar for the new
frame, the target calendar next time valid bit of the time stamp aging
memory array data is checked. When the target calendar next time valid
bit is on, a target calendar next time value from the flow queue control
block (FQCB) time stamp data is compared with a current time. When the
target calendar next time is less than the current time, the target
calendar next time valid bit is turned off to mark the target calendar
next time as invalid. The guaranteed aging processing steps for each flow
in the time stamp data subset includes checking a selection indicator of
the time stamp aging memory array data for the flow to identify a
calendar. Responsive to the selection indicator value, a calendar valid
bit is checked. When the calendar valid bit is on, a calendar next time
is compared with a current time. When the calendar next time is less than
the current time, the calendar valid bit is turned off to mark the
calendar next time as invalid. Invalid time stamp values are identified
for all scheduler calendars.