Movatterモバイル変換


[0]ホーム

URL:


US9178693B2 - Distributed media-protection systems and methods to operate the same - Google Patents

Distributed media-protection systems and methods to operate the same
Download PDF

Info

Publication number
US9178693B2
US9178693B2US11/499,635US49963506AUS9178693B2US 9178693 B2US9178693 B2US 9178693B2US 49963506 AUS49963506 AUS 49963506AUS 9178693 B2US9178693 B2US 9178693B2
Authority
US
United States
Prior art keywords
media
stream
media device
devices
media stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US11/499,635
Other versions
US20080033881A1 (en
Inventor
Michael H. Ficco
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DirecTV LLC
Original Assignee
DirecTV Group Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DirecTV Group IncfiledCriticalDirecTV Group Inc
Priority to US11/499,635priorityCriticalpatent/US9178693B2/en
Assigned to DIRECTV GROUP, INC., THEreassignmentDIRECTV GROUP, INC., THEASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: FICCO, MICHAEL H.
Publication of US20080033881A1publicationCriticalpatent/US20080033881A1/en
Application grantedgrantedCritical
Publication of US9178693B2publicationCriticalpatent/US9178693B2/en
Assigned to DIRECTV, LLCreassignmentDIRECTV, LLCASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: THE DIRECTV GROUP, INC.
Assigned to CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENTreassignmentCREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENTSECURITY AGREEMENTAssignors: DIRECTV, LLC
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A. AS COLLATERAL AGENTreassignmentTHE BANK OF NEW YORK MELLON TRUST COMPANY, N.A. AS COLLATERAL AGENTSECURITY AGREEMENTAssignors: DIRECTV, LLC
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENTreassignmentTHE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENTSECURITY AGREEMENTAssignors: DIRECTV, LLC
Activelegal-statusCriticalCurrent
Adjusted expirationlegal-statusCritical

Links

Images

Classifications

Definitions

Landscapes

Abstract

Example distributed media-protection systems and methods to operate the same are disclosed. A disclosed example method comprises receiving a media stream at a first set top box (STB) via a content delivery system, splitting, at the first STB, the received media stream into at least two portions, allocating, using a processor at the first STB, a first of the at least two portions to the first STB and a second of the at least two portions to a second STB based on a pseudorandom seed, and storing the first of the at least two portions on the first STB and the second of the at least two portions on the second STB.

Description

FIELD OF THE DISCLOSURE
This disclosure relates generally to media systems and, more particularly, to distributed media-protection systems and methods to operate the same.
BACKGROUND
The ever increasing proliferation and/or availability of media players (e.g., personal computers, digital video recorders (DVRs), home media centers, game playing systems, etc.) creates a strong demand for systems, devices and/or methods to download and/or receive video, audio and/or multimedia data, files and/or assets. Additionally, more recently available media devices are capable of being communicatively coupled to other media devices to facilitate sharing and/or transferring of media video, audio and/or multimedia data, files and/or assets.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic illustration of an example disclosed distributed media-protection and/or media-aggregation system.
FIGS. 2 and 3 illustrate example manners of implementing any of the example media devices ofFIG. 1.
FIG. 4 illustrates an example manner of implementing the example distributed media module ofFIGS. 2 and/or3.
FIG. 5 is a flowchart representative of an example process that may be carried out to initialize the example distributed media module ofFIGS. 2,3 and/or4.
FIG. 6 is a flowchart representative of an example process that may be carried out to implement the example network probe ofFIG. 4.
FIG. 7 is a flowchart representative of an example process that may be carried out to implement the example directory module ofFIG. 4.
FIG. 8 is a flowchart representative of an example process that may be carried out to distribute media slices.
FIG. 9 is a flowchart representative of an example process that may be carried out to compute a hop sequence for distributing and/or collecting media slices.
FIG. 10 is a flowchart representative of an example process that may be carried out to view distributed media.
FIG. 11 is a flowchart representative of an example process that may be carried out to collect distributed media slices.
FIG. 12 is a flowchart representative of an example process that may be carried out to collect super-program media segments.
FIG. 13 is a flowchart representative of an example process that may be carried out to collect distributed media slices and/or collect super-program media segments.
FIG. 14 is an example data structure for the example media directory ofFIG. 4.
FIG. 15 is an example data structure for metadata.
FIG. 16 is an example data structure for storing media segments.
FIG. 17 is an example data structure for the example universal directory ofFIG. 4.
FIG. 18 is an example data structure for the example device list ofFIG. 4.
FIG. 19 is an example message format.
FIG. 20 is a list of example message types and parameters that may be sent using the example message format ofFIG. 19.
FIG. 21 is a schematic illustration of an example processor platform that may be used and/or programmed to execute the example processes illustrated inFIGS. 5,6,7,8,9,10,11,12 and/or13 to implement distributed media-protection and/or distributed media-aggregation and/or, more generally, the example distributed media-protection and/or distributed media-aggregation system ofFIG. 1.
DETAILED DESCRIPTION
While the following disclosure is made with respect to the delivery of video media (e.g., television (TV), movies, music videos, pay-per-view (PPV) programs, etc.), it should be understood that the systems and methods disclosed herein could also be used for delivery of any media content type, for example, audio, music, data files, web pages, etc. Additionally, throughout this disclosure reference is made to media, content, data, information, programs, movies, assets, video data, etc., however, it will be readily apparent to persons of ordinary skill in the art that these terms are substantially equivalent in reference to the example systems and/or methods disclosed herein.
The following terms will be used herein. “Title” will be used to refer to, for example, a movie itself and not the name of the movie.
“Piece of media” will be used to refer to, for example, a particular movie, a particular TV show, a particular video, etc. in its entirety.
“Media segment” will be used to refer to a portion of a piece of media such as, for example, a segment of a TV show occurring between commercials or a commercial break interval, an episode of a TV show, a portion of a move, or a commercial. In at least some examples, media segments of a particular piece of media are defined by the metadata associated with the piece of media. An example metadata data structure is discussed below in connection withFIG. 15.
“Media slices” will be used to refer to portions of a piece of media used to facilitate the distributed media-protection systems and method disclosed herein. Media slices generally represent smaller portions of a piece of media than media segments, but need not be smaller.
“Media slice” refers to a particular one of the media slices that make up a piece of media.
“Super-program” refers to a collection of media segments aggregated together to form a possibly unique, customized and/or alternative version of a piece of media. An example super-program is formed by selecting one or more commercials (i.e., media segments) based upon, for example, a user profile and then inserting the selected commercials into one or more commercial breaks (i.e., media segment slots) within a TV program thereby facilitating targeted advertising. Another example super-program is formed by the selection of one or more additional and/or alternative media segments by, for example, a user to form a customized piece of media such as, for example, a movie with a different ending, a missing piece of a recorded TV show, or a collection of situational comedy shows (a.k.a. sitcoms).
“Media stream” refers to any sequence of one or more bits representative of media. A media stream may represent any or all of a piece of media, one or more portions of media, one or more media segments, one or more media slices and/or one or more super-programs. Any number of media streams may be present in a media device. Further, one or more media streams of a media device and/or media may represent the same and/or different portions of media. For example, a decoder may have an input media stream and an output media stream that both represent the same media, albeit possibly time shifted with respect to each other. A data rate associated a media stream may be smaller, greater and/or substantially similar to a data rata associated with the media represented by the media stream. Moreover, a media stream may be stored, processed, received, transmitted, sliced, segmented, collected, aggregated, decoded, played back, encrypted and/or decrypted as disclosed herein.
FIG. 1 illustrates an example disclosed distributed media system for protecting and/or aggregating media. The example system ofFIG. 1 includes any of a number of media devices, six (6) of which are illustrated inFIG. 1 withreference numerals101,102,103,104,105 and106. Example media devices101-106 include, but are not limited to, set top boxes (STB), digital video recorders (DVR), video cassette recorders (VCR), personal computers (PC), game consoles, televisions (TV), media players such as iPods, cell phones, residential gateways, content delivery and/or distribution servers, advertisement servers, home media servers, home media centers, satellite receivers, cable TV receivers (analog or digital), etc.
Each of the example media devices101-106 ofFIG. 1 has an associated unique device identifier. Example device identifiers include a serial number or the media access control (MAC) address or Internet Protocol (IP) address of a network interface implemented by, within and/or coupled to a media device101-106. In addition to the distributed media-protection and/or super-program aggregation disclosed herein, the example media devices101-106 can implement any of a variety of additional, alternative and/or simultaneous media device functions such as present a program guide, display a TV show or play a movie from a digital versatile disc (DVD). Example manners of implementing any of the example media devices101-106 are discussed below in connection withFIGS. 2 and 3.
To facilitate review, viewing, display and/or playback of pieces of media, a display device such as, for example, a television set or a computer monitor, may be coupled to any of the example media devices101-106. Alternatively, the example media devices101-106 may include their own dedicated display device(s).
In one example, the illustrated system ofFIG. 1 protects media by distributing media slices and/or media segments of a piece of media across two or more of the example media devices101-106 such that none of the media devices101-106 stores and/or retains the entire piece of media. Example processes that may be carried out to slice and/or identify one or more portions of a piece of media and/or distribute media slices are discussed below in connection withFIGS. 8 and 9. In the example system ofFIG. 1, media slices are distributed in a substantially random or pseudorandom fashion to thwart attempts to steal pieces of media in an attempt to reproduce a piece of media and/or media segment. However, media slices and/or segments may be distributed in accordance with any of a variety of method(s), algorithm(s) and/or policy(-ies).
When a user of a particular media device101-106 desires to view a piece of media, the example media device101-106 collects the distributed media slices needed to construct a piece of media and/or media segment from the two or more media devices101-106 (one of which may be itself) that are storing the media slices. The media device101-106 then aggregates the media slices together in a storage and/or buffer (e.g., a volatile storage241) and displays the thus aggregated piece of media for the user. Whether or not a particular piece of media is protected via slicing and distribution may depend upon, for example, the type of media (e.g., TV show or movie), who owns the media (e.g., a studio or private individual), and/or copy protection rights associated with the piece of media, etc. For example, TV shows may not be protected via distributed media slices while movies are protected using any of the methods and systems disclosed herein. Example processes that may be carried out to collect and aggregated distributed media slices are discussed below in connection withFIGS. 10 and 11.
In the example system ofFIG. 1, when a media device101-106 collects distributed media slices, the example media device101-106 does not retain the aggregated piece of media in non-volatile storage. Thus, if a piece of media is to be viewed again, the example media device101-106 re-collects and re-aggregates the media slices. However, depending upon the security, privacy and/or theft policies and/or provisions implemented by the example system ofFIG. 1 and/or the media device(s)101-106, one or more of the media devices101-106 may be allowed and/or enabled to store a collected piece of media (e.g., a movie) and/or certain types of media (e.g., TV shows) in non-volatile storage. In some examples, such non-volatile storage retention may be restricted and/or limited to some period of time such as, 24-hours for a collected movie to facilitate ease and/or flexibility of viewing by a user, or unlimited for collected TV shows. Additionally and/or alternatively, viewing and/or playback of the aggregated media stream may be restricted based on a media device identifier such that the aggregated media stream can not be ported to another media device101-106.
In another example, the illustrated system ofFIG. 1 facilitates the collection and/or aggregation of any of a variety of media segments to form any of a variety of super-programs. When a user of a media device101-106 desires and/or makes a selection to watch a piece of media, the example media device101-106 determines whether additional and/or alternative media segments can, should and/or may be inserted in the selected piece of media. For example, based on a profile of the user, the media device1-01-106 may select one or more commercials (i.e., media segments) that the media device101-106 will insert into commercial breaks. Alternatively, the media device101-106 may present a list of additional and/or alternative media segments from which the user may select to be viewed instead of, in addition to, and/or inserted in between the nominal media segments that make up the selected piece of media. For example, the user may select to view an extra movie scene not included in a released version of a movie or may view an alternative ending. User profiles may include, among other things, any or all of an age, a sex, a marital status, an employment status, an address, an income, interests, hobbies, past pieces of media watched, web searches performed, etc. An example process that may be carried out to collect media segments and create super-programs is discussed below in connection withFIG. 12. An example data structure to store media segments is discussed below in connection withFIG. 16.
In yet another example, the illustrated system ofFIG. 1 facilitates the selection and/or playback of super-programs including one or more media segment(s) that are sliced and distributed for protection. For example, the playback of a selected movie may include one or more previews and/or advertisements that are shown before the selected movie is displayed. In such an example, the movie itself may be sliced and distributed to prevent piracy of the movie, while the previews are media segments that may be acquired by a media device101-106 in their entirety (i.e., not protected). The previews and/or advertisements shown before the movie may be determined by the media device101-106 based upon a user profile and/or may be selected by the user from a list of, for example, available movie previews. Such a list may also include a list of advertisements such that if the user views a predetermined number of the advertisements, viewing of a selected movie is free. Example processes that may be carried out to collect and aggregate distributed media slices and/or collect media segments and create super-programs where media segments may be sliced and distributed are discussed below in connection withFIGS. 11 and 13.
In the example system ofFIG. 1, super-programs are identified using any of a variety of method(s) and/or technique(s). For example, metadata for a piece of data may be parsed to identify the media segments that make up the piece of media. In one example, a search of a media directory and/or a universal directory based on metadata, program identifiers, segment identifiers, program title and/or program description can be performed to identify corresponding additional and/or alternative media segments. In another example, metadata is used to identify commercial and/or advertising media segments. Any of a variety of additional and/or alternative method(s), algorithm(s) and/or technique(s) may also be used to identify and/or extract commercials from a media stream such that one or more media segments can replace them.
To obtain pieces of media and/or media segments that may be sliced and distributed (i.e., stored or recorded), used to form super-programs, and/or collected and aggregated (i.e., played back), any of the example media devices101-106 ofFIG. 1 may be communicatively coupled to any of a variety ofcontent providers110 via any of a variety of content delivery protocol(s), network(s), system(s) and/or transmission path(s). For example, content delivery may occur via a satellite receiver and/orantenna115, a cable and/or radio frequency (RF)input signal120 received via any variety of cable TV signal(s) and/or terrestrial broadcast(s), and/or any variety of data communication network such as theInternet125. Other additional and/or alternative delivery systems and/or methods include the DIRECTV® direct-to-home satellite delivery system, wireless distribution systems, wired or cable distribution systems, cable television distribution systems, Ultra High Frequency (UHF)/Very High Frequency (VHF) radio frequency systems or other terrestrial broadcast systems (e.g., Multi-channel Multi-point Distribution System (MMDS), Local Multi-point Distribution System (LMDS), etc.), Internet-based distribution systems, cellular distribution systems, power-line broadcast systems, any point-to-point and/or multicast Internet Protocol (IP) delivery network, and fiber optic networks. The example media devices101-106 may connect to theInternet125 via any of a variety of technology(-ies), system(s) and/or device(s). Moreover any combination and/or hybrid of these systems, networks and/or devices may be used to provide media to one or more of the example media devices101-106. For example, low bandwidth media, such as audio, may be distributed in one manner and relatively high bandwidth media, such as audio and video, may be distributed via another manner.
In the example system ofFIG. 1, pieces of media may be received from the content provider(s)110 at any of a variety of data rates such as real-time (e.g., media received at substantially the same rate that it is displayed), sub real-time and/or trickle (e.g., media received at slower rate than it is or will be displayed), and/or high-speed (e.g., media received at higher rate than it is or will be displayed). Moreover, pieces of media may be associated with live and/or non-live programs and/or events.
To provide the pieces of media and/or media segments that may be protected, used to form super-programs, sliced, de-sliced and/or aggregated, the example system ofFIG. 1 includes any variety and/or number of content provider(s)110 such as, for example, television stations, satellite broadcasters, movie studios, advertisers, private individuals, corporations, advertisers, schools, organizations, etc. In the illustrated example ofFIG. 1, the content provider(s)110 deliver and/or otherwise provide the pieces of media to theexample media device101 via a satellite broadcast, such as the DIRECTV direct-to-home satellite broadcast using asatellite transmitter130 and a satellite and/orsatellite relay135, a terrestrial and/orcable TV broadcast120 and/or theInternet125. As illustrated inFIG. 1, the content provider(s)110 may also deliver and/or otherwise provide media to any of the other example media devices102-106. However, as illustrated, all of the media devices101-106 need not be associated with and/or receive media from acontent provider110.
While not shown inFIG. 1, the example content provider(s)110 may also implement and/or otherwise operate one or more media devices that may participate with the example media devices101-106 in the distributed protection of media and/or the aggregation of media segments to form super-programs. For example, anadvertiser110 may implement a media device that provides and/or otherwise makes available to the media devices101-106 targeted advertisement media segments that may be, for example, selected and/or inserted by the media devices101-106 in between media segments of a TV show. In one example, theadvertiser110 operates an advertisement selection server (not shown) with which the example media devices101-106 can interact via, for example, theInternet125 to select and/or determine one or more targeted advertisement media segments for a particular user. The media devices101-106 may exchange user profile information with the advertisement selection server, and/or the advertisement selection server may store user profiles such that the media devices101-106 need only uniquely identify a user to the advertisement selection server to obtain targeted advertisement media segments.
To facilitate the distributed storage and retrieval of media segments and/or media slices, the example media devices101-106 are communicatively coupled via any of a variety of communication network(s), protocol(s), device(s) and/or system(s) such as a wired and/orwireless LAN140 implemented within, for example, a residence, apartment building, office oroffice building145, and/or or theInternet125. As such, the media devices101-106 may be associated with any of a variety user(s), media delivery subscriber(s) and/or geographic location(s).
Because in some examples media slices and/or media segments are distributed within the example system ofFIG. 1, the system ofFIG. 1 may include any number of redundant and/or backup media devices associated with any of the example media devices101-106, three of which are illustrated inFIG. 1 withreference numerals101A,104A and105A. In the illustrated example ofFIG. 1, theredundant media devices101A,104A and105A mirror and/or duplicatively store and/or retain the media segments and/or media slices stored and/or retained by their associated media device, that is, theexample media devices101,104 and105, respectively.
Using any of a variety of protocol(s), method(s) and/or technique(s) such as a “still alive” message, the exampleredundant media devices101A,104A and105A monitor the state of their respective and/or associated media device, and if their associated media device, for example, fails, shuts down, experiences a power failure, loses communicative coupling to the other media devices101-106, or has an error, the exampleredundant media device101A,104A or105A replace their associated media device with respect to the other media devices101-106. When and/or if, for example, a failedmedia device101,104 or105 is repaired or regains power, the associated redundant media device can re-establish the state of themedia device101,104 or105 such that themedia device101,104 of105 can resume distributed communications with the other media devices101-106. While in the example ofFIG. 1, theredundant media devices101A,104A and105A are shown together with their associatedmedia device101,104 and105, theredundant media devices101A,104A and105A need not be geographically co-located with their respective media device.
For any particular piece of media, each of the example media devices101-106 ofFIG. 1 has at least one of the following roles: (a) a “master: indicating that the media device101-106 received the piece of media from a content provider, (b) a “storer” indicating that the media device101-106 is storing at least one media segment and/or media slice associated with the piece of media, (c) a “client” indicating that a user of the media device101-106 wants to view and/or playback a portion of the piece of media and/or a super-program created from and/or with the piece of media or (d) “uninvolved” indicating that the media device101-106 is neither a master, a storer nor a client. A media device101-106 can be a master, a storer and/or a client for a particular piece of media. Moreover, there may be more than one master for any particular piece of media because more than one media device101-106 may receive, store and/or distribute the piece of media. However, as discussed below in connection withFIG. 7, the example media devices101-106 ofFIG. 1 cooperate to reduce the duplicative storage of media slices and/or media segments. In the example ofFIG. 1, a piece of media protected via slicing and distribution will have at least two associated storer media devices101-106.
To track and/or record the availability of pieces of media, media segments and/or media slices, each of the example media devices101-106 ofFIG. 1 utilize, track and/or maintain a directory that includes: (a) a media directory of pieces of media received and recorded and/or stored by the media device101-106 (i.e., pieces of media for which the media device101-106 is a master) and (b) a universal directory of pieces of media received and recorded and/or stored by other media devices101-106. When a media device101-106 records and/or stores a piece of media, the media device101-106 notifies the other media devices101-106 so that they can update their universal directory. The example media devices101-106 use their directory (i.e., their media directory and their compiled universal directory) to present possible media selections to their associated user(s). An example process that may be carried out to share directory information and/or compile a universal directory is discussed below in connection withFIG. 7. Example data structures to store a media directory and a universal directory are discussed below in connection withFIGS. 14 and 17, respectively.
Additionally or alternatively, a universal directory need not be maintained at any of the media devices101-106. Instead, when a user desires to view, select and/or playback a piece of media, a media device101-106 can request media directory information from the other media devices101-106. Alternatively, there could be a central directory that is queried when directory information is needed.
To facilitate updates of their universal directories, media slice distribution, media slice and/or media segment collection, each of the example media devices101-106 ofFIG. 1 maintain a list of media devices to which they are currently communicatively coupled and/or able to share directory information, media slices and/or media segments (i.e., a device list). An example process that may be carried out to collect information about other media devices101-106 is discussed below in connection withFIG. 6. An example device list data structure is discussed below in connection withFIG. 18.
To facilitate the exchange, transmission and/or reception of directory information and/or information regarding other media devices101-106, the example media devices101-106 utilize, send and/or receive any of a variety of messages. Example messages are discussed below in connection withFIGS. 19 and 20.
FIG. 2 is an example manner of implementing any of the example media devices101-106,101A,104A and105A ofFIG. 1. However, for ease of discussion, the example device ofFIG. 2 will be referred to amedia device101. In general, circuitry, modules and/or components inside themedia device101 receive information from one or more sources. Decoding circuitry, modules and/or components receive the media stream and perform video/audio processing operations such as decryption, de-multiplexing and/or decompression (i.e., decoding). Optionally, distributed media circuitry, module and/orcomponents205 can slice and/or identify one or more portions of a received media stream into media slices and distribute the media slices amongst two or more media devices102-106 and, possibly, themedia device101, and/or form a media stream by collecting and aggregating distributed media slices, and/or collecting and aggregating media segments. One or more processor(s), microprocessor(s) or central processing unit(s) (CPU)211 of acontroller module210 controls the overall operation of theexample media device101, including the selection of parameters, the set-up and control of components, channel selection, and many other functions of theexample media device101 ofFIG. 2.
In one example, L-band RF signals from a satellite/relay (e.g., the example satellite/relay135 ofFIG. 1) via a low-noise block (LNB) that amplifies and frequency downconverts the received signals (not shown) and/or a RF input signal received via any variety of cable TV signal(s) and/or terrestrial broadcast(s), and convert the signals back into a digital media bitstream (i.e., a media stream). Additionally or alternatively, themedia device101 can also receive a media stream via theInternet125.
More specifically, theexample media device101 ofFIG. 2 includes the distributedmedia module205, thecontroller module210, any of a variety offront end modules215, any of a variety oftransport modules220, any of a variety of security devices such as asmart card225, any of a variety ofdecrypters230, any of a variety ofstream replicators235, any of a variety ofdisplay modules240, any of a variety offront panel modules245, a power supply (not shown), any of a variety of storage and/orstorage devices250, and any of a variety of network interfaces255. As further shown inFIG. 2, a 27 megahertz (MHz)clock signal generator260 is also provided. Theclock generator260 generates a clock signal that is coupled to various components of theexample media device101 and may be frequency-calibrated by a signal received from thefront end215.
The examplefront end module215 and theexample transport module220 ofFIG. 2 are controlled by thecontroller module210 and may be implemented using any of a variety of technique(s), device(s), circuit(s) and/or component(s). In general, thefront end module215 is compatible with the modulation scheme utilized for anincoming RF signal216, and thetransport module220 is compatible with the distribution, framing, packetization, protocol(s) and/or data structure(s) employed by acontent provider110 to distribute amedia stream222 via theRF signal216. An examplefront end module215 andexample transport module220 are implemented in accordance with the DIRECTV direct-to-home system. More specifically, thefront end module215 implements, among other things, a tuner and a demodulator, and thetransport module220 implements, among other things, a de-framer, a de-packetizer and/or an FEC decoder. As illustrated inFIG. 2, theexample transport module220 also extracts a conditional access (CA) stream (if there is one present) and/or themetadata224 for each piece of media.
Another examplefront end module215 receives an analog or digital cabletelevision broadcast signal210 via a splitter (not shown) that is coupled to an antenna or a cable/terrestrial broadcast system and implements an Advanced Television Systems Committee (ATSC)/National Television System Committee (NTSC) tuner, an NTSC decoder and a vestigial side band (VSB) demodulator to convert received information into a digital bitstream that can be converted by thetransport module220 into themedia stream222 based on the protocol(s), data structure(s), framing and/or packetization implemented by thecontent provider110. As illustrated inFIG. 2, thetransport module220 may, additionally or alternatively, receive a video signal via thenetwork interface255. For example, thetransport module220 may receive an IP TV based signal and remove IP packetization to form themedia stream222.
If themedia stream222 was encrypted by thecontent provider110, themedia device101 ofFIG. 2 may optionally decrypt theencrypted media stream222. To decrypt anencrypted media stream222, theexample media device101 ofFIG. 2 includes any of a variety of security devices such as thesmart card225 and any of a variety ofdecypters230. Using any of a variety of method(s), algorithm(s) and/or technique(s) such as a cryptographic hash, the examplesmart card225 ofFIG. 2 extracts one or more decryption secrets and/orkeys227 from theCA stream224 and provides the secrets and/orkeys227 to thedecrypter230. The examplesmart card225 ofFIG. 2 is accessed via a smart card reader (not shown) associated with the examplefront panel module245.
Using any of a variety of method(s), algorithm(s) and/or technique(s), theexample decrypter230 ofFIG. 2 decrypts theencrypted media stream222 using the decryption secrets and/orkeys227 determined by thesmart card225. If themedia stream222 is not encrypted and/or if themedia stream222 is to be left encrypted, theexample decrypter230 ofFIG. 2 can be bypassed and/or disabled.
To support simultaneous demands on an incoming media stream222 (e.g., viewing simultaneous with storage and/or slicing and distribution), theexample media device101 ofFIG. 2 includes any of a variety ofstream replicators235. Theexample stream replicator235 is able to queue, buffer and/or distribute one or moreincoming media streams222 and/or media segments of a media stream222 (e.g., as determined by metadata associated with the media stream222) to and/or amongst two or more destinations such as themedia display module240, thestorage250 and the distributedmedia module205. In the example ofFIG. 2, the two or more destinations may receive time shifted versions of themedia stream222 to support, for example, trick playing. In the example ofFIG. 2, media segments of anincoming media stream222 that are not to be sliced and/or distributed can be stored directly onto thestorage250. As illustrated inFIG. 2, thestream replicator235 can also queue, buffer and/or distribute a media stream created by the example distributedmedia module205.
An example manner of implementing the example distributedmedia module205 ofFIG. 2 is discussed below in connection withFIG. 4. In one example, the distributedmedia module205 ofFIG. 2 receives a stream of encoded audio/video (A/V) data (i.e., a media stream) from thestream replicator235, slices the media stream to form media slices, and distributes the media slices amongst two or more media devices101-106 via thenetwork interface255. In the example system ofFIG. 2, media slices are distributed amongst the media devices101-106 in a substantially random fashion to thwart attempts to steal pieces of media. However, media slices may be distributed in accordance with any of a variety of method(s), algorithm(s) and/or policy(-ies). In the example system ofFIG. 1, one of the two or more media devices101-106 may be themedia device101 doing the splitting and distributing. The example distributedmedia module205 can also collect and aggregate media slices from two or more media devices101-106 (including itself) to re-constitute a media stream, a piece of media and/or a media segment that is then displayed via the examplemedia display module240.
In another example, the example distributedmedia module205 ofFIG. 2 is able to determine, select and/or cause a user to be prompted to select a piece of media and/or one or more media segments, the distributedmedia module205 then collects (possibly from one or more media devices101-106) and aggregates the selected media segments to form a media stream (e.g., a super-program) that is then displayed via the examplemedia display module240.
In yet another example, one or more media segments of a super-program contain media slices that are distributed amongst two or more media devices101-106. Thus, in addition to collecting and aggregated non-sliced media segments, the example distributedmedia module205 ofFIG. 2 is able to collect and aggregate one or more media slices that make up one or more of the media segments of a super-program.
To facilitate playback of pieces of media, media segments, media slices, super-programs and/or themedia stream222, theexample media device101 ofFIG. 2 includes any of a variety ofmedia display modules240. Anexample display module240 ofFIG. 2 receives a media stream of encoded A/V data (i.e., a media stream) from theexample stream replicator235 via volatile storage241 (e.g., one or more dynamic random access memories (DRAMs)) that stores and/or buffers the media stream prior to playback, and any of a variety of decoders to decode the received encoded A/V data, as needed. While theexample storage241 is shown separate from thestream replicator235, themedia display module240 and/or the example distributedmedia module205, any of thestorage241 may be implemented by and/or within any of thestream replicator235, themedia display module240 and/or the example distributedmedia module205.
An example video decoder reads the encoded video data from thestorage241, parses it, obtains quantized frequency domain coefficients, and then performs an inverse quantization, an inverse discrete cosine transform (DCT) and motion compensation. At this point, an image is reconstructed in the spatial domain and stored in a frame buffer (not shown). At a later time, the image is read out of the frame buffer and passed to any of a variety of encoder (not shown). An example video encoder converts the digital video signals to, for example, an analog signal according to the NTSC standard or to another desired output protocol (e.g., a protocol defined by the ATSC), thereby allowing video to be received by a display device via an A/V output signal242. Alternatively or additionally, thedisplay module240 may generate graphics that allow, for example, an electronic program guide to be displayed.
To receive inputs and provide outputs, the illustratedexample media device101 ofFIG. 2 includes any of a variety offront panel modules245 that provide an interface between theexample controller module210 and a plurality of input and/or output devices (e.g.,devices246,247 and248). To receive user inputs and/or selections from a remote control, themedia device101 includes an infrared (IR)receiver246. In addition, support for a RF remote control, e.g. that uses UHF frequencies instead of IR frequencies, may be offered through a RF receiver module (not shown). A user may also provide inputs and/or control theexample media device101 via one or more buttons (e.g., power on/off, play, etc.)247 physically located on themedia device101. To provide user prompts, status, date, time, etc. information to a user, the illustrated example includes any of a variety ofdisplay devices248, such as a liquid crystal display (LCD).
Theexample controller module210 ofFIG. 2 may be implemented using any of a variety of techniques, devices, components and/or circuits. Anexample controller module210 includes one of any variety of microprocessors, processors, controllers,CPUs211, an electronically erasable programmable read only memory (EEPROM)212 and/orflash memory213 to store, for example, machine accessible instructions that may be executed by theCPU211, and a static random access memory (SRAM)214 to store data and/or variables used and/or accessed by theCPU211.
Theexample storage250 ofFIG. 2 may be implemented by any variety of volatile and/or non-volatile data and/or media store(s) and/or device(s) such as, for example, any of a combination of hard disk drive(s) (HDD), VCR cassette(s), DVD(s), compact disc(s) (CD), flash memory and/or RAM devices. Theexample storage250 may be used to store, among other things, media streams, pieces of media, media slices, media segments and/or any of the media device's directory. In the example ofFIG. 2, thestorage250 is used to store the media device's media directory (i.e., the list of media stored and/or recorded by themedia device101.
To communicatively couple themedia device101 to any other media devices102-106 via a LAN (e.g., theexample LAN140 ofFIG. 1) and/or theInternet125, theexample media device101 ofFIG. 2 includes any of a variety of network interfaces255. Theexample network interface255 ofFIG. 2 implements any of a variety of wired and/or wireless Ethernet interfaces in accordance with any of a variety of current and/or future Ethernet standards such as the Institute of Electronics and Electrical Engineers (IEEE) 802.11x or 802.3x standards. Additionally or alternatively, thenetwork interface255 implements any of a universal serial bus (USB) interface, an IEEE 1394 (a.k.a. firewire) interface, a serial and/or parallel interface, a voice-band and/or integrated services digital network (ISDN) modem connected to a conventional public switched telephone network (PSTN), a broadband wired connection (e.g., via an asymmetric digital subscriber line (ADSL) modem or cable modem), and/or a leased transmission facility (e.g., adigital signal level 1 circuit (a.k.a. a DS1), a fractional-DS1, etc.).
FIG. 3 illustrates an alternative implementation of theexample media device101 ofFIG. 2. Theexample media device101 ofFIG. 3 has a PC-based architecture. As shown, theexample media device101 ofFIG. 3, which receives an input from an LNB, includes any variety of cable and/orsatellite receiver card305, any of a variety of audio/video cards310 and any of a variety ofnetwork cards315, each of which may be coupled to amotherboard320. The video/audio decoder card310 could, of course, be integrated with thereceiver card305 or themotherboard320, and/or thenetwork card315 may be integrated into themotherboard320. Theexample media device101 ofFIG. 2 also includes any of a variety of smart card reader(s)325 and any of a variety of HDD(s)330 that may be coupled to themotherboard320 and/or integrated with theexample cards305,310 and/or315.
The example cable and/orsatellite receiver card305 ofFIG. 3 includes a front end (e.g., the examplefront end215 ofFIG. 2) and a transport module (e.g., the example transport module220). The implementation and/or interconnection of these devices are substantially the same as shown and described in conjunction withFIG. 2 and, thus, are not discussed here. Instead, identical elements are illustrated with identical reference numerals inFIGS. 2 and 3, and the interested reader is referred back to the descriptions presented above in connection withFIG. 2.
The example audio/video decoder card310 ofFIG. 3 includes any of a variety of audio/video decoders311, any of a variety of optional NTSC and/orATSC output drivers312 and any of a variety of video graphics adapter (VGA)output drivers313. As described below in detail, theexample receiver card305 can receive satellite signal received via the LNB and/or a broadcast TV signal, and the example audio/video card310 can decode a received signal provided by thereceiver card305.
In one configuration, thetransport module220 passes audio/video data to thedecoder311 of the example video/audio decoder card310. Additionally or alternatively, the data may be stored in system RAM (not shown) for buffering, and the video/audio decoder311 retrieves the data from RAM as needed. For video data, the audio/video decoder311 reads in the encoded video data from its RAM, and, using any of a variety of technique(s) and/or method(s), decodes the encoded video data and stores the resulting video data in a frame buffer in the video decoder's RAM. At a later time, the image may be read out of the frame buffer and passed through the display circuitry to theVGA output driver313 and/or optionally, to the NTSC and/orATSC output driver312, the output of which may be coupled to a display device. The display circuitry may also generate graphics and text for a graphical user interface (GUI), such as an electronic program guide, to be displayed.
In the example ofFIG. 3, thenetwork card315 implements theexample network interface255 ofFIG. 2. Likewise, theexample HDD330 ofFIG. 3 implements theexample storage250 ofFIG. 2.
In the example ofFIG. 3, the example distributedmedia module205 ofFIG. 2 is implemented as machine readable instructions executed by one or more processors (not shown) associated with themotherboard320. The distributedmedia module205 ofFIG. 3 may also be implemented as any combination of hardware, software, and/or firmware on themotherboard320 and/or elsewhere in theexample media device101 ofFIG. 3.
Although not shown, any one or more of theexample cards305,310,315 and/or320 may include one or more processors to execute machine readable instructions that may be used to implement the example methods, processes, apparatus, and/or systems described herein. Also, the allocation of memory and control functions may be divided between thecards305,310,315 and/or320 of theexample media device101 ofFIG. 3. Thus, a substantial amount, or possibly all, of the control and memory functions for operation of the disclosed system may be integrated within a single card, or alternatively, may be incorporated within and/or into thePC motherboard320.
Whileexample media devices101 have been illustrated inFIGS. 2 and 3, the elements, modules, logic, sub-systems and/or devices illustrated inFIGS. 2 and/or3 may be combined, re-arranged, eliminated and/or implemented in any of a variety of ways. Further, theexample transport module220, theexample decrypter230, theexample stream replicator235, theexample display module240, the example distributedmedia module205 and/or theexample media devices101 ofFIGS. 2 and/or3 may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Moreover, theexample media devices101 may include additional elements, modules, logic, sub-systems and/or devices than those illustrated inFIGS. 2 and/or3 and/or may include more than one of any or all of the illustrated elements, modules, sub-systems and/or devices.
FIG. 4 illustrates an example manner of implementing the example distributedmedia module205 ofFIGS. 2 and/or3. For simplicity of understanding, the following discussions will be made with respect to a particular media device (e.g., theexample media device101 ofFIGS. 1,2 and/or3). Accordingly, other media devices to which theexample media device101 may be communicatively coupled are subsequently referred to as the media devices102-106 (i.e., other media devices102-106). Persons of ordinary skill in the art will readily appreciate that the methods and apparatus discussed below in connection with the example distributedmedia module205 and/or more generally theexample media device101 ofFIGS. 1,2 and/or3 may be similarly applied to and/or implemented by the other example media devices102-106,101A,104A and/or105A. For example, the other media devices102-106,101A,104A and/or105A may implement substantially similar distributedmedia modules205.
To optionally encrypt anincoming media stream405, the example distributedmedia module205 ofFIG. 4 includes any variety ofencrypter410. Using any of a variety of method(s), algorithm(s) and/or technique(s), theexample encrypter410 ofFIG. 4 encrypts theincoming media stream405. In the example ofFIG. 4, theencrypter410 can be bypassed and/or disabled on per media stream basis and/or as configured by acontent service provider110. An encryption secret and/or key used by theexample encrypter410 is selected, determined and/or chosen such that media devices101-106 authorized to playback the media stream and/or piece of media are able to select, determine and/or chose a corresponding decryption secret and/or key such that authorized media devices101-106 can decrypt a subsequently collected and/or aggregated media stream.
Methods and systems to select, determine, share and/or manage content playback authorization, and/or encryption secrets and/or encryption keys amongst media devices, content delivery networks and/or content providers are described in U.S. patent application Ser. No. 11/434,404 entitled “Secure Content Transfer Systems and Methods to Operate the Same” and filed on May 15, 2006; Ser. No. 11/434,437 entitled “Methods and Apparatus to Conditionally Authorize Content Delivery at Receivers in Pay Delivery Systems” and filed on May 15, 2006; Ser. No. 11/433,969 entitled “Methods and Apparatus to Provide Content on Demand in Content Broadcast Systems” and filed on May 15, 2006; Ser. No. 11/433,926 entitled “Methods and Apparatus to Protect Content in Home Networks” and filed on May 15, 2006; Ser. No. 11/434,538 entitled “Methods and Apparatus to Conditionally Authorize Content Delivery at Content Servers in Pay Delivery Systems” and filed on May 15, 2006; Ser. No. 11/434,528 entitled “Methods and Apparatus to Conditionally Authorize Content Delivery at Broadcast Headends in Pay Delivery Systems” and filed on May 15, 2006; and Ser. No. 11/434,082 entitled “Content Delivery Systems and Methods to Operate the Same” and filed on May 15, 2006. All of the above identified patent applications are hereby incorporated by reference in their entirety.
To slice and distribute the media stream405 (possibly after optional encryption by the encrypter410), the example distributedmedia module205 ofFIG. 4 includes a slicer andhopper415. An example manner of implementing the example slicer andhopper415 ofFIG. 4 is discussed below in connection withFIGS. 8 and 9. In one example, the example slicer andhopper415 ofFIG. 4 segments, slices and/or splits themedia stream405 into one or more media slices420. The example slicer andhopper415 can slice themedia stream405 intomedia slices420 having any of a variety of sizes as configured by acontent service provider110 and/or as chosen by an implementer and/or provider of the example system ofFIG. 1 and/or the example distributedmedia module205 ofFIG. 4. The number ofmedia slices420 used to represent any particular piece of media depends upon the length and/or size of the media stream204 associated with the piece of media and the size of the media slices420.
In another example, the example slicer andhopper415 ofFIG. 4 segments themedia stream405 into themedia segments420 as specified by the metadata for the media stream. In the examples ofFIGS. 1,2,3 and/or4,media segments420 can be stored locally (e.g., on theexample storage250 ofFIG. 2), can be sent for storage on other media devices102-106, and/or can be sliced intomedia slices420 and distributed by the example slicer andhopper415 amongst two or more media devices101-106.
The example slicer andhopper415 ofFIG. 4 determines to which of the media devices101-106 (including possibly itself) media slices and/orsegments420 should be distributed based upon a pseudorandom seed and the title and/or program name of the media stream. In the example system ofFIG. 1, an encrypted version of the pseudorandom seed is contained in the metadata for the media stream.
The example slicer andhopper415 ofFIG. 4 may optionally apply forward error correction (FEC) to any or all of the media slices and/orsegments420 to facilitate subsequent recreation of missing and/or corrupted media slices and/orsegments420.
An example slicer andhopper415 ofFIG. 4 causes dummy and/or blank media slices and/orsegments420 to be sent and/or distributed to media devices101-106 for purposes of deception and/or obscuration thereby providing additional protection against content theft and/or piracy. Likewise, the slicer andhopper415 may cause the media slices and/orsegments420 to be sent to the media devices101-106 out of order. For example, the slicer andhopper415 may reorder the media slices and/orsegments420 before providing them to thecommunications controller430, or the slicer andhopper415 may specify to thecommunications controller430 the order in which to send the media slices and/orsegments420.
To optionally encrypt the media slices and/orsegments420, the example distributedmedia module205 ofFIG. 4 includes any variety ofencrypter425. Using any of a variety of method(s), algorithm(s) and/or technique(s), theexample encrypter425 ofFIG. 4 encrypts the individual media slices and/orsegments420. Like theencrypter410, theencrypter425 can be bypassed and/or disabled, and an encryption secret and/or key used by theexample encrypter425 is selected, determined and/or chosen such that media devices101-106 authorized to playback the media stream and/or piece of media are able to select, determine and/or chose the an associated decryption secret and/or key such that authorized media devices101-106 can decrypt collected media segments and/or slices420.
To send media segments and/or media slices to other media devices102-106, the example distributedmedia module205 ofFIG. 4 includes thecommunications controller430. For each, possibly encrypted, media slice and/orsegment420, theexample communications controller430 receives adestination435 such as an IP address from the example slicer andhopper415. Using any of a variety of protocol(s), data structure(s), packet(s), frame(s) and/or message(s), theexample communications controller430 ofFIG. 4 sends the media slices and/orsegments420 to their respective destinations. If a particular media slice and/orsegment420 is to be stored locally on themedia device101, the slicer andhopper415 stores the media slice and/orsegment420 on the storage250 (FIG. 2). Additionally or alternatively, all media slices and/orsegments420 are provided to acommunications controller430, and thecommunications controller430 sends media slices and/orsegments420 to be locally stored to thestorage250.
Theexample communications controller430 also implements any of a variety of transmit and/or receive buffers, and/or flow-control as necessitated by a data rate associated with the media stream and/or a communication bandwidth and/or data rate associated with a communication network to which thecommunications controller430 is coupled. Anexample communications controller430 buffers the media slices and/orsegments420 and sends the media slices and/orsegments420 in a substantially random order relative to the order in which the media slices and/orsegments420 were received at thecommunications controller430.
Based upon source addresses440 provided by a de-slicer andaggregator445, theexample communications controller430 ofFIG. 4 uses any of a variety of protocol(s), data structure(s), packet(s), frame(s) and/or message(s) to receive and/or otherwise obtain media slices and/ormedia segments450 from the media devices101-106 and/or a local storage250 (FIG. 2). Anexample communications controller430 receives and/or obtains the media slices and/orsegments450 in a substantially random order relative to the order in which the media slices and/orsegments450 were requested by and/or are provided to the de-slicer andaggregator445.
Theexample communications controller430 ofFIG. 4 also transmits and/or receives network probe and/or universal directory messages for acontrol module455.
To decrypt received media slices and/orsegments450 that were optionally encrypted by a master media device101-106, the example distributedmedia module205 ofFIG. 4 includes any variety ofdecrypter460. Using any of a variety of method(s), algorithm(s) and/or technique(s), theexample decrypter460 ofFIG. 4 decrypts individually encrypted media slices and/orsegments450.
To collect and aggregate media slices and/ormedia segments450, the example distributedmedia module205 ofFIG. 4 includes the de-slicer andaggregator445. In one example, the example de-slicer andaggregator445 ofFIG. 4 collects two ormore media slices450 from two or more media devices101-106 (including possibly itself) via thecommunications controller430, and aggregates the two ormore media slices450 together to form amedia stream460. In another example, the example de-slicer andaggregator445 ofFIG. 4 collects two ormore media segments450 from one or more media devices101-106 (including possibly itself), and aggregates them together to form themedia stream460. In yet another example, at least one of the two ormore media segments450 is obtained by collecting and aggregating two or more media slices450. The example de-slicer andaggregator445 ofFIG. 4 as rapidly as possible (e.g., at a rate greater than real-time) obtains and aggregates the media slices and/orsegments450 until one or more receive volatile-storage media stream buffers (e.g., theexample storage241 ofFIG. 2) are full. The example de-slicer andaggregator445 then continues obtaining the media slices and/orsegments450 to refill the media stream buffers as they are depleted during playback. Example manners of implementing the example de-slicer andaggregator445 are discussed below in connection withFIGS. 9-13.
The example de-slicer andaggregator445 ofFIG. 4 determines from which of the media devices101-106 (including possibly itself) media slices and/orsegments450 should be obtained based upon a pseudorandom seed and the title and/or program name of the media stream. In the examples ofFIGS. 1,2,3 and/or4, an encrypted version of the pseudorandom seed is contained in the metadata for the media stream. If a particular media slice and/orsegment450 is stored locally on the media device101-106, the de-slicer andaggregator445 can obtain the media slice and/orsegment450 directly from the storage250 (FIG. 2). Additionally or alternatively, all media slices and/orsegments450 are obtained via thecommunications controller430, and thecommunications controller430 obtains locally available media slices and/orsegments450 from thestorage250. The example de-slicer andaggregator445 ofFIG. 4 directs thecommunications controller430 to collect media slices and/ormedia segments450 by providing one ormore source address440 to thecommunications controller430.
The example de-slicer andaggregator445 ofFIG. 4 may optionally apply FEC decoding to any or all of the media slices and/orsegments450 to recreate and/or correct missing and/or corrupted media slices and/orsegments450 and/or missing and/or disabled media devices101-106.
An example de-slicer andaggregator445 ofFIG. 4 causes dummy and/or blank media slices and/orsegments450 to be obtained from the media devices102-106 for purposes of deception and/or obscuration thereby providing additional protection against content theft and/or piracy. Likewise, the de-slicer andaggregator445 may cause the media slices and/orsegments450 to be obtained by thecommunications controller430 out of order.
To decrypt the aggregatedmedia stream460 that was optionally encrypted by a master media device101-106, the example distributedmedia module205 ofFIG. 4 includes any variety ofdecrypter465. Using any of a variety of method(s), algorithm(s) and/or technique(s), theexample decrypter465 ofFIG. 4 decrypts themedia stream460. Becausemedia segments450 may have been separated encrypted, theexample decrypter465 ofFIG. 4 may decryptindividual media segments450 rather than operating on themedia stream450 as a whole.
Thedecrypters460 and465 and/or, more generally, a media device101-106 to which thedecrypters460 and465 belong obtain the encryption secret(s) and/or encryption key(s) necessary to decrypt the media slices and/orsegment450 and/or themedia stream460 using any of a variety of method(s), protocol(s) and/or technique(s). In the example system ofFIG. 1, whether the requisite encryption secret(s) and/or key(s) for a particular piece of media, media segment and/ormedia slice450 are obtainable by a particular media device101-106 depends upon whether the media device101-106 is authorized to obtain, aggregate and/or playback the piece of media, media segment and/or media slice.
To transcode one or more portions of themedia stream460, the example distributedmedia module205 ofFIG. 4 includes any of a variety oftranscoders470. Using any of a variety of method(s), algorithm(s) and/or technique(s), theexample transcoder470 decodes and re-encodes (i.e., transcodes) and/or adjust timestamps associated with one or more portions of themedia stream460 to form anoutput media stream475. In particular, because themedia segments450 of a piece of media and/or super-program may be obtained from different media devices101-106 and/or may have been recorded by different media devices101-106, themedia segments450 may have differing encoding parameters, data rates and/or picture quality. Accordingly, theexample transcoder470 ofFIG. 4 transcodes one ormore media segments450 such that allmedia segments450 of a particular piece of media have, for example, common encoding parameters, a common data rate, picture size and/or picture quality. Additionally, if twomedia segments450 being placed adjacent in themedia stream475 would result in a discontinuity in the media stream's timestamps, theexample transcoder470 adjusts the media stream's timestamps to provide smooth playback of themedia stream475.
To control the operation of the example distributedmedia module205 ofFIG. 4, the distributedmedia module205 includes thecontrol module455. Theexample control module455 ofFIG. 4 is responsible for overall management of the example distributedmedia module205 and provides directory information and/or listings of available pieces of media that may be presented to a user. As discussed below, the directory information includes metadata for the available pieces of media to facilitate the obtainment of pseudorandom seeds. Example manners of implementing theexample control module455 ofFIG. 4 are discussed below in connection withFIGS. 5-7.
To maintain a media directory485 (e.g., for pieces of media and/or media segments for which themedia device101 ofFIGS. 2 and/or3 is a master) and a universal directory486 (e.g., for pieces of media and/or media segments recorded by other media devices102-106), theexample control module455 ofFIG. 4 includes adirectory manager480. Theexample directory manager480 ofFIG. 4 transmits, receives and/or exchanges directory information, directory updates and/or directory related messages with other media devices102-106 via theexample communications controller430. Based upon metadata for media received with pieces of media at themedia device101, theexample directory manager480 maintains itsmedia directory485 and sends media directory change information to other media devices102-106 to which themedia device101 is communicatively coupled. Based upon directory information received from the other media devices102-106, theexample directory manager480 ofFIG. 4 maintains and/or updates itsuniversal directory486. An example manner of implementing theexample directory manager480 is discussed below in connection withFIGS. 5 and 7. Example messages that may be used to transmit, send and/or exchange directory information are discussed below in connection withFIGS. 19 and 20.
Theexample directory manager480 ofFIG. 4 provides information from themedia directory485 and/oruniversal directory486 to theexample controller module210 ofFIG. 2 upon request. The example slicer andhopper415 and the example de-slicer andaggregator445 ofFIG. 4 use program titles and/or names, and encrypted pseudorandom seeds from metadata stored and maintained in themedia directory485 and/oruniversal directory486. For example, for a piece of media recorded by another media device102-106 and comprised of media slices to be collected and aggregated, the example slicer and hopper415 (a) obtains the program name from the metadata data for the piece of media from itsuniversal directory486, (b) obtains the encrypted pseudorandom seed from the metadata data, (c) sends the encrypted pseudorandom seed to the smart card225 (FIG. 2) to obtain the pseudorandom seed and (d) determines the sequence of media devices101-106 from which the media slices should be obtained based on the pseudorandom seed and the program title.
Themedia directory485 and theuniversal directory486 may be stored using any of a variety of table(s), data structure(s) and/or database(s) that are stored in, for example, any of a variety of memory(-ies) and/or machine accessible file(s)487. In the example system ofFIG. 1, a media device'smedia directory485 is stored in non-volatile storage such as the storage250 (FIG. 2) while itsuniversal directory486 is stored in volatile storage and/or buffer such as a RAM associated with thecontrol module455 and/or the controller module210 (FIG. 2), and/or theexample storage241. Additionally or alternatively, themedia directory485 and theuniversal directory486 may be stored together in a common data structure. Example data structures for storing themedia directory485 and theuniversal directory486 are discussed below in connection withFIGS. 14 and 17, respectively.
To maintain alist495 of media devices101-106 to which aparticular media device101 is communicatively coupled, theexample control module455 ofFIG. 4 includes anetwork probe490. Theexample network probe490 ofFIG. 4 transmits, receives and/or exchanges messages to determine which media devices102-106 are active and/or to which of the media devices102-106 themedia devices101 is currently communicatively coupled. Thenetwork probe490 ofFIG. 4 updates itsdevice list495 in response to messages received from other media devices102-106. An example manner of implementing theexample network probe490 is discussed below in connection withFIGS. 5 and 6. Example messages that may be used to transmit, send and/or exchange directory information are discussed below in connection withFIGS. 19 and 20.
Thedevice list495 may be stored using any of a variety of table(s), data structure(s) and/or database(s) that are stored in, for example, any of a variety of memory(-ies) and/or machine accessible file(s)497. In the example ofFIG. 4, the device list394 is stored in volatile storage and/or buffer such as a RAM associated with thecontrol module455 and/or the controller module210 (FIG. 2), and/or theexample storage241. An example data structure for storing thedevice list495 is discussed below in connection withFIG. 18.
While an example distributedmedia module205 has been illustrated inFIG. 4, the elements, modules, logic, sub-systems and/or devices illustrated inFIG. 4 may be combined, re-arranged, eliminated and/or implemented in any of a variety of ways. Further, theexample encrypter410, the example slicer andhopper415, theexample encrypter425, theexample communications controller430, the example de-slicer andaggregator445, theexample control module455, theexample decrypter460, theexample decrypter465, theexample transcoder470, theexample directory manager480, the example network probe and/or the example distributedmedia module205 ofFIG. 4 may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Moreover, the example distributedmedia module205 may include additional elements, modules, logic, sub-systems and/or devices than those illustrated inFIG. 4 and/or may include more than one of any or all of the illustrated elements, modules, sub-systems and/or devices.
FIGS. 5,6,7,8,9,10,11,12 and13 are flowcharts representative of example processes that may be carried out to implement the example distributedmedia module205 and/or, more generally, the example media devices101-106 ofFIGS. 1,2,3 and/or4 to perform distributed media-protection and/or distributed media-aggregation. The example processes ofFIGS. 5,6,7,8,9,10,11,12 and/or13 may be executed by a processor, a controller and/or any other suitable processing device (e.g., theexample CPU211 discussed above in connection withFIG. 2, a processor associated with theexample motherboard320 discussed above in connection withFIG. 3, and/or anexample processor2105 discussed below in connection withFIG. 21). For example, the example processes ofFIGS. 5,6,7,8,9,10,11,12 and/or13 may be embodied in coded instructions stored on a tangible medium such as a flash memory, read-only memory (ROM) and/or RAM associated with the processor. Alternatively, some or all of the example processes ofFIGS. 5,6,7,8,9,10,11,12 and/or13 may be implemented using any of a variety of application specific integrated circuit(s) (ASIC), programmable logic device(s) (PLDs), field programmable logic device(s) (FPLD), discrete logic, discrete gate(s), register(s), hardware, firmware, etc. Also, some or all of the example processes shown in the flowcharts ofFIGS. 5,6,7,8,9,10,11,12 and/or13 may be implemented manually or as combinations of any of the foregoing techniques, for example, a combination of firmware and/or software and hardware. Further, although the example processes ofFIGS. 5-13 are described with reference to the flowcharts ofFIGS. 5-13, persons of ordinary skill in the art will readily appreciate that many other methods of implementing the example distributedmedia module205 and/or, more generally, the example media devices101-106 ofFIGS. 1,2,3 and/or4 may be employed. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, sub-divided, or combined. Additionally, persons of ordinary skill in the art will appreciate that the example processes ofFIGS. 5,6,7,8,9,10,11,12 and/or13 may be carried out sequentially and/or carried out in parallel by, for example, separate processing thread(s), processor(s), device(s), circuit(s), etc.
FIG. 5 is a flowchart representative of an example process that may be carried out to initialize a distributed media module (e.g., the example distributedmedia module205 ofFIGS. 2,3 and/or4). The example process ofFIG. 5 begins when a distributed media module is initialized and/or powered on. The distributed media module (e.g., theexample controller module455 ofFIG. 4) waits for communications link to, for example, theInternet125 and/or aLAN140 to be present and active (block505). Once a communications link is present and active (block505), the distributed media module activates a server mode indicating that the distributed media module and/or, more generally, the media device to which the distributed media module belongs is able to participate in and/or utilize distributed media-protection and/or distributed media-aggregation (block510).
The controller module clears its device list (e.g., theexample device list495 ofFIGS. 4 and/or18) (block515), sends an announcement (e.g., theexample announcement2025 ofFIGS. 19 and 20) via its network interface (e.g., theexample network interface255 ofFIG. 2) (block520) and waits for a response (e.g., theexample response2025 ofFIGS. 19 and 20) from at least one other media device102-106 (block525). When the controller module receives at least one response to its announcement (block525), the controller updates its device list based on the received responses (block530).
If the controller module has an active and/or available communication link and/or signal to receive media from a content provider (e.g., a satellite signal) (block535), the controller module activates a master mode indicating that the distributed media module and/or, more generally, the media device to which the distributed media module belongs is able to receive pieces of media, slice and/or segment pieces of received media and/or provide and/or distribute media slices and/or segments to other media devices102-106 (block540).
The controller module then starts a directory manager (e.g., theexample directory manager480 ofFIG. 4) by, for example, initiating a software thread that carries out the example process illustrated inFIG. 7 (block545) and starts a network probe (e.g., theexample network probe490 ofFIG. 4) by, for example, initiating a software thread that carries out the example process illustrated inFIG. 6 (block550). Control then exits from the example process ofFIG. 5.
FIG. 6 is a flowchart representative of an example process that may be carried out to implement a network probe (e.g., theexample network probe490 ofFIG. 4). The example process ofFIG. 6 monitors the state of media source link(s) from content provider(s), a network link to one or more other media devices102-106 and maintains a list of network devices (e.g., theexample network list495 ofFIGS. 4 and/or18).
If the state of its media source link(s) from content provider(s) (e.g., a satellite signal) has changed (e.g., was not available but is now not available, or vice versa) (block605), the network probe accordingly activates or de-activates its media master mode (block610). Control then proceeds to block615. If the state of its media source link(s) has not changed (block605), control proceeds to block615 without changing the media master mode.
If the network link is no longer active (block615), control exits from the example process ofFIG. 6 to, for example, the example initialization process ofFIG. 5 to wait for the network link to become active (block620). If the network link is still active (block615), control proceeds directly to block625. Alternatively and/or additionally, any of a variety of error handling could be performed atblock620.
If it is time to broadcast a network probe (e.g., the example probe2020 ofFIGS. 19 and 20) (block625), the network probe broadcasts a network probe (block630). Control then proceeds to block635. If the time to broadcast a network probe has not arrived (block625), control proceeds to block635 without broadcasting a probe. The network probe may broadcast probes periodically and/or aperiodically. An example network probe checks the state of a countdown timer atblock625 so that a network probe is periodically broadcast.
If a network message is not received (block635), control returns to block605 to check the state of its media source link(s) (block605). If an offline message (e.g., the example offline2030 ofFIGS. 19 and 20) is received from a media device, a delete message (e.g., the example2035 ofFIGS. 19 and 20) is received from a media device and/or communications to a media device has timeout due to repeated failures to response to a broadcast probe (e.g., failure to respond to three (3) probes) (block635), the network probe removes the media device from its device list (e.g., theexample device list495 ofFIGS. 4 and/or18) (block650).
If an announce (e.g., the announce2020 ofFIGS. 19 and 20) is received from a media device or a response (e.g., the response2020 ofFIGS. 19 and 20) is received from a media device (block635), the network probe determines if the media device is in its device list (block640). If the media device is in its device list (block640), control returns to block605 to check the state of its media source link(s) (block605). If the media device is not in its device list (block640), the network probe adds the media device to its device list (block645). Control then returns to block605 to check the state of its media source link(s) (block605).
FIG. 7 is a flowchart representative of an example process that may be carried out to implement a directory module (e.g., theexample directory manager480 ofFIG. 4). The example process ofFIG. 7 sends information from a media directory (e.g., theexample media directory485 ofFIGS. 4 and/or14) for media for which themedia device101 is a master to other media devices102-106 and maintains and/or updates a universal directory (e.g., the exampleuniversal directory486 ofFIGS. 4 and/or17) based upon directory information received from the other media devices102-106.
The example process ofFIG. 7 begins with a directory manager clearing and/or initializing its universal directory information (block705) and broadcasting a request for universal directory information (e.g., theexample request2040 ofFIGS. 19 and 20) (block710).
If universal directory information is received from one of the other media devices102-106 (block715), the directory manager updates its universal directory (block720). Control then proceeds to block725. If universal directory information is not received (block720), then control proceeds to block725 without updating the universal directory.
If a selection has not been made to store and/or record a piece of media (block725), control returns to block715 to check if universal directory information was received. If selection has been made to store and/or receive a piece of media (block725), the directory manager broadcasts a directory update message (e.g., theexample update2055 ofFIGS. 19 and 20) and waits to allow other media devices102-106 to respond (block735).
After waiting (block735), the directory manager determines if any media Devices102-106 responded with a response message (e.g., theresponse2045 ofFIGS. 19 and 20) (block740). If no responses are received indicating that another media device102-106 has already stored and/or recorded the selected piece of media (block740), the directory manager updates its media directory (e.g., theexample media directory485 ofFIGS. 4 and/or) to include the piece of media to be recorded and/or stored (block745) and starts storage and/or recording of the selected piece of media by initiating, for example, the example process ofFIGS. 8 and 9 (block750).
If a response is received from a media device102-106 indicated that it will and/or has already stored and/or recorded the selected piece of media (block740), the directory manager prompts and/or causes the user to be prompted (block755). An example prompt inquires whether the selected piece of media should be recorded anyway.
If the user indicates that the piece of media should be recorded anyway (block760), control proceeds to block745 to update the media directory and then starting recording. If user does not indicate that the piece of media should be recorded anyway (block760), control returns to block715 without recording or storing the selected piece of media.
Additionally or alternatively, the directory manager atblock760 may not allow a user to record an already recorded and/or stored piece of media. For example, a content provider may configure one or more of the media devices101-106 to never duplicatively store and/or record a piece of media.
FIG. 8 is a flowchart representative of an example process that may be carried out to store and/or record a piece of media by creating and distributing media slices. The example process ofFIG. 8 begins when a piece of media is selected for recording and/or storing. For instance, the example process ofFIG. 8 may be carried out as part of, separate from and/or as initiated by the example process ofFIG. 7.
A slicer and hopper (e.g., the example slicer andhopper415 ofFIG. 4) sets a local variable PROG equal to the name and/or name of the program (i.e., piece of media) to be recorded and/or stored (block810) and resets and/or clears a HOP_HASH variable to known state such as zero (0) (block815).
Using the encrypted pseudorandom seed from the metadata for the program and a security device (e.g., the examplesmart card225 ofFIG. 2), the slicer and hopper obtains the pseudorandom seed for the program (block820).
Using, for example, the example process ofFIG. 9, the slicer and hopper computes a set of destinations (e.g., eight (8) destinations for the next eight (8) media slices) (block825). The example process ofFIG. 9 returns an eight (8) byte HOP_SEQ, where each of the bytes of HOP_SEQ represents a destination for a media slice. The example process ofFIG. 9 may, of course, return any number of destinations (e.g., sixteen (16)) using any of a variety of data types (e.g., sixteen (16) 32-bit words). The slicer and hopper sets a variable INDEX to zero (0) (block830).
The slicer and hopper forms and/or creates the next media slice (block835) and sends the created media slice to the media device101-106 based on byte #INDEX of HOP_SEQ via the communications controller430 (block840). If there is at least one more media slice to be created for the piece of media (block845) and if the value of INDEX is less then seven (7) (block850), the value of INDEX is incremented (block855). Control then returns to block835 to create and send the next media slice.
Returning to block850, if INDEX is equal to seven (7) (block850), control returns to block825 to compute a new HOP_SEQ.
Returning to block845, if there are no more media slices to create and/or send (block845), control exits from the example process ofFIG. 8.
FIG. 9 is a flowchart representative of an example process that may be carried out to compute a hop sequence for distributing media slices. The example process ofFIG. 9 returns an eight (8) byte HOP_SEQ variable, where each of the bytes of HOP_SEQ represents a destination for a media slice. The example process ofFIG. 9 may, of course, return any number of destinations (e.g., sixteen (16)) using any of a variety of data types (e.g., sixteen (16) 32-bit words).
The example process ofFIG. 9 begins by clearing a flag PAD (e.g., setting its value to FALSE) (block905). If the variable PROG contains at least eight (8) bytes (block910), PROG is right shifted by eight (8) bytes (block915). If the variable PROG holds less than eight (8) bytes (block910), PROG is left padded to eight (8) bytes with, for example, zeros (block920) and sets the flag PAD (e.g., setting its value to TRUE) (block925).
HOP_HASH is updated by computing an exclusive OR (i.e., XOR) of each of eight (8) bytes of HOP_HASH with respective ones of the lower bytes of PROG (block930). HOP_SEQ is computed as an XOR of each of the eight (8) bytes of HOP_HASH with respective bytes of the pseudorandom seed for the piece of media (block935). Next the value of each of the eight (8) bytes of HOP_SEQ modulo the number of present devices in the media device's device list is computed (block940).
If the PAD flag is set (block945 PROG is reloaded with the program name and/or title of the piece of media being recorded (block950). Control then returns HOP_SEQ from the example process ofFIG. 9 to, for example, the example process ofFIGS. 8 or11. If the PAD flag is not set (block945), then control returns HOP_SEQ from the example process ofFIG. 9 to, for example, the example process ofFIGS. 8 or11.
While an example process for computing a hop sequence is illustrated inFIG. 9, any of a variety of hop sequence computing and/or determining method(s), technique(s) and/or algorithm(s) may be used. An example process ensures that sequential media slices are not stored on the same media device to ensure that FEC protection is adequate to bridge a failed media device. Another example process factors in the remaining storage capacity of a media device. Another example process stores a large portion of the media slices on the master media device and distributes a small number of media slices for protection purposes. Other examples abound.
FIG. 10 is a flowchart representative of an example process that may be carried out to view distributed media. The example process ofFIG. 10 collects distributed media slices, aggregates the collected media slices and starts playback of the assembled media stream. The example process ofFIG. 10 begins with a media device (e.g., the example media device101) displaying a list of available pieces of media for playback (block1005). The displayed list of available pieces of media contains any of the pieces of media listed in the media device's directory (e.g., theexample media directory485 ofFIGS. 4 and/or14) and/or the media device's universal directory (e.g., the exampleuniversal directory486 ofFIGS. 4 and/or17).
The media device waits for a user to select one of the listed pieces of media (block1010). When a piece of media is selected (block1010), a de-slicer and aggregator (e.g., the example de-slicer andaggregator445 ofFIG. 4) obtains the pseudorandom seed for the program by using the encrypted pseudorandom seed from the metadata for the piece of media and a security device (e.g., the examplesmart card225 ofFIG. 2) (block1015).
If the user and/or the media device is not authorized to view and/or playback the selected piece of media (block1020), control exits from the example process ofFIG. 10. If the user and/or the media device is authorized to view and/or playback the selected piece of media (block1020). In an example, authorization to view and/or playback a piece of media is based on an ability to correctly decrypt the encrypted pseudorandom seed from the metadata. Additionally or alternatively, atblock1005 only those pieces of media that the user and/or themedia device101 are authorized to view and/or playback are listed.
The de-slicer and aggregator starts collecting and aggregating media slices by, for example, carrying out the example process ofFIG. 11 (block1030) and starts playback of the assembled media stream (block1035). Control then exits from the example process ofFIG. 10.
FIG. 11 is a flowchart representative of an example process that may be carried out to collect and aggregate distributed media slices. The example process ofFIG. 11 begins with a de-slicer and aggregator (e.g., the example de-slicer andaggregator445 ofFIG. 4) clearing or resetting a HOP_HASH variable to known state such as zero (0) (block1105) and setting a local variable PROG equal to the name and/or name of the selected piece of media (block1107).
Using, for example, the example process ofFIG. 9, the slicer and aggregator computes the locations where the next eight (8) media slices are stored (block1110). The example process ofFIG. 9 returns an eight (8) byte HOP_SEQ, where each of the bytes of HOP_SEQ represents the location of a media slice. The example process ofFIG. 9 may, of course, return any number of locations (e.g., sixteen (16)) using any of a variety of data types (e.g., sixteen (16) 32-bit words).
The slicer and aggregator sets a variable INDEX to zero (0) (block1115). The slicer and aggregator obtains the next media slice based on byte #INDEX of HOP_SEQ via a communications controller (e.g., theexample communications controller430 ofFIG. 4) (block1120) and adds the obtained media slice to an aggregate media stream (e.g., theexample media stream460 ofFIG. 4) (block1125). If there is at least one more media slice to collect and add to the media stream (block1130) and if the value of INDEX is less then seven (7) (block1135), the value of INDEX is incremented (block1145). Control then returns to block1120 to get the next media slice.
Returning to block1130, if INDEX is equal to seven (7) (block1130), control returns to block1110 to compute a new HOP_SEQ.
Returning to block1130, if there are no more media slices to obtain (block1130), control exits from the example process ofFIG. 11 to, for example, the example process ofFIGS. 10,12 or13.
FIG. 12 is a flowchart representative of an example process that may be carried out to collect media segments to form super-programs. The example process ofFIG. 12 begins with a media device (e.g., the example media device110) determining and displaying a list of available super-programs (block1205).
The media device waits for a user to select one of the listed super-programs (block1210). When a super-program is selected (block1210), a de-slicer and aggregator (e.g., the example de-slicer andaggregator445 ofFIG. 4) determines one or more media segments for the super-program based on, for example, a user profile (block1215). Example media segments selected by the de-slicer and aggregator include one or more commercials and/or advertisements. If there are no user selectable media segments, control proceeds to block1235 to start obtaining media segments. If there are user selectable media segments (block1220), a list of optional media segments is presented to the user (block1225). Example optional media segments include alternative portions of a program, an alternative ending, episodes of a sitcom, etc. Once optional media segments are selected by the user (block1230), control proceeds to block1235 to start obtaining media segments.
Atblock1235, the de-slicer and aggregator obtains a first media segment for the super-program (block1235), transcodes the media segment if necessary (block1240) and adds the possibly transcoded media segment to a media stream (e.g., theexample media stream475 ofFIG. 4) (block1245). Once the first media segment has been added to the media stream, playback of the media stream can begin (block1250). The locations of media segments are determined using the media device's media directory (e.g., theexample media directory485 ofFIGS. 4 and/or14) and/or the media device's universal directory (e.g., the exampleuniversal directory486 ofFIGS. 4 and/or17).
If there are no more media segments to obtain for the super-program (block1255), control exits from the example process ofFIG. 12. If there is at least one more media segment to obtain for the super-program (block1255), control returns to block1235 to obtain the next media segment.
Atblock1210, once a super-program has been selected (block1210), the de-slicer and aggregator may start obtaining media segments that must included as part of the super-program (e.g., the non-commercial portions of a sitcom) even while media segment selections and/or prompting are occurring.
FIG. 13 is a flowchart representative of an example process that may be carried out to collect distributed media slices and/or collect super-program media segments. The example process ofFIG. 13 begins with a media device (e.g., the example media device110) displaying a list of available pieces of media and/or super-programs (block1305).
The media device waits for a user to select one of the listed pieces of media and/or super-programs (block1310). If the selection is not a super-program (block1315), a de-slicer and aggregator (e.g., the example de-slicer andaggregator445 ofFIG. 4) starts the collection and aggregation of media slices by, for example, initiating the example process ofFIG. 11 (block1320) and starts playing the created media stream (block1325). Control then exits from the example process ofFIG. 13.
If a super-program is selected (block1315), the de-slicer and aggregator determines one or more media segments for the super-program based on, for example, a user profile (block1330). Example media segments selected by the de-slicer and aggregator include one or more commercials and/or advertisements. If there are no user selectable media segments, control proceeds to block1350 to start obtaining media segments. If there are user selectable media segments (block1335), a list of optional media segments is presented to the user (block1340). Example optional media segments include alternative portions of a program, an alternative ending, episodes of a sitcom, etc. Once optional media segments are selected by the user (block1345), control proceeds to block1350 to start obtaining media segments.
Atblock1350, the de-slicer and aggregator determines whether the next media segment is sliced and distributed (block1350). If the next segment is sliced and distributed (block1350), the de-slicer and aggregator collects and aggregates the media slices for the media segment using, for example, the example process ofFIG. 11 (block1355). If the next segment is not sliced and distributed (block1350), the de-slicer and aggregator obtains the media segment and transcodes the media segment if necessary (block1360).
The de-slicer and aggregator adds the media segment fromblock1355 or block1360 to a media stream (e.g., theexample media stream475 ofFIG. 7) (block1365). Once a first media segment has been added to the media stream, playback of the media stream can begin (block1370). The locations of media segments are determined using the media device's directory.
If there are no more media segments to obtain for the super-program (block1375), control exits from the example process ofFIG. 13. If there is at least one more media segment to obtain for the super-program (block1375), control returns to block1350 to obtain the next media segment.
Alternatively, atblock1315, once a super-program has been selected (block1315), the de-slicer and aggregator may start obtaining media segments that must included as part of the super-program (e.g., the non-commercial portions of a sitcom) even while media segment selections and/or prompting are occurring.
FIG. 14 illustrates an example data structure for storing a media directory (e.g., theexample media directory485 ofFIG. 4). Theexample media directory485 ofFIG. 14 contains a plurality of entries and/orslots1405 for respective ones of recorded and/or stored pieces of media and/or media segments. The maximum number ofslots1405 is chosen so that theexample media directory485 ofFIG. 14 is an even multiple of a native block size (e.g., a disk sector and/or cluster size) for a particular storage device (e.g., a HDD) upon which themedia directory485 is stored.
To specify the number ofslots1405 of theexample media directory485 that are currently active (i.e., the number of pieces of media current being stored by the example media device), theexample media directory485 ofFIG. 14 includes a header1410 having a slots usedfield1415. The example slots usedfield1415 contains the number of active slots.
To specify a linkage to a seconddirectory data structure485 when the size of adirectory structure485 exceeds a pre-determined limit, the example header1410 ofFIG. 14 includes any of a variety directorycontinuation information field1420. To support future capabilities and/or options, theexample media directory485 ofFIG. 14 includes areserved field1425. To pad the size of theexample media directory485 ofFIG. 14 to a native block size boundary, theexample data structure485 ofFIG. 14 includespadding1430.
To record a unique program identifier, each of theexample entries1405 ofFIG. 14 has aprogram identifier field1435. The exampleprogram identifier field1435 contains any variety of alphanumeric characters, bits, bytes and/or words to uniquely identify a piece of media, media segment and/or super-program.
To record a title and/or name, each of theexample entries1405 ofFIG. 14 has atitle field1440. Theexample title field1440 ofFIG. 14 contains an ASCII based alphanumeric program title.
To record a description, each of theexample entries1405 ofFIG. 14 has adescription field1445. Theexample field1445 ofFIG. 14 contains an ASCII based alphanumeric description of the program.
To record program attributes (e.g., length), each of theexample entries1405 ofFIG. 14 has anattributes field1450. The example attributesfield1450 ofFIG. 14 contains one or more values that represent any of a variety of attributes of the program such as who owns the piece of media or ratings (e.g., to support parental controls).
To record metadata, each of theexample entries1405 ofFIG. 14 has ametadata field1455. Theexample metadata field1455 ofFIG. 14 contains metadata for the program.Example metadata1455 is discussed below in connection withFIG. 15.
To record encryption information, each of theexample entries1405 ofFIG. 14 has anencryption information field1460. The exampleencryption information field1460 ofFIG. 14 contains one or more parameters, encryption secrets and/or encryption keys that specify any encryption applied to the program.
To record a first segment and/or slice identifier, each of theexample entries1405 ofFIG. 14 has afirst segment field1465. The examplefirst segment field1465 ofFIG. 14 contains a value that uniquely identifies the first media segment and/or media slice of the program.
To record a program access count, each of theexample entries1405 ofFIG. 14 has a programaccess count field1470. The example programaccess count field1470 ofFIG. 14 contains a count of the number of times the program was accessed and/or played back.
To support future options and/or capabilities, each of theexample entries1405 ofFIG. 14 has a currently usedreserved field1475.
FIG. 15 is an example data structure for storing the metadata (e.g., theexample metadata1455 ofFIG. 14). To store information concerning which media segments make up a program, theexample metadata1455 ofFIG. 15 includes any of a variety ofsegment information1505. Theexample segment information1505 may be formatted and/or structured in accordance with any of a variety of current and/or future media storage standards. For example, thesegment information1505 may contain and/or specify a list of media segments that make up the program.
To store an encrypted pseudorandom seed used to slice and distribute, and/or collect and aggregate media slices, theexample metadata1455 ofFIG. 15 includes an encryptedpseudorandom seed field1510. The example encryptedpseudorandom seed field1510 contains an eight (8) byte encrypted pseudorandom seed.
To store any of a variety of additional and/or alternative metadata values, data and/or information, the example metadata ofFIG. 15 includes anadditional metadata field1515. In an example, theadditional metadata field1515 contains information useful for selecting additional and/or alternative media segments. Example information includes demographics of individuals for which a commercial might be targeted.
FIG. 16 is an example data structure for storing media segments and/or media slices (e.g., the example media segments and/orslices420 and/or450). To store information identifying one or more parameters of the media segment and/or slices, the example data structure ofFIG. 16 includes aheader1605. To store the encoded (and/or possibly encrypted) data for the media segment and/or slice, the example data structure ofFIG. 16 includes apayload1610.
To record a segment and/or slice identifier, the example data structure ofFIG. 16 includes asegment identifier field1612. Theexample field1612 ofFIG. 16 contains a value that uniquely identifies the segment and/or slice.
To record a size of the media segment and/or slice, the example data structure ofFIG. 16 includes asize field1615. Theexample size field1615 ofFIG. 16 contains a value that represents the size of theexample payload1610 in bytes.
To record a cyclic redundancy check (CRC), the example data structure ofFIG. 16 includes aCRC field1620. Theexample CRC field1620 ofFIG. 16 contains a CRC computed over theexample payload1610.
To record encryption information, the example data structure ofFIG. 16 includes anencryption information field1625. The exampleencryption information field1625 ofFIG. 16 contains one or more parameters, encryption secrets and/or encryption keys that specify any encryption applied to theexample payload1610.
To record a codec type, the example data structure ofFIG. 16 includes acodec type field1630. The examplecodec type field1630 ofFIG. 16 specifies the A/V encoding applied to theexample payload1610.
To record a segment access count, the example data structure ofFIG. 16 includes a segmentaccess count field1635. The examplesegment access field1635 ofFIG. 16 contains a count of the number of times the media segment and/or slice was obtained and/or played back.
To identify the next media segment and/or slice, the example data structure ofFIG. 16 includes a nextsegment identifier field1640. The example nextsegment identifier field1640 ofFIG. 16 contains a value that uniquely identifies the next media segment and/or slice.
To support future options and/or capabilities, the example data structure ofFIG. 16 includes areserved field1645.
FIG. 17 is an example data structure for storing a universal directory (e.g., the exampleuniversal directory486 ofFIG. 4), that is, for storing a list of pieces of media recorded and/or stored by other media devices. In the example system ofFIG. 1, the exampleuniversal directory486 ofFIG. 17 is stored in volatile memory such as RAM and, as such, has not restrictions and/or need to coincide with a native block size.
Many of the fields and/or portions of the exampleuniversal directory486 ofFIG. 17 are substantially the same as shown and described above in connection withFIG. 14 and, thus, are not discussed here. Instead, identical fields and portions are illustrated with identical reference numerals inFIGS. 14 and 17, and the interested reader is referred back to the descriptions presented above in connection withFIG. 14.
To conserve storage, the exampleuniversal directory486 ofFIG. 17 omits theexample description field1445, firstsegment identifier field1465 and the example programaccess count field1470 ofFIG. 14.
To specify which media device101-106 stored and/or recorded the program, the exampleuniversal directory486 ofFIG. 17 includes adevice identifier field1705. The exampledevice identifier field1705 ofFIG. 17 includes a value that uniquely identifies a media device101-106.
FIG. 18 is an example data structure for storing a device list (e.g., theexample device list495 ofFIG. 4). Theexample device list495 ofFIG. 18 contains a plurality ofentries1805 for respective ones of communicatively coupled media devices101-106.
To record a device identifier, each of theexample entries1805 ofFIG. 18 includes adevice identifier field1810. The exampledevice identifier field1810 ofFIG. 18 contains a value that uniquely identifies a media device101-106.
To a presence or absence, each of theexample entries1805 ofFIG. 18 includes a present/absent field1815. The example present/absent field1815 ofFIG. 18 contains a flag that specifies if the corresponding media device101-106 is present (e.g., flag is TRUE) or absent (e.g., flag is FALSE).
To record a capacity, each of theexample entries1805 ofFIG. 18 includes acapacity field1820. Theexample capacity field1820 ofFIG. 18 contains a value that represents the remaining storage capacity of the corresponding media device101-106.
To record properties, theexample entries1805 ofFIG. 18 includes aproperties field1825. The example properties field1825 ofFIG. 18 contains any number and/or variety of values, fields and/or characters that specify any of a variety of properties of the corresponding media device such as an associated content provider or a geographic location.
To support future capabilities and/or options, each of theexample entries1805 ofFIG. 18 includes areserved field1830.
While example data structures have been illustrated inFIGS. 14-18, any of a variety of additional and/or alternative fields, entries, headers, payloads, data structures, tables, arrays, registers, variables, etc. may be used. Moreover, the example data structures ofFIGS. 14,15,16,17 and/or18 may include and/or store any of a variety of additional and/or alternative data and/or information.
FIG. 19 illustrates an example message format that may be used by the example distributedmedia modules205 and/or, more generally, the example media devices101-106 ofFIGS. 1,2,3 and/or4 to exchange network probe and/or directory information.
To indicate the device identifier of a media device101-106 sending the example message ofFIG. 19, the example message ofFIG. 19 includes adevice identifier field1905. The exampledevice identifier field1905 contains a value that uniquely identifies a media device101-106. Thedevice identifier field1905 may also contain any of a variety of null value and/or indication such as a value of zero to indicate that the message is applicable to all media devices101-106.1001941 To specify a sequence number associated with a string of messages, the example message ofFIG. 19 includes a transmitsequence number field1910. Likewise, to specify the transmit sequence number to which a response message is sent, the example message ofFIG. 19 includes a receivesequence number field1915. When responding to a received message, a media device101-106 places the value from the transmitsequence number field1910 of the received message into the receivesequence number field1915 of the transmitted response message. If two or more messages are sent in response to a received messages, the transmitsequence number field1910 numbers the messages with the receivesequence number field1915 corresponding to the transmitsequence number1910 of the received message.
To specify the type of message, the example message ofFIG. 19 includes acommand field1920 and asub-command field1925. To provide one or more parameters and/or values, the example message ofFIG. 19 includes any number of parameter fields1930. The number ofparameter fields1930 may be either variable (e.g., depends upon the type of message) and/or may be fixed. Example values for thecommand field1920, thesub-command field1925 and theparameter fields1930 are discussed below in connection withFIG. 20.
To support future options and/or capabilities, the example message ofFIG. 19 includes areserved field1935.
FIG. 20 illustrates example combinations ofcommands1920, sub-commands1925 and parameter(s)1930. Each of the combinations illustrated inFIG. 20 are associated with aparticular message type2005.
A first set ofmessage types2010 are used by network probes (e.g., theexample network probe490 ofFIG. 4) to transmit, receive and/or exchange data related to which other media devices102-106 amedia device101 is communicatively coupled. An example broadcast probe message2020 contains acommand1920 that requests that other media devices102-106 respond. An example announce and/orresponse message2025 contains acommand1920 that indicates that themedia device101 is present, a sub-command1925 that indicates the unique device identifier for themedia device101, and one ormore parameters1930 that convey capacity and/or property information (e.g., theexample capacity information1820 and/or theexample property information1825 ofFIG. 18). An example offline message2030 announces to other media devices102-106 that themedia device101 is going off-line. An example delete message2030 instructs other media devices102-106 to delete themedia device101 from their device list.
Asecond set2015 of message types are used to transmit, receive and/or exchange directory information. An exampledirectory request message2040 requests that other media devices102-106 send their directory information. Anexample directory response2045 conveys thedirectory information1930 for themedia device101 specified in thesub-command field1925. An exampledirectory modification message2055 includes other media devices102-106 to add, modify and/or delete a specified directory.
FIG. 21 is a schematic diagram of anexample processor platform2100 that may be used and/or programmed to implement the example distributedmedia module205, the example slicer andhopper415, the example de-slicer andaggregator445, theexample control module455 and/or, more generally, the example media devices101-106 ofFIGS. 1,2,3 and/or4. For example, theprocessor platform2100 can be implemented by one or more general purpose processors, cores, microcontrollers, etc.
Theprocessor platform2100 of the example ofFIG. 21 includes a general purposeprogrammable processor2105. Theprocessor2105 executes codedinstructions2110 and/or2112 present in main memory of the processor2105 (e.g., within aRAM2115 and/or within a ROM2120). Theprocessor2105 may be any type of processing unit, such as processor cores, processors and/or microcontrollers. Theprocessor2105 may execute, among other things, the example processes ofFIGS. 5,6,7,8,9,10,11,12, and/or12 to implement the example distributedmedia module205, the example slicer andhopper415, the example de-slicer andaggregator445, theexample control module455 and/or, more generally, the example media devices101-106 ofFIGS. 1,2,3 and/or4. Theprocessor2105 is in communication with the main memory (including the ROM2120 and the RAM2115) via abus2125. TheRAM2115 may be implemented by dynamic RAM (DRAM), Synchronous DRAM (SDRAM), and/or any other type of RAM device, and ROM may be implemented by flash memory and/or any other desired type of memory device. Access to thememory2115 and2120 may be controlled by a memory controller (not shown). TheRAM2115 may be used to store, for example, the example universal directory ofFIG. 17 and/or the example device list ofFIG. 18.
Theprocessor platform2100 also includes aninterface circuit2130. Theinterface circuit2130 may be implemented by any type of interface standard, such as an external memory interface, serial port, general purpose input/output, etc. One ormore input devices2135 and one ormore output devices2140 are connected to theinterface circuit2130. Theinput devices2135 and/oroutput devices2140 may be used to, for example, implement an interface between theexample communications controller430 and theexample network interface255 ofFIGS. 2,3 and/or4
Although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents.

Claims (42)

What is claimed is:
1. In a content delivery system comprising a content provider and a plurality of media devices in communication with the content provider, wherein each of the plurality of media devices is associated with at least one of a plurality of subscribers, a method of providing a media stream for display, comprising the steps of:
receiving a user input in a first media device associated with a first subscriber of the plurality of subscribers and not with a second subscriber of the plurality of subscribers, the user input selecting the media stream;
receiving, responsive to the user input, the selected media stream in the first media device from the content provider;
splitting, at the first media device, the received media stream into at least two portions;
allocating, using the first media device, a first of the at least two portions to the first media device and a second of the at least two portions to a second media device associated with the second subscriber of the plurality of subscribers based upon fcrypto(N,S), wherein fcrypto(N,S) is a cryptographic combination of N and S, N is based upon a name of the media stream, and S is a pseudorandom seed;
storing the first of the at least two portions on the first media device and transmitting the second of the at least two portions from the first media device to the second media device for storage therein based upon the allocation; and
outputting the media stream from the first media device to a display device electrically coupled to the first media device, the media stream being output by the display device to present the media stream to the user.
2. The method as defined inclaim 1, wherein the media stream represents at least one of a piece of media, a program, a file, a media slice or a media segment.
3. The method as defined inclaim 1, wherein each of the first media device and second media device comprises at least one of a home media center, a residential gateway, a home media server, a digital video recorder, a video cassette recorder, a personal computer, a game playing console, a television, a satellite receiver, or a cable television receiver.
4. The method as defined inclaim 1, wherein metadata associated with the media stream comprises an encrypted version of the pseudorandom seed, and further comprising:
extracting the encrypted pseudorandom seed from the metadata; and
decrypting the extracted encrypted pseudorandom seed.
5. The method as defined inclaim 1, further comprising encrypting, at the first media device, the at least two portions before they are stored on the first media device and the second media device.
6. The method as defined inclaim 1, wherein allocating the second of the at least two portions to the second media device based upon fcrypto(N S) comprises:
computing N as a first hash based upon the name of the media stream;
computing fctypto(N,S) as a second hash based upon the first hash and the pseudorandom seed;
modifying the second hash based upon a count of communicatively coupled media devices; and
allocating the second of the at least two portions to the second media device based upon the modified second hash.
7. The method as defined inclaim 1, further comprising storing a duplicate copy of the one of the at least two portions on a redundant media device.
8. The method as defined inclaim 1, further comprising notifying the second media device that the media stream was received at the first media device.
9. The method as defined inclaim 1, further comprising not storing the first and second of the at least two portions when the media stream is at least one of recorded, being recorded, stored or being stored by the second media device.
10. The method as defined inclaim 1, first media device consists of at least one of a set top box, a digital video recorder, a television, a satellite receiver, or a cable television receiver.
11. The method ofclaim 1, wherein a size of each portion is configured by the content provider.
12. In a content delivery system comprising a content provider and a plurality of media devices in communication with the content provider, wherein each of the plurality of media devices is associated with at least one of a plurality of subscribers, a method of providing a media stream for display, comprising the steps of:
receiving at a first media device associated with a first subscriber, a user selection to playback the media stream, the media stream associated with metadata comprising an encrypted version of a pseudorandom seed;
extracting the encrypted version of the pseudorandom seed from the metadata;
decrypting the encrypted version of the pseudorandom seed to determine whether the first media device is authorized to playback the media;
identifying, using the first media device, at least two media devices storing respective ones of at least two media slices of the selected media based upon fctypto(N,S), wherein fcrypto(N,S) is a cryptographic combination of N and S, N is based upon a name of the media stream, and S is a pseudorandom seed, wherein at least one of the at least two of the media devices storing respective ones of the at least two media slices of the selected media is associated with a second subscriber and not the first subscriber;
gathering, using the first media device, the at least two media slices from the identified at least two media devices;
combining, in the first media device, the at least two media slices to form the media stream; and
outputting the media stream from the first media device to a display device electrically coupled to the first media device, the media stream being output by the display device to present the media stream to the user.
13. The method as defined inclaim 12, further comprising tracking at least one of collection, combining or playback of the media.
14. The method as defined inclaim 12, wherein the media stream is only stored in volatile memory.
15. The method as defined inclaim 12, further comprising decrypting the at least two media slices before they are combined.
16. The method as defined inclaim 12, wherein identifying the at least two media devices based upon fctypto(N,S) comprises:
computing N as a first hash based upon the name of the media stream;
computing fctypto(N,S) as a second hash based upon the first hash and the decrypted pseudorandom seed;
modifying the second hash based upon a count of the at least two media devices; and
identifying the at least two media devices based upon the modified second hash.
17. The method as defined inclaim 12, wherein at least one of the media slices is stored on the first media device.
18. The method as defined inclaim 12, further comprising receiving a notification that the media was recorded by one of the at least two media devices.
19. The method as defined inclaim 18, further comprising not recording the media if the notification is received.
20. The method as defined inclaim 12, wherein the first media device consists of at least one of a set top box, a digital video recorder, a television, a satellite receiver, or a cable television receiver.
21. A media device for use with a content delivery system comprising a content provider and a plurality of other media devices in communication with the content provider, wherein the media device and each of the plurality of other media devices is associated with at least one of a plurality of subscribers, comprising:
a hardware input device to receive input from a first subscriber of the plurality of subscribers, the input selecting a piece of media for playback;
a distributed media module to identify a first identified media device of the plurality of other media devices, the first identified media device associated with a second subscriber and storing a first media slice of the selected piece of media based upon fcrypto(N,S), wherein fcrypt(N,S) is a cryptographic combination of N and S, N is based upon a name of the piece of media, and S is a pseudorandom seed, to identify a second identified media device of the plurality of other media devices, the second identified media device associated with a third subscriber storing a second media slice of the selected piece of media based upon fcrypt(N,S), to gather the first media slice and the second media slice from the first identified media device and the second identified media device, and combine the first identified media slice and the second identified media slice to form a media stream representative of the media;
a security device to decrypt an encrypted version of the pseudorandom seed, the encrypted version of the pseudorandom seed extracted from metadata associated with the media stream; and
a display module to output the media stream to a display device electrically coupled to the media device, the media stream being output by the display device to present the media stream to the user.
22. The media device as defined inclaim 21, further comprising volatile storage to buffer the media stream.
23. The media device as defined inclaim 21, further comprising a decrypter to decrypt the media slices.
24. The media device as defined inclaim 21, wherein the piece of media was recorded by at least one of the first and second identified media devices, and the media device further comprises a memory to store a universal directory that lists the piece of media.
25. The media device as defined inclaim 21, wherein the piece of media was recorded by the media device, and the media device further comprises a memory to store a media directory that lists the piece of media.
26. The media device as defined inclaim 21, wherein the distributed media module applies forward error correction logic to adjust for at least one of ft the first identified media slice or the second identified media slice if the one of the first identified media slice or the second identified media slice is corrupted or missing media slice.
27. The media device as defined inclaim 21, wherein the apparatus consists of at least one of a set top box, a digital video recorder, a television, a satellite receiver, or a cable television receiver.
28. The media device ofclaim 21, wherein:
N is a first hash of at least a name of the piece of media;
fcrypto(N,S) is a hash of N and S; and
the first identified media device and the second identified media device are identified based upon fcrpto(N,S) modified based upon a count of the plurality of other media devices.
29. In a content delivery system comprising a content provider and a plurality of media devices in communication with the content provider, wherein each of the media devices is associated with at least one of a plurality of subscribers, a media device comprising:
a hardware input module to receive an input from a first of the plurality of subscribers selecting a media stream;
a front end module, responsive to the input, to receive the selected media stream, wherein metadata associated with the media stream comprises an encrypted pseudorandom seed;
a security module to extract the encrypted pseudorandom seed from the metadata and to decrypt the encrypted pseudorandom seed;
a distributed media module comprising a slicer to split the received media stream into at least two portions, and to select one of the at least two portions of the media stream to be stored on a second media device associated with a second of the plurality of subscribers based upon fcrypto(N,S), wherein fcrypto(N,S) is a combination of N and S, N is based upon a name of the media stream, and S is the extracted pseudorandom seed;
a network interface to transmit the selected one of the at least two portions of the media stream to the second media device, wherein at least one of the front end module, the security module; and
a display module to output the selected media stream to a display device electrically coupled to the media device, the media stream being output by the display device to present the media stream to the user.
30. The media device as defined inclaim 29, wherein the distributed media module further comprises a de-slicer and hopper to collect at least two portions of a second media stream and to determine an identification of a third media device based upon a second pseudorandom seed contained in second metadata associated with the second media stream, wherein at least one of the at least two portions of the second media stream are stored by the third media device.
31. The media device as defined inclaim 29, further comprising an encrypter to encrypt the one of the at least two portions of the media stream.
32. The media device as defined inclaim 29, further comprising a third media device to store a duplicate copy of the one of the at least two portions of the media stream stored at the second media device.
33. The media device as defined inclaim 29, wherein the third media device is a redundant media device to mirror the second media device.
34. The media device as defined inclaim 29, wherein the media device consists of at least one of a set top box, a digital video recorder, a television, a satellite receiver, or a cable television receiver.
35. The media device ofclaim 29, wherein:
N is a first hash of at least a name of the piece of media;
fcrypto(N,S) is a hash of N and S; and
the first identified media device and the second identified media device are identified based upon fcrypto(N,S) modified based upon a count of the plurality of other media devices.
36. A non-transitory computer-readable media storing machine accessible instructions which, when executed, cause a first media device of a plurality of media devices to:
receive input from a first subscriber of a plurality of subscribers in the first media device, the input selecting media for playback by the first media device, the media having associated metadata comprising an encrypted pseudorandom seed;
extract the encrypted pseudorandom seed from the metadata;
decrypt the encrypted pseudorandom seed;
identify, at the first media device, at least two other of the plurality of media devices associated with other of the plurality of subscribers, each storing respective ones of at least two media slices of the selected media based upon fcrypto(N,S), wherein fcrypto(N,S) is a combination of N and S, N is based upon a name of the media stream, and S is a pseudorandom seed;
gather the at least two media slices from the identified at least two of the plurality of media devices;
combine the at least two media slices to form a media stream representative of the media; and
output the media stream from the first media device to a display device electrically coupled to the first media device, the media stream being output by the display device to present the media stream to the first subscriber.
37. The non-transitory computer-readable media as defined inclaim 36, wherein the machine accessible instructions, when executed, cause the first media device to only store the media stream in a volatile memory.
38. The non-transitory computer-readable media as defined inclaim 36, wherein the machine accessible instructions, when executed, cause the first media device to identify the at least two other of the plurality of media devices by:
computing N as a first hash based upon the name of the media;
computing fctypto(N,S) as a second hash based upon the first hash and the pseudorandom seed;
modifying the second hash based upon a count of the at least two other of the plurality of media devices; and
identifying the at least two other of the plurality of media devices based upon the modified second hash.
39. The non-transitory computer-readable media as defined inclaim 36, wherein the machine accessible instructions, when executed, cause the first media device to receive a notification that the media was recorded by one of the at least two media devices.
40. In a content delivery system comprising a content provider and a plurality of media receivers in communication with the content provider, a method of providing a media stream for display, comprising the steps of:
receiving a user input in a first media receiver, the user input selecting the media stream;
receiving, responsive to the user input, the selected media stream in the first media receiver from the content provider;
splitting, at the first media receiver, the received media stream into at least two portions;
allocating, using the first media receiver, a first of the at least two portions to the first media receiver and a second of the at least two portions to a second media receiver based upon fcrypto(N,S), wherein fcrypto(N,S) is a cryptographic combination of N and S, N is based upon a name of the media stream, and S is a pseudorandom seed;
storing the first of the at least two portions on the first media receiver and transmitting the second of the at least two portions from the first media receiver to the second media receiver for storage therein based upon the allocation; and
outputting the media stream from the first media device to a display device electrically coupled to the first media receiver, the media stream being output by the display device to present the media stream to the user.
41. The method ofclaim 40, wherein the first media receiver and the second media receiver are disposed in different residences.
42. The method as defined inclaim 40, wherein allocating the second of the at least two portions to the second media device based on fcrytpo(N,S) comprises:
computing N as a first hash based upon the name of the media stream;
computing fctypto(N,S) as a second hash based upon the first hash and the pseudorandom seed;
modifying the second hash based upon a count of communicatively coupled media devices; and
allocating the second of the at least two portions to the second media device based upon the modified second hash.
US11/499,6352006-08-042006-08-04Distributed media-protection systems and methods to operate the sameActive2031-03-18US9178693B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
US11/499,635US9178693B2 (en)2006-08-042006-08-04Distributed media-protection systems and methods to operate the same

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
US11/499,635US9178693B2 (en)2006-08-042006-08-04Distributed media-protection systems and methods to operate the same

Publications (2)

Publication NumberPublication Date
US20080033881A1 US20080033881A1 (en)2008-02-07
US9178693B2true US9178693B2 (en)2015-11-03

Family

ID=39030436

Family Applications (1)

Application NumberTitlePriority DateFiling Date
US11/499,635Active2031-03-18US9178693B2 (en)2006-08-042006-08-04Distributed media-protection systems and methods to operate the same

Country Status (1)

CountryLink
US (1)US9178693B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9847852B2 (en)2015-12-152017-12-19At&T Intellectual Property I, L.P.System and method to request a portion of a media content item
US10785517B2 (en)2004-07-302020-09-22Broadband Itv, Inc.Method for addressing on-demand TV program content on TV services platform of a digital TV services provider
US10893334B2 (en)2004-07-302021-01-12Broadband Itv, Inc.Video-on-demand content delivery method for providing video-on-demand services to TV service subscribers
US11252459B2 (en)2004-07-302022-02-15Broadband Itv, Inc.System for addressing on-demand TV program content on TV services platform of a digital TV services provider
US11265589B2 (en)2007-06-262022-03-01Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US11570521B2 (en)2007-06-262023-01-31Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7904922B1 (en)2000-04-072011-03-08Visible World, Inc.Template creation and editing for a message campaign
US7895620B2 (en)*2000-04-072011-02-22Visible World, Inc.Systems and methods for managing and distributing media content
US8140859B1 (en)2000-07-212012-03-20The Directv Group, Inc.Secure storage and replay of media programs using a hard-paired receiver and storage device
US8626668B2 (en)*2007-07-052014-01-07Jon ButlerIndividualized digital media delivery systems
US8515377B2 (en)*2007-03-122013-08-20Telefonaktiebolaget L M Ericsson (Publ)Imbalanced transmission combining at radio base station
US8233621B2 (en)*2008-06-162012-07-31Hitachi, Ltd.Slice-based prioritized secure video streaming
US8185477B2 (en)*2008-12-312012-05-22Ericsson Television Inc.Systems and methods for providing a license for media content over a network
US9117060B2 (en)*2009-05-072015-08-25Cadence Design Systems, Inc.System and method for preventing proper execution of an application program in an unauthorized processor
GB2481967A (en)*2010-06-292012-01-18Nds LtdSystem and Method for Managing Distributed Media Content
US8656422B2 (en)2011-01-252014-02-18Motorola Mobility LlcMethod and apparatus for managing targeted advertisements for a linear television service
EP2658271A1 (en)*2012-04-232013-10-30Thomson LicensingPeer-assisted video distribution
CN106416172B (en)2014-03-242020-03-27诺基亚技术有限公司Method and apparatus for content management
WO2017015808A1 (en)*2015-07-262017-02-02秦玲娟Fee-charging method and fee-charging system positively correlated with number of times of playback
EP3153961A1 (en)*2015-10-082017-04-12The Roberto Giori Company Ltd.Method and system for dynamic distributed back-up

Citations (381)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US3794922A (en)1972-01-261974-02-26TocomData sampling communication system
US3885089A (en)1973-02-161975-05-20Hughes Aircraft CoTelevision scrambling system
US4241237A (en)1979-01-261980-12-23Metretek IncorporatedApparatus and method for remote sensor monitoring, metering and control
US4605961A (en)*1983-12-221986-08-12Frederiksen Jeffrey EVideo transmission system using time-warp scrambling
US4613901A (en)1983-05-271986-09-23M/A-Com Linkabit, Inc.Signal encryption and distribution system for controlling scrambling and selective remote descrambling of television signals
US4633309A (en)1985-05-061986-12-30Oak Industries Inc.Cable television master/slave decoder control
US4675732A (en)1984-12-191987-06-23Nordspace AktiebolagSatellite/hybrid television system
US4694490A (en)1981-11-031987-09-15Harvey John CSignal processing apparatus and methods
US4866769A (en)1987-08-051989-09-12Ibm CorporationHardware assist for protecting PC software
US5012510A (en)1988-04-271991-04-30Scientific Atlantic Inc.Dynamic callback technique
US5015830A (en)1988-07-041991-05-14Sharp Kabushiki KaishaElectronic card reading device
US5033084A (en)1990-04-021991-07-16Data I/O CorporationMethod and apparatus for protection of software in an electronic system
US5036461A (en)1990-05-161991-07-30Elliott John CTwo-way authentication system between user's smart card and issuer-specific plug-in application modules in multi-issued transaction device
WO1991011884A1 (en)1990-02-011991-08-08Scientific-Atlanta, Inc.External security module for a television signal decoder
US5068894A (en)1989-08-221991-11-26U.S. Philips Corp.Method of generating a unique number for a smart card and its use for the cooperation of the card with a host system
US5091618A (en)1989-05-231992-02-25Hitachi Maxell, Ltd.Ic card reader/writer
US5105268A (en)1988-11-081992-04-14Fujitsu LimitedCommunity antenna broadcast system having an improved channel selecting system permitting purchase of a selected channel from a plurality of non-purchased channels
US5115467A (en)1991-01-231992-05-19General Instrument CorporationSignal encryption apparatus for generating common and distinct keys
JPH04175025A (en)1990-11-081992-06-23Nippon Hoso Kyokai <Nhk>Broadcast reception control system
US5132992A (en)1991-01-071992-07-21Paul YurtAudio and video transmission and receiving system
US5168353A (en)1990-12-211992-12-01Gte Laboratories IncorporatedVideo distribution system allowing viewer access to time staggered indentical prerecorded programs
US5172413A (en)1990-12-201992-12-15SasktelSecure hierarchial video delivery system and method
US5191410A (en)1987-08-041993-03-02Telaction CorporationInteractive multimedia presentation and communications system
US5199066A (en)1989-04-181993-03-30Special Effects Software, Inc.Method and apparatus for protecting software
JPH05284499A (en)1992-04-021993-10-29Nec CorpSystem for reproducing pay television/audio program broadcasting
US5270809A (en)1991-03-291993-12-14Scientific-AtlantaData return for a television transmission system
US5301245A (en)1991-03-291994-04-05Pioneer Electronic CorporationSystem for transmitting a commercial program in a CATV system
US5301352A (en)1991-07-041994-04-05Sony CorporationSatellite broadcast receiving system and change-over divider for use in same
US5331139A (en)1992-03-181994-07-19Goldstar Electric Machinery Co., Ltd.Card reader with antiabrasion member
US5335277A (en)1981-11-031994-08-02The Personalized Mass Media CorporationSignal processing appparatus and methods
US5357276A (en)1992-12-011994-10-18Scientific-Atlanta, Inc.Method of providing video on demand with VCR like functions
US5371551A (en)1992-10-291994-12-06Logan; JamesTime delayed digital video system using concurrent recording and playback
JPH06351023A (en)1993-06-101994-12-22Fujitsu General Ltd Satellite broadcasting antenna adjustment device
US5381481A (en)1993-08-041995-01-10Scientific-Atlanta, Inc.Method and apparatus for uniquely encrypting a plurality of services at a transmission site
US5386587A (en)1991-12-201995-01-31Sony CorporationSatellite broadcasting receiving system with reception level indicator using control signal from receiver
US5396293A (en)1990-12-271995-03-07Deutsche Thomson-Brandt GmbhFilter circuit with bandwidth varied as a function of bit error rate and luminance level
US5421031A (en)1989-08-231995-05-30Delta Beta Pty. Ltd.Program transmission optimisation
US5438423A (en)1993-06-251995-08-01Tektronix, Inc.Time warping for video viewing
US5440336A (en)1993-07-231995-08-08Electronic Data Systems CorporationSystem and method for storing and forwarding audio and/or visual information on demand
US5442389A (en)1992-12-281995-08-15At&T Corp.Program server for interactive television system
US5481609A (en)1989-11-141996-01-02News Data Security Products Ltd.System for controlling access to broadcast transmissions
US5485221A (en)1993-06-071996-01-16Scientific-Atlanta, Inc.Subscription television system and terminal for enabling simultaneous display of multiple services
US5495531A (en)1992-07-211996-02-27Son Holdings Limited Of C/O Celtic Trust Company LimitedEquipment which included electronics
US5504816A (en)1994-02-021996-04-02Gi CorporationMethod and apparatus for controlling access to digital signals
US5505901A (en)1988-03-101996-04-09Scientific-Atlanta, Inc.CATV pay per view interdiction system method and apparatus
US5506902A (en)1993-04-201996-04-09Sony CorporationData broadcasting system
US5511986A (en)1994-02-231996-04-30Molex IncorporatedIC pack connector with detect switch
EP0710017A2 (en)1994-10-281996-05-01Plessey Semiconductors LimitedTelevision receiver with an interface for the displaying and communication of data
JPH08125651A (en)1994-10-281996-05-17Hitachi Ltd Signal processor
US5557541A (en)1994-07-211996-09-17Information Highway Media CorporationApparatus for distributing subscription and on-demand audio programming
US5559549A (en)1992-12-091996-09-24Discovery Communications, Inc.Television program delivery system
US5566353A (en)1994-09-061996-10-15Bylon Company LimitedPoint of purchase video distribution system
US5583937A (en)1990-12-211996-12-10Gte Service CorporationMethod for providing video programming nearly on demand
US5586264A (en)1994-09-081996-12-17Ibm CorporationVideo optimized media streamer with cache management
US5590200A (en)1993-12-091996-12-31News Datacom Ltd.Apparatus and method for securing communication systems
US5592551A (en)1992-12-011997-01-07Scientific-Atlanta, Inc.Method and apparatus for providing interactive electronic programming guide
US5592651A (en)1993-06-111997-01-07Rackman; Michael I.Method and system for limiting multi-user play of video game cartridges
US5592212A (en)1993-04-161997-01-07News Datacom Ltd.Methods and systems for non-program applications for subscriber television
US5594491A (en)1995-12-291997-01-14Vxl/Hcr Technology CorporationNear-video-on-demand digital video distribution system utilizing asymmetric digital subscriber lines
US5619247A (en)1995-02-241997-04-08Smart Vcr Limited PartnershipStored program pay-per-play
US5630204A (en)1995-05-011997-05-13Bell Atlantic Network Services, Inc.Customer premise wireless distribution of broad band signals and two-way communication of control signals over power lines
US5640453A (en)1994-08-111997-06-17Stanford Telecommunications, Inc.Universal interactive set-top controller for downloading and playback of information and entertainment services
US5642418A (en)1995-02-211997-06-24Bell Atlantic Network Services, Inc.Satellite television system and method
US5661517A (en)1994-05-021997-08-26Messagephone, Inc.Interactive intelligent video information system
US5663896A (en)1994-09-221997-09-02Intel CorporationBroadcast key distribution apparatus and method using Chinese Remainder
US5664046A (en)1993-01-111997-09-02Abecassis; MaxAutoconfigurable video system
US5666645A (en)1995-04-261997-09-09News America Publications, Inc.Data management and distribution system and method for an electronic television program guide
US5675390A (en)1995-07-171997-10-07Gateway 2000, Inc.Home entertainment system combining complex processor capability with a high quality display
US5677895A (en)1994-08-181997-10-14Mankovitz; Roy J.Apparatus and methods for setting timepieces
US5684742A (en)1995-09-201997-11-04International Business Machines CorporationDevice and method for the simplified generation of tools for the initialization and personalization of and communication with a chip card
US5699429A (en)1994-04-221997-12-16Thomson Consumer Electronics, Inc.Packet TV program component detector
US5701582A (en)1989-08-231997-12-23Delta Beta Pty. Ltd.Method and apparatus for efficient transmissions of programs
US5701383A (en)1994-05-201997-12-23Gemstar Development CorporationVideo time-shifting apparatus
US5708963A (en)1995-02-241998-01-13Scientific-Atlanta, Inc.Method and apparatus for using satellites for reverse path communication in direct-to-home subscription information systems
JPH1013784A (en)1996-06-241998-01-16Matsushita Electric Ind Co Ltd Broadcast signal recording and playback device
US5710970A (en)1993-02-011998-01-20Instant Video Technologies, Inc.Broadcast video burst transmission cyclic distribution method
US5715315A (en)1993-08-191998-02-03News Datacom LtdCATV systems
US5715403A (en)1994-11-231998-02-03Xerox CorporationSystem for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5721829A (en)1995-05-051998-02-24Microsoft CorporationSystem for automatic pause/resume of content delivered on a channel in response to switching to and from that channel and resuming so that a portion of the content is repeated
US5724646A (en)1995-06-151998-03-03International Business Machines CorporationFixed video-on-demand
US5729000A (en)1994-08-311998-03-17Oki Electric Industry Co., Ltd.IC card reader
US5729280A (en)1994-08-311998-03-17Sony CorporationNear video-on-demand signal receiver having a memory which provides for VCR like functions
US5748732A (en)1995-02-081998-05-05U.S. Philips CorporationPay TV method and device which comprise master and slave decoders
US5761302A (en)1994-11-261998-06-02Lg Electronics Inc.Copy prevention method and apparatus for digital video system
US5764762A (en)1995-06-081998-06-09Wave System Corp.Encrypted data package record for use in remote transaction metered data system
US5784095A (en)1995-07-141998-07-21General Instrument CorporationDigital audio system with video output program guide
US5787172A (en)1994-02-241998-07-28The Merdan Group, Inc.Apparatus and method for establishing a cryptographic link between elements of a system
US5790663A (en)1996-03-281998-08-04Advanced Micro Devices, Inc.Method and apparatus for software access to a microprocessor serial number
US5790783A (en)1996-03-281998-08-04Advanced Micro Devices, Inc.Method and apparatus for upgrading the software lock of microprocessor
US5793971A (en)1994-04-251998-08-11Sony CorporationVideo signal output apparatus having near video-on-demand function
US5793413A (en)1995-05-011998-08-11Bell Atlantic Network Services, Inc.Wireless video distribution
US5805699A (en)1996-05-201998-09-08Fujitsu LimitedSoftware copying system
US5818934A (en)1996-12-181998-10-06Phillips Electronics North America CorporationMethod and apparatus for providing a cryptographically secure interface between the decryption engine and the system decoder of a digital television receiver
US5826165A (en)1997-01-211998-10-20Hughes Electronics CorporationAdvertisement reconciliation system
US5831664A (en)1995-12-151998-11-03Mediaone Group, Inc.Method and system for synchronizing data between at least one mobile interface device and an interactive terminal
US5845240A (en)1996-07-241998-12-01Fielder; MarkSelective recall and preservation of continuously recorded data
WO1998056180A1 (en)1997-06-061998-12-10Thomson Consumer Electronics, Inc.Global conditional access system for broadcast services
US5850218A (en)1997-02-191998-12-15Time Warner Entertainment Company L.P.Inter-active program guide with default selection control
US5864747A (en)1995-08-241999-01-26General Dynamics Information Systems, Inc.Data bridge
US5867207A (en)1994-01-051999-02-02Thomson Consumer Electronics, Inc.Program guide in a digital video system
US5870474A (en)1995-12-041999-02-09Scientific-Atlanta, Inc.Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
US5872353A (en)1995-05-091999-02-16Amphenol-Tuchel Electronics GmbhChip card reading device
US5889941A (en)1996-04-151999-03-30Ubiq Inc.System and apparatus for smart card personalization
US5892535A (en)1996-05-081999-04-06Digital Video Systems, Inc.Flexible, configurable, hierarchical system for distributing programming
WO1999018729A1 (en)1997-10-021999-04-15Canal+ Societe AnonymeMethod and apparatus for encrypted data stream transmission
US5898919A (en)1996-02-261999-04-27E Guide, Inc.Cordless phone back link for interactive television system
US5898159A (en)1997-05-281999-04-27Huang; Kong-HungStructural improvement on ID card processor
US5899582A (en)1994-08-081999-05-04Hyundai Electronics AmericaMovie-on-demand disk storage loop architecture
JPH11136708A (en)1997-10-301999-05-21Yagi Antenna Co Ltd Antenna direction adjustment device
US5912969A (en)1994-03-311999-06-15Hitachi, Ltd.Information receiving and recording/reproducing apparatus/method having function for limiting/delimiting for protecting copyright of recording information
US5914941A (en)1995-05-251999-06-22Information Highway Media CorporationPortable information storage/playback apparatus having a data interface
US5926205A (en)1994-10-191999-07-20Imedia CorporationMethod and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US5930802A (en)*1996-11-291999-07-27Daewoo Electronics Co., Ltd.Method for automatically linking index data with image data in a search system
US5930215A (en)1993-10-061999-07-27Sony CorporationCD-Rom with machine-readable I.D. code
US5933500A (en)1996-05-311999-08-03Thomson Consumer Electronics, Inc.Adaptive decoding system for processing encrypted and non-encrypted broadcast, cable or satellite video data
US5936222A (en)1997-10-031999-08-10The Whitaker CorporationSmart card reader having pivoting contacts
JPH11220444A (en)1998-01-311999-08-10Sony CorpDevice and method for acquiring program selection history information
US5936660A (en)1996-12-121999-08-10Rockwell Semiconductor System, Inc.Digital video converter box for subscriber/home with multiple television sets
US5937067A (en)1996-11-121999-08-10Scientific-Atlanta, Inc.Apparatus and method for local encryption control of a global transport data stream
EP0936812A1 (en)1998-02-131999-08-18CANAL+ Société AnonymeMethod and apparatus for recording of encrypted digital data
US5953418A (en)1995-06-141999-09-14David HallProviding selective data broadcast receiver addressability
US5966186A (en)1996-07-121999-10-12Kabushiki Kaisha ToshibaDigital broadcast receiving device capable of indicating a receiving signal strength or quality
JPH11284584A (en)1998-01-311999-10-15Sony CorpDevice and method for program selective history information
WO1999043120A8 (en)1998-02-201999-10-21Digital Video Express LpInformation access control system and method
US5973756A (en)1996-02-061999-10-26Fca CorporationIR Transmitter with integral magnetic-stripe ATM type credit card reader & method therefor
US5978649A (en)1996-12-271999-11-02Hughes Electronics CorporationMethod and apparatus for dynamic conditional channel authorization in a broadcast system
US5987501A (en)*1994-03-211999-11-16Avid Technology, Inc.Multimedia system having server for retrieving media data as indicated in the list provided by a client computer
US5999629A (en)1995-10-311999-12-07Lucent Technologies Inc.Data encryption security module
US5999628A (en)1995-12-291999-12-07Intel CorporationMethod and apparatus for improved digital message transaction model
US6005937A (en)1994-03-071999-12-21International Video Network, Inc.Universal decoder
US6006987A (en)1996-12-201999-12-28Siemens AktiengesellschaftRemovable card carrier assembly
US6011511A (en)1996-11-072000-01-04Samsung Electronics Co., Ltd.Satellite dish positioning system
US6038000A (en)1997-05-282000-03-14Sarnoff CorporationInformation stream syntax for indicating the presence of a splice point
US6038319A (en)1998-05-292000-03-14Opentv, Inc.Security model for sharing in interactive television applications
WO2000014967A1 (en)1998-09-022000-03-16Koninklijke Philips Electronics N.V.Video signal transmission
US6041056A (en)1995-03-282000-03-21Bell Atlantic Network Services, Inc.Full service network having distributed architecture
EP0989557A1 (en)1998-01-262000-03-29Matsushita Electric Industrial Co., Ltd.Method and system for data recording / reproducing, apparatus for recording/reproducing, and media for recording program
WO2000019294A2 (en)1998-09-252000-04-06Mcrae Matthew BPortable storage and control units for digital data
US6055566A (en)1998-01-122000-04-25Lextron Systems, Inc.Customizable media player with online/offline capabilities
US6055314A (en)1996-03-222000-04-25Microsoft CorporationSystem and method for secure purchase and delivery of video content programs
JP2000122539A (en)1998-10-162000-04-28Matsushita Electric Ind Co Ltd Copyright protection system
US6061449A (en)1997-10-102000-05-09General Instrument CorporationSecure processor with external memory using block chaining and block re-ordering
US6061451A (en)1996-09-032000-05-09Digital Vision Laboratories CorporationApparatus and method for receiving and decrypting encrypted data and protecting decrypted data from illegal use
US6061452A (en)1996-11-292000-05-09Canon Kabushiki KaishaSecure media on demand system whereby charge is determined in part from the periodicity of an encryption key
US6064724A (en)1994-12-302000-05-16Thomson Consumer ElectronicsModem with automatic callback provisions
WO2000030354A1 (en)1998-11-132000-05-25Discovery Communications, Inc.Digital broadcast program ordering
US6069647A (en)1998-01-292000-05-30Intel CorporationConditional access and content security method
US6072982A (en)1994-08-022000-06-06Haddad; Joseph C.Interactive audiovisual distribution system
US6072873A (en)1997-03-062000-06-06Lsi Logic CorporationDigital video broadcasting
US6075330A (en)1997-11-072000-06-13Terk Technologies Corp.Outdoor antenna system with remote control and method for optimizing antenna function
US6091883A (en)1995-07-132000-07-18Thomson Multimedia S.A.Method and device for recording and reading on a large-capacity medium
US6097441A (en)1997-12-312000-08-01Eremote, Inc.System for dual-display interaction with integrated television and internet content
US6105134A (en)1995-04-032000-08-15Scientific-Atlanta, Inc.Verification of the source of program information in a conditional access system
US6105868A (en)1996-09-202000-08-22Amphenol-Tuchel Electronics GmbhChip card contacting device
US6141531A (en)1997-11-262000-10-31Direct Wireless CorporationLocal wireless communication system with external communications link
US6144400A (en)1995-11-272000-11-07Sony CorporationData delivery system, data receiving apparatus, and storage medium for video programs
US6148400A (en)1994-02-242000-11-14The Merdan Group, Inc.Apparatus and method for establishing a crytographic link between elements of a system
US6148081A (en)1998-05-292000-11-14Opentv, Inc.Security model for interactive television applications
US6154206A (en)1998-05-062000-11-28Sony Corporation Of JapanMethod and apparatus for distributed conditional access control on a serial communication network
US6157949A (en)1998-05-282000-12-05Industrial Technology Research InstituteData placement on direct access devices for media servers with cyclic re-broadcast capability
US6157719A (en)1995-04-032000-12-05Scientific-Atlanta, Inc.Conditional access system
US6163284A (en)1998-03-312000-12-19Sony CorporationSignal processing circuit and signal processing method
US6169879B1 (en)1998-09-162001-01-02Webtv Networks, Inc.System and method of interconnecting and using components of home entertainment system
US6178242B1 (en)1997-02-072001-01-23Nds LimitedDigital recording protection system
US6202211B1 (en)1998-02-062001-03-13Henry R. Williams, Jr.Method and apparatus for providing television signals to multiple viewing systems on a network
WO2001022724A1 (en)1999-09-232001-03-29Thomson Licensing S.A.Multimedia digital terminal and detachable module cooperating with the terminal comprising an interface protected against copying
US6216266B1 (en)1999-10-282001-04-10Hughes Electronics CorporationRemote control signal level meter
US6226618B1 (en)1998-08-132001-05-01International Business Machines CorporationElectronic content delivery system
US6229895B1 (en)1999-03-122001-05-08Diva Systems Corp.Secure distribution of video on-demand
US20010001876A1 (en)1997-12-112001-05-24International Business Machines CorporationSecurity method and system for persistent storage and communications on computer network systems and computer network systems employing the same
US6240401B1 (en)1998-06-052001-05-29Digital Video Express, L.P.System and method for movie transaction processing
WO2000013412A9 (en)1998-08-312001-06-21Thomson Licensing SaA copy protection system for home networks
US6266481B1 (en)1996-06-192001-07-24Sony CorporationConditional access system for local storage device
US6267295B1 (en)1998-01-092001-07-31Anritsu CorporationIC card processing apparatus having a unique contact member
EP1122910A1 (en)1998-10-152001-08-08Mitsubishi CorporationMethod and device for protecting digital data by double re-encryption
US6286142B1 (en)1996-02-232001-09-04Alcatel Usa, Inc.Method and system for communicating video signals to a plurality of television sets
US6288716B1 (en)1997-06-252001-09-11Samsung Electronics, Co., LtdBrowser based command and control home network
US6289455B1 (en)1999-09-022001-09-11Crypotography Research, Inc.Method and apparatus for preventing piracy of digital content
US6292568B1 (en)1966-12-162001-09-18Scientific-Atlanta, Inc.Representing entitlements to service in a conditional access system
US6298441B1 (en)1994-03-102001-10-02News Datacom Ltd.Secure document access system
WO2001037546A3 (en)1999-11-192001-11-08Scm Microsystems GmbhDigital television methods and apparatus
US6317884B1 (en)1997-02-192001-11-13Next Level CommunicationsVideo, data and telephony gateway
US6317883B2 (en)1998-12-112001-11-13Mediaone Group, Inc.System and method for content-based television program selection
US20010056576A1 (en)2000-05-182001-12-27Joong-Je ParkApparatus and method for receiving multichannel signals
WO2001098920A1 (en)2000-06-212001-12-27Idt CorporationMethod and apparatus for distributing video programs using partial caching
US20020001386A1 (en)*2000-06-302002-01-03Koichiro AkiyamaBroadcast receiving method and apparatus and information distributing method and apparatus
US20020013948A1 (en)2000-03-132002-01-31Erwin AguayoVideo data management, transmission, and control system and method emloying distributed video segments microcasting
US20020023219A1 (en)2000-08-162002-02-21Koninklijke Philips Electronics N.V.Method and device for controlling distribution and use of digital works
US20020021805A1 (en)1999-01-062002-02-21Schumann Robert WilhelmDigital content distribution system and method
USD454875S1 (en)1999-12-292002-03-26Tyco Electronics Logistics AgSingle smart card reader
WO2001082600A3 (en)2000-04-252002-04-04Hughes Electronics CorpDvr system
US6370688B1 (en)1999-05-262002-04-09Enounce, Inc.Method and apparatus for server broadcast of time-converging multi-media streams
US6374336B1 (en)*1997-12-242002-04-16Avid Technology, Inc.Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US20020046359A1 (en)*2000-03-162002-04-18Boden Scott T.Method and apparatus for secure and fault tolerant data storage
US20020046339A1 (en)*1997-02-102002-04-18Mihir BellareProbabilistic signature scheme
US6381747B1 (en)1996-04-012002-04-30Macrovision Corp.Method for controlling copy protection in digital video networks
US6385596B1 (en)*1998-02-062002-05-07Liquid Audio, Inc.Secure online music distribution system
US20020056112A1 (en)1999-06-032002-05-09Vincent DureauHome digital assistant
US6405372B1 (en)1997-06-242002-06-11Samsung Electronics Co., Ltd.Method for updating electronic program guide information and device thereof in a digital TV receiver
US20020083438A1 (en)*2000-10-262002-06-27So Nicol Chung PangSystem for securely delivering encrypted content on demand with access contrl
US6415031B1 (en)1999-03-122002-07-02Diva Systems CorporationSelective and renewable encryption for secure distribution of video on-demand
US6418424B1 (en)1991-12-232002-07-09Steven M. HoffbergErgonomic man-machine interface incorporating adaptive pattern recognition based control system
US6424947B1 (en)1997-09-292002-07-23Nds LimitedDistributed IRD system
US20020100052A1 (en)1999-01-062002-07-25Daniels John J.Methods for enabling near video-on-demand and video-on-request services using digital video recorders
US20020101991A1 (en)1999-12-132002-08-01Kinney BaconMethod of identifying multiple digital streams within a multplexed signal
US20020112235A1 (en)2001-02-122002-08-15Ballou Bernard L.Video distribution system
US20020112243A1 (en)2001-02-122002-08-15World TheatreVideo distribution system
US6437836B1 (en)1998-09-212002-08-20Navispace, Inc.Extended functionally remote control system and method therefore
US20020116705A1 (en)2001-02-202002-08-22Perlman Stephen G.System and method for processing conditional access data
US6442525B1 (en)1997-07-152002-08-27Silverbrook Res Pty LtdSystem for authenticating physical objects
US6456985B1 (en)1998-08-252002-09-24Fuji Photo Film Co., Ltd.Image encrypting method and device, image decrypting method and device, and recording medium
US6466671B1 (en)1997-03-212002-10-15Michel MaillardSmartcard for use with a receiver of encrypted broadcast signals, and receiver
US6466921B1 (en)1997-06-132002-10-15Pitney Bowes Inc.Virtual postage meter with secure digital signature device
US6473858B1 (en)1999-04-162002-10-29Digeo, Inc.Method and apparatus for broadcasting data with access control
US20020162047A1 (en)*1997-12-242002-10-31Peters Eric C.Computer system and process for transferring streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6476825B1 (en)1998-05-132002-11-05Clemens CroyHand-held video viewer and remote control device
US20020166121A1 (en)2001-05-022002-11-07Rovira Luis A.System and method for providing television programs on demand
US6480667B1 (en)1997-12-232002-11-12Intel CorporationMethod of time shifting to simultaneously record and play a data stream
US20020170072A1 (en)2001-05-092002-11-14Lundbald James A.Systems for receiving and processing digital data carried by satellite transmissions
US20020170054A1 (en)*2000-10-042002-11-14Andre KudelskiMechanism of matching between a receiver and a security module
US6487722B1 (en)1998-02-122002-11-26Sony CorporationEPG transmitting apparatus and method, EPG receiving apparatus and method, EPG transmitting/receiving system and method, and provider
US6487663B1 (en)1998-10-192002-11-26Realnetworks, Inc.System and method for regulating the transmission of media data
US20020178452A1 (en)1998-06-222002-11-28Daniel LecomteIn-home network for distributing data
US20020184628A1 (en)*2001-04-062002-12-05Kim Ik JuMethod of transmitting/receiving additional information
US20020184638A1 (en)*2001-05-292002-12-05Koninklijke Philips Electronics N.V.Video playback device capable of sharing resources and method of operation
US6496980B1 (en)1998-12-072002-12-17Intel CorporationMethod of providing replay on demand for streaming digital multimedia
US6502139B1 (en)1999-06-012002-12-31Technion Research And Development Foundation Ltd.System for optimizing video on demand transmission by partitioning video program into multiple segments, decreasing transmission rate for successive segments and repeatedly, simultaneously transmission
US20030005285A1 (en)2001-06-292003-01-02Graunke Gary L.Method and apparatus for distributing keys for decrypting and re-encrypting publicly distributed media
US20030005429A1 (en)2001-06-282003-01-02Nicholas ColseyEPG with video previews
US20030009773A1 (en)*2001-06-252003-01-09Carlson Randolph S.Video event capture, storage and processing method and apparatus
US6510519B2 (en)1995-04-032003-01-21Scientific-Atlanta, Inc.Conditional access system
US20030018980A1 (en)*2001-07-202003-01-23Eugene GorbatovMethod and apparatus for selective recording of television programs using event notifications
US20030018968A1 (en)2001-02-012003-01-23Mark AvnetMethod and apparatus for inserting data into video stream to enhance television applications
US6516465B1 (en)1997-12-092003-02-04Sony United Kingdom LimitedDigital video receiver, a conditional access module and a method of transmitting data therebetween
US6516412B2 (en)1995-04-032003-02-04Scientific-Atlanta, Inc.Authorization of services in a conditional access system
US6519693B1 (en)*1989-08-232003-02-11Delta Beta, Pty, Ltd.Method and system of program transmission optimization using a redundant transmission sequence
US6519772B1 (en)1996-04-152003-02-11Autodesk Canada Inc.Video data storage
US6523114B1 (en)*1994-12-142003-02-18Sony CorporationMethod and apparatus for embedding authentication information within digital data
US20030040962A1 (en)1997-06-122003-02-27Lewis William H.System and data management and on-demand rental and purchase of digital data products
US6530085B1 (en)1998-09-162003-03-04Webtv Networks, Inc.Configuration for enhanced entertainment system control
US6539548B1 (en)1992-12-092003-03-25Discovery Communications, Inc.Operations center for a television program packaging and delivery system
US20030061477A1 (en)2001-09-212003-03-27Kahn Raynold M.Method and apparatus for encrypting media programs for later purchase and viewing
US6542870B1 (en)1998-10-272003-04-01Sony CorporationRecording apparatus
US6543053B1 (en)*1996-11-272003-04-01University Of Hong KongInteractive video-on-demand system
US20030070167A1 (en)2001-04-182003-04-10Alex HoltzAdvertisement management method, system, and computer program product
US6550011B1 (en)1998-08-052003-04-15Hewlett Packard Development Company, L.P.Media content protection utilizing public key cryptography
US20030081131A1 (en)2001-10-262003-05-01Koninklijke Philips Electronics N.V.Method for viewing and controlling multiple DVR's
EP0975165B1 (en)1994-07-082003-05-02Sony CorporationReceiving controlled-access broadcast signals
US6560340B1 (en)1995-04-032003-05-06Scientific-Atlanta, Inc.Method and apparatus for geographically limiting service in a conditional access system
US20030088876A1 (en)2001-11-082003-05-08Liberate TechnologiesVideo on demand gateway
US20030110132A1 (en)2000-10-302003-06-12Yoichiro SakoContent data, and its recording medium, recording method, recording apparatus, copying method, reproducing method, reproducing apparatus and output method
EP1304871A3 (en)2001-08-212003-06-18Canal+ Technologies Société AnonymeMethod and apparatus for a receiver/decoder
US20030115449A1 (en)*2001-12-182003-06-19International Business Machines CorporationEncryption method using synchronized continuously calculated pseudo-random key
US20030122966A1 (en)2001-12-062003-07-03Digeo, Inc.System and method for meta data distribution to customize media content playback
US6588673B1 (en)2000-02-082003-07-08Mist Inc.Method and system providing in-line pre-production data preparation and personalization solutions for smart cards
US6591419B2 (en)1998-04-242003-07-08Sony United Kingdom LimitedDigital multi-media device and method relating thereto
US20030131349A1 (en)2002-01-042003-07-10General Instrument CorporationMethods and systems for managing and collecting impulse pay-per-view data in smart card enabled television terminals
US20030145183A1 (en)2002-01-312003-07-31Muehring Phillip T.Applications for removable storage
US20030149869A1 (en)*2002-02-012003-08-07Paul GleichaufMethod and system for securely storing and trasmitting data by applying a one-time pad
US20030156649A1 (en)2002-01-282003-08-21Abrams Thomas AlgieVideo and/or audio processing
US6611812B2 (en)1998-08-132003-08-26International Business Machines CorporationSecure electronic content distribution on CDS and DVDs
US20030161302A1 (en)*2002-01-242003-08-28Roger ZimmermannContinuous media system
US6622307B1 (en)1999-03-262003-09-16Hughes Electronics CorporationMultiple-room signal distribution system
US20030177365A1 (en)2002-03-152003-09-18Buhan Corinne LeSecured storage method of encrypted data on a personal digital recorder
US20030174844A1 (en)1999-03-302003-09-18Candelore Brant L.Method and apparatus for protecting the transfer of data
US20030196204A1 (en)2002-04-152003-10-16Balaji ThiagarajanMultiple media vendor support
US20030196113A1 (en)2002-04-102003-10-16Chris BrownSystem and method for providing a secure environment for performing conditional access functions for a set top box
US6637027B1 (en)1999-03-182003-10-21Webtv Networks, Inc.System and method for controlling access to broadcast services
US20030208771A1 (en)1999-10-292003-11-06Debra HensgenSystem and method for providing multi-perspective instant replay
US6654547B1 (en)1999-11-022003-11-25Matsushita Electric Industrial Co., Ltd.DVD rental system and method
US6655580B1 (en)2002-07-022003-12-02Michael Jared ErgoSystem and method for renting or purchasing digital media
WO2003101105A1 (en)2002-03-272003-12-04General Instrument CorporationSmart card mating protocol
US20030228911A1 (en)2002-06-052003-12-11Dernis Mitchell S.DVD-enabling code server and loader for a console-based gaming system
US20030229898A1 (en)2002-06-052003-12-11Babu Suresh P.Multiple on-demand media vendor integration
US20030229900A1 (en)2002-05-102003-12-11Richard ReismanMethod and apparatus for browsing using multiple coordinated device sets
WO2003103293A1 (en)2002-06-012003-12-11Keen Personal Media, Inc.Client terminal for providing video on demand
WO2002063879A3 (en)2001-02-022003-12-18Opentv IncA service gateway for interactive television
US6668377B1 (en)1995-05-052003-12-23Microsoft CorporationSystem for previewing video trailers
US20040003173A1 (en)*2002-01-252004-01-01Yao Shu-Yuen DidiPseudorandom data storage
US6687683B1 (en)1998-10-162004-02-03Matsushita Electric Industrial Co., Ltd.Production protection system dealing with contents that are digital production
US20040025179A1 (en)2002-08-022004-02-05Russ Samuel H.Locally-updated interactive program guide
US20040024580A1 (en)*2002-02-252004-02-05Oak Technology, Inc.Server in a media system
US20040032950A1 (en)2002-08-152004-02-19Graunke Gary L.Method and apparatus for composable block re-encryption of publicly distributed content
US6697489B1 (en)1999-03-302004-02-24Sony CorporationMethod and apparatus for securing control words
WO2004017637A1 (en)2002-08-132004-02-26Canal+ TechnologiesHard disk security
US6701528B1 (en)2000-01-262004-03-02Hughes Electronics CorporationVirtual video on demand using multiple encrypted video segments
US6714650B1 (en)1998-02-132004-03-30Canal + Societe AnonymeRecording of scrambled digital data
US20040068721A1 (en)*2000-11-172004-04-08O'neill PatrickNetwork for updating firmware and / or software in wireless communication devices
US20040073954A1 (en)2002-10-092004-04-15General Instrument CorporationMethod of protecting recorded multimedia content against unauthorized duplication
US20040088558A1 (en)2002-11-052004-05-06Candelore Brant L.Descrambler
EP1418701A1 (en)2002-11-112004-05-12STMicroelectronics LimitedTransmission and storage of encryption keys
US6741834B1 (en)2000-06-062004-05-25Hughes Electronics CorporationDevice and method to improve integrated presentation of existing radio services and advanced multimedia services
US6745245B1 (en)1998-04-092004-06-01Webtv Networks, Inc.Managing access to set-top box objects using television conditional access system
US6748080B2 (en)2002-05-242004-06-08Scientific-Atlanta, Inc.Apparatus for entitling remote client devices
US6754904B1 (en)1999-12-302004-06-22America Online, Inc.Informing network users of television programming viewed by other network users
US6754827B1 (en)1997-02-112004-06-22Connected CorporationSecure File Archive through encryption key management
US20040128682A1 (en)2002-12-312004-07-01Kevin LigaTechniques for reinsertion of local market advertising in digital video from a bypass source
US20040126093A1 (en)2001-03-022004-07-01Platt David CConditional access system and method prevention of replay attacks
US6766451B1 (en)1999-01-282004-07-20Koninklijke Philips Electronics N.V.Transmission system
US6772133B1 (en)1999-03-052004-08-03Kabushiki Kaisha ToshibaInformation recording device and information reproducting device
US6772434B1 (en)2000-05-242004-08-03The Directv Group, Inc.Device and method for the integrated presentation of a secondary service as a part of a primary service
WO2004057871A3 (en)2002-12-172004-08-12Canal Plus TechnologiesMethod for access control in digital pay television
WO2004082286A1 (en)2003-03-122004-09-23Kudelski S.A.Pay television system, method for transmission of scrambled audiovisual programmes, decoder and chip for carrying out said method
US20040190721A1 (en)2003-03-242004-09-30Microsoft CorporationRenewable conditional access system
US6804357B1 (en)2000-04-282004-10-12Nokia CorporationMethod and system for providing secure subscriber content data
US20040205812A1 (en)2000-06-222004-10-14Candelore Brant L.Method and apparatus for routing program data in a program viewing unit
US6810387B1 (en)1999-09-142004-10-26Samsung Electronics Co., Ltd.Copy prevention apparatus and method in digital broadcasting receiving system
US20040216164A1 (en)*2002-07-172004-10-28William HayhurstDecentralized media delivery
US6834111B1 (en)1998-04-012004-12-21Matsushita Electric Industrial Co., Ltd.Data transmitting/receiving method, data transmitter, data receiver, data transmitting/receiving system, av content transmitting method, av content receiving method, av content transmitter, av content receiver, and program recording medium
US20040260798A1 (en)2003-06-202004-12-23N2 Broadband, Inc.Systems and methods for distributing software for a host device in a cable system
US20040261126A1 (en)2003-06-202004-12-23N2 Broadband, Inc.Systems and methods for provisioning a host device for enhanced services in a cable system
US20050005286A1 (en)2001-11-152005-01-06Antti KoskelaSystem and method for activating individualized software modules in a digital broadcast environment
US20050005300A1 (en)2003-07-022005-01-06Daniel PuttermanResource management for a networked personal video recording system
US6851055B1 (en)*2000-09-302005-02-01Keen Personal Technologies, Inc.Digital video recorder for encrypting/decrypting video programs in segments to facilitate trick play features
US6853728B1 (en)2000-07-212005-02-08The Directv Group, Inc.Video on demand pay per view services with unmodified conditional access functionality
US20050039025A1 (en)2003-07-222005-02-17Alexander MainSoftware conditional access system
US20050050333A1 (en)2003-08-272005-03-03Bce Inc.System and method for secure broadcast
US20050061884A1 (en)2003-09-182005-03-24Hughes Electronics CorporationSmart card reader
US20050071280A1 (en)2003-09-252005-03-31Convergys Information Management Group, Inc.System and method for federated rights management
US20050084102A1 (en)2003-10-072005-04-21Hollar Mark A.Method and apparatus for conveying rights across an analog video interface
US20050091681A1 (en)2003-10-222005-04-28Bruce BordenSystems and methods for video storage and display
US6889208B1 (en)1999-04-152005-05-03Victor Company Of Japan, Ltd.Contents sale system
US20050108519A1 (en)2000-03-022005-05-19Tivo Inc.Secure multimedia transfer system
US20050107157A1 (en)2002-01-072005-05-19Wachtfogel David M.Secure offline interactive gambling
US20050120386A1 (en)2003-12-012005-06-02General Instrument CorporationMulti-device distributed digital video recording systems and methods
US6904522B1 (en)1998-07-152005-06-07Canal+ TechnologiesMethod and apparatus for secure communication of information between a plurality of digital audiovisual devices
US6912513B1 (en)1999-10-292005-06-28Sony CorporationCopy-protecting management using a user scrambling key
US20050144468A1 (en)2003-01-132005-06-30Northcutt J. D.Method and apparatus for content protection in a personal digital network environment
US20050169468A1 (en)2004-01-292005-08-04Fahrny James W.System and method for security processing media streams
US20050182931A1 (en)2004-02-132005-08-18Arnaud RobertConditional access to digital rights management conversion
US20050183112A1 (en)2004-02-132005-08-18Gregory DuvalMethod for managing rights of subscribers to a multi-operator pay-television system
US6934963B1 (en)1998-09-222005-08-23United Video Properties, Inc.Interactive television program guide with passive content
US20050195975A1 (en)2003-01-212005-09-08Kevin KawakitaDigital media distribution cryptography using media ticket smart cards
US20050204391A1 (en)2004-02-232005-09-15Hunleth Frank A.Methods and systems for a secure media computing environment
US20050216942A1 (en)*2000-03-022005-09-29Tivo Inc.Multicasting multimedia content distribution system
US20050235361A1 (en)2004-04-192005-10-20Microsoft CorporationRendering protected digital content within a network of computing devices or the like
US6961858B2 (en)2000-06-162005-11-01Entriq, Inc.Method and system to secure content for distribution via a network
US20050249350A1 (en)2004-05-042005-11-10Kahn Raynold MDigital media conditional access system for handling digital media content
US20050262573A1 (en)*2004-05-182005-11-24Victor Company Of Japan, Ltd.Content presentation
US20050289064A1 (en)2002-12-312005-12-29Medialive, A Corporation Of FrancePersonalized markup for protecting numerical audiovisual streams
US6987854B2 (en)1997-09-252006-01-17Thomson Licensing S.A.Method and apparatus for recording of encrypted digital data
US6993499B2 (en)2000-11-292006-01-31The Directv Group, Inc.Pay-TV billing, system activation, and E-commerce using a pay-TV receiver
US20060064383A1 (en)2004-09-202006-03-23Aaron MarkingMedia on demand via peering
US20060085835A1 (en)2004-04-302006-04-20Vulcan Inc.Network-accessible control of one or more media devices
US7035827B2 (en)2000-10-172006-04-25Sony CorporationContent receiving apparatus and method, storage medium, and server
US20060122946A1 (en)*2004-12-082006-06-08Fahrny James WMethod and system for securing content in media systems
US20060126833A1 (en)*2004-11-222006-06-15Pendula LimitedProtection of electronic data
US20060168663A1 (en)2000-05-252006-07-27Viljoen Andre FSecure transaction protocol
US20060179489A1 (en)2001-06-222006-08-10Joan-Maria Mas RibesConditional access system for digital data by key decryption and re-encryption
US7096271B1 (en)*1998-09-152006-08-22Microsoft CorporationManaging timeline modification and synchronization of multiple media streams in networked client/server systems
US20060195881A1 (en)*2004-12-082006-08-31Imagine Communications, Ltd.Distributed statistical multiplexing of multi-media
US20060212928A1 (en)*2005-03-172006-09-21Fabio MainoMethod and apparatus to secure AAA protocol messages
US20060218620A1 (en)*2005-03-032006-09-28Dinesh NadarajahNetwork digital video recorder and method
US20060242155A1 (en)*2005-04-202006-10-26Microsoft CorporationSystems and methods for providing distributed, decentralized data storage and retrieval
US20070009235A1 (en)*2005-07-072007-01-11Eric WaltersSystem and method for digital content retrieval
US20070050590A1 (en)*2005-08-312007-03-01Syed Yasser FMethod and system of allocating data for subsequent retrieval
US7191335B1 (en)1999-02-042007-03-13Canal + TechnologiesMethod and apparatus for encrypted transmission
US7191155B2 (en)2001-08-152007-03-13Fujitsu LimitedLicense transmitting and distributing system under offline environment and method thereof
US20070058924A1 (en)*2005-09-132007-03-15Cyberlink Corp.Systems and methods for networking digital video recorders
US20070083886A1 (en)2000-12-112007-04-12General Instrument CorporationSeamless Arbitrary Data Insertion for Streaming Media
US20070100891A1 (en)2005-10-262007-05-03Patrick NeeMethod of forming a multimedia package
US20070118606A1 (en)*2003-11-042007-05-24Koninklijke Philips Electronics N.V.Virtual content directory service
US7240359B1 (en)1999-10-132007-07-03Starz Entertainment, LlcProgramming distribution system
US20070219918A1 (en)*2001-01-192007-09-20Jonathan SchullSystem and method for controlling access to protected information
US20070245010A1 (en)*2006-03-242007-10-18Robert ArnSystems and methods for multi-perspective optimization of data transfers in heterogeneous networks such as the internet
US20070288638A1 (en)*2006-04-032007-12-13British Columbia, University OfMethods and distributed systems for data location and delivery
US20070294422A1 (en)*2006-06-202007-12-20Gal ZuckermanMethods and systems for push-to-storage
US20080019529A1 (en)*2004-01-162008-01-24Kahn Raynold MDistribution of video content using client to host pairing of integrated receivers/decoders
US20080022297A1 (en)2006-06-282008-01-24Sbc Knowledge Ventures, LpSystem and method of sharing private content
US7370342B2 (en)*1998-06-122008-05-06Metabyte Networks, Inc.Method and apparatus for delivery of targeted video programming
US20080168523A1 (en)*2006-12-292008-07-10Prodea Systems, Inc.System And Method To Acquire, Aggregate, Manage, And Distribute Media
US20080172593A1 (en)*2006-11-282008-07-17Raysat Inc.Broadcasting of Digital Video to Mobile Terminals
US20080288998A1 (en)*1998-07-302008-11-20David LocketMultimedia signal processing system
US20080301738A1 (en)2002-10-042008-12-04Davies David BAccess of Stored Video From Peer Devices in a Local Network
US20090080653A1 (en)*2001-06-062009-03-26Candelore Brant LPartial encryption storage medium
US7549058B1 (en)*2005-06-302009-06-16Mavs Lab. Inc.Method and apparatus for encrypting and decrypting digital data
US20100027550A1 (en)2002-01-022010-02-04Candelore Brant LContent replacement by PID mapping
US7774623B2 (en)*2003-11-122010-08-10Microsoft CorporationObfuscated state store for rights management system and the like
US7876998B2 (en)2005-10-052011-01-25Wall William EDVD playback over multi-room by copying to HDD
US7945587B2 (en)*2007-10-102011-05-17Microsoft CorporationRandom allocation of media storage units
US20130035778A1 (en)2005-01-072013-02-07Apple Inc.Highly portable media device

Patent Citations (405)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6292568B1 (en)1966-12-162001-09-18Scientific-Atlanta, Inc.Representing entitlements to service in a conditional access system
US3794922A (en)1972-01-261974-02-26TocomData sampling communication system
US3885089A (en)1973-02-161975-05-20Hughes Aircraft CoTelevision scrambling system
US4241237A (en)1979-01-261980-12-23Metretek IncorporatedApparatus and method for remote sensor monitoring, metering and control
US5335277A (en)1981-11-031994-08-02The Personalized Mass Media CorporationSignal processing appparatus and methods
US4694490A (en)1981-11-031987-09-15Harvey John CSignal processing apparatus and methods
US4613901A (en)1983-05-271986-09-23M/A-Com Linkabit, Inc.Signal encryption and distribution system for controlling scrambling and selective remote descrambling of television signals
US4605961A (en)*1983-12-221986-08-12Frederiksen Jeffrey EVideo transmission system using time-warp scrambling
US4675732A (en)1984-12-191987-06-23Nordspace AktiebolagSatellite/hybrid television system
US4866787A (en)1984-12-191989-09-12Lykke OlesenChannel strip for use in a satellite/hybrid television system
US4633309A (en)1985-05-061986-12-30Oak Industries Inc.Cable television master/slave decoder control
US5191410A (en)1987-08-041993-03-02Telaction CorporationInteractive multimedia presentation and communications system
US4866769A (en)1987-08-051989-09-12Ibm CorporationHardware assist for protecting PC software
US5505901A (en)1988-03-101996-04-09Scientific-Atlanta, Inc.CATV pay per view interdiction system method and apparatus
US5012510A (en)1988-04-271991-04-30Scientific Atlantic Inc.Dynamic callback technique
US5015830A (en)1988-07-041991-05-14Sharp Kabushiki KaishaElectronic card reading device
US5105268A (en)1988-11-081992-04-14Fujitsu LimitedCommunity antenna broadcast system having an improved channel selecting system permitting purchase of a selected channel from a plurality of non-purchased channels
US5199066A (en)1989-04-181993-03-30Special Effects Software, Inc.Method and apparatus for protecting software
US5091618A (en)1989-05-231992-02-25Hitachi Maxell, Ltd.Ic card reader/writer
US5068894A (en)1989-08-221991-11-26U.S. Philips Corp.Method of generating a unique number for a smart card and its use for the cooperation of the card with a host system
US5421031A (en)1989-08-231995-05-30Delta Beta Pty. Ltd.Program transmission optimisation
US6519693B1 (en)*1989-08-232003-02-11Delta Beta, Pty, Ltd.Method and system of program transmission optimization using a redundant transmission sequence
US5701582A (en)1989-08-231997-12-23Delta Beta Pty. Ltd.Method and apparatus for efficient transmissions of programs
US5481609A (en)1989-11-141996-01-02News Data Security Products Ltd.System for controlling access to broadcast transmissions
WO1991011884A1 (en)1990-02-011991-08-08Scientific-Atlanta, Inc.External security module for a television signal decoder
US5033084A (en)1990-04-021991-07-16Data I/O CorporationMethod and apparatus for protection of software in an electronic system
US5036461A (en)1990-05-161991-07-30Elliott John CTwo-way authentication system between user's smart card and issuer-specific plug-in application modules in multi-issued transaction device
JPH04175025A (en)1990-11-081992-06-23Nippon Hoso Kyokai <Nhk>Broadcast reception control system
US5172413A (en)1990-12-201992-12-15SasktelSecure hierarchial video delivery system and method
USRE35651E (en)1990-12-201997-11-04SasktelSecure hierarchial video delivery system and method
US5583937B1 (en)1990-12-211997-10-07Gte Service CorpMethod for providing video programming nearly on demand
US5583937A (en)1990-12-211996-12-10Gte Service CorporationMethod for providing video programming nearly on demand
US5168353A (en)1990-12-211992-12-01Gte Laboratories IncorporatedVideo distribution system allowing viewer access to time staggered indentical prerecorded programs
US5396293A (en)1990-12-271995-03-07Deutsche Thomson-Brandt GmbhFilter circuit with bandwidth varied as a function of bit error rate and luminance level
US5132992A (en)1991-01-071992-07-21Paul YurtAudio and video transmission and receiving system
US5115467A (en)1991-01-231992-05-19General Instrument CorporationSignal encryption apparatus for generating common and distinct keys
US5301245A (en)1991-03-291994-04-05Pioneer Electronic CorporationSystem for transmitting a commercial program in a CATV system
US5270809A (en)1991-03-291993-12-14Scientific-AtlantaData return for a television transmission system
US5565805A (en)1991-07-041996-10-15Sony CorporationChange-over divider for use in satellite broadcast receiving system
US5301352A (en)1991-07-041994-04-05Sony CorporationSatellite broadcast receiving system and change-over divider for use in same
US5386587A (en)1991-12-201995-01-31Sony CorporationSatellite broadcasting receiving system with reception level indicator using control signal from receiver
US6418424B1 (en)1991-12-232002-07-09Steven M. HoffbergErgonomic man-machine interface incorporating adaptive pattern recognition based control system
US5331139A (en)1992-03-181994-07-19Goldstar Electric Machinery Co., Ltd.Card reader with antiabrasion member
JPH05284499A (en)1992-04-021993-10-29Nec CorpSystem for reproducing pay television/audio program broadcasting
US5495531A (en)1992-07-211996-02-27Son Holdings Limited Of C/O Celtic Trust Company LimitedEquipment which included electronics
US5371551A (en)1992-10-291994-12-06Logan; JamesTime delayed digital video system using concurrent recording and playback
US5357276A (en)1992-12-011994-10-18Scientific-Atlanta, Inc.Method of providing video on demand with VCR like functions
US5592551A (en)1992-12-011997-01-07Scientific-Atlanta, Inc.Method and apparatus for providing interactive electronic programming guide
US5734853A (en)1992-12-091998-03-31Discovery Communications, Inc.Set top terminal for cable television delivery systems
US6539548B1 (en)1992-12-092003-03-25Discovery Communications, Inc.Operations center for a television program packaging and delivery system
US5559549A (en)1992-12-091996-09-24Discovery Communications, Inc.Television program delivery system
US5442389A (en)1992-12-281995-08-15At&T Corp.Program server for interactive television system
US5664046A (en)1993-01-111997-09-02Abecassis; MaxAutoconfigurable video system
US5710970A (en)1993-02-011998-01-20Instant Video Technologies, Inc.Broadcast video burst transmission cyclic distribution method
US20050086696A1 (en)*1993-03-292005-04-21Microsoft CorporationMethods for enabling near video-on-demand and video-on-request services using digital video recorders
US5592212A (en)1993-04-161997-01-07News Datacom Ltd.Methods and systems for non-program applications for subscriber television
US5506902A (en)1993-04-201996-04-09Sony CorporationData broadcasting system
US5485221A (en)1993-06-071996-01-16Scientific-Atlanta, Inc.Subscription television system and terminal for enabling simultaneous display of multiple services
JPH06351023A (en)1993-06-101994-12-22Fujitsu General Ltd Satellite broadcasting antenna adjustment device
US5592651A (en)1993-06-111997-01-07Rackman; Michael I.Method and system for limiting multi-user play of video game cartridges
US5438423A (en)1993-06-251995-08-01Tektronix, Inc.Time warping for video viewing
US5438423C1 (en)1993-06-252002-08-27Grass Valley Us IncTime warping for video viewing
US5440336A (en)1993-07-231995-08-08Electronic Data Systems CorporationSystem and method for storing and forwarding audio and/or visual information on demand
US5381481A (en)1993-08-041995-01-10Scientific-Atlanta, Inc.Method and apparatus for uniquely encrypting a plurality of services at a transmission site
US5715315A (en)1993-08-191998-02-03News Datacom LtdCATV systems
US5930215A (en)1993-10-061999-07-27Sony CorporationCD-Rom with machine-readable I.D. code
US5590200A (en)1993-12-091996-12-31News Datacom Ltd.Apparatus and method for securing communication systems
US5867207A (en)1994-01-051999-02-02Thomson Consumer Electronics, Inc.Program guide in a digital video system
US5504816A (en)1994-02-021996-04-02Gi CorporationMethod and apparatus for controlling access to digital signals
US5511986A (en)1994-02-231996-04-30Molex IncorporatedIC pack connector with detect switch
US5787172A (en)1994-02-241998-07-28The Merdan Group, Inc.Apparatus and method for establishing a cryptographic link between elements of a system
US6148400A (en)1994-02-242000-11-14The Merdan Group, Inc.Apparatus and method for establishing a crytographic link between elements of a system
US6005937A (en)1994-03-071999-12-21International Video Network, Inc.Universal decoder
US6298441B1 (en)1994-03-102001-10-02News Datacom Ltd.Secure document access system
US5987501A (en)*1994-03-211999-11-16Avid Technology, Inc.Multimedia system having server for retrieving media data as indicated in the list provided by a client computer
US5912969A (en)1994-03-311999-06-15Hitachi, Ltd.Information receiving and recording/reproducing apparatus/method having function for limiting/delimiting for protecting copyright of recording information
US5699429A (en)1994-04-221997-12-16Thomson Consumer Electronics, Inc.Packet TV program component detector
US5793971A (en)1994-04-251998-08-11Sony CorporationVideo signal output apparatus having near video-on-demand function
US5661517A (en)1994-05-021997-08-26Messagephone, Inc.Interactive intelligent video information system
US5701383A (en)1994-05-201997-12-23Gemstar Development CorporationVideo time-shifting apparatus
EP0975165B1 (en)1994-07-082003-05-02Sony CorporationReceiving controlled-access broadcast signals
US5557541A (en)1994-07-211996-09-17Information Highway Media CorporationApparatus for distributing subscription and on-demand audio programming
US6072982A (en)1994-08-022000-06-06Haddad; Joseph C.Interactive audiovisual distribution system
US5899582A (en)1994-08-081999-05-04Hyundai Electronics AmericaMovie-on-demand disk storage loop architecture
US5640453A (en)1994-08-111997-06-17Stanford Telecommunications, Inc.Universal interactive set-top controller for downloading and playback of information and entertainment services
US5677895A (en)1994-08-181997-10-14Mankovitz; Roy J.Apparatus and methods for setting timepieces
US5729000A (en)1994-08-311998-03-17Oki Electric Industry Co., Ltd.IC card reader
US5729280A (en)1994-08-311998-03-17Sony CorporationNear video-on-demand signal receiver having a memory which provides for VCR like functions
US5566353A (en)1994-09-061996-10-15Bylon Company LimitedPoint of purchase video distribution system
US5586264A (en)1994-09-081996-12-17Ibm CorporationVideo optimized media streamer with cache management
US5663896A (en)1994-09-221997-09-02Intel CorporationBroadcast key distribution apparatus and method using Chinese Remainder
US5926205A (en)1994-10-191999-07-20Imedia CorporationMethod and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
JPH08125651A (en)1994-10-281996-05-17Hitachi Ltd Signal processor
EP0710017A2 (en)1994-10-281996-05-01Plessey Semiconductors LimitedTelevision receiver with an interface for the displaying and communication of data
US5715403A (en)1994-11-231998-02-03Xerox CorporationSystem for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5761302A (en)1994-11-261998-06-02Lg Electronics Inc.Copy prevention method and apparatus for digital video system
US6523114B1 (en)*1994-12-142003-02-18Sony CorporationMethod and apparatus for embedding authentication information within digital data
US6064724A (en)1994-12-302000-05-16Thomson Consumer ElectronicsModem with automatic callback provisions
US5748732A (en)1995-02-081998-05-05U.S. Philips CorporationPay TV method and device which comprise master and slave decoders
US5642418A (en)1995-02-211997-06-24Bell Atlantic Network Services, Inc.Satellite television system and method
US6025868A (en)1995-02-242000-02-15Smart Vcr Limited PartnershipStored program pay-per-play
US5708963A (en)1995-02-241998-01-13Scientific-Atlanta, Inc.Method and apparatus for using satellites for reverse path communication in direct-to-home subscription information systems
US5619247A (en)1995-02-241997-04-08Smart Vcr Limited PartnershipStored program pay-per-play
US6041056A (en)1995-03-282000-03-21Bell Atlantic Network Services, Inc.Full service network having distributed architecture
US6157719A (en)1995-04-032000-12-05Scientific-Atlanta, Inc.Conditional access system
US6105134A (en)1995-04-032000-08-15Scientific-Atlanta, Inc.Verification of the source of program information in a conditional access system
US6516412B2 (en)1995-04-032003-02-04Scientific-Atlanta, Inc.Authorization of services in a conditional access system
US6510519B2 (en)1995-04-032003-01-21Scientific-Atlanta, Inc.Conditional access system
US6560340B1 (en)1995-04-032003-05-06Scientific-Atlanta, Inc.Method and apparatus for geographically limiting service in a conditional access system
US5666645A (en)1995-04-261997-09-09News America Publications, Inc.Data management and distribution system and method for an electronic television program guide
US5793413A (en)1995-05-011998-08-11Bell Atlantic Network Services, Inc.Wireless video distribution
US5630204A (en)1995-05-011997-05-13Bell Atlantic Network Services, Inc.Customer premise wireless distribution of broad band signals and two-way communication of control signals over power lines
US6668377B1 (en)1995-05-052003-12-23Microsoft CorporationSystem for previewing video trailers
US5721829A (en)1995-05-051998-02-24Microsoft CorporationSystem for automatic pause/resume of content delivered on a channel in response to switching to and from that channel and resuming so that a portion of the content is repeated
US5872353A (en)1995-05-091999-02-16Amphenol-Tuchel Electronics GmbhChip card reading device
US5914941A (en)1995-05-251999-06-22Information Highway Media CorporationPortable information storage/playback apparatus having a data interface
US5764762A (en)1995-06-081998-06-09Wave System Corp.Encrypted data package record for use in remote transaction metered data system
US5953418A (en)1995-06-141999-09-14David HallProviding selective data broadcast receiver addressability
US5724646A (en)1995-06-151998-03-03International Business Machines CorporationFixed video-on-demand
US6091883A (en)1995-07-132000-07-18Thomson Multimedia S.A.Method and device for recording and reading on a large-capacity medium
US5784095A (en)1995-07-141998-07-21General Instrument CorporationDigital audio system with video output program guide
US5675390A (en)1995-07-171997-10-07Gateway 2000, Inc.Home entertainment system combining complex processor capability with a high quality display
US5864747A (en)1995-08-241999-01-26General Dynamics Information Systems, Inc.Data bridge
US5684742A (en)1995-09-201997-11-04International Business Machines CorporationDevice and method for the simplified generation of tools for the initialization and personalization of and communication with a chip card
US5999629A (en)1995-10-311999-12-07Lucent Technologies Inc.Data encryption security module
US6144400A (en)1995-11-272000-11-07Sony CorporationData delivery system, data receiving apparatus, and storage medium for video programs
US6263504B1 (en)1995-11-272001-07-17Sony CorporationData delivery system, data receiving apparatus, and storage medium for video programs
US5870474A (en)1995-12-041999-02-09Scientific-Atlanta, Inc.Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
US5831664A (en)1995-12-151998-11-03Mediaone Group, Inc.Method and system for synchronizing data between at least one mobile interface device and an interactive terminal
US5594491A (en)1995-12-291997-01-14Vxl/Hcr Technology CorporationNear-video-on-demand digital video distribution system utilizing asymmetric digital subscriber lines
US5999628A (en)1995-12-291999-12-07Intel CorporationMethod and apparatus for improved digital message transaction model
US5973756A (en)1996-02-061999-10-26Fca CorporationIR Transmitter with integral magnetic-stripe ATM type credit card reader & method therefor
US6275991B1 (en)1996-02-062001-08-14Fca CorporationIR transmitter with integral magnetic-stripe ATM type credit card reader and method therefor
US6286142B1 (en)1996-02-232001-09-04Alcatel Usa, Inc.Method and system for communicating video signals to a plurality of television sets
US5898919A (en)1996-02-261999-04-27E Guide, Inc.Cordless phone back link for interactive television system
US6055314A (en)1996-03-222000-04-25Microsoft CorporationSystem and method for secure purchase and delivery of video content programs
US5790663A (en)1996-03-281998-08-04Advanced Micro Devices, Inc.Method and apparatus for software access to a microprocessor serial number
US5790783A (en)1996-03-281998-08-04Advanced Micro Devices, Inc.Method and apparatus for upgrading the software lock of microprocessor
US6381747B1 (en)1996-04-012002-04-30Macrovision Corp.Method for controlling copy protection in digital video networks
US6519772B1 (en)1996-04-152003-02-11Autodesk Canada Inc.Video data storage
US5889941A (en)1996-04-151999-03-30Ubiq Inc.System and apparatus for smart card personalization
US5892535A (en)1996-05-081999-04-06Digital Video Systems, Inc.Flexible, configurable, hierarchical system for distributing programming
US5805699A (en)1996-05-201998-09-08Fujitsu LimitedSoftware copying system
US5933500A (en)1996-05-311999-08-03Thomson Consumer Electronics, Inc.Adaptive decoding system for processing encrypted and non-encrypted broadcast, cable or satellite video data
US6266481B1 (en)1996-06-192001-07-24Sony CorporationConditional access system for local storage device
JPH1013784A (en)1996-06-241998-01-16Matsushita Electric Ind Co Ltd Broadcast signal recording and playback device
US5966186A (en)1996-07-121999-10-12Kabushiki Kaisha ToshibaDigital broadcast receiving device capable of indicating a receiving signal strength or quality
US5845240A (en)1996-07-241998-12-01Fielder; MarkSelective recall and preservation of continuously recorded data
US6061451A (en)1996-09-032000-05-09Digital Vision Laboratories CorporationApparatus and method for receiving and decrypting encrypted data and protecting decrypted data from illegal use
US6105868A (en)1996-09-202000-08-22Amphenol-Tuchel Electronics GmbhChip card contacting device
US6011511A (en)1996-11-072000-01-04Samsung Electronics Co., Ltd.Satellite dish positioning system
US5937067A (en)1996-11-121999-08-10Scientific-Atlanta, Inc.Apparatus and method for local encryption control of a global transport data stream
US6543053B1 (en)*1996-11-272003-04-01University Of Hong KongInteractive video-on-demand system
US6061452A (en)1996-11-292000-05-09Canon Kabushiki KaishaSecure media on demand system whereby charge is determined in part from the periodicity of an encryption key
US5930802A (en)*1996-11-291999-07-27Daewoo Electronics Co., Ltd.Method for automatically linking index data with image data in a search system
US5936660A (en)1996-12-121999-08-10Rockwell Semiconductor System, Inc.Digital video converter box for subscriber/home with multiple television sets
US5818934A (en)1996-12-181998-10-06Phillips Electronics North America CorporationMethod and apparatus for providing a cryptographically secure interface between the decryption engine and the system decoder of a digital television receiver
US6006987A (en)1996-12-201999-12-28Siemens AktiengesellschaftRemovable card carrier assembly
US5978649A (en)1996-12-271999-11-02Hughes Electronics CorporationMethod and apparatus for dynamic conditional channel authorization in a broadcast system
US5826165A (en)1997-01-211998-10-20Hughes Electronics CorporationAdvertisement reconciliation system
US6178242B1 (en)1997-02-072001-01-23Nds LimitedDigital recording protection system
US20020046339A1 (en)*1997-02-102002-04-18Mihir BellareProbabilistic signature scheme
US6754827B1 (en)1997-02-112004-06-22Connected CorporationSecure File Archive through encryption key management
US5850218A (en)1997-02-191998-12-15Time Warner Entertainment Company L.P.Inter-active program guide with default selection control
US6317884B1 (en)1997-02-192001-11-13Next Level CommunicationsVideo, data and telephony gateway
US6072873A (en)1997-03-062000-06-06Lsi Logic CorporationDigital video broadcasting
US6466671B1 (en)1997-03-212002-10-15Michel MaillardSmartcard for use with a receiver of encrypted broadcast signals, and receiver
US5898159A (en)1997-05-281999-04-27Huang; Kong-HungStructural improvement on ID card processor
US6038000A (en)1997-05-282000-03-14Sarnoff CorporationInformation stream syntax for indicating the presence of a splice point
WO1998056180A1 (en)1997-06-061998-12-10Thomson Consumer Electronics, Inc.Global conditional access system for broadcast services
US20030040962A1 (en)1997-06-122003-02-27Lewis William H.System and data management and on-demand rental and purchase of digital data products
US6466921B1 (en)1997-06-132002-10-15Pitney Bowes Inc.Virtual postage meter with secure digital signature device
US6405372B1 (en)1997-06-242002-06-11Samsung Electronics Co., Ltd.Method for updating electronic program guide information and device thereof in a digital TV receiver
US6288716B1 (en)1997-06-252001-09-11Samsung Electronics, Co., LtdBrowser based command and control home network
US20040168071A1 (en)1997-07-152004-08-26Kia SilverbrookApparatus for validating the presence of an authorized accessory
US6442525B1 (en)1997-07-152002-08-27Silverbrook Res Pty LtdSystem for authenticating physical objects
US6987854B2 (en)1997-09-252006-01-17Thomson Licensing S.A.Method and apparatus for recording of encrypted digital data
US6424947B1 (en)1997-09-292002-07-23Nds LimitedDistributed IRD system
WO1999018729A1 (en)1997-10-021999-04-15Canal+ Societe AnonymeMethod and apparatus for encrypted data stream transmission
US5936222A (en)1997-10-031999-08-10The Whitaker CorporationSmart card reader having pivoting contacts
US6061449A (en)1997-10-102000-05-09General Instrument CorporationSecure processor with external memory using block chaining and block re-ordering
JPH11136708A (en)1997-10-301999-05-21Yagi Antenna Co Ltd Antenna direction adjustment device
US6075330A (en)1997-11-072000-06-13Terk Technologies Corp.Outdoor antenna system with remote control and method for optimizing antenna function
US6141531A (en)1997-11-262000-10-31Direct Wireless CorporationLocal wireless communication system with external communications link
US6516465B1 (en)1997-12-092003-02-04Sony United Kingdom LimitedDigital video receiver, a conditional access module and a method of transmitting data therebetween
US6816970B2 (en)1997-12-112004-11-09International Business Machines CorporationSecurity method and system for persistent storage and communications on computer network systems and computer network systems employing the same
US20010001876A1 (en)1997-12-112001-05-24International Business Machines CorporationSecurity method and system for persistent storage and communications on computer network systems and computer network systems employing the same
US6480667B1 (en)1997-12-232002-11-12Intel CorporationMethod of time shifting to simultaneously record and play a data stream
US7660947B2 (en)*1997-12-242010-02-09Avid Technology, Inc.Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US7111115B2 (en)*1997-12-242006-09-19Avid Technology, Inc.Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6374336B1 (en)*1997-12-242002-04-16Avid Technology, Inc.Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US7917696B2 (en)*1997-12-242011-03-29Avid Technology, Inc.Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US7487309B2 (en)*1997-12-242009-02-03Avid Technology, Inc.Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US20070016727A1 (en)*1997-12-242007-01-18Peters Eric CComputer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US20020162047A1 (en)*1997-12-242002-10-31Peters Eric C.Computer system and process for transferring streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6097441A (en)1997-12-312000-08-01Eremote, Inc.System for dual-display interaction with integrated television and internet content
US6267295B1 (en)1998-01-092001-07-31Anritsu CorporationIC card processing apparatus having a unique contact member
US6055566A (en)1998-01-122000-04-25Lextron Systems, Inc.Customizable media player with online/offline capabilities
EP0989557A1 (en)1998-01-262000-03-29Matsushita Electric Industrial Co., Ltd.Method and system for data recording / reproducing, apparatus for recording/reproducing, and media for recording program
US6069647A (en)1998-01-292000-05-30Intel CorporationConditional access and content security method
JPH11284584A (en)1998-01-311999-10-15Sony CorpDevice and method for program selective history information
JPH11220444A (en)1998-01-311999-08-10Sony CorpDevice and method for acquiring program selection history information
US6202211B1 (en)1998-02-062001-03-13Henry R. Williams, Jr.Method and apparatus for providing television signals to multiple viewing systems on a network
US6385596B1 (en)*1998-02-062002-05-07Liquid Audio, Inc.Secure online music distribution system
US6487722B1 (en)1998-02-122002-11-26Sony CorporationEPG transmitting apparatus and method, EPG receiving apparatus and method, EPG transmitting/receiving system and method, and provider
EP0936812A1 (en)1998-02-131999-08-18CANAL+ Société AnonymeMethod and apparatus for recording of encrypted digital data
US6714650B1 (en)1998-02-132004-03-30Canal + Societe AnonymeRecording of scrambled digital data
WO1999043120A8 (en)1998-02-201999-10-21Digital Video Express LpInformation access control system and method
US6163284A (en)1998-03-312000-12-19Sony CorporationSignal processing circuit and signal processing method
US6834111B1 (en)1998-04-012004-12-21Matsushita Electric Industrial Co., Ltd.Data transmitting/receiving method, data transmitter, data receiver, data transmitting/receiving system, av content transmitting method, av content receiving method, av content transmitter, av content receiver, and program recording medium
US6745245B1 (en)1998-04-092004-06-01Webtv Networks, Inc.Managing access to set-top box objects using television conditional access system
US6591419B2 (en)1998-04-242003-07-08Sony United Kingdom LimitedDigital multi-media device and method relating thereto
US6154206A (en)1998-05-062000-11-28Sony Corporation Of JapanMethod and apparatus for distributed conditional access control on a serial communication network
US6476825B1 (en)1998-05-132002-11-05Clemens CroyHand-held video viewer and remote control device
US6157949A (en)1998-05-282000-12-05Industrial Technology Research InstituteData placement on direct access devices for media servers with cyclic re-broadcast capability
US6148081A (en)1998-05-292000-11-14Opentv, Inc.Security model for interactive television applications
US6038319A (en)1998-05-292000-03-14Opentv, Inc.Security model for sharing in interactive television applications
US6240401B1 (en)1998-06-052001-05-29Digital Video Express, L.P.System and method for movie transaction processing
US7370342B2 (en)*1998-06-122008-05-06Metabyte Networks, Inc.Method and apparatus for delivery of targeted video programming
US20020178452A1 (en)1998-06-222002-11-28Daniel LecomteIn-home network for distributing data
US6904522B1 (en)1998-07-152005-06-07Canal+ TechnologiesMethod and apparatus for secure communication of information between a plurality of digital audiovisual devices
US20080288998A1 (en)*1998-07-302008-11-20David LocketMultimedia signal processing system
US6550011B1 (en)1998-08-052003-04-15Hewlett Packard Development Company, L.P.Media content protection utilizing public key cryptography
US6574609B1 (en)1998-08-132003-06-03International Business Machines CorporationSecure electronic content management system
US6226618B1 (en)1998-08-132001-05-01International Business Machines CorporationElectronic content delivery system
US6398245B1 (en)1998-08-132002-06-04International Business Machines CorporationKey management system for digital content player
US6611812B2 (en)1998-08-132003-08-26International Business Machines CorporationSecure electronic content distribution on CDS and DVDs
US6418421B1 (en)1998-08-132002-07-09International Business Machines CorporationMultimedia player for an electronic content delivery system
US6456985B1 (en)1998-08-252002-09-24Fuji Photo Film Co., Ltd.Image encrypting method and device, image decrypting method and device, and recording medium
WO2000013412A9 (en)1998-08-312001-06-21Thomson Licensing SaA copy protection system for home networks
WO2000014967A1 (en)1998-09-022000-03-16Koninklijke Philips Electronics N.V.Video signal transmission
US7096271B1 (en)*1998-09-152006-08-22Microsoft CorporationManaging timeline modification and synchronization of multiple media streams in networked client/server systems
US6530085B1 (en)1998-09-162003-03-04Webtv Networks, Inc.Configuration for enhanced entertainment system control
US6169879B1 (en)1998-09-162001-01-02Webtv Networks, Inc.System and method of interconnecting and using components of home entertainment system
US6437836B1 (en)1998-09-212002-08-20Navispace, Inc.Extended functionally remote control system and method therefore
US6934963B1 (en)1998-09-222005-08-23United Video Properties, Inc.Interactive television program guide with passive content
WO2000019294A2 (en)1998-09-252000-04-06Mcrae Matthew BPortable storage and control units for digital data
EP1122910A1 (en)1998-10-152001-08-08Mitsubishi CorporationMethod and device for protecting digital data by double re-encryption
US6687683B1 (en)1998-10-162004-02-03Matsushita Electric Industrial Co., Ltd.Production protection system dealing with contents that are digital production
US6862582B2 (en)1998-10-162005-03-01Matsushita Electric Industrial Co., Ltd.Production protection system dealing with contents that are digital production
JP2000122539A (en)1998-10-162000-04-28Matsushita Electric Ind Co Ltd Copyright protection system
US6487663B1 (en)1998-10-192002-11-26Realnetworks, Inc.System and method for regulating the transmission of media data
US6542870B1 (en)1998-10-272003-04-01Sony CorporationRecording apparatus
WO2000030354A1 (en)1998-11-132000-05-25Discovery Communications, Inc.Digital broadcast program ordering
US6496980B1 (en)1998-12-072002-12-17Intel CorporationMethod of providing replay on demand for streaming digital multimedia
US6317883B2 (en)1998-12-112001-11-13Mediaone Group, Inc.System and method for content-based television program selection
US20020100052A1 (en)1999-01-062002-07-25Daniels John J.Methods for enabling near video-on-demand and video-on-request services using digital video recorders
US20020021805A1 (en)1999-01-062002-02-21Schumann Robert WilhelmDigital content distribution system and method
US6766451B1 (en)1999-01-282004-07-20Koninklijke Philips Electronics N.V.Transmission system
US7191335B1 (en)1999-02-042007-03-13Canal + TechnologiesMethod and apparatus for encrypted transmission
US6772133B1 (en)1999-03-052004-08-03Kabushiki Kaisha ToshibaInformation recording device and information reproducting device
US6681326B2 (en)1999-03-122004-01-20Diva Systems CorporationSecure distribution of video on-demand
US6229895B1 (en)1999-03-122001-05-08Diva Systems Corp.Secure distribution of video on-demand
US6415031B1 (en)1999-03-122002-07-02Diva Systems CorporationSelective and renewable encryption for secure distribution of video on-demand
US6637027B1 (en)1999-03-182003-10-21Webtv Networks, Inc.System and method for controlling access to broadcast services
US6622307B1 (en)1999-03-262003-09-16Hughes Electronics CorporationMultiple-room signal distribution system
US20030174844A1 (en)1999-03-302003-09-18Candelore Brant L.Method and apparatus for protecting the transfer of data
US6697489B1 (en)1999-03-302004-02-24Sony CorporationMethod and apparatus for securing control words
US6889208B1 (en)1999-04-152005-05-03Victor Company Of Japan, Ltd.Contents sale system
US6473858B1 (en)1999-04-162002-10-29Digeo, Inc.Method and apparatus for broadcasting data with access control
US6370688B1 (en)1999-05-262002-04-09Enounce, Inc.Method and apparatus for server broadcast of time-converging multi-media streams
US6502139B1 (en)1999-06-012002-12-31Technion Research And Development Foundation Ltd.System for optimizing video on demand transmission by partitioning video program into multiple segments, decreasing transmission rate for successive segments and repeatedly, simultaneously transmission
US20020056112A1 (en)1999-06-032002-05-09Vincent DureauHome digital assistant
US6289455B1 (en)1999-09-022001-09-11Crypotography Research, Inc.Method and apparatus for preventing piracy of digital content
US6810387B1 (en)1999-09-142004-10-26Samsung Electronics Co., Ltd.Copy prevention apparatus and method in digital broadcasting receiving system
WO2001022724A1 (en)1999-09-232001-03-29Thomson Licensing S.A.Multimedia digital terminal and detachable module cooperating with the terminal comprising an interface protected against copying
US7240359B1 (en)1999-10-132007-07-03Starz Entertainment, LlcProgramming distribution system
US6216266B1 (en)1999-10-282001-04-10Hughes Electronics CorporationRemote control signal level meter
US6912513B1 (en)1999-10-292005-06-28Sony CorporationCopy-protecting management using a user scrambling key
US20030208771A1 (en)1999-10-292003-11-06Debra HensgenSystem and method for providing multi-perspective instant replay
US6654547B1 (en)1999-11-022003-11-25Matsushita Electric Industrial Co., Ltd.DVD rental system and method
WO2001037546A3 (en)1999-11-192001-11-08Scm Microsystems GmbhDigital television methods and apparatus
US20020101991A1 (en)1999-12-132002-08-01Kinney BaconMethod of identifying multiple digital streams within a multplexed signal
USD454875S1 (en)1999-12-292002-03-26Tyco Electronics Logistics AgSingle smart card reader
US6754904B1 (en)1999-12-302004-06-22America Online, Inc.Informing network users of television programming viewed by other network users
US6701528B1 (en)2000-01-262004-03-02Hughes Electronics CorporationVirtual video on demand using multiple encrypted video segments
US20040148634A1 (en)2000-01-262004-07-29Hughes Electronics CorporationVirtual video on demand using multiple encrypted video segments
US6588673B1 (en)2000-02-082003-07-08Mist Inc.Method and system providing in-line pre-production data preparation and personalization solutions for smart cards
US20050108519A1 (en)2000-03-022005-05-19Tivo Inc.Secure multimedia transfer system
US20050216942A1 (en)*2000-03-022005-09-29Tivo Inc.Multicasting multimedia content distribution system
US20020013948A1 (en)2000-03-132002-01-31Erwin AguayoVideo data management, transmission, and control system and method emloying distributed video segments microcasting
US20020046359A1 (en)*2000-03-162002-04-18Boden Scott T.Method and apparatus for secure and fault tolerant data storage
WO2001082600A3 (en)2000-04-252002-04-04Hughes Electronics CorpDvr system
US6804357B1 (en)2000-04-282004-10-12Nokia CorporationMethod and system for providing secure subscriber content data
US20010056576A1 (en)2000-05-182001-12-27Joong-Je ParkApparatus and method for receiving multichannel signals
US6772434B1 (en)2000-05-242004-08-03The Directv Group, Inc.Device and method for the integrated presentation of a secondary service as a part of a primary service
US20060168663A1 (en)2000-05-252006-07-27Viljoen Andre FSecure transaction protocol
US6741834B1 (en)2000-06-062004-05-25Hughes Electronics CorporationDevice and method to improve integrated presentation of existing radio services and advanced multimedia services
US6961858B2 (en)2000-06-162005-11-01Entriq, Inc.Method and system to secure content for distribution via a network
WO2001098920A1 (en)2000-06-212001-12-27Idt CorporationMethod and apparatus for distributing video programs using partial caching
US20040205812A1 (en)2000-06-222004-10-14Candelore Brant L.Method and apparatus for routing program data in a program viewing unit
US20020001386A1 (en)*2000-06-302002-01-03Koichiro AkiyamaBroadcast receiving method and apparatus and information distributing method and apparatus
US6853728B1 (en)2000-07-212005-02-08The Directv Group, Inc.Video on demand pay per view services with unmodified conditional access functionality
US20020023219A1 (en)2000-08-162002-02-21Koninklijke Philips Electronics N.V.Method and device for controlling distribution and use of digital works
US6851055B1 (en)*2000-09-302005-02-01Keen Personal Technologies, Inc.Digital video recorder for encrypting/decrypting video programs in segments to facilitate trick play features
US20020170054A1 (en)*2000-10-042002-11-14Andre KudelskiMechanism of matching between a receiver and a security module
US7035827B2 (en)2000-10-172006-04-25Sony CorporationContent receiving apparatus and method, storage medium, and server
US20020083438A1 (en)*2000-10-262002-06-27So Nicol Chung PangSystem for securely delivering encrypted content on demand with access contrl
US20030110132A1 (en)2000-10-302003-06-12Yoichiro SakoContent data, and its recording medium, recording method, recording apparatus, copying method, reproducing method, reproducing apparatus and output method
US20040068721A1 (en)*2000-11-172004-04-08O'neill PatrickNetwork for updating firmware and / or software in wireless communication devices
US6993499B2 (en)2000-11-292006-01-31The Directv Group, Inc.Pay-TV billing, system activation, and E-commerce using a pay-TV receiver
US20070083886A1 (en)2000-12-112007-04-12General Instrument CorporationSeamless Arbitrary Data Insertion for Streaming Media
US20070219918A1 (en)*2001-01-192007-09-20Jonathan SchullSystem and method for controlling access to protected information
US20030018968A1 (en)2001-02-012003-01-23Mark AvnetMethod and apparatus for inserting data into video stream to enhance television applications
WO2002063879A3 (en)2001-02-022003-12-18Opentv IncA service gateway for interactive television
US20020112243A1 (en)2001-02-122002-08-15World TheatreVideo distribution system
US20020112235A1 (en)2001-02-122002-08-15Ballou Bernard L.Video distribution system
US20020116705A1 (en)2001-02-202002-08-22Perlman Stephen G.System and method for processing conditional access data
US20040126093A1 (en)2001-03-022004-07-01Platt David CConditional access system and method prevention of replay attacks
US20020184628A1 (en)*2001-04-062002-12-05Kim Ik JuMethod of transmitting/receiving additional information
US20030070167A1 (en)2001-04-182003-04-10Alex HoltzAdvertisement management method, system, and computer program product
US20020166121A1 (en)2001-05-022002-11-07Rovira Luis A.System and method for providing television programs on demand
US20020170072A1 (en)2001-05-092002-11-14Lundbald James A.Systems for receiving and processing digital data carried by satellite transmissions
US20020184638A1 (en)*2001-05-292002-12-05Koninklijke Philips Electronics N.V.Video playback device capable of sharing resources and method of operation
US20090080653A1 (en)*2001-06-062009-03-26Candelore Brant LPartial encryption storage medium
US20060179489A1 (en)2001-06-222006-08-10Joan-Maria Mas RibesConditional access system for digital data by key decryption and re-encryption
US20030009773A1 (en)*2001-06-252003-01-09Carlson Randolph S.Video event capture, storage and processing method and apparatus
US20030005429A1 (en)2001-06-282003-01-02Nicholas ColseyEPG with video previews
US20030005285A1 (en)2001-06-292003-01-02Graunke Gary L.Method and apparatus for distributing keys for decrypting and re-encrypting publicly distributed media
US20030018980A1 (en)*2001-07-202003-01-23Eugene GorbatovMethod and apparatus for selective recording of television programs using event notifications
US7191155B2 (en)2001-08-152007-03-13Fujitsu LimitedLicense transmitting and distributing system under offline environment and method thereof
EP1304871A3 (en)2001-08-212003-06-18Canal+ Technologies Société AnonymeMethod and apparatus for a receiver/decoder
US20030061477A1 (en)2001-09-212003-03-27Kahn Raynold M.Method and apparatus for encrypting media programs for later purchase and viewing
US20030081131A1 (en)2001-10-262003-05-01Koninklijke Philips Electronics N.V.Method for viewing and controlling multiple DVR's
US20030088876A1 (en)2001-11-082003-05-08Liberate TechnologiesVideo on demand gateway
US20050005286A1 (en)2001-11-152005-01-06Antti KoskelaSystem and method for activating individualized software modules in a digital broadcast environment
US20030122966A1 (en)2001-12-062003-07-03Digeo, Inc.System and method for meta data distribution to customize media content playback
US20030115449A1 (en)*2001-12-182003-06-19International Business Machines CorporationEncryption method using synchronized continuously calculated pseudo-random key
US20100027550A1 (en)2002-01-022010-02-04Candelore Brant LContent replacement by PID mapping
US20030131349A1 (en)2002-01-042003-07-10General Instrument CorporationMethods and systems for managing and collecting impulse pay-per-view data in smart card enabled television terminals
US20050107157A1 (en)2002-01-072005-05-19Wachtfogel David M.Secure offline interactive gambling
US20030161302A1 (en)*2002-01-242003-08-28Roger ZimmermannContinuous media system
US20040003173A1 (en)*2002-01-252004-01-01Yao Shu-Yuen DidiPseudorandom data storage
US20030156649A1 (en)2002-01-282003-08-21Abrams Thomas AlgieVideo and/or audio processing
US20030145183A1 (en)2002-01-312003-07-31Muehring Phillip T.Applications for removable storage
US20030149869A1 (en)*2002-02-012003-08-07Paul GleichaufMethod and system for securely storing and trasmitting data by applying a one-time pad
US20040024580A1 (en)*2002-02-252004-02-05Oak Technology, Inc.Server in a media system
US20030177365A1 (en)2002-03-152003-09-18Buhan Corinne LeSecured storage method of encrypted data on a personal digital recorder
WO2003101105A1 (en)2002-03-272003-12-04General Instrument CorporationSmart card mating protocol
US20030196113A1 (en)2002-04-102003-10-16Chris BrownSystem and method for providing a secure environment for performing conditional access functions for a set top box
US20030196204A1 (en)2002-04-152003-10-16Balaji ThiagarajanMultiple media vendor support
US20030229900A1 (en)2002-05-102003-12-11Richard ReismanMethod and apparatus for browsing using multiple coordinated device sets
US6748080B2 (en)2002-05-242004-06-08Scientific-Atlanta, Inc.Apparatus for entitling remote client devices
WO2003103293A1 (en)2002-06-012003-12-11Keen Personal Media, Inc.Client terminal for providing video on demand
US20030228911A1 (en)2002-06-052003-12-11Dernis Mitchell S.DVD-enabling code server and loader for a console-based gaming system
US20030229898A1 (en)2002-06-052003-12-11Babu Suresh P.Multiple on-demand media vendor integration
US6655580B1 (en)2002-07-022003-12-02Michael Jared ErgoSystem and method for renting or purchasing digital media
US20040216164A1 (en)*2002-07-172004-10-28William HayhurstDecentralized media delivery
US20040025179A1 (en)2002-08-022004-02-05Russ Samuel H.Locally-updated interactive program guide
WO2004017637A1 (en)2002-08-132004-02-26Canal+ TechnologiesHard disk security
US20040032950A1 (en)2002-08-152004-02-19Graunke Gary L.Method and apparatus for composable block re-encryption of publicly distributed content
US20080301738A1 (en)2002-10-042008-12-04Davies David BAccess of Stored Video From Peer Devices in a Local Network
US20040073954A1 (en)2002-10-092004-04-15General Instrument CorporationMethod of protecting recorded multimedia content against unauthorized duplication
US20040088558A1 (en)2002-11-052004-05-06Candelore Brant L.Descrambler
EP1418701A1 (en)2002-11-112004-05-12STMicroelectronics LimitedTransmission and storage of encryption keys
WO2004057871A3 (en)2002-12-172004-08-12Canal Plus TechnologiesMethod for access control in digital pay television
US20050289064A1 (en)2002-12-312005-12-29Medialive, A Corporation Of FrancePersonalized markup for protecting numerical audiovisual streams
US20040128682A1 (en)2002-12-312004-07-01Kevin LigaTechniques for reinsertion of local market advertising in digital video from a bypass source
US20050144468A1 (en)2003-01-132005-06-30Northcutt J. D.Method and apparatus for content protection in a personal digital network environment
US20050195975A1 (en)2003-01-212005-09-08Kevin KawakitaDigital media distribution cryptography using media ticket smart cards
WO2004082286A1 (en)2003-03-122004-09-23Kudelski S.A.Pay television system, method for transmission of scrambled audiovisual programmes, decoder and chip for carrying out said method
US20040190721A1 (en)2003-03-242004-09-30Microsoft CorporationRenewable conditional access system
US20040261126A1 (en)2003-06-202004-12-23N2 Broadband, Inc.Systems and methods for provisioning a host device for enhanced services in a cable system
US20040260798A1 (en)2003-06-202004-12-23N2 Broadband, Inc.Systems and methods for distributing software for a host device in a cable system
US20050005300A1 (en)2003-07-022005-01-06Daniel PuttermanResource management for a networked personal video recording system
US20050039025A1 (en)2003-07-222005-02-17Alexander MainSoftware conditional access system
US20050050333A1 (en)2003-08-272005-03-03Bce Inc.System and method for secure broadcast
US20050061884A1 (en)2003-09-182005-03-24Hughes Electronics CorporationSmart card reader
US20050071280A1 (en)2003-09-252005-03-31Convergys Information Management Group, Inc.System and method for federated rights management
US20050084102A1 (en)2003-10-072005-04-21Hollar Mark A.Method and apparatus for conveying rights across an analog video interface
US20050091681A1 (en)2003-10-222005-04-28Bruce BordenSystems and methods for video storage and display
US20070118606A1 (en)*2003-11-042007-05-24Koninklijke Philips Electronics N.V.Virtual content directory service
US7774623B2 (en)*2003-11-122010-08-10Microsoft CorporationObfuscated state store for rights management system and the like
US20050120386A1 (en)2003-12-012005-06-02General Instrument CorporationMulti-device distributed digital video recording systems and methods
US20080019529A1 (en)*2004-01-162008-01-24Kahn Raynold MDistribution of video content using client to host pairing of integrated receivers/decoders
US20050169468A1 (en)2004-01-292005-08-04Fahrny James W.System and method for security processing media streams
US20050182931A1 (en)2004-02-132005-08-18Arnaud RobertConditional access to digital rights management conversion
US20050183112A1 (en)2004-02-132005-08-18Gregory DuvalMethod for managing rights of subscribers to a multi-operator pay-television system
US20050204391A1 (en)2004-02-232005-09-15Hunleth Frank A.Methods and systems for a secure media computing environment
US20050235361A1 (en)2004-04-192005-10-20Microsoft CorporationRendering protected digital content within a network of computing devices or the like
US20060085835A1 (en)2004-04-302006-04-20Vulcan Inc.Network-accessible control of one or more media devices
US20050249350A1 (en)2004-05-042005-11-10Kahn Raynold MDigital media conditional access system for handling digital media content
US20050262573A1 (en)*2004-05-182005-11-24Victor Company Of Japan, Ltd.Content presentation
US20060064383A1 (en)2004-09-202006-03-23Aaron MarkingMedia on demand via peering
US20060126833A1 (en)*2004-11-222006-06-15Pendula LimitedProtection of electronic data
US20060122946A1 (en)*2004-12-082006-06-08Fahrny James WMethod and system for securing content in media systems
US20060195881A1 (en)*2004-12-082006-08-31Imagine Communications, Ltd.Distributed statistical multiplexing of multi-media
US20130035778A1 (en)2005-01-072013-02-07Apple Inc.Highly portable media device
US20060218620A1 (en)*2005-03-032006-09-28Dinesh NadarajahNetwork digital video recorder and method
US20060212928A1 (en)*2005-03-172006-09-21Fabio MainoMethod and apparatus to secure AAA protocol messages
US20060242155A1 (en)*2005-04-202006-10-26Microsoft CorporationSystems and methods for providing distributed, decentralized data storage and retrieval
US7549058B1 (en)*2005-06-302009-06-16Mavs Lab. Inc.Method and apparatus for encrypting and decrypting digital data
US20070009235A1 (en)*2005-07-072007-01-11Eric WaltersSystem and method for digital content retrieval
US20070050590A1 (en)*2005-08-312007-03-01Syed Yasser FMethod and system of allocating data for subsequent retrieval
US20070058924A1 (en)*2005-09-132007-03-15Cyberlink Corp.Systems and methods for networking digital video recorders
US7876998B2 (en)2005-10-052011-01-25Wall William EDVD playback over multi-room by copying to HDD
US20070100891A1 (en)2005-10-262007-05-03Patrick NeeMethod of forming a multimedia package
US20070245010A1 (en)*2006-03-242007-10-18Robert ArnSystems and methods for multi-perspective optimization of data transfers in heterogeneous networks such as the internet
US20070288638A1 (en)*2006-04-032007-12-13British Columbia, University OfMethods and distributed systems for data location and delivery
US20090106802A1 (en)*2006-06-202009-04-23Patentvc Ltd.Methods and systems for streaming from a distributed storage system
US20070294422A1 (en)*2006-06-202007-12-20Gal ZuckermanMethods and systems for push-to-storage
US20080022297A1 (en)2006-06-282008-01-24Sbc Knowledge Ventures, LpSystem and method of sharing private content
US20080172593A1 (en)*2006-11-282008-07-17Raysat Inc.Broadcasting of Digital Video to Mobile Terminals
US20080168523A1 (en)*2006-12-292008-07-10Prodea Systems, Inc.System And Method To Acquire, Aggregate, Manage, And Distribute Media
US7945587B2 (en)*2007-10-102011-05-17Microsoft CorporationRandom allocation of media storage units

Non-Patent Citations (53)

* Cited by examiner, † Cited by third party
Title
"BitTorrent", http://en.wikipedia.org/wiki/Bittorent, downloaded on Jul. 12, 2006, 13 pages.
"Download PocketTV (beta) for WinCE" [online], Nov. 3, 1999 MPEG TV, LLC [retrieved on Mar. 26, 2004]. Retrieved from the Internet .
"Download PocketTV (beta) for WinCE" [online], Nov. 3, 1999 MPEG TV, LLC [retrieved on Mar. 26, 2004]. Retrieved from the Internet <URL: http://web.archive.org/web/19991127093158/www.mpegtv.com/wince/pockettv/index.html>.
"HP Jornada 430/430se Palm-size PC: User's Guide", Hewlett Packard, 1999, pp. 7-9.
"HP Jornada 430/430se Palm-size PC: User's Guide-Chapter 6", Hewlett Packard, 1999, pp. 43-54.
"Introduction to Encryption Theory", published by Kyoritsu Shuppan Co., Feb. 25, 1993.
"Mnet", http://en.wikipedia.org/wiki/MojoNation, downloaded on Jul. 12, 2006, 3 pages.
"PKCS #1 v2.1: RSA Cryptography Standard"; Jun. 14, 2002; RSA Laboratories; 61 pages.
"PocketTV Brings Video to Palm-size PC", Mar. 9, 2000[online][retrieved on Apr. 16, 2003] Retrieved from the Internet Archive (WayBack Machine) using Internet .
"PocketTV Brings Video to Palm-size PC", Mar. 9, 2000[online][retrieved on Apr. 16, 2003] Retrieved from the Internet Archive (WayBack Machine) using Internet <URL: http://web.archieve.org/web/20000816034339/www.palmsizepc.com/mar2000-14-1.html>.
"PocketTV-MPEG movie player for Pocket PC and WinCE" [online], May 17, 2000 MPEG TV, LLC [retrieved on Mar. 26, 2004]. Retrieved from the Internet .
"PocketTV-MPEG movie player for Pocket PC and WinCE" [online], May 17, 2000 MPEG TV, LLC [retrieved on Mar. 26, 2004]. Retrieved from the Internet <URL: http://web.archive.org/web/200006210123803/www.mpegtv.com/wince/pockettv/index.html>.
1st Report of EBU/SMPTE Task Force for Harmonized Standards for the Exchange of Television Program Material as Bit Streams, May 6, 1997, Version 1.30, pp. 1-73.
Anerousis, N., "Skycast: The Satellite Digital Broadcast Relay Service", ATT&T Labs Research, unpublished manuscript, 1999, pp. 1-4.
Bram Cohen, "Incentives Build Robustness in BitTorrent", May 22, 2003, 5 pages.
EBU Project Group B/CA; "Functional Model of a Conditional Access System"; EBU Technical Review; Jun. 10, 1995; pp. 64-77.
Final Office Action dated Jan. 23, 2008 in U.S. Appl. No. 09/620,772, filed Jul. 21, 2000 by Kahn et al.
Final Rejection dated Jul. 20, 2012 in U.S. Appl. No. 11/499,636, filed Aug. 4, 2006 by Michael Ficco.
Final Rejection dated May 30, 2014 in U.S. Appl. No. 11/499,636, filed Aug. 4, 2006 by Michael Ficco; pp. 1-41.
Fink, Dan, "Ready to Take the Dive? It's fast-forward as new DVD and Divx formats hit market (includes graphic: Home video: the next generation plus: Some selections that show off the system)", York Daily Record, Dec. 21, 1998, pp. 1-3.
Griwodz, Carsten; Merkel, Oliver; Dittmann, Jana; Steinmetz, Ralf; "Protecting Vo D The Easier Way"; International Multimedia Conference Proceedings of the 6th ACM International Conference on Multimedia; pp. 21-28; ACM Press; New York, New York; 2002; ISBN: 0-201-30990-4.
Ma, Huadong; Shin, Kang G.; "Multicast Video on Demand Services"; ACM SIGCOMM Computer Communication Review; vol. 32, Issue 1; Jan. 2002; pp. 31-43; ACM Press; New York, New York.
Non-final Office Action dated Dec. 4, 2007 in U.S. Appl. No. 10/758,811, filed Jan. 16, 2004 by Kahn et al.
Non-final Office Action dated Jan. 18, 2008 in U.S. Appl. No. 10/759,679, filed Jan. 19, 2004 by Arsenault et al.
Non-final Office action dated Jan. 21, 2015 in U.S. Appl. No. 11/499,636, filed Aug. 4, 2006 by Michael H. Ficco; total 51 pages (cover, Office Action Summary, pp. 2-49).
Non-final Office Action dated Oct. 6, 2009 in U.S. Appl. No. 11/499,636, filed Aug. 4, 2006 by Michael H. Ficco.
Non-final Office action dated Sep. 11, 2013 in U.S. Appl. No. 11/499,636, filed Aug. 4, 2006 by Michael Ficco; 1-54 pages.
Notice of Allowance dated Aug. 26, 2015 in U.S. Appl. No. 11/499,636, filed Aug. 4, 2006 by Michael H. Ficco; 15 pages total.
Notice of Allowance dated Dec. 10, 2007 in U.S. Appl. No. 09/960,824, filed Sep. 21, 2001 by Kahn et al.
Notice of Allowance dated Dec. 5, 2007 in U.S. Appl. No. 09/620,833, filed Jul. 21, 2000 by Kahn et al.
P. Venkat Rangan, et al., Designing An On-Demand Multimedia Service, IEEE Communications Magazine, Jul. 1992, vol. 30, No. 7, title page and pp. 56-64.
Proposed SMPTE Standard for Television-Splice Points for MPEG-2 Transport Streams, SMPTE Journal, Oct. 1998, SMPTE 312M, pp. 916-925.
Robert Johnston, et al., A Digital Television Sequence Store, IEEE Transactions on Communications, May 1978, vol. Com-26, No. 5, index and pp. 594-600.
Robin, Michael et al.; "Digital Television Fundamentals-Design and Installation of Video and Audio Systems"; Chapter 8; title page(s) and pp. 345-425; McGraw-Hill Professional; 2000.
Schneier, Bruce; "Applied Cryptography-Protocols, Algorithms, and Source Code in C"; 2nd Edition; pp. 216-222, 357-362; John Wiley & Sons; 1996.
Sin-Joo Lee, et al., A Survey of Watermarking Techniques Applied to Multimedia, IEEE, 2001, pp. 272-277.
Stephanos Androutsellis-Theotokis and Diomidis Spinellis, "A Survey of Peer-to-Peer Content Distribution Technologies", ACM Computing Surveys, vol. 36, No. 4, Dec. 2004, pp. 335-371.
Tantaoui, Mounir A., Hua, Kien A., Sheu, Simon; "Interaction with Broadcast Video"; International Multimedia Conference Proceedings of the 10th ACM International Conference on Multimedia; pp. 29-38; ACM Press; New York, New York; 2002; ISBN: 1-58113-620-X.
Tsubakiyama, Hideki and Koga, Keiichiro; "Security for Information Data Broadcasting System with Conditional-Access Control"; IEEE; 1993; pp. 164-170.
U.S. Appl. No. 09/620,772, filed Jul. 21, 2000, Kahn et al.
U.S. Appl. No. 09/620,773, filed Jul. 21, 2000, Kahn et al.
U.S. Appl. No. 09/620,883, filed Jul. 21, 2000, Kahn et al.
U.S. Appl. No. 09/621,476, filed Jul. 21, 2000, Kahn et al.
U.S. Appl. No. 10/758,818, filed Jan. 16, 2004, Raynold M. Kahn, Final Rejection dated Aug. 20, 2007.
U.S. Appl. No. 10/758,865, filed Jan. 16, 2004, Raynold M. Kahn, Non-final Office action dated Sep. 25, 2007.
U.S. Appl. No. 10/790,466, filed Mar. 1, 2004, Stephen P. Dulac, Final Rejection dated Oct. 10, 2007.
U.S. Appl. No. 11/205,249, filed Aug. 16, 2005, James et al.
U.S. Appl. No. 60/707,387, filed Aug. 11, 2005, Kahn et al.
U.S. Appl. No. 60/814,888, titled "Methods and systesm for distributed content delivery", filed Jun. 20, 2006, total pp. 49.*
United States Patent and Trademark Office Final Rejection dated Mar. 15, 2010 in U.S. Appl. No. 11/499,636, filed Aug. 4, 2006 by Michael H. Ficco; pp. 2-52.
United States Patent and Trademark Office non-final Office action dated Jan. 20, 2012 in U.S. Appl. No. 11/499,636, filed Aug. 4, 2006 by Michael H. Ficco; pp. 3-48.
Wanjiun Liao, et al., The Split and Merge Protocol for Interactive Video-On-Demand, IEEE MultiMedia, Oct.-Dec. 1997, vol. 4, No. 4, index and pp. 51-62.
Yongchen Li, et al., Security Enhanced MPEG Player, IEEE, 1996, pp. 169-175.

Cited By (24)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US11252476B2 (en)2004-07-302022-02-15Broadband Itv, Inc.Video-on-demand content delivery system for providing video-on-demand services to TV service subscribers
US11601697B2 (en)2004-07-302023-03-07Broadband Itv, Inc.System for addressing on-demand TV program content on TV services platform of a digital TV services provider
US10785517B2 (en)2004-07-302020-09-22Broadband Itv, Inc.Method for addressing on-demand TV program content on TV services platform of a digital TV services provider
US10791351B2 (en)2004-07-302020-09-29Broadband Itv, Inc.System for addressing on-demand TV program content on TV services platform of a digital TV services provider
US10893334B2 (en)2004-07-302021-01-12Broadband Itv, Inc.Video-on-demand content delivery method for providing video-on-demand services to TV service subscribers
US11272233B2 (en)2004-07-302022-03-08Broadband Itv, Inc.System for addressing on-demand TV program content on TV services platform of a digital TV services provider
US11252459B2 (en)2004-07-302022-02-15Broadband Itv, Inc.System for addressing on-demand TV program content on TV services platform of a digital TV services provider
US11259059B2 (en)2004-07-302022-02-22Broadband Itv, Inc.System for addressing on-demand TV program content on TV services platform of a digital TV services provider
US11259089B2 (en)2004-07-302022-02-22Broadband Itv, Inc.Video-on-demand content delivery method for providing video-on-demand services to TV service subscribers
US11259060B2 (en)2004-07-302022-02-22Broadband Itv, Inc.System for addressing on-demand TV program content on TV services platform of a digital TV services provider
US11516525B2 (en)2004-07-302022-11-29Broadband Itv, Inc.System for addressing on-demand TV program content on TV services platform of a digital TV services provider
US11245942B2 (en)2007-03-122022-02-08Broadband Itv, Inc.Method for addressing on-demand TV program content on TV services platform of a digital TV services provider
US11589093B2 (en)2007-03-122023-02-21Broadband Itv, Inc.System for addressing on-demand TV program content on TV services platform of a digital TV services provider
US11272235B2 (en)2007-06-262022-03-08Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US11277669B2 (en)2007-06-262022-03-15Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US11290763B2 (en)2007-06-262022-03-29Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US11570500B2 (en)2007-06-262023-01-31Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US11570521B2 (en)2007-06-262023-01-31Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US11582498B2 (en)2007-06-262023-02-14Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US11265589B2 (en)2007-06-262022-03-01Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US11695976B2 (en)2007-06-262023-07-04Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US12170800B2 (en)2007-06-262024-12-17Broadband Itv, Inc.Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection
US9847852B2 (en)2015-12-152017-12-19At&T Intellectual Property I, L.P.System and method to request a portion of a media content item
US10284341B2 (en)2015-12-152019-05-07At&T Intellectual Property I, L.P.System and method to request a portion of a media content item

Also Published As

Publication numberPublication date
US20080033881A1 (en)2008-02-07

Similar Documents

PublicationPublication DateTitle
US9225761B2 (en)Distributed media-aggregation systems and methods to operate the same
US9178693B2 (en)Distributed media-protection systems and methods to operate the same
US10977631B2 (en)Secure content transfer systems and methods to operate the same
US9537944B2 (en)Method and apparatus for file sharing of missing content between a group of user devices in a peer-to-peer network
US9967521B2 (en)Methods and apparatus to provide content on demand in content broadcast systems
US8417939B2 (en)Method and apparatus for file sharing between a group of user devices with encryption-decryption information sent via satellite and the content sent separately
US7895341B2 (en)Method and apparatus for file sharing between a group of user devices with separately sent crucial portions and non-crucial portions
EP2140681B1 (en)Method for file sharing between a group of user devices with crucial portions sent via satellite and non-crucial portions sent using a peer-to-peer network
US9743121B2 (en)Methods and apparatus to conditionally authorize content delivery at broadcast headends in pay delivery systems
US8732780B2 (en)Content delivery systems and methods to operate the same
US8095466B2 (en)Methods and apparatus to conditionally authorize content delivery at content servers in pay delivery systems
US7890047B2 (en)Method and system for file sharing between a group of user devices using obtained permissions
US8001565B2 (en)Methods and apparatus to conditionally authorize content delivery at receivers in pay delivery systems
US8532293B2 (en)Method and system for securely providing and storing content in a multiple dwelling unit system
US20070265973A1 (en)Methods and apparatus to protect content in home networks
US8244884B2 (en)Method and apparatus for file sharing between a group of user devices with crucial portions sent via satellite and non-crucial portions sent using a peer-to-peer network
CN119728890A (en)Second field program gathering and distributing system for ultra-high definition digital performance

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:DIRECTV GROUP, INC., THE, CALIFORNIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FICCO, MICHAEL H.;REEL/FRAME:018136/0188

Effective date:20060804

STCFInformation on status: patent grant

Free format text:PATENTED CASE

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment:4

ASAssignment

Owner name:DIRECTV, LLC, CALIFORNIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THE DIRECTV GROUP, INC.;REEL/FRAME:057143/0641

Effective date:20210728

ASAssignment

Owner name:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NEW YORK

Free format text:SECURITY AGREEMENT;ASSIGNOR:DIRECTV, LLC;REEL/FRAME:057695/0084

Effective date:20210802

ASAssignment

Owner name:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A. AS COLLATERAL AGENT, TEXAS

Free format text:SECURITY AGREEMENT;ASSIGNOR:DIRECTV, LLC;REEL/FRAME:058220/0531

Effective date:20210802

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment:8

ASAssignment

Owner name:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT, TEXAS

Free format text:SECURITY AGREEMENT;ASSIGNOR:DIRECTV, LLC;REEL/FRAME:066371/0690

Effective date:20240124


[8]ページ先頭

©2009-2025 Movatter.jp