IP Library Granted Patent US 10,440,154
Granted Patent B2
US 10,440,154 · App. 16/024,000 · Granted Oct 8, 2019

Method and system for predictive loading of software resources

Inventor: Chaithanya Lekkalapudi (Palamaner, IN)
Assignee: EMC IP Holding Company LLC
H04L67/34H04L67/22H04L67/2847
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 10,440,154
App. No.
16/024,000
Granted
Oct 8, 2019
Kind
B2
Abstract

A method for predictive loading of software resources in a web application includes predicting a future state of the web application, determining the software resources required by the first predicted future state, and loading the software resources required by the first predicted future state. Determining that future predicated state further includes determining an associated probability for each possible future state in the first set of possible future states, identifying, from the first set of possible future states, a first predicted future state with the highest associated probability, and predicting a first set of possible future states based on a current state, run-time application context, and either use case data or historical application usage data.

Claims (85)

1. A method for predictive loading of software resources in a web application, comprising:

determining at least one predicted future state of the web application, wherein determining the at least one predicted future state comprises:

predicting a first set of possible future states based on:

a current state;

run-time application context, wherein the run-time application context comprises user privilege information; and

use case data, wherein use case data comprises state transition information associated with a pre-defined use case;

determining an associated probability for each possible future state in the first set of possible future states;

identifying, based on the user privilege information, that a first possible future state is not accessible;

removing the first possible future state from the first set of possible future states; and

identifying, from the first set of possible future states, a first predicted future state with the highest associated probability;

determining a software resource required by the first predicted future state; and

loading the software resource required by the first predicted future state.

2. The method of claim 1 , wherein the software resource is at least one selected from the group consisting of:

code comprising executable instructions,

content, and

services.

3. The method of claim 1 , wherein after loading the software resources required by the first predicted future state, the method further comprises:

predicting a second set of possible future states based on historical usage analytics data;

determining an associated probability for each possible future state in the second set of possible future states;

identifying, from the second set of possible future states, a second predicted future state, wherein the second predicted future state is the possible future state in the second set of possible future states with the highest associated probability;

determining software resource required by the second predicted future state; and

loading the software resource required by the second predicted future state.

4. The method of claim 3 , wherein determining the associated probability for each possible future state in the second set of possible future states comprises:

identifying, in the historical usage analytics data, occurrences of the current state of the web application;

determining, from the occurrences of the current state in historical usage analytics data, the second set of possible future states; and

determining, for each possible future state in the second set of possible future states, the associated probability.

5. The method of claim 4 , wherein determining, for each possible future state in the second set of possible future states, the associated probability comprises:

for a possible future state in the second set of possible future states, determining a ratio between a cardinality of state transitions from the current state of the web application to the possible future state and a cardinality of all state transitions originating from the current state.

6. The method of claim 1 , wherein the use case data comprises state transition information including a plurality of pre-defined use cases for the web application.

7. The method of claim 1 , wherein determining the associated probability comprises determining a cardinality of matching states between the use case data and a current session of the web application.

8. A non-transitory computer readable medium (CRM) storing instructions for predictive loading of software resources in web applications, comprising:

determining at least one predicted future state of a web application, wherein determining the at least one predicted future state comprises:

predicting a first set of possible future states based on:

a current state;

run-time application context, wherein the run-time application context comprises user privilege information; and

use case data, wherein use case data comprises state transition information associated with a pre-defined use case;

determining an associated probability for each possible future state in the first set of possible future states;

identifying, based on the user privilege information, that a first possible future state is not accessible;

removing the first possible future state from the first set of possible future states; and

identifying, from the first set of possible future states, a first predicted future state with the highest associated probability;

determining a software resource required by the first predicted future state; and

loading the software resource required by the first predicted future state.

9. The non-transitory CRM of claim 8 , wherein the software resource is at least one selected from the group consisting of:

code comprising executable instructions,

content, and

services.

10. The non-transitory CRM of claim 8 , wherein after loading the software resources required by the first predicted future state, the instructions further comprise:

predicting a second set of possible future states based on historical usage analytics data;

determining an associated probability for each possible future state in the second set of possible future states;

identifying, from the second set of possible future states, a second predicted future state, wherein the second predicted future state is the possible future state in the second set of possible future states with the highest associated probability;

determining a software resource required by the second predicted future state; and

loading the software resource required by the second predicted future state.

11. The non-transitory CRM of claim 10 , wherein determining the associated probability for each possible future state in the second set of possible future states comprises:

identifying, in the historical usage analytics data, occurrences of the current state of the web application;

determining, from the occurrences of the current state in historical usage analytics data, the second set of possible future states; and

determining, for each possible future state in the second set of possible future states, the associated probability.

12. A system for predictive loading of software resources in web applications, comprising:

a computer processor;

a web application executing on the computer processor; and

a state transition prediction module of the web application, configured to:

determine at least one predicted future state of the web application, wherein determining the at least one predicted future state comprises:

predicting a first set of possible future states based on:

a current state;

run-time application context, wherein the run-time application context comprises user privilege information; and

use case data, wherein use case data comprises state transition information associated with a pre-defined use case;

determining an associated probability for each possible future state in the first set of possible future states;

identifying, based on the user privilege information, that a first possible future state is not accessible;

removing the first possible future state from the first set of possible future states; and

identifying, from the first set of possible future states, a first predicted future state with the highest associated probability;

determine a software resource required by the first predicted future state; and

load the software resource required by the first predicted future state.

13. The system of claim 12 , wherein the software resource is at least one selected from the group consisting of:

code comprising executable instructions,

content, and

services.

14. The system of claim 12 , wherein after loading the software resources required by the first predicted future state, the state transition prediction module of the web application is further configured to:

predict a second set of possible future states based on historical usage analytics data;

determine an associated probability for each possible future state in the second set of possible future states;

identify, from the second set of possible future states, a second predicted future state, wherein the second predicted future state is the possible future state in the second set of possible future states with the highest associated probability;

determine a software resource required by the second predicted future state; and

load the software resource required by the second predicted future state.

15. The system of claim 14 , wherein determining the associated probability for each possible future state in the second set of possible future states comprises:

identifying, in the historical usage analytics data, occurrences of the current state of the web application;

determining, from the occurrences of the current state in historical usage analytics data, the second set of possible future states; and

determining, for each possible future state in the second set of possible future states, the associated probability.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2018
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 047378/0013 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2018
From: LEKKALAPUDI, CHAITHANYA
To: EMC CORPORATION
Reel/Frame 047375/0088 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
Continuity (2)
Continuation 14851590 · Sep 11, 2015
Related Publication 20180309848A1 · Oct 25, 2018