Content storage and delivery system and associated method and device
Summary by NHIP
Peer-to-peer content delivery system
The system stores content on subscriber set-top boxes and delivers it via a hierarchical router network using a peer-to-peer protocol. Each box contains a partitioned storage area with at least one partition accessible by a content provider, while routers form upstream pathways from secondary to intermediate to first routers leading to the main source.
Claim Score by NHIP
Abstract
A system is provided for the storage of content on a network and the delivery of content to subscriber locations. The system includes routers and subscriber set-top boxes in communication with each other and a main content source. Content is delivered over a packet-switching network according to a peer to peer file distribution protocol and is stored in a storage area of the subscriber set-top box, such that each subscriber set-top box is configured to transmit and receive content to and from the main content source and other set-top boxes connected to the network. The set-top boxes may identify a preferred source of content based on various factors, such as geographic distance, Internet Protocol (IP) distance, available bandwidth, integrity of the content, etc. An associated method for accessing content and a set-top box for facilitating the storage and delivery of content are also provided.

Term
Projected expiry 30 June 2028.
- Priority and filed
- Granted
- Today
- Projected expiry
22 claims: 3 independent, 19 dependent
- 1A content storage and delivery system comprising:a plurality of set-top boxes configured to receive and store content and to interface with a communications network configured to operate according to a peer to peer file distribution protocol;a first router in communication with a main content source;at least one second router in communication with at least one of the set-top boxes;and at least one intermediate router in communication with the first router and the at least one second router, each intermediate router defining a hub to service a subset of the set-top boxes, each set-top box in the subset of set-top boxes configured to access at least one other set-top box within the subset of the set-top boxes serviced by the hub and independent of communication with the first router, wherein each set-top box in the plurality of set-top boxes includes a partitioned storage area with at least one partition accessible by a content provider, and wherein the routers communicate in accordance with the peer to peer file distribution protocol to provide content to the plurality of set-top boxes via the communications network, wherein the at least one second router, the at least one intermediate router, the first router, and the main content source are arranged in a hierarchical network topology such that at least one upstream network communication pathway is formed from the at least one secondary router to the at least one intermediate router to the first router to the main content source, wherein at least one of the set-top boxes in the plurality of set-top boxes is configured to query, in response to a user request for content, a plurality of content sources for the requested content, and wherein querying the plurality of content sources in response to the user request for content comprises issuing a query to a first subset of content sources for the requested content and transmitting the query to a next available upstream router to query a larger subset of content sources serviced by the upstream router if the requested content is not available from the first subset.
- 12A method of accessing content comprising:querying, in response to a user request for content, a plurality of content sources connected to a communications network for the requested content, the plurality of content sources being configured in at least one first subset and a larger subset, each first subset defining a network between one hub and a set of content sources, the larger subset defining a larger network between one or more first subsets, the query being initially confined to content sources within the first subset where the query was initiated, wherein a plurality of hierarchically configured routers connected to the communication network enforce policy to determine to which of the subsets of the content sources to route the query;determining a preferred source of the requested content at a subscriber location from among the content sources;obtaining a copy of the requested content at the subscriber location from the preferred source;storing the requested content in a storage area at the subscriber location;and allowing a plurality of remote subscribers to access content stored in the storage area at the subscriber location, wherein querying the plurality of content sources in response to the user request for content comprises issuing a query to the first subset of content sources for the requested content and transmitting the query to a next available upstream router to query the larger subset of content sources serviced by the upstream router if the requested content is not available from the first subset.
- 20Broadest claimClaim Score 48, average(NHIP)A set-top box comprising:an interface configured to communicate with a network, the interface configured to transmit a query for content to a hub configured to service a set of set-top boxes, and, when the queried content is not available in the set of set-top boxes serviced by the hub, the interface is configured to communicate with an upstream hub configured to service a larger set of set-top boxes to locate the queried content, the hub and the upstream hub comprising hierarchically configured routers that enforce policy to determine to which of the sets of set-top boxes to route the query;a storage area partitioned into at least two partitions with at least one partition accessible by a content provider;and a receiver and decoder configured to receive digital content through the interface, store the digital content in the at least one partition of the storage area accessible by the content provider, and convert the digital content for display on the subscriber television, wherein the storage area is configured to allow at least one remote set-top box to access the at least one partition of the storage area and to copy digital content to the at least one remote set-top box.
Independent claims3
44 paragraphs in 3 sections, as filed
BACKGROUND
The demand for access to shared content, such as video content, audio content, Internet web content, or interactive games, among other types of content, is ever increasing and becoming more challenging to meet. Subscribers to a content provider network are seeking access to larger files, are seeking this access more frequently, and are demanding that this access be faster, more reliable, and more cost effective.
The storage of content on a network and its distribution from a content provider to various subscribers of the network has traditionally been accomplished through a hierarchical client-server protocol, where a central server, such as a content library, stores content for sharing among the subscribers. For example, digital video content, such as movies and television broadcasts, may be stored in a content library that is accessible by equipment at the various subscriber locations. When a subscriber requests to see a certain movie, the subscriber's equipment, such as a set-top box, running the same communication protocol as the content library will communicate with the content library to download the requested movie to the subscriber location for viewing on a television or computer screen.
Certain types of content, such as digital video content, consist of large amounts of data. Such content requires more space for storage in the central content library and more time for downloading to the subscriber location. At times of heightened demand, for example when a new movie has been released to the content library and many subscribers desire to see the same movie at the same time, the system can be overwhelmed and unable to meet the demand. Some subscribers may be unable to access the content at all. Other subscribers who are able to access the content may experience longer download times or poor content quality. Furthermore, as content is added to the content library, the storage capacity of the library must be increased to accommodate the growing volume of content. The larger content library may similarly impose upon subscribers the problems of slow downloads and poor content quality.
In order to improve the situation for subscribers, content providers have attempted to pre-distribute content closer to the subscribers. For example, smaller, intermediate content libraries may be formed and dedicated to the service of a smaller number of the total subscriber base. Popular content, such as newly released movies, may then be moved to the intermediate content libraries so that they are more easily accessible by the corresponding groups of subscribers. Although such pre-distribution of content does serve to improve the subscribers' access to the content, there are tremendous storage costs to the content provider associated with forming the various intermediate content libraries. There are also significant operational costs incurred by the content provider due to the requirement for personnel to engineer the content distribution on a regular basis. In other words, the content provider incurs significant costs in determining which content is in demand and where best to store the content.
Therefore, there is a need for a system to store content on a network and to deliver the content from a content provider to a subscriber in a manner that improves the location of the content with respect to the various subscribers, is highly resilient and meets customer expectations with regards to download speeds and content quality, is cost effective, and reduces content library growth requirements.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
<figref idrefs="DRAWINGS">FIG. 1</figref> is a schematic representation of one embodiment of the content storage and delivery system which has network elements including intermediate routers and a plurality of subscriber set-top boxes;
<figref idrefs="DRAWINGS">FIG. 2</figref> is a flow chart illustrating embodiments of a method of accessing content;
<figref idrefs="DRAWINGS">FIG. 3</figref> is a flow chart illustrating an exemplary embodiment of the method of <figref idrefs="DRAWINGS">FIG. 2</figref>; and
<figref idrefs="DRAWINGS">FIG. 4</figref> is a block diagram showing one embodiment of the set-top box.
DETAILED DESCRIPTION
Exemplary embodiments now will be described hereinafter with reference to the accompanying drawings, in which exemplary embodiments and examples are shown. Like numbers refer to like elements throughout.
Systems and methods for storing and delivering content over a network as well as a set-top box for facilitating the storage and delivery of content are provided in accordance with various exemplary embodiments. In general, a network is described having a number of set-top boxes and a main content source, such as a content library. The content library and each subscriber set-top box are configured to operate according to a peer to peer file distribution protocol. The protocol is aware of the network topology, the accessibility of set-top boxes on the network, and cost metrics consisting of router hops and set-top box upstream bandwidth. The protocol uses this information to automatically select sources of content in a more efficient and cost-effective manner.
Referring to <figref idrefs="DRAWINGS">FIG. 1</figref>, embodiments of the system <b>10</b> comprise a first router <b>12</b>, a plurality of second routers <b>14</b>, and a plurality of subscriber set-top boxes <b>16</b>. Each subscriber set-top box <b>16</b> is connected to a main content source <b>18</b> via the routers through a communication pathway <b>20</b>, which may comprise, for example, copper cable, fiber optic cable, a wireless connection, or a combination of these and/or other communication links. The system may also comprise intermediate routers <b>22</b>, <b>23</b> disposed along the communication pathway <b>20</b> between the main content source <b>18</b> and the subscriber set-top boxes <b>16</b>. As such, a relatively hierarchical network is established between the main content source <b>18</b> and the subscriber set-top boxes <b>16</b>. Typically, the network is a packet-switching network with the subscriber set-top boxes <b>16</b> being configured to transmit and receive content over the network according to a peer to peer file distribution protocol.
In <figref idrefs="DRAWINGS">FIG. 1</figref>, content may be transmitted from the main content source <b>18</b> through the first router <b>12</b> to either or both intermediate routers <b>22</b>, <b>23</b> in parallel. While two intermediate routers <b>22</b>, <b>23</b> are depicted in the embodiment of <figref idrefs="DRAWINGS">FIG. 1</figref>, a network typically includes many intermediate routers <b>22</b>, <b>23</b> with the first router <b>12</b> configured to control distribution of the content to a selected one or more of the intermediate routers <b>22</b>, <b>23</b>. The content may be digital, for example, and may include data such as video content, audio content, Internet web content, or interactive games. The first router <b>12</b> may be a video distribution router, for example, and the intermediate routers <b>22</b>, <b>23</b> may be gateway routers. In embodiments in which the portion of the network between the intermediate routers <b>22</b>, <b>23</b> and the subscribers consists of optical fibers, each branch of the communication pathway <b>20</b> in <figref idrefs="DRAWINGS">FIG. 1</figref> is configured to transmit content from the intermediate routers <b>22</b>, <b>23</b> to an optical line termination (OLT) unit <b>24</b>, either directly as shown or via additional intermediate routers <b>22</b>, <b>23</b>. The OLT unit <b>24</b> receives the content and converts the content to corresponding optical signals for transmission to the subscriber. More than one communication pathway <b>20</b> may extend from one intermediate router <b>22</b>, <b>23</b>, thereby allowing the connection of more than one OLT units <b>24</b> to one intermediate router <b>22</b>, <b>23</b>. Routers in communication with multiple subscriber set-top boxes <b>16</b> served by the respective router, such as intermediate router <b>23</b> in <figref idrefs="DRAWINGS">FIG. 1</figref>, act as hubs to coordinate communication among the respective subscriber set-top boxes <b>16</b>, as well as between each respective subscriber set-top box <b>16</b> and the main content source <b>18</b>.
Continuing along each communication pathway <b>20</b>, the fiber optic cable runs from the OLT unit <b>24</b>, through an access network <b>26</b>, such as a gigabit-capable passive optical network, towards the subscriber set-top boxes <b>16</b>. Each set-top box <b>16</b> is associated with a second router <b>14</b> and an optical network termination (ONT) unit <b>28</b>. The ONT unit <b>28</b> converts the content, which may be in the form of an optical signal, to a format that is compatible with the subscriber set-top box <b>16</b>, such as corresponding electrical signals. The second router <b>14</b> may be a broadband home router, for example, and may be capable of receiving the content from the ONT unit <b>28</b> and transmitting the content to the associated set-top box <b>16</b> for eventual display on a television, computer, or other peripheral <b>32</b> to which the set-top box <b>16</b> is connected.
The main content source <b>18</b> is configured to store content that may be accessed and copied, e.g., downloaded, by the various subscriber set-top boxes <b>16</b> through the associated communication pathways <b>20</b>. For example, the main content source <b>18</b> may be a server such as a content library holding video content to be transmitted on demand to the subscriber set-top boxes <b>16</b>. When a subscriber at location A wishes to access certain content, for example a movie, from the content provider, a query is transmitted using to a peer to peer file distribution protocol from the subscriber set-top box <b>16</b> at A to the closest hub along the communication pathway <b>20</b>, which in <figref idrefs="DRAWINGS">FIG. 1</figref> would be intermediate router <b>23</b>.
Unlike prior approaches in which the query would have always been directed to and serviced by the main content source <b>18</b>, exemplary embodiments of the system <b>10</b> and method initially attempt to access the requested content from other subscriber set-top boxes <b>16</b> served by the same hub which had previously downloaded and stored the requested content. As such, intermediate router <b>23</b> in <figref idrefs="DRAWINGS">FIG. 1</figref> routes the query to other set-top boxes <b>16</b> connected to the same hub router <b>23</b>, or in this case B and C. If a queried set-top box <b>16</b> has the requested content, the queried set-top box <b>16</b> will transmit data back to the requesting set-top box <b>16</b> at A. The data transmitted may include identifying information, such as the network address of the queried set-top box <b>16</b>, as well as other descriptive data, such as the physical location of the queried set-top box <b>16</b> and the associated data transmission rate or bandwidth. Each subscriber set-top box <b>16</b> therefore includes a storage area <b>30</b>, e.g., memory, such as a disk, for storing such data as well as for storing content downloaded by the set-top box <b>16</b>. Information in the set-top box <b>16</b> may be updated periodically by the content provider, for example once a day or once a week, to include new subscriber set-top boxes <b>16</b> added to the network and the removal of subscriber set-top boxes <b>16</b> from the network. Information for new set-top boxes may include the IP address, the location in the network topology, and upstream bandwidth.
If no queried set-top box <b>16</b> has the content requested, the query will be transmitted to the next available upstream (i.e., closer to the main content source <b>18</b> in terms of network topology) hub or router. This next available upstream hub relays the query to the subscriber set-top boxes <b>16</b> serviced by the hub and relays any responses from the set-top boxes <b>16</b> to the set-top box <b>16</b> that made the initial query. If no queried set-top box <b>16</b> can provide the requested content, this process continues with more upstream hubs canvassing increasingly larger subsets of set-top boxes <b>16</b> until the query reaches the first router <b>12</b> associated with the main content source <b>18</b>. For example, if the query transmitted by A is not satisfied by B or C in the embodiment of <figref idrefs="DRAWINGS">FIG. 1</figref>, the query will be forwarded to the first router <b>12</b>. In one embodiment, the first router <b>12</b> not only determines that the requested content can be provided by the main content source <b>18</b>, but also transmits the query to the other set-top boxes <b>16</b> connected thereto and relays any responses to the set-top box <b>16</b> that made the initial query. Thus, if none of the subscriber set-top boxes <b>16</b> that are queried along the pathway <b>20</b> have the requested content, the requesting set-top box <b>16</b> may access the content from the set-top box <b>16</b> at D or the main content source <b>18</b>.
The content provider may decide to route the query directly back to the content source <b>18</b> at its discretion instead of directing it down another branch of the network hierarchy for operational reasons. An example of an operational reason may be that the network cost of reaching the main content source <b>18</b> is less than the network cost of reaching a group of set-top boxes <b>16</b>. Another operational reason may be that the content provider determines that a particular section of the network is more congested than the communication pathway <b>20</b> leading to the main content source <b>18</b>.
Alternatively, the requesting set-top box <b>16</b> may broadcast the query to all set-top boxes <b>16</b> in the area capable of receiving the query. This may include set-top boxes <b>16</b> served by the same hub as the requesting set-top box <b>16</b> as well as set-top boxes served by upstream hubs. In the case where the query is broadcast to all set-top boxes <b>16</b> in the area, the requesting set-top box <b>16</b> may initially receive responses from only some of set-top boxes <b>16</b>, such as the set-top boxes <b>16</b> that are closer than other set-top boxes <b>16</b> in terms of network topology to the requesting set-top box <b>16</b>. If the requesting set-top box <b>16</b> is able to obtain the predetermined content from the first responding set-top boxes <b>16</b>, i.e., the closer set-top boxes <b>16</b>, then any subsequent responses received from other set-top boxes <b>16</b> having the predetermined content may be ignored by the requesting set-top box <b>16</b>.
Once the requesting set-top box <b>16</b> has accessed the requested content, from whatever source, a copy of the content is stored in the respective storage area <b>30</b>. In one embodiment, the storage area <b>30</b> is partitioned, either physically or logically, into at least two partitions <b>34</b>, <b>36</b>, at least one of which is accessible by the content provider. The partition <b>36</b> accessible by the content provider may be designated for the sole use of the content provider and secured against access by anyone else, including the associated subscriber, resulting in exclusive access of the partition <b>36</b> by the content provider.
The copy of the content accessed may be stored in the partition <b>36</b> of the storage area <b>30</b> accessible by the content provider. In this way, when a future query is received from a remote set-top box <b>16</b>, for example the set-top box <b>16</b> at C, the content stored in the partition <b>36</b> of the storage area <b>30</b> accessible by the content provider (at A) will be referenced, and content satisfying the query may be copied or streamed from the partition <b>36</b> of the storage area <b>30</b> accessible to the content provider of the queried set-top box <b>16</b> (A) to the partition <b>36</b> of the storage area <b>30</b> accessible to the content provider of the requesting set-top box <b>16</b> (C). The subscriber set-top boxes <b>16</b> may be designed to automatically delete content in the designated partition <b>36</b> of the storage area <b>30</b> after a certain amount of time has passed. For example, the partition <b>36</b> of the storage area <b>30</b> accessible to the content provider may be cleared every 24 hours to allow space in the storage area <b>30</b> for the storage of newer content.
The subscriber set-top box <b>16</b> may be configured to determine the preferred source of the requested content. For example, the requesting set-top box <b>16</b> at A may determine which of the queried set-top boxes <b>16</b> at B and C having the requested content is geographically closest to the location of the requesting set-top box <b>16</b> (A) based on the identifying data transmitted from each of the queried set-top boxes <b>16</b> (B and C) to the requesting set-top box <b>16</b> (A). Alternatively, the requesting set-top box <b>16</b> at A may determine which of the queried set-top boxes <b>16</b> having the requested content is the closest in terms of Internet Protocol (IP) network location to the requesting set-top box <b>16</b> (A). For example, referring to <figref idrefs="DRAWINGS">FIG. 1</figref>, if both the set-top boxes <b>16</b> at B and D were queried by the set-top box <b>16</b> at A, the requesting set-top box <b>16</b> at A would determine that B is closer in terms of IP network distance than D because content from D would have to make three router hops (<b>22</b>, <b>12</b>, <b>23</b>) whereas content from B would only have to make one router hop (<b>23</b>) to reach A. As this example indicates, closeness in terms of IP network location may be determined based on the number of routers required to relay the content to the requesting set-top box <b>16</b>.
The requesting set-top box <b>16</b> (A) may be configured to analyze the data transmission rate, for example the bandwidth, associated with each of the queried set-top boxes <b>16</b> (B and C) having the requested content to determine which set-top box <b>16</b> would provide the fastest and most reliable connection. The subscriber set-top boxes <b>16</b> may also be configured to determine the preferred source of the requested content in other manners, if so desired. By accessing the content from a preferred source, the efficiency of the download process may be relatively high. For example, accessing the content from a relatively near set-top box <b>16</b> as opposed to a relatively distant main content source <b>18</b> may reduce the time required to download the file and may reduce the transmission load carried by at least certain portions of the network.
The content stored in the main content source <b>18</b> and in the storage area <b>30</b> of the various set-top boxes <b>16</b> may be fragmented such that the fragments of data, which when combined form a complete file, may be obtained from different locations. For example, digital video content associated with a movie file may be fragmented into smaller files that, together, comprise the whole movie file, the fragments being similar to “chapters” of a movie on Digital Video Disc (DVD). Each fragment may be accessible independently of other fragments of the same file by the requesting set-top box <b>16</b> such that if, for example, one of the fragments of a file accessed from a preferred source is missing, damaged, or otherwise inaccessible, the requesting set-top box <b>16</b> may access that missing fragment from an alternate source, thereby achieving access to a complete file. By obtaining most of the file from the preferred source, the overall efficiency of the downloading process is still relatively high, even though one or more fragments had to be retrieved from a less preferred source. Alternatively, the requesting set-top box <b>16</b> may determine multiple preferred sources. In the case of multiple preferred sources, the efficiency of the downloading process may be increased, and the load on the network may be decreased, by obtaining fragments of the complete file from each preferred source at approximately the same time.
Embodiments of the system <b>10</b> described above are not limited to the configuration shown in <figref idrefs="DRAWINGS">FIG. 1</figref>. The network extending from the content provider to the various subscribers may be designed to meet the demands of a predetermined number of subscribers covering a predetermined geographical region, as dictated by the speed of data transmittal over the communication pathways, the volume of subscriber demands, and the size of the main content source <b>18</b>. The network may be expanded by connecting more than one main content source <b>18</b>, <b>18</b>′, each additional main content source <b>18</b>′ supporting its own content-sharing network, such that subscriber set-top boxes <b>16</b> associated with one main content source <b>18</b> may communicate with other main content sources <b>18</b>′ and with set-top boxes <b>16</b>′ associated with those other main content sources <b>18</b>′ via the first routers <b>12</b>, <b>12</b>′ associated with the main content sources <b>18</b>, <b>18</b>′.
In other embodiments, a method of accessing content is provided. Referring to <figref idrefs="DRAWINGS">FIG. 2</figref>, embodiments of the method for accessing content initially query content sources for predetermined content, determine a preferred source of the content, obtain a copy of the content, store the content in a storage area <b>30</b> at the subscriber location, and, in turn, allow a plurality of remote subscribers to access content stored in the storage area <b>30</b> of the corresponding subscriber location. See <figref idrefs="DRAWINGS">FIG. 2</figref>, blocks <b>100</b>-<b>108</b>.
For example, a subscriber desiring to see a movie offered by a content provider may transmit a query for the associated video content through the subscriber's set-top box <b>16</b>. The query may be transmitted to other set-top boxes <b>16</b> connected on the network as well as to other potential content sources, such as a main content source <b>18</b>, in accordance with the hierarchical distribution techniques described above to identify sources that have the queried content. See block <b>100</b>.
Of the potential content sources identified, a preferred source of the content is determined, as shown in block <b>102</b>. Various types of preferences may be used to determine a preferred source of content, as illustrated in blocks <b>116</b>-<b>122</b>. The preferred source may be determined, for example, according to an algorithm implemented by the set-top box <b>16</b> which factors in the geographic distance between each potential content source and the subscriber location and chooses the source associated with the shortest distance. Similarly, the preferred source may be determined according to the Internet Protocol (IP) distance between each potential source and the requesting set-top box <b>16</b>, the algorithm choosing the source associated with the shortest IP distance. The preferred source may also be determined according to the bandwidth of the potential sources. For example, an algorithm implemented by the set-top box <b>16</b> may determine, at the subscriber location, the available bandwidth for each potential source and may then choose the source associated with the largest bandwidth. The selection of a preferred source of content may also be made using a composite function built from any combination of these factors or other factors not mentioned here.
Once a preferred source, as shown in block <b>102</b> is determined, a copy of the requested content is obtained at the subscriber location. See block <b>104</b>. For example, a copy of the movie file may be downloaded from the preferred source to the subscriber's set-top box <b>16</b>. Some embodiments of the method may additionally include the evaluation of the content accessed, typically after the content is downloaded by the requesting set-top box <b>16</b>. See block <b>110</b>. The requesting set-top box <b>16</b>, for example, may evaluate the downloaded content against a predetermined standard and determine that there is an error. See block <b>111</b>. In general, an error may be caused by the transmission process or by the source. See block <b>113</b>. For example, the requesting set-top box <b>16</b> may receive less than a complete file, or a portion or all of the file received may be unusable as the result of an error in transmission. Similarly, a predetermined amount of time allowed for the downloading of the file from the preferred source to the subscriber location, such as one minute, may be exceeded. As a result, the requesting set-top box <b>16</b> may make another attempt to download the content. See block <b>104</b>.
If the error reflects a problem with the source of the content, i.e., the preferred source, an alternate preferred source may be determined and the content obtained from the alternate preferred source. For example, if several attempts to download the content from the original preferred source fail, then the unacceptable content may be aborted. Similarly, if the content is illegitimate, e.g., impermissibly copied, or if the file is unusable because some or all of the data contained therein is corrupt, then the unacceptable content may be aborted. The preferred source may then be abandoned and an alternate preferred source determined. See blocks <b>112</b>-<b>114</b>.
In the case that the preferred source is abandoned and an alternate preferred source is determined, the alternate preferred source may be the source that is, of the remaining potential sources, the most preferred based on the algorithm implemented by the set-top box <b>16</b>. For example, if the algorithm considered IP network distance as described above, then the alternate preferred source may be the source that is, of the remaining potential source, the closest in terms of network topology to the requesting set-top box <b>16</b>. It is noted that the operations shown in blocks <b>110</b>-<b>114</b> are optional and need not be performed in all instances. If operations <b>110</b>-<b>114</b> are not performed, the output of block <b>104</b> would generally be provided directly to operation <b>106</b>.
As shown in block <b>106</b>, the copy of the content successfully downloaded by the requesting set-top box <b>16</b> is then stored in a storage area <b>30</b> at the subscriber location, for example in the partition <b>36</b> of the subscriber's set-top box <b>16</b> accessible to the content provider. The subscriber may then be able to use the content, such as by viewing a movie on a television <b>32</b> connected to the subscriber's set-top box <b>16</b>. For example, the content that is downloaded by the requesting set-top box <b>16</b>, such as a movie, may be stored on a video serving domain disk or a virtual disk prior to being streamed to a television <b>32</b> for viewing or prior to being stored to the partition <b>34</b> accessible to the associated subscriber, such as the subscriber's disk or virtual disk.
Finally, remote subscribers querying the same content are allowed access to the content now stored at the subscriber location. See block <b>108</b>. For example, another subscriber desiring to see the same movie that a subscriber on the network has previously queried, obtained, and stored in the storage area <b>30</b> may be able to query for and then access the movie file as stored in the storage area <b>30</b> of the previous subscriber's set-top box <b>16</b>. Content stored at a subscriber location, however, may be deleted periodically, as shown in block <b>124</b>. For example, the set-top box <b>16</b> may be configured to delete content stored in the partition <b>36</b> accessible to the content provider after a predetermined length of time, such as 24 hours.
The content accessed according to embodiments of the method may comprise complete files, such as a movie in its entirety, or fragments of a complete file, such as “chapters” of a movie. Thus, according to one embodiment, fragments of a complete file may be independently queried, a preferred source for each fragment determined, and various fragments obtained from different sources. The various fragments would be assembled into a complete content file and stored at the subscriber location, however, such that the subscriber may use the content in its entirety, for example by viewing a movie from beginning to end.
For example, content may be accessed according to an exemplary embodiment illustrated in <figref idrefs="DRAWINGS">FIG. 3</figref>. In the exemplary embodiment, a subscriber selects content for viewing or for storage in the storage area <b>30</b> of the subscriber's set-top box <b>16</b>. A content location request is then broadcast to all content sources within the subscriber's video serving area, i.e., the set-top boxes <b>16</b> connected to the network within the subscriber's video serving area. If the requesting set-top box <b>16</b> does not receive any positive responses, which would indicate that none of the connected set-top boxes <b>16</b> in the area have the requested content, the requesting set-top box <b>16</b> downloads the content from the main content source <b>18</b>. See <figref idrefs="DRAWINGS">FIG. 3</figref>, blocks <b>126</b>-<b>129</b>.
If the requesting set-top box <b>16</b> receives positive responses to its content location request, the requesting set-top box <b>16</b> executes an algorithm based on a combination of the available bandwidth between each potential content source and the requesting set-top box <b>16</b> and the IP proximity of each potential content source to the requesting set-top box <b>16</b>. See blocks <b>131</b>-<b>132</b>. Based on the algorithm executed by the requesting set-top box <b>16</b>, a preferred content source is determined.
If the requesting set-top box <b>16</b> determines more than one preferred content source, the set-top box <b>16</b> requests portions of the content from each of the multiple preferred content sources. See block <b>134</b>. For example, if a movie having 24 chapters of content is requested and the requesting set-top box determines 4 preferred content sources based on the algorithm, the requesting set-top box <b>16</b> may request chapters 1-6 from the first preferred source, chapters 7-12 from the second preferred source, chapters 13-18 from the third preferred source, and chapters 19-24 from the fourth preferred source. In this way, the time required for transmitting the four smaller files (which may be, for example, a quarter of the size of the complete file) at approximately the same time from the four preferred content sources to the requesting set-top box <b>16</b> may be less than the time that would have been required for transmitting the one complete file from one of the preferred sources, thereby increasing the speed of the download. Alternatively, if only one preferred content source is determined by the requesting set-top box <b>16</b>, the complete file is requested and downloaded from the one preferred content source, as shown in block <b>135</b>.
In the exemplary embodiment of <figref idrefs="DRAWINGS">FIG. 3</figref>, the content downloaded is then validated by the requesting set-top box <b>16</b>. See block <b>136</b>. For example, the content may be scanned by the requesting set-top box <b>16</b> to verify that the content is legitimate and/or that the content does not contain more than an acceptable amount of error. If the content is not acceptable, the requesting set-top box seeks to download the content (or the portion of content if the content was obtained from multiple preferred content sources) from a different preferred content source. For example, if one of the four preferred content sources in the previous example transmitted chapters 7-12 of the requested movie, but the content file was determined by the requesting set-top box <b>16</b> to be illegitimate, the requesting set-top box <b>16</b> may request chapters 7 and 8 from the first preferred content source, chapters 9 and 10 from the third preferred content source, and chapters 11 and 12 from the fourth preferred content source, thus bypassing the source of the illegitimate content. If, on the other hand, the requesting set-top box <b>16</b> determines that there was an error in the transmission of the content from one of the preferred content sources, then the requesting set-top box <b>16</b> may attempt to download the content again from the same content source. If after a predetermined number of attempts the transmission is still unsuccessful, the requesting set-top box <b>16</b> may turn to an alternate source, as previously mentioned.
Similarly, if content downloaded from the main content source <b>18</b> is determined to be invalid, the requesting set-top box <b>16</b> requests the content again from the main content source <b>18</b>. See block <b>130</b>. If, however, after a predetermined number of attempts the requesting set-top box <b>16</b> is unable to download acceptable content, the requesting set-top box may cease the attempts and may report an error to the subscriber.
If the content is determined by the requesting set-top box <b>16</b> to be valid, the requesting set-top box <b>16</b> then assembles the content files (if portions of the complete file were obtained from different preferred sources) and stores the content in the partition <b>36</b> of the storage area <b>30</b> that is accessible to the content provider. For example, the content may be stored on a video serving domain disk or virtual disk. The content may then be streamed to the subscriber's television for viewing by the subscriber and/or stored to the partition <b>34</b> of the storage area <b>30</b> that is accessible to the subscriber, such as the subscriber disk or virtual disk in the subscriber set-top box <b>16</b>. See blocks <b>137</b> and <b>138</b>. Content stored in the partition <b>36</b> accessible by the content provider may be erased after a set time period, such as 24 hours. See block <b>139</b>. However, content that has been transferred to the subscriber-accessible partition <b>34</b> may be available for use by the subscriber even after the content has been erased from the partition <b>36</b>.
A set-top box <b>16</b> is also provided according to some embodiments, shown in <figref idrefs="DRAWINGS">FIG. 4</figref>. The set-top box <b>16</b> comprises an interface <b>150</b> configured to engage a packet-switching network <b>162</b>, such as the Internet, a storage area <b>30</b>, and a receiver and decoder <b>152</b>. The storage area <b>30</b> is partitioned into at least two partitions <b>34</b>, <b>36</b>, with at least one of those partitions <b>36</b> being accessible by a content provider. The receiver and decoder <b>152</b> is configured to receive digital content from a source or deliver digital content to a digital-ready device, such as a main content source <b>18</b> or a different subscriber set-top box <b>16</b>, store the content in the partition <b>36</b> of the storage area <b>30</b> that is accessible by the content provider, and convert the digital content for display on a peripheral device <b>32</b> such as a television.
The set-top box <b>16</b> allows other remote set-top boxes <b>16</b> to which it is connected to access the partition <b>36</b> of the storage area <b>30</b> that is designated for the use of the content provider. In this way, remote set-top boxes <b>16</b> may copy content from the storage area <b>30</b> of the set-top box <b>16</b>, and vice versa. One of many possible system <b>10</b> configurations is shown in <figref idrefs="DRAWINGS">FIG. 1</figref>. The set-top box <b>16</b> may be in communication with other set-top boxes <b>16</b> or main content source <b>18</b> using a communications protocol such as, but not limited to, peer to peer protocols such as BitTorrent. In addition, the set-top box <b>16</b> may be in communication with network elements such as routers connected to the network, such as a first router <b>12</b>, a second router <b>14</b>, an intermediate router <b>22</b>, <b>23</b>, or more than one of these in series, as shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, where the connected routers enforce policy that may determine to which segments of the network queries for content sources may be routed.
In some embodiments, the set-top box <b>16</b> may further comprise a processor <b>158</b>, such as a microprocessor, a controller, or other computing device, for performing or at least directing the various functions of the set-top box <b>16</b> described above. For example, the process may determine a preferred source of the digital content. The processor <b>158</b> may determine the preferred source based on the bandwidth of the source, the distance between the source and the set-top box <b>16</b>, or other preferences. For example, the processor <b>158</b> may use an algorithm to analyze the IP network distance between the set-top box <b>16</b> and each potential source, then determine the source associated with the shortest distance, as described above. Typically, the process operates under the control of software for performing each of the functions subscribed to the set-top box <b>16</b>. This software may also be stored by the storage area <b>30</b> or by another associated memory device.
In the preceding specification, various embodiments of the claimed invention have been described. It will, however, be evident that various modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.
Contents3
5 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5
Every citation, both waysCites: the store holds 19 of 20
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10803480B2 | Cited by | United States of America | Applicant |
| US9591363B2 | Cited by | United States of America | Search report |
| US11151609B2 | Cited by | United States of America | Applicant |
| US2014282762A1 | Cited by | United States of America | Pre-grant |
| US2020221181A1 | Cited by | United States of America | Search report |
| US11037205B2 | Cited by | United States of America | Applicant |
| US9667496B2 | Cited by | United States of America | Applicant |
| US10887215B2 | Cited by | United States of America | Applicant |
| US10873785B2 | Cited by | United States of America | Search report |
| US2002162109A1 | Cites | United States of America | Search report |
| US2003110503A1 | Cites | United States of America | Search report |
| US2003182125A1 | Cites | United States of America | Search report |
| US2004264443A1 | Cites | United States of America | Applicant |
| US2005097281A1 | Cites | United States of America | Applicant |
| US2005198228A1 | Cites | United States of America | Search report |
| US2007009235A1 | Cites | United States of America | Search report |
| US2007124779A1 | Cites | United States of America | Applicant |
| US2008209494A1 | Cites | United States of America | Search report |
| US5854887A | Cites | United States of America | Search report |
| US6108631A | Cites | United States of America | Search report |
| US6331983B1 | Cites | United States of America | Applicant |
| US6574795B1 | Cites | United States of America | Applicant |
| US6981032B2 | Cites | United States of America | Search report |
| US7028096B1 | Cites | United States of America | Search report |
| US7096486B1 | Cites | United States of America | Applicant |
| US7107606B2 | Cites | United States of America | Applicant |
| US7194091B2 | Cites | United States of America | Applicant |
| US7324553B1 | Cites | United States of America | Search report |
| Chan, S.-H.G.; Tobagi, F.A. Distributed servers architecture for networked video services Networking, IEEE/ACM Transactions on vol. 9, Issue 2, Date: Apr. 2001, pp. 125-136. | Non-patent | – | Applicant |
| Chan, S.-H.G.; Tobagi, F.A. Threshold-based admission policies for video services Global Telecommunications Conference, 1999. GLOBECOM '99 vol. 4, Date: 1999, pp. 2076-2080 vol. 4 | Non-patent | – | Applicant |
| Chan, S.-H.G.; Tobagi, F.A. Caching schemes for distributed video services Communications, 1999. ICC '99. 1999 IEEE International Conference on vol. 2, Date: 1999, pp. 994-999 vol. 2. | Non-patent | – | Applicant |
| Fahmi, H.; Latif, M.; Sedigh-Ali, S.; Ghafoor, A.; Liu, P.; Hsu, L.H. Proxy servers for scalable interactive video support Computer vol. 34, Issue 9, Date: Sep. 2001, pp. 54-60. | Non-patent | – | Applicant |
| Feng Lin; Xin Wang; Xiangyang Xue A novel architecture for video-on-demand services Computer and Information Technology, 2005. CIT 2005. The Fifth International Conference on Date: Sep. 21-23, 2005, pp. 640-644. | Non-patent | – | Applicant |
| Tang, W.K.S.; Wong, E.W.M.; Chan, S.; Ko, K.-T. Optimal video placement scheme for batching VOD services Broadcasting, IEEE Transactions on vol. 50, Issue 1, Date: Mar. 2004, pp. 16-25. | Non-patent | – | Applicant |
| Dilley, J.; Maggs, B.; Parikh, J.; Prokop, H.; Sitaramari, R.; Weihl, B. Globally distributed content delivery Internet Computing, IEEE vol. 6, Issue 5, Date: Sep./Oct. 2002, pp. 50-58. | Non-patent | – | Applicant |
| Siddhartha Annapureddy, Christos Gkantsidis, Pablo Rodriguez, L. Massoulie. Providing Video-on-Demand using Peer-to-Peer Networks. Internet Protocol TeleVision (IPTV) workshop in conjunction with WWW '06, May 2006. | Non-patent | – | Applicant |
| Siddhartha Annapureddy, Michael J. Freedman and David Mazières SHARK: Scaling File Servers via Cooperative Caching. In Proc. of the Network Systems Design and Implementation (NSDI), May 2005. | Non-patent | – | Applicant |
| Antonio Nicolosi and Siddhartha Annapureddy. P2PCAST: A Peer-to-Peer Multicast Scheme for Streaming Data. In Proc. of the the First Iris Student Workshop on Peer-to-Peer Systems, Aug. 2003. | Non-patent | – | Applicant |
6 members in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 56754106 | United States of America | A | |
| US20060567541 | – | – | – |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| US2008141321A1 | United States of America | A1 | |
| US2008141328A1 | United States of America | A1 | |
| US2012102535A1 | United States of America | A1 | |
| US8316411B2This record | United States of America | B2 | |
| US8646016B2 | United States of America | B2 | |
| US8875207B2 | United States of America | B2 |
82 transactions on the USPTO file
Allowed after 3 non-final rejections, 1 final rejection and 2 RCEs.
- Non-final rejections
- 3
- Final rejections
- 1
- RCEs
- 2
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Response to Reasons for AllowanceREAS | REAS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Examiner Interview Summary (PTOL - 413)MEXIN | MEXIN | |
| Examiner Interview Summary Record (PTOL - 413)EXIN | EXIN | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
10 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 08316411
- Publication, DOCDB
- 8316411
- Publication, EPODOC
- US8316411
- Application
- 11567541
- Application, DOCDB
- 56754106
- Application, EPODOC
- US20060567541
Titles
- English
- Content storage and delivery system and associated method and device
Patent term adjustment
- A delay
- +613 daysthe office missed an examination deadline
- B delay
- +15 dayspendency past three years
- Applicant delay
- −56 days
- Net adjustment
- 572 days
Classification
- CPC, 8
- H04N7/17318
- H04N21/23106
- H04N21/23113
- H04N21/2747
- H04N21/4331
- H04N21/4335
- H04N21/4622
- H04N21/6405
- IPC, 1
- H04N7 173
- USPC, 1
- 725134000