Abstract:
A decentralized approach to delivering a media file to a requesting subscriber in a network of subscribers comprises the steps of segmenting the media file into a plurality of segments and distributing the segments of the media file among the network of subscribers, and responding to a request from the requesting subscriber by directing to that requesting subscriber al of the plurality of segments of the media file. All of the segments are assembled into the media file and displayed or stored by the requesting subscriber.

Description:
FIELD OF THE INVENTION 
       [0001]    This application relates to the field of electronic media delivery, such as video-on-demand, including the secure handling and storage of such media. 
       BACKGROUND OF THE INVENTION 
       [0002]    Current options for viewing a movie at home include traveling to a movie rental store to obtain a videotape or DVD copy of the movie. The copy must be returned a few days later. Another option is to select from the limited number of choices that are offered from sources that provide what is known as pay-per-view movies. Cable or broadcast movie channels provide a limited number of selections of movies for display at predetermined times. 
         [0003]    It is usually not economically feasible for the operator of, for example, a cable television (CATV) system (or other content provider) to provide for delivery-on-demand a large number of movie selections to subscribers because such a system requires an extensive amount of bandwidth between the content provider and each of the subscriber units (televisions or other display devices) of the network. 
         [0004]    The present invention addresses the problem of prohibitive bandwidth requirements for a content provider in delivering video-on-demand or other large media files. In short, there is provided a system that shifts the bandwidth requirements away from the content provider and to the network of subscriber units. 
         [0005]    In one embodiment, a media file representing, for example, a movie is segmented. These segments are distributed among the network of subscriber units. Any one of the subscribers may submit a request to view a movie. In response to such a request, the other subscriber units direct to the requesting subscriber all of the segments, which are then assembled into the complete media file (movie) for display, or stored for later display, on the requesting subscriber&#39;s unit. 
         [0006]    In one embodiment, the subscriber&#39;s request is sent to the network&#39;s main server. The main server then instructs the network subscribers to forward copies of the segments stored in those units to the unit of the requesting subscriber. The segments are each encrypted or otherwise encoded to prevent unauthorized viewing of individual segments. When the requesting subscriber has received all segments of the movie, that unit sends a message to the main server, requesting the encryption key to unlock the movie. The main server provides this, and billing information is then recorded in the main server. 
         [0007]    The segmented and distributed storage of the media file provides a high level of security and a deterrence to piracy. No single subscriber unit has more than a segment of a media file, which segment, by itself, has little value. 
         [0008]    In another embodiment, the segments of the media file are copied and these copied segments are also distributed to the network subscribers in a manner that provides redundancy to the system so that in the event that a given subscriber unit is unable to provide the requesting subscriber with the segment stored on that given unit, there will be available on other units copies of that segment to complete the media file. 
         [0009]    It is contemplated that the request for the media file and subsequent responses for directing the segments to the requester can be handled without the intervention of the network&#39;s main server by using peer-to-peer architecture or the like. 
         [0010]    Other advantages and features of the present invention will become clear upon study of the following portion of this specification and drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]      FIG. 1  is a block diagram of a system adapted for carrying out the decentralized media delivery of the present invention. 
           [0012]      FIG. 2  is a depiction of how segments of a movie-type media file are stored on the units of network subscribers. 
           [0013]      FIG. 3  is a depiction of an alternative way in which segments of a movie-type media file are stored on the units of network subscribers. 
           [0014]      FIG. 4  is a flow diagram showing how the decentralized media file delivery of the present invention is carried out. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0015]    With reference to  FIG. 1 , a preferred embodiment of the present invention is includes a network  20  of electronically connected subscribers A, B, C, and D. The small number of subscribers depicted here is intended to be representative of, for example, the thousands of subscribers that may be part of a typical cable television (CATV) network. Alternatively, the network can be any other communications network of users or subscribers, such as those linked by a local area network (LAN) or a wide area network (WAN). 
         [0016]    Each subscriber includes a unit  22 , which, in a CATV network, can be adapted from a conventional set-top box. Each subscriber unit  22  includes a central processing unit (CPU)  24  that, among other things, is in communication with a main server  26  of the network for receiving and providing instructions and data as will be described. 
         [0017]    Each subscriber unit  22  also includes a storage device, such as a conventional hard disk. This device, hereafter referred to as segment storage  28 , stores segments of one or more media files. It is noteworthy here that the term “media file,” although most often used hereafter to refer to digitized data that represents a movie and that can be processed to display the movie, is intended to also include any type of media file that can be stored and displayed. 
         [0018]    Each subscriber unit  22  is associated with a display device  30 , preferably capable of displaying video information, as well as a user interface  32  for receiving and processing information from the user of the subscriber unit. Such an interface  32  may be a convention television remote control for powering the unit and requesting a display of menu options (movie titles, etc.) for selection by the user. A speaker system (not shown) is also connected to the subscriber unit for providing audio information. 
         [0019]    In accordance with the present invention, each unit  22  receives from the main server  26  one or more segments of a complete media file. The segments are stored in the corresponding segment storage  28 .  FIG. 2  depicts the segment storage  28  of one unit. Stored there are five different segments S 1 , S 65 , S 159 , S 561 , S 86 . Each segment is part of a different movie. In one embodiment, a segment is a digital packet that includes data representing a small portion of the movie (video and audio) as well as a header that includes a packet identifier, descrambling control, and other information. The header identifies the movie and the segment number of the movie so that the movie data may be readily assembled once all of the packets are collected, as will be described. 
         [0020]      FIG. 3  depicts an alternative way of segmenting a media file (movie) for storage in the segment storage  28  of a subscriber unit. Here, several separate segments S 1 , S 5 , S 9 , and S 13  of a movie (“Movie A”) are bundled together for storage. The segments are separate in the sense that they represent discontinuous or non-sequential portions of the movie and must be sorted and integrated with the remaining segments (distributed elsewhere in the network) to provide the complete movie. This approach to segmenting the movie provides increased security from piracy since each subscriber A, B, C, etc., will store only very small portions of the movie on the storage device of the unit. If the segments are made very small, to the scale of a few bytes or single bits, decoding of any individual bundle will be virtually impossible. Further, access to the correct method for recombining the segments to re-create the original media file could be stored in a password-protected file, linked to an encryption key, or locked to all devices except the specific hardware device that created the bundled segments. 
         [0021]    Although  FIG. 3  shows only bundled segments of a single movie “A,” it will be understood that each segment storage  28  of each subscriber unit  22  can store a number of such bundled segments from the same or different movies. 
         [0022]    The main server  26  includes a controller  36  that controls the distribution of a multitude of segments over the network  20 . The segments are delivered from a segment library  38  that comprises segments of all movies that are available to the network. In one embodiment, the main server  26  includes a segment-tracking module  34  for tracking the location of the segments. For example, in some networks not all of the subscriber units  22  may at all times participate in the media-file delivery system of the present invention. Accordingly, the segment-tracking module  34  stores the addresses of the participating units and, via a look-up-table or the like, keeps track of which segments are distributed to which units. 
         [0023]    Whenever a subscriber requests a movie, the segment-tracking module  34  provides an efficient way of instructing the remaining units (that is, the ones storing the segments of the requested movie) to forward all of the stored segments to the requesting subscriber. The segment-tracking module  34  also permits, for example, occasional testing of the system wherein the controller  36  from time to time initiates a test movie request (wherein the main server acts as a requesting subscriber) and then compares the received segments with those listed in the segment-tracking module  34  to ensure that all segments are timely received. If not, that segment-tracking module  34 , under the control of controller  36  can redistribute the missing segment (s) to other participating units  22 . 
         [0024]    In one embodiment each subscriber will receive and store at least one segment of a movie. Each segment, however, is copied and distributed to a plurality of different subscribers to provide for redundant availability of each segment in the event a subscriber&#39;s segment storage  28  becomes inaccessible. As noted, the main server&#39;s segment-tracking module  34  can track which segments are held by each subscriber unit, thereby to optimize the network&#39;s redundancy, and to facilitate replacement or redistribution of segments when necessary. 
         [0025]      FIG. 4  shows a flow diagram indicating how the decentralized media file delivery of the present invention is carried out. Associated with the main server  26  is the segments library  38  that is stocked  100  with segments of available movies. 
         [0026]    As noted, the main server  26 , via the controller  36  and segment-tracking module  34 , distribute  102  the movie segments (including copies of segments to establish the redundancy described above) to all of the participating subscriber units  22 . Such distribution and storage of the segments on the units may be performed in a manner that is automatic and transparent to the users of the units. 
         [0027]    With continued reference to  FIG. 4 , after the main server receives a movie request  104  from a requesting subscriber (the request made via user interface  32  described above), the server responds  106  by sending over the network instructions to the network subscriber units to direct all of the segments of the requested movie to the requesting subscriber. 
         [0028]    The segments received at the requesting unit, comprising a stream of packets as mentioned above, are applied to a demultiplexer  40  ( FIG. 1 ) for header parsing to recover the packet or segment identifier number, descrambling control, and other information. The subscriber unit CPU  24  and associated buffers (not shown) log the received packets and, once all packets are received, sends a notice to the main server  26  that all packets now reside in the unit of the requesting subscriber. The main server  26  upon receiving this notice  108  ( FIG. 4 ) responds by transmitting authorization, such as an entitlement control message, to the subscriber unit  110 . At that time, an entry is made in the requesting subscriber&#39;s billing information to reflect the purchase of the movie. 
         [0029]    Once the authorization is received by the unit, the packets are then descrambled  42  ( FIG. 1 ) and further processed by a decoder  44  to strip of header data and extract video and audio data for instant display on the subscriber&#39;s display device  30 , or for storage as a complete media file (movie) in a mass storage device  46  associated with the requesting subscriber unit. 
         [0030]    It is noteworthy here that the role of the main server  26  in receiving the movie request and instructing the subscribers to forward the segments to the requesting subscriber unit can be handled by other means, such as by use of a peer-to-peer approach whereby the request is provided directly to all of the network subscribers rather than being relayed from the main server  26 . The subscriber units that have the requested segments stored therein respond by automatically forwarding those segments to the requesting subscriber. As is the case with the prior described embodiment (main server receives request and instructs subscribers) the sending and collection of segments occurs automatically, without intervention by any subscriber (apart from the initial request via the user interface  32  and mentioned above). 
         [0031]    While the present invention has been described in terms of preferred embodiments, it will be appreciated by one of ordinary skill in the art that modifications may be made without departing from the teachings and spirit of the foregoing.