CA-3126246-C - RULES-BASED JUST-IN-TIME MOBILE CONTENT SERVICE
Abstract
A download manager is configured to implement a "retry and backoff" process. There is provided a computer-implemented method including receiving a software event to download a software update, obtaining a retry configuration associated with a user profile, requesting the software update from a download server, and receiving a first response configured to trigger a retry of the software update request and recommend a delay before the retry. In response to receiving the first response trigger, upon failing to identify a delay set within the retry configuration, the method includes modifying the retry configuration with the recommended delay and retrying the software update request following expiration of the recommended delay. Upon identifying a delay set within the retry configuration, the method includes disregarding the recommended delay in accordance with a setting in the user profile and retrying the software update request following expiration of the delay set in the retry configuration.
Inventors
- Kanakrai Chauhan
- Ankit Awasthi
Assignees
- T-MOBILE USA, INC.
Dates
- Publication Date
- 20260505
- Application Date
- 20210729
- Priority Date
- 20200812
Claims (9)
- 70 CLAIMS 1. A computer-implemented method, comprising: receiving, in relation to a user, a software event to download a software update; obtaining a retry configuration associated with a user profile for the user; requesting the software update from a download server; receiving a first response configured to trigger a retry of the software update request and recommend a delay before the retry; and in response to receiving the first response trigger, accessing the retry configuration; upon failing to identify a delay set within the retry configuration: modifying the retry configuration with the recommended delay; and retrying the software update request following expiration of the recommended delay set in the modified retry configuration; and upon identifying a delay set within the retry configuration: disregarding the delay recommended in the first response; and retrying the software update request following expiration of the delay set in the retry configuration irrespective of the recommended delay.
- 2. The computer-implemented method of claim 1, further comprising: receiving a second response configured to trigger a connection request to connect to the download server; in response to receiving the second response trigger, connecting to the download server; and 71 downloading the software update from the download server.
- 3. The computer-implemented method of claim 1, further comprising: in response to receiving the first response trigger, issuing an approval notification via a user interface.
- 4. The computer-implemented method of claim 1, further comprising: entering a retry-and-backoff loop in which each retry is preceded by receiving a corresponding response trigger and each pair of successive retries is separated by a retry interval; exiting the retry-and-backoff loop in response to a response trigger configured to trigger a connection request to connect to the download server; connecting to the download server; and downloading the software update from the download server.
- 5. One or more non-transitory computer-readable media storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving, in relation to a user, a software event to request a download; obtaining a retry configuration; requesting the download from a download server; receiving a first response configured to trigger a retry of the download request and recommend a delay before the retry; and 72 in response to receiving the first response trigger, accessing the retry configuration; upon failing to identify a delay set within the retry configuration: modifying the retry configuration with the recommended delay; and retrying the download request following expiration of the recommended delay set in the modified retry configuration; and upon identifying a delay set within the retry configuration: disregarding the delay recommended in the first response; and retrying the download request following expiration of the delay set in the retry configuration irrespective of the recommended delay.
- 6. The one or more non-transitory computer-readable media of claim 5, further having executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving a second response configured to trigger a connection request to connect to the download server; in response to receiving the second response trigger, connecting to the download server; and obtaining the download from the download server.
- 7. The one or more non-transitory computer-readable media of claim 5, further having executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: 73 in response to receiving the first response trigger, issuing an approval notification via a user interface.
- 8. The one or more non-transitory computer-readable media of claim 5, further having executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: entering a retry-and-backoff loop in which each retry is preceded by receiving a corresponding response trigger and each pair of successive retries is separated by a retry interval; exiting the retry-and-backoff loop in response to a response trigger configured to trigger a connection request to connect to the download server; connecting to the download server; and obtaining the download from the download server.
- 9. The one or more non-transitory computer-readable media of claim 5, wherein the download is a software update.
Description
RULES-BASED JUST-IN-TIME MOBILE CONTENT SERVICE BACKGROUND [0001] Mobile users demand multimedia streaming. Today, "multimedia streaming" often refers to retrieving and rendering video and audio from a data store, commonly via the internet. While some refer to "multimedia data" as content from multiple forms of media including text, still images, video, and audio, the term is sometimes used synonymously with video and audio content, and perhaps to a lesser extent, still images. One of the reasons for this association is that still images, music, podcasts, and video (with audio) make heavy use of computing, computer-readable memory, and network resources. As used throughout this description, "multimedia" is not restricted to video and audio content. [0002] Streaming multimedia that changes over time (such as video and audio) over a network particularly creates technical issues in computing, computer-readable memory, and network resource management, to name a few. For instance, the quality of multimedia content is a function of network bandwidth. Higher resolution multimedia content generally makes use of more space, memory, and/or bandwidth than lower resolution multimedia content. For example, a data frame for a 4K video is much larger than that of a 720i image. However, if the network struggles to accommodate multimedia data frames with consistent timing, the user experience during playback of the multimedia content while streaming may not be acceptable. 1 Date Re9ue/Date Received 2021-07-29 2 [0003] Multimedia streaming may be performed, e.g., on set-top boxes and personal computers, which render multimedia content on relatively large form factors and which have access to relatively large amounts of computing resources, computerreadable memory, bandwidth, and power. These may be used to implement certain technical solutions to ensure smooth and timely renderings of multimedia at high resolutions, incorporating an assumption that the large-form-factor device will be connected to a persistent source of power and unlimited network (e.g., Internet) source of multimedia content, such that pre-loading multimedia content (especially partial files on demand (“data on demand”)) on the device may not be significant enough to consider. However, mobile devices, which have relatively smaller form factors and less computing resources, computer-readable memory, bandwidth, and power are not in some instances able to make use of those solutions. Therefore, for small-form-factor devices, the benefits of data-on-demand solutions can be significant enough to consider. SUMMARY [0003a] The following aspects are disclosed herein: 1. A computer-implemented method, comprising: receiving, in relation to a user, a software event to download a software update; obtaining a retry configuration associated with a user profile for the user; requesting the software update from a download server; receiving a first response configured to trigger a retry of the software update request and recommend a delay before the retry; and in response to receiving the first response trigger, accessing the retry configuration; 2a upon failing to identify a delay set within the retry configuration: modifying the retry configuration with the recommended delay; and retrying the software update request following expiration of the recommended delay set in the modified retry configuration; and upon identifying a delay set within the retry configuration: disregarding the delay recommended in the first response; and retrying the software update request following expiration of the delay set in the retry configuration irrespective of the recommended delay. 2. The computer-implemented method of aspect 1, further comprising: receiving a second response configured to trigger a connection request to connect to the download server; in response to receiving the second response trigger, connecting to the download server; and downloading the software update from the download server. 3. The computer-implemented method of aspect 1, further comprising: in response to receiving the first response trigger, issuing an approval notification via a user interface. 4. The computer-implemented method of aspect 1, further comprising: 2b entering a retry-and-backoff loop in which each retry is preceded by receiving a corresponding response trigger and each pair of successive retries is separated by a retry interval; exiting the retry-and-backoff loop in response to a response trigger configured to trigger a connection request to connect to the download server; connecting to the download server; and downloading the software update from the download server. 5. One or more non-transitory computer-readable media storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving, in relation to a user, a software event to request a download; obtaining a retry configuration; requesting the download from