IP Library Granted Patent US 12,120,400
Granted Patent B2
US 12,120,400 · App. 18/228,590 · Granted Oct 15, 2024

Systems and methods of alternative networked application services

Inventors: Ronald A. Brockmann (Los Gatos, CA); Maarten Hoeben (Acquapendente, IT)
H04N21/6587H04N21/23106H04N21/4312H04N21/632H04N21/8456H04N21/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,120,400
App. No.
18/228,590
Granted
Oct 15, 2024
Kind
B2
Abstract

A server system hosts one or more virtual machines. The server system receives a first media stream that includes first content corresponding to a plurality of frames of video data and generates a first digest segment that corresponds to the first media stream, wherein the first digest segment includes a representation of the plurality of frames but does not include the video data. The server system stores the first digest segment in a cache at the server system; and receives a playback position of the first media stream at a first client device. The server system uses the playback position from the first client device and the first digest segment stored in the cache to perform processing to recreate a representation of the playback of the first media stream on the first client device.

Claims (56)

1. A method comprising:

at a server system hosting one or more virtual machines, each associated with a respective client device of one or more client devices for playback of media streams:

receiving a first media stream that includes first content corresponding to a plurality of frames of video data;

generating a first digest segment that corresponds to the first media stream, wherein the first digest segment includes a representation of the plurality of frames but does not include the video data;

storing the first digest segment in a cache at the server system;

receiving a playback position of the first media stream at a first client device; and

using the playback position from the first client device and the first digest segment stored in the cache to perform processing to recreate a representation of the playback of the first media stream on the first client device.

2. The method of claim 1 , further comprising:

determining, using the first digest segment, a first overlay for the first media stream; and

transmitting, to a second client device distinct from the first client device, the first overlay for the first media stream.

3. The method of claim 1 , wherein processing to recreate a representation of the playback of the first media stream on the first client device comprises using the first digest segment, stored in the cache, to generate a reconstructed media stream based on the first digest segment, wherein the reconstructed media stream includes dummy data that is distinct from the video data.

4. The method of claim 1 , further comprising:

determining, using the first digest segment stored in the cache and the received playback position, a second overlay for the first media stream; and

transmitting, to the first client device, the second overlay for the first media stream.

5. The method of claim 4 , further comprising:

at a first virtual machine of the one or more virtual machines that corresponds to the first client device:

receiving, from the first client device, a playback command;

in response to receiving the playback command, determining, using the recreated representation of the playback of the first media stream, a first playback position of the first media stream at the first client device, wherein:

the second overlay is determined based on the playback command for the first media stream; and

the second overlay is transmitted to the first client device for display at the first playback position of the first media stream.

6. The method of claim 5 , wherein:

the first virtual machine of the one or more virtual machines executes a first application that includes a first Application Programming Interface (API); and

determining the first overlay comprises transmitting the recreated representation of the playback of the first media stream to the first application via the first API and receiving the first overlay back from the first API.

7. The method of claim 6 , wherein the first overlay comprises one or more graphical user interface elements provided by the first application.

8. The method of claim 1 , further comprising, determining, at a second virtual machine of the one or more virtual machines, that there is not a digest segment stored in the cache corresponding to the first media stream, wherein the generating and storing are performed by the second virtual machine in accordance with the determination that there is not a digest segment stored in the cache corresponding to the first media stream.

9. The method of claim 8 , wherein the first media stream that includes the first content is received at the second virtual machine of the one or more virtual machines.

10. The method of claim 1 , further comprising:

receiving a second media stream that includes a plurality of frames of video data, wherein the second media stream includes content distinct from the first content of the first media stream; and

in accordance with a determination that the second media stream is not associated with a digest segment stored in the cache:

sending a request for the second media stream that includes the plurality of frames of video data;

generating a second digest segment for the second media stream; and

storing the second digest segment for the second media stream in the cache.

11. The method of claim 1 , further comprising:

receiving a third media stream that includes a plurality of frames of video data from a third client device; and

in accordance with a determination that the third media stream is associated with a digest segment stored in the cache, sending a command to the third client device to stop transmitting the third media stream that includes a plurality of frames of video data.

12. The method of claim 1 , wherein the video data comprises image content in each frame of the plurality of frames in the first media stream.

13. The method of claim 1 , wherein the playback position comprises a timestamp indicating a position within the first media stream.

14. The method of claim 1 , wherein the playback position further comprises frame headers for the first media stream.

15. The method of claim 1 , wherein the representation of the plurality of frames in the first digest segment includes at least one respective frame header that corresponds to a respective frame of the plurality of frames.

16. The method of claim 1 , wherein the representation of the plurality of frames in the first digest segment includes a frame identifier for at least one respective frame of the plurality of frames.

17. The method of claim 1 , wherein the first media stream is received from a second client device distinct from the first client device.

18. The method of claim 1 , wherein the first media stream is received from a content provider.

19. A non-transitory computer readable storage medium storing one or more programs for execution by a server system hosting one or more virtual machines, each associated with a respective client device of one or more client devices for playback of media streams, the one or more programs including instructions for:

receiving a first media stream that includes first content corresponding to a plurality of frames of video data;

generating a first digest segment that corresponds to the first media stream, wherein the first digest segment includes a representation of the plurality of frames but does not include the video data;

storing the first digest segment in a cache at the server system;

receiving a playback position of the first media stream at a first client device; and

using the playback position from the first client device and the first digest segment stored in the cache to perform processing to recreate a representation of the playback of the first media stream on the first client device.

20. A server system, hosting one or more virtual machines, each associated with a respective client device of one or more client devices for playback of media streams, comprising:

one or more processors; and

memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for:

receiving a first media stream that includes first content corresponding to a plurality of frames of video data;

generating a first digest segment that corresponds to the first media stream, wherein the first digest segment includes a representation of the plurality of frames but does not include the video data;

storing the first digest segment in a cache at the server system;

receiving a playback position of the first media stream at a first client device; and

using the playback position from the first client device and the first digest segment stored in the cache to perform processing to recreate a representation of the playback of the first media stream on the first client device.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded Mar 26, 2024
From: BROCKMANN, RONALD A
To: ACTIVEVIDEO NETWORKS, LLC
Reel/Frame 066910/0348 →
CONFIRMATORY ASSIGNMENT Recorded Mar 26, 2024
From: HOEBEN, MAARTEN
To: ACTIVEVIDEO NETWORKS, LLC
Reel/Frame 066910/0473 →
Continuity (4)
Continuation 17544822 · Dec 7, 2021
Continuation PCTUS2021061896 · Dec 3, 2021
Provisional Application 63122425 · Dec 7, 2020
Related Publication 20230379552A1 · Nov 23, 2023