Multi-Tenant Software Architecture with Segmented Database Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-tenant data architecture systems face challenges in supporting diverse database schemas and column structures across multiple tenants, making it inefficient to use a single database schema and leading to scalability issues when the number of tenants increases.

Innovation Solution

A software application instance supports multiple tenants by identifying the tenant-specific context, obtaining a service object, and using a data access object to perform operations on separate databases, isolating data access logic from the business logic layer and utilizing an inversion of control container for dependency injection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single database schema is used to support multiple tenants, then device complexity is reduced, but manufacturing precision deteriorates because different tenants require dissimilar tables and column structures

Engineering Contradiction:
Improvesystem complexityVSAvoiddata structure accuracy
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The patent segments the database system by providing each tenant with a separate database instance rather than using a single shared database. This segmentation allows each tenant to have their own schema, tables, and column structures tailored to their specific requirements, thereby maintaining data structure accuracy while managing complexity through modular isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing each tenant database to have customized schemas and data structures specific to that tenant's needs. Instead of enforcing a uniform schema across all tenants, each tenant can define their own tables, columns, and data relationships, ensuring that the data structure accurately reflects the local requirements of each organization.

Inventive Principle:
Principle #3Local quality

2Manufacturing precision

If a separate software application is provided for each tenant, then manufacturing precision is improved by providing dedicated functionality, but device complexity increases and scalability deteriorates

Engineering Contradiction:
Improvesoftware functionality precisionVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent merges multiple tenant-specific software applications into a single multi-tenant platform. By consolidating the software infrastructure while maintaining separate databases for each tenant, the system achieves the functionality precision of dedicated applications without the complexity and scalability issues of multiple separate systems. The single software instance can serve multiple tenants through standardized interfaces and data access patterns.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If a single software application services multiple tenants, then device complexity is reduced, but productivity deteriorates due to the inability to efficiently support diverse data requirements

Engineering Contradiction:
Improvesystem complexityVSAvoiddata operation efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the data storage layer by providing separate databases for each tenant while keeping the software application unified. This segmentation enables efficient data operations for each tenant by allowing independent database optimization and management, thereby improving productivity without significantly increasing system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer (the multi-tenant software platform) that mediates between the user and the underlying database structures. This intermediary handles the complexity of managing multiple diverse databases, providing a unified interface that maintains productivity by abstracting away the underlying data diversity while preserving efficient data access patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10250453B1System for supporting a multi-tenant data architecture
Publication Date: 2019.04.02 INTUIT INC
  • US10250453B1 patent drawing
  • US10250453B1 patent drawing
  • US10250453B1 patent drawing

AI summary

One embodiment of the present invention relates to a system that enables a single software application instance to support multiple tenants, wherein each tenant is associated with a separate database. First, the software application instance receives an input, wherein the input requires an operation to be performed on a database of one of the supported tenants. Next, the software application instance identifies the tenant with which the input is associated. The software application instance then obtains a context associated with the tenant. From the context, the software application instance obtains a service object. Finally, the software application invokes a method provided by the service object's class. This enables a data access object, which is encapsulated within the service object, to perform the operation on the database.