Microservice Tenant Context Framework for Consistent Data Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing consistent multi-tenant behavior for microservices in distributed computing systems is challenging due to the need for adherence to a common contextual framework across various communication protocols, leading to inefficiencies and increased computational burden.

Innovation Solution

A multi-tenant framework is implemented, comprising modules that extract and manage tenant context data, providing data store connections, and injecting tenant context into requests, allowing microservices to operate independently of multi-tenant behavior while ensuring correct data storage and communication across tenants.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If microservices are implemented with multi-tenant behavior handling in each service, then each service can independently manage tenant context, but the device complexity and computational burden increase significantly

Engineering Contradiction:
Improvemulti-tenant behavior handlingVSAvoidcomputational burden
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a centralized multi-tenant framework that acts as an intermediary between microservices and tenant context data. This framework extracts, manages, and injects tenant context information centrally, eliminating the need for each microservice to independently handle multi-tenant behavior. The framework serves as a mediator that reduces computational burden on individual services while maintaining adaptability across the entire system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The multi-tenant framework is designed as a universal component that can be applied across all microservices in the system. It provides a single, reusable mechanism for handling tenant context that serves multiple services simultaneously, reducing overall system complexity while maintaining versatility in supporting different communication protocols and service types.

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

2Reliability

If a common contextual framework is enforced across all microservices, then consistency within tenancies is preserved, but the ease of operation and deployment difficulty increase

Engineering Contradiction:
Improveconsistency within tenanciesVSAvoiddeployment difficulty
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the multi-tenant functionality into a separate, independent framework that is distinct from individual microservice logic. This segmentation allows the common contextual framework to be deployed and configured independently, reducing deployment complexity while ensuring consistency. The framework can be developed, tested, and deployed separately from microservices, making operations easier while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

3Reliability

If microservices are modified to handle multi-tenant behavior, then tenant-specific data management improves, but the productivity and development time decrease

Engineering Contradiction:
Improvetenant data managementVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The multi-tenant framework performs preliminary actions by pre-extracting and managing tenant context data before microservices process requests. Tenant context is established in advance by the framework, so when microservices receive requests, the tenant management work has already been completed. This preliminary action improves tenant data management reliability while allowing microservices to focus on their core functionality, thereby maintaining productivity.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If existing microservices are modified to adhere to multi-tenant framework, then consistent behavior is achieved, but the ease of repair and service modification difficulty increase

Engineering Contradiction:
Improveconsistent multi-tenant behaviorVSAvoidservice modification difficulty
Core Design Contradiction:
ReliabilityVSEase of repair

Solution Approach 1:

The patent extracts multi-tenant behavior handling from individual microservices and places it in a separate, dedicated framework. This extraction means that existing microservices do not need to be modified to adhere to multi-tenant requirements - the framework handles this independently. Consequently, services can be repaired and modified more easily since their core logic remains unchanged, while consistent multi-tenant behavior is still achieved through the external framework.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11782767B2Techniques for consistent multi-tenant behavior in microservices based applications
Publication Date: 2023.10.10 ORACLE INT CORP
  • US11782767B2 patent drawing
  • US11782767B2 patent drawing
  • US11782767B2 patent drawing

AI summary

Techniques are disclosed for implementing a multi-tenant framework for microservices in a microservices-based application. A distributed computing system can execute a cluster on which the microservices-based application is hosted. The microservices-based application can include at least one microservice that incorporates the multi-tenant framework. The multi-tenant framework includes modules configured to provide multi-tenant functionality for the microservice. The microservice may receive a request containing tenant context data at an interface. A first module of the multi-tenant framework can extract the tenant context data from the request. In response to the request, the microservice may generate microservice data. A second module of the multi-tenant framework can use the extracted tenant context data to obtain a data store connection for the tenant. The microservice can use the data store connection to access the tenant's data store and store the microservice data.