Automated content integrity validation for streaming data
OwnerGregory C. Kime, Rama R. Menoninventors
Life of this patent
Estimating the term…
Abstract
A client requests a data stream from a server. The server samples the data stream. The server generates one or more fingerprint blocks for one or more sampled portions of the data stream. The server sends the data stream to the client. The client receives the data stream. The client samples the data stream. The client generates one or more fingerprint blocks for one or more sampled portions of the data stream. The client compares one or more fingerprint blocks generated at the client to one or more fingerprint blocks generated at the server.
Claims30
A method comprising:
- receiving a request for a data stream from a client;
- sampling the data stream;
- generating one or more fingerprint blocks for one or more sampled portions of the data stream;
- sending one or more fingerprint blocks to the client;
- and
- sending the data stream to the client.
A method comprising:
- requesting a data stream by a client from a server;
- receiving the data stream by the client;
- sampling the data stream at the client;
- generating one or more fingerprint blocks for one or more sampled portions of the data stream at the client;
- and
- comparing one or more fingerprint blocks generated at the client to one or more fingerprint blocks generated at the server.
A method comprising:
- requesting a data stream from a server by a client;
- sampling the data stream at the server;
- generating one or more fingerprint blocks for one or more sampled portions of the data stream at the server;
- sending the data stream from the server to the client;
- receiving the data stream by the client;
- sampling the data stream at the client;
- generating one or more fingerprint blocks for one or more sampled portions of the data stream at the client;
- and
- comparing one or more fingerprint blocks generated at the client to one or more fingerprint blocks generated at the server.
An apparatus comprising:
- an encoder to encode a media signal to create a data stream of encoded data;
- a fingerprint block generator to sample the data stream and to generate one or more fingerprint blocks for one or more sampled portions of the data stream;
- and
- a packetizer to fragment the data stream to create one or more data packets comprising the encoded data to send to a client.
A client comprising:
- a processor;
- and
- a memory coupled to said processor having stored therein a set of instructions to cause said processor to request a data stream from a server, to receive the data stream, to sample the data stream, to generate one or more fingerprint blocks for one or more sampled portions of the data stream at the client, and to compare one or more fingerprint blocks generated at the client to one or more fingerprint blocks generated at the server.
A system comprising:
- a server comprising a first processor and a first memory coupled to the first processor having stored therein a first set of instructions to cause the first processor to receive a request for a data stream from a client, to sample the data stream, to generate one or more fingerprint blocks for one or more sampled portions of the data stream, to send the one or more fingerprint blocks to the client , and to send the data stream to the client;
- and
- a client comprising a second processor and a second memory coupled to the second processor having stored therein a second set of instructions to cause the second processor to request the data stream from the server, to receive one or more fingerprint blocks generated at the server, to receive the data stream, to sample the data stream, to generate one or more fingerprint blocks at the client for one or more sampled portions of the data stream, and to compare one or more fingerprint blocks generated at the client to one or more fingerprint blocks generated at the server.
A machine readable medium having stored therein a plurality of machine readable instructions for execution by a processor, the machine readable instructions to:
- receive a request for a data stream from a client;
- sample the data stream;
- generate one or more fingerprint blocks for one or more sampled portions of the data stream;
- send one or more fingerprint blocks to the client;
- and
- send the data stream to the client.
Dependencies are inferred from the claim text.