For a better understanding of the aforementioned aspects of the invention as well as additional aspects and embodiments thereof, reference should be made to the Description of Embodiments below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
A system and method for (1) automatic storage and (2) serving of digital content are described. Reference will be made to certain embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the embodiments, it will be understood that it is not intended to limit the invention to these particular embodiments alone. On the contrary, the invention is intended to cover alternatives, modifications and equivalents that are within the spirit and scope of the invention as defined by the appended claims.
Moreover, in the following description, numerous specific details are set forth to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these particular details. In other instances, methods, procedures, components, and networks that are well known to those of ordinary skill in the art are not described in detail to avoid obscuring aspects of the present invention.
Client devices 104 can be any of a number of digital electronic devices (e.g., a digital video recorder, digital media adapter, digital video camera, digital still camera, digital music player, Internet radio, personal digital assistant, cell phone, gaming console, handheld gaming device, desktop computer, laptop computer, handheld computer, or a combination thereof) used to enable the activities described below. Some clients 104 may have a display with a graphical user interface (GUI) 108. Some clients may only be used for recording content (e.g., a security camera); some clients may only be used for playing content (e.g., a digital media adapter); and some clients may be used for both recording and playing content (e.g., a digital video recorder). In the following description, when a client is used to record content, a record-capable client is assumed and, when a client is used to play content, a play-capable client is assumed.
Some clients 104 may have their own remote controls 118 for managing the content that is acquired, stored, displayed, and/or transferred on the corresponding client. The use of a remote control 118 typically provides a simpler user interface that more users are comfortable with. The remote control creates a television-viewing-like interface that is familiar to users, rather than a personal-computer-like interface that may confuse or intimidate some users. In some embodiments, one remote control 118 is used to manage multiple clients 104 in LAN 106. In some embodiments, one remote control 118 is used to manage all of the clients 104 in LAN 106.
The external network 112 may include:
As used in the specification and claims, a “storage server profile” (e.g., storage server profile 216) is a data structure that includes transfer/storage rules specifying content from one or more client devices associated with a user to be transferred to and stored in a storage server. As explained below, the storage server profile enables automatic transfer and storage of content from the user's client devices to a storage server. Unattended transfer and storage of content greatly simplifies storage management for the user and frees up storage space on the client devices for reuse. As used herein, a “user” may be an individual or a group of people (e.g., a family in a home setting or workers in a business setting). The client device may be associated with the user in a variety of ways, such as by being in the user's LAN 106 or by having its client ID 302 included in the server storage profile 216 based on input by the user.
In some embodiments, the transfer/storage rules specify particular content or types of content to be transferred and then all of the transferred content is stored in the storage server (i.e., the transfer/storage rules filter client content prior to transfer). In other embodiments, for a given client device, all of its content is transferred to the storage server, the rules are used to filter the received content, and just the content that remains after filtering is stored in the storage server (i.e., the transfer/storage rules filter client content after transfer). In still other embodiments, the transfer/storage rules specify particular content or types of content to be transferred (e.g., only content that has not been previously transferred or content created in a specified time period), the rules are also used to filter the received content, and just the content that remains after filtering is stored in the storage server (i.e., the transfer/storage rules filter client content both before and after transfer). The content that is filtered out at the storage server may nevertheless be temporarily stored on the storage server (e.g. prior to filtering).
In some embodiments, the storage server profile 216 also includes rules for acquiring complementary content (e.g., video, image, audio, text, and/or other data files that complement the content transferred from client devices 104) from an external network (e.g., the Internet). As explained below, in these embodiments, the storage server profile enables automatic transfer and storage of content from client devices associated with the user and complementary content from devices (e.g., servers and/or peer computers) in an external network. Unattended collection of such content greatly simplifies the creation of tailored content libraries.
In some embodiments, the storage server profile 216 also includes rules for displaying information about content stored on the storage server and/or accessing content stored on the storage server. These rules can be used to provide parental controls, thereby preventing children from seeing information about mature content and/or accessing such content. These rules can also be used to limit the amount of information about content displayed to a particular user (e.g., limiting the displayed information to content consistent with a profile for the user within the storage server profile). Thus, these rules can help the user find content on the storage server that he or she is interested in viewing faster by reducing the amount of irrelevant information displayed to the user.
In some embodiments, the storage server profile 216 also includes rules for one or more clients associated with the user to acquire content. Some of this acquired content may be subsequently transferred to and stored on the storage server in accordance with the transfer/storage rules. Client content acquisition rules may be used to avoid recording the same content on multiple clients and to arbitrate which clients are used to record which content when two different shows occur at the same time.
In some embodiments, the storage server profile 216 also includes rules for backing up data on clients to the storage server. Each piece of backed up data primarily resides on and is used by a particular client, so backing up this data does not free up or otherwise make available the storage space occupied by this data on the client. In contrast, the storage space occupied by content that is transferred to and stored on the storage server in accordance with the transfer/storage rules is freed up for reuse by the client.
In some embodiments, the total capacity of the storage devices used to store user content 222 is one terabyte or more. In some embodiments, the capacity can be expanded by connecting more storage devices (e.g., magnetic or optical disk drives) to storage server 102.
Each of the above identified modules and applications in
Storage system profile 216 may be a table in a database with rules and corresponding clients.
In
In
In
Because the content 416 on client 104 can be automatically transferred to and stored on storage server 102, as well as quickly and easily transferred back to client 104 from storage server 102, the amount of on-board memory 406 (e.g., disk drives and other non-volatile storage in the client) needed to store client content 416 can be reduced. In some embodiments, digital video recorder clients just contain enough storage space to hold a few television programs at the image resolution desired by the user (e.g., high-quality or high definition). For these digital video recorders, most of the video content 418 in the digital video recorder is automatically off-loaded and stored in the storage server 102. In some embodiments, a diskless digital video recorder automatically transfers and stores video content in storage server 102 and plays back video content that is streamed from the storage server 102.
Each of the above identified modules and applications in
Storage server 102 starts (502) management program 214. Management program 214 identifies (504) client devices 104 associated with the user. In some embodiments, client devices in LAN 106 are identified by their unique client IDs 302 using Universal Plug and Play (UPnP) technology.
Management program 214 creates (506) client transfer/storage rules 304 and/or transfer/storage rules 306 that apply to multiple clients. In some embodiments, management program 214 also creates complementary content acquisition rules 308, access rules 314, display rules 318, client content acquisition rules 320, and/or backup rules 322. In some embodiments, the rules are based on input received from a user (e.g., in response to user selections with a remote control 118 or via user selections with a web browser at a client 104). If the storage server 102 has no display, then the input received from the user may be via a client 104 with a GUI 108.
In some embodiments, GUI 606 (
In some embodiments, GUI 650 (
In some embodiments, GUI 652 (
Similar configuration GUIs (not shown) can be used to create and store display rules 318, accesss rules 314, client content acquisition rules 320, and backup rules 322 in the storage server profile 216. These additional configuration GUIs are known in the art and need not be described in detail.
A user may easily configure a storage server profile 216 by simply making selections (e.g., with a remote control 118 or web browser) from GUIs such as those shown in
In some embodiments, the transfer/storage rules are created without explicit user input. For example, a default profile 216 (analogous to selection of Copy All icon 602) may automatically transfer copies of the content in all clients 104 associated with the user that are connected to LAN 106.
Management program 214 stores (508) the client identifiers 302 and transfer/storage rules 304 and/or 306 in profile 216. In some embodiments, rules 308, 314, 318, 320 and/or 322 are also stored in profile 216. As new clients 104 are associated with the user (e.g., by adding the new client to LAN 106), management program 214 may automatically prompt the user to provide input that can be used to create transfer/storage rules 304 and/or 306 and complementary content acquisition rules 308 for the newly added client. Alternatively, the stored rules may be set to apply to whatever clients are connected to the LAN when the rules are executed (i.e., rules are stored (508) in the profile 216 before clients are identified (504)).
Management program 214 automatically sends (702) a request for digital video content to a digital video recorder client 104 in LAN 106. The request for content is determined in accordance with storage server profile 216 for storage server 102. In some embodiments, the storage server profile 216 is configured by the user with remote control 118. In some embodiments, the digital video content is encrypted. In some embodiments, LAN 106 is a home network.
In some embodiments, the storage server profile 216 includes rules 304 and/or 306 specifying content 416 from one or more client devices 104 to be transferred and stored in the storage server 102. In some embodiments, the rules include global rules (e.g., transfer and store all video content from all digital video recorders or transfer and store all video content from all digital video recorders that includes a particular actor, director, genre, reviewer(s) rating and/or maturity rating), client-specific rules (e.g., transfer and store from digital video recorder x content that satisfies condition y), and/or transfer scheduling rules. In some embodiments, video content 418 has metadata (e.g., metatags) that include the actors, director, genre, reviewer(s) ratings and/or maturity ratings for the content or has an associated file of program information that includes such metadata. The metadata may be used to select video content 418 for transfer and storage.
In some embodiments, programs marked in the digital video recorder GUI 108 for long-term storage on the digital video recorder automatically have a corresponding transfer/storage rule created that will transfer and store the marked programs onto the storage server 102, thereby freeing up storage on the digital video recorder for reuse.
In some embodiments, the storage server profile 216 is configured by the user. In some embodiments, the storage server profile is automatically configured without user intervention.
In some embodiments, the digital video recorder is a TiVo digital video recorder. As described in U.S. Patent Application Publication 2005/0108519 A1 (entitled “Secure Multimedia Transfer System”), which is incorporated by reference herein in its entirety, the contents of the digital video recorder may be encrypted to ensure that the content is only used on authorized client devices. In some embodiments, the digital video recorder is a Windows Media Center-compatible digital video recorder.
In response to the request for digital video content, storage server 102 receives (704) digital video content from the digital video recorder client 104 (e.g., via LAN 106). Receiving the digital video content frees up storage space on the digital video recorder client 104.
In some embodiments, at least some video content 418 in the digital video recorder client 104 is acquired by the digital video recorder client 104 in accordance with client content acquisition rules 320 in the storage server profile 216. In these embodiments, in addition to managing the transfer and storage of content from client devices 104, storage server 102 also manages the initial acquisition of content on at least one of the digital video recorder clients 104 (e.g., using content acquisition techniques analogous to those described in U.S. Pat. Nos. 6,642,939 and 6,757,906 and U.S. patent application Ser. Nos. 10/339,699 and 10/034,679, which are all incorporated by reference herein in their entirety). In some embodiments, client content acquisition rules 320 may use data from a web site in the external network 112 to determine the content that is acquired (e.g., getting the top-rated movies listed in the Internet Movie Database (www.imdb.com), getting movies of a particular genre above a particular rating in the Internet Movie Database, or getting audio or video content recommended by media directory 128 or other content guide web site).
Storage server 102 stores (706) at least some of the received digital video content (e.g., in video files 224). In some embodiments, the stored received digital video content is selected from the received digital video content in accordance with the storage server profile 216. In some embodiments, the freed up storage space on the digital video recorder corresponds to the digital video content that is received and stored on the storage server. In some embodiments, content on the client 104 that corresponds to the content stored by storage server 102 is marked as available for deletion, deleted, or otherwise made available for reuse to free up storage space on the client 104. In some embodiments, the stored received digital video content is stored in a RAID 5 array of storage devices. In some embodiments, in a process known as “disk scrubbing,” the storage devices are automatically reviewed for consistency, and inconsistencies in the stored content and its computed parity are found and repaired.
Management program 214 updates (708) the index 232 of content files on the storage server to include the stored received digital video content. In some embodiments, the index 232 is a hierarchical data structure. In some embodiments, the user is notified that new content has been added to storage server 102, e.g., by displaying a message in a GUI 108 on a client 104 and/or by sending an e-mail, text message, or other electronic message to the user.
Management program 214 receives (710) a request for a video content file 224 in the index 232 to be served to a client device 104 in the LAN 106. In some embodiments, the request for the video content file is made in response to the user selecting a menu item with a remote control 118. In some embodiments, the client device 104 is authorized to receive and/or play the video content file.
In some embodiments, GUI 802 may display a list of available content (or portions thereof) or a list of content categories without identifying whether the content is on the client 804 or on the storage server 808. In other words, the storage location of the available content is transparent to the user.
In some embodiments, the display of available content may be limited by display rules 316 for certain users (e.g., children or those who have not entered a pass code).
In some embodiments, GUI 810 (
In some embodiments, GUI 814 (
GUIs like those shown in
In response to the request for the video content file, file server 234 serves (712) the requested video content file 224 to the client device 104 for playback. In some embodiments, the client device 104 is a digital video recorder. In some embodiments, the client device 104 is a desktop computer, laptop computer, handheld computer, personal digital assistant, handheld video player, gaming console, handheld gaming device, cell phone, or a combination thereof. In some embodiments, serving includes streaming the requested video content file 224 to the client device 104. In some embodiments, serving includes sending the requested video content file 224 to the client device 104 for download and storage.
Management program 214 automatically sends (902) a plurality of requests for content to a plurality of client devices 104 associated with the user. The requests for content are determined in accordance with storage server profile 216. In some embodiments, the plurality of client devices include a plurality of different types of devices, such as digital video recorders, digital video cameras, digital still cameras, and digital music players. In some embodiments, the digital video recorders are TiVo digital video recorders and/or Windows Media Center-compatible digital video recorders. In some embodiments, at least one of the plurality of client devices (e.g., 104-x) is in an external network 112 outside of LAN 106. In some embodiments, all of the plurality of client devices 104 are in LAN 106. In some embodiments, LAN 106 is a home network.
In some embodiments, the storage server profile of the user includes rules 304 and/or 306 specifying content 416 from one or more client devices 104 to be transferred and stored in the storage server 102. In some embodiments, the rules include global rules (e.g., transfer and store all content from all clients), client-specific rules (e.g. transfer and store from client x content that satisfies condition y), and/or transfer scheduling rules. In some embodiments, client content 416 has metadata (e.g., metatags) or has an associated file of content information that includes such metadata. The metadata may be used to select content 416 for transfer and storage. In some embodiments, the storage server profile 216 is configured by the user (e.g., using remote control 118). In some embodiments, the storage server profile is automatically configured without user intervention.
In some embodiments, at least some content 416 in at least some of the client devices is acquired by the corresponding client 104 in accordance with client content acquisition rules 320 in the storage server profile 216. In these embodiments, in addition to managing the transfer and storage of content from client devices 104, storage server 102 also manages the initial acquisition of content on at least some of the client devices 104 (e.g., using content acquisition techniques analogous to those described in U.S. Pat. Nos. 6,642,939 and 6,757,906 and U.S. patent application Ser. Nos. 10/339,699 and 10/034,679, which are all incorporated by reference herein in their entirety).
In response to at least one of the requests for content, storage server 102 receives (904) content from at least one of the plurality of client devices 104. Receiving content frees up storage space on the client devices from which content was received. In some embodiments, the received content is protected by digital rights management technique(s) (e.g., via encryption). In other embodiments, the received content is not protected by digital rights management technique(s). In some embodiments, some of the received content is protected (e.g., video content from a TiVo digital video recorder) and some of the received content is not protected by digital rights management technique(s) (e.g., video content from a Windows Media Center-compatible digital video recorder, or video, image, and/or audio content created by the user). In some embodiments, storage server 102 can receive, store, and serve both protected and unprotected content.
In some embodiments, content on the client 104 that corresponds to the content stored by storage server 102 is marked as available for deletion, deleted, or otherwise made available for reuse to free up storage space on the client 104.
Storage server 102 stores (906) at least some of the received content. In some embodiments, the stored received content is selected from the received content in accordance with the storage server profile. In some embodiments, the freed up storage space on the client devices corresponds to the content that is received and stored on the storage server. In some embodiments, the stored received content is stored in a RAID 5 array of storage devices. In some embodiments, the storage devices are automatically reviewed for consistency, and inconsistencies in the stored content and its computed parity are found and repaired (“disk scrubbing”).
Management program 214 updates (908) the index 232 of content files on the storage server to include the stored received content. In some embodiments, the index 232 is a hierarchical data structure. In some embodiments, the user is notified that new content has been added to storage server 102, e.g., by displaying a message in a GUI 108 on a client 104 and/or by sending an e-mail, text message, or other electronic message to the user.
Management program 214 receives (910) a request for a content file in the index 232 to be served to a client device 104 in the plurality of client devices. In some embodiments, the request for the content file is made in response to the user selecting a menu item with a remote control 118.
In response to the request for the content file, file server 234 serves (912) the requested content file to the client device 104. The requested content file may be one or more files in video files 224, image files 226, audio files 228, or complementary content 230. In some embodiments, serving includes streaming the requested content file to the client device 104. In some embodiments, serving includes sending the requested content file to the client device 104 for download and storage. In some embodiments, the client device 104 to which the requested content file is served is in the LAN 106 of the user. In some embodiments, the client device (e.g. 104-x) to which the requested content file is served is in an external network 112 outside of the LAN 106 of the user.
Storage server 102 automatically receives (1002) content from a first client device (e.g., 104-1) associated with the user. The client device may be associated with the user in a variety of ways, such as by being in the user's LAN 106 or by having its client ID 302 included in server storage profile 216 based on input by the user. In some embodiments, the storage server profile 216 is just for clients 104 in the LAN of the user. The received content is determined in accordance with storage server profile 216 for storage server 102. Receiving the content frees up storage space on the first client device.
In some embodiments, the content is received from the first client device in response to a request for content by the server, wherein the request for content is determined in accordance with the storage server profile 216.
In some embodiments, the received content includes digital video, digital images, and/or digital audio. In some embodiments, the received content is encrypted. In some embodiments, the received content includes digital copies of video, images, and/or audio stored on the first client device. In some embodiments, the received content includes digital copies of video, images, and/or audio that was streamed over the first client device (e.g., if the first client device does not have any nonvolatile storage, it may just stream the content that it receives to the storage server).
In some embodiments, at least some content 416 in the first client device is acquired by the first client device in accordance with client content acquisition rules 320 in the storage server profile 216. In these embodiments, in addition to managing the transfer and storage of content from client devices 104, storage server 102 also manages the initial acquisition of content on at least some of the client devices 104 (e.g., using content acquisition techniques analogous to those described in U.S. Pat. Nos. 6,642,939 and 6,757,906 and U.S. patent application Ser. Nos. 10/339,699 and 10/034,679, which are all incorporated by reference herein in their entirety).
In some embodiments, the first client device (e.g., 104-x) is in an external network 112 outside of the LAN 106 of the user. In some embodiments, the first client device (e.g., 104-1) is in the LAN 106 of the user. In some embodiments, the first client device is in the LAN via a wireless or wireline connection. In some embodiments, the LAN of the user is a home network. In some embodiments, the first client device is a digital video recorder, digital video camera, digital still camera, Internet radio, digital music player, digital media adapter, personal digital assistant, cell phone, gaming console, handheld gaming device, desktop computer, laptop computer, handheld computer or a combination thereof.
In some embodiments, the first and second client devices are digital video recorders. In some embodiments, the digital video recorders are TiVo digital video recorders. In some embodiments, the digital video recorders are Windows Media Center-compatible digital video recorders.
In some embodiments, the storage server profile of the user includes rules 304 and/or 306 specifying content from one or more client devices 104 to be transferred and stored in the storage server 102. In some embodiments, the rules include global rules, client-specific rules, and/or transfer scheduling rules. In some embodiments, the storage server profile 216 is configured by the user. In some embodiments, client content 416 has metadata (e.g., metatags) or has an associated file of content information that includes such metadata. The metadata may be used to select content 416 for transfer and storage. In some embodiments, the storage server profile is configured by the user with a remote control 118. In some embodiments, the storage server profile is automatically configured without user intervention.
Storage server 102 stores (1004) at least some of the received content. In some embodiments, the stored received content is selected from the received content in accordance with the storage server profile 216. In some embodiments, the freed up storage space on the first client device corresponds to the content that is received and stored on the storage server. In some embodiments, the stored received content is stored in a RAID 5 array of storage devices with disk scrubbing.
In some embodiments, management program 214 updates an index 232 of content files on the storage server to include the stored received content. In some embodiments, the index 232 is a hierarchical data structure. In some embodiments, the user is notified that new content has been added to storage server 102, e.g., by displaying a message in a GUI 108 on a client 104 and/or by sending an e-mail, text message, or other electronic message to the user.
Content on the client 104 that corresponds to the content stored by storage server 102 is marked as available for deletion, deleted, or otherwise made available for reuse to free up storage space on the client 104.
Management program 214 receives (1006) a request for at least some of the stored received content to be served to a second client device (e.g., 104-2) associated with the user. In some embodiments, the second client device is in the LAN 106 of the user. In some embodiments, the second client device is in an external network 112 outside of the LAN 106 of the user. In some embodiments, the request for the stored received content is made in response to the user selecting a menu item with a remote control 118. In some embodiments, the request for the stored received content is made in response to the user selecting an item in a hierarchical menu with a remote control 118.
In response to the request for at least some of the stored received content, file server 234 serves (1008) the requested content to the second client device. In some embodiments, serving includes streaming the requested content to the second client device. In some embodiments, serving includes sending the requested content to the second client device for download and storage. In some embodiments, the second client device is also the first client device. In some embodiments, the second client device is not the first client device.
Management program 214 automatically sends (1102) a request for content to a first client in LAN 106. The request for content is determined in accordance with one or more content transfer/storage rules 304 and/or 306 in a storage server profile 216. In some embodiments, LAN 106 is a home network.
In response to the request for content, storage server 102 receives (1104) content from the first client. Receiving content frees up storage space on the first client. In some embodiments, the first client is a digital video recorder (e.g., a TiVo digital video recorder or a Window Media Center-compatible digital video recorder).
In some embodiments, at least some content 416 is acquired by the first client 104 in accordance with client content acquisition rules 320 in the storage server profile 216. In these embodiments, in addition to managing the transfer and storage of content from client devices 104, storage server 102 also manages the initial acquisition of content on at least one of the client devices 104 (e.g., using content acquisition techniques analogous to those described in U.S. Pat. Nos. 6,642,939 and 6,757,906 and U.S. patent application Ser. Nos. 10/339,699 and 10/034,679, which are all incorporated by reference herein in their entirety).
Storage server 102 stores (1106) at least some of the received content. In some embodiments, the stored received content is selected from the received content in accordance with the storage server profile 216. In some embodiments, the freed up storage space on the first client corresponds to the content that is received and stored on the storage server. In some embodiments, management program 214 updates the index 232 of content files on the storage server to include the received content. In some embodiments, the index 232 is a hierarchical data structure. In some embodiments, content on the client 104 that corresponds to the content received by storage server 102 is marked as available for deletion, deleted, or otherwise made available for reuse to free up storage space on the client 104.
Management program 214 automatically sends (1108) a request for content that is complementary to the stored received content (i.e., “complementary content”) to a computer in an external network 112. The request for complementary content is determined in accordance with complementary content acquisition rules 308 in the storage server profile 216.
In response to the request for complementary content, storage server 102 receives (1110) complementary content 230 from the computer in the external network 112. In some embodiments, the complementary content 230 from the computer in the external network includes web sites, web pages or other search results from a search engine 120, content offered in an RSS feed or portion thereof from an RSS server 122, a review of the stored received content from a review/rating server 124, and/or content from a peer-to-peer computer 126.
Storage server 102 stores (1112) the complementary content 230. In some embodiments, the stored content received from the first client device and the complementary content 230 is stored in a RAID 5 array with disk scrubbing. In some embodiments, the user is notified that new content from the first client device and/or complementary content has been added to storage server 102, e.g., by displaying a message in a GUI 108 on a client 104 and/or by sending an e-mail, text message, or other electronic message to the user.
File server 234 serves (1114) at least some of the stored received content (e.g., 224, 226, or 228) and at least a portion of the complementary content 230 to a second client 104. In some embodiments, the second client is in the LAN 106. In some embodiments, the second client (e.g., 104-x) is in an external network 112 outside of the LAN 106 of the user. In some embodiments, the second client device is a digital video recorder, digital media adapter, digital music player, Internet radio, personal digital assistant, cell phone, gaming console, handheld gaming device, desktop computer, laptop computer, handheld computer, or a combination thereof. In some embodiments, content is served in response to management program 214 receiving a request for content 222 in the index 232 from a client device 104. In some embodiments, the request for content 222 is made in response to the user selecting a menu item in GUIs like those shown in
Storage server 102 automatically receives (1202) content from a client device 104 in the LAN 106. The received content is determined in accordance with a storage server profile 216. Receiving content frees up storage space on the client device. In some embodiments, the content is received from the client device 104 in response to a request for content by storage server 102, wherein the request for content is determined in accordance with the storage server profile 216. In some embodiments, the LAN is a home network.
In some embodiments, the received content includes digital video, digital images, and/or digital audio. In some embodiments, the received content is encrypted. In some embodiments, the received content includes digital copies of video, images, and/or audio stored on the client device. In some embodiments, the received content includes digital copies of video, images, and/or audio that was streamed over the client device.
In some embodiments, at least some content 416 is acquired by the client device 104 in accordance with client content acquisition rules 320 in the storage server profile 216. In these embodiments, in addition to managing the transfer and storage of content from client devices 104, storage server 102 also manages the initial acquisition of content on at least one of the client devices 104 (e.g., using content acquisition techniques analogous to those described in U.S. Pat. Nos. 6,642,939 and 6,757,906 and U.S. patent application Ser. Nos. 10/339,699 and 10/034,679, which are all incorporated by reference herein in their entirety).
In some embodiments, the content received from the client device 104 is a movie or television program and the complementary content 230 is a review, interview, article, or blog about the movie or television program or about people or events associated with the movie or television program.
In some embodiments, the client device 104 is in the LAN 106 via a wireless or wireline connection. In some embodiments, the client device 104 is a digital video recorder, digital video camera, digital still camera, Internet radio, digital music player, digital media adapter, personal digital assistant, cell phone, gaming console, handheld gaming device, desktop computer, laptop computer, handheld computer or a combination thereof.
In some embodiments, the client device 104 is a digital video recorder (e.g., a TiVo digital video recorder or a Window Media Center digital video recorder).
In some embodiments, the storage server profile 216 includes rules 304 and/or 306 specifying content from one or more client devices 104 to be transferred and stored in the storage server 102 and rules specifying content 230 that is complementary to the content from the one or more client devices that is to be acquired from computers in an external network 112. In some embodiments, the rules specifying content from one or more client devices include global rules, client-specific rules, and/or transfer scheduling rules. In some embodiments, client content 416 and complementary content have metadata (e.g., metatags) or have an associated file of content information that includes such metadata. The metadata may be used to select client content for transfer and storage and complementary content for acquisition. In some embodiments, the storage server profile 216 is configured by the user. In some embodiments, the storage server profile 216 is automatically configured without user intervention.
Storage server 102 stores (1204) at least some of the content received from the client device. In some embodiments, the stored content received from the client device is selected from the content received from the client device in accordance with the storage server profile 216. In some embodiments, the freed up storage space on the client device corresponds to the content that is received and stored on the storage server. Content on the client 104 that corresponds to the content stored by storage server 102 is marked as available for deletion, deleted, or otherwise made available for reuse to free up storage space on the client 104.
Storage server 102 automatically receives (1206) content via an external network 112 that is complementary to the stored content received from the client device 104. The complementary content 230 is determined in accordance with the storage server profile 216. In some embodiments, the complementary content 230 is an RSS feed or portion thereof that relates to the stored content received from the client device. In some embodiments, the complementary content 230 from the computer in the external network includes web sites, web pages or other search results from a search engine 120, an RSS feed or portion thereof from an RSS server 122, a review of the stored received content from a review server 124, and/or content from a peer-to-peer computer 126.
Storage server 102 stores (1204) the complementary content 230. In some embodiments, the stored content received from the client device and the complementary content 230 is stored in a RAID 5 array with disk scrubbing. In some embodiments, management program 214 updates an index 232 of content files on the storage server 102 to include the stored content received from the client device and the complementary content 230. In some embodiments, the index 232 is a hierarchical data structure. In some embodiments, the user is notified that new content from the client device and/or complementary content has been added to storage server 102, e.g., by displaying a message in a GUI 108 on a client 104 and/or by sending an e-mail, text message, or other electronic message to the user.
In some embodiments, file server 234 serves at least some of the stored content received from the client device and at least some of the complementary content 230 to a second client device 104. In some embodiments, serving includes streaming at least some of the stored content received from the client device and at least some of the complementary content 230 to the second client device. In some embodiments, serving includes sending at least some of the stored content received from the client device and at least some of the complementary content 230 to the second client device for download and storage. In some embodiments, the serving is done in response to the user selecting a menu item with a remote control. In some embodiments, the serving is done in response to the user selecting an item in a hierarchical menu with a remote control. In some embodiments, the second client device is not the client device from which content was received. In some embodiments, the second client device is also the client device from which content was received. In some embodiments, the second client is in the LAN 106. In some embodiments, the second client (e.g., 104-x) is in an external network 112 outside of the LAN 106 of the user.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. For example, although storage devices have typically been described as disk storage devices, a person of ordinary skill in the art would understand that one or more of the storage devices may also be other forms of nonvolatile storage, such as a flash memory that mimics the operation of a disk storage device. Similarly, although the embodiments are well-suited to a home network, other types of LANs may also be used (e.g., LANs in a small business, corporate, or educational setting). Many modifications and variations are possible in view of the teachings above. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.
This application is related to U.S. patent application Ser. No. 11/337,199, filed Jan. 20, 2006, entitled “Compact, Integrated Storage and Networking Apparatus and Uses Thereof,” Attorney Docket 063250-5001-US, which application is incorporated by reference herein in its entirety. This application is related to U.S. patent application No. to be determined, filed Jul. 14, 2006, entitled “System and Method for Automatic Digital Library Creation,” Attorney Docket 063250-5007-US, which application is incorporated by reference herein in its entirety.