# US 11,907,522 B2 · System for dynamic allocation of navigation tools based on learned user interaction

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

- Number: US 11,907,522 B2
- Document ID: US11907522B2
- Status: Granted
- Kind: B2
- Application number: 16/910,843
- Filed: 2020-06-24
- Published: 2021-12-30
- Granted: 2024-02-20
- Earliest claimed: 2020-06-24
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Madhumathi Rajesh; Madhusudhanan Krishnamoorthy
- Web page: https://patentgrep.com/patent/US11907522B2

## CPC

- G06F 3/0487: using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G01C 21/20: Instruments for performing navigational calculations (G01C21/24, G01C21/26 take precedence)
- G06F 3/04847: Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F 18/24: Classification techniques
- G06F 18/40: Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/09: Supervised learning
- G06N 20/00: Machine learning
- G06N 3/08: Learning methods
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Systems, computer program products, and methods are described herein for dynamic allocation of navigation tools based on learned user interaction. The present invention is configured to generate a training dataset based on at least the information associated with the interaction of the user with the one or more GUI grids, information associated with the one or more interactions of the one or more peers with the one or more GUI grids, information associated with the user, and information associated with the one or more peers; initiate one or more machine learning algorithms on the training dataset; receive, via the user computing device, a user selection of an unseen navigation tool for placement on the GUI; and classify the unseen navigation tool using the first set of parameters to predict a placement of the unseen navigation tool in at least one of one or more GUI grids associated with the GUI.

## Claims

### Claim 1

A system for dynamic allocation of navigation tools based on learned user interaction, the system comprising:
at least one non-transitory storage device; and
at least one processing device coupled to the at least one non-transitory storage device, wherein the at least one processing device is configured to:
segment a graphical user interface (GUI) into one or more GUI grids, wherein the one or more GUI grids comprises one or more navigation tools positioned therein;
receive information associated with an interaction of a user with the one or more GUI grids associated with a graphical user interface (GUI) displayed on a user computing device, wherein receiving further comprises:
monitoring the interaction of the user with the one or more navigation tools for a predetermined period of time;
determining one or more sequences of GUI grid interactions performed by the user when interacting with the one or more navigation tools; and
capturing one or more gestures executed by the user on each GUI grid during each sequence of GUI grid interactions, wherein the one or more gestures comprises tap, press, two-finger tap, press-tap, press-and-hold, one-finger pan, two-finger pan, pinch, rotate, flick, drag-and-drop, slide to scroll, slide-and-hold, and shake;
receive information associated with the user, wherein the information associated with the user comprises a handedness of the user, an interaction technique of the user when interacting with the one or more GUI grids based on at least the handedness, and a favored side of the GUI based on at least the interaction technique;
receive information associated with one or more interactions of one or more peers with the one or more GUI grids associated with the GUI displayed on one or more peer computing devices, wherein the one or more peers are associated with a handedness that is same as the handedness of the user;
generate a training dataset based on at least the information associated with the interaction of the user with the one or more GUI grids, the information associated with the one or more interactions of the one or more peers with the one or more GUI grids, and the information associated with the user;
initiate one or more machine learning algorithms on the training dataset, wherein initiating further comprises generating a first set of parameters;
initiate a presentation of a navigation tool interface on the user computing device, wherein the navigation tool interface comprises all available navigation tools associated with an application;
receive, via the navigation tool interface, a user input selecting one or more navigation tools from all the available navigation tools associated with the application for placement on the GUI, wherein the one or more navigation tools comprises a new navigation tool;
classify the new navigation tool using the first set of parameters, wherein classifying further comprises predicting a placement of the new navigation tool in at least one of one or more GUI grids associated with the GUI; and
populate the GUI with the one or more navigation tools, wherein populating further comprises executing the placement of the new navigation tool in the at least one of the one or more GUI grids associated with the GUI based on at least the classification.

### Claim 2 (depends on 1)

The system of claim 1, wherein the at least one processing device is further configured to:
receive information associated with the user, wherein the information associated with the user comprises at least a historical placement of one or more navigation tools on the GUI by the user on the user computing device; and
receive information associated with the one or more peers, wherein the information associated with the one or more peers comprises at least a historical placement of the one or more navigation tools on the GUI by the one or more peers on the one or more peer computing devices.

### Claim 3 (depends on 1)

The system of claim 1, wherein the at least one processing device is further configured to generate the information associated with the interaction of the user with the one or more GUI grids, wherein generating further comprises capturing one or more gestures executed by the user, wherein the one or more gestures comprises at least tap, press, two-finger tap, press-tap, press-and-hold, one-finger pan, two-finger pan, pinch, rotate, flick, drag-and-drop, slide to scroll, and slide-and-hold.

### Claim 4 (depends on 3)

The system of claim 3, wherein the at least one processing device is further configured to generate the information associated with the interaction of the user with the one or more GUI grids, wherein generating further comprises capturing sequential interactions of the user with the one or more GUI grids.

### Claim 5 (depends on 1)

The system of claim 1, wherein the at least one processing device is further configured to:
receive, via the user computing device, an access request from the user to access the application stored on the user computing device, wherein the application is associated with the GUI;
transmit, an authentication request to the user, wherein the authentication request comprises at least a request for one or more authentication credentials from the user;
receive the one or more authentication credentials from the user;
validate the user based on at least verifying the one or more authentication credentials; and
approve the access request to the GUI based on at least validating the user.

### Claim 6

A computer program product for dynamic allocation of navigation tools based on learned user interaction, the computer program product comprising a non-transitory computer-readable medium comprising code causing a first apparatus to:
segment a graphical user interface (GUI) into one or more GUI grids, wherein the one or more GUI grids comprises one or more navigation tools positioned therein;
receive information associated with an interaction of a user with the one or more GUI grids associated with a graphical user interface (GUI) displayed on a user computing device, wherein receiving further comprises:
monitoring the interaction of the user with the one or more navigation tools for a predetermined period of time;
determining one or more sequences of GUI grid interactions performed by the user when interacting with the one or more navigation tools; and
capturing one or more gestures executed by the user on each GUI grid during each sequence of GUI grid interactions, wherein the one or more gestures comprises tap, press, two-finger tap, press-tap, press-and-hold, one-finger pan, two-finger pan, pinch, rotate, flick, drag-and-drop, slide to scroll, slide-and-hold, and shake;
receive information associated with the user, wherein the information associated with the user comprises a handedness of the user, an interaction technique of the user when interacting with the one or more GUI grids based on at least the handedness, and a favored side of the GUI based on at least the interaction technique;
receive information associated with one or more interactions of one or more peers with the one or more GUI grids associated with the GUI displayed on one or more peer computing devices, wherein the one or more peers are associated with a handedness that is same as the handedness of the user;
generate a training dataset based on at least the information associated with the interaction of the user with the one or more GUI grids, the information associated with the one or more interactions of the one or more peers with the one or more GUI grids, and the information associated with the user;
initiate one or more machine learning algorithms on the training dataset, wherein initiating further comprises generating a first set of parameters;
initiate a presentation of a navigation tool interface on the user computing device, wherein the navigation tool interface comprises all available navigation tools associated with an application;
receive, via the navigation tool interface, a user input selecting one or more navigation tools from all the available navigation tools associated with the application for placement on the GUI, wherein the one or more navigation tools comprises a new navigation tool;
classify the new navigation tool using the first set of parameters, wherein classifying further comprises predicting a placement of the new navigation tool in at least one of one or more GUI grids associated with the GUI; and
populate the GUI with the one or more navigation tools, wherein populating further comprises executing the placement of the new navigation tool in the at least one of the one or more GUI grids associated with the GUI based on at least the classification.

### Claim 7 (depends on 6)

The computer program product of claim 6, wherein first apparatus is further configured to:
receive information associated with the user, wherein the information associated with the user comprises at least a historical placement of one or more navigation tools on the GUI by the user on the user computing device; and
receive information associated with the one or more peers, wherein the information associated with the one or more peers comprises at least a historical placement of the one or more navigation tools on the GUI by the one or more peers on the one or more peer computing devices.

### Claim 8 (depends on 6)

The computer program product of claim 6, wherein the first apparatus is further configured to generate the information associated with the interaction of the user with the one or more GUI grids, wherein generating further comprises capturing one or more gestures executed by the user, wherein the one or more gestures comprises at least tap, press, two-finger tap, press-tap, press-and-hold, one-finger pan, two-finger pan, pinch, rotate, flick, drag-and-drop, slide to scroll, and slide-and-hold.

### Claim 9 (depends on 8)

The computer program product of claim 8, wherein the first apparatus is further configured to generate the information associated with the interaction of the user with the one or more GUI grids, wherein generating further comprises capturing sequential interactions of the user with the one or more GUI grids.

### Claim 10 (depends on 6)

The computer program product of claim 6, wherein the first apparatus is further configured to:
receive, via the user computing device, an access request from the user to access the application stored on the user computing device, wherein the application is associated with the GUI;
transmit, an authentication request to the user, wherein the authentication request comprises at least a request for one or more authentication credentials from the user;
receive the one or more authentication credentials from the user;
validate the user based on at least verifying the one or more authentication credentials; and
approve the access request to the GUI based on at least validating the user.

### Claim 11

A method dynamic allocation of navigation tools based on learned user interaction, the method comprising:
segmenting a graphical user interface (GUI) into one or more GUI grids, wherein the one or more GUI grids comprises one or more navigation tools positioned therein;
receiving information associated with an interaction of a user with the one or more GUI grids associated with a graphical user interface (GUI) displayed on a user computing device, wherein receiving further comprises:
monitoring the interaction of the user with the one or more navigation tools for a predetermined period of time;
determining one or more sequences of GUI grid interactions performed by the user when interacting with the one or more navigation tools; and
capturing one or more gestures executed by the user on each GUI grid during each sequence of GUI grid interactions, wherein the one or more gestures comprises tap, press, two-finger tap, press-tap, press-and-hold, one-finger pan, two-finger pan, pinch, rotate, flick, drag-and-drop, slide to scroll, slide-and-hold, and shake;
receiving information associated with the user, wherein the information associated with the user comprises a handedness of the user, an interaction technique of the user when interacting with the one or more GUI grids based on at least the handedness, and a favored side of the GUI based on at least the interaction technique;
receiving information associated with one or more interactions of one or more peers with the one or more GUI grids associated with the GUI displayed on one or more peer computing devices, wherein the one or more peers are associated with a handedness that is same as the handedness of the user;
generating a training dataset based on at least the information associated with the interaction of the user with the one or more GUI grids, the information associated with the one or more interactions of the one or more peers with the one or more GUI grids, and the information associated with the user;
initiating one or more machine learning algorithms on the training dataset, wherein initiating further comprises generating a first set of parameters;
initiating a presentation of a navigation tool interface on the user computing device, wherein the navigation tool interface comprises all available navigation tools associated with an application;
receiving, via the navigation tool interface, a user input selecting one or more navigation tools from all the available navigation tools associated with the application for placement on the GUI, wherein the one or more navigation tools comprises a new navigation tool;
classifying the new navigation tool using the first set of parameters, wherein classifying further comprises predicting a placement of the new navigation tool in at least one of one or more GUI grids associated with the GUI; and
populating the GUI with the one or more navigation tools, wherein populating further comprises executing the placement of the new navigation tool in the at least one of the one or more GUI grids associated with the GUI based on at least the classification.

### Claim 12 (depends on 11)

The method of claim 11, wherein the method further comprises:
receiving information associated with the user, wherein the information associated with the user comprises at least a historical placement of one or more navigation tools on the GUI by the user on the user computing device; and
receiving information associated with the one or more peers, wherein the information associated with the one or more peers comprises at least a historical placement of the one or more navigation tools on the GUI by the one or more peers on the one or more peer computing devices.

### Claim 13 (depends on 11)

The method of claim 11, wherein the method further comprises generating the information associated with the interaction of the user with the one or more GUI grids, wherein generating further comprises capturing one or more gestures executed by the user, wherein the one or more gestures comprises at least tap, press, two-finger tap, press-tap, press-and-hold, one-finger pan, two-finger pan, pinch, rotate, flick, drag-and-drop, slide to scroll, and slide-and-hold.
