A method for scheduling tasks in a computer operating system comprises a background task creating at least one registered service. The background task provides an execution presence and a data present to a registered service and ranks the registered services according to the requirements of each registered service. The background task also allocates an execution presence and a data presence according to each of the registered services such that each of the registered services is given an opportunity to be scheduled in the dedicated pre-assigned time slice.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for scheduling registered services in an operating system of a computer with a processor, the method comprising the steps of: operating a kernel of the computer operating system to cycle through a plurality of pre-assigned time slices, at least one of the plurality of pre-assigned time slices being assigned to a background thread; scheduling execution of a service manager on the background thread; when the background thread executes, the service manager allocates an execution presence and data presence to one or more registered services, wherein the registered services to execute are determined by the service manager executing the steps of: searching for at least one service manager service wherein the service manager searches for at least one service manager service periodically; registering found service manager services as one or more registered services; ranking the registered services according to priority and resource need; scheduling the registered services for execution as by rank, each registered service being scheduled for execution within the background thread's pre-assigned time slice, whereby the registered services are scheduled for execution independently of any foreground tasks; and repeating the searching, registering, ranking and scheduling steps periodically.
2. A method as recited in claim 1 wherein the computer operating system comprises a portable electronic device.
3. A method as recited in claim 1 wherein the data presence is an A5-based global variable context.
4. A method as recited in claim 1 wherein at least one of the registered services is a system-related activity.
5. A method as recited in claim 1 wherein at least one of the registered services is an interrupt-related activity.
6. A method as recited in claim 1 wherein at least one of the registered services is a background-related activity.
7. A method for scheduling services in an operating system of a computer, the method comprising the steps of: executing a background task that registers at least one registered service in a dedicated pre-assigned time slice, the background task invoked by a kernel of the computer operating system for providing an execution presence and a data presence to the at least one registered service, wherein the background task periodically searches for the at least one registered service associated therewith; ranking the at least one registered service according to requirements of the registered service; and allocating the execution presence and the data presence accordingly to the at least one registered services such that the at least one registered service are scheduled in a dedicated pre-assigned time slice independently of any foreground task; and repeating the executing, ranking, and allocating steps periodically.
8. A method as recited in claim 7 wherein the computer is a portable electronic device.
9. A method as recited in claim 7 wherein the data presence is an A5-based global variable context.
10. A computer system comprising: a processor coupled to a bus and a memory unit coupled to the bus having stored therein a computer operating system executed by the processor performing the steps of: registering by a background task a plurality of registered services, the background task being invoked by a kernel of the computer operating system in a dedicated pre-assigned time slice, the operation of the background task being independent from the operation of any foreground task, and the background task being operated to provide an execution presence and a data presence to a registered service, wherein the background task periodically searches for at least one registered service associated with the background task; ranking the plurality of registered services according to priority and resource needs of each registered service; and allocating the execution presence and the data presence accordingly to the plurality of registered services such that the plurality of registered services may be scheduled in the dedicated pre-assigned time slice independently of any foreground task.
11. A computer system as recited in claim 10 wherein the computer system is a portable electronic device.
12. A computer system as recited in claim 10 wherein the data presence is an A5-based global variable context.
13. A computer system as recited in claim 10 wherein the at least one registered service is a system-related activity.
14. A computer system as recited in claim 10 wherein the at least one registered service is an interrupt-related activity.
15. A computer system as recited in claim 10 wherein the at least one registered service is a background-related activity.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 26, 2001
January 12, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.