Apparatus and method of processing counter parameters in a digital versatile disc system
First Claim
1. A method of managing selected ones of a plurality of counters in a multi-threaded digital versatile disc system, the method comprising the steps of:
- A. creating a counter thread when at least one of the plurality of counters is to be utilized by the system, the counter thread having a counter group associated therewith;
B. adding references to the selected ones of the plurality of counters to the counter group;
C. periodically controlling the counter thread to increment and decrement the selected ones of the plurality of counters referenced in the counter group; and
D. controlling the counter thread at times when the counter thread is not incrementing and decrementing the selected ones of the plurality of counters referenced in the counter group to execute a selected function on the selected ones of the plurality of counters referenced in the counter group.
3 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.
45 Citations
19 Claims
-
1. A method of managing selected ones of a plurality of counters in a multi-threaded digital versatile disc system, the method comprising the steps of:
-
A. creating a counter thread when at least one of the plurality of counters is to be utilized by the system, the counter thread having a counter group associated therewith;
B. adding references to the selected ones of the plurality of counters to the counter group;
C. periodically controlling the counter thread to increment and decrement the selected ones of the plurality of counters referenced in the counter group; and
D. controlling the counter thread at times when the counter thread is not incrementing and decrementing the selected ones of the plurality of counters referenced in the counter group to execute a selected function on the selected ones of the plurality of counters referenced in the counter group. - View Dependent Claims (2, 3, 4, 5, 6, 7)
B3. sending a remove command from the system thread to the counter thread specifying a deleted one of the plurality of counters; and
B4. the counter thread removing a reference to the deleted one counter to the counter group.
-
-
4. The method as defined by claim 1 wherein the digital versatile disc system is utilized with a computer system having a system clock, an operating system having 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. The method as defined by claim 4 wherein the counter thread is self-blocking and wherein step C further includes the step of
C3. waking up the counter thread when a message is detected in the semaphore queue. -
6. The method as defined by claim 5, wherein step D includes the step of:
-
D1. inserting a message into the semaphore queue when a function is to be performed; and
D2. waking up the counter thread when a message is determined in the semaphore queue.
-
-
7. The method as defined by claim 5 wherein the operating system further includes a return code register and step C3 comprises the step of:
C3A. causing the counter thread to read the return code register to determine what action is to be taken when the counter thread is woken up.
-
8. Apparatus for managing selected ones of a plurality of counters in a multi-threaded digital versatile disc system, the apparatus comprising:
-
a counter thread created when at least one of the plurality of counters is to be utilized by the system, the counter thread having a counter group associated therewith;
a mechanism for adding references to the selected ones of the plurality of counters to the counter group;
a time event processor which periodically controls the counter thread to increment and decrement the selected ones of the plurality of counters referenced in the counter group; and
a function event processor which controls the counter thread at times when the counter thread is not incrementing and decrementing the selected ones of the plurality of counters referenced in the counter group to execute a selected function on the selected ones of the plurality of counters referenced in the counter group. - View Dependent Claims (9, 10, 11, 12)
an event control mechanism which sends an add command from the system thread to the counter thread specifying an additional one of the plurality of counters; and
a mechanism in the counter thread which adds a reference to the additional one counter to the counter group.
-
-
11. The apparatus as defined by claim 8 wherein the digital versatile disc system is controlled by a system thread and the reference removing mechanism comprises:
-
an event control mechanism which sends a remove command from the system thread to the counter thread specifying a deleted one of the plurality of counters; and
a mechanism in the counter thread which removes a reference to the deleted one counter to the counter group.
-
-
12. The apparatus as defined by claim 8 wherein the digital versatile disc system is utilized with a computer system having a system clock, an operating system having a semaphore with a semaphore queue and wherein the time event processor comprises:
-
a system clock which determines when a predetermined interval of time has elapsed; and
means for inserting a message into the semaphore queue when the elapse of a predetermined interval is determines by the system clock.
-
-
13. A computer program product for managing selected ones of a plurality of counters in a multi-threaded digital versatile disc system, the computer program product comprising a computer usable medium having computer readable program code thereon including:
-
program code for creating a counter thread when at least one of the plurality of counters is to be utilized by the system, the counter thread having a counter group associated therewith;
program code for adding references to the selected ones of the plurality of counters to the counter group;
program code for periodically controlling the counter thread to increment and decrement the selected ones of the plurality of counters referenced in the counter group; and
program code for controlling the counter thread at times when the counter thread is not incrementing and decrementing the selected ones of the plurality of counters referenced in the counter group to execute a selected function on the selected ones of the plurality of counters referenced in the counter group. - View Dependent Claims (14, 15, 16, 17, 18, 19)
program code for sending an add command from the system thread to the counter thread specifying an additional one of the plurality of counters; and
program code for controlling the counter thread to add a reference to the additional one counter to the counter group.
-
-
16. The computer program product as defined by claim 13 wherein the digital versatile disc system is controlled by a system thread and wherein the program code for adding references also comprises:
-
program code for sending a remove command from the system thread to the counter thread specifying a deleted one of the plurality of counters; and
program code for controlling the counter thread to remove a reference to the deleted one counter to the counter group.
-
-
17. The computer program product as defined by claim 13 wherein the digital versatile disc system is utilized with a computer system having a system clock, an operating system having a semaphore with a semaphore queue and wherein the program code for periodically controlling the counter thread comprises:
-
program code for monitoring the system clock to determine when a predetermined interval of time has elapsed; and
program code for inserting a message into the semaphore queue when the elapse of a predetermined interval is determined.
-
-
18. The computer program product as defined by claim 17 wherein the program code for executing a selected function comprises:
- program
program code for inserting a message into the semaphore queue when a function is to be performed; and
program code for waking up the counter thread when a message is determined in the semaphore queue.
- program
-
19. The computer program product as defined by claim 17 wherein the operating system further includes a return code register and the program code for waking up the counter thread comprises:
program code for causing the counter thread to read the return code register to determine what action is to be taken when the counter thread is woken up.
Specification