IP Library Patent Application 10975274
Patent Application
App. No. 10/975,274

System and method for a symmetric architecture for multimedia players

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
10/975,274
Abstract

Systems and methods for architectures for a compact and efficient multimedia player are disclosed. These architectures may consist of two threads which operate in parallel to read data over a network and render this data for a user of the multimedia player. Both threads are operable to perform read operations and render operations, however, the two threads do not simultaneously read or render data. The two threads may be kept out of phase via thread synchronization techniques, thus when one thread is reading the other may be rendering and vice versa. If one thread finishes its current phase before the other thread has completed its current phase, then the first thread blocks until the second thread completes its current phase; the threads can then exchange tasks.

Claims (34)

1 . A method for receiving and processing data, comprising: providing a first thread and a second thread, wherein each thread is operable to read data and render data; and synchronizing the first thread and second thread so that while the first thread is rendering data the second thread is reading data or waiting to render data and while the first thread is reading data the second thread is rendering data or waiting to read data.

2 . The method of claim 1 , wherein synchronizing the first thread and second thread further comprises synchronizing the first thread and second thread so that while the second thread is rendering data the first thread is reading data or waiting to render data and while the second thread is reading data the first thread is rendering data or waiting to read data.

3 . The method of claim 2 , wherein the first thread and second thread execute identical program code.

4 . The method of claim 3 , wherein each thread has a buffer, and each thread reads data to its buffer and renders data from its buffer.

5 . The method of claim 4 , wherein the first thread and second thread are synchronized with a first mutex and a second mutex.

6 . The method of claim 5 , wherein the first mutex is a read mutex and the second mutex is a render mutex.

7 . The method of claim 6 , wherein the first mutex and second mutex are globally shared by the first thread and the second thread.

8 . The method of claim 4 , wherein the first thread and second thread are synchronized with a Java “synchronized” function call.

9 . The method of claim 4 , wherein the first thread and second thread are synchronized with a semaphore.

10 . The method of claim 4 , wherein the first thread and second thread are synchronized with busy waiting.

11 . A computer readable medium, having instructions embodied thereon for receiving and processing data, the instructions translatable for:

providing a first thread and a second thread, wherein each thread is operable to read data and render data; and

synchronizing the first thread and second thread so that while the first thread is rendering data the second thread is reading data or waiting to render data and while the first thread is reading data the second thread is rendering data or waiting to read data.

12 . The computer readable medium of claim 11 , wherein synchronizing the first thread and second thread further comprises synchronizing the first thread and second thread so that while the second thread is rendering data the first thread is reading data or waiting to render data and while the second thread is reading data the first thread is rendering data or waiting to read data.

13 . The computer readable medium of claim 12 , wherein the first thread and second thread execute identical program code.

14 . The computer readable medium of claim 13 , wherein each thread has a buffer, and each thread reads data to its buffer and renders data from its buffer.

15 . The computer readable medium of claim 4 , wherein the first thread and second thread are synchronized with a first mutex and a second mutex.

16 . The computer readable medium of claim 15 , wherein the first mutex is a read mutex and the second mutex is a render mutex.

17 . The computer readable medium of claim 16 , wherein the first mutex and second mutex are globally shared by the first thread and the second thread.

18 . The computer readable medium of claim 14 , wherein the first thread and second thread are synchronized with a Java “synchronized” function call.

19 . The computer readable medium of claim 14 , wherein the first thread and second thread are synchronized with a semaphore.

20 . The computer readable medium of claim 14 , wherein the first thread and second thread are synchronized with busy waiting.

21 . A system for a receiving and processing data, comprising:

a first thread; and

a second thread, wherein: each thread is operable to read data and render data; and the first thread and second thread are synchronized so that while the first thread is rendering data the second thread is reading data or waiting to render data and while the first thread is reading data the second thread is rendering data or waiting to read data.

22 . The system of claim 21 , wherein the first thread and second thread are further synchronized so that while the second thread is rendering data the first thread is reading data or waiting to render data and while the second thread is reading data the first thread is rendering data or waiting to read data.

23 . The system of claim 22 , wherein the first thread and second thread execute identical program code.

24 . The system of claim 23 , wherein each thread has a buffer, and each thread reads data to its buffer and renders data from its buffer.

25 . The system of claim 24 , wherein the first thread and second thread are synchronized with a first mutex and a second mutex.

26 . The system of claim 25 , wherein the first mutex is a read mutex and the second mutex is a render mutex.

27 . The system of claim 26 , wherein the first mutex and second mutex are globally shared by the first thread and the second thread.

28 . The system of claim 24 , wherein the first thread and second thread are synchronized with a Java “synchronized” function call.

29 . The system of claim 24 , wherein the first thread and second thread are synchronized with a semaphore.

30 . The system of claim 24 , wherein the first thread and second thread are synchronized with busy waiting.

Assignments (2)
CHANGE OF NAME: CERTIFICATE OF ADMENDMENT AND RESTATED CERTIFICATE OF INCORPORATION OF IDETIC, INC. Recorded Nov 16, 2005
From: IDETIC, INC.
To: MOBITV, INC.
Reel/Frame 017253/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2004
From: DE BONET, JEREMY S.
To: IDETIC, INC.
Reel/Frame 015939/0816 →