IP Library Granted Patent US 12,711,109
Granted Patent B1
US 12,711,109 · App. 19/272,320 · Granted Aug 18, 2026

System and method for recommending an optimal number of data sessions to access a database

Inventors: Kartheek Kotha (Celina, TX); Karthikeya Venkata Sastry Meduri (Chennai, IN); Vignesh Rajan (Chennai, IN)
Assignee: Bank of America Corporation
G06F16/21G06N20/00
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 12,711,109
App. No.
19/272,320
Granted
Aug 18, 2026
Kind
B1
Abstract

A system includes a memory storing an AI model, and a processor configure to receive a first request to establish a first number of sessions with the database server for a task, determine that a recommended number of sessions for the task has not been provided, determine features associated with the task, collect features associated with a real-time computing environment for the task, determine an optimal number of sessions for the task using the AI model, determine that the optimal number differs from the first number, provide a recommendation for the task with the determined optimal number of sessions for the task, receive a second request to establish a second number of sessions with the database server for the task, determine that the recommended number of sessions for the task has been provided, and establish the second number of sessions with the database server for the task.

Claims (106)

1 . A system, comprising:

a memory operable to store:

an artificial intelligence (AI) model that is configured to compute a desired number of sessions to establish with a database server for a given task based on features associated with the given task and features associated with real-time computing environment for the given task, wherein the AI model is trained using data extracted from historical records associated with previous tasks; and

a processor, operably coupled to the memory, and configured to:

receive a first request to establish a first number of sessions with the database server for a task that comprises accessing a database on the database server, wherein the request comprises information associated with the task;

determine whether a recommended number of sessions for the task has been provided;

responsive to the determination that the recommended number of sessions for the task has not been provided:

determine features associated with the task, wherein the features associated with the task comprise a size of data to be transferred, a classification of the data, and a priority associated with the task;

collect features associated with a real-time computing environment for the task, wherein the features associated with the real-time computing environment for the task comprise a network bandwidth between the system and the database server, a measured network latency between the system and the database server, hardware capacities of the database server, and hardware capacities of the system;

determine an optimal number of sessions for the task by processing the features associated with the task and the features associated with the real-time computing environment for the task with the AI model;

determine that the optimal number is different from the first number; and

provide, responsive to the determination that the optimal number is different from the first number, the determined optimal number of sessions for the task as the recommended number of sessions for the task;

receive a second request to establish a second number of sessions with the database server for the task;

determine that the recommended number of sessions for the task has already been provided; and

establish, responsive to the determination that the recommended number of sessions for the task has already been provided, the second number of sessions with the database server for the task.

2 . The system of claim 1 , wherein the AI model is a regression model, and wherein the processor is further configured to:

determine a label for each task in the historical records with a corresponding optimal number of sessions;

collect, for each labelled task, input features from the historical records, wherein the input features comprise features associated with the task and features associated with a computing environment for the task;

postprocess the collected input features, wherein postprocessing comprises filling any missing values based on the historical records;

divide the labels and the input features for the labelled task into training data and testing data;

iteratively train the AI model using the training data until a training completion condition is satisfied;

evaluate the AI model based on a proportion of variance in a dependent variable, representing the labels, that is explained by independent variables, corresponding to the input features, and p-values of individual coefficients; and

deploy the AI model in conjunction with a successful evaluation.

3 . The system of claim 2 , wherein, to determine the label of each task, the processor is further configured to:

select, among tasks in the historical records, a subset of tasks, each having a proper number of established sessions, wherein whether the task has the proper number of established sessions is determined based on a session utilization ratio and an amount of time to complete the task in the historical records; and

determine the number of established sessions as the label for the task.

4 . The system of claim 2 , wherein, to determine the label of each task, the processor is further configured to:

determine, for each task in the historical records, an optimal number of sessions for the task based on a number of established sessions for the task, a session utilization ratio, and an amount of time to complete the task in the historical records, wherein, to determine the optimal number of sessions for the task, the processor is further configured to:

determine, when the session utilization ratio is lower than a first pre-determined threshold, a lower number than the number of established sessions in the historical records as the optimal number of sessions for the task; and

determine, when the session utilization ratio is higher than a second pre-determined threshold and the amount of time to complete the task is greater than a threshold time for a type corresponding to the task, a higher number than the number of established sessions in the historical records as the optimal number of sessions for the task.

5 . The system of claim 1 , wherein the task comprises uploading data into the database, and wherein, to determine the features associated with the task, the processor is further configured to:

measure the data to be uploaded to the database in a storage associated with the system.

6 . The system of claim 1 , wherein the task comprises downloading data from the database, and wherein, to determine the features associated with the task, the processor is further configured to:

retrieve the size of the data to be transferred and/or the classification of the data from the database.

7 . The system of claim 1 , wherein the processor is further configured to:

measure, upon completion of the task, a session utilization ratio associated with the task and an amount of time to complete the task;

determine, based on the session utilization ratio and the amount of time, whether the second number is within a range of acceptable numbers of sessions for the task; and

re-train, in response to the determination that the second number is beyond the range of acceptable numbers of sessions for the task, the AI model.

8 . A method comprising, by a system:

receiving a first request to establish a first number of sessions with a database server for a task that comprises accessing a database on the database server, wherein the request comprises information associated with the task;

determining whether a recommended number of sessions for the task has been provided;

responsive to the determination that the recommended number of sessions for the task has not been provided:

determining features associated with the task, wherein the features associated with the task comprise a size of data to be transferred, a classification of the data, and a priority associated with the task;

collecting features associated with a real-time computing environment for the task, wherein the features associated with the real-time computing environment for the task comprise a network bandwidth between the system and the database server, a measured network latency between the system and the database server, hardware capacities of the database server, and hardware capacities of the system;

determining an optimal number of sessions for the task by processing the features associated with the task and the features associated with the real-time computing environment for the task with an artificial intelligence (AI) model that is configured to compute a desired number of sessions to establish with the database server for a given task based on features associated with the given task and features associated with real-time computing environment for the given task, wherein the AI model is trained using data extracted from historical records associated with previous tasks;

determining that the optimal number is different from the first number; and

providing, responsive to the determination that the optimal number is different from the first number, the determined optimal number of sessions for the task as the recommended number of sessions for the task;

receiving a second request to establish a second number of sessions with the database server for the task;

determining that the recommended number of sessions for the task has already been provided; and

establishing, responsive to the determination that the recommended number of sessions for the task has already been provided, the second number of sessions with the database server for the task.

9 . The method of claim 8 , wherein the AI model is a regression model, further comprising:

determining a label for each task in the historical records with a corresponding optimal number of sessions;

collecting, for each labelled task, input features from the historical records, wherein the input features comprise features associated with the task and features associated with a computing environment for the task;

postprocessing the collected input features, wherein postprocessing comprises filling any missing values based on the historical records;

dividing the labels and the input features for the labelled task into training data and testing data;

iteratively training the AI model using the training data until a training completion condition is satisfied;

evaluating the AI model based on a proportion of variance in a dependent variable, representing the labels, that is explained by independent variables, corresponding to the input features, and p-values of individual coefficients; and

deploying the AI model in conjunction with a successful evaluation.

10 . The method of claim 9 , wherein determining the label of each task comprises:

selecting, among tasks in the historical records, a subset of tasks, each having a proper number of established sessions, wherein whether the task has the proper number of established sessions is determined based on a session utilization ratio and an amount of time to complete the task in the historical records; and

determining the number of established sessions as the label for the task.

11 . The method of claim 9 , wherein determining the label of each task comprises:

determining, for each task in the historical records, an optimal number of sessions for the task based on a number of established sessions for the task, a session utilization ratio, and an amount of time to complete the task in the historical records by:

determining, when the session utilization ratio is lower than a first pre-determined threshold, a lower number than the number of established sessions in the historical records as the optimal number of sessions for the task; and

determining, when the session utilization ratio is higher than a second pre-determined threshold and the amount of time to complete the task is greater than a threshold time for a type corresponding to the task, a higher number than the number of established sessions in the historical records as the optimal number of sessions for the task.

12 . The method of claim 8 , wherein the task comprises uploading data into the database, and wherein determining the features associated with the task comprises:

measuring the data to be uploaded to the database in a storage associated with the system.

13 . The method of claim 8 , wherein the task comprises downloading data from the database, and wherein determining the features associated with the task comprises:

retrieving the size of the data to be transferred and/or the classification of the data from the database.

14 . The method of claim 8 , further comprising:

measuring, upon completion of the task, a session utilization ratio associated with the task and an amount of time to complete the task;

determining, based on the session utilization ratio and the amount of time, whether the second number is within a range of acceptable numbers of sessions for the task; and

re-training, in response to the determination that the second number is beyond the range of acceptable numbers of sessions for the task, the AI model.

15 . A non-transitory computer-readable medium storing:

an artificial intelligence (AI) model that is configured to compute a desired number of sessions to establish with a database server for a given task based on features associated with the given task and features associated with real-time computing environment for the given task, wherein the AI model is trained using data extracted from historical records associated with previous tasks; and

instructions that, when executed by a processor of a system, cause the processor to:

receive a first request to establish a first number of sessions with the database server for a task that comprises accessing a database on the database server, wherein the request comprises information associated with the task;

determine whether a recommended number of sessions for the task has been provided;

responsive to the determination that the recommended number of sessions for the task has not been provided:

determine features associated with the task, wherein the features associated with the task comprise a size of data to be transferred, a classification of the data, and a priority associated with the task;

collect features associated with a real-time computing environment for the task, wherein the features associated with the real-time computing environment for the task comprise a network bandwidth between the system and the database server, a measured network latency between the system and the database server, hardware capacities of the database server, and hardware capacities of the system;

determine an optimal number of sessions for the task by processing the features associated with the task and the features associated with the real-time computing environment for the task with the AI model;

determine that the optimal number is different from the first number; and

provide, responsive to the determination that the optimal number is different from the first number, the determined optimal number of sessions for the task as the recommended number of sessions for the task;

receive a second request to establish a second number of sessions with the database server for the task;

determine that the recommended number of sessions for the task has already been provided; and

establish, responsive to the determination that the recommended number of sessions for the task has already been provided, the second number of sessions with the database server for the task.

16 . The non-transitory computer-readable medium of claim 15 , wherein the AI model is a regression model, and wherein the instructions further cause the processor to:

determine a label for each task in the historical records with a corresponding optimal number of sessions;

collect, for each labelled task, input features from the historical records, wherein the input features comprise features associated with the task and features associated with a computing environment for the task;

postprocess the collected input features, wherein postprocessing comprises filling any missing values based on the historical records;

divide the labels and the input features for the labelled task into training data and testing data;

iteratively train the AI model using the training data until a training completion condition is satisfied;

evaluate the AI model based on a proportion of variance in a dependent variable, representing the labels, that is explained by independent variables, corresponding to the input features, and p-values of individual coefficients; and

deploy the AI model in conjunction with a successful evaluation.

17 . The non-transitory computer-readable medium of claim 16 , wherein, to determine the label of each task, the instructions further cause the processor to:

select, among tasks in the historical records, a subset of tasks, each having a proper number of established sessions, wherein whether the task has the proper number of established sessions is determined based on a session utilization ratio and an amount of time to complete the task in the historical records; and

determine the number of established sessions as the label for the task.

18 . The non-transitory computer-readable medium of claim 16 , wherein, to determine the label of each task, the instructions further cause the processor to:

determine, for each task in the historical records, an optimal number of sessions for the task based on a number of established sessions for the task, a session utilization ratio, and an amount of time to complete the task in the historical records, wherein, to determine the optimal number of sessions for the task, the instructions further cause the processor to:

determine, when the session utilization ratio is lower than a first pre-determined threshold, a lower number than the number of established sessions in the historical records as the optimal number of sessions for the task; and

determine, when the session utilization ratio is higher than a second pre-determined threshold and the amount of time to complete the task is greater than a threshold time for a type corresponding to the task, a higher number than the number of established sessions in the historical records as the optimal number of sessions for the task.

19 . The non-transitory computer-readable medium of claim 15 , wherein the task comprises uploading data into the database, and wherein, to determine the features associated with the task, the instructions further cause the processor to:

measure the data to be uploaded to the database in a storage associated with the system.

20 . The non-transitory computer-readable medium of claim 15 , wherein the task comprises downloading data from the database, and wherein, to determine the features associated with the task, the instructions further cause the processor to:

retrieve the size of the data to be transferred and/or the classification of the data from the database.