Efficient Scheduling for Rate-Based Data Collection and Other Purposes
Original Publication Date: 2005-Apr-01
Included in the Prior Art Database: 2005-Apr-01
Disclosed in this article is an architecture to perform efficient scheduling for rate-based data collection.
Efficient Scheduling for Rate-Based Data Collection and Other Purposes Disclosed in this article is an architecture to perform efficient scheduling for rate-based data collection.
Network Performance Monitoring depends on being able to efficiently collect data on a scheduled periodic basis, i.e., to be able to sample a given variable at a given rate at different times. Existing timing and scheduling algorithms have inefficiencies that can prevent data being collected as desired by the user, and can lead to limitations of scalability, or flexibility for the user. Since our scheduling algorithm efficiently deals with targets that can belong to multiple collections, flexibility and convenience is maintained for the end users of the system.
A collection-level scheduler (there is one per collection) determines when the next data collection rate change occurs (i.e.get the current system time, look at the schedule for this collection and figure out when the data gathering rate is going to change) and sets an alarm for this time. When the alarm pops, the collection-level scheduler wakes up and notifies all the targets in that particular collection that the data gathering rate has changed. The collection-level scheduler again determines the delay to the next rate-change event and sets a new alarm.
The target level scheduling is much simpler: each target object gathers the data indicated by the collection object and then sets an alarm for n seconds from now (where n = the current rate for this target in a particular collection) and goes to sleep. When the alarm pops, the target wakes up and repeats the process.
This approach prev...