QoS scheduler and method for implementing quality of service with cached status array
First Claim
1. A scheduling method for implementing Quality-of-Service (QoS) scheduling for a plurality of flows with a cached status array and a plurality of calendars for scheduling said flows, said scheduling method comprising the steps of:
- storing an active flow indicator for each calendar entry in a calendar status array (CSA);
storing a subset of said active flow indicators from said calendar status array (CSA) in a cache utilizing a current pointer (CP) to a calendar entry and loading said subset of said active flow indicators from said calendar status array (CSA) starting at said current pointer (CP) CSA entry; and
updating said calendar status array (CSA) based upon a predefined calendar range and resolution; and
utilizing said subset of said active flow indicators stored in said cache to determine a flow of a calendar for servicing.
1 Assignment
0 Petitions
Accused Products
Abstract
A QoS scheduler, scheduling method, and computer program product are provided for implementing Quality-of-Service (QoS) scheduling with a cached status array. A plurality of calendars are provided for scheduling the flows. An active flow indicator is stored for each calendar entry in a calendar status array (CSA). A cache copy subset of the active flow indicators from the calendar status array (CSA) is stored in a cache. The calendar status array (CSA) is updated based upon a predefined calendar range and resolution. The cache copy subset of the active flow indicators from the calendar status array (CSA) is used to determine a given calendar for servicing. The subset of the active flow indicators from the calendar status array (CSA) is used to increment a current pointer (CP) by an identified number of positions up to a current time (CT) value, where the identified number of positions is equal to a variable number of inactive flow indicators up to the current time (CT) value and the identified number of positions has a maximum value equal to a number of entries in the cache.
-
Citations
20 Claims
-
1. A scheduling method for implementing Quality-of-Service (QoS) scheduling for a plurality of flows with a cached status array and a plurality of calendars for scheduling said flows, said scheduling method comprising the steps of:
-
storing an active flow indicator for each calendar entry in a calendar status array (CSA); storing a subset of said active flow indicators from said calendar status array (CSA) in a cache utilizing a current pointer (CP) to a calendar entry and loading said subset of said active flow indicators from said calendar status array (CSA) starting at said current pointer (CP) CSA entry; and updating said calendar status array (CSA) based upon a predefined calendar range and resolution; and utilizing said subset of said active flow indicators stored in said cache to determine a flow of a calendar for servicing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A QoS scheduler for implementing Quality-of-Service (QoS) scheduling for a plurality of flows comprising:
-
a queue manager; a plurality of calendars coupled to said queue manager for scheduling said flows, a calendar status array (CSA) coupled to said plurality of calendars for storing an active flow indicator for each calendar entry for each of said plurality of calendars; a cache coupled to calendar status array (CSA) for storing a cache copy subset of said active flow indicators from said calendar status array (CSA) utilizing a current pointer (CP) to a calendar entry and for loading said subset of said active flow indicators from said calendar status array (CSA) starting at said current pointer (CP) CSA entry; and a calendar updating algorithm for updating said calendar status array (CSA) based upon a predefined calendar range and resolution; and said queue manager for utilizing said cache copy subset of said active flow indicators to determine a flow of a calendar for servicing. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A computer program product for implementing Quality-of-Service (QoS) scheduling of a plurality of flows with a cached status array and a plurality of calendars for scheduling said flows in a scheduler, said computer program product including a plurality of computer executable instructions stored on a computer readable medium, wherein said instructions, when executed by said scheduler, cause said scheduler to perform the steps of:
-
storing an active flow indicator for each calendar entry for each of said plurality of calendars in a calendar status array (CSA); storing a subset of said active flow indicators from said calendar status array (CSA) for each of said plurality of calendars in a cache utilizing a current pointer (CP) to a calendar entry and loading said subset of said active flow indicators from said calendar status array (CSA) starting at said current pointer (CP) CSA entry; and updating said calendar status array (CSA) based upon a predefined calendar range and resolution for each of said plurality of calendars; and utilizing said subset of said active flow indicators for each of said plurality of calendars to determine a flow of a calendar for servicing. - View Dependent Claims (20)
-
Specification