IP Library › Granted Patent US 12,231,509
Granted Patent B2
US 12,231,509 · App. 18/374,182 · Granted Feb 18, 2025

Apparatus and methods for dynamic scaling and orchestration

Inventor: Mani Shankar (Princeton, NJ)
Assignee: Bank of America Corporation
H04L67/51G06F9/45558H04L12/66H04L41/0816H04L63/08H04L67/1001G06F2009/45595
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,231,509
App. No.
18/374,182
Granted
Feb 18, 2025
Kind
B2
Abstract

Apparatus and methods to dynamically scale and orchestrate services over a network are provided. The apparatus and methods may include two or more computers forming a network cluster. Each computer may have an agent and user service. One or more computers may include a gateway service, authorization service, a pool of network services, and a director service. A user may request access to a network service, and the gateway and director services may grant access to the network service or create a new instance of the network service on any computer in the cluster and then grant access to the network service to the user.

Claims (50)

1. A method for dynamically scaling and orchestrating network services automatically and without user intervention on a network comprising a cluster of two or more computers, without using any cloud or Internet connections, the network being contained within an internal intranet, the method comprising:

forming a network cluster comprising the two or more computers by:

starting a user service on each computer in the cluster;

starting an agent service on each computer in the cluster;

starting an authorization service on a computer in the cluster;

starting a gateway service on one or more computers in the cluster;

starting a director service on a computer in the cluster that is not running the authorization service;

receiving, at the gateway service, a request for a network service from a user of one of the computers in the cluster, wherein the request comprises one or more instructions;

redirecting the request to the authorization service to authenticate the user when an authorization header is absent from the request;

providing, from the authorization service, an authorization header with the request;

determining, by the gateway service, when an instance of the network service is available on one of the computers in the cluster, wherein the instance of the network service is available when the instance of the network service is idle and running on a computer in the cluster, and enabling the user to access the instance of the network service;

when an instance of the network service is unavailable on the computers in the cluster, requesting, by the gateway service, the director service create a new instance of the network service on an available computer in the cluster;

creating, by the director service, the new instance of the network service;

enabling the user to access the new instance of the network service;

connecting the user service to the instance of the network service or the new instance of the network service;

registering the gateway service as an observer of the new instance; and

purging the authorization header and the instructions from the gateway service;

wherein:

the one or more instructions comprise:

one or more command line commands to execute the network service;

one or more configurations required for the network service; and

one or more pre-requisite software programs that the network service requires; and

a computer in the cluster is available when the computer has enough free computing resources to run the new instance of the network service.

2. The method of claim 1 , wherein when the instance of the network service is unavailable:

inquiring, by the director service, a data store for one or more details of the network service;

ensuring, by the director service, that enough instances of the network service are present in the cluster, wherein the number of instances required in the cluster is determined by the number of requests by user services for the network service;

initiating the new instance of the network service on a computer in the cluster;

updating the data store with one or more details of the new instance of the network service; and

providing the user service with the details of the new instance of the network service.

3. The method of claim 2 , wherein the one or more details of the network service comprise:

a plurality of commands to initiate the network service;

a plurality of configurations required by the network service; and

prerequisite software needed by the network service.

4. The method of claim 2 , wherein the one or more details of the new instance of the network service comprise:

the location of the new instance of the network service in the cluster; and

information permitting the user service to connect to the new instance of the network service.

5. The method of claim 1 , wherein when the instance of the network service is unavailable:

determining, by the director service, when there are no available computers in the cluster; and

informing the user service that there are no available computers in the cluster.

6. The method of claim 1 further comprising:

terminating the network service when idle for a pre-determined period of time.

7. The method of claim 1 further comprising:

terminating an idle network service when a computer is unavailable to run the network service.

8. The method of claim 1 further comprising:

requesting, by the gateway service, the director service to initiate a new instance of the network service when an amount of requests for the network service within a pre-determined time period exceeds a pre-determined threshold or when a resource load of the network service exceeds a pre-determined threshold.

9. The method of claim 1 further comprising:

transferring, by the director service, the network service from a first computer in the cluster to a second computer in the cluster when a resource load of the first computer exceeds a pre-determined threshold.

10. The method of claim 1 further comprising:

syncing a first director service running on a first computer in the cluster with a second director service running on a second computer in the cluster.

11. The method of claim 4 wherein the director service analyzes the cluster through an artificial intelligence algorithm.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2023
From: SHANKAR, MANI
To: BANK OF AMERICA CORPORATION
Reel/Frame 065061/0218 →
Continuity (2)
Division 17327876 · May 24, 2021
Related Publication 20240022641A1 · Jan 18, 2024
References Cited (8)
US 11005721B1 · Patki et al. · 2021 [cited by applicant]
US 20090177743A1 · Ashour et al. · 2009 [cited by applicant]
US 20140082409A1 · Bae et al. · 2014 [cited by applicant]
US 20150149635A1 · Rajagopalan et al. · 2015 [cited by applicant]
US 20150261514A1 · Fu et al. · 2015 [cited by applicant]
US 20190342383A1 · Matican et al. · 2019 [cited by applicant]
US 20210075700A1 · Palladino et al. · 2021 [cited by applicant]
US 20210152631A1 · Ravindra et al. · 2021 [cited by applicant]