WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
System and method for on-line multimedia access    
United States Patent5953005   
Link to this pagehttp://www.wikipatents.com/5953005.html
Inventor(s)Liu; James C. (Sunnyvale, CA)
AbstractA method and system for providing access to multimedia content on-line which is updated virtually simultaneously with the vendor's update process. By a user accessing a page on the World Wide Web, for example, data (encrypted and unencrypted) and instructions are automatically downloaded to a user's computer system for quick access. Depending upon the user's computer system (LAN or a stand-alone personal computer), "applets" containing data and instructions are stored for immediate access. In a Karaoke application of this invention, where the user desires to access songs which are most popular at a given time, the user accesses a page where a song list and other information is displayed on a display apparatus. When the user clicks on a particular song of the song list, the applet executes an authentication request. If the user is authenticated, the authentication is downloaded as part of the applet containing the desired multimedia content (or separately depending upon the circumstances). According to this invention, an applet includes multimedia elements which further include timing codes and a synchronization function which provides for the synchronization of the delivery of the multimedia elements.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Liu; James C. (Sunnyvale, CA)
Owner/Assignee     Sun Microsystems, Inc. (Mountain View, CA)
Patent assignment
All assignments
Publication Date     September 14, 1999
Application Number     08/671,581
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     June 28, 1996
US Classification     715/500.1 434/307A 705/51 709/203 713/155
Int'l Classification     G06T 001/00
Examiner     Feild; Joseph H.
Assistant Examiner    
Attorney/Law Firm     PC, Kivlin; B. Noel Conley, Rose & Tayon,
Address
Parent Case    
Priority Data    
USPTO Field of Search     707/501 707/513 707/529 707/542 345/302 345/329 345/335 345/326 434/307 R 434/307 A 463/30 463/31 463/32 463/33 463/34 463/35 395/200.47 395/200.48 395/200.49 395/200.33 395/187.01 395/186 380/23 380/25
Patent Tags     on-line multimedia access
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5790548
Sistanizadeh
370/401
Aug,1998

[0 after 0 votes]
5761309
Ohashi
713/156
Jun,1998

[0 after 0 votes]
5742762
Scholl
709/200
Apr,1998

[0 after 0 votes]
5706427
Tabuki
726/5
Jan,1998

[0 after 0 votes]
5663515
Kato
84/609
Sep,1997

[0 after 0 votes]
5654516
Tashiro
84/601
Aug,1997

[0 after 0 votes]
5613909
Stelovsky
463/1
Mar,1997

[0 after 0 votes]
5572643
Judson
709/218
Nov,1996

[0 after 0 votes]
5561849
Mankovitz
455/45
Oct,1996

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


I claim:

1. A system for providing on-line multimedia content output to a user on said user's computer system, comprising:

a browser configured to provide access to a page and at least one component, wherein said at least one component has multimedia audio, graphics, text and timing data elements, wherein said at least one component further includes instructions which when executed synchronize the delivery of said multimedia data elements, and wherein said at least one component further includes encrypted data and unencrypted data and authentication instructions executable with respect thereto;

a display unit configured to display said unencrypted data in a manner which enables said user to make a multimedia content output choice;

an output unit configured to generate on said display unit a representation of unencrypted data in a manner which enables said user to make a multimedia content output choice and an authentication request;

a processor configured to generate said multimedia content output choice and said authentication request;

an execution unit configured to execute said authentication request in order to provide a disposable key to decrypt some of said encrypted data to generate multimedia content output therefrom;

a receiver configured to receive said authentication request and to provide said disposable key to decrypt said some of said encrypted data to generate said multimedia content therefrom;

a processor configured to receive said disposable key and to decrypt said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid;

a transmitter configured to automatically download said at least one component to said user's computer system including a display apparatus; and

an execution unit configured to execute said instructions to generate said multimedia content output including audio output from said audio element, text output from said text data element and graphics output from said graphics data element, said text output and said graphics output being displayed on said display apparatus of said user's computer system, the combination of which being delivered in a manner synchronized with said audio output in accordance with said timing data element.

2. A system as recited in claim 1 wherein said audio output is in the form of a song having words.

3. A system as recited in claim 2 wherein said text output is in the form of ASCII words.

4. A system as recited in claim 3 wherein said graphics output is in the form of highlights on said words which are displayed on said display apparatus in a synchronized manner with said audio output words in accordance with said timing element.

5. A system as recited in claim 2 wherein said text output is in the form of international multi-byte fonts.

6. A system as recited in claim 1 wherein said graphics output is in the form of a panchiko game having metal balls which is displayed on said display apparatus.

7. A system as recited in claim 6 wherein said audio output is resembles the sound of metals balls clanging, such audio output delivered in a synchronized manner with said graphics output in accordance with said timing element.

8. A system as recited in claim 1 wherein said audio data element is fragmented into audio fragments having delta time in length and wherein said text data element is fragmented into text fragments having delta time in length, said system further comprising:

a generator configured to generate simultaneous output of audio fragments and text fragments at the beginning of said delta time.

9. A system as recited in claim 1 wherein said component is an applet.

10. A system as recited in claim 1 wherein said text output further includes a list of songs from which a user can choose, and wherein said execution unit is further configured to allow said user to choose songs from said list so that said delivery of said songs' multimedia data elements is queued for sequential delivery.

11. A system as recited in claim 1 wherein said disposable key is only valid for a predetermined period of time.

12. A method for providing on-line multimedia content output to a user on said user's computer system, comprising the steps of:

via a browser, providing access to a page and at least one component, wherein said at least one component has a plurality of elements including multimedia audio, graphics, text and timing data elements, wherein said at least one component further includes instructions which when executed synchronize the delivery of said multimedia content data elements to said user's computer system, and wherein said at least one component further includes encrypted data and unencrypted data and authentication instructions executable with respect thereto;

automatically downloading said at least one component to said user's computer system;

displaying unencrypted data in a manner which enables said user to make a multimedia content output choice;

generating on said display apparatus a representation of said unencrypted data in a manner which enables said user to make a multimedia content choice and an authentication request;

generating said multimedia content output choice and said authentication request;

executing said authentication request in order to provide a disposable key to decrypt some of said encrypted data to generate said multimedia content output therefrom;

receiving authentication in response to said authentication request, including said disposable key to decrypt said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid;

decrypting said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid; and

executing said instructions to generate multimedia content output including audio output from said audio data element in the form of a song having words, text output from said text data element being displayed on a display apparatus and graphics output from said graphics data element being displayed on said display apparatus in the form of highlights on said text in a synchronized manner with said audio output in accordance with said timing data element.

13. A method as recited in claim 12 wherein said audio data element is fragmented into audio fragments having delta time in length and wherein said text data element is fragmented into text fragments having delta time in length, said method further comprising the step of:

simultaneously outputting said audio fragments and text fragments at the beginning of said delta time.

14. A method as recited in claim 12 wherein said text output is in the form of ASCII words.

15. A method as recited in claim 12 wherein said text output is in the form of international multi-byte fonts.

16. A browser embedded component, comprising:

multimedia audio, graphics, text and timing data elements;

instructions which when executed synchronize the delivery of said multimedia data elements;

encrypted data and unencrypted data and authentication instructions executable thereto;

a first execution element configured to display on a display apparatus said unencrypted data in a manner which enables a user to make a multimedia content output choice, to generate on said display apparatus a representation of said unencrypted data in a manner which enables said user to make a multimedia content choice and an authentication request, to generate said multimedia content output choice and said authentication request in order to request a disposable key to decrypt some of said encrypted data to generate said multimedia content therefrom; and

a second execution element configured to receive said disposable key to decrypt said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid, to decrypt said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid, and to execute said instructions to generate multimedia content output including audio output from said audio data element, text output from said text data lament and graphics output from said graphics data element, said text output and said graphics output being configured for display on said display apparatus, the combination of which being delivered a synchronized manner with said audio output in accordance with said timing data element.

17. An embedded component as recited in claim 16 wherein said audio output when generated is in the form of a song having words.

18. An embedded component as recited in claim 16 wherein said text output when executed is in the form of ASCII words.

19. An embedded component as recited in claim 16 wherein said text output is in the form of international multi-byte fonts.

20. An embedded component as recited in claim 16 wherein said graphics output when executed is in the form of highlights on said text output which are configured to be displayed on a display apparatus in a synchronized manner with said audio output words in accordance with said timing element.

21. An embedded component as recited in claim 16 wherein said graphics output when executed is in the form of a panchiko game having metal balls which is configured to be displayed on a display apparatus.

22. An embedded component as recited in claim 16 wherein said audio output when executed resembles the sound of metals balls clanging, such audio output delivered in a synchronized manner with said graphics output in accordance with said timing element.

23. An embedded component as recited in claim 16 wherein said audio data element is fragmented into audio fragments having delta time in length and wherein said text data element is fragmented into text fragments having delta time in length, said component further comprising:

an execution unit configured to provide the simultaneous output of audio fragments and text fragments at the beginning of said delta time.

24. A browser embedded component as recited in claim 16 wherein said disposable key is only valid for a predetermined period of time.

25. A system for providing on-line multimedia content output to a user on said user's computer system, comprising:

browser means for providing access to a page and at least one component, wherein said at least one component has a plurality of elements including multimedia audio, graphics, text and timing data elements, wherein said at least one component further includes instructions which when executed synchronize the delivery of said multimedia content data elements to said user's computer system, and wherein said at least one component further includes encrypted data and unencrypted data and authentication instructions executable with respect thereto;

downloading means for automatically downloading said at least one component to said user's computer system;

display means for displaying unencrypted data in a manner which enables said user to make a multimedia content output choice;

first generating means for generating on said display apparatus a representation of said unencrypted data in a manner which enables said user to make a multimedia content choice and an authentication request;

second generating means for generating said multimedia content output choice and said authentication request;

first executing means for executing said authentication request in order to provide a disposable key to decrypt some of said encrypted data to generate said multimedia content output therefrom;

receiving means for receiving authentication in response to said authentication request, including said disposable key to decrypt said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid;

decrypting means for decrypting said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid; and

second executing means for executing said instructions to generate multimedia content output including audio output from said audio data element, text output from said text data element and graphics output from said graphics data element, said text output and said graphics output being delivered in a synchronized manner with said audio output in accordance with said timing data element.

26. A system as recited in claim 25 wherein said graphics output is in the form of highlights on words of said text output which are configured to be displayed on said display apparatus in said synchronized manner with words of said audio output in accordance was said timing data element.

27. A system as recited in claim 25 wherein said audio data element is fragmented into audio fragments having delta time in length and wherein said text data element is fragmented into text fragments having delta time in length, said system further comprising:

output means for the simultaneous output of audio fragments and text fragments at the beginning of said delta time.

28. A system as recited in claim 25 wherein said text output further includes a list of songs from which a user can choose, and wherein said execution means further executed instruction which allow said user to choose songs from said list so that said delivery of said songs' multimedia data elements is queued for sequential delivery.

29. A server, comprising:

a storage unit configured to store a browser embedded component including:

multimedia audio, graphics, text and timing data elements;

instructions which when executed synchronize the delivery of said multimedia data elements;

encrypted data and unencrypted data and authentication instructions executable thereto;

a first execution element configured to display on a display apparatus said unencrypted data in a manner which enables a user to make a multimedia content output choice, to generate on said display apparatus a representation of said unencrypted data in a manner which enables said user to make a multimedia content choice and an authentication request, to generate said multimedia content output choice and said authentication request in order to request a disposable key to decrypt some of said encrypted data to generate said multimedia content therefrom; and

a second execution element configured to receive said disposable key to decrypt said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid, to decrypt said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid, and to execute said instructions to generate multimedia content output including audio output from said audio data element, text output from said text data lament and graphics output from said graphics data element, said text output and said graphics output being configured for display on said display apparatus, the combination of which being delivered a synchronized manner with said audio output in accordance with said timing data element; and

a transmitter configured to transmit said browser embedded component from said storage unit to a remote computer system.

30. A server as recited in claim 29 wherein upon execution by said second execution element, said graphics output is in the form of highlights on words of said text output which are configured to be displayed on said display apparatus in said synchronized manner with words of said audio output in accordance was said timing data element.

31. A server as recited in claim 29 wherein said audio data element is fragmented into audio fragments having delta time in length and wherein said text data element is fragmented into text fragments having delta time in length wherein said execution element further comprises:

a generator configured to generate simultaneous output of audio fragments and text fragments at the beginning of said delta time.

32. A server as recited in claim 29 wherein said disposable key is only valid for a predetermined period of time.

33. A computer system, comprising:

a transmission reception unit configured to receive data and instructions from a remote source; and

a storage unit configured to store said data and instructions which are a part of a browser embedded component which is automatically downloaded thereto upon access to a page provided on said remote source, said browser embedded component including:

multimedia audio, graphics, text and timing data elements;

instructions which when executed synchronize the delivery of said multimedia data elements;

encrypted data and unencrypted data and authentication instructions executable thereto;

a first execution element configured to display on a display apparatus said unencrypted data in a manner which enables a user to make a multimedia content output choice, to generate on said display apparatus a representation of said unencrypted data in a manner which enables said user to make a multimedia content choice and an authentication request, to generate said multimedia content output choice and said authentication request in order to request a disposable key to decrypt some of said encrypted data to generate said multimedia content therefrom; and

a second execution element configured to receive said disposable key to decrypt some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid, to decrypt said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid, and to execute said instructions to generate multimedia content output including audio output from said audio data element, text output from said text data lament and graphics output from said graphics data element, said text output and said graphics output being configured for display on said display apparatus, the combination of which being delivered a synchronized manner with said audio output in accordance with said timing data element.

34. A computer system as recited in claim 33 wherein upon execution by said second execution element, said graphics output is in the form of highlights on words of said text output which are configured to be displayed on said display apparatus in said synchronized manner with words of said audio output in accordance was said timing data element.

35. A computer system as recited in claim 33 wherein said audio data element is fragmented into audio fragments having delta time in length and wherein said text data element is fragmented into text fragments having delta time in length wherein said execution element further comprises:

a generator configured to generate simultaneous output of audio fragments and text fragments at the beginning of said delta time.

36. A computer system as recited in claim 33 wherein said browser embedded component is an applet.

37. A computer-readable medium having computer readable code stored therein, comprising:

a computer-readable code module configured to store multimedia audio, graphics, text and timing data elements;

instructions which when executed synchronize the delivery of said multimedia data elements;

encrypted data and unencrypted data and authentication instructions executable thereto; and

configured to display on a display apparatus said unencrypted data in a manner which enables a user to make a multimedia content output choice, to generate on said display apparatus a representation of said unencrypted data in a manner which enables said user to make a multimedia content choice and an authentication request, to generate said multimedia content output choice and said authentication request in order to request a disposable key to decrypt some of said encrypted data to generate said multimedia content therefrom; to receive said disposable key to decrypt said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid, to decrypt said some of said encrypted data to generate said multimedia content therefrom while said disposable key is valid, and

configured to execute said instructions to generate multimedia content output including audio output from said audio data element, text output from said text data lament and graphics output from said graphics data element, said text output and said graphics output being configured for display on said display apparatus, the combination of which being delivered a synchronized manner with said audio output in accordance with said timing data element.

38. A computer readable medium as recited in claim 37 wherein said audio output when generated is in the form of a song having words.

39. A computer readable medium as recited in claim 37 wherein said text output when executed is in the form of ASCII words.

40. A computer readable medium as recited in claim 37 wherein said text output is in the form of Japanese characters.

41. A computer readable medium as recited in claim 37 wherein said graphics output when executed is in the form of highlights on said text output which are configured to be displayed on a display apparatus in a synchronized manner with said audio output words in accordance with said timing element.

42. A computer readable medium as recited in claim 37 wherein said graphics output when executed is in the form of a panchiko game having metal balls which is configured to be displayed on a display apparatus.

43. A computer readable medium as recited in claim 37 wherein said audio output when executed resembles the sound of metals balls clanging, such audio output delivered in a synchronized manner with said graphics output in accordance with said timing element.

44. A computer readable medium as recited in claim 37 wherein said audio data element is fragmented into audio fragments having delta time in length and wherein said text data element is fragmented into text fragments having delta time in length, said component further comprising:

an execution unit configured to provide the simultaneous output of audio fragments and text fragments at the beginning of said delta time.

45. A computer-readable medium as recited in claim 37 wherein said disposable key is only valid for a predetermined period of time.
 Description Submit all comments and votes
 


FIELD OF THE INVENTION

This invention relates to access to encrypted multimedia content data over an Internet-type distribution system, and more particularly to a way to improve a user's on-line multimedia experience.

BACKGROUND OF THE INVENTION

Traditional forms of entertainment are becoming increasingly digitized and accessible to a wider audience. For example, in Japan, a popular form of entertainment, Karaoke, is available to a wider participating audience as a result of digitization. Because digitization reduces the cost of many products and services, Karaoke "juke boxes" are found in many business establishments so that their patrons may enjoy their use.

Digitized Karaoke juke boxes are an improvement over traditional juke boxes. Instead of replacing vinyl records, a service technician visiting each site simply loads software to update the song choices available to the user with the latest music. Moreover, on a display, words can be scrolled at the same time as the music plays. This multimedia Karaoke experience, while an improvement over traditional juke boxes, however, is expensive since it requires service calls by technicians for updating. Moreover, there is a lag between the release of a song and the time it is installed on a Karaoke juke box. Furthermore, the Karaoke song list books are printed on paper and thus are easily lost, damaged or destroyed. Additionally, in accounting, it is difficult to keep track of the songs which have been played so that royalties may be paid to the artists. A new method and apparatus which does not require visits by technicians to Karaoke sites and resolves the other problems described above would be beneficial.

While Karaoke is enjoyed by patrons of business establishments, home Karaoke participation is currently limited to playing and singing along with a record or CD. Some of the disadvantages to a home Karaoke participant include that he/she must leave home to purchase the music content and that he/she does not have the sing-along aid of scrolling words.

As more users access the Internet and the associated World-Wide-Web, more vendors are providing multimedia content data which is readily accessible by consumers. Depending upon the bandwidth capability of the transmission hardware, among other things, different types of content are accessible by consumers, including video, audio, graphic and ASCII data. Moreover, particularly with the advent of browser technology, such as Netscape, a user can readily access data from servers all over the world.

Recently, new programming languages have been developed which allows programs to be written which enhance browser technology. While not widely used yet, programs which are written in these languages can be embedded into a browser and promise to provide a user with a nearly seamless on-line multimedia experience. Such a language, Java (TM) language, has been developed by Sun Microsystems'(R) Computer Corporation.

Java is an object-oriented language similar to C++ in many ways, but specifically developed to provide cross-platform capability and reduce the complexities of C++. Generally speaking, an object-oriented language facilitates the clean definition of interfaces and makes it possible to provide reusable "software ICs." Java provides multimedia capabilities which are operating system and hardware independent. The Java software architecture is designed to support platforms ranging from personal computers to embedded network devices of the type similar to a Java desktop device (recently announced by Sun and Oracle). Sun Microsystems has a Java homepage where the Java language specifications can be accessed among other instructive programming materials at Http://JAVA.SUN.COM/doc/Overview/java/index.html.

It would be beneficial to both commercial and home users for the distribution of Karaoke and other multimedia content to be provided on-line by an Internet-type distribution system.

SUMMARY OF THE INVENTION

A user of this invention is able to access multimedia content on-line which is updated virtually simultaneously with the vendor's update process. In the event that a vendor updates the data frequently, the user will benefit tremendously, never experiencing a lag between the newest content and the delivery thereof. By a user accessing a page on the World Wide Web, for example, data (encrypted and unencrypted) and instructions are automatically downloaded to a user's computer system for quick access. Depending upon the user's computer system (LAN or a stand-alone personal computer), "applets" containing data and instructions are stored for immediate access. An applet in and of itself may contain a plurality of components, and a single click by the user may generate a download which fetches a plurality of applets. In any case, the applets are available for virtually immediate execution, making the multimedia experience seamless to the user.

For example, in a Karaoke application of this invention, where the user desires to access songs which are most popular at a given time, the user is completely unaware of the automatic delivery of an applet including data and instructions from a main data base server. When the user accesses a page, a song list and other information is displayed on a display apparatus. When the user clicks on a particular song of the song list, the applet executes an authentication request. If the user is authenticated, the authentication is downloaded as part of the applet containing the desired multi media content (or separately depending upon the circumstances). In the meantime, a new song may have reached number one standing in the charts, and the vendor has updated the main data base accordingly. While the user is still on the page, an applet containing a new song list is downloaded to user's computer system, so that in the near future, when the user goes to click another song for playing, the song list is updated and includes the newest and most popular songs.

A multimedia experience, inherent in its nature, will include different types of media content. For a seamless experience, each element's timing must be coordinated with the other elements' timing. According to this invention, an applet includes multimedia elements which further include timing codes and a synchronization function which provides for the synchronization of the delivery of the multimedia elements.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an overview of a distribution system used in conjunction with this invention;

FIG. 2 shows display screen output, among other things, offering a user song choices for a Karaoke application of this invention;

FIG. 3 is a flow chart of choices provided to a user in a Karaoke application;

FIG. 4 is a flow chart illustrating the threads for delivery of the different multimedia content components;

FIG. 5 is a diagram illustrating the embedded nature of Java in a browser;

FIG. 6 is a flow chart illustration the authentication procedure of this invention;

FIG. 7 is a flow chart illustrating the choose and play sequence of this invention;

FIG. 8 is a flow chart illustrating a method of synchronization of multimedia elements;

FIG. 9 is a flow chart illustrating another method of synchronization of multimedia elements; and

FIG. 10 is a flow chart illustrating yet another method of synchronization of multimedia elements according to this invention.

DETAILED DESCRIPTION OF THE INVENTION

A user wishing to access a Karaoke application provided in accordance with this invention will access a Karaoke page via a browser such as Netscape. The browser supports Java so that the use of Java provides multimedia capabilities which are operating system and hardware independent. Accordingly, an applet including encrypted and unencrypted data and instructions will be delivered to the user's computer system to enable the user to make choices and thus send a request to a remote server for the delivery of multimedia content. Once authentication has taken place, one or more applets are sent by the remote server which deliver the multimedia content.

Applets are stored in a network of servers for efficient delivery to a user. FIG. 1 shows a main database 72 in communication with caching subservers 74a, 74b, 74c, 74d and 74e. The main server defines the master database of all songs released. This database can rely on any known database technology whose hardware will usually reside at the central distribution site for data defined by the implementor. Multiple main servers are permitted for redundancy.

Caching subservers define a location specific server which caches songs for distribution to local Karaoke clients. The purpose of the caching subservers is to reduce load on the main server generated by song requests, and reduce long distance network traffic to the main server by caching songs locally. If a caching server does not have in memory, a song, it will request it from the master list. Subserver 74e is further shown in communication with subservers 76a, 76b and 76c. Networked computers may be arranged in other configurations as well.

An array of dedicated Karaoke terminals 78a, 78b and 78c are in communication with subservers 74b, 74c and 74d respectively. The Karaoke terminal plays the songs but also may include, but is not required to have digital signal processing capability, stereo sound, remote control, a keyboard and a mouse. Alternatively, the Karaoke page is accessed, for example, by a user's personal computer, LAN, laptop, PDA, workstation, television or telephone 82a, 82b or 82c, wireless or wired. In any manner of transmission from a remote source, applets are automatically downloaded onto the user's computer system upon access to the page as described above.

Turning to FIG. 2, an example of a Karaoke page 10 on a display apparatus is shown. The user will view a song list 12 such as that shown on the left side of page 10. While the user scrolls the song list, various information is provided. For example, a song's standing in the charts at that particular time, its length and any other information pertinent to the song is optionally provided. Because a song's current standing in the charts is information which can change at any given moment, such information when available is automatically downloaded to the user while the user maintains access to the page. New songs which are released may also be downloaded to the user while the user maintains access to the page. Moreover, as the user is scrolling through the song list, still photographs or video clips of the performances by the artists are also provided.

The user will use the click of a mouse, or other input device, to choose a song 14 on the song list 12. As shown in FIG. 2, a user chose the song Boy Meets Girl by TRF. To the right side of the song list on the page, graphics, animation or a video 16 by the group TRF are shown. As the song plays, the words to the song are also displayed. As shown in FIG. 2, the words are "Woo woo woo wo, BOY MEETS GIRL."

As the song continues to play and new verses are sung by the performer, the words displayed will change. Words (ASCII data) 18 may be displayed, for example, in segments or one at a time. In either event, the words displayed are synchronized with the words sung by the performer. In the case where a segment of words is displayed, the words on the screen are simultaneously highlighted against the background 22. Highlighting may instead be provided, for example, in a traditional bouncing ball format. An applet delivering multimedia content in accordance with this invention therefore includes the multimedia content data as well as instructions for providing the synchronization of different multimedia elements as will be described in detail below with reference to FIGS. 8-10.

The initial applet or applets delivered to the user may provide a number of choices to the user. The flowchart of FIG. 3 shows steps to carry out a selection process provided by the initially delivered applet or applets. When the user accesses a Web page 10 at box 30, he/she may make a choice from ASCII song list 14 at box 32. As mentioned above, components such as graphics, video and audio may also be delivered by an initial applet at box 34. Thus, as the song list scrolls at box 34, graphics, video, audio cuts from the songs or ASCII data such as a song's current standing may be accessed at boxes 36 and 38. Having decided upon a song, the user clicks to indicate his/her choice at box 42. User options include whether the song should be played with or without vocals at box 44; whether to raise or lower the key at box 46; a record of the number of times the song has been played by the user at box 48; whether to display video or graphics by the artist for an additional fee at box 52; whether to abort choice at box 54. Alternatively, the choices between boxes 44-54 may be suppressed or not offered. The selection is played at box 56. Once concluded, at box 58 the choice of whether to continue or to end is provided at boxes 62 and 64 respectively. Moreover, one of the above described user option boxes can include other features, such as to choose the language in which the vocalization is sung, for example, English or Japanese; whether the voice is female or male, tenor, alto or soprano; whether the voice is to sing a harmony with the original base melody; or whether to change the tempo or style of the song, for example, to a rap version, a easy listening version or country version.

After an initial applet is delivered, the multimedia content is delivered upon request, providing that the user has been authenticated. Turning to the flow chart of FIG. 4, when the user clicks on a home page with the browser, a server delivers the most current applet at boxes 84 and 86. After the song selection at box 42 (see FIG. 3) the applet calls back to the database (stored on main server 72 or a subserver) to request audio, video, timing and lyric information at box 88. At box 92, to deliver the content in a synchronized manner, the applet forks threads of control to fetch various data as shown the next boxes, 94, 96, 98, 102 and 104. At box 106, when the data is delivered to the user's computer system, it is assembled and played.

Since the delivered content data is encrypted, a key is needed for a user to decrypt it. The key may have been delivered with the initial applet or later. In any event, the key will not be provided to the user until the user has been authenticated. Authentication, for example, includes verifying payment data, a user password or a handshake with a form of personal identification such as a PCMCIA-based card, for example, a credit, debit, prepaid cash card or smart card.

FIG. 6 is a flowchart of the authentication thread 104 of FIG. 5. The authentication of this invention includes cryptographic portion and security access portions that control permissions for users to access songs, registration of usage of songs, data encryption of digital data, and valid usage lifetime of encrypted data (cf. http//www.omg.org follow links to security API for CORBA). That is, after an initial applet is delivered, and a user makes a choice and a request at box 108, authentication may be delivered before, at the same time or after the multimedia content elements are delivered depending on, for example, where particular threads of the applet shown in FIG. 4 are stored. Encrypted data is downloaded to the user at box 114 and stored on the user's computer system.

Upon authentication, a key is provided to the user to decrypt the multimedia content data so that the