IP Library › Granted Patent US 12,287,828
Granted Patent B2
US 12,287,828 · App. 18/329,116 · Granted Apr 29, 2025

Quality of service monitoring for streaming content

Inventors: Philip Alan Kendall (West Yorkshire, GB); Robert John Pickerill (Manchester, GB); Samuel James Alexander Halliday (Auchterarder, GB)
Assignee: Disney Enterprises, Inc.
G06F16/71G06F16/1748G06F16/735
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,287,828
App. No.
18/329,116
Granted
Apr 29, 2025
Kind
B2
Abstract

Techniques relating to streaming video are disclosed. These techniques include identifying one or more streaming video sessions for one or more users based on a plurality of events relating to streaming video for the one or more users. The techniques further include storing data for the one or more streaming video sessions in an electronic database, based on the plurality of events, identifying a plurality of metadata relating to the events, and determining, based on a threshold value, a time to store at least a portion of the plurality of metadata in the electronic database, the time occurring after the storing the data for the one or more streaming video sessions. The techniques further include responding to a query for metrics relating to the one or more streaming video sessions by aggregating at least a portion of the stored data.

Claims (68)

1. A method, comprising:

identifying one or more streaming video sessions for one or more users based on a plurality of events relating to streaming video for the one or more users;

storing data for the one or more streaming video sessions in an electronic database, based on the plurality of events;

identifying a plurality of metadata relating to the events;

determining, based on a threshold value, a time to store at least a portion of the plurality of metadata in the electronic database, the time occurring after storing the data for the one or more streaming video sessions, comprising:

identifying a target time based on the threshold value;

calculating a write probability stochastically based on a proximity of a first time to the target time; and

storing the at least a portion of the plurality of metadata prior to the target time, based on the write probability;

storing at least the portion of the plurality of metadata in the electronic database at the determined time; and

responding to a query for metrics relating to the one or more streaming video sessions by aggregating at least a portion of the stored data.

2. The method of claim 1 , further comprising:

de-duplicating the plurality of metadata relating to the events,

wherein the at least a portion of the plurality of metadata stored in the electronic database comprises the de-duplicated metadata.

3. The method of claim 1 , wherein identifying the one or more streaming video sessions for the one or more users based on the plurality of events, further comprises:

identifying a session state for at least one of the one or more streaming video sessions; and

modifying the session state based on at least one of the plurality of events.

4. The method of claim 1 , further comprising:

selecting between a stateless pipeline and a stateful pipeline for processing each of the plurality of events.

5. The method of claim 1 , further comprising:

identifying a dead session recorded in the electronic database, and determining to remove the dead session from the electronic database based on one or more characteristics of the dead session;

storing data sufficient to reconstruct each of the one or more streaming video sessions in an electronic repository; and

writing one or more correction rows to the electronic database based on the plurality of events, the one or more correction rows relating to events received in a different order from when the events occurred.

6. The method of claim 1 , wherein responding to the query for metrics relating to the one or more streaming video sessions by aggregating at least a portion of the stored data further comprises:

identifying two or more composable aspects of the query;

querying the electronic database using the two more composable aspects of the query, in place of the query; and

responding to the query using results of querying the electronic database using the two more composable aspects of the query.

7. The method of claim 6 , further comprising:

storing the results of querying the electronic database using the two more composable aspects of the query in an electronic cache.

8. The method of claim 6 , wherein the two or more composable aspects of the query comprise two or more components of a ratio, and wherein responding to the query comprises calculating the ratio based on two more or more components of the ratio retrieved from the electronic database.

9. The method of claim 6 , wherein the query relates to a time period, the two or more composable aspects comprises subsets of the time period, and responding to the query comprises combining results from the subsets of the time period.

10. A non-transitory computer-readable medium containing computer program code that, when executed by operation of one or more computer processors, performs operations comprising:

identifying one or more streaming video sessions for one or more users based on a plurality of events relating to streaming video for the one or more users;

storing data for the one or more streaming video sessions in an electronic database, based on the plurality of events;

identifying a plurality of metadata relating to the events;

determining, based on a threshold value, a time to store at least a portion of the plurality of metadata in the electronic database, the time occurring after storing the data for the one or more streaming video sessions, comprising:

identifying a target time based on the threshold value;

calculating a write probability stochastically based on a proximity of a first time to the target time; and

storing the at least a portion of the plurality of metadata prior to the target time, based on the write probability;

storing at least the portion of the plurality of metadata in the electronic database at the determined time; and

responding to a query for metrics relating to the one or more streaming video sessions by aggregating at least a portion of the stored data.

11. The non-transitory computer-readable medium of claim 10 , further comprising:

identifying a dead session recorded in the electronic database, and determining to remove the dead session from the electronic database based on one or more characteristics of the dead session;

storing data sufficient to reconstruct each of the one or more streaming video sessions in an electronic repository; and

writing one or more correction rows to the electronic database based on the plurality of events, the one or more correction rows relating to events received in a different order from when the events occurred.

12. The non-transitory computer-readable medium of claim 10 , wherein responding to the query for metrics relating to the one or more streaming video sessions by aggregating at least a portion of the stored data further comprises:

identifying two or more composable aspects of the query;

querying the electronic database using the two more composable aspects of the query, in place of the query; and

responding to the query using results of querying the electronic database using the two more composable aspects of the query.

13. A system, comprising:

a processor; and

a memory having instructions stored thereon which, when executed on the processor, performs operations comprising:

identifying one or more streaming video sessions for one or more users based on a plurality of events relating to streaming video for the one or more users;

storing data for the one or more streaming video sessions in an electronic database, based on the plurality of events;

identifying a plurality of metadata relating to the events;

determining, based on a threshold value, a time to store at least a portion of the plurality of metadata in the electronic database, the time occurring after storing the data for the one or more streaming video sessions, comprising:

identifying a target time based on the threshold value;

calculating a write probability stochastically based on a proximity of a first time to the target time; and

storing the at least a portion of the plurality of metadata prior to the target time, based on the write probability;

storing at least the portion of the plurality of metadata in the electronic database at the determined time; and

responding to a query for metrics relating to the one or more streaming video sessions by aggregating at least a portion of the stored data.

14. The system of claim 13 , further comprising:

identifying a dead session recorded in the electronic database, and determining to remove the dead session from the electronic database based on one or more characteristics of the dead session;

storing data sufficient to reconstruct each of the one or more streaming video sessions in an electronic repository; and

writing one or more correction rows to the electronic database based on the plurality of events, the one or more correction rows relating to events received in a different order from when the events occurred.

15. The system of claim 13 , wherein responding to the query for metrics relating to the one or more streaming video sessions by aggregating at least a portion of the stored data further comprises:

identifying two or more composable aspects of the query;

querying the electronic database using the two more composable aspects of the query, in place of the query; and

responding to the query using results of querying the electronic database using the two more composable aspects of the query.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2023
From: KENDALL, PHILIP ALAN; PICKERILL, ROBERT JOHN; HALLIDAY, SAMUEL JAMES ALEXANDER
To: THE WALT DISNEY COMPANY LIMITED
Reel/Frame 063854/0556 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2023
From: THE WALT DISNEY COMPANY LIMITED
To: DISNEY ENTERPRISES, INC.
Reel/Frame 063854/0697 →
Continuity (2)
Provisional Application 63373374 · Aug 24, 2022
Related Publication 20240070195A1 · Feb 29, 2024
References Cited (7)
US 11165848B1 · Larson · 2021 [cited by examiner]
US 11704319B1 · Jou · 2023 [cited by examiner]
US 20150288765A1 · Skraparlis · 2015 [cited by examiner]
US 20220020473A1 · Arnold · 2022 [cited by examiner]
US 20220030300A1 · Periyaeluvan · 2022 [cited by examiner]
US 20230140605A1 · Jain · 2023 [cited by examiner]
US 20230214854A1 · Colombier · 2023 [cited by examiner]