Database Connectivity Plan for Distributed Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database replication strategies face challenges in efficiently distributing requests across multiple nodes, especially when nodes are distributed across locations, leading to scalability issues, increased security burdens, and poor performance.
Innovation Solution
Implementing a plan that specifies connection parameters and failover strategies for accessing replicated data, allowing clients to attempt connections with initial instances and alternative instances if the first attempt fails, using algorithms like serial try, timed attempts, or parallel requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a node distributes requests to replicated database nodes at a single location, then request distribution is achieved, but scalability is limited and security burdens increase
Solution Approach 1:
The patent divides the database system into multiple independent replicated nodes distributed across different locations, with each node capable of autonomous operation. This segmentation allows the system to scale by adding nodes at different locations without requiring a central distribution node, thus improving scalability while maintaining request distribution efficiency.
Solution Approach 2:
The patent transitions from a single-location node architecture to a multi-location distributed architecture, adding the dimension of geographical distribution. This allows the system to scale across multiple locations while maintaining connectivity and data access, resolving the scalability limitation of single-location deployments.
2Productivity
If a node sits in front of other nodes to distribute requests, then request distribution is achieved, but additional security burdens are imposed
Solution Approach 1:
The patent extracts the request distribution function from a dedicated central node and distributes it across all replicated database nodes. Each node independently handles its own requests and can serve clients directly, eliminating the need for a separate distribution node and reducing security burdens associated with centralized request management.
Solution Approach 2:
Each replicated database node is equipped with the capability to independently receive and process requests without requiring a central distribution node. This self-service approach allows nodes to autonomously handle their own request distribution, reducing the security burden on any single node while maintaining overall system efficiency.
3Adaptability or versatility
If nodes are distributed in multiple locations, then scalability is improved, but connection management complexity increases
Solution Approach 1:
The patent implements a universal connection string format that works across all distributed nodes regardless of location. The connection string encapsulates all necessary connection parameters (protocol, server name, database name, authentication) in a standardized format that clients can use uniformly to connect to any node, simplifying connection management across multi-location deployments.
Solution Approach 2:
The patent uses connection strings as configurable parameters that can be dynamically adjusted to reflect different node locations and configurations. By changing connection parameters (such as server names or connection protocols) in the connection string, the system can adapt to distributed nodes across multiple locations without requiring complex connection management logic.
Data Source
AI summary
Aspects of the subject matter described herein relate to database connectivity behavior. In aspects, an entity seeking to access data that is replicated via instances of a database follows a plan. The plan provides information as to which instance(s) the entity is to attempt to access the data from. The plan may include connection data that indicates parameters the entity is to use in connecting to the instance(s). The plan may also indicate one or more other instances from which the entity may attempt to access the data if the client is not able to access the data from initial instance(s).


