US20040073862A1 - Method of performing content integrity analysis of a data stream - Google Patents

Method of performing content integrity analysis of a data stream Download PDF

Info

Publication number
US20040073862A1
US20040073862A1 US10/629,456 US62945603A US2004073862A1 US 20040073862 A1 US20040073862 A1 US 20040073862A1 US 62945603 A US62945603 A US 62945603A US 2004073862 A1 US2004073862 A1 US 2004073862A1
Authority
US
United States
Prior art keywords
extent
content
data
track
extents
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.)
Abandoned
Application number
US10/629,456
Inventor
James Armstrong
Muyu Guo
Jesse Lerman
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.)
Comcast IP Holdings I LLC
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US10/629,456 priority Critical patent/US20040073862A1/en
Publication of US20040073862A1 publication Critical patent/US20040073862A1/en
Assigned to TVGATEWAY, LLC reassignment TVGATEWAY, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DIVA SYSTEMS CORPORATION BY HOWARD B. GROBSTEIN, CHAPTER 11 TRUSTEE
Assigned to SEDNA PATENT SERVICES, LLC reassignment SEDNA PATENT SERVICES, LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: TVGATEWAY, LLC
Assigned to COMCAST IP HOLDINGS I, LLC reassignment COMCAST IP HOLDINGS I, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SEDNA PATENT SERVICES, LLC (F/K/A TVGATEWAY, LLC)
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2318Data placement on disk arrays using striping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]

Definitions

  • the invention relates to communications systems generally and, more particularly, the invention relates to an improved method for analyzing a stream of data to assure integrity of the content within the stream.
  • MPEG Moving Pictures Experts Group
  • MPEG-1 refers to ISO/IEC standards 11172 and is incorporated herein by reference.
  • MPEG-2 refers to ISO/IEC standards 13818 and is also incorporated herein by reference.
  • a compressed digital video system is described in the Advanced Television Systems Committee (ATSC) digital television standard document A/53, which too is incorporated herein by reference.
  • ATSC Advanced Television Systems Committee
  • DIVA Systems Corporation of Redwood City, Calif.
  • the DIVA VOD system distributes audio-visual information from a central server to individual subscribers utilizing MPEG-like information streams.
  • the DIVA VOD system also allows subscribers to interactively control the delivery of audio-visual information streams using consumer-friendly commands, such as fast-forward (FF), rewind (REW), pause (PAUSE), play (PLAY) and the like that correspond to various tracks within the streams.
  • FF fast-forward
  • REW rewind
  • PAUSE pause
  • PLAY play
  • the DIVA VOD system stores content, such as movies, sporting events, television programs and the like on a server, illustratively a hard disk array, for subsequent transmission to subscribers within the system.
  • the server is “provisioned” from a remote content source.
  • the provisioning content is typically provided as an MPEG-2 transport stream including video information and associated audio information.
  • the content stored within the DIVA system comprises a play track, a fast forward track, a rewind track, associated audio tracks and other data related to the content stream.
  • CRC error checking may miss certain errors within the main or auxiliary information streams forming the content being checked. Specifically, the CRC check will not detect an error condition where “correct” content has been stored or retrieved out of sequence (where portions of content are arranged in a sequence), thereby allowing the storage or retrieval of improper information.
  • a user or subscriber within the VOD system may receive unrequested programming, temporally shifted programming, video information exhibiting undesirable artifacts, audio information exhibiting undesirable oral artifacts, video and audio information exhibiting poor “lip synchronization” and other errors.
  • An aspect of the present invention is a system for content-on-demand.
  • Service provider equipment including a session controller, an information server and a transport processor, is in communication with subscriber equipment via a distribution network.
  • the server provider equipment is configured to provide content on-demand in response to a request from the subscriber equipment.
  • the content is divided into a plurality of content portions severally distributed among disks of an array of disks. Each of the content portions comprises an identification field, a number field, a track-type field and a check field.
  • FIG. 1 depicts a high level block diagram of an interactive information distribution system that employs a method according to the subject invention
  • FIG. 2 depicts a graphical representation of data structures suitable for use in the present invention.
  • FIG. 3 depicts a flow diagram of a content integrity detection method suitable for use in the interactive information distribution system of FIG. 1.
  • the invention is a method providing enhanced integrity analysis of content streams in an information distribution system. It is noted that the invention will be primarily described within the context of a video on demand system in which content, illustratively video information, is divided into a plurality of time extents, where each extent represents a predefined amount of video information and associated audio information. In the exemplary video on demand system, the extent size is approximately 2 seconds. However, any extent size may be used. Additionally, it must be noted that the particular data structures discussed with respect to the invention are provided as examples only. Other data structures may be processed using the methods of the subject invention.
  • FIG. 1 depicts a high level block diagram of an interactive information distribution system. Specifically, FIG. 1 depicts a high level block diagram of an interactive information distribution system 100 containing the present invention.
  • the system 100 contains service provider equipment 102 , a communications distribution network 104 and subscriber equipment 106 n , where n is an integer greater than zero.
  • the service provider equipment 102 comprises a content source 128 , an information server 125 , a session controller 145 and a transport processor 150 .
  • the session controller 145 in response to a request(s) from subscriber equipment 106 , causes the requested content to be retrieved from the information server 125 and provided to the transport processor 150 .
  • the transport processor 150 combines or multiplexes the retrieved content to provide an output data stream for the requesting subscriber(s).
  • the output data stream is conditioned for transport to the requested subscriber via a forward application transport channel (FATC) 199 within the communications distribution network 104 .
  • FATC forward application transport channel
  • the content source 128 comprises, illustratively, a remote content provider such as a movie studio a television network as a secondary storage (i.e. mass storage) facility used to warehouse content.
  • the content source 128 provides a content provisioning stream CONTENT to the information server 125 . In this manner the system 100 establishes a base of available content titles.
  • the information server 125 is used to store at least a portion of content such as movies, television programs and other information offerings of the interactive information distribution system 100 of FIG. 1. Additionally, the information server 125 is used to store assets such as bit map imagery, graphic overlay, control scripts and the like.
  • the assets may comprise, for example, navigation assets that are used by a set top terminal to interactively navigate, and select for viewing, the offerings or content available from the service provider equipment 102 .
  • the information server 125 in response to a control signal SC produced by the session controller 145 , provides content and/or asset data to the transport processor 150 .
  • An information server 125 suitable for use in the present invention is described by Chin et al. in U.S. Pat. No. 5,579,527 and incorporated herein by reference in its entirety.
  • a system for supplying content streams to multiple users suitable for use in the present invention is described by Bleidt et al. in U.S. Pat. No. 5,671,377 and incorporated herein by reference in its entirety.
  • a method and apparatus for minimizing disk drive access time in, for example, a disk drive array and suitable for use in the present invention is described by Armstrong in commonly assigned U.S. Pat. No. 5,923,891 and incorporated herein by reference in its entirety.
  • Content stored on the information server 125 is divided into a plurality of “extents,” where each extent represents an amount of content to-be presented within a single service period, illustratively two seconds worth of video information and associated audio information.
  • the information server 125 comprises a plurality of hard disks arranged as a disk array.
  • the content is distributed, on an extent-by-extent basis, across the available disk drives within the disk array. For example, assuming that a disk array comprises 10 disks, the first 10 extents of the content stream are stored on, respectively, disks 1 - 10 . Similarly, the next 10 extents of the content stream are stored on disks 1 - 10 , respectively.
  • the content is “striped” across the plurality of disks forming the disk array.
  • storing content in this manner enables rapid storage and retrieval of the content. A data structure useful in providing such extents will be described in more detail below with respect to FIG. 2.
  • the session controller 145 provides session control of the information flowing to and from the information server 125 , and may be generally described as a system providing or controlling communications between, for example, a cable system head-end and one or more set top terminals 136 .
  • the session controller 145 produces the storage control signal SC 198 for controlling and communicating with the information server 125 , and a transport processor control signal TPC 197 for controlling and communicating with the transport processor 150 .
  • the session controller 145 causes the requested content file and to be streamed from the information server 125 to the transport processor 150 .
  • the session controller 145 sends data, such as commands, encryption keys and the like, to the set top terminals via a forward data channel (FDC) 196 .
  • the session controller 145 receives data, such as information stream requests and session initiation data (set top identification, capability and the like) via a reverse data channel (RDC) 195 .
  • the FDC and RDC are supported by the communications distribution network 104 and comprise relatively low bandwidth data channels, such as one-two megabits per second data channels utilizing QPSK, QAM, or other modulation techniques.
  • the FDC 196 and RDC 195 are also known as “out-of-band” channels, while the relatively high bandwidth forward application transport channel (FATC) 199 is also known as an “in-band” channel.
  • the session controller 145 contains an interface device for sending control information via the forward data channel FDC 196 and receiving control information and request information via the reverse data channel RDC 198 using the so-called “out-of-band” carrier frequencies.
  • the transport processor 150 accomplishes all of the forward content channel transmission interface requirements of the system 100 of FIG. 1. Specifically, the transport processor 150 is coupled to subscriber equipment via the forward applications transport channel (FATC) 199 . That is, the transport processor 150 is capable of providing a plurality of scrambled or unscrambled content and/or asset streams modulated onto various carrier frequencies suitable for use in the distribution network 104 .
  • the FATC is supported by the distribution network 104 and comprises a relatively high bandwidth communications channel well suited to carrying video, audio and data such as, for example, multiplexed MPEG-2 transport packets. It should be noted that data normally conveyed to a set top terminal 136 via the FDC 196 may be included in the FATC data stream.
  • the transport processor 150 also contains a modulator for modulating the combined content and asset stream onto one or more carrier frequencies for transmission on the FATC 199 , the so-called “in-band” carrier frequencies.
  • the communications distribution network 104 can be any one of a number of conventional broadband communications networks that are available such as a fiber optic network, a telephone network, a cable television network and the like.
  • the transmission transport technique used in both forward channels may be modeled after the Moving Pictures Expert Group (MPEG) transport protocol for the transmission of video data streams.
  • MPEG Moving Pictures Expert Group
  • the transport mechanism for both of the forward channels that transport information to the set top terminal must be able to carry unidirectional, asynchronous packetized data such as that defined in the MPEG video and audio signal transmission protocol, and the like. There are a number of such transport protocols available.
  • the subscriber equipment 106 comprises a set top terminal or a set top box 136 , a display device 140 (e.g. a conventional television) and a user input device 138 (e.g. a remote control device).
  • Each set top terminal (STT) 136 receives the data streams from the FATC, demodulates the received data streams and, in the case of video streams, processes the demodulated video streams for subsequent display on the display device 140 .
  • the STT 136 descrambles the received data streams using the descrambling messages (DM) provided to the STT 136 via the FATC 199 or the FDC 196 .
  • DM descrambling messages
  • the STT 136 uses the authorization messages (AM) provided via the FATC or FDC to determine if a descrambling of the received scrambled stream is authorized.
  • the set top terminal 136 accepts commands from the remote control input device 138 or other input device. These commands are formatted, modulated, and transmitted through the distribution network 104 to the session controller 145 . Typically, this transmission is accomplished through the reverse data channel RDC 195 . These commands are preferably transmitted through the same network used to transmit information to the set top terminal 136 .
  • the RDC coupling the set top terminal to the provider equipment 102 may be a separate network, e.g. a FATC through a television cable network and an RDC through a telephone network. The telephone network could also support the FDC.
  • a first type of error comprises the standard data error, such as corruption of some or all of the audio-visual data forming an extent. Since this type of error is likely to be trapped using the standard CRC technique, the subject invention utilizes CRC techniques to screen for this error.
  • Second type of error comprises the non-contiguous storage or retrieval of extents, either within a single storage medium or a plurality of storage media.
  • a plurality of disk drives within a disk drive array are used to store data that has been striped across the array.
  • contiguous extents are stored in logically adjoining disk drives.
  • hardware or software errors in the disk array control system it is possible for hardware or software errors in the disk array control system to allow a storage or retrieval of extents to occur out of sequence.
  • the actual stream provided to the subscriber may include “transposed” extents or other non-sequential or temporal aberrations in the order of extent delivery period. Such errors are not detected by the CRC error checking algorithms, since the actual audio and/or video information stored within the extent is not incorrect.
  • a third type of error that may occur is the streaming of an incorrect track to the subscriber. For example, if a subscriber presently receiving the play track of the movie decides to enter a fast forward mode of operation, the fast forward request is processed by the subscriber equipment 102 which, responsively changes the stream provided to the subscriber from the play track to the fast forward track. The play track is left at a particular extent and the fast forward track is entered at an extent indexed to the particular extent of the play track. In this manner transitioning to a fast forward mode of operation is effective.
  • a fourth type of error that may occur is a streaming of an incorrect content stream to the subscriber. For example, if a subscriber is presently receiving a requested content stream such as a juvenile television program, it is highly undesirable to have the server transition to an incorrect content stream, such as an adult movie. Therefore, each extent is associated with a particular content stream identifier that is unique to the content stream. In this manner, such incorrect content stream delivered to subscribers is avoided.
  • the subject invention addresses all of the error sources described above.
  • the subject invention utilizes a unique data structure to enable trapping of the above errors and a corresponding method utilizing that structure to provide such error trapping functionality.
  • the data structure of the subject invention will be discussed in detail below with respect to FIG. 2, while the method utilizing the data structure will be discussed in more detail below with respect to FIG. 3.
  • FIG. 2 depicts a graphical representation of data structures suitable for use in the present invention.
  • a content stream 210 illustratively a movie, sporting event, television program, or other form of content, is divided into a plurality of extents.
  • Each extent represents, illustratively, two seconds worth of content.
  • An extent 220 comprises a plurality of packets, illustratively DIVA DVB-ASI (DASI) packets, MPEG-2 packets or other packets suitable for transporting the above-described audio-visual information streams, including the various tracks (i.e., the “PLAY,” “FF” and “REW” tracks).
  • DASI DIVA DVB-ASI
  • each extent contains all the content information appropriate to the temporal period represented by the respective extent.
  • the DASI packets are well adapted to transmission via a gigabit per second network medium, such as described in more detail in commonly-assigned, simultaneously-filed U.S. patent application Ser. No. 09/458,339 (Attorney Docket No. 051).
  • each extent 220 comprises a data extent 240 and an extent trailer 230 .
  • the data extent 240 comprises a plurality of packets, such as MPEG-2 transport packets or other packet structures supporting video, audio and data information.
  • the extent trailer 230 comprises a plurality of fields useful in processing each extent according to the methods of the present invention. Specifically, the extent trailer 230 comprises a unique content identifier (“UniqueID”) field 231 , a logical extent number field 232 , a track-type field 233 and a circular redundancy check (CRC) field 234 .
  • UniqueID unique content identifier
  • CRC circular redundancy check
  • the content identifier or UniqueID field 231 is used to uniquely identify the content stream within the interactive information distribution system 100 of FIG. 1. Specifically, each content stream utilized by the system has associated with it a UniqueID.
  • the UniqueID field 231 enables stream processing, storage and transmission elements within the interactive information distribution system 100 to ensure that each of a plurality of extents being stored, retrieved, processed or transmitted as part of the stream are, in fact, part of the appropriate stream, as defined by information stored within the UniqueID field 231 . In this manner, the storage or transmission of corresponding extents from entirely different content streams may be avoided. For example, the streaming to a subscriber of an adult program rather than a requested juvenile program may be avoided.
  • the logical extent field 232 provides a number indicative of the relative position of the data extent 220 within the content stream 210 .
  • the content stream 210 is divided into a plurality of data extents 220 which must be presented in a particular order.
  • each extent is numbered in a sequential manner such that contiguous extents within the content stream have information within their respective logical extent fields 232 indicative of this contiguous placement.
  • the logical extent field 232 is used to ensure that the appropriate order is maintained, thereby ensuring orderly presentation of the extents 220 forming a content stream 210 .
  • the track-type field 233 indicates the type of track provided by the content stream 210 .
  • the DIVA video on demand system allows “VCR-like” functionality such that users may select a “play” track, a “fast forward” track or a “rewind” track.
  • the type of track provided by the plurality of data extents 220 forming a content stream 210 is denoted by the track-type field 233 . In this manner, if a user selects a fast forward track of a content stream, data extents not associated with the fast forward track (per track-type field 233 ) may be processed in a manner avoiding transmission of such data extents to the user.
  • the circular redundancy check (CRC) field 234 is used to provide a check of the integrity of the content within the data extent 240 . That is, a CRC operation is performed on the information within the data extent 240 during the initial formation of a data extent 220 .
  • CRC circular redundancy check
  • storage, retrieval, processing or transmission elements within the interactive information distribution system 100 of FIG. 1 may determine if the data extent 240 within the extent 220 is corrupted. In the case of a corrupted data extent, a replacement data extent 220 may be retrieved, a masking or correction routine may be invoked to, respectively, mask or correct the error within the data extent 240 or other processing error correction processing measures may be taken.
  • FIG. 3 depicts a flow diagram of a content integrity analysis method suitable for use in the interactive information distribution system of FIG. 1. Specifically, the method 300 of FIG. 3 is utilized to check each extent to be stored or retrieved from a disk array within the information server 125 , or from the information server itself. The method may also be employed to ensure that the transmission of extents to subscribers by the transport processor 150 occurs in an appropriate manner.
  • the method 300 starts at step 302 and proceeds to step 304 , where the CRC data within the CRC field 234 is compared to a calculated CRC. That is, a CRC check is performed on the data within the extent to ensure that the data is not corrupted. If a CRC error is detected, then the method 300 proceeds to step 310 . Otherwise, the method 300 proceeds to step 306 .
  • the CRC is calculated with respect to the information contained within the data extent.
  • the information used in the calculator may comprise all data within the data extent (e.g., video packets, audio packets and other packets) or a subset of the included data (e.g., only the video packets or only payload portions of the packets).
  • the calculated CRC may be selectively utilized to calculate full or partial CRC values based on the information within the time extent. It is important to note that the CRC value included in the CRC field 234 should be calculated using the same technique or data set (or sub-set) as used to provide the calculated CRC value at step 304 .
  • step 306 the contents of the content ID or UniqueID field is compared to the content ID or UniqueID of the content stream being processed (i.e., being stored, retrieved or transmitted). If an unfavorable comparison results, then the method 300 proceeds to step 310 . Otherwise, the method 300 proceeds to step 308 .
  • step 308 the contents of the logical extent number are compared to the calculated logical extent number of the extent being processed. For example, a counter may be incremented each time an extent is processed, such that the logical extent number of the next extent to be processed should be one increment above the previously processed extent. In this manner, the sequential nature of the extent is preserved. If an unfavorable comparison results, then the method 300 proceeds to step 310 . Otherwise, the method 300 proceeds to optional step 318 .
  • the contents of the track type field 233 are compared to the actual track type of the content stream being processed. In this manner, the contiguous storage, retrieval or transmission of extents having the same logical extent number but representing different tracks (i.e., PLAY, FF or REW tracks) may be avoided. If an unfavorable comparison results, then the method 300 proceeds to step 310 . Otherwise, the method 300 proceeds to optional step 314 .
  • the extent is passed to the system and processed in the intended manner, such as by storing the extent on a disk or across a disk array, retrieving the extent from the disk or the disk array, transmitting the extent to a subscriber or coupling the extent to another processing or storage element within an information processing system employing the subject invention, such as a networked computer system.
  • an error handling routine is invoked. Specifically, at step 310 an error message including the type of error (wrong ID, wrong type, wrong position, or wrong CRC value) is provided as an error message or appended to a related or existing error message (e.g., a read failure, write failure or transmission failure message).
  • the method 300 then proceeds to step 312 , where the system provided Id, the actual content ID, the calculated content extent number and actual content extent number and any other information deemed appropriate are added to the error message. Utilizing such error messages, the system operator or controller may identify faulty content streams and take appropriate action (such as re-transmit, re-store or re-read the extent). The method 300 then proceeds to step 313 , where an error handling routine is invoked.
  • the above-described method 300 is used to analyze content of data streams stored, retrieved or transmitted within an interactive information distribution system.
  • teachings of the present invention may be advantageously employed in any system processing sequentially arranged data.
  • extra fields or identifiers can be added to the extent trailer 230 to further assure the integrity of extents being processed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A method providing integrity analysis of content data streams within an information distribution system. On-demand content is divided into a plurality of content portions to be severally distributed among disk drives of an array of disk drives. A data structure is used for dividing the content into the plurality of content portions. Method is used to check integrity of content prior to provisioning thereof.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of commonly assigned U.S. patent application Ser. No. 09/459,217, filed Dec. 10, 1999, which application claims benefit of U.S. Provisional Patent Application Serial No. 60/127,115 which was filed on Mar. 31, 1999; both prior applications are incorporated herein by reference in their entireties.[0001]
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0002]
  • The invention relates to communications systems generally and, more particularly, the invention relates to an improved method for analyzing a stream of data to assure integrity of the content within the stream. [0003]
  • 2. Description of the Background Art [0004]
  • In several communications systems, the data to be transmitted is compressed so that the available system bandwidth is used more efficiently. For example, the Moving Pictures Experts Group (MPEG) has promulgated several standards relating to digital data delivery systems. The first, known as MPEG-1, refers to ISO/IEC standards 11172 and is incorporated herein by reference. The second, known as MPEG-2, refers to ISO/IEC standards 13818 and is also incorporated herein by reference. A compressed digital video system is described in the Advanced Television Systems Committee (ATSC) digital television standard document A/53, which too is incorporated herein by reference. [0005]
  • Information distribution systems utilizing information streams conforming to the above standards or subsets of the above standards are known. For example, an interactive information distribution system provided by DIVA Systems Corporation of Redwood City, Calif. is described in more detail in U.S. Pat. No. 6,253,375, issued Jun. 26, 2001, and incorporated herein by reference in its entirety. The DIVA VOD system distributes audio-visual information from a central server to individual subscribers utilizing MPEG-like information streams. The DIVA VOD system also allows subscribers to interactively control the delivery of audio-visual information streams using consumer-friendly commands, such as fast-forward (FF), rewind (REW), pause (PAUSE), play (PLAY) and the like that correspond to various tracks within the streams. [0006]
  • The DIVA VOD system stores content, such as movies, sporting events, television programs and the like on a server, illustratively a hard disk array, for subsequent transmission to subscribers within the system. The server is “provisioned” from a remote content source. The provisioning content is typically provided as an MPEG-2 transport stream including video information and associated audio information. The content stored within the DIVA system comprises a play track, a fast forward track, a rewind track, associated audio tracks and other data related to the content stream. [0007]
  • It is important to ensure that the content stored on the server is error free and appropriate for subsequent transmission to subscribers. Similarly, it is important to insure that content read from the servers for transmission to subscribers request in the content is retrieved from the servers in a relatively error free manner. [0008]
  • Presently, most VOD systems utilize a circular redundancy check (CRC) to determine if content being stored and/or retrieved from a server is error free. If the portion of content being stored and/or retrieved from a server fails the CRC check, then an error handling routine is invoked. In the case of portions of content that are stored or retrieved out of order, such stored or retrieved portions will likely pass a CRC error check test. However, since such portions have been stored or retrieved out of order, subsequent presentation of these temporally shifted or non-contiguous portions by a subscriber will result in an unsatisfying VOD experience. [0009]
  • Unfortunately, CRC error checking may miss certain errors within the main or auxiliary information streams forming the content being checked. Specifically, the CRC check will not detect an error condition where “correct” content has been stored or retrieved out of sequence (where portions of content are arranged in a sequence), thereby allowing the storage or retrieval of improper information. In either case, a user or subscriber within the VOD system may receive unrequested programming, temporally shifted programming, video information exhibiting undesirable artifacts, audio information exhibiting undesirable oral artifacts, video and audio information exhibiting poor “lip synchronization” and other errors. [0010]
  • Therefore, it is seen to be desirable to provide a method for assuring content integrity in a manner avoiding limitations of the simple circular redundancy check (CRC) typifying present VOD content server operations. More specifically, it is seen to be desirable to provide a method for performing a “content integrity check” of content being stored or retrieved from, illustratively, a server within a video on demand system. [0011]
  • SUMMARY OF THE INVENTION
  • The disadvantages heretofore associated with the prior art are overcome by the present invention of a method providing integrity analysis of content data streams within an information distribution system. [0012]
  • An aspect of the present invention is a system for content-on-demand. Service provider equipment, including a session controller, an information server and a transport processor, is in communication with subscriber equipment via a distribution network. The server provider equipment is configured to provide content on-demand in response to a request from the subscriber equipment. The content is divided into a plurality of content portions severally distributed among disks of an array of disks. Each of the content portions comprises an identification field, a number field, a track-type field and a check field.[0013]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which: [0014]
  • FIG. 1 depicts a high level block diagram of an interactive information distribution system that employs a method according to the subject invention; [0015]
  • FIG. 2 depicts a graphical representation of data structures suitable for use in the present invention; and [0016]
  • FIG. 3 depicts a flow diagram of a content integrity detection method suitable for use in the interactive information distribution system of FIG. 1.[0017]
  • To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. [0018]
  • DETAILED DESCRIPTION
  • The invention is a method providing enhanced integrity analysis of content streams in an information distribution system. It is noted that the invention will be primarily described within the context of a video on demand system in which content, illustratively video information, is divided into a plurality of time extents, where each extent represents a predefined amount of video information and associated audio information. In the exemplary video on demand system, the extent size is approximately 2 seconds. However, any extent size may be used. Additionally, it must be noted that the particular data structures discussed with respect to the invention are provided as examples only. Other data structures may be processed using the methods of the subject invention. [0019]
  • While the invention will be primarily described within the context of an interactive information distribution system, it will be appreciated by those skilled in the art that the invention has wider applicability. Specifically, the invention may be advantageously utilized in any system storing audio visual information or other forms of data having a defined presentation order or appropriate sequence. [0020]
  • FIG. 1 depicts a high level block diagram of an interactive information distribution system. Specifically, FIG. 1 depicts a high level block diagram of an interactive [0021] information distribution system 100 containing the present invention. The system 100 contains service provider equipment 102, a communications distribution network 104 and subscriber equipment 106 n, where n is an integer greater than zero.
  • The [0022] service provider equipment 102 comprises a content source 128, an information server 125, a session controller 145 and a transport processor 150. Briefly, the session controller 145, in response to a request(s) from subscriber equipment 106, causes the requested content to be retrieved from the information server 125 and provided to the transport processor 150. The transport processor 150 combines or multiplexes the retrieved content to provide an output data stream for the requesting subscriber(s). The output data stream is conditioned for transport to the requested subscriber via a forward application transport channel (FATC) 199 within the communications distribution network 104.
  • The [0023] content source 128 comprises, illustratively, a remote content provider such as a movie studio a television network as a secondary storage (i.e. mass storage) facility used to warehouse content. The content source 128 provides a content provisioning stream CONTENT to the information server 125. In this manner the system 100 establishes a base of available content titles.
  • The [0024] information server 125 is used to store at least a portion of content such as movies, television programs and other information offerings of the interactive information distribution system 100 of FIG. 1. Additionally, the information server 125 is used to store assets such as bit map imagery, graphic overlay, control scripts and the like. The assets may comprise, for example, navigation assets that are used by a set top terminal to interactively navigate, and select for viewing, the offerings or content available from the service provider equipment 102. The information server 125, in response to a control signal SC produced by the session controller 145, provides content and/or asset data to the transport processor 150.
  • An [0025] information server 125 suitable for use in the present invention is described by Chin et al. in U.S. Pat. No. 5,579,527 and incorporated herein by reference in its entirety. A system for supplying content streams to multiple users suitable for use in the present invention is described by Bleidt et al. in U.S. Pat. No. 5,671,377 and incorporated herein by reference in its entirety. A method and apparatus for minimizing disk drive access time in, for example, a disk drive array and suitable for use in the present invention is described by Armstrong in commonly assigned U.S. Pat. No. 5,923,891 and incorporated herein by reference in its entirety.
  • Content stored on the [0026] information server 125 is divided into a plurality of “extents,” where each extent represents an amount of content to-be presented within a single service period, illustratively two seconds worth of video information and associated audio information. The information server 125 comprises a plurality of hard disks arranged as a disk array. The content is distributed, on an extent-by-extent basis, across the available disk drives within the disk array. For example, assuming that a disk array comprises 10 disks, the first 10 extents of the content stream are stored on, respectively, disks 1-10. Similarly, the next 10 extents of the content stream are stored on disks 1-10, respectively. In this manner, the content is “striped” across the plurality of disks forming the disk array. As discussed in the above-referenced patents and patent application, storing content in this manner enables rapid storage and retrieval of the content. A data structure useful in providing such extents will be described in more detail below with respect to FIG. 2.
  • The [0027] session controller 145 provides session control of the information flowing to and from the information server 125, and may be generally described as a system providing or controlling communications between, for example, a cable system head-end and one or more set top terminals 136. The session controller 145 produces the storage control signal SC 198 for controlling and communicating with the information server 125, and a transport processor control signal TPC 197 for controlling and communicating with the transport processor 150. In response to a user request for particular content, the session controller 145 causes the requested content file and to be streamed from the information server 125 to the transport processor 150.
  • The [0028] session controller 145 sends data, such as commands, encryption keys and the like, to the set top terminals via a forward data channel (FDC) 196. The session controller 145 receives data, such as information stream requests and session initiation data (set top identification, capability and the like) via a reverse data channel (RDC) 195. The FDC and RDC are supported by the communications distribution network 104 and comprise relatively low bandwidth data channels, such as one-two megabits per second data channels utilizing QPSK, QAM, or other modulation techniques. The FDC 196 and RDC 195 are also known as “out-of-band” channels, while the relatively high bandwidth forward application transport channel (FATC) 199 is also known as an “in-band” channel. The session controller 145 contains an interface device for sending control information via the forward data channel FDC 196 and receiving control information and request information via the reverse data channel RDC 198 using the so-called “out-of-band” carrier frequencies.
  • The [0029] transport processor 150 accomplishes all of the forward content channel transmission interface requirements of the system 100 of FIG. 1. Specifically, the transport processor 150 is coupled to subscriber equipment via the forward applications transport channel (FATC) 199. That is, the transport processor 150 is capable of providing a plurality of scrambled or unscrambled content and/or asset streams modulated onto various carrier frequencies suitable for use in the distribution network 104. The FATC is supported by the distribution network 104 and comprises a relatively high bandwidth communications channel well suited to carrying video, audio and data such as, for example, multiplexed MPEG-2 transport packets. It should be noted that data normally conveyed to a set top terminal 136 via the FDC 196 may be included in the FATC data stream. The transport processor 150 also contains a modulator for modulating the combined content and asset stream onto one or more carrier frequencies for transmission on the FATC 199, the so-called “in-band” carrier frequencies.
  • The [0030] communications distribution network 104 can be any one of a number of conventional broadband communications networks that are available such as a fiber optic network, a telephone network, a cable television network and the like. For example, if the network is a hybrid fiber-coax network, the transmission transport technique used in both forward channels may be modeled after the Moving Pictures Expert Group (MPEG) transport protocol for the transmission of video data streams. In general, the transport mechanism for both of the forward channels that transport information to the set top terminal must be able to carry unidirectional, asynchronous packetized data such as that defined in the MPEG video and audio signal transmission protocol, and the like. There are a number of such transport protocols available.
  • The subscriber equipment [0031] 106 comprises a set top terminal or a set top box 136, a display device 140 (e.g. a conventional television) and a user input device 138 (e.g. a remote control device). Each set top terminal (STT) 136 receives the data streams from the FATC, demodulates the received data streams and, in the case of video streams, processes the demodulated video streams for subsequent display on the display device 140. In the case of receiving scrambled data streams, the STT 136 descrambles the received data streams using the descrambling messages (DM) provided to the STT 136 via the FATC 199 or the FDC 196. The STT 136 uses the authorization messages (AM) provided via the FATC or FDC to determine if a descrambling of the received scrambled stream is authorized. In addition, the set top terminal 136 accepts commands from the remote control input device 138 or other input device. These commands are formatted, modulated, and transmitted through the distribution network 104 to the session controller 145. Typically, this transmission is accomplished through the reverse data channel RDC 195. These commands are preferably transmitted through the same network used to transmit information to the set top terminal 136. However, the RDC coupling the set top terminal to the provider equipment 102 may be a separate network, e.g. a FATC through a television cable network and an RDC through a telephone network. The telephone network could also support the FDC.
  • The invention addresses several types of errors that may occur in a system storing and providing content data on an extent-by-extent basis. A first type of error comprises the standard data error, such as corruption of some or all of the audio-visual data forming an extent. Since this type of error is likely to be trapped using the standard CRC technique, the subject invention utilizes CRC techniques to screen for this error. [0032]
  • Second type of error comprises the non-contiguous storage or retrieval of extents, either within a single storage medium or a plurality of storage media. For example, in the [0033] exemplary VOD system 100 of FIG. 1, a plurality of disk drives within a disk drive array are used to store data that has been striped across the array. In this example, contiguous extents are stored in logically adjoining disk drives. However, since contiguous extents are stored on different disks within the disk array, it is possible for hardware or software errors in the disk array control system to allow a storage or retrieval of extents to occur out of sequence. Thus, rather than a temporally contiguous stream of extents being provided to a subscriber, the actual stream provided to the subscriber may include “transposed” extents or other non-sequential or temporal aberrations in the order of extent delivery period. Such errors are not detected by the CRC error checking algorithms, since the actual audio and/or video information stored within the extent is not incorrect.
  • A third type of error that may occur is the streaming of an incorrect track to the subscriber. For example, if a subscriber presently receiving the play track of the movie decides to enter a fast forward mode of operation, the fast forward request is processed by the [0034] subscriber equipment 102 which, responsively changes the stream provided to the subscriber from the play track to the fast forward track. The play track is left at a particular extent and the fast forward track is entered at an extent indexed to the particular extent of the play track. In this manner transitioning to a fast forward mode of operation is effective.
  • A fourth type of error that may occur is a streaming of an incorrect content stream to the subscriber. For example, if a subscriber is presently receiving a requested content stream such as a juvenile television program, it is highly undesirable to have the server transition to an incorrect content stream, such as an adult movie. Therefore, each extent is associated with a particular content stream identifier that is unique to the content stream. In this manner, such incorrect content stream delivered to subscribers is avoided. [0035]
  • The subject invention addresses all of the error sources described above. The subject invention utilizes a unique data structure to enable trapping of the above errors and a corresponding method utilizing that structure to provide such error trapping functionality. The data structure of the subject invention will be discussed in detail below with respect to FIG. 2, while the method utilizing the data structure will be discussed in more detail below with respect to FIG. 3. [0036]
  • FIG. 2 depicts a graphical representation of data structures suitable for use in the present invention. Specifically, a [0037] content stream 210, illustratively a movie, sporting event, television program, or other form of content, is divided into a plurality of extents. Each extent represents, illustratively, two seconds worth of content. An extent 220 comprises a plurality of packets, illustratively DIVA DVB-ASI (DASI) packets, MPEG-2 packets or other packets suitable for transporting the above-described audio-visual information streams, including the various tracks (i.e., the “PLAY,” “FF” and “REW” tracks). Together, the plurality of packets forming each extent contain all the content information appropriate to the temporal period represented by the respective extent. The DASI packets are well adapted to transmission via a gigabit per second network medium, such as described in more detail in commonly-assigned, simultaneously-filed U.S. patent application Ser. No. 09/458,339 (Attorney Docket No. 051).
  • Referring to FIG. 2, each [0038] extent 220 comprises a data extent 240 and an extent trailer 230. The data extent 240 comprises a plurality of packets, such as MPEG-2 transport packets or other packet structures supporting video, audio and data information. The extent trailer 230 comprises a plurality of fields useful in processing each extent according to the methods of the present invention. Specifically, the extent trailer 230 comprises a unique content identifier (“UniqueID”) field 231, a logical extent number field 232, a track-type field 233 and a circular redundancy check (CRC) field 234.
  • The content identifier or [0039] UniqueID field 231 is used to uniquely identify the content stream within the interactive information distribution system 100 of FIG. 1. Specifically, each content stream utilized by the system has associated with it a UniqueID. The UniqueID field 231 enables stream processing, storage and transmission elements within the interactive information distribution system 100 to ensure that each of a plurality of extents being stored, retrieved, processed or transmitted as part of the stream are, in fact, part of the appropriate stream, as defined by information stored within the UniqueID field 231. In this manner, the storage or transmission of corresponding extents from entirely different content streams may be avoided. For example, the streaming to a subscriber of an adult program rather than a requested juvenile program may be avoided.
  • The [0040] logical extent field 232 provides a number indicative of the relative position of the data extent 220 within the content stream 210. Specifically, the content stream 210 is divided into a plurality of data extents 220 which must be presented in a particular order. To ensure appropriate presentation of the extents, each extent is numbered in a sequential manner such that contiguous extents within the content stream have information within their respective logical extent fields 232 indicative of this contiguous placement. Thus, where data extents 220 are processed, stored, retrieved or transmitted in a particular order, the logical extent field 232 is used to ensure that the appropriate order is maintained, thereby ensuring orderly presentation of the extents 220 forming a content stream 210.
  • The track-[0041] type field 233 indicates the type of track provided by the content stream 210. As previously noted, the DIVA video on demand system allows “VCR-like” functionality such that users may select a “play” track, a “fast forward” track or a “rewind” track. The type of track provided by the plurality of data extents 220 forming a content stream 210 is denoted by the track-type field 233. In this manner, if a user selects a fast forward track of a content stream, data extents not associated with the fast forward track (per track-type field 233) may be processed in a manner avoiding transmission of such data extents to the user.
  • The circular redundancy check (CRC) [0042] field 234 is used to provide a check of the integrity of the content within the data extent 240. That is, a CRC operation is performed on the information within the data extent 240 during the initial formation of a data extent 220. By utilizing the CRC field, storage, retrieval, processing or transmission elements within the interactive information distribution system 100 of FIG. 1 may determine if the data extent 240 within the extent 220 is corrupted. In the case of a corrupted data extent, a replacement data extent 220 may be retrieved, a masking or correction routine may be invoked to, respectively, mask or correct the error within the data extent 240 or other processing error correction processing measures may be taken.
  • FIG. 3 depicts a flow diagram of a content integrity analysis method suitable for use in the interactive information distribution system of FIG. 1. Specifically, the [0043] method 300 of FIG. 3 is utilized to check each extent to be stored or retrieved from a disk array within the information server 125, or from the information server itself. The method may also be employed to ensure that the transmission of extents to subscribers by the transport processor 150 occurs in an appropriate manner.
  • The [0044] method 300 starts at step 302 and proceeds to step 304, where the CRC data within the CRC field 234 is compared to a calculated CRC. That is, a CRC check is performed on the data within the extent to ensure that the data is not corrupted. If a CRC error is detected, then the method 300 proceeds to step 310. Otherwise, the method 300 proceeds to step 306.
  • The CRC is calculated with respect to the information contained within the data extent. The information used in the calculator may comprise all data within the data extent (e.g., video packets, audio packets and other packets) or a subset of the included data (e.g., only the video packets or only payload portions of the packets). Thus, the calculated CRC may be selectively utilized to calculate full or partial CRC values based on the information within the time extent. It is important to note that the CRC value included in the [0045] CRC field 234 should be calculated using the same technique or data set (or sub-set) as used to provide the calculated CRC value at step 304.
  • At [0046] step 306, the contents of the content ID or UniqueID field is compared to the content ID or UniqueID of the content stream being processed (i.e., being stored, retrieved or transmitted). If an unfavorable comparison results, then the method 300 proceeds to step 310. Otherwise, the method 300 proceeds to step 308.
  • At [0047] step 308 the contents of the logical extent number are compared to the calculated logical extent number of the extent being processed. For example, a counter may be incremented each time an extent is processed, such that the logical extent number of the next extent to be processed should be one increment above the previously processed extent. In this manner, the sequential nature of the extent is preserved. If an unfavorable comparison results, then the method 300 proceeds to step 310. Otherwise, the method 300 proceeds to optional step 318.
  • At [0048] optional step 318, the contents of the track type field 233 are compared to the actual track type of the content stream being processed. In this manner, the contiguous storage, retrieval or transmission of extents having the same logical extent number but representing different tracks (i.e., PLAY, FF or REW tracks) may be avoided. If an unfavorable comparison results, then the method 300 proceeds to step 310. Otherwise, the method 300 proceeds to optional step 314.
  • At [0049] step 314 the extent is passed to the system and processed in the intended manner, such as by storing the extent on a disk or across a disk array, retrieving the extent from the disk or the disk array, transmitting the extent to a subscriber or coupling the extent to another processing or storage element within an information processing system employing the subject invention, such as a networked computer system.
  • At [0050] step 310 an error handling routine is invoked. Specifically, at step 310 an error message including the type of error (wrong ID, wrong type, wrong position, or wrong CRC value) is provided as an error message or appended to a related or existing error message (e.g., a read failure, write failure or transmission failure message). The method 300 then proceeds to step 312, where the system provided Id, the actual content ID, the calculated content extent number and actual content extent number and any other information deemed appropriate are added to the error message. Utilizing such error messages, the system operator or controller may identify faulty content streams and take appropriate action (such as re-transmit, re-store or re-read the extent). The method 300 then proceeds to step 313, where an error handling routine is invoked.
  • The above-described [0051] method 300 is used to analyze content of data streams stored, retrieved or transmitted within an interactive information distribution system. However, it will be appreciated by those skilled in the art that the teachings of the present invention may be advantageously employed in any system processing sequentially arranged data. Additionally, extra fields or identifiers can be added to the extent trailer 230 to further assure the integrity of extents being processed.
  • Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings. [0052]

Claims (20)

What is claimed is:
1. A method for providing content-on-demand, comprising:
dividing a content stream in to a plurality of extents containing packetized information appropriate to a temporal period represented by each extent; and
associating with each extent, a data extent comprising a plurality of content data packets, and an extent trailer comprising a unique content identifier, a logical extent number, a track-type identifier, and a circular redundancy check.
2. The method of claim 1, further comprising:
striping said plurality of extents of said content stream across a plurality of disk drives.
3. The method of claim 1, further comprising:
transmitting said plurality of extents of said content stream to at least one subscriber terminal in response to a request for content.
4. The method of claim 1, wherein said unique content identifier is associated with a particular content stream.
5. The method of claim 1, wherein said logical extent number provides a number indicative of a relative position of said data extent with respect to other data extents within said content stream.
6. The method of claim 5, wherein each said logical extent number is sequentially numbered within said content stream.
7. The method of claim 1, wherein said track-type identifier comprises indicia of a type of track selected from the group consisting of a play track, a fast-forward track, and a reverse-play track.
8. The method of claim 1, further comprising:
performing a circular redundancy check (CRC) operation on said plurality of content data packets of each data extent during initial formation of said data extent.
9. The method of claim 8, further comprising:
replacing a corrupted data extent with a replacement data extent in an instance where said CRC operation identifies said corrupted data extent.
10. The method of claim 8, further comprising:
masking a corrupted data extent in an instance where said CRC operation identifies a corrupted data extent.
11. Apparatus for providing content-on-demand, comprising:
means for dividing a content stream in to a plurality of extents containing packetized information appropriate to a temporal period represented by each extent; and
means for associating with each extent, a data extent comprising a plurality of content data packets, and an extent trailer comprising a unique content identifier, a logical extent number, a track-type identifier, and a circular redundancy check.
12. The apparatus of claim 11, further comprising:
means for striping said plurality of extents of said content stream across a plurality of disk drives.
13. The apparatus of claim 11, further comprising:
means for transmitting said plurality of extents of said content stream to at least one subscriber terminal in response to a request for content.
14. The apparatus of claim 11, wherein said unique content identifier is associated with a particular content stream.
15. The apparatus of claim 11, wherein said logical extent number provides a number indicative of a relative position of said data extent with respect to other data extents within said content stream.
16. The apparatus of claim 15, wherein each said logical extent number is sequentially numbered within said content stream.
17. The apparatus of claim 11, wherein said track-type identifier comprises indicia of a type of track selected from the group consisting of a play track, a fast-forward track, and a reverse-play track.
18. The apparatus of claim 11, further comprising:
means for performing a circular redundancy check (CRC) operation on said plurality of content data packets of each data extent during initial formation of said data extent.
19. The apparatus of claim 18, further comprising:
means for replacing a corrupted data extent with a replacement data extent in an instance where said CRC operation identifies said corrupted data extent.
20. The apparatus of claim 18, further comprising:
means for masking a corrupted data extent in an instance where said CRC operation identifies a corrupted data extent.
US10/629,456 1999-03-31 2003-07-29 Method of performing content integrity analysis of a data stream Abandoned US20040073862A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/629,456 US20040073862A1 (en) 1999-03-31 2003-07-29 Method of performing content integrity analysis of a data stream

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12711599P 1999-03-31 1999-03-31
US09/459,217 US6604224B1 (en) 1999-03-31 1999-12-10 Method of performing content integrity analysis of a data stream
US10/629,456 US20040073862A1 (en) 1999-03-31 2003-07-29 Method of performing content integrity analysis of a data stream

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/459,217 Continuation US6604224B1 (en) 1999-03-31 1999-12-10 Method of performing content integrity analysis of a data stream

Publications (1)

Publication Number Publication Date
US20040073862A1 true US20040073862A1 (en) 2004-04-15

Family

ID=27624834

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/459,217 Expired - Lifetime US6604224B1 (en) 1999-03-31 1999-12-10 Method of performing content integrity analysis of a data stream
US10/629,456 Abandoned US20040073862A1 (en) 1999-03-31 2003-07-29 Method of performing content integrity analysis of a data stream

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/459,217 Expired - Lifetime US6604224B1 (en) 1999-03-31 1999-12-10 Method of performing content integrity analysis of a data stream

Country Status (1)

Country Link
US (2) US6604224B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060053236A1 (en) * 2004-09-08 2006-03-09 Sonksen Bradley S Method and system for optimizing DMA channel selection
US20060161702A1 (en) * 2005-01-20 2006-07-20 Bowlby Gavin J Method and system for testing host bus adapters
US20060230215A1 (en) * 2005-04-06 2006-10-12 Woodral David E Elastic buffer module for PCI express devices
US7234101B1 (en) * 2003-08-27 2007-06-19 Qlogic, Corporation Method and system for providing data integrity in storage systems
US20070174875A1 (en) * 2006-01-23 2007-07-26 Sbc Knowledge Ventures, L.P. System and method of processing a satellite signal
US7669190B2 (en) 2004-05-18 2010-02-23 Qlogic, Corporation Method and system for efficiently recording processor events in host bus adapters
US20130142094A1 (en) * 2011-12-02 2013-06-06 Qualcomm Incorporated Systems and methods for frame filtering and for enabling frame filtering
EP3281315B1 (en) * 2015-04-09 2023-10-25 Ibiquity Digital Corporation Systems and methods for automated detection of signal quality in digital radio broadcast signals

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040031045A1 (en) * 1997-11-20 2004-02-12 Ivanyi Thomas P. System and method for measuring and storing information pertaining to television viewer or user behavior
US8763053B1 (en) 1999-04-01 2014-06-24 Cox Communications, Inc. File system for a file server of a video-on-demand system
US20020083006A1 (en) * 2000-12-14 2002-06-27 Intertainer, Inc. Systems and methods for delivering media content
US7870592B2 (en) * 2000-12-14 2011-01-11 Intertainer, Inc. Method for interactive video content programming
US20020143647A1 (en) * 2001-03-30 2002-10-03 Intertainer, Inc. Subscriber management system
US20020144283A1 (en) * 2001-03-30 2002-10-03 Intertainer, Inc. Content distribution system
US6925469B2 (en) 2001-03-30 2005-08-02 Intertainer, Inc. Digital entertainment service platform
US7861259B2 (en) 2001-08-16 2010-12-28 Goldpocket Interactive Interactive television tracking system
GB2395100B (en) * 2001-08-16 2005-11-23 Goldpocket Interactive Digital data monitoring and logging in an ITV system
US7167476B1 (en) * 2002-04-12 2007-01-23 Juniper Networks, Inc. Systems and methods for routing data in a network device
CN1333596C (en) * 2004-06-30 2007-08-22 大唐电信科技股份有限公司光通信分公司 Grading device and method for request information and gradidng system and method for requst information
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
US8566857B2 (en) * 2005-09-20 2013-10-22 Forefront Assets Limited Liability Company Method, system and program product for broadcast advertising and other broadcast content performance verification utilizing digital artifacts
US8966517B2 (en) 2005-09-20 2015-02-24 Forefront Assets Limited Liability Company Method, system and program product for broadcast operations utilizing internet protocol and digital artifacts
US8566858B2 (en) * 2005-09-20 2013-10-22 Forefront Assets Limited Liability Company Method, system and program product for broadcast error protection of content elements utilizing digital artifacts
US9026677B2 (en) * 2006-03-17 2015-05-05 Cisco Technology, Inc. Method and apparatus for providing video on demand
US9355681B2 (en) * 2007-01-12 2016-05-31 Activevideo Networks, Inc. MPEG objects and systems and methods for using MPEG objects
US20080201736A1 (en) * 2007-01-12 2008-08-21 Ictv, Inc. Using Triggers with Video for Interactive Content Identification
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
KR20090000228A (en) * 2007-02-05 2009-01-07 삼성전자주식회사 Method of providing and using contents enabled to verify integrity and apparatus thereof
US7934228B2 (en) * 2007-03-26 2011-04-26 The Directv Group, Inc. Method and system for marking video signals for identification
US8185922B1 (en) * 2008-03-27 2012-05-22 The Directv Group, Inc. Method and apparatus of verifying that requested content matches content to be downloaded
US9723254B2 (en) * 2008-04-14 2017-08-01 The Directv Group, Inc. Method and system of extending recording time for a run-over program
US8661463B2 (en) * 2008-06-03 2014-02-25 The Directv Group, Inc. Method and system of marking and recording content of interest in a broadcast stream
KR20110030640A (en) * 2008-06-25 2011-03-23 액티브비디오 네트웍스, 인코포레이티드 Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
WO2012051528A2 (en) 2010-10-14 2012-04-19 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
US9213709B2 (en) 2012-08-08 2015-12-15 Amazon Technologies, Inc. Archival data identification
US9251097B1 (en) 2011-03-22 2016-02-02 Amazon Technologies, Inc. Redundant key management
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
EP2695388B1 (en) 2011-04-07 2017-06-07 ActiveVideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US10409445B2 (en) 2012-01-09 2019-09-10 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US9652487B1 (en) 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US8959067B1 (en) 2012-08-08 2015-02-17 Amazon Technologies, Inc. Data storage inventory indexing
SG11201500836QA (en) * 2012-08-08 2015-03-30 Amazon Tech Inc Archival data storage system
US9354683B2 (en) 2012-08-08 2016-05-31 Amazon Technologies, Inc. Data storage power management
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
JP2015045961A (en) * 2013-08-27 2015-03-12 株式会社東芝 Information processor, monitor camera unit and image reproduction apparatus
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
US12086450B1 (en) 2018-09-26 2024-09-10 Amazon Technologies, Inc. Synchronous get copy for asynchronous storage

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473362A (en) * 1993-11-30 1995-12-05 Microsoft Corporation Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
US5561791A (en) * 1995-04-10 1996-10-01 Digital Equipment Corporation Method and apparatus for conditioning timed program independent of transport timing
US5579527A (en) * 1992-08-05 1996-11-26 David Sarnoff Research Center Apparatus for alternately activating a multiplier and a match unit
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
US5678061A (en) * 1995-07-19 1997-10-14 Lucent Technologies Inc. Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks
US5781570A (en) * 1995-04-12 1998-07-14 Nec Corporation Error processing method of ADPCM voice transmission system and apparatus therefor
US5838314A (en) * 1996-02-21 1998-11-17 Message Partners Digital video services system with optional interactive advertisement capabilities
US5864682A (en) * 1995-07-14 1999-01-26 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US5915094A (en) * 1994-12-06 1999-06-22 International Business Machines Corporation Disk access method for delivering multimedia and video information on demand over wide area networks
US6128467A (en) * 1996-03-21 2000-10-03 Compaq Computer Corporation Crosspoint switched multimedia system
US6275507B1 (en) * 1997-09-26 2001-08-14 International Business Machines Corporation Transport demultiplexor for an MPEG-2 compliant data stream
US6438140B1 (en) * 1998-11-19 2002-08-20 Diva Systems Corporation Data structure, method and apparatus providing efficient retrieval of data from a segmented information stream
US6717947B1 (en) * 1998-12-03 2004-04-06 Lsi Logic Corporation Method and apparatus for isochronous data transfer with retry capability

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579527A (en) * 1992-08-05 1996-11-26 David Sarnoff Research Center Apparatus for alternately activating a multiplier and a match unit
US5473362A (en) * 1993-11-30 1995-12-05 Microsoft Corporation Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
US5915094A (en) * 1994-12-06 1999-06-22 International Business Machines Corporation Disk access method for delivering multimedia and video information on demand over wide area networks
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
US5561791A (en) * 1995-04-10 1996-10-01 Digital Equipment Corporation Method and apparatus for conditioning timed program independent of transport timing
US5781570A (en) * 1995-04-12 1998-07-14 Nec Corporation Error processing method of ADPCM voice transmission system and apparatus therefor
US5864682A (en) * 1995-07-14 1999-01-26 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US5678061A (en) * 1995-07-19 1997-10-14 Lucent Technologies Inc. Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks
US5838314A (en) * 1996-02-21 1998-11-17 Message Partners Digital video services system with optional interactive advertisement capabilities
US6128467A (en) * 1996-03-21 2000-10-03 Compaq Computer Corporation Crosspoint switched multimedia system
US6275507B1 (en) * 1997-09-26 2001-08-14 International Business Machines Corporation Transport demultiplexor for an MPEG-2 compliant data stream
US6438140B1 (en) * 1998-11-19 2002-08-20 Diva Systems Corporation Data structure, method and apparatus providing efficient retrieval of data from a segmented information stream
US6717947B1 (en) * 1998-12-03 2004-04-06 Lsi Logic Corporation Method and apparatus for isochronous data transfer with retry capability

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234101B1 (en) * 2003-08-27 2007-06-19 Qlogic, Corporation Method and system for providing data integrity in storage systems
US7669190B2 (en) 2004-05-18 2010-02-23 Qlogic, Corporation Method and system for efficiently recording processor events in host bus adapters
US20060053236A1 (en) * 2004-09-08 2006-03-09 Sonksen Bradley S Method and system for optimizing DMA channel selection
US20060161702A1 (en) * 2005-01-20 2006-07-20 Bowlby Gavin J Method and system for testing host bus adapters
US7392437B2 (en) 2005-01-20 2008-06-24 Qlogic, Corporation Method and system for testing host bus adapters
US20060230215A1 (en) * 2005-04-06 2006-10-12 Woodral David E Elastic buffer module for PCI express devices
US7281077B2 (en) 2005-04-06 2007-10-09 Qlogic, Corporation Elastic buffer module for PCI express devices
US20070174875A1 (en) * 2006-01-23 2007-07-26 Sbc Knowledge Ventures, L.P. System and method of processing a satellite signal
US8453183B2 (en) * 2006-01-23 2013-05-28 At&T Intellectual Property I, L.P. System and method of processing a satellite signal
US9554180B2 (en) 2006-01-23 2017-01-24 At&T Intellectual Property I, L.P. System and method of processing a satellite signal
US20130142094A1 (en) * 2011-12-02 2013-06-06 Qualcomm Incorporated Systems and methods for frame filtering and for enabling frame filtering
EP3281315B1 (en) * 2015-04-09 2023-10-25 Ibiquity Digital Corporation Systems and methods for automated detection of signal quality in digital radio broadcast signals

Also Published As

Publication number Publication date
US6604224B1 (en) 2003-08-05

Similar Documents

Publication Publication Date Title
US6604224B1 (en) Method of performing content integrity analysis of a data stream
KR101085539B1 (en) Dynamic composition of pre-encrypted video on demand content
KR101085542B1 (en) Batch mode session-based encryption of video on demand content
US8972600B2 (en) Method and apparatus for a fault resilient collaborative media serving array
US7903648B2 (en) Method and apparatus for injecting information assets into a content stream
KR101085541B1 (en) Preparation of content for multiple conditional access methods in video on demand
CN1977534B (en) Composite session-based encryption of video on demand content
CA2408232C (en) Method and apparatus for enabling random access to individual pictures in an encrypted video stream
US20140351872A1 (en) Decentralized media delivery network
US20050097596A1 (en) Re-encrypted delivery of video-on-demand content
US20090100496A1 (en) Media server system
US7072972B2 (en) Method and apparatus for performing user migration within a video on demand environment
KR20060094080A (en) Hybrid storage of video on demand content
US8296812B1 (en) Streaming video using erasure encoding
US20020073172A1 (en) Method and apparatus for storing content within a video on demand environment
US20160249092A1 (en) System and method for digital video recording backfill
US8286212B2 (en) On-demand asset distribution

Legal Events

Date Code Title Description
AS Assignment

Owner name: TVGATEWAY, LLC, PENNSYLVANIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DIVA SYSTEMS CORPORATION BY HOWARD B. GROBSTEIN, CHAPTER 11 TRUSTEE;REEL/FRAME:014567/0512

Effective date: 20040421

Owner name: TVGATEWAY, LLC,PENNSYLVANIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DIVA SYSTEMS CORPORATION BY HOWARD B. GROBSTEIN, CHAPTER 11 TRUSTEE;REEL/FRAME:014567/0512

Effective date: 20040421

AS Assignment

Owner name: SEDNA PATENT SERVICES, LLC, PENNSYLVANIA

Free format text: CHANGE OF NAME;ASSIGNOR:TVGATEWAY, LLC;REEL/FRAME:015177/0980

Effective date: 20040824

Owner name: SEDNA PATENT SERVICES, LLC,PENNSYLVANIA

Free format text: CHANGE OF NAME;ASSIGNOR:TVGATEWAY, LLC;REEL/FRAME:015177/0980

Effective date: 20040824

AS Assignment

Owner name: COMCAST IP HOLDINGS I, LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SEDNA PATENT SERVICES, LLC (F/K/A TVGATEWAY, LLC);REEL/FRAME:021570/0353

Effective date: 20080913

Owner name: COMCAST IP HOLDINGS I, LLC,DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SEDNA PATENT SERVICES, LLC (F/K/A TVGATEWAY, LLC);REEL/FRAME:021570/0353

Effective date: 20080913

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION