Current video rental and/or distribution systems requires a user to either travel to a retail store to select and rent a video or wait for a video to be delivered in the mail. The hassle of having to travel to the video store or wait for mail decreases the user's satisfaction.
Other pay-per-view solutions allow user's to view videos delivered right to their homes without mail delays using broadcast system such as cable or satellite; however, the video choices are limited and the times to view are determined by the provider.
One or more embodiments are illustrated by way of example, and not by limitation, in the figures of the accompanying drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
In at least some embodiments, multimedia file distribution system 100 may be applied to a context in which NAS device 104 and/or controllers 116, 120 (and corresponding displays 118, 122) are located in a business or retail establishment instead of a user home.
Media server 102 is a computing system comprising memory for storing multimedia files and a set of instructions comprising functionality for communicating with user NAS 104. In at least some embodiments, media server 102 comprises functionality for communicating with a user at a computer system. Media server 102 is arranged to store a plurality of multimedia files 110, e.g., video files such as movies, television shows, audio files such as music albums, tracks, sounds, etc., and multimedia file requests 112. In at least some embodiments, media server 102 comprises functionality for authenticating requests for multimedia files received from NAS 104. In at least some embodiments, media server 102 comprises one or more of billing functionality, cryptographic functionality, authorization functionality, and/or a combination thereof.
In at least some embodiments, one or more multimedia files 110 may be encrypted and/or comprise rights management information for controlling playback on particular devices, e.g., other user devices in user home 106. Multimedia file request 112 comprises a request generated by a user for a predetermined multimedia file from media server 102. In at least some embodiments, multimedia file request 112 comprises an identifier which uniquely identifies a multimedia file stored at media server 102. In at least some embodiments, multimedia file request 112 comprises an attribute of one or more multimedia files stored at media server 102. In at least some embodiments, multimedia file attributes may comprise one or more of a title, a keyword, an author name, an actor/actress name, a director name, a genre, a rating, a date, or a combination thereof.
As depicted, collection 300 comprises multimedia file requests 112 arranged in date order based on values in timestamp field 302 of the requests. In at least some embodiments, collection 300 may be sorted on one or more fields of the multimedia file requests.
Returning to
NAS device 104, in at least one embodiment, is a self-contained processing device connected to a network such as a user's home network, with the sole purpose of supplying file-based data storage services to other devices on the network. Operating system and other software on NAS 104 provide the functionality of data storage, file system, and access to files, and the management of such functionalities. In at least some embodiments, NAS 104 is not designed to carry out general-purpose computing tasks. In at least some embodiments, NAS 104 does not have a keyboard or display, and is controlled and configured over the home network, e.g., by connecting a browser to the network address of NAS 104.
In at least some embodiments, NAS 104 does not contain a general-purpose operating system. In at least some embodiments, minimal-functionality or stripped-down operating systems are used to control NAS 104.
In at least one embodiment, NAS 104 contains one or more hard disks, often arranged into logical, redundant storage containers or RAID arrays (redundant arrays of inexpensive/independent disks).
In at least some embodiments, NAS 104 uses file-based protocols such as network file system (NFS) or server message block (SMB).
Network I/F device 206 may comprise at least one of a wired connection or a wireless connection for enabling communication with other networked devices, e.g., media server 102 via network 108.
NAS device 104 also comprises a storage device 210 such as one or more hard drives for storing multimedia files and file requests. In at least some embodiments, storage device 210 comprises a greater amount of storage than is present on a desktop computer system. In at least some embodiments, storage device 210 comprises a greater amount of storage than is present on a laptop and/or portable computer system. In at least some embodiments, storage device 210 comprises an amount of storage exceeding 1 Terabytes (TB). In at least some embodiments, storage device 210 comprises an amount of storage exceeding 2 TB. In at least some embodiments, storage device 210 comprises an amount of storage sufficient to store a plurality of movie files.
Storage device 210 stores zero or more multimedia files 110, zero or more multimedia file requests 112, a multimedia control system (MMCS) 212, and preferences 214.
Returning to
In at least some embodiments, first controller 116 is a computer system, e.g., a general purpose computer system. First controller 116 drives a signal for displaying video on first display 118 and a signal for producing audio using speakers of first display 118. In at least some embodiments, first controller 116 drives a signal for producing audio using speakers separate from first display 118.
In at least one embodiment, first controller 116 comprises functionality for streaming a multimedia file from NAS device 104. During operation of streaming functionality, first controller 116 may be arranged to not store the streamed multimedia file for subsequent playback on first controller 116.
In at least some embodiments, second controller 120 is a specialized processing device for generating audio and video signals for a user, e.g., a media player such as a set-top box. Second controller 120 drives a signal for displaying video on second display 122 and a signal for producing audio using speakers of second display 122. In at least some embodiments, second controller 120 drives a signal for producing audio using speakers separate from second display 122. In at least some embodiments, second controller 120 comprises authentication functionality for authenticating a user of the device. In some embodiments, second controller 120 may be controlled by another device, e.g., first controller 116, and caused to play a specified multimedia file 110 from NAS 104.
In at least one embodiment, second controller 120 is configured to stream, i.e., not store for subsequent playback, a multimedia file from NAS device 104 via home network 114.
The process flow begins at transmit request functionality 402 wherein processing device 202 executes a set of instructions which cause the processing device to transmit a multimedia file request 112 to media server 102 via network 108. In at least some embodiments, request functionality 402 is executed responsive to receipt of one or more multimedia file requests 112 from a user via a controller, e.g., first controller 116 or second controller 120. In at least some embodiments, request functionality 402 is executed responsive to a predetermined time period expiration, i.e., on a predetermined scheduled basis. In at least some embodiments, request functionality 402 is executed responsive to a manual user activation via a controller.
Processing device 202 responsive to execution of request functionality 402 transmits at least one multimedia file request 112, e.g., from collection 300, to media server 102. In at least some embodiments, request functionality 402 transmits at least one of a single MM file request 112, more than one MM file request, all MM file requests, a predetermined subset of MM file requests, or a combination thereof to media server 102. In at least some embodiments, request functionality 402 determines how many and/or which MM requests 112 to transmit based on preferences 214. In at least some embodiments, request functionality 402 stores information identifying whether and which MM file requests 112 have been transmitted and/or which requests have been fulfilled.
In at east some embodiments, request functionality 402 transmits a multimedia file request 112 at a predetermined time of day. In at least some embodiments, request functionality 402 transmits a multimedia file request 112 during a period of low or minimal communication activity with one or more controllers and/or media server 102. For example, the multimedia file requests may be transmitted late at night or early in the morning.
In at least some embodiments, request functionality 402 transmits a subset of the multimedia file requests 112 of collection 300 based on the user ID field 306, i.e., request functionality 402 transmits multimedia file requests 112 corresponding to a particular user.
In at least some embodiments, request functionality 402 may include as part of a transmitted multimedia file request a predetermined requested delivery period during which receipt of multimedia files from media server 102 is requested to occur. In at least some embodiments, the predetermined requested delivery period may be provided to media server 102 as a priori information.
After transmission of one or more MM file requests 112 to media server 102, the process flow proceeds to receive MM file functionality 404 wherein responsive to receipt of a multimedia file 110 processing device 202 receives the multimedia file and stores the file for subsequent access. In at least some embodiments, receive functionality 404 causes NAS device 104 to transmit an indication of receipt of multimedia file 110 to a controller, e.g., based on preferences 214. Also, in response to receipt of multimedia file 110, receive functionality 404 causes processing device 202 to update the status of the corresponding MM file request 112. In at least some embodiments, the received multimedia files 110 comprise attributes restricting the playback of a predetermined number of multimedia files. For example, a user may be restricted to viewing 100 movies a month, but only one movie at a time. According to another example, a user may be restricted to viewing 75 movies a month, with three being available to view at a given time. In at least some embodiments, the restrictive attributes for multimedia file viewing may be stored in preferences 214.
After receipt of one or more MM files 110, the process flow proceeds to transmit multimedia file functionality 406. During transmit file functionality 406, processing device 202 transmits a received MM file 110 to one or more controllers via a network 114. In at least one embodiment, processing device 202 transmits the received multimedia file 110 via a streaming protocol.
In at least some embodiments, processing device 202 awaits a request from a controller prior to transmitting the received multimedia file 110 to the requesting controller.
After completion of transmission of a multimedia file 110 to a controller, a process flow proceeds to remove file functionality 408. In at least some embodiments, the process flow may proceed to remove file functionality 408 responsive to user input, e.g., an indication from a user that the user has completed playback of a particular multimedia file. Responsive to completion of transmission, or receipt of appropriate user input via controller, remove file functionality 408 causes processing device 202 to mark the particular multimedia file as having been played back and remove the file from storage device 210. In at least some embodiments, remove file functionality 408 causes processing device 202 to mark the particular multimedia file as having been played back and as being available to be removed without actually removing the multimedia file. Subsequent to marking the file as being available to be removed, e.g., at a date and/or time or under other specified conditions from preferences 214, remove file functionality 408 causes removal of the multimedia file from storage device 210.
The process flow begins at register for user multimedia request functionality 502 wherein the processing device 202 executes a set of instructions which cause the processing device to contact media server 102 and register to receive one or more multimedia files 110 corresponding to multimedia file(s) specified in the stored multimedia file requests 112 (stored on media server 102). In at least some embodiments, registration of NAS 104 with media server 102 comprises transfer of user subscription information, e.g., username and password, or other credential information, corresponding to the user from the NAS device to the media server. Subsequent to registration of NAS device 104 with a media server 102 according to register functionality 502, the process flow proceeds to receive file functionality 404 and continue execution in accordance with the above-described
Subsequent to the user selection being transmitted to media server 102, controller 602 communicates a user identifier (ID), or other mechanism for identifying the transmitted user selection to user NAS 104 at the media server, to the user NAS. Responsive to receipt of the user ID, user NAS 104 communicates with media server 102 in order to identify and request the corresponding multimedia file selected by the user at controller 602. That is, in at least some embodiments, user NAS 104 transmits a request for one or more multimedia files corresponding to the user ID to media server 102.
Responsive to receipt of the request from user NAS 104, media server 102 transmits one or more multimedia files to user NAS 104. In at least some embodiments, media server 102 may transmit a multimedia file 112 to user NAS 104 in accordance with one or more preferences 214 which may have been previously communicated to the media server or which may be communicated to the media server in conjunction with the request for a multimedia file. Responsive to receipt of the multimedia file from media server 102, and in accordance with the above-described functionality, user NAS 104 transmits the multimedia file to controller 602, i.e., either via partial or complete transfer or via streaming.
Subsequent to the user selection being transmitted to user NAS 104, user NAS 104 communicates with media server 102 in order to request the corresponding multimedia file selected by the user at controller 602 (“MM file request”).
Responsive to receipt of the request from user NAS 104, media server 102 transmits one or more multimedia files to user NAS 104. In at least some embodiments, media server 102 may transmit a multimedia file 112 to user NAS 104 in accordance with one or more preferences 214 which may have been previously communicated to the media server or which may be communicated to the media server in conjunction with the request for a multimedia file. Responsive to receipt of the multimedia file from media server 102, and in accordance with the above-described functionality, user NAS 104 transmits the multimedia file to controller 602, i.e., either via partial or complete transfer or via streaming. In at least some embodiments, user NAS 104 delays transmission of the multimedia file request 112 until a predetermined condition is met, e.g., idle time on user NAS 104, a particular time of day, a threshold communication traffic level, etc.
The functions of a method described in connection with the embodiments disclosed herein may be embodied in hardware, software, or a combination thereof. Software comprising instructions for execution may reside in a computer-readable medium comprising volatile and/or non-volatile memory, e.g., a random access memory, a read only memory, a programmable memory, a hard disk, a compact disc, or another form of storage medium readable, directly or indirectly, by a processing device.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2008/078279 | 9/30/2008 | WO | 00 | 1/14/2011 |