IP Library Granted Patent US 10,432,685
Granted Patent B2
US 10,432,685 · App. 15/169,543 · Granted Oct 1, 2019

Limiting key request rates for streaming media

Inventors: Barry Hartman (San Francisco, CA); Sean Knapp (Mountain View, CA); Bob Sesek (Sunnyvale, CA); Siddharth Gopalan (Harrison, NJ)
Assignee: Brightcove, Inc.
H04L65/60G06F21/105H04L9/14H04L63/0428H04L65/4084H04L65/602H04L65/607H04N21/2347H04N21/2541H04N21/25875H04N21/26258H04N21/26613H04N21/4405H04N21/47202H04N21/63345H04N21/8456H04L67/02H04L2209/60
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 10,432,685
App. No.
15/169,543
Granted
Oct 1, 2019
Kind
B2
Abstract

Techniques and a system are provided for protecting content (or media item) streamed over a network from unauthorized access. As an example, the streaming protection system generates statistics when a client requests a media item. The statistic may be generated based on various factors. The media item is divided into different portions, each portion requiring a different key to decrypt the portion so that it may be viewed by a user. Based on the generated statistic, the streaming protection system determines whether or not to allow the client access to the decryption key for a portion of the media item.

Claims (59)

1. A method comprising:

maintaining, at a digital key-provider service, a series of digital keys corresponding to a series of portions of streaming media and statistics of digital key requests for each requestor-id of a plurality of requestor-ids, wherein a requester can access a portion of a streaming media item by submitting, to a media server, a key corresponding to the portion of streaming media;

receiving from a first client, at the key-providing service, a first key request for a first key needed to play a first portion of a streaming media item; and

in response to receiving the first key request, the key-providing service performing the steps of:

determining that the first key request includes a first requestor-id;

retrieving first statistics maintained for the first requestor-id;

wherein the first statistics include first rate information that reflects a current key-request rate associated with the first requestor-id;

updating the current key-request rate to indicate receipt of the first key request;

based at least in part on a comparison of the current key-request rate to a maximum key-request rate, determining whether to:

provide the first key to the first client without taking remedial action, or take remedial action;

responsive to determining to provide the first key to the first client without taking remedial action, providing the first key to the first client without taking remedial action; and

responsive to determining to take remedial action, taking remedial action.

2. The method of claim 1 wherein the current key-request rate is a key request rate that reflects all requests associated with the first requestor-id.

3. The method of claim 1 wherein the current key-request rate is a key request rate that reflects requests associated with the first requestor-id and the streaming media item.

4. The method of claim 1 wherein the current key-request rate is a key request rate that reflects requests associated with the first requestor-id and the first portion of the streaming media item.

5. The method of claim 1 further comprising:

receiving from a second client, at the key-providing service, a second key request for the first key needed to play the first portion of the streaming media item; and

in response to receiving the second key request, the key-providing service performing the steps of:

determining that the second key request includes the first requestor-id;

retrieving the first statistics maintained for the first requestor-id;

updating the current key-request rate to indicate receipt of the second key request;

based at least in part on a comparison of the current key-request rate to the maximum key-request rate, determining whether to:

provide the first key to the second client without taking remedial action, or take remedial action;

responsive to determining to provide the first key to the second client without taking remedial action, providing the first key to the second client without taking remedial action; and

responsive to determining to take remedial action, taking remedial action.

6. The method of claim 5 wherein the second key request from the second client is made at approximately the same time as the first key request from the first client.

7. The method of claim 1 wherein the step of taking remedial action comprises denying the first key request.

8. The method of claim 1 wherein:

the step of taking remedial action comprises:

providing the first key to the first client, and

recording a key-request rate violation; and

the method further comprises denying a subsequent key request from the first client based on key-request rate violations associated with the first requestor-id exceeding a threshold limit.

9. The method of claim 1 further comprising dynamically setting the maximum key-request rate based, at least in part, on how many concurrent logins are allowed on an account associated with the first requestor-id.

10. The method of claim 1 further comprising dynamically setting the maximum key-request rate based, at least in part, on detected channel changing.

11. The method of claim 1 further comprising dynamically setting the maximum key-request rate based, at least in part, on a geographic region from which the first key request originates.

12. The method of claim 1 further comprising dynamically setting the maximum key-request rate based, at least in part, on a temporary change applicable to either (a) all requests made in conjunction with the first requestor-id or (b) all requests for the streaming media item.

13. A key-providing service comprising:

one or more processors operatively coupled to a network;

one or more storage devices operative coupled to the one or more processors;

wherein the one or more processors are programmed to:

maintain statistics of digital key requests on the one or more storage devices for each requestor-id of a plurality of requestor-ids, wherein a requester can access a portion of a streaming media item by submitting to a media server a key corresponding to the portion of streaming media;

receive, over the network from a first client, a first key request for a first key needed to play a first portion of a streaming media item;

respond to receiving the first key request by performing the steps of:

determining that the first key request includes a first requestor-id;

retrieving first statistics maintained for the first requestor-id;

wherein the first statistics include first rate information that reflects a current key-request rate associated with the first requestor-id;

updating the current key-request rate to indicate receipt of the first key request;

based at least in part on a comparison of the current key-request rate to a maximum key-request rate, determining whether to:

provide the first key to the first client without taking remedial action, or

take remedial action;

responsive to determining to provide the first key to the first client without taking remedial action, providing the first key over the network to the first client without taking remedial action; and

responsive to determining to take remedial action, taking remedial action.

14. The key-providing service of claim 13 wherein the current key-request rate is a key request rate that reflects all requests associated with the first requestor-id.

15. The key-providing service of claim 13 wherein the current key-request rate is a key request rate that reflects requests associated with the first requestor-id and the streaming media item.

16. The key-providing service of claim 13 wherein the current key-request rate is a key request rate that reflects requests associated with the first requestor-id and the first portion of the streaming media item.

17. The key-providing service of claim 13 wherein the one or more processors are configured to dynamically set the maximum key-request rate based, at least in part, on how many concurrent logins are allowed on an account associated with the first requestor-id.

18. The key-providing service of claim 13 wherein the one or more processors are configured to dynamically set the maximum key-request rate based, at least in part, on detected channel changing.

19. The key-providing service of claim 13 wherein the one or more processors are configured to dynamically set the maximum key-request rate based, at least in part, on a geographic region from which the first key request originates.

20. The key-providing service of claim 13 wherein the one or more processors are configured to dynamically set the maximum key-request rate based, at least in part, on a temporary change applicable to either (a) all requests made in conjunction with the first requestor-id or (b) all requests for the streaming media item.

Assignments (4)
PATENT SECURITY AGREEMENT Recorded Jun 12, 2025
From: BRIGHTCOVE INC.
To: INTESA SANPAOLO S.P.A., AS SECURITY AGENT
Reel/Frame 071575/0646 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2019
From: OOYALA, INC.
To: OTHELLO ACQUISITION CORPORATION
Reel/Frame 049254/0765 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2019
From: OTHELLO ACQUISITION CORPORATION
To: BRIGHTCOVE INC.
Reel/Frame 049257/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2016
From: HARTMAN, BARRY; KNAPP, SEAN; SESEK, BOB; GOPALAN, SIDDHARTH
To: OOYALA, INC.
Reel/Frame 039271/0830 →
Continuity (1)
Related Publication 20170346865A1 · Nov 30, 2017