Cluster Routing Controller for Cloud Index Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based software companies face challenges in accommodating organizational data growth without physical constraints while minimizing costs, and previous approaches fail to seamlessly handle increased customer organization capacity and search performance, especially in environments where data center, node, and index locations may need to change rapidly.

Innovation Solution

Implementing a system that uses a unique 'token' or connection identifier managed by a cluster routing controller (CRC) to redirect searches to different target locations, allowing for instant switching of clusters and indexes without disrupting service, thereby enabling organization extensibility and cluster scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If an entire cluster is allotted to each individual organization to provide limitless organizational extensibility, then organizational data can grow without physical constraints, but the cost to cloud based software companies becomes astronomical

Engineering Contradiction:
Improveorganizational extensibilityVSAvoidcost to serve
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system segments the cluster into multiple indexes, where each index can serve one or more organizations. This allows the cluster to be divided into manageable units that can be dynamically allocated to different organizations based on their needs, rather than dedicating entire clusters to single organizations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic cluster routing that allows indexes to be moved between clusters based on organizational growth and resource utilization. The cluster routing controller enables seamless redirection of search requests to different index locations, providing adaptability while maintaining cost efficiency through shared resources.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If data is distributed across multiple clusters and nodes to improve scalability, then the system can accommodate more organizations, but identifying the correct data center, cluster, node and index name becomes increasingly complex

Engineering Contradiction:
Improvecluster scalabilityVSAvoidsearch routing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cluster routing controller acts as an intermediary between search requests and the distributed indexes. It receives search requests, determines the appropriate index location across multiple clusters and nodes, and redirects requests accordingly. This intermediary layer abstracts the complexity of data distribution from the search process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The cluster routing controller provides universal routing functionality that works across multiple clusters, nodes, and indexes. It handles various routing scenarios (data migration, load balancing, failover) through a single unified mechanism, simplifying the overall system architecture despite the distributed nature of the data.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If indexes are moved between clusters to accommodate organizational growth, then resource utilization can be optimized, but service interruptions may occur during the migration process

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidservice continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system creates a new index in the target cluster before migrating data, so that search requests can be gradually redirected to the new location. This preliminary setup ensures that service continuity is maintained during the transition, as the new index is ready to receive requests before the old index is decommissioned.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cluster routing controller enables seamless redirection of search requests during index migration. By maintaining active routing to both the old and new index locations during the transition period, the system ensures continuous service without interruptions, allowing data migration to occur while searches continue to function.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11475049B2Methods and systems for organization extensibility and cluster scalability
Publication Date: 2022.10.18 SALESFORCE INC
  • US11475049B2 patent drawing
  • US11475049B2 patent drawing
  • US11475049B2 patent drawing

AI summary

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.