IP Library Granted Patent US 12,081,608
Granted Patent B1
US 12,081,608 · App. 18/309,537 · Granted Sep 3, 2024

Methods and apparatus for synchronous HTTP media playback

Inventors: Reza Pezeshki (Chevy Chase, MD); Richard Tatem (Middletown, MD); Horia-Mihai Popa (Iasi, RO); Bogdan Livadariu (Valea Lupului, RO); Wassim Daccache (Ellicott City, MD)
Assignee: DIRECTV, LLC
H04L65/65H04L65/611H04L67/02H04N21/8547
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,081,608
App. No.
18/309,537
Granted
Sep 3, 2024
Kind
B1
Abstract

Systems, apparatus, articles of manufacture, and methods are disclosed to synchronize media playback at devices in a multicast environment. Disclosed is a system to synchronize media playback, the system comprising programmable circuitry, and a memory that stores executable instructions that, when executed or instantiated by the programmable circuitry, facilitate performance of operations, comprising transmitting, using a hypertext transfer protocol (HTTP), a first request in a first HTTP message to a first client device and to a second client device, receiving, from the first client device in response to the first request. a first time stamp associated with a first presentation, the first time stamp representing a first playback time within the first presentation, receiving, from the second client device in response to the first request, a second time stamp associated with a second presentation, the second time stamp representing a second playback time within the second presentation, calculating a time difference between the first time stamp and the second time stamp, determining whether the time difference satisfies a threshold, transmitting a second HTTP message to the first client device and the second client device in response to a determination that the time difference fails to satisfy the threshold, the second HTTP message to cause the first client device to pause the first presentation and the second client device to pause the second presentation, transmitting seek instructions in a third HTTP message to the second client device, the seek instructions to cause the second client device to synchronize the second presentation to the first presentation by setting the first and second playback times equal, and transmitting a fourth HTTP message to cause the first client device to resume the first presentation and the second client device to resume the second presentation.

Claims (61)

1. A system to synchronize media playback, the system comprising:

programmable circuitry; and

a memory that stores executable instructions that, when executed or instantiated by the programmable circuitry, facilitate performance of operations, comprising:

transmitting, using a hypertext transfer protocol (HTTP), a first request in a first HTTP message to a first client device and to a second client device;

receiving, from the first client device in response to the first request, a first time stamp associated with a first presentation, the first time stamp representing a first playback time within the first presentation;

receiving, from the second client device in response to the first request, a second time stamp associated with a second presentation, the second time stamp representing a second playback time within the second presentation;

calculating a time difference between the first time stamp and the second time stamp;

determining whether the time difference satisfies a threshold;

transmitting a second HTTP message to the first client device and the second client device in response to a determination that the time difference fails to satisfy the threshold, the second HTTP message to cause the first client device to pause the first presentation and the second client device to pause the second presentation;

transmitting seek instructions in a third HTTP message to the second client device, the seek instructions to cause the second client device to synchronize the second presentation to the first presentation by setting the first and second playback times as equal; and

transmitting a fourth HTTP message to cause the first client device to resume the first presentation and the second client device to resume the second presentation.

2. The system of claim 1 , wherein the programmable circuitry is to:

obtain session data from a content delivery network;

encapsulate the session data using User Datagram Protocol (UDP) to obtain session datagrams; and

multicast, using UDP, the session datagrams to the first client device and the second client device to enable the first presentation and the second presentation.

3. The system of claim 1 , wherein the first presentation and the second presentation are located within a multicast environment.

4. The system of claim 1 , wherein the programmable circuitry is to:

utilize a first HTTP protocol to communicate with the first client device; and

utilize a second HTTP protocol to communicate with the second client device, the first HTTP protocol incompatible with the second HTTP protocol.

5. The system of claim 1 , wherein the seek instructions cause both an audio signal and an image signal corresponding to the second presentation to move to the first time stamp.

6. The system of claim 1 , wherein the programmable circuitry is to determine whether the second client device implemented the seek instructions.

7. The system of claim 1 , wherein the first client device and the second client device include a memory to store the first presentation and the second presentation.

8. The system of claim 7 , wherein the memory is to store a pre-determined amount of the first presentation and the second presentation to enable the programmable circuitry to at least one of instantiate or execute the seek instructions on the second client device.

9. A non-transitory machine readable storage medium comprising instructions to cause programmable circuitry to at least:

transmit, using a hypertext transfer protocol (HTTP), a first request in a first HTTP message to a first client device and to a second client device;

receive, from the first client device in response to the first request, a first time stamp associated with a first presentation, the first time stamp representing a first playback time within the first presentation;

receive, from the second client device in response to the first request, a second time stamp associated with a second presentation, the second time stamp representing a second playback time within the second presentation;

calculate a time difference between the first time stamp and the second time stamp;

determine whether the time difference satisfies a threshold;

transmit a second HTTP message to the first client device and the second client device in response to a determination that the time difference fails to satisfy the threshold, the second HTTP message to cause the first client device to pause the first presentation and the second client device to pause the second presentation;

transmit seek instructions in a third HTTP message to the second client device, the seek instructions to cause the second client device to synchronize the second presentation to the first presentation by setting the first and second playback times as equal; and

transmit a fourth HTTP message to cause the first client device to resume the first presentation and the second client device to resume the second presentation.

10. The non-transitory machine readable storage medium of claim 9 , wherein the instructions cause the programmable circuitry to:

obtain session data from a content delivery network;

encapsulate the session data using User Datagram Protocol (UDP) to obtain session datagrams; and

multicast, using UDP, the session datagrams to the first client device and the second client device to enable the first presentation and the second presentation.

11. The non-transitory machine readable storage medium of claim 9 , wherein the first presentation and the second presentation are located within a multicast environment.

12. The non-transitory machine readable storage medium of claim 9 , wherein the instructions cause the programmable circuitry to:

utilize a first HTTP protocol to communicate with the first client device; and

utilize a second HTTP protocol to communicate with the second client device, the first HTTP protocol incompatible with the second HTTP protocol.

13. The non-transitory machine readable storage medium of claim 9 , wherein the seek instructions cause both an audio signal and an image signal corresponding to the second presentation to move to the first time stamp.

14. The non-transitory machine readable storage medium of claim 9 , wherein the instructions cause the programmable circuitry to determine whether the second client device implemented the seek instructions.

15. The non-transitory machine readable storage medium of claim 9 , wherein the instructions cause the programmable circuitry to store the first presentation and the second presentation in a memory on the first client device and the second client device.

16. The non-transitory machine readable storage medium of claim 15 , wherein the memory stores a pre-determined amount of the first presentation and the second presentation to enable the instructions to cause the programmable circuitry to execute the seek instructions on the second client device.

17. A method comprising:

transmitting, using a hypertext transfer protocol (HTTP), a first request in a first HTTP message to a first client device and to a second client device;

receiving, from the first client device in response to the first request, a first time stamp associated with a first presentation, the first time stamp representing a first playback time within the first presentation;

receiving, from the second client device in response to the first request, a second time stamp associated with a second presentation, the second time stamp representing a second playback time within the second presentation;

calculating a time difference between the first time stamp and the second time stamp;

determining whether the time difference satisfies a threshold;

transmitting a second HTTP message to the first client device and the second client device in response to a determination that the time difference fails to satisfy the threshold, the second HTTP message to cause the first client device to pause the first presentation and the second client device to pause the second presentation;

transmitting seek instructions in a third HTTP message to the second client device, the seek instructions to cause the second client device to synchronize the second presentation to the first presentation by setting the first and second playback times as equal; and

transmitting a fourth HTTP message to cause the first client device to resume the first presentation and the second client device to resume the second presentation.

18. The method of claim 17 , further including:

obtaining session data from a content delivery network;

encapsulating the session data using User Datagram Protocol (UDP) to obtain session datagrams; and

multicasting, using UDP, the session datagrams to the first client device and the second client device to enable the first presentation and the second presentation.

19. The method of claim 17 , wherein the first presentation and the second presentation are located within a multicast environment.

20. The method of claim 17 , further including

establishing a first HTTP protocol to communicate with the first client device; and

establishing a second HTTP protocol to communicate with the second client device, the first HTTP protocol incompatible with the second HTTP protocol.

Assignments (4)
SUCCESSION OF AGENCY IN PATENT SECURITY INTERESTS Recorded Oct 3, 2025
From: UBS AG, STAMFORD BRANCH (AS SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH)
To: UBS AG, STAMFORD BRANCH
Reel/Frame 072994/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2024
From: PEZESHKI, REZA; TATEM, RICHARD; POPA, HORIA-MIHAI; LIVADARIU, BOGDAN; DACCACHE, WASSIM
To: DIRECTV, LLC
Reel/Frame 066471/0259 →
SECURITY AGREEMENT Recorded Jan 25, 2024
From: DIRECTV, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 066371/0209 →
SECURITY AGREEMENT Recorded Jan 25, 2024
From: DIRECTV, LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 066371/0690 →