Abstract:
This system provides wired and/or wireless access throughout a multimedia network built on a distributed architecture which can be transparent to the user. This multimedia network includes content which is imported or generated within the network. The system allows for the content provider to determine the license status of content and update the license status of content which was previously provided by that provider. The external content can be accessed in real time or downloaded and stored within the system for later access at the convenience of the user. The usage of some content is controlled by the use of encryption and other protection methods. The system allows for storage of live video by storing the digitized video and allowing the user to control how, when and where the content is viewed. The system makes available multiple multimedia services to all users in the network or connected via the internet.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority to U.S. Provisional Patent Application Ser. No. 60/572,365, filed May 19, 2004, which is hereby incorporated herein by reference in its entirety for all purposes. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates generally to the field of managing digital information and more particularly to the field of creating, importing, exporting, and accessing the digital information via networked multimedia systems. 
       BACKGROUND OF THE INVENTION 
       [0003]    The possibility of downloading a quality movie via the internet, or some other data network, also called video on demand (VoD), using current broadband connections such as cable or DSL, has been simplified by the recent introduction of the H.264 (also known as MPEG-4 AVC) and Microsoft Windows Media Video 9 (WMV9) codecs. However, the issue of content protection (for the content being downloaded from the content provider) has been a major obstacle to allowing consumers to rent or purchase digital video disk (DVD) quality video via the internet, or some other data network. Thus, a system is needed which will provide protection for the content downloaded while, at the same time, will allow ease of use and convenience for the consumer. 
         [0004]    One of the issues looming on the horizon is the potential use of a “broadcast flag” to protect broadcast digital TV content from being freely distributed to unauthorized parties. However, the “fair use” doctrine allows the consumer to record and reuse content which they own or receive. Using this criterion, a system could allow a user to transfer authorized content anywhere within the system network, including via a secure connection on the internet, for usage at the user&#39;s convenience. 
         [0005]    Another important development has been the ability to record an incoming video stream in digitized form onto a mass storage device such as a hard disk drive, and playback that recorded video as desired by the user. This functionality has become known as a digital video recorder (DVR) or personal video recorder (PVR) and is viewed as a superior alternative to conventional video tape recorders for capture and subsequent playback of programming content. The DVR is located within the consumer&#39;s premises, and it typically may be used by two or more users. 
         [0006]    Televisions have become so prevalent in the United States, that the typical household may have two or more television sets. Each television set requires its own DVR, if the consumer wishes to have access to the enhanced functionality. However, because DVRs can be expensive, users may be hesitant to purchase additional DVRs. These DVRs are typically configured as standalone units with limited ability to network or interconnect with other DVRs at the consumer&#39;s premises. In the cases where networking is available, the setup can be cumbersome and require considerable technical expertise and time to accomplish. 
         [0007]    The current multimedia networking options are rather sparse and, for the most part, are PC centric and/or limited in the scope of options which they offer the user. Many multimedia products typically provide limited access to multimedia services and do not easily integrate with products providing different multimedia services or from different vendors. Some potential multimedia products such as digital cameras, video games, telephony and internet browsing have had limited adoption into multimedia systems. The ideal multimedia system would be based upon a distributed architecture and would appear as transparent as possible to the consumer. 
         [0008]    The conversion to wireless communication will simplify the operation of and vastly increase the flexibility of multimedia networks. Upcoming wireless protocols such as IEEE 802.16, IEEE 802.11n, ultra broadband, and ultra wideband will advance this initiative tremendously. With these changes, the possibility of receiving and enjoying the maximum multimedia experience, even in a mobile environment, becomes much more attainable. 
         [0009]    Therefore, a need exists for systems and methods that easily download quality video/audio and other content via the internet, or other data network, that have reliable and flexible content protection, that incorporate DVRs and that ease the use of multimedia networks. Specifically, there exists a need for systems and methods which allow multiple users operating discrete DVRs, or multimedia components, within a premise or vehicle to have access to quality video/audio content via the internet, or some other data network, received by and/or stored in another DVR or storage device. There also exists a need to provide a scaled down access client which can access all system content but at the same time be relatively inexpensive. A system is also needed which allows the content provider to have an interactive relationship with the user network to determine the license status of all content provided by that provider located on the network. An additional need is the ability to easily move content to a portable multimedia device or to a valid system device via the Internet, or other data network, for remote usage at the convenience of the consumer. 
       SUMMARY OF THE INVENTION 
       [0010]    The invention provides a multimedia networking system. The invention utilizes various multimedia components networked together using either wired or wireless networking methods and protocols. This network also connects to the internet for retrieval and sharing of content. The system allows for parts of individual components to be shared with other components throughout the system to optimize the utilization of various components. 
         [0011]    The invention allows for the importation of content from an external content provider via the internet. This provides the opportunity for the user to download high quality movies, music, video games or other content for rental and purchase, through an easy and convenient process. This method also allows considerable flexibility for the content provider in the way the content is distributed and managed. The entire process is automated and very easy for the user to accomplish from any component in the system. 
         [0012]    The invention allows the system to optimize the handling of content and more easily recover from the failure of system components. The system chooses the most efficient location and handling method for incoming and internally created content depending upon several factors including, but not limited to, processor utilization rate, processor speed, hard drive memory space available, fragmentation of data on hard drive, speed of hard drive data access, scheduled recording, quality of network connection and user preferences. Another important capability is being able to move content to different locations, so it is still available to users, when a component is being removed from the system. Another example of the system flexibility is the ability of the system to use any available tuner to view or record a program. This allows an opportunity to record more programs simultaneously and also allows more efficient use of available TV tuners. 
         [0013]    The invention allows the access to the multimedia network to become virtually transparent to the user, whether within the confines where the main network resides or at a remote location connected via the internet, or some other data network. The user can freely import, create, and share content within the network. 
         [0014]    The invention accepts various types of multimedia content such as analog video, analog audio, digital video and analog video. Some of these arrive in the form of TV input and may come in several varieties such as the analog NTSC or PAL broadcasts. Analog TV streams are converted to a H.264, WMV9, or MPEG2 formatted data stream, for efficient digital signal handling. 
         [0015]    The system also accepts, digital TV forms such as Digital Satellite System (DSS), Digital Broadcast Services (DBS), or Advanced Television Standards Committee (ATSC). Another source is the playback of a DVD from a valid system device or streamed from an external DVD player. 
         [0016]    The invention allows a digital camera to be connected to the system and then have the digital video from that digital camera stored within the system or streamed to any point in the system. The invention allows VoIP telephony using packet switching technology. The system can accept VoIP phone calls, accept messages, and give voice mail. The invention allows the importation and usage of video games. The games can be played by the use of emulation software or a hardware interface. The invention allows the user to connect the output from a radio tuner into the system which then allows the audio from that radio tuner to be streamed throughout the network. The radio tuner can also be adjusted remotely from anywhere in the system if it is type designed as system component. 
         [0017]    The invention allows the use of an RFID tag to be used to automatically log the user into system via the use of an infrared (“IR”) or radio frequency (“RF”) remote control. The RFID tag referenced by the system for the user can be updated by the user if the user changes the RFID tag he or she is using. This change may be useful for security or if the original tag is lost or damaged. 
         [0018]    The invention allows the user to control functions of the system from any component linked to the network and properly designated to access the network. These control functions may include importation of content, access to content, and handling of content. Among the handling options are the typical options available when viewing a digital video disk (DVD) such as fast forward, rewind, play, pause, fast/slow forward play and fast/slow reverse play. 
         [0019]    It should be emphasized that the embodiments of the invention described above are merely possible examples, among others, of the implementations, setting forth a clear understanding of the principles of the invention. Other details and advantages of the invention will become apparent from the following detailed description in combination with the accompanying figures illustrating the principles and operation of the invention. 
         [0020]    Many variations and modifications may be made to the above described embodiments of the invention without departing substantially from the principles of the invention. All such modifications and variations are intended to be included herein within the scope of the disclosure and invention and protected. In addition, the scope of the invention includes embodying the functionality of the preferred embodiments of the invention in logic embodied in hardware and/or software configured mediums. 
       ADVANTAGES OF THE PRESENT INVENTION 
       [0021]    1. The system comprises at least one multimedia server or multimedia storage server.
 
2. The system may have multiple multimedia servers.
 
3. The system may have multiple local multimedia clients.
 
4. The system may have multiple remote multimedia clients.
 
5. The system may have multiple multimedia storage servers.
 
6. The system may have multiple DVD/CD player/recorders.
 
7. The system may have multiple radio players.
 
8. The system may have multiple digital cameras.
 
9. The system may have multiple video game players.
 
10. The system may have multiple telephony transceivers.
 
11. Content may be generated within the system or received from an external source.
 
12. The system content may contain, but is not limited to, video data, audio data, digital images, video game software, and system data.
 
13. The system may accept content from non-system sources such as, but not limited to, digital camcorder, analog camcorder, digital camera, VCR, MP3 player, PDA, and/or a computer.
 
14. The system may accept local data input using protocols such as, but not limited to, Universal Serial Bus (USB) and Firewire.
 
15. The system may record programs from a television (TV) signal input for viewing at some future time.
 
16. The system may have a programming program guide to allow for easy selection of programs to be recorded.
 
17. All system components may share a single program guide via the system network.
 
18. The system may allow the recording schedule to be updated via the internet or other data network.
 
19. The system may allow viewing of Internet pages and access to internet page content.
 
20. The system may allow the use of an e-mail client for access to e-mail via the Internet or some other data network.
 
21. The system may have a virus protection program installed or available.
 
22. The system may provide voice over internet protocol (VoIP) or a similar type of telephony.
 
23. The system may automatically notify a user when a telephone call is received via the system.
 
24. The user may use the VoIP capabilities without the loss of access to any of other system functionality.
 
25. The system may automatically answer a phone call, received via the system, and accept voice mail.
 
26. The system may contain a system clock and a display clock.
 
27. The system clock may be automatically adjusted via the internet, or some other data network.
 
28. The system may allow user to adjust the display clock.
 
29. The display clock may be synchronized with the system clock at the command of the system or when display clock synchronization is done via the internet or some other data network.
 
30. The system may block usage of protected content if the system clock has been reset, by events such as system failure or programmatic adjustment, without connection to the internet, or some other data network, for time resynchronization of the system clock.
 
31. External content may be received via various transmission sources such as, but not limited to, RF sources like IEEE 802.16, ultra broadband, satellite, 3G, GPRS or TV antenna and terrestrial sources like cable or DSL (digital subscriber line).
 
32. The system may interact with a protected content provider Internet web server, or a comparable device, to test the connection speed and report to the user the estimated download time for the requested content, before the user has to choose to begin the download process.
 
33. The system may interact with the protected content provider Internet web server, or a comparable device, to automatically download content.
 
34. The system may interact with the protected content provider internet web server, or a comparable device, to automatically resume download when an interruption occurs.
 
35. The system may interact with the protected content provider Internet web server, or a comparable device, to adjust the time period for which the content license was originally granted.
 
36. The system may interact with the protected content provider internet web server, or a comparable device, to determine the license status of content previously supplied by that content provider.
 
37. The system may interact with the protected content provider internet web server, or a comparable device, to verify that the system device receiving content is a valid device type.
 
38. The system may interact with the protected content provider internet web server, or a comparable device, to update data within the software or hardware of the system, which may be used in a security algorithm for access to the content of that content provider.
 
39. The system may interact with the protected content provider internet web server, or a comparable device, to a renew content license without downloading the content again.
 
40. The system may interact with the protected content provider internet web server, or a comparable device, to limit the number of times protected content can be viewed.
 
41. The system may require both a valid device type and a valid content license to grant access to content for usage.
 
42. Content may be encrypted and/or locked and may allow decryption and/or unlocking, for use, when a correct security algorithm is used.
 
43. A security algorithm and/or data used to decrypt and/or unlock protected content may be embedded in the hardware of the system.
 
44. The system may use security protocols such as, but not limited to, VPN (virtual private network), WPA (WiFi Protected Access) and/or PKI (public key infrastructure).
 
45. When new system components are added, the system may automatically configure the new components in a fashion similar to “plug-and-play” and may require the user to login via the prompt on the new device display or to accept the new device via the prompt on the primary multimedia server display or the designated display for the multimedia storage server.
 
46. The system components communicate via wired protocols such as, but not limited to, ethernet and/or wireless protocols such as, but not limited to, IEEE 802.11, Bluetooth, or ultra wideband.
 
47. The system may comprise multiple multimedia servers, wherein one server is designated as the primary multimedia server.
 
48. The system may comprise additional multimedia servers, which can be considered secondary multimedia servers.
 
49. All secondary multimedia servers and multimedia storage servers may contain some data, which is duplicated from the primary multimedia server periodically, to allow the secondary multimedia server, or multimedia storage server, to be automatically reassigned as the system controller, if the original primary multimedia server is unexpectedly removed from the system.
 
50. If the primary multimedia server is removed from the system unexpectedly, the system may automatically reassign a secondary multimedia server as the new primary multimedia server, if a secondary multimedia server is available. The multimedia storage server can take system control, if a secondary multimedia server is not available.
 
51. The user may request removal of a multimedia server or a multimedia storage server from the system.
 
52. When requesting removal of a multimedia server or a multimedia storage server from the system, the system may allow transfer of content before removal from the system.
 
53. When requesting removal of the primary multimedia server, the system may verify the availability of and then assign system control to a new primary multimedia server or multimedia storage server.
 
54. The system may allow transfer of content within the system at any time, by the system user which owns content.
 
55. Remote multimedia clients may be different types and may contain video/audio, and/or audio and/or other data.
 
56. Remote multimedia clients may be detached from system for remote use of content.
 
57. Detached remote multimedia clients may allow unlimited use of unprotected content and usage of protected content for the time specified by and according to the guidelines specified by the content provider.
 
58. The remote multimedia client may prohibit access to protected content if the system clock is reset by events such as system failure or programmatic adjustment.
 
59. When it is reconnected to the system, the remote multimedia client may update the license status of all protected content which it contains, based upon information about the license status of the same protected content located in permanent storage locations within the system.
 
60. The system may communicate with and service requests from non-system devices, but those devices may have limited access to protected content.
 
61. The system may allow multiple user accounts to be created.
 
62. All content may be assigned to a user created account or may be assigned to the system default account.
 
63. All video content assigned to a system user may be viewed as a single consolidated list, viewed as content per server, sorted chronologically, or sorted using other user determined criteria.
 
64. The system may store preferences for each user such as, but not limited to, content view, language, or background theme.
 
65. When a request to store content is given, the system may select the most efficient location within the system to store that content based upon various criteria such as, but not limited to, processor utilization rate, processor speed, hard drive memory space available, fragmentation of data on hard drive, speed of hard drive data access, scheduled recording, quality of network connection, and user preferences.
 
66. The system may monitor the fragmentation of hard drive, or other mass storage device, and may prompt the user to conduct data defragmentation when it is determined to be advantageous.
 
67. The system may automatically schedule defragmentation, with user approval, based upon information such as, but not limited to, upcoming recording sessions, local time of day, typical usage patterns, and memory space available.
 
68. When scheduling more simultaneous recordings than the number of tuners which exist in the system, the system may prompt the user to approve the action.
 
69. The system may be able to receive both analog and digital television broadcasts from various sources such as, but not limited to, cable, satellite, and other RF sources.
 
70. The system may convert all analog television information to a digital format.
 
71. The system may recognize incoming digital video formats to avoid unnecessary conversion processes.
 
72. The system may encode and decode video information, as needed, to or from various digital video formats such as, but not limited to, MPEG2 (Motion Picture Experts Group-2), H.264 (also known as MPEG-4 AVC), and Microsoft Windows Media Video 9 (WMV9) depending upon user requests and system needs.
 
73. The system may store digital information on the hard drive, or appropriate mass storage device, located on a multimedia server, multimedia storage server, or other valid storage device.
 
74. The system components which receive an external television signal may convert that signal to an appropriate digital format and store the information on a storage media located somewhere within the system.
 
75. The system components which do not receive an external television signal may receive digital television information from another system device which has a television tuner available.
 
76. The local multimedia client preferably does not include mass storage space for content. If the local multimedia client does not have mass storage space for content, then the local multimedia client can be connected to the system to gain access to full system capabilities.
 
77. The local multimedia clients may or may not have a connection to receive a television signal from outside the system.
 
78. The digital video information, from a system component, which was previously stored, may then be sent to that system component, specified by the system, at the rate specified by the component receiving the information.
 
79. The multimedia server, the local multimedia client, the remote multimedia client, or the radio player may have multiple tuners.
 
80. The system may record multiple programs simultaneously by utilizing tuners which are not being utilized for recording at the current time.
 
81. Picture-in-picture capabilities may be provided by use of a second tuner in a single component or by the use of a tuner in another system component which is not being utilized at the current time.
 
82. The system may reconfigure protected content into a format which can be copied to permanent media such as, but not limited to, a DVD-R or CD-R, via a valid system device type.
 
83. The system may allow copying of protected content onto permanent media, such as a DVD-R or CD-R, within the parameters specified by the protected content provider.
 
84. The system may reconfigure content, for more efficient storage, on a remote multimedia client or may reconfigure unprotected content, for more efficient storage, on a non-system device which is external to the system.
 
85. Some content exchanged via system communications may be encrypted or modified to protect content.
 
86. The system may display various television standards such as, but not limited to, National Television Standards Committee (NTSC), PAL, and high definition (HD).
 
87. The system may display video as either interlaced scanned frames, progressive scanned frames, or other protocols, as desired.
 
88. The system may handle various audio formats such as, but not limited to, MP3, WAV, and AC3.
 
89. The system components may be controlled using an IR or RF remote control device.
 
90. The system may allow the user to use an RFID tag, or a similar device, to identify the user to the system, via the remote control, and automatically log the user into the system, if the user so chooses.
 
91. The system may allow the user to change the RFID tag, or similar device, at the request of the user.
 
92. A keyboard, keypad, or other input device may be used for inputting system functions and configurations.
 
93. The system may use a video game emulator front-end to allow access to video games.
 
94. Video camera input may be allowed from a system or a non-system device and may contain both audio information and video information.
 
95. The system may be configured to stream or transfer stored or live content, such as TV, radio, or digital video over the internet, or other data networks.
 
96. The system may be configured to stream or transfer protected content over the internet, or other data networks, to a valid system device using a secure connection protocol such as, but not limited to, VPN.
 
97. Recording schedules may be adjusted via the internet, or some other data network, or via a WAP enabled, or with comparable protocol, wireless phone.
 
98. The system may automatically create a copy of a content file if requests for access are determined to be causing a sufficient conflict in accessing the original content file.
 
99. The system may monitor status of connection to internet, or other external network, and may notify the user when a download process is interrupted and/or connection has been lost.
 
100. The system may allow the user, within the system, to reassign ownership of content to another user, within system, with the approval of the new owner.
 
101. The system may encode information into content which may then be used by system for security algorithms and/or license status information.
 
102. The system may allow user to exclude a system component from being automatically considered for usage as a tuner and/or data storage location.
 
103. The system may allow an administrative user account to be created.
 
104. The system may allow the administrative user to have access to all content, to move content, to make changes to individual user accounts, and/or have the ability to change system wide settings.
 
105. The system may authenticate the valid system device receiving content via the internet, or other data network, as part of the original system network sending the content.
 
106. Each system component contains its own hardware and/or software functionality but overall control of the system can be maintained by the primary multimedia server or multimedia storage server.
 
107. The system may interact with protected content provider internet web server, or a comparable device, to set the time period for which the content license is granted.
 
108. The system may allow instant messaging on system components with output display device.
 
109. The system component may allow for the display of two or more sources of video information on an output device.
 
110. The system may allow control of various system functions and/or content via the internet, or other data network, using a valid system device.
 
111. The system may monitor and record the number of times content is accessed.
 
112. The system may interact with protected content provider Internet web server, or a comparable device, to determine the number of times content has been accessed.
 
113. When requesting removal of the primary multimedia server, the system may allow the user to specify which secondary multimedia server to assign as the new primary multimedia server or may allow user to specify a multimedia storages server as the system controller.
 
114. The system may use a graphical user interface (GUI) for the components which have a visual media output device.
 
115. The system components which display video output or receive video, in a form requiring digitization, may have a video coder and/or decoder.
 
116. The system components which serve as storage devices, such as the multimedia servers and multimedia storage servers may have router capabilities.
 
117. The system may contain a web server to provide access to send data to and receive data from the Internet.
 
118. The system may allow data stream to flow from incoming input/output (I/O) to outgoing I/O when user is viewing video or listening to audio in real time.
 
119. The system may allow usage of different port numbers for input and output of data to and from system devices.
 
120. In one exemplary embodiment, the multimedia storage server does not comprise a tuner.
 
121. The system may allow user to query and display the status of protected content.
 
122. The current status of protected content on the system may be stored in an extensible markup language (XML) file, or a similar format file.
 
123. Local multimedia clients may have mass storage space sufficient to run the operating system and related software.
 
124. The DVD/CD player/recorder may be in same enclosure as a multimedia server or multimedia storage server.
 
125. The content key may contain information which is stored in an XML file, or a similar format file.
 
126. The system may allow a multimedia storage server as the system controller, even when a multimedia server is available within the system.
 
127. The system may allow for the periodic generation of a new private key within a system device for purposes of enhanced security.
 
128. The system may allow for the generation of new private key within a system device using a seed from a random number generator or some other source.
 
129. The system may allow compilation and storage of content usage history in a file called content usage history file.
 
130. The system may allow multiple content usage history files to be created by the use of specific criteria, such as usage for daily intervals or weekly intervals or usage for individual system users.
 
131. The system may allow deletion of selected content usage history from the content usage history file when the appropriate content provider has retrieved that information and given permission for the deletion of the data.
 
132. The system may allow compilation and storage of the license status of content in a file called content license status file.
 
133. The system may allow the conversion of all encrypted content keys, content usage history files and content license status files contained within a system device, from an old public key to new public key, when a new private key is generated within that system device.
 
134. The system may include an additional level of validation for a valid system device logging into system via the internet, or some other data network.
 
135. The system may allow encryption of live content if needed.
 
136. The system may incorporate the point-to-multipoint (PMP) wireless protocol to enhance the data distribution within the system
 
137. The system may allow streaming content from an external provider to be stored on a storage device for a short period of time during the streaming process to improve the quality of the streaming content.
 
138. The system may have an interactive program guide, which can search for content from various sources and display the content available in a consolidated format to simplify the choice of programming to view, record, and/or import.
 
139. The system may allow information to be compiled and stored in the content license status file, relating to the network identification, user identification, and device identification to which each piece of content is assigned.
 
140. The system may include a web server which can be used to provide secure access to the system, from a valid system device or non-system device, via the internet.
 
141. The system may include the use of an additional means of user identification, such hardware containing a security certificate, for a user accessing the system via the internet, or other data network.
 
142. Each system device may include an operating system but overall system control is given to a designated primary multimedia server or multimedia storage server.
 
143. Each system device may include multiple processors to improve operating efficiency.
 
144. The system may allow flow of data within system to reduce contention and improve the efficiency of data exchange and data usage.
 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWING FIGURES 
         [0022]      FIG. 1  is a block diagram representation of a multimedia system according to an illustrative form of the present invention showing the content flow between components within the system. 
           [0023]      FIG. 2  is a block diagram showing flow between components within the system of  FIG. 1  and components external to the system. 
           [0024]      FIG. 3  is a block diagram showing the handling of input/output functions within the system of  FIG. 1 . 
           [0025]      FIGS. 4A and 4B  are block diagrams showing the flow of live and delayed content in the system of  FIG. 1 . 
           [0026]      FIG. 5  is a block diagram showing use of a RFID tag to verify user identification in accordance with an exemplary embodiment of the present invention. 
           [0027]      FIG. 6  is a block diagram showing use dual data ports for sending and receiving data in accordance with an exemplary embodiment of the present invention. 
           [0028]      FIG. 7  is a flow chart showing the process for a request for content access in accordance with an exemplary embodiment of the present invention. 
           [0029]      FIG. 8  is a flow chart showing the process for a request for a record in accordance with an exemplary embodiment of the present invention. 
           [0030]      FIG. 9  is a flow chart showing the process for a request to find a television tuner in accordance with an exemplary embodiment of the present invention. 
           [0031]      FIGS. 10A and 10B  is a flow chart showing the process for a request for server removal in accordance with an exemplary embodiment of the present invention. 
           [0032]      FIG. 11  is a flow chart showing the process for a request for transfer of protected content from a provider. 
           [0033]      FIG. 12  is a block diagram showing a request for transfer of protected content from a content provider in accordance with an exemplary embodiment of the present invention. 
           [0034]      FIG. 13  is a flow chart showing the process of a transfer of protected content between system devices. 
           [0035]      FIG. 14  is a block diagram showing a transfer of protected content between system devices in accordance with an exemplary embodiment of the present invention. 
           [0036]      FIG. 15  is a flow chart showing the process for a request for a content license update from a provider in accordance with an exemplary embodiment of the present invention. 
           [0037]      FIG. 16  is a block diagram showing a request for a content license update from a provider in accordance with an exemplary embodiment of the present invention. 
           [0038]      FIGS. 17A and 17B  are a flow chart showing the process for a request to create a hard copy of protected content in accordance with an exemplary embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0039]    Referring now to the drawing figures, in which like reference numbers refer to like parts throughout the several views, preferred forms of the present invention will now be described by way of example embodiments. It is to be understood that the embodiments described and depicted herein are only selected examples of the many and various forms that the present invention may take, and that these examples are not intended to be exhaustive or limiting of the claimed invention. Also, as used in the specification including the appended claims, the singular forms “a,” “an,” and “the” include the plural unless the context clearly dictates otherwise. Ranges may be expressed herein as from “about” or “approximately” one particular value and/or to “about” or “approximately” another particular value. When such a range is expressed, another embodiment includes from the one particular value and/or to the other particular value. Similarly, when values are expressed as approximations, by use of the antecedent “about,” it will be understood that the particular value forms another embodiment. 
         [0040]    As described herein, the term “content” is used to describe the data and/or files that are imported, exported, and/or managed within the system. Such content can include audio files, video files, and video game programs. 
         [0041]    The present invention is embodied in a networked multimedia system which can import content via the internet, or other data network and create content within, from various sources, such as TV, radio and digital camera. The present invention allows for multiple user accounts, including an administrative account, to be created and allows content to be assigned to specific users. An administrative account can control all system preferences and move or reassign ownership of any content. For example, content assigned to a specific user is not visible to other users, but any user can reassign content ownership, with the approval of the recipient. 
         [0042]    The present invention allows the content provider to access and update the status of content, located within the system, which the provider of the content has previously supplied. 
         [0043]    The present invention allows for transmission of data between the various system devices and also with other non-system devices. Transmission media include coaxial cables, copper wire, and fiber optics. Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. 
         [0044]      FIG. 1  is a block diagram of a system  100  showing the pathways for sending and receiving content within the system  100 . The system  100  comprises a plurality of system components. Each system component preferably includes a processor unit and a software program to control that component, or other components as desired. All data within the system is preferably in digital form or converted into digital form. Data is exchanged in the form of data packets and/or frames, depending upon the communication protocol being used. 
         [0045]    The system  100  includes a primary multimedia server  101 , a secondary multimedia server  103 , a multimedia storage server  102 , a remote multimedia client  104 , and a DVD/CD player/recorder  105 . Each of these devices preferably has some type of storage media such as, but not limited to, a hard disk drive, DVD-R/CD-R, or DVD-RAM. The system  100  also includes a local multimedia client  106 , which preferably does not have content storage media but can include memory for program usage. 
         [0046]    Preferably, the remote multimedia client  104  is a portable device that can be detached from the system  100 . The detached remote multimedia client  104  allows access to all content stored on it, including protected content such as DVD quality movies, which have been imported via the internet from a remote location. Thus, content stored on the remote multimedia client  104  can then be accessed by the user at his or her convenience and at his or her preferred place of viewing and/or listening. 
         [0047]    In an exemplary embodiment, the primary multimedia server  101 , the secondary multimedia server  103 , the remote multimedia client  104 , and the local multimedia client  106  each can have the ability to send and receive TV signals. The primary multimedia server  101 , the secondary multimedia server  103 , the remote multimedia client  104 , and the local multimedia client  106  can each include at least one encoder/decoder capable of working with at least one TV format (such as NTSC, PAL, and HD). Having multiple encoders is less important than having multiple decoders because a single encoder, which is efficient and compatible with the system  100 , can be used while achieving one of the goals of the present invention. Preferably, each decoder is operable to handle multiple codecs because content may come from different sources such as DVDs, movie downloads, or internally generated content. Codecs can be hardware or software based. Hardware based codecs, such as a dedicated digital signal processor (DSP) or field programmable gate arrays (FPGA), may be faster and require less processor intervention but may offer less flexibility on which codecs are available. The flexibility of the software based codecs are a high priority but must be balanced against the cost and complexity of the processor which may be desired. Alternatively, multiple decoders each can operate to handle a single codec, or a few codecs can be incorporated into each of the primary multimedia server  101 , the secondary multimedia server  103 , the remote multimedia client  104 , and the local multimedia client  106 . 
         [0048]    Preferably, either the primary multimedia server  101  or the multimedia storage server  102  maintains primary control over the other system components. This control can be accomplished by running a software program on the primary multimedia server  101  (if the primary server is to maintain control) or on the multimedia storage server  102  (if the multimedia storage server  102  is to maintain control). The server in control can assign control to other system components for specific tasks, such as streaming data or moving data files. Preferably, the secondary multimedia server  103  is running a similar core program to the program running on the control server but the secondary multimedia server program relies upon the control server to direct which operations and functions for which the secondary multimedia server  103  is responsible. The secondary multimedia server  103  can also contain some data and files duplicated from the control server which allows the secondary multimedia server  103  to become the primary multimedia server  101 , if the primary multimedia server (if control server) or the multimedia storage server  102  (if control server) is unexpectedly removed from the system. 
         [0049]    The system  100  can have various analog or digital devices connected to it. Such devices can include, but are not limited to, a digital camera  107 , a radio tuner  108 , a video game player  109 , and a telephony transceiver  110 . 
         [0050]    The digital camera  107  can be connected to the system  100  and can send output (i.e., digital pictures or digital video) to the primary multimedia server  101 , the secondary multimedia server  103 , or the multimedia storage server  102 . The digital images from the camera  107  can then be stored in any of the server&#39;s storage media and sent to another system component or a non-system device, such as a web page accessed via the internet. 
         [0051]    The radio tuner  108  can also be connected to the system  100  and can send output to the primary multimedia server  101 , the secondary multimedia server  103 , or the multimedia storage server  102 . The audio data can then be stored in any of the server&#39;s storage media and sent to another system component, for example to the media output device of a system component which could be a TV or a headphone output from a remote multimedia player. Then the audio data be stored and sent to yet another system component (such as remote multimedia player, multimedia server or multimedia storage server) or non-system device, such as to a web page accessed via the internet. 
         [0052]    The video game player  109  can be connected to the system  100  and can access game software stored within the system  100  to allow the user to play video games using an emulation interface or a hardware interface. The video game player  109  can download the game software from the system  100  (i.e., a one-way communication) or use the game software which is still stored on another system device (i.e., a two-way communication), depending on the configuration which is most advantageous. 
         [0053]    The telephony transceiver  110  can be connected to the system  100  and can receive VoIP phone calls via software running on the primary multimedia server  101  (if control server) or the multimedia storage server  102  (if control server). The VoIP uses packet switching to send and receive data, which is converted to or converted from an audio conversation. The system can automatically notify user of an incoming phone call and then allows the user to answer the call or accept voice mail from the caller. Preferably, the voice mail greeting is recorded in a digital format. The greeting is then sent in digital format, via the internet, to the caller where it is converted to an analog audio format for the caller to hear. The caller then provides a message in analog audio, which is converted to digital format and sent, via the internet, back to the system for storage. The system accepts and stores the caller&#39;s message in a digital form, which can later be accessed by the user. 
         [0054]      FIG. 2  is a block diagram showing the pathways for content sent or received from components external to the system  100 . Typically, there can be two kinds of external components: valid system devices  201 , which can access protected content, and non-valid system devices  202 , which cannot access protected content. The valid system device  201  can be any system device capable of accessing the Internet, or other data network, which is recognized by the system as a valid system device. Exemplary valid system devices  201  include any system any system component shown in  FIG. 1  that can provide proper validation credentials to the system. The system  100  can verify that the component is a valid system device  201  by using an algorithm which is located in the software and/or hardware of the component. Preferably the valid system device  201  is capable interacting with the system  100  to access system functionality such as sending content to system, receiving content from the system, and performing system administrative functions. The non-valid system device  202  is a device which can interact with the system to perform only certain functions. Preferably, a non-valid system device can access the internet, but it cannot provide proper validation credentials to the system. Thus, the non-valid system device cannot gain access to protected content. Exemplary non-valid system devices include a cellular phone which can modify the recording schedule, a MP3 player, which can store unprotected content from the system, and a computer, which can store and access unprotected content from the system. 
         [0055]    An external content provider  203  can be connected to the system  100  and can send content to various system components. The external content provider  203  can interact directly with system components to determine and modify the status of content that the provider has supplied. The external content provider  203  can verify that the system component receiving content is a valid system device  201  which assures that the protected content is not available to unauthorized parties or devices. The external content provider  203  can also test the connection speed and report to the user the estimated download time for requested content, before the user chooses to begin the download process. Alternately, the external content provider  203  can automatically download content and automatically resume download when an interruption occurs. Additionally, the external content provider  203  can adjust the time period for which the content license was originally granted, can verify that system device receiving content is valid device type, can update data within the software or hardware of the system  100 , which may be used in a security algorithm for access to the content of that content provider, can renew the content license without downloading the content again, and can limit the number of times protected content can be viewed. 
         [0056]    Preferably, the primary multimedia server  101  (if control server) or the multimedia storage server  102  (if control server) handles all content sent or received from external sources. Alternately, the secondary multimedia server  103  or the multimedia storage server  102  can handle all content sent or received from external sources. Preferably, the primary multimedia server  101 , or multimedia storage server  102  manages the transfer of content and can also transfer control for specific transfer tasks to the secondary multimedia server  103 . 
         [0057]      FIG. 3  depicts a block diagram showing the handling of content which is generated or handled within the system  100  according to an exemplary embodiment. It should be noted that the input and output functionality examples used can be located within any system component. It should also be noted that even though  FIG. 3  shows three inputs and four outputs, any number of devices can provide input, as well as any number of output devices can receive output from the system. It should be noted that the primary multimedia server  101 , the secondary multimedia server  103  and the multimedia storage server  102  can have storage devices for storing content generated within the system  100  for any input or output. 
         [0058]    In this exemplary embodiment, the source of input  304  is an analog TV signal. When the primary multimedia server  101  (if control server) or the multimedia storage server  102  (if control server) gives I/O  305  a proper command, the I/O  305  begins sending the output from an encoder  306  to an I/O  307  (which supplies input to the primary multimedia server  101 ) or I/O  308  (which supplies input to the secondary multimedia server  103 ) or I/O  309  (which supplies input to the multimedia storage server  102 ) for storage. The choice of which device will receive the input for storage is determined by the program running on the primary multimedia server  101  or multimedia storage server  102 , based upon a predetermined algorithm. 
         [0059]    The source of input  310  is a digital TV signal. When the primary multimedia server  101  (if control server) or the multimedia storage server  102  (if control server) gives I/O  311  a proper command, the I/O  311  begins sending the signal from input  310  to I/O  307  or I/O  308  or I/O  309  for storage. The choice of which device will receive the input for storage is determined by the program running on the primary multimedia server  101  or multimedia storage server  102 , based upon a predetermined algorithm. 
         [0060]    The source of input  312  is an analog audio signal. When the primary multimedia server  101  (if control server) or the multimedia storage server  102  (if control server) gives I/O  313  a proper command, the I/O  313  begins sending the output from an encoder  314  to I/O  307  or I/O  308  or I/O  309  for storage. The choice of which device will receive the input for storage is determined by the program running on the primary multimedia server  101  or multimedia storage server  102 , based upon a predetermined algorithm. 
         [0061]    The output from output  315  is an analog TV signal. When the primary multimedia server  101  (if control server) or the multimedia storage server  102  (if control server) gives I/O  316  or I/O  317  or I/O  318  the proper command, the I/O  316  or I/O  317  or I/O  318  begins sending the output to the I/O  319  which then forwards the data to the decoder  320  which then sends the decoded TV signal to the TV via output  315 . The choice of which device will be the source of the data is determined by the program running on the primary multimedia server  101  or multimedia storage server  102 , based upon a predetermined algorithm. 
         [0062]    The output from output  321  is a digital TV signal. When the primary multimedia server  101  (if control server) or the multimedia storage server  102  (if control server) gives I/O  316  or I/O  317  or I/O  318  the proper command, the I/O  316  or I/O  317  or I/O  318  begins sending the output to the I/O  322  which then sends the signal to the digital TV via output  321 . The choice of which device will be the source of the data is determined by the program running on the primary multimedia server  101  or multimedia storage server  102 , based upon a predetermined algorithm. 
         [0063]    The output from output  323  is a digital audio signal. When the primary multimedia server  101  (if control server) or the multimedia storage server  102  (if control server) gives I/O  316  or I/O  317  or I/O  318  the proper command, the I/O  316  or I/O  317  or I/O  318  begins sending the output to the I/O  324 , which then sends the signal to the device connected to output  323 . The choice of which device will be the source of the data is determined by the program running on the primary multimedia server  101  or multimedia storage server  102 , based upon a predetermined algorithm. 
         [0064]    The output from output  325  is an analog audio signal. When the primary multimedia server  101  (if control server) or the multimedia storage server  102  (if control server) gives I/O  316  or I/O  317  or I/O  318  the proper command, the I/O  316  or I/O  317  or I/O  318  begins sending the output to the I/O  326  which then forwards the data to the decoder  327  which then sends the decoded audio signal to the device connected to output  325 . The choice of which device will be the source of the data is determined by the program running on the primary multimedia server  101  or multimedia storage server  102 , based upon a predetermined algorithm. 
         [0065]      FIG. 4A  depicts a block diagram showing the flow of live content. I/O  401  sends a data stream being generated by a system device (i.e., a valid or non-valid system device), such as a TV tuner, radio tuner or digital camera, to I/O  402 . The I/O  402  determines whether data stream from I/O  401  is live or delayed based upon information from the system software. The system software determines this status based upon whether the user is choosing to delay content or view it live. Preferably, if the content is viewed live, then an identical data stream is sent to storage device  403 , to be saved on a storage media, and to I/O  404 . The data is then sent directly from I/O  404  to I/O  405 . The data is then sent from I/O  405  to the appropriate output device, such as a TV or audio amplifier. Preferably, the I/O  402  and I/O  404  are both parts of the I/O of a system component but are separated in  FIGS. 4A and 4B  to clarify that the signal source going to I/O  404  can vary depending upon whether the content is being viewed live or delayed. 
         [0066]      FIG. 4B  depicts a block diagram showing the flow of delayed content. The flow of content differs from that displayed in  FIG. 4A  if the system software determines that the user chooses to view the content later in time. In this case, I/O  406  sends a data stream generated by a system device (i.e., a valid or non-valid system device), such as a TV tuner, radio tuner or digital camera, to I/O  407 . Since the content is being delayed, the data stream is sent to storage device  403 , to be saved on a storage media. The delayed content, which was previously stored from the data stream, is then sent to I/O  408  in the direction (forward or reverse) and frame rate specified by the user while the storage device continues to save the live content stream if there is still a live stream. The delayed content is then sent from I/O  408  to I/O  409 . The delayed data is then sent from I/O  409  to the appropriate output device, such as a TV or audio amplifier. 
         [0067]    If the user chooses to return to the live content viewing option, then the data flow path will revert to the direct path from I/O  402  to I/O  404 , as described earlier in the live content flow method. 
         [0068]      FIG. 5  depicts a block diagram representation of user authentication using an RFID tag  501 . Preferably, the RFID tag  501  automates a login via a remote control  502 . The RFID tag  501  emits a signal which is detected by the remote control  502 . The remote control  502  receives the login information, in the signal from the RFID tag  501 , and transmits that information to the system component  503 , which can be the remote control. The system component  503  then uses that information to authenticate the user and log the user into the system  100  or perform whatever predetermined functions are specified by the user. Alternatively, other forms of user authentication, including the use of user identification and a password, biometric login methods or any combination of these measures, can also be used. 
         [0069]      FIG. 6  shows the use of multiple ports for handling of input/output. The I/O  601  sends data on IP 1 :Port 1  (IP address  1 :Port  1 —an example could be 1111.1111.1111.0001:0001), receives data on IP 1 :Port 2  and handles all system control communications on IP 1 :Port 3 . The I/O  602  is the I/O section of the system storage device  603 . The I/O  602  uses IP 2 :Port 2  to receive data, IP 2 :Port 1  to send data and handles all system control communications on IP 2 :Port 3 . The I/O  604  sends data on IP 3 :Port 1 , receives data on IP 3 :Port 2  and handles all system control communications on IP 3 :Port 3 . Using this configuration throughout the system allows all devices to consider data on port  1  as outgoing data, data on port  2  as incoming data and all data on port  3  as system control. This can help simplify data handling and movement within the system. 
         [0070]      FIG. 7  shows a flowchart representation of a process  700  for requesting access to content. Beginning at step  701 , the user requests access to content, such as via the remote control. At step  702 , the system  100  determines if the content requested is protected content. If the system  100  determines, at step  702 , that the content is not protected, then the system  100  allows access to the content by any valid system device or non-valid system device without restriction at step  703 , and the process  700  ends. If the system  100  determines, at step  702 , that the content is protected, then the system determines at step  704 , if the device type requested is a valid device type. 
         [0071]    If the system  100  determines that device type is not a valid device type, then at step  705 , the system displays a message to the user that tells the user that device is not valid. Thus, access is denied at step  706 , and the process  700  ends. If the system  100  determines that the device is a valid device, then the process  700  proceeds to step  707 . 
         [0072]    At step  707 , the system  100  determines whether the license for the content is valid. If at step  707 , the system  100  determines that the license is valid, then full access to the content is granted on the system device at step  708 . If, however, at step  707 , the system  100  determines that the license is not valid, then the process  700  proceeds to step  709  and displays a message to the user asking the user to choose whether to renew the license. The process  700  proceeds to step  710 , where it determines whether input has been received to update the status of the license. If input has been received to update the status of the license, then the system  100  updates the license at step  711 , and loops back to step  701 . If, however, the system  100 , at step  710 , determines that no input has been received to update the license (or if input has been received not to update the license), then the system  100  displays a message at step  713  to the user stating that the license is not valid and denies access to the content at step  714 . The process  700  then ends. 
         [0073]      FIG. 8  shows a flowchart representation of logic  800  used in determining which tuner should be used for a recording process. Beginning at step  801 , a request to record is received from a system component. At step  802 , the system  100  determines whether the tuner of the system component requesting the recording is available. If the tuner is available (i.e., a tuner is available when it is not being used by the system for another purpose, such as viewing or recording) at that time, the tuner is selected to record at step  803 , and the recording of the content begins at step  804 . If, however, the system  100  determines that the tuner of the system component requesting the recording is not available, then the system determines whether an unused tuner is available elsewhere in the system at step  805 . If another tuner is available, then the system selects the available tuner for recording at step  806 . The recording of the content begins at step  807 . 
         [0074]    If, however, the system  100  determines that an unused tuner is not available elsewhere in the system, the system then determines if the system component requesting the recording is in fact recording other content at step  808 . If the system component is not recording other content, then the system  100  selects the system component&#39;s tuner for recording at step  809 . The recording of the content then begins at step  810 . If the system component is in fact recording other content, the system then determines that step  811  whether there is any tuner in the system that is not in fact recording content. If no other tuner is available, the system records an error at step  812 , and the recording process  800  is aborted. If the system  100  determines that a tuner within the system is not recording, then the system selects that tuner for recording at step  813 . From there, the process  800  for recording begins at  814 . 
         [0075]      FIG. 9  shows a flowchart representation of logic  900  used in determining which tuner should be used for content viewing. Beginning at step  901 , the system receives a request from the user for program viewing. As step  902 , the system  100  determines whether the system component requesting the viewing has its own tuner. If the system  100  determines that the system component does not have its own tuner, the system then determines, as step  903 , whether there is an unused tuner available within the system. If the system  100  determines that there is an unused tuner available, then the system selects the unused tuner for program viewing at step  904 , and the system begins using that tuner at step  905 . If at step  903 , the system determines that an unused tuner is not available, the system displays a message to the user telling the user that no tuner is available at step  906 . The system  100  will then wait for the user to input the next command at  907 , and the process  900  ends. 
         [0076]    If at step  902  the system  100  determines that the requesting system component does have its own tuner, the system determines whether that specific tuner is currently recording content at  908 . If the tuner is not recording content, the system  100  selects the requesting component&#39;s tuner for program viewing at step  909 , and the system begins using the tuner at step  910 . If, however, that requesting component&#39;s tuner is currently recording other content, then the system  100 , at step  911 , determines whether there is an available tuner elsewhere in the system. If there is not an available tuner within the system, the system  100  displays a message to the user telling the user that no tuner is available at step  912 . The system will then wait for the user to input the next command at  913 , and the process  900  ends. If, however, there is an available tuner within the system, the system  100  selects the available tuner for program viewing at step  914 , and the system begins using the tuner at step  915 . The process  900  then ends. 
         [0077]      FIGS. 10A and 10B  show a flowchart representation of logic  1000  used to request removal of a multimedia server  101  or  103 . Beginning at step  1001 , a request is received to remove a multimedia server (i.e.,  101  or  103 ). At step  1002 , the system  100  determines whether content will be removed from the server. If content is to be removed, the system at step  1003  determines whether there are other multimedia servers within the system. If another multimedia server is available, then the system  100 , at step  1004 , selects a new primary multimedia server from among the other multimedia servers within the system. The content on the original primary multimedia server is then moved (and/or copied) to the new primary multimedia server at step  1005 . The system  100  then displays a message telling the user that the original multimedia server can be removed at step  1006 . The logic  1000  then ends, and the user can physically remove the original multimedia server. 
         [0078]    If, however, at step  1003  another multimedia server is not available, then the system determines whether a multimedia storage server is available at step  1007 . If no multimedia storage server is available, the system displays a message telling the user that no other server is available at step  1008 . The system will then wait for the user to input the next command, and the logic for requesting removal of the multimedia server ends. 
         [0079]    If at step  1007 , the system determines that a multimedia storage server is available, then the system  100 , at step  1010 , selects the multimedia storage server as the system controller. Then, the content located on the original primary multimedia server is copied and/or moved to the multimedia storage server at step  1011 . The content can be moved or copied, as determined by the user. The system can also make a copy automatically if the original is being requested to the extent that it is causing degradation of the quality of content being delivered to the users. At step  1012 , the system  100  displays a message to the user telling the user that the multimedia system can be removed. The logic  1000  for requesting removal of the multimedia server ends. 
         [0080]    If, referring back to step  1002 , the system determines that content is not to be removed from the multimedia server, then the system  100  proceeds to step  1020  (as depicted in  FIG. 10B ). At step  1020 , the system determines whether the primary multimedia server is the server to be removed. If the system  100  determines that the server to be removed is not the primary multimedia server, then the system as step  1021  displays a message to the user telling the user that the server can be removed. The logic  1000  for removing a server then ends, and the user can then physically remove the server. 
         [0081]    If, however, the system  100  determines the primary multimedia server is the server to be removed, then the system at step  1022  determines if there is another multimedia server within the system. If there is another multimedia server in the system, then the system  100  selects a new primary multimedia server from among the other multimedia servers in the system at step  1023 . Then, the system  100  displays a message to the user telling the user that the multimedia server can now be removed at step  1024 . The logic  1000  for removing the server then ends, and the user can physically remove the server. 
         [0082]    If, on the other hand, another multimedia server is not within the system, then the system determines at step  1025  whether a multimedia storage server is available. If no multimedia storage server is available, then the system displays a message to the user telling the user that no other server is available at step  1026 . The system will then wait for the next command, and the logic  1000  for removing the server ends. If the system determines a multimedia storage server is available, the system selects the multimedia storage server as the system controller at step  1028 . Next, the system  100  displays a message to the user telling the user that the multimedia server can now be removed. Then, the logic  1000  for removing a server then ends, and the user can physically remove the server. 
         [0083]      FIG. 11  shows a flowchart representation of a process  1100  of requesting protected content from the external content provider  203 . Beginning at step  1101  the system  100  requests protected content from the external content provider. Next, the system  100  receives a request from the content provider for verification of a valid device type at step  1102 . The system  100 , at step  1103  determines whether the device type is valid. If the device type is not valid, then the system  100 , at step  1104 , displays a message on the system to the user stating that the content cannot be transferred. Thus, the content is not transferred, and the process  1100  ends. 
         [0084]    If, however, the system determines that the device type is valid, then the system receives a request from the external content provider for the status of other protected content sent to the system at step  1105 . The system  100  then sends status information to the content provider at step  1106 . At step  1107 , the system  100  receives instruction from the content provider. Based on the instruction received from the content provider, the system determines if it is eligible to receive additional content at step  1107 . If the system  100  is eligible to receive additional content, then the system receives a request from the content provider for the public key from the system device at step  1109 . Next at step  1110 , the system device sends its public key to the content provider so that the content key sent from the content provider can be encrypted with the system device&#39;s public key. At step  1111 , the system  100  receives the content key that is encrypted with the system device&#39;s public key and the content, which is encrypted using the content key. The process  1100  of requesting protected content from the content provider ends. 
         [0085]    If, however, at step  1108  the system determines it is not eligible to receive additional content, then the system displays a message asking the user if he or she chooses to update the content license at step  1112 . The system then determines at step  1113  whether it has received an input to update the content license. If the system does receive an input to update the content license, the content license is updated at step  1114 , and the process  1100  can loop back to step  1101 , where the system, now with the updated content license, requests protected content from the content provider. If no input is received or if an input is received not to update the content license, then the process  1100  of requesting protected content from the content provider ends. 
         [0086]    With this capability, the user and the content provider have an interactive relationship that allows considerable flexibility and ease of use for the user. An example of this process can occur when a user chooses to download a new movie to the system. The content provider can check the total quantity of movies that the user has in use by mail order rental, in-store rental, and downloaded rental. Thus, this embodiment is an improvement upon the prior art because it allows the content provider the capability to check the total quantity of movies, music, video games or other content which the user has in use by mail order rental, in-store rental, or downloaded rental as compared to just the status of the mail order items. This allows instant return of items by the system user which then allows checkout of additional content. 
         [0087]    It is important to note here that the content key, referred to throughout this document is the key used to encrypt the protected content and is then used to decrypt the content for usage. Two additional files are also used by the system for storing relevant information for future use by the system or content provider. One such file is the content license status file, which includes various types of information relating to how the content may be used such as name of content provider, content description, license information, time restraints on usage, number of allowed usages, quantity of copies allowed, and the network where content stored. Another such file is the content usage history file, which contains data related to content usage history. 
         [0088]      FIG. 12  depicts a block diagram representation of the relationship between the system  100  and the external content provider  203  when the system requests protected content from the content provider. The system  100  requests protected content from the content provider  203  at step  1202 . Once the content provider  203  receives this request, the content provider requests verification of a valid device type from the system  100  at step  1204 . Upon receiving this information, the system  100  sends verification of a valid device type to the content provider  203  at step  1205 . Once the content provider  203  verifies a valid device type, the content provider requests the status of previously sent content from the system  100  at step  1206 . Then at step  1207 , the system  100  sends the status of previously sent content to the content provider  203 . If the content provider  203  determines that the status information is acceptable, the content provider then requests the public key from the system  100  at step  1208 . Then the system  100  sends the public key to the content provider  203  at step  1209 . Once the public key is received, the content provider encrypts the content key and transfers the content key and content encrypted using the content key to the system  100  at step  1210 . 
         [0089]      FIG. 13  depicts a flowchart representation of a process  1300  for moving content between two system devices. Beginning at step  1301 , the system  100  receives a request to transfer protected content from one system device to another system device. It should be noted that the request for transfer can be initiated by the sending device, receiving device, or by a third system device not currently involved in the transfer. For example, the user can network to the system, via the internet using a valid system device, and can instruct the system to move protected content from a multimedia server to a remote multimedia server, so that the remote multimedia server can later be detached from the system and used to view the protected content while traveling. Another example can occur when a user accessing a local multimedia client instructs the system to move protected content from a multimedia server in the home to a multimedia server in an automobile, which is located in the garage of the home, via a wireless connection, so the user can view the protected content in the automobile. 
         [0090]    As step  1302 , the sending device verifies that the receiving device is a valid device type. For purposes of this discussion, the sending device is the device containing the content to the transferred, and the receiving device is the device that is to receive the content from the sending device. If the system  100  determines as step  1303  that the device type is not a valid device type, then at the step  1304  the system displays a message stating that the content cannot be transferred to the receiving device. Thus, the process  1300  ends. 
         [0091]    If, however, the system  100  determines that the device type is valid, then the sending device requests the public key from the receiving device at step  1305 . At step  1306 , the receiving device sends its public key to the sending device. Upon receiving the public key, the sending device, at step  1307 , decrypts the content key with the private key and then encrypts the content with the receiving device&#39;s public key. At  1308 , the sending device transfers the content to the receiving device with the content key encrypted with the receiving device&#39;s public key. At this point, the process  1300  ends. It should be noted that the protected content can be streamed from the sending device to the receiving device, in an encrypted format, where it is decrypted by the receiving device, using the private key, and accessed for use. 
         [0092]      FIG. 14  depicts a block diagram representation of the relationship between the sending device and the receiving device when the receiving device requests protected content from the sending device. The receiving device  1401  requests protected content from the sending device  1402  at step  1403 . Upon receipt of the request, the sending device  1402  requests verification of a valid device type from the receiving device  1401  at step  1404 . Then at step  1405 , the receiving device  1401  sends verification of a valid device type to the sending device  1402 . The sending device  1402 , in turn, requests the public key from receiving device  1401  at step  1406 . Upon receiving the request for its public key, the receiving device  1401  sends the public key to the sending device  1402  at step  1407 . Then, the sending device  1402  transfers the encrypted content to the receiving device  1401  at step  1408 . 
         [0093]      FIG. 15  depicts a flowchart representation of a process  1500  a system device undergoes when requesting a license update for protected content from an external content provider. Beginning at step  1501 , the system device requests a content license update from the external content provider  203 . At step  1502 , the system  100  receives a request from the content provider  203  for verification of a valid device type. The system  100 , at step  1503 , determines if the device type is valid. If the device type is not valid, then the system  100  displays a message to the user stating that the content license cannot be updated at step  1504 . The process  1500  for requesting a license update for protected content ends. 
         [0094]    If, however, the system determines that the device type is valid, then the system notifies the content provider of the same at step  1505 . At step  1506 , the system  100  receives a request from the content provider  203  for the public key from the system device. Next, the system device sends its public key to the content provider at step  1507 . Upon receiving the system device&#39;s public key, the content provider encrypts the updated content license status file with a system device public key and then transfers the updated content license status file that is encrypted with the system device public key at step  1508 . Next, the system device converts the old content license status file to the new content license status file by using its private key. At this point, the process  1500  ends. 
         [0095]    This ability to check the status of content on the system  100  and update the content license instantly allows a considerable flexibility and ease of use for the user and a real-time inventory status update for the content provider. An example where this could be very advantageous for both would be when a user chooses to download a new movie to the user system. The content provider can check the total quantity of movies which the user has in use by mail order rental, in-store rental, and downloaded rental. If the content provider determines that the user has the maximum number of movies rented by mail order rental, in-store rental, and downloaded rental, then the content provider can allow the user can choose to instantly ‘return’ an online movie, by license revocation, and then download a new movie for rental while staying within the requirements specified by the content provider. 
         [0096]      FIG. 16  depicts a block diagram representation of the relationship between the system device  1601  and the external content provider  203  when the system device  1601  requests a license update for protected content from the external content provider  203 . The system device  1601  requests a content license update from the content provider  203  at step  1602 . At step  1604 , the content provider  203  requests verification of a valid device type from the system device  1601 . The system device  1601 , in turn at step  1605 , sends verification of a valid device type to the content provider  203 . Upon receiving verification of a valid system device, the content provider  203 , at step  1606 , requests the public key from system device  1601 . The system device  1601  then sends its public key to content provider  203  at step  1607 . Upon receiving the system device&#39;s public key, the content provider  203  encrypts the content license status file and transfers the updated content license status file to system device  1601  at step  1608 . 
         [0097]      FIGS. 17 and 17B  depict a flow representation of a process  1700  of converting protected content to a hard copy. For this description, the sending device is the device sending the content and the receiving device is the device receiving and creating a copy of the content. Beginning at step  1701 , the user requests protected content be converted to a hard copy. At step  1702 , the system  100  determines whether the device type is valid. If the device type is not valid, the system  100 , at step  1703 , displays a message to the user stating that the content cannot be transferred. Then, the process  1700  ends. If, however, the device type is valid, then the system  100 , at step  1704 , determines whether the license allows a copy to be made. If the license does not allow a copy to be made, the system  100  displays a message to the user asking the user if he or she chooses to update the content license. The user can then choose to update the license or not at step  1706 . If the user does not update the license, the process  1700  ends. If the user does choose to update the content license, the content license is then updated at step  1707 , and the process  1700  can loop back to the determination box  1704 . 
         [0098]    If the system  100  determines that the license allows a copy to be made at step  1704 , then the sending device requests the public key from the receiving device at step  1708 . The receiving device then sends its public key to the sending device at step  1709 . At the step  1710 , the sending device decrypts the content key with its private key and then encrypts the content key with the receiving device&#39;s public key. At step  1711 , the sending device transfers the content to the receiving device with the content key encrypted with the receiving device&#39;s public key. Next, the system  100  determines whether the content is in a format to make copy at step  1712 . If the content is in a proper format, the content is converted to a hardcopy at step  1713 . At this point, the process  1700  then ends. If, however, the content is not in a format to make a copy, then the receiving device decrypts the content key with its private key and then decrypts a content and step  1714 . Then at step  1715 , the receiving device encrypts the content and formats the content such that a copy can be made. The content is then converted to a hardcopy at step the  1716 , and the process  1700  then ends. 
         [0099]    It should be noted that in some cases the content may be download from the content provider in a format which can be converted directly to a hard copy. In this case, the content can still be moved to a valid system device such that the valid system device limits other uses of the content. 
         [0100]    While the invention has been shown and described in preferred forms, it will be apparent to those skilled in the art that many modifications, additions, and deletions can be made therein. These and other changes can be made without departing from the spirit and scope of the invention as set forth in the following claims.