# US 9,519,494 B2 · Optimizing application resources

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,519,494 B2
- Document ID: US9519494B2
- Status: Granted
- Kind: B2
- Application number: 14/308,210
- Filed: 2014-06-18
- Published: 2015-07-02
- Granted: 2016-12-13
- Earliest claimed: 2013-12-30
- Assignees: Tata Consultancy Services Limited
- Applicants: Tata Consultancy Services Limited
- Inventors: Salil Jain
- Web page: https://patentgrep.com/patent/US9519494B2

## CPC

- G06F 9/445: Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57)
- G06F 9/44521: {Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading}
- G06F 9/451: Execution arrangements for user interfaces
- G06F 9/452: {Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131)}
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 11/30: Monitoring
- G06F 11/3003: {Monitoring arrangements specially adapted to the computing system or computing system component being monitored}
- G06F 11/3438: {monitoring of user actions (tracking the activity of the user H04L67/535)}
- G06F 11/3442: {for planning or managing the needed capacity}
- G06F 11/3452: {Performance evaluation by statistical analysis}
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for optimizing application resources utilized for rendering graphical user interfaces (GUIs) of an application is described herein. The method comprises receiving a current GUI of the application, wherein the current GUI is a graphical interface view currently being displayed to a user on a display screen of a computing device. Further, it is ascertained whether the current GUI is present a current view sequence wherein the current view sequence comprises one or more GUIs previously viewed by the user. Further, the current view sequence, for the current GUI not being present in the current view sequence, is updated to include the current GUI. Further, at least one probable GUI is determined based on the updating. Further, application resources pertaining to the at least one probable GUI for instant rendering of the at least one probable GUI to the user are obtained.

## Claims

### Claim 1

A method for optimizing application resources utilized for rendering graphical user interfaces (GUIs) of an application running on a computing device, the method comprising:
receiving a current GUI of the application, wherein the current GUI is a graphical interface view currently being displayed to a user on a display screen of the computing device;
ascertaining whether the current GUI is present in a current view sequence, wherein the current view sequence comprises one or more GUIs, from amongst a plurality of GUIs of the application, previously viewed by the user;
selecting, for the current GUI being present in the current view sequence, a previous view sequence, wherein a last GUI of the previous view sequence matches the current GUI;
updating, for the current GUI, a back view probability, wherein the back view probability indicates a probability of the user to navigate to the current GUI from a last GUI of the current view sequence;
determining at least one probable GUI based on the selection; and
obtaining application resources pertaining to the at least one probable GUI for instant rendering of the at least one probable GUI to the user, wherein the at least one probable GUI is a GUI to which the user may navigate from the current GUI.

### Claim 2 (depends on 1)

The method as claimed in claim 1, wherein if the current GUI is not present in the current view sequence, then the method further comprises updating the current view sequence to include the current GUI and further updating a view probability of the current GUI, wherein the view probability indicates a probability of the user to navigate to the current GUI from another GUI.

### Claim 3 (depends on 1)

The method as claimed in claim 1, wherein the ascertaining further comprises comparing the current GUI with each of the one or more GUIs of the current view sequence to determine whether the current GUI matches a GUI from among the one or more GUIs.

### Claim 4 (depends on 1)

The method as claimed in claim 1, wherein the method further comprises updating GUI data, wherein the GUI data comprises at least a view probability and a back view probability for each of the plurality of GUIs.

### Claim 5

A user device comprising:
a processor;
an analysis module coupled to the processor to,
receive a current graphical user interface (GUI) of an application, wherein the current GUI is a GUI currently being displayed to a user on a display screen of a computing device;
ascertain whether the current GUI is present in a current view sequence, wherein the current view sequence comprises one or more GUIs, from amongst a plurality of GUIs of the application, previously viewed by the user; and
an optimization module coupled to the processor to,
select, for the current GUI being present in the current view sequence, a previous view sequence, wherein a last GUI of the previous view sequence matches the current GUI;
update, for the current GUI, a back view probability, wherein the back view probability indicates a probability of the user to navigate to the current GUI from a last GUI of the current view sequence;
determine at least one probable GUI based on the selection; and
obtain application resources pertaining to at least one probable GUI for instant rendering of the at least one probable GUI to the user, wherein the at least one probable GUI is a GUI to which the user may navigate from the current GUI.

### Claim 6 (depends on 5)

The user device as claimed in claim 5, wherein the optimization module further updates GUI data, wherein the GUI data comprises at least a view probability and a back view probability for each of the plurality of GUIs.

### Claim 7 (depends on 5)

The user device as claimed in claim 5, wherein the analysis module further,
compares the current GUI with each of the one or more GUIs of the current view sequence to determine whether the current GUI matches a GUI from among the one or more GUIs.

### Claim 8

A computer-readable medium having embodied thereon a computer program for executing a method comprising:
receiving a current graphical user interface (GUI) of an application, wherein the current GUI is a GUI currently being displayed to a user on a display screen of a computing device;
ascertaining whether the current GUI is present in a current view sequence, wherein the current view sequence comprises one or more GUIs, from amongst a plurality of GUIs of the application, previously viewed by the user;
selecting, for the current GUI being present in the current view sequence, a previous view sequence, wherein a last GUI of the previous view sequence matches the current GUI;
updating, for the current GUI, a back view probability, wherein the back view probability indicates a probability of the user to navigate to the current GUI from a last GUI of the current view sequence;
determining at least one probable GUI based on the selection; and
obtaining application resources pertaining to the at least one probable GUI for instant rendering of the at least one probable GUI to the user, wherein the at least one probable GUI is a GUI to which the user may navigate from the current GUI.

### Claim 9 (depends on 8)

The computer-readable medium as claimed in claim 8, wherein the ascertaining further comprises comparing the current GUI with each of the one or more GUIs of the current view sequence to determine whether the current GUI matches a GUI from among the one or more GUIs.

### Claim 10 (depends on 8)

The computer-readable medium as claimed in claim 8, wherein the method further comprises updating GUI data, wherein the GUI data comprises at least a view probability and a back view probability for each of the plurality of GUIs.
