IP Library Granted Patent US 12,137,133
Granted Patent B2
US 12,137,133 · App. 18/297,101 · Granted Nov 5, 2024

Synchronization of streaming content using live edge offsets

Inventors: Mikul Bhatt (Danville, CA); Ajit Bhate (Los Gatos, CA); Sreekanth Mamidala (Mountain House, CA); Judes Sarmiento (Redwood City, CA); Robert Rallison (Smithfield, UT); John Bowers (Provo, UT); Neha Dike (San Jose, CA); Amit Agarwal (Sunnyvale, CA); Alex Austin (Farmington, UT); Anupam Kumar (Dublin, CA); James Lou (Cupertino, CA); Herry Leonard (Fremont, CA); Ronald Jacoby (Saratoga, CA); Roger Urrabazo (Gilroy, CA)
Assignee: YAHOO ASSETS LLC
H04L65/61
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 12,137,133
App. No.
18/297,101
Granted
Nov 5, 2024
Kind
B2
Abstract

In some aspects, the techniques described herein relate to a method including: receiving a request from a client device to join a room, the room associate with a plurality of other client devices streaming multimedia content; adding the client device to the room in response to the request; computing a synchronization time for the client based on time values associated with the client device and the other client devices; and transmitting the synchronization time to the client device, causing the client device to adjust playback of the multimedia content based on the synchronization time.

Claims (37)

1. A method comprising:

receiving a request from a client device to join a room, the room associated with a plurality of other client devices streaming multimedia content;

adding the client device to the room in response to the request;

identifying, from the other client devices, a closest client device having a closest synchronization time closest to a live time of the multimedia content and computing a synchronization time based on the closest synchronization time; and

transmitting the synchronization time to the client device, causing the client device to adjust playback of the multimedia content based on the synchronization time.

2. The method of claim 1 , wherein adding the client device to the room comprises:

transmitting a room identifier and a viewer identifier to a room service; and

retrieving room data from one of a cache or a publish-subscribe source, the room data including a time-value of the room and time values of each of the other client devices.

3. The method of claim 1 , wherein computing the synchronization time comprises utilizing a min-sum algorithm to compute the synchronization time relative to synchronization times of the other client devices.

4. The method of claim 1 , further comprising transmitting the synchronization time to the other client devices, causing the other client devices to adjust playback of the multimedia content based on the synchronization time.

5. The method of claim 1 , further comprising receiving a time value from the client device, recomputing the synchronization time based on the time value, and transmitting the synchronization time to the other client devices.

6. The method of claim 5 , wherein the time value comprises one of a timestamp or time gap value.

7. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:

receiving a request from a client device to join a room, the room associated with a plurality of other client devices streaming multimedia content;

adding the client device to the room in response to the request;

identifying, from the other client devices, a closest client device having a closest synchronization time closest to a live time of the multimedia content and computing a synchronization time based on the closest synchronization time; and

transmitting the synchronization time to the client device, causing the client device to adjust playback of the multimedia content based on the synchronization time.

8. The non-transitory computer-readable storage medium of claim 7 , wherein adding the client device to the room comprises:

transmitting a room identifier and a viewer identifier to a room service; and

retrieving room data from one of a cache or a publish-subscribe source, the room data including a time-value of the room and time values of each of the other client devices.

9. The non-transitory computer-readable storage medium of claim 7 , wherein computing the synchronization time comprises utilizing a min-sum algorithm to compute the synchronization time relative to synchronization times of the other client devices.

10. The non-transitory computer-readable storage medium of claim 7 , the steps further comprising transmitting the synchronization time to the other client devices, causing the other client devices to adjust playback of the multimedia content based on the synchronization time.

11. The non-transitory computer-readable storage medium of claim 7 , the steps further comprising receiving a time value from the client device, recomputing the synchronization time based on the time value, and transmitting the synchronization time to the other client devices.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the time value comprises one of a timestamp or time gap value.

13. A device comprising:

a processor;

a storage medium for tangibly storing thereon logic for execution by the processor, the logic comprising instructions for:

receiving a request from a client device to join a room, the room associated with a plurality of other client devices streaming multimedia content;

adding the client device to the room in response to the request;

identifying, from the other client devices, a closest client device having a closest synchronization time closest to a live time of the multimedia content and computing a synchronization time based on the closest synchronization time; and

transmitting the synchronization time to the client device, causing the client device to adjust playback of the multimedia content based on the synchronization time.

14. The device of claim 13 , wherein adding the client device to the room comprises:

transmitting a room identifier and a viewer identifier to a room service; and

retrieving room data from one of a cache or a publish-subscribe source, the room data including a time-value of the room and time values of each of the other client devices.

15. The device of claim 13 , wherein computing the synchronization time comprises utilizing a min-sum algorithm to compute the synchronization time relative to synchronization times of the other client devices.

16. The device of claim 13 , the instructions further comprising transmitting the synchronization time to the other client devices, causing the other client devices to adjust playback of the multimedia content based on the synchronization time.

17. The device of claim 13 , the instructions further comprising receiving a time value from the client device, recomputing the synchronization time based on the time value, and transmitting the synchronization time to the other client devices.

Assignments (3)
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 17, 2025
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 072915/0540 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2023
From: BHATT, MIKUL; BHATE, AJIT; MAMIDALA, SREEKANTH; SARMIENTO, JUDES; RALLISON, ROBERT; BOWERS, JOHN; DIKE, NEHA; AGARWAL, AMIT; AUSTIN, ALEX; KUMAR, ANUPAM; LOU, JAMES; LEONARD, HERRY; JACOBY, RONALD; URRABAZO, ROGER
To: VERIZON MEDIA INC.
Reel/Frame 065353/0728 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2023
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 065362/0716 →