Multi-tenant ERP Schema Update via Checksum Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tenant ERP systems face inefficiencies and resource overloads when propagating schema changes to numerous tenants, particularly due to real-time updates, which can lead to synchronization failures and difficulties in managing offline tenants.

Innovation Solution

Implementing a system that allows schema changes to be propagated from a master to multiple tenants, supporting offline tenants and applying changes at mount time, while distributing database server load and detecting and applying application metadata changes at runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If real-time updates are used to propagate schema changes to all tenants, then synchronization is achieved, but database server load increases and resource overload occurs

Engineering Contradiction:
Improveschema synchronizationVSAvoiddatabase server load
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

The patent applies preliminary action by computing and storing checksums of schema metadata in advance. When schema changes occur, the system only needs to compare checksums rather than propagate full schema definitions to all tenants. This pre-computation reduces the workload during update propagation, resolving the contradiction between maintaining synchronization reliability and reducing server load.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If schema changes are propagated to all tenants simultaneously, then updates are applied consistently, but offline tenants cannot be updated and synchronization failures occur

Engineering Contradiction:
Improveschema synchronizationVSAvoidoffline tenant support
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by implementing an on-demand schema update mechanism. Instead of forcing simultaneous updates to all tenants, the system dynamically determines which tenants need updates based on their online status and schema version. Tenants receive schema changes when they next connect to the system, allowing the system to adapt to varying tenant availability while maintaining eventual consistency.

Inventive Principle:
Principle #15Dynamics

3Loss of information

If full schema metadata is propagated to each tenant, then complete information is available, but network bandwidth and storage resources are wasted

Engineering Contradiction:
Improveschema information completenessVSAvoiddata transmission volume
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent applies the extraction principle by isolating and propagating only the essential schema change information (checksums and change descriptors) rather than complete schema metadata. Each tenant maintains a local cache of schema information and only receives incremental update data when changes occur. This extracts the minimum necessary information for synchronization, reducing network bandwidth and storage requirements while maintaining information completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3049968B1Master schema shared across multiple tenants with dynamic update
Publication Date: 2019.10.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3049968B1 patent drawingFigure 1
  • EP3049968B1 patent drawingFigure 2
  • EP3049968B1 patent drawingFigure 3A~3B

AI summary

An enterprise resource planning (ERP) system provides efficient maintenance and upgrade of tenant databases utilizing shared schema. A schema change is propagated from a master to tenants. Support is provided for tenants to be offline. The schema changes are applied at a mount time. Server load associated with the ERP database is distributed when tenant databases are updated with new schema changes. Changes to the application metadata (table schemas) is detected and applied to multiple tenants at a runtime.