IP Library Granted Patent US 11,689,625
Granted Patent B1
US 11,689,625 · App. 17/728,629 · Granted Jun 27, 2023

Systems and methods for fast start of applications in a cloud computing environment

Inventors: Christopher Phillips (Hartwell, GA); Reda Harb (Bellevue, WA)
Assignee: Rovi Guides, Inc.
H04L67/131A63F13/355G06F9/45558G06F9/485H04L67/1095H04L67/141H04L67/535
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 11,689,625
App. No.
17/728,629
Filed
Apr 25, 2022
Granted
Jun 27, 2023
Kind
B1
Art Unit
2442
USPC
709/224
Abstract

An application likely to be accessed at an edge of the cloud computing environment is identified. The identified application is preemptively launched and then placed in a memory-resident state. When a request from a user to access the application is received, the application is brought out of the memory-resident state into an active state and parameters associated with the user are applied to the application.

Claims (90)

1. A method for fast start of applications in a cloud computing environment, the method comprising:

identifying, at an edge of the cloud computing environment, an application likely to be accessed;

launching, at the edge, the application;

placing the application in a memory-resident state;

receiving a request from a user device to access the application; and

in response to receiving the request to access the application:

bringing the application out of the memory-resident state; and

applying parameters associated with a user of the user device to the application.

2. The method of claim 1 , wherein identifying, at an edge of the cloud computing environment, an application likely to be accessed comprises:

retrieving historical usage for a plurality of applications at the edge; and

predicting, based on the historical application usage and a current time, that at least one application of the plurality of applications will be used within a threshold period of time.

3. The method of claim 1 , wherein identifying, at an edge of the cloud computing environment, an application likely to be accessed comprises:

determining a number of user devices currently connected to the edge; and

determining a ratio of an average number of user devices that access an application at a given time to a total number of user devices connected to the edge at the given time;

calculating, based on the ratio, a predicted number of user devices of the user devices currently connected to the edge that will access the application; and

determining whether the predicted number of user devices exceeds a threshold number of user devices.

4. The method of claim 1 , wherein launching, at the edge, the application comprises:

initializing a virtual machine to host the application; and

loading, into the virtual machine, all data associated with the application.

5. The method of claim 4 , wherein:

placing the application in a memory-resident state comprises placing the virtual machine in a hibernated state; and

bringing the application out of the memory-resident state comprises waking the virtual machine from the hibernated stated.

6. The method of claim 1 , further comprising:

determining whether a user device associated with the application will be connected to a second edge of the cloud computing environment within a threshold period of time; and

in response to determining that the user device associated with the application will be connected to the second edge within the threshold period of time, syncing session data for the application associated with the user device with the second edge.

7. The method of claim 6 , further comprising:

determining whether the application is currently active at the second edge;

in response to determining that the application is currently active at the second edge, starting a session for the application associated with the user device at the second edge using the synced session data; and

in response to determining that the application is not currently active at the second edge:

launching the application at the second edge;

applying parameters associated with the user to the application at the second edge; and

starting a session for the application associated with the user device at the second edge using the synced session data.

8. The method of claim 1 , further comprising:

detecting that the user has ended a session for the application; and

determining whether the application is likely to be accessed by other users.

9. The method of claim 8 , further comprising:

in response to determining that the application is no longer likely to be accessed by other users, closing the application.

10. The method of claim 8 , further comprising:

in response to determining that the application is likely to be accessed by other users:

determining whether a user device associated the application at a second edge of the cloud computing environment will be connected to the edge within a threshold period of time;

in response to determining that a user device associated with the application at the second edge of the cloud computing environment will be connected to the edge within the threshold period of time:

applying a current state of the application at the second edge to the application; and

syncing session data for the application associated with the user device at the second edge with the edge; and

in response to determining that a user device associated with the application at the second edge of the cloud computing environment will not be connected to the edge within the threshold period of time, returning the application to the memory-resident state.

11. A system for fast start of applications in a cloud computing environment, the system comprising:

input/output circuitry; and

control circuitry configured to:

identify, at an edge of the cloud computing environment, an application likely to be accessed;

launch, at the edge, the application;

place the application in a memory-resident state;

receive, using the input/output circuitry, a request from a user device to access the application; and

in response to receiving the request to access the application:

bring the application out of the memory-resident state; and

apply parameters associated with a user of the user device to the application.

12. The system of claim 11 , wherein the control circuitry configured to identify, at an edge of the cloud computing environment, an application likely to be accessed is further configured to:

retrieve historical usage for a plurality of applications at the edge; and

predict, based on the historical application usage and a current time, that at least one application of the plurality of applications will be used within a threshold period of time.

13. The system of claim 11 , wherein the control circuitry configured to identify, at an edge of the cloud computing environment, an application likely to be accessed is further configured to:

determine a number of user devices currently connected to the edge; and

determine a ratio of an average number of user devices that access an application at a given time to a total number of user devices connected to the edge at the given time;

calculate, based on the ratio, a predicted number of user devices of the user devices currently connected to the edge that will access the application; and

determine whether the predicted number of user devices exceeds a threshold number of user devices.

14. The system of claim 11 , wherein the control circuitry configured to launch, at the edge, the application is further configured to:

initialize a virtual machine to host the application; and

load, into the virtual machine, all data associated with the application.

15. The system of claim 14 , wherein:

the control circuitry configured to place the application in a memory-resident state is further configured to place the virtual machine in a hibernated state; and

the control circuitry configured to bring the application out of the memory-resident state is further configured to wake the virtual machine from the hibernated stated.

16. The system of claim 11 , wherein the control circuitry is further configured to:

determine whether a user device associated with the application will be connected to a second edge of the cloud computing environment within a threshold period of time; and

in response to determining that the user device associated with the application will be connected to the second edge within the threshold period of time, sync session data for the application associated with the user device with the second edge.

17. The system of claim 16 , wherein the control circuitry is further configured to:

determine whether the application is currently active at the second edge;

in response to determining that the application is currently active at the second edge, start a session for the application associated with the user device at the second edge using the synced session data; and

in response to determining that the application is not currently active at the second edge:

launch the application at the second edge;

apply parameters associated with the user to the application at the second edge; and

start a session for the application associated with the user device at the second edge using the synced session data.

18. The system of claim 11 , wherein the control circuitry is further configured to:

detect that the user has ended a session for the application; and

determine whether the application is likely to be accessed by other users.

19. The system of claim 18 , wherein the control circuitry is further configured to:

in response to determining that the application is no longer likely to be accessed by other users, close the application.

20. The system of claim 18 , wherein the control circuitry is further configured to:

in response to determining that the application is likely to be accessed by other users:

determine whether a user device associated the application at a second edge of the cloud computing environment will be connected to the edge within a threshold period of time;

in response to determining that a user device associated with the application at the second edge of the cloud computing environment will be connected to the edge within the threshold period of time:

apply a current state of the application at the second edge to the application; and

sync session data for the application associated with the user device at the second edge with the edge; and

in response to determining that a user device associated with the application at the second edge of the cloud computing environment will not be connected to the edge within the threshold period of time, return the application to the memory-resident state.

Assignments (3)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069113/0406 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2022
From: PHILLIPS, CHRISTOPHER; HARB, REDA
To: ROVI GUIDES, INC.
Reel/Frame 059794/0617 →
Cited By (4)
US 12,549,739 US 12,610,094 US 12,640,005 US 12,706,976