US6801943B1ExpiredUtility

Network scheduler for real time applications

64
Assignee: HONEYWELL INT INCPriority: Apr 30, 1999Filed: Apr 30, 1999Granted: Oct 5, 2004
Est. expiryApr 30, 2019(expired)· nominal 20-yr term from priority
H04L 9/40G06F 9/4887
64
PatentIndex Score
63
Cited by
54
References
5
Claims

Abstract

A network scheduler for real time applications is described. The network scheduler supports scheduling of network packets in a multi-threaded operating system to insure correct scheduling order and to preclude kernel preemption of active threads. The network scheduler resides between a kernel (and device drivers) and multiple sessions at the user-level. The network scheduler uses input/output control primitives such as HOLD and RELEASE to control servicing of the queues of packets at the kernel or network device driver. The control primitives serve as a middleware interface to the underlying kernel or network device driver. The network scheduler functions as a proxy scheduler to manage the queues of packets at the kernel or network device driver.

Claims

exact text as granted — not AI-modified
What is aimed is:  
     
       1. A method of scheduling the use of a resource of a computer system, the method comprising: 
       receiving a scheduling constraint for a user-level thread; and  
       managing the scheduling of a corresponding kernel-level thread based on the scheduling constraint of the user-level thread  
       wherein the act of managing the scheduling of the kernel-level thread further comprises issuing one or more primitives to control scheduling of the kernel-level thread, the one or more primitives selected from the group consisting of: hold, release, check population of queue, check deadline of packet that is at the head of the queue, and check priority of packet that is at the head of the queue.  
     
     
       2. A computer-readable medium having computer-executable instructions stored thereon for executing a method of scheduling network packets, the method comprising: 
       holding a plurality network connection queues;  
       checking a deadline of a first one of the queues;  
       comparing the deadline of the first one of the queues to a deadline of a new network packet;  
       releasing the first one of the queues if the deadline of the first one of the queues is earlier than the deadline of the new network packet; and  
       assigning the new packet to a second one of the queues if the deadline of the first one of the queues is later than the deadline of the new network packet.  
     
     
       3. The computer-readable medium of  claim 2  further comprising checking the first one of the queues to determine if the first one of the queues is populated. 
     
     
       4. A computer-readable medium having computer-executable instructions stored thereon for executing a method of scheduling network packets, the method comprising: 
       holding a plurality network connection queues;  
       checking a priority of a first one of the queues;  
       comparing the priority of the first one of the queues to a priority of a new network packet;  
       releasing the first one of the queues if the priority of the first one of the queues is greater than the priority of the new network packet; and  
       assigning the new packet to a second one of the queues if the priority of the first one of the queues is less than the deadline of the new network packet.  
     
     
       5. The computer-readable medium of  claim 4  further comprising checking the first one of the queues to determine if the first one of the queues is populated.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.