Apparatus and method for processing events in a digital versatile disc (DVD) system using system threads and separate dormant/awake counter threads and clock driven semaphores
First Claim
1. A method of managing a plurality of counters in a digital versatile disc system having a multi-threaded operating system and a playback program with a system program thread, the method comprising:
- A. creating a single independent counter program thread in the playback program when at least one of the plurality of counters is to be utilized by the system, the counter thread exclusively controlling counters that are placed under its control;
B. sending commands from the system program thread to the counter program thread specifying each of the plurality of counters, and causing the each counter to be placed under control of the counter program thread;
C. using the counter thread to periodically increment and decrement all counters under its control independently of the system program thread; and
D. using the counter program thread at times when the counter program thread is not incrementing and decrementing counters under its control to execute another function on all of the counters under its control independently of the system program thread.
4 Assignments
0 Petitions
Accused Products
Abstract
A multi-threaded digital versatile disc system which is controlled by a system thread includes an independent counter thread for controlling the counter parameters. Only the counter thread (and not the system thread) increments and decrements the counter parameters based on an input from the system clock. Counter parameters can be attached, or associated, with the counter thread and all associated counter parameters are incremented together by the thread. The counter thread has a semaphore and a queue associated with it and the counter thread remains dormant until woken up by the semaphore. The semaphore queue receives periodic messages from the system clock via a conventional operating system mechanism and periodically increments and decrements its associated counter parameters. Other threads, originating from this system or from another system, can also communicate with the counter thread by means of the queue by directing an event message to the operating system which places the message in the queue.
-
Citations
24 Claims
-
1. A method of managing a plurality of counters in a digital versatile disc system having a multi-threaded operating system and a playback program with a system program thread, the method comprising:
-
A. creating a single independent counter program thread in the playback program when at least one of the plurality of counters is to be utilized by the system, the counter thread exclusively controlling counters that are placed under its control;
B. sending commands from the system program thread to the counter program thread specifying each of the plurality of counters, and causing the each counter to be placed under control of the counter program thread;
C. using the counter thread to periodically increment and decrement all counters under its control independently of the system program thread; and
D. using the counter program thread at times when the counter program thread is not incrementing and decrementing counters under its control to execute another function on all of the counters under its control independently of the system program thread. - View Dependent Claims (2, 3, 4)
B1. sending a remove command from the system program thread to the counter program thread specifying one of the plurality of counters to delete; and
B2. the counter program thread removing the one counter from its control.
-
-
4. The method as defined by claim 1 wherein the digital versatile disc system is utilized with a computer system having a system clock, and wherein step A includes the step of:
-
A1. using the operating system to create a semaphore with a semaphore queue and wherein step C includes the steps of;
C1. monitoring the system clock to determine when a predetermined interval of time has elapsed; and
C2. inserting a message into the semaphore queue when the elapse of a predetermined interval is determined in step C1.
-
-
5. A method of managing digital versatile disc system, having a system clock, a multi-threaded operating system having a semaphore with a semaphore queue and a playback program with a system program thread, the method comprising:
-
A. using the system thread in cooperation with the operating system to create a single independent counter program thread in the playback program when at least one of the plurality of counters is to be utilized by the system, the counter thread exclusively controlling counters that are placed under its control and becoming dormant when created;
B. sending commands from the system program thread to the counter program thread specifying each of the plurality of counters and causing the each counter to be placed under control of the counter program thread;
C. inserting a message into the semaphore queue at predetermined intervals of time as determined by the system clock, whereupon the semaphore detects a message in the semaphore queue and wakes up the counter program thread;
D. using the counter program thread, when awakened, to increment and decrement all counters under its control independently of the system program thread, the counter program thread then becoming dormant; and
E. controlling the counter program thread at times when the counter program thread is not incrementing and decrementing counters under its control to another function on all of the counters under its control independently of the system program thread. - View Dependent Claims (6, 7, 8)
E1. inserting a message into the semaphore queue when another function is to be performed; and
E2. waking up the counter program thread when a message is determined to be in the semaphore queue.
-
-
7. The method as defined by claim 5 wherein the operating system further includes a return code register and step C further comprises:
C1. causing the counter program thread to read the return code register to determine what action is to be taken when the counter program thread is woken up.
-
8. The method of claim 5 wherein the counter program thread is self-blocking.
-
9. Apparatus for managing a plurality of counters in a digital versatile disc system, having a system clock, a multi-threaded operating system having a semaphore with a semaphore queue and a playback program with a system program thread, the apparatus comprising:
-
a single independent counter program thread created in the playback program when at least one of the plurality of counters is to be utilized by the system, the counter thread exclusively controlling counters that are placed under its control and becoming dormant when created;
a mechanism for sending commands from the system program thread to the counter program thread specifying each of the plurality of counters and causing the each counter to be placed under control of the counter program thread;
a time event processor for inserting a message into the semaphore queue at predetermined intervals of time as determined by the system clock, whereupon the semaphore detects a message in the semaphore queue and wakes up the counter program thread the counter program thread thereupon incrementing and decrementing all counters under its control; and
a function event processor which controls the counter program thread at times when the counter program thread is not incrementing and decrementing the counters under its control to execute a selected function on counters under its control. - View Dependent Claims (10, 11, 12, 13, 14, 15)
an event control mechanism which sends an add command from the system program thread to the counter program thread specifying an additional one of the plurality of counters; and
a mechanism in the counter program thread places the additional one of the plurality of counters under control of the counter program thread.
-
-
12. The apparatus as defined by claim 9 wherein the digital versatile disc system is controlled by a system program thread and the apparatus further comprises a reference removing mechanism that includes:
-
an event control mechanism which sends a remove command from the system program thread to the counter program thread specifying one of the plurality of counters to be deleted; and
a mechanism in the counter program thread which removes counter to be deleted from the counters under its control.
-
-
13. The apparatus as defined by claim 9 wherein the function event processor further comprises:
a mechanism for inserting a message into the semaphore queue when a function is to be performed whereupon the semaphore wakes up the counter program thread when a message is detected in the semaphore queue.
-
14. The apparatus as defined by claim 9 wherein the operating system further includes a return code register and the time event processor causes the counter program thread to read the return code register to determine what action is to be taken when the counter program thread is woken up.
-
15. The apparatus of claim 9 wherein the counter program thread is self-blocking.
-
16. A computer program product for managing a plurality of counters in a digital versatile disc system, having a system clock, a multi-threaded operating system having a semaphore with a semaphore queue and a playback program with a system program thread, the computer program product comprising a computer usable medium having computer readable program code thereon comprising:
-
program code for using the system program thread in cooperation with the operating system to create a single independent counter program thread in the playback program when at least one of the plurality of counters is to be utilized by the system, the counter thread exclusively controlling counters that are placed under its control and becoming dormant when created;
program code for sending commands from the system program thread to the counter program thread specifying each of the plurality of counters and causing the each counter to be placed under control of the counter program thread;
program code for inserting a message into the semaphore queue at predetermined intervals of time as determined by the system clock, whereupon the semaphore detects a message in the semaphore queue and wakes up the counter program thread;
program code for using the counter program thread, when awakened, to increment and decrement all counters under its control independently of the system program thread, the counter program thread then becoming dormant; and
program code for controlling the counter program thread at times when the counter program thread is not incrementing and decrementing counters under its control to execute another function on the counters under its control. - View Dependent Claims (17, 18, 19, 20, 21, 22)
program code for sending an add command from the system program thread to the counter program thread specifying an additional one of the plurality of counters; and
program code for controlling the counter program thread to assume control of the additional one counter.
-
-
19. The computer program product as defined by claim 16 wherein the digital versatile disc system is controlled by a system program thread and wherein the computer program product further comprises program code for adding references including:
-
program code for sending a remove command from the system program thread to the counter program thread specifying one of the plurality of counters to be deleted; and
program code for controlling the counter program thread to remove the one counter from the counters under its control.
-
-
20. The computer program product as defined by claim 16 wherein the counter program thread is self-blocking.
-
21. The computer program product as defined by claim 16 wherein the program code for executing a selected function comprises:
program code for inserting a message into the semaphore queue when a function is to be performed, the semaphore thereupon waking up the counter program thread when a message is determined to be in the semaphore queue.
-
22. The computer program product as defined by claim 16 wherein the operating system further includes a return code register and the program code for using the counter program thread comprises:
program code for causing the counter program thread to read the return code register to determine what action is to be taken when the counter program thread is woken up.
-
23. A computer data signal embodied in a carrier wave for managing a plurality of counters in a digital versatile disc system, having a system clock, a multi-threaded operating system having a semaphore with a semaphore queue and a playback program with a system program thread, the computer data signal comprising:
-
program code for using the system program thread in cooperation with the operating system to create a single independent counter program thread in the playback program when at least one of the plurality of counters is to be utilized by the system, the counter thread exclusively controlling counters that are placed under its control and becoming dormant when created;
program code for sending commands from the system program thread to the counter program thread specifying each of the plurality of counters and causing the each counter to be placed under control of the counter program thread;
program code for inserting a message into the semaphore queue at predetermined intervals of time as determined by the system clock, whereupon the semaphore detects a message in the semaphore queue and wakes up the counter program thread;
program code for using the counter program thread, when awakened, to increment and decrement all counters under its control independently of the system program thread, the counter program thread then becoming dormant; and
program code for controlling the counter program thread at times when the counter program thread is not incrementing and decrementing counters under its control to execute another function on the counters under its control. - View Dependent Claims (24)
-
Specification