# US 2024/0205272 A1 · Cloud-Based Datacenter Management Systems and Methods

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

- Number: US 2024/0205272 A1
- Document ID: US20240205272A1
- Status: Published application
- Kind: A1
- Application number: 18/544,311
- Filed: 2023-12-18
- Published: 2024-06-20
- Earliest claimed: 2022-12-20
- Assignees: Edify Labs, Inc.
- Applicants: Edify Labs, Inc.
- Inventors: Cameron Weeks; Bracken Fields; Aron Droege; Jon Sparks; Mathew Altepeter
- Web page: https://patentgrep.com/patent/US20240205272A1

## CPC

- H04L 65/1073: Registration or de-registration
- H04L 65/1063: Application servers providing network services (systems providing special services to telephonic subscribers H04M3/42)
- H04L 65/1069: Session establishment or de-establishment
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Cloud-based datacenter management systems and methods are disclosed. Embodiments include methods implemented by the cloud computing system and by clients served by the cloud computing system. Example cloud based computing systems include an application server and a plurality of session servers. Some embodiments include after the application server has received a request to establish a communication session with a client, determining a set of two or more session servers with which the client has an active registration. Then, for each session server of the set of two or more session servers with which the client has an active registration, determining a response time between the client and the session server. And then establishing the communication session with the client via the session server having the shortest response time of the set of two or more session servers with which the client has an active registration.

## Claims

### Claim 1

A method implemented by a cloud computing system comprising an application server and a plurality of session servers, the method comprising:
after the application server has received a request to establish a communication session with a client, determining a set of two or more session servers with which the client has an active registration;
for each session server of the set of two or more session servers with which the client has an active registration, determining a response time between the client and the session server; and
establishing the communication session with the client via the session server having the shortest response time of the set of two or more session servers with which the client has an active registration.

### Claim 2 (depends on 1)

The method of claim 1, wherein establishing the communication session with the client via the session server having the shortest response time of the set of two or more session servers with which the client has an active registration comprises:
sending, from the application server to each session server in the set of two or more session servers with which the client has an active registration, a request to establish the communication session;
at each session server in the set of two or more session servers with which the client has an active registration, sending, from the session server to the client, a set up request for the communication session; and
establishing the communication session with the client via the first session server from which the application server receives a response to the set up request for the communication session.

### Claim 3 (depends on 1)

The method of claim 1, wherein the method further comprises:
maintaining an active registration response time table, wherein the active registration response time table comprises, for each active registration between a client and a session server, a current response time between the client and the session server; and
wherein, for each session server of the set of two or more session servers with which the client has an active registration, determining a response time between the client and the session server comprises querying the active registration response time table to determine which active registration has the shortest current response time.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
maintaining a registry comprising a list of clients having at least one active registration with at least one session server; and
wherein determining a set of two or more session servers with which the client has an active registration comprises: (i) querying the registry; and (ii) in response to the query, receiving the set of two or more session servers with which the client has an active registration.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
after receiving a registration inquiry from a client, determining a set of two or more candidate session servers for the client to establish an active registration with;
sending the client an identification of each candidate session server in the determined set of two or more candidate session servers; and
at each candidate session server in the determined set of two or more candidate session servers, after receiving a registration request from the client, creating an active registration for the client.

### Claim 6 (depends on 5)

The method of claim 5, wherein determining a set of two or more candidate session servers for the client to register with comprises:
for each of a plurality of available session servers in the cloud computing system, determining a response time between the available session server and the client;
including available session servers having a determined response time below a threshold response time in the set of two or more candidate session servers; and
excluding any available session server having a determined response time above the threshold response time from the set of two or more candidate session servers.

### Claim 7 (depends on 6)

The method of claim 6, wherein the response time is based on any one or more of network latency between the client and the session server, network latency between the application server and the session server, or processing time at the session server.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
at each session server in the set of two or more session servers with which the client has an active registration, renewing the active registration on a periodic or semi-periodic basis.

### Claim 9 (depends on 1)

The method of claim 1, wherein the communication session comprises at least one of a file transfer, a database query, a streaming media session, a voice communication session, a video communication session, or a messaging communication session.

### Claim 10 (depends on 1)

The method of claim 1, wherein the method further comprises:
after establishing the communication session with the client via the session server having the shortest response time of the set of two or more session servers with which the client has an active registration, monitoring one or more performance metrics of the communication session; and
when one or more of the performance metrics of the communication session exceeds a corresponding performance threshold, transitioning the communication session to a different session server with which the client has an active registration.

### Claim 11

A method executed at a client, the method comprising:
establishing an active registration for the client at two or more session servers of a cloud computing system, wherein each session server is configured to control one or more aspects of a communication session for an application associated with an application server;
for each session server in a set of two or more session servers with which the client has an active registration, determining a current response time between the session server and the client; and
after the client has received a request to establish a communication session for the application associated with the application server, establishing the communication session for the application associated with the application server via the session server having the shortest response time of the set of two or more session servers with which the client has an active registration.

### Claim 12 (depends on 11)

The method of claim 11, wherein establishing the communication session for the application associated with the application server via the session server having the shortest response time of the set of two or more session servers with which the client has an active registration comprises:
sending, from the client to each session server in the set of two or more session servers with which the client has an active registration, a request to establish the communication session; and
establishing the communication session via the first session server from which the client receives a response to the set up request for the communication session.

### Claim 13 (depends on 11)

The method of claim 11, wherein the method further comprises:
maintaining an active registration response time table at the client, wherein the active registration response time table comprises, for each active registration between the client and a session server, a current response time between the client and the session server; and
wherein, for each session server of the set of two or more session servers with which the client has an active registration, determining a current response time between the session server and the client comprises querying the active registration response time table to determine which active registration has the shortest current response time.

### Claim 14 (depends on 11)

The method of claim 11, further comprising:
transmitting, from the client to a cloud computing system, a registration inquiry; and
after receiving, from the cloud computing system, an identification of a plurality of available session servers for the client to establish an active registration with, establishing the active registration for the client at two or more of the two or more session servers of the plurality of available session servers.

### Claim 15 (depends on 14)

The method of claim 14, wherein establishing an active registration for the client at two or more of the two or more session servers of the plurality of available session servers comprises:
for each of the plurality of available session servers in the cloud computing system, determining a response time between the available session server and the client;
establishing an active registration with two or more session servers having a determined response time below a threshold response time.

### Claim 16 (depends on 15)

The method of claim 15, wherein the response time is based on any one or more of network latency between the client and the session server, network latency between an application server and the session server, or processing time at the session server.

### Claim 17 (depends on 1)

The method of claim 1, further comprising:
for each session server in the set of two or more session servers with which the client has an active registration, renewing the active registration for the client on a periodic or semi-periodic basis.

### Claim 18 (depends on 11)

The method of claim 11, wherein the communication session comprises at least one of a file transfer, a database query, a streaming media session, a voice communication session, a video communication session, or a messaging communication session.

### Claim 19 (depends on 11)

The method of claim 11, wherein the method further comprises:
after establishing the communication session for the application associated with the application server via the session server having the shortest response time of the set of two or more session servers with which the client has an active registration, monitoring one or more performance metrics of the communication session; and
when one or more of the performance metrics of the communication session exceeds a corresponding performance threshold, transitioning the communication session to a different session server with which the client has an active registration.

### Claim 20

Tangible, non-transitory computer-readable media having program instructions stored therein, wherein the program instructions, when executed by one or more processors of a client device, cause the client device to perform a method comprising:
establishing an active registration for the client at two or more session servers of a cloud computing system, wherein each session server is configured to control one or more aspects of a communication session for an application associated with an application server;
for each session server in a set of two or more session servers with which the client has an active registration, determining a current response time between the session server and the client; and
after the client has received a request to establish a communication session for the application associated with the application server, (i) for each session server in a set of two or more session servers with which the client has an active registration, determining a current response time between the session server and the client, and (ii) establishing the communication session for the application associated with the application server via the session server having the shortest response time of the set of two or more session servers with which the client has an active registration.
