IP Library Granted Patent US 12,355,834
Granted Patent B1
US 12,355,834 · App. 18/421,835 · Granted Jul 8, 2025

Content playback optimization using nearline information

Inventors: Renfei Shang (Beijing, CN); Tongyu Dai (Beijing, CN); Si Chen (Beijing, CN); Chenyu Tian (Beijing, CN)
Assignee: Beijing YoJaJa Software Technology Development Co., Ltd.
H04L65/80H04L41/147H04L65/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,355,834
App. No.
18/421,835
Granted
Jul 8, 2025
Kind
B1
Abstract

In some embodiments, a method determines training data from first nearline features for a first sliding time window and a fixed time window. The first sliding time window changes during a first time period and the fixed time window is static during the first time period. A prediction model is trained using the training data. The prediction model is trained for a second time period in the first time period. The method determines values for second nearline features for a second sliding time window and a fixed time window for a request for a current session that is received during the second time period. The second sliding time window is based on a time for the request. The values are input for the second nearline features into the prediction model to generate a prediction. The method performs an action for the current session based on the prediction.

Claims (69)

1. A method comprising:

determining training data from first nearline features for a first sliding time window, wherein the first sliding time window changes during a first time period;

training a prediction model using the training data, wherein the prediction model is trained for a second time period that is within the first time period;

determining first values for second nearline features for a second sliding time window and second values for the second nearline features for a fixed time window for a request for a current session that is received during the second time period, wherein:

the second sliding time window is based on a time for the request and changes within the first time period based on different times of requests that are received during the second time period, and

the fixed time window is static during the first time period and used for requests that are received during the second time period;

inputting the first values and the second values for the second nearline features into the prediction model to generate a prediction; and

performing an action for the current session based on the prediction.

2. The method of claim 1 , further comprising:

determining a group of a plurality of groups for the current session, wherein groups in the plurality of groups are associated with different feature values; and

determining the first values or the second values for the second nearline features for the group, wherein the first values or the second values for the second nearline features for the group are input into the prediction model.

3. The method of claim 2 , wherein:

groups in the plurality of groups include different characteristics,

the current session includes first characteristics, and

the first characteristics are compared to the different characteristics of the groups to select the group.

4. The method of claim 2 , wherein the first values for the second nearline features for the second sliding time window and the second values for the second nearline features for the fixed time window are from the group.

5. The method of claim 1 , further comprising:

analyzing features from the first sliding time window and the fixed time window; and

selecting the first nearline features as a portion of the features based on scores of which features affect the prediction.

6. The method of claim 5 , further comprising:

analyzing the first nearline features to generate a plurality of groups of sessions, wherein sessions in a group include values for features that meet a rule.

7. The method of claim 6 , wherein:

groups in the plurality of groups are formed based on a model-based partitioning that determines a structure to partition sessions into the groups based on applying thresholds to values for the first nearline features.

8. The method of claim 6 , wherein:

groups in the plurality of groups are formed based on a rules-based partitioning that determines sessions for the groups based on applying rules to values for the first nearline features.

9. The method of claim 6 , wherein training the prediction model comprises:

training the prediction model using the groups, wherein the prediction model is trained to generate the prediction for respective groups.

10. The method of claim 1 , wherein training the prediction model comprises:

updating the training of the prediction model based on intervals for the first sliding time window in the first time period.

11. The method of claim 1 , wherein training the prediction model comprises:

updating the training of the prediction model using training data for the first nearline features in a first interval for the first sliding time window in the first time period; and

updating the training of the prediction model using training data for the first nearline features in a second interval for the first sliding time window in the first time period, wherein the second interval is after the first interval.

12. The method of claim 1 , wherein training the prediction model comprises:

after the first time period ends, the fixed time window is based on the first time period and the second sliding time window is based on a third time period after the first time period.

13. The method of claim 1 , wherein:

the first sliding window comprises a first time window, and

the training data includes data from a third sliding time window that corresponds to the first sliding time window in a different time period than the first time period.

14. The method of claim 13 , wherein:

the first sliding time window comprises X time units of a first portion in the first time period, and

the third sliding time window comprises the X time units in a corresponding portion of a third time period.

15. The method of claim 1 , wherein performing the action for the current session comprises:

adjusting a parameter in an adaptive bitrate algorithm that is used during delivery of content during the current session.

16. The method of claim 1 , wherein performing the action for the current session comprises:

adjusting a parameter in a process to select a content delivery network for delivering content during the current session.

17. The method of claim 1 , wherein:

the first sliding time window includes time units that are less than the fixed time window,

the second sliding time window includes time units that are less than the fixed time window, and

the first time period includes time units that are equal to the fixed time window.

18. The method of claim 1 , wherein:

the first sliding time window comprises a X units of time, and

the fixed time window comprises Y units of time before the first sliding time window, wherein Y units of time is greater than X units of time.

19. A non-transitory computer-readable storage medium having stored thereon computer executable instructions, which when executed by a computing device, cause the computing device to be operable for:

determining training data from first nearline features for a first sliding time window, wherein the first sliding time window changes during a first time period;

training a prediction model using the training data, wherein the prediction model is trained for a second time period that is within the first time period;

determining first values for second nearline features for a second sliding time window and second values for the second nearline features for a fixed time window for a request for a current session that is received during the second time period, wherein:

the second sliding time window is based on a time for the request and changes within the first time period based on different times of requests that are received during the second time period, and

the fixed time window is static during the first time period and used for requests that are received during the second time period;

inputting the first values and the second values for the second nearline features into the prediction model to generate a prediction; and

performing an action for the current session based on the prediction.

20. An apparatus comprising:

one or more computer processors; and

a computer-readable storage medium comprising instructions for controlling the one or more computer processors to be operable for:

determining training data from first nearline features for a first sliding time window, wherein the first sliding time window changes during a first time period;

training a prediction model using the training data, wherein the prediction model is trained for a second time period that is within the first time period;

determining first values for second nearline features for a second sliding time window and second values for the second nearline features for a fixed time window for a request for a current session that is received during the second time period, wherein:

the second sliding time window is based on a time for the request and changes with first time period based on different times of requests that are received during the second time period, and

the fixed time window is static during the first time period and used for requests that are received during the second time period;

inputting the first values and the second values for the second nearline features into the prediction model to generate a prediction; and

performing an action for the current session based on the prediction.

Assignments (2)
CHANGE OF NAME Recorded Sep 24, 2024
From: BEIJING HULU SOFTWARE TECHNOLOGY DEVELOPMENT CO., LTD.
To: BEIJING YOJAJA SOFTWARE TECHNOLOGY DEVELOPMENT CO., LTD.
Reel/Frame 068684/0455 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2024
From: SHANG, RENFEI; DAI, TONGYU; CHEN, SI; TIAN, CHENYU
To: BEIJING HULU SOFTWARE TECHNOLOGY DEVELOPMENT CO., LTD.
Reel/Frame 066236/0029 →
Continuity (1)
Continuation PCTCN2023143071 · Dec 29, 2023
References Cited (17)
US 10178043B1 · Ganjam · 2019 [cited by examiner]
US 11616993B1 · Chen et al. · 2023 [cited by applicant]
US 20090019178A1 · Melnyk · 2009 [cited by examiner]
US 20150127844A1 · Phillips · 2015 [cited by examiner]
US 20200210430A1 · Shen · 2020 [cited by examiner]
US 20200322661A1 · Korte · 2020 [cited by examiner]
US 20210021563A1 · Hegde · 2021 [cited by examiner]
US 20210029182A1 · Mappus · 2021 [cited by examiner]
US 20210204011A1 · Jain · 2021 [cited by examiner]
US 20210289013A1 · Bentaleb · 2021 [cited by examiner]
US 20220337883A1 · Grois · 2022 [cited by examiner]
US 20230188764A1 · Pahalawatta · 2023 [cited by examiner]
US 20240121636A1 · Wang · 2024 [cited by examiner]
An Introduction to Explainable AI with Shapley Values, https://shap.readthedocs.io/en/latest/example_notebooks/overviews/An%20introduction%20to%20explainable%20AI%20with%20Shapley%20values.html.pdf, printed from website… [cited by applicant]
G. Zhang, J. Zhang, Y. Liu, H. Hu, J. Y. B. Lee and V. Aggarwal, “Adaptive Video Streaming With Automatic Quality-of-Experience Optimization,” in IEEE Transactions on Mobile Computing, vol. 22, No. 8, pp. 4456-4470, Aug… [cited by applicant]
https://github.com/shap/shap, printed from website on Jan. 4, 2024, 13 pages. [cited by applicant]
Jiang J, Sekar V, Milner H, et al. {CFA}: A practical prediction system for video {QoE} optimization[C]//13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16). 2016: 137-150. [cited by applicant]