IP Library Granted Patent US 10,735,213
Granted Patent B2
US 10,735,213 · App. 15/834,589 · Granted Aug 4, 2020

Optimized utilization of streaming bandwidth using multicast

Inventors: Tyrone Nakahara (San Carlos, CA); Stella Loh (Los Altos, CA)
Assignee: Google LLC
H04L12/185H04L43/10H04L61/2069H04L65/4076H04N21/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 10,735,213
App. No.
15/834,589
Granted
Aug 4, 2020
Kind
B2
Abstract

A system including a digital component request server that receives digital component requests for a supplemental digital component that will be presented in an additional multicast stream that is different to a multicast stream that is delivering content; a digital component distribution server that i) selects supplemental digital components to distribute over the additional multicast streams, the supplemental digital components being selected for one of the additional multicast streams being different to the supplemental digital component selected for each of the other additional multicast streams, and that ii) assigns one group of a plurality of groups of the multiple client devices to a respective one of the additional multicast streams; and an instruction generation server that generates instructions for the multiple client devices to tune to the respective additional multicast streams assigned to the group of multiple client devices that includes the different client device that submitted the request.

Claims (41)

1. A system comprising:

a digital component request server that receives, from multiple different client devices, separate digital component requests for a supplemental digital component that will be presented in a different multicast stream than a multicast stream that is delivering streaming content to the multiple different client devices, wherein a number of additional multicast streams that are capable of being distributed to the multiple different client devices over an available bandwidth is less than a total number of the multiple different client devices;

a digital component distribution server that i) selects multiple different supplemental digital components to distribute over at least a portion of the additional multicast streams that are capable of being distributed and that ii) assigns different groups of the multiple different client devices to different ones of the additional multicast streams that transport the multiple different supplemental digital components;

an instruction generation server that generates instructions for each of the multiple different client devices to tune to one of the additional multicast streams that was assigned to the different groups that includes the different client device that submitted the request; and

a ping address generation server that generates a client configurable ping address that includes a placeholder for insertion of a device identifier by the different client device that submitted the request.

2. The system of claim 1 , wherein at least one group of the different groups includes two or more different client devices.

3. The system of claim 1 , wherein the multicast stream is delivering a same streaming content to each of the multiple different client devices.

4. The system of claim 1 , wherein receiving the separate digital component requests further includes receiving, for at least one digital component request, multiple device identifiers in the digital component request, wherein the multiple different device identifiers specify multiple different devices that are to be provided a same digital component on a same additional multicast stream.

5. The system of claim 4 , wherein a number of the digital component requests is less than the total number of the multiple different client devices.

6. A method, comprising:

receiving, by one or more computers and from multiple different client devices, separate digital component requests for a supplemental digital component that will be presented in a different multicast stream than a multicast stream that is delivering streaming content to the multiple different client devices;

determining, by the one or more computers, a number of additional multicast streams that are capable of being distributed to the multiple different client devices over an available bandwidth when the digital component requests are received, wherein the number of additional multicast streams is less than a total number of the multiple different client devices;

selecting, by the one or more computers, in response to the separate requests, multiple different supplemental digital components to distribute over at least a portion of the additional multicast streams that are capable of being distributed;

assigning, by the one or more computers, different groups of the multiple different client devices to different ones of the additional multicast streams that transport the multiple different supplemental digital components; and

responding, by the one or more computers and to the multiple different client devices, to each of the separate requests with (i) data that instructs each of the multiple different client devices to tune to one of the additional multicast streams that was assigned to the different groups that includes the different client device that submitted the request, and (ii) a client configurable ping address that includes a placeholder for insertion of a device identifier by the different client device that submitted the request.

7. The method of claim 6 , wherein at least one group of the different groups includes two or more different client devices.

8. The method of claim 6 , wherein the multicast stream is delivering a same streaming content to each of the multiple different client devices.

9. The method of claim 6 , wherein receiving the separate digital component requests further includes receiving, for at least one digital component request, multiple device identifiers in the digital component request, wherein the multiple different device identifiers specify multiple different devices that are to be provided a same digital component on a same additional multicast stream.

10. The method of claim 9 , wherein a number of the digital component requests is less than the total number of the multiple different client devices.

11. The method of claim 6 , further comprising:

for one or more of the multiple client devices, receiving, at a destination specified by the client configurable ping address, a notification that the different client device tuned to the additional multicast broadcast that was assigned to the different group that includes the different client device that submitted the client configurable ping address; and

storing the client configurable ping addresses in a database.

12. The method of claim 6 , wherein assigning further includes assigning the different groups to different ones of the additional multicast streams based on one or more parameters associated with each group.

13. The method of claim 12 , wherein the parameters can include demographic profile characteristics associated with the multiple different client devices.

14. The method of claim 6 , wherein assigning the different groups of

the multiple different client devices to different ones of the

additional multicast streams further comprises excluding a

particular client device from inclusion within the each of the different groups.

15. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving, by one or more computers and from multiple different client devices, separate digital component requests for a supplemental digital component that will be presented in a different multicast stream than a multicast stream that is delivering streaming content to the multiple different client devices;

determining, by the one or more computers, a number of additional multicast streams that are capable of being distributed to the multiple different client devices over an available bandwidth when the digital component requests are received, wherein the number of additional multicast streams is less than a total number of the multiple different client devices;

selecting, by the one or more computers, in response to the separate requests, multiple different supplemental digital components to distribute over at least a portion of the additional multicast streams that are capable of being distributed;

assigning, by the one or more computers, different groups of the multiple different client devices to different ones of the additional multicast streams that transport the multiple different supplemental digital components; and

responding, by the one or more computers and to the multiple different client devices, to each of the separate requests with (i) data that instructs each of the multiple different client devices to tune to one of the additional multicast streams that was assigned to the different groups that includes the different client device that submitted the request, and (ii) a client configurable ping address that includes a placeholder for insertion of a device identifier by the different client device that submitted the request.

16. The non-transitory computer-readable medium of claim 15 , wherein at least one group of the different groups includes two or more different client devices.

17. The non-transitory computer-readable medium of claim 15 , wherein the multicast stream is delivering a same streaming content for each of the multiple different client devices.

18. The non-transitory computer-readable medium of claim 15 , wherein receiving the separate digital component requests further includes receiving, for at least one digital component request, multiple device identifiers in the digital component request, wherein the multiple different device identifiers specify multiple different devices that are to be provided a same digital component on a same additional multicast stream.

19. The non-transitory computer-readable medium of claim 18 , wherein a number of the digital component requests is less than the total number of the multiple different client devices.

20. The non-transitory computer-readable medium of claim 15 , further comprising:

for one or more of the multiple client devices, receiving, at a destination specified by the client configurable ping address, a notification that the different client device tuned to the additional multicast broadcast that was assigned to the different group that includes the different client device that submitted the client configurable ping address; and

storing the client configurable ping addresses in a database.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2017
From: NAKAHARA, TYRONE; LOH, STELLA
To: GOOGLE INC.
Reel/Frame 044366/0022 →
CHANGE OF NAME Recorded Dec 12, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044839/0533 →
Cited By (1)
US 12,374,013