IP Library Granted Patent US 11,102,533
Granted Patent B2
US 11,102,533 · App. 16/341,708 · Granted Aug 24, 2021

Predicting break durations in content streams

Inventors: Igor Fradlis (Woodmere, NY); Charles Weill (New York, NY); Christopher Dinn (Mountain View, CA)
Assignee: Google LLC
H04N21/26233H04N21/23424H04N21/251H04N21/812
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 11,102,533
App. No.
16/341,708
Granted
Aug 24, 2021
Kind
B2
Abstract

The present disclosure discusses systems and methods to mitigate traffic spikes in retrieving secondary content items for display in concurrently streamed content streams. The system can pre-fetch secondary content items for the upcoming secondary content slots. To retrieve an appropriate content item, the system can predict the length of the secondary content slot. The system can use the predicted length of the secondary content slot to distribute the traffic spike over a larger span of time to mitigate the spike.

Claims (70)

1. A system for providing content to client devices, comprising a computing device comprising a processor and a memory device, the processor executing a classifier, the classifier configured to:

receive an indication of a first content stream transmitted to a plurality of client devices, the first content stream comprising a content item and a secondary content item slot;

receive an array comprising durations of a plurality of secondary content item slots associated with the first content stream;

determine for the first content stream, a plurality of classes, each of the plurality of classes associated with a different time duration of a corresponding plurality of time durations;

classify the secondary content item slot of the first content stream into a first class of the plurality of classes based on the array comprising durations of the plurality of secondary content item slots associated with the first content stream;

prefetch and store, based on a time duration of the first class of the plurality of classes into which the secondary content item slot was classified, a secondary content item for each of the plurality of client devices, wherein the classifier comprises a recurrent neural network;

calculate a confidence score for the classification of the secondary content item slot into the first class of the plurality of classes;

determine that the confidence score is below a predetermined threshold; and

select a second content item having a default time duration to place in the secondary content item slot of the first content stream responsive to the determination that the confidence score is below the predetermined threshold.

2. The system of claim 1 , wherein the classifier is further configured to select, responsive to the time duration of the first class, a different second content item for each of the plurality of client devices to display during the secondary content item slot of the first content stream.

3. The system of claim 1 , wherein each of the durations in the array are time durations of previously measured slots in the first content stream.

4. The system of claim 1 , wherein the classifier is further configured to:

determine a content stream characteristic of the first content stream; and

determine, for the first content stream, the plurality of classes based on the content stream characteristic.

5. The system of claim 1 , wherein the recurrent neural network is a long term-short term neural network.

6. The system of claim 1 , wherein the classifier is further configured to:

receive a duration of the secondary content item slot; and

update the array to include the duration of the secondary content item slot.

7. A system for providing content to client devices, comprising a computing device comprising a processor and a memory device, the processor executing a classifier, the classifier configured to:

receive an indication of a first content stream transmitted to a plurality of client devices, the first content stream comprising a content item and a secondary content item slot;

receive an array comprising durations of a plurality of secondary content item slots associated with the first content stream;

determine for the first content stream, a plurality of classes, each of the plurality of classes associated with a different time duration of a corresponding plurality of time durations;

classify the secondary content item slot of the first content stream into a first class of the plurality of classes based on the array comprising durations of the plurality of secondary content item slots associated with the first content stream;

prefetch and store, based on a time duration of the first class of the plurality of classes into which the secondary content item slot was classified, a secondary content item for each of the plurality of client devices, wherein the classifier comprises a recurrent neural network;

determine a number of the plurality of client devices is below a predetermined threshold;

receive an indication of a duration of a length of the secondary content item slot for the secondary content item; and

select a second content item to place into the secondary content item slot of the first content stream responsive to the indication of the duration of the length of the secondary content item slot for the secondary content item, responsive to the determination that the number of the plurality of client devices is below the predetermined threshold.

8. A system for providing content to client devices, comprising a computing device comprising a processor and a memory device, the processor executing a classifier, the classifier configured to:

receive an indication of a first content stream transmitted to a plurality of client devices, the first content stream comprising a content item and a secondary content item slot;

receive an array comprising durations of a plurality of secondary content item slots associated with the first content stream;

determine for the first content stream, a plurality of classes, each of the plurality of classes associated with a different time duration of a corresponding plurality of time durations;

receive a publisher identifier of the first content stream and a display time of the first content stream;

classify the secondary content item slot into a first class of the plurality of classes based on the array comprising durations of the plurality of secondary content item slots associated with the first content stream, the publisher identifier, and the display time; and

prefetch and store, based on a time duration of the first class of the plurality of classes into which the secondary content item slot was classified, a secondary content item for each of the plurality of client devices, wherein the classifier comprises a recurrent neural network.

9. The system of claim 8 , wherein the classifier is further configured to select one or more weights of a classification model based on the publisher identifier.

10. A method for providing content to client devices, comprising:

receiving, by a classifier comprising a recurrent neural network and executed by a processor of a computing device, an indication of a first content stream transmitted to a plurality of client devices, the first content stream comprising a content item and a secondary content item slot;

receiving, by the classifier, an array comprising durations of a plurality of secondary content item slots associated with the first content stream;

determining, by the classifier, for the first content stream, a plurality of classes, each of the plurality of classes associated with a different time duration of a corresponding plurality of time durations;

classifying, by the classifier, the secondary content item slot into a first class of the plurality of classes based on the array comprising durations of the plurality of secondary content item slots associated with the first content stream;

prefetching and storing, by the classifier, based on a time duration of the first class, a secondary content item for each of the plurality of client devices;

calculating, by the classifier, a confidence score for the classification of the secondary content item slot into the first class of the plurality of classes;

determining, by the classifier, that the confidence score is below a predetermined threshold; and

selecting, by the classifier, a second content item having a default time duration to place in the secondary content item slot of the first content stream responsive to the determination that the confidence score is below the predetermined threshold.

11. The method of claim 10 , further comprising selecting by the classifier, responsive to the time duration of the first class, a different second content item for each of the plurality of client devices to display during the secondary content item slot of the first content stream.

12. The method of claim 10 , wherein each of the durations in the array are time durations of previous secondary content item slots in the first content stream.

13. The method of claim 10 , further comprising:

determining a content stream characteristic of the first content stream; and

determining, by the classifier, for the first content stream, the plurality of classes based on the content stream characteristic.

14. The method of claim 10 , wherein the recurrent neural network is a long term-short term neural network.

15. The method of claim 10 , further comprising:

receiving a duration of the secondary content item slot; and

updating the array to include the duration of the secondary content item slot.

16. A method for providing content to client devices, comprising:

receiving, by a classifier comprising a recurrent neural network and executed by a processor of a computing device, an indication of a first content stream transmitted to a plurality of client devices, the first content stream comprising a content item and a secondary content item slot;

receiving, by the classifier, an array comprising durations of a plurality of secondary content item slots associated with the first content stream;

determining, by the classifier, for the first content stream, a plurality of classes, each of the plurality of classes associated with a different time duration of a corresponding plurality of time durations;

classifying, by the classifier, the secondary content item slot into a first class of the plurality of classes based on the array comprising durations of the plurality of secondary content item slots associated with the first content stream;

prefetching and storing, by the classifier, based on a time duration of the first class, a secondary content item for each of the plurality of client devices;

determining, by the classifier, a number of the plurality of client devices is below a predetermined threshold;

receiving, by the classifier, an indication of a duration of a length of the secondary content item slot; and

selecting, by the classifier, a second content item to place into the secondary content item slot of the first content stream responsive to the indication of the duration of the length of the secondary content item slot for the secondary content item, responsive to the determination that the number of the plurality of client devices is below the predetermined threshold.

17. A method for providing content to client devices, comprising:

receiving, by a classifier comprising a recurrent neural network and executed by a processor of a computing device, an indication of a first content stream transmitted to a plurality of client devices, the first content stream comprising a content item and a secondary content item slot;

receiving, by the classifier, an array comprising durations of a plurality of secondary content item slots associated with the first content stream;

determining, by the classifier, for the first content stream, a plurality of classes, each of the plurality of classes associated with a different time duration of a corresponding plurality of time durations;

receiving, by the classifier, a publisher identifier of the first content stream and a display time of the first content stream;

classifying, by the classifier, the secondary content item slot into a first class of the plurality of classes based on the array comprising durations of the plurality of secondary content item slots associated with the first content stream, the publisher identifier, and the display time; and

prefetching and storing, by the classifier, based on a time duration of the first class, a secondary content item for each of the plurality of client devices.

18. The method of claim 17 , further comprising selecting one or more weights of a classification model based on the publisher identifier.

Assignments (2)
CHANGE OF NAME Recorded May 24, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 056339/0863 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2021
From: FRADLIS, IGOR; WEILL, CHARLES; DINN, CHRISTOPHER
To: GOOGLE INC.
Reel/Frame 055813/0133 →
Continuity (1)
Related Publication 20190268644A1 · Aug 29, 2019