IP Library Granted Patent US 7,380,117
Granted Patent B2
US 7,380,117 · App. 11/171,866 · Granted May 27, 2008

Process and streaming server for encrypting a data stream

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,380,117
App. No.
11/171,866
Granted
May 27, 2008
Kind
B2
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.

Claims (31)

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,

using the encryption key to decrypt the data stream; and

a display module that is configured to control the display of the data stream.

2. The client of claim 1 , wherein the encrypted data stream is encrypted for a single viewing.

3. The client of claim 1 , wherein at least a portion of computer-readable instructions associated with the control module is uploadable onto the client.

4. The client of claim 1 , wherein if the URI, and token are validated further comprises employing the server to determine if the token has expired.

5. The client of claim 1 , wherein the control module is programmed to perform actions further comprising:

sending user information and the request for the data stream to the server; and

if the user information is valid, performing additional actions, including:

if a fee is associated with the requested data stream, debiting a valid user account, and generating the token.

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.

7. The server of claim 6 , wherein the predetermined number of viewings is a single viewing.

8. The server of claim 6 , wherein controlling over the network the rate of the flow further comprises transmitting the encrypted data stream to the client at substantially the same rate as the encrypted data stream is received by the client.

9. The server of claim 6 , wherein controlling over the network the rate of the flow further comprises receiving a network statistic from the client.

10. 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.

Assignments (9)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2011
From: WIDEVINE TECHNOLOGIES, INC.
To: GOOGLE INC.
Reel/Frame 026535/0065 →
RESUBMISSION OF DOC ID 501348695 Recorded Jan 11, 2011
From: WIDEVINE TECHNOLOGIES, INC.
To: WIDEVINE TECHNOLOGIES, INC.
Reel/Frame 025620/0785 →
CHANGE OF NAME Recorded Nov 10, 2010
From: INTERNET DIRECT MEDIA, INC.
To: WIDEVINE TECHNOLOGIES, INC.
Reel/Frame 025346/0750 →
MERGER Recorded Nov 9, 2010
From: INTERNET DIRECT MEDIA, INC.
To: INTERNET DIRECT MEDIA, INC.
Reel/Frame 025337/0037 →
CHANGE OF NAME Recorded Nov 5, 2010
From: INTERNET DIRECT MEDIA, INC. D/B/A IDIRECTMEDIA, INC.
To: INTERNET DIRECT MEDIA, INC.
Reel/Frame 025326/0880 →
CHANGE OF NAME Recorded Nov 4, 2010
From: INTERNET DIRECT VIDEO, INC.
To: INTERNET DIRECT MEDIA, INC. D/B/A IDIRECTMEDIA, INC.
Reel/Frame 025317/0598 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2010
From: BAKER, BRIAN
To: INTERNET DIRECT VIDEO, INC.
Reel/Frame 025238/0581 →
SECURITY AGREEMENT Recorded Jul 31, 2009
From: WIDEVINE TECHNOLOGIES, INC.
To: VENTURE LENDING & LEASING V, INC.
Reel/Frame 023044/0724 →