# US 2021/0240738 A1 · Methods and systems for organization extensibility and cluster scalability

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

- Number: US 2021/0240738 A1
- Document ID: US20210240738A1
- Status: Published application
- Kind: A1
- Application number: 16/779,160
- Filed: 2020-01-31
- Published: 2021-08-05
- Earliest claimed: 2020-01-31
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Robert Stephen LOGAN; Gabriel Such TOBIAS; Shan-Cheng HO
- Web page: https://patentgrep.com/patent/US20210240738A1

## CPC

- G06F 16/285: {Clustering or classification}
- G06F 16/214: {Database migration support}
- G06F 16/2272: {Management thereof}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method is disclosed. The method includes determining whether a level of resource utilization of an organization having a first index and a first cluster requires that the organization is assigned to a second cluster, if the level of resource utilization requires that the organization is assigned to the second cluster, creating a second index for the organization in the second cluster, adding a consul entry in a consul that points to the second index, and upon completion of a data migration operation, changing an entry of the cluster routing controller for the organization, from the first index to the second index. A connection is established using the consul entry.

## Claims

### Claim 1

A computer-implemented method, comprising:
determining whether a level of resource utilization of an organization having a first index and a first cluster requires that the organization is assigned to a second cluster;
if the level of resource utilization requires that the organization is assigned to the second cluster, creating a second index for the organization in the second cluster;
adding a consul entry in a consul that points to the second index;
upon completion of a data migration operation, changing an entry of a cluster routing controller for the organization, from the first index to the second index; and
establishing a connection using the consul entry.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
prior to the determining, receiving a request for search data of the organization;
accessing a connection identifier from the cluster routing controller; and
retrieving connection specific information from the consul.

### Claim 3 (depends on 1)

The method of claim 1, wherein the changing the cluster routing controller entry corresponds to an increase in a size of the organization.

### Claim 4 (depends on 1)

The method of claim 1, wherein the cluster routing controller provides a connection identifier for the organization that is used to retrieve connection specific information.

### Claim 5 (depends on 4)

The method of claim 4, wherein connection specific information is provided to a search module that provides a connection to a cluster.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first cluster is associated with a single index and contains search data of a plurality of organizations.

### Claim 7 (depends on 1)

The method of claim 1, wherein the second index is dedicated to the organization.

### Claim 8 (depends on 1)

The method of claim 1, wherein the consul entry includes connection specific information including hostname, port, index name, and token.

### Claim 9

A computer-readable memory having instructions stored thereon that, in response to execution by a processor, are operable to cause a performance of operations including:
determining whether a level of resource utilization of an organization having a first index and a first cluster requires that the organization is assigned to a second cluster;
creating a second index for the organization in the second cluster;
adding a consul entry to a consul that points to the second index;
upon completion of a data migration operation, changing an entry of a cluster routing controller for the organization, from the first index to the second index; and
establishing a connection using the consul entry.

### Claim 10 (depends on 9)

The computer-readable memory of claim 9, further comprising:
prior to the determining, receiving a request for search data of the organization;
accessing a connection identifier from the cluster routing controller; and
retrieving connection specific information from the consul.

### Claim 11 (depends on 9)

The computer-readable memory of claim 9, wherein the changing the cluster routing controller entry corresponds to an increase in a size of the organization.

### Claim 12 (depends on 9)

The computer-readable memory of claim 9, wherein the cluster routing controller provides a connection identifier for the organization with connection specific information.

### Claim 13 (depends on 12)

The computer-readable memory of claim 12, wherein connection specific information is provided to a search module that provides a connection to a cluster.

### Claim 14 (depends on 9)

The computer-readable memory of claim 9, wherein the first cluster is associated with a single index and contains search data of a plurality of organizations.

### Claim 15 (depends on 9)

The computer-readable memory of claim 9, wherein the second index is dedicated to the organization.

### Claim 16 (depends on 9)

The computer-readable memory of claim 9, wherein the consul entry includes hostname, port, index name, and token.

### Claim 17

A system, comprising:
a resource utilization determiner to determine whether a level of resource utilization of an organization having a first index and a first cluster requires that the organization is assigned to a second cluster;
an index creator to create a second index for the organization in the second cluster;
a consul entry adder to add a consul entry to a consul that points to the second index;
a cluster routing controller changer to, upon completion of a data migration operation, change an entry in a cluster routing controller for the organization, from the first index to the second index; and
a connection establisher to establish a connection using the consul entry.

### Claim 18 (depends on 17)

The system of claim 17, further comprising:
a request accessor to, prior to the determining, receiving a request for search data of the organization;
a connection identifier accessor to access a connection identifier from the cluster routing controller; and
a connection details retriever to retrieve connection specific information from the consul.

### Claim 19 (depends on 17)

The system of claim 17, wherein the changing the entry in the cluster routing controller corresponds to an increase in the size of the organization.

### Claim 20 (depends on 17)

The system of claim 17, wherein the cluster routing controller provides a connection identifier for the organization with connection specific information.
