In-Memory Database Provisioning via Docker Virtual IP Pool

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in enabling multiple and concurrent web applications to access a database simultaneously in a database-as-a-service (DBaaS) framework, particularly in handling data-intensive jobs and network stress effectively.

Innovation Solution

The implementation of an in-memory database solution using Docker network functionality to provide a virtual Internet Protocol (IP) address pool, allowing for concurrent access by leveraging in-memory database technology, which instantiates database portions without booting a full in-memory database instance, thereby optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a full in-memory database instance is booted for each web application, then each application has dedicated database access, but resource consumption increases significantly

Engineering Contradiction:
Improvedatabase access reliabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Multiple web application containers share a single in-memory database instance through Docker network functionality and virtual IP address allocation. The system merges database resources so that instead of each container having its own database instance, they all access the same database instance via assigned virtual IP addresses, thereby reducing overall resource consumption while maintaining reliable access for each application.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The in-memory database instance serves multiple web applications simultaneously by providing universal access through the Docker network. A single database instance is configured to accept connections from multiple containers, each identified by their assigned virtual IP address, making the database resource multi-functional and serving various applications without requiring separate instances.

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

2Use of energy by moving object

If multiple web applications share a single database instance, then resource usage is optimized, but concurrency and network stress handling become challenging

Engineering Contradiction:
Improveresource usage efficiencyVSAvoidconcurrency handling capability
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The Docker network functionality acts as an intermediary layer between multiple web application containers and the shared in-memory database instance. Virtual IP addresses are assigned to each container, and the Docker network infrastructure manages the routing and connection handling, thereby enabling efficient concurrency management and network stress handling without requiring each application to directly manage connections to the database.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If virtual IP addresses are assigned to each tenant, then concurrent access is enabled, but network configuration complexity increases

Engineering Contradiction:
Improveconcurrent access capabilityVSAvoidnetwork configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements automatic virtual IP address assignment and network configuration through Docker's built-in networking capabilities. When web application containers are deployed, the Docker network infrastructure automatically assigns virtual IP addresses from the configured pool and sets up the necessary routing, eliminating the need for manual network configuration and reducing complexity while enabling concurrent access.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11899687B2Elastic in-memory database provisioning on database-as-a-service
Publication Date: 2024.02.13 SAP SE
  • US11899687B2 patent drawing
  • US11899687B2 patent drawing
  • US11899687B2 patent drawing

AI summary

In an example embodiment, a solution is used to provide for multiple and concurrent web application accessing of a database in a database-as-a-service (DBaaS) framework. More particularly, a cloud solution is provided on a DBaaS for leveraging Docker network functionality to provide a virtual Internet Protocol (IP) address pool, while utilizing in-memory database technology to set up an entire accessing solution for multiple and concurrent DBaaS users and web applications, which serve the data-intensive jobs to the in-memory database. This allows for improved functionality, performance, concurrency, and handling of network stress.