PROCESS AND STREAMING SERVER FOR ENCRYPTING A DATA STREAM WITH BANDWIDTH BASED VARIATION
First Claim
Patent Images
1. A client for receiving a data stream for use in a predefined number of viewings, comprising:
- a control module that is programmed to perform actions comprising;
providing a URI and a token associated with the URI, and a request for the data stream to a server; and
if the URI, and token are validated;
negotiating an encryption key with the server,receiving the data stream over a network a rate of a flow to maintain a substantially full client buffer and wherein a compression quality of the data stream is dynamically varied based on a determined bandwidth over the network,using the encryption key to decrypt the data stream; and
a display module that is configured to control the display of the data stream.
4 Assignments
0 Petitions
Accused Products
Abstract
There is disclosed a process for encrypting a data stream to secure the data stream for single viewing and to protect copyrights of the data stream. Specifically, there is disclosed a process for protecting streaming multimedia, entertainment and communications in an Internet-type transmission. There is further disclosed a streaming server component operably connected with a streaming server that interacts with a client system to affect the inventive process.
-
Citations
18 Claims
-
1. A client for receiving a data stream for use in a predefined number of viewings, comprising:
-
a control module that is programmed to perform actions comprising; providing a URI and a token associated with the URI, and a request for the data stream to a server; and if the URI, and token are validated; negotiating an encryption key with the server, receiving the data stream over a network a rate of a flow to maintain a substantially full client buffer and wherein a compression quality of the data stream is dynamically varied based on a determined bandwidth over the network, using the encryption key to decrypt the data stream; and a display module that is configured to control the display of the data stream. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A server for use in providing a data stream to a client for a predetermined number of viewings, the server comprising:
-
a first component configured to enable a connection to be established with the client; and a second component that is programmed to perform actions comprising; receiving user verification information, URI, and a token associated with the URI with a request for the data stream from the client; determining the validity of the user verification information, the URI, and the token, wherein the token is validated based, in part, on an expiration date; and if the user verification information, URI, and token are valid, negotiating an encryption key with the client, using the encryption key to encrypt the data stream as it is streamed to the client, and controlling over a network a rate of a flow of the encrypted data stream to the client to maintain a substantially full client buffer, and further modifying a quality of the data within the data stream based on a determined bandwidth. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer-readable storage medium having data and instructions stored thereon for use in streaming data from a server to a client, the data and instructions when executed by a computing device perform actions, comprising:
-
receiving URI and a token associated with the URI with a request for the data stream from the client; and if the URI and the token are valid, enabling the server to perform actions, including; negotiating an encryption key with the client, providing an encrypted data stream to the client, wherein the data stream is encrypted with the negotiated encryption key; and controlling a rate of a flow of the encrypted data stream to the client over a network to maintain a substantially full client buffer while dynamically adapting a compression quality of data within the data stream based on a determined bandwidth. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. An apparatus for providing a data stream, comprising:
-
a means for receiving user information, including a token associated with a URI for a request for the data stream from a client; a means for determining a validity of the user information and the token; and if the user information and the token are valid, employing; a means for negotiating an encryption key with the client; a means for encrypting the data stream as it is streamed to the client, wherein the data stream is encrypted with the negotiated encryption key; and a means for controlling by the apparatus over a network a rate of a flow of the encrypted data stream to the client to maintain a substantially full client buffer and for dynamically modifying at least one portion of the data within the data stream by changing a compression quality of the at least one portion based on a determined bandwidth. - View Dependent Claims (18)
-
Specification