Tenant Change Segmentation in Multi-Tenant Service Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tenant systems face performance degradation when handling large tenant changes, affecting other tenants due to high processing and memory overhead, especially during migrations from on-premise to cloud-based implementations.

Innovation Solution

The system segments tenant changes and assigns individual update streams processed by dedicated tenant stream processors, ensuring each tenant's changes are handled independently without impacting other tenants, using a notification stream generator to manage and scale these processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tenant changes are processed in a serialized manner, then processing completeness is ensured, but processing time increases significantly

Engineering Contradiction:
Improveprocessing completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments tenant changes into individual change records and processes them as separate entities in a stream. Each change record is independently processed by tenant stream processors, allowing parallel processing while maintaining individual change integrity. This segmentation enables the system to avoid serialized processing of entire tenant changes while ensuring each individual change is processed reliably.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a large number of changes are made for one tenant, then that tenant's provisioning is completed, but performance of other tenants degrades

Engineering Contradiction:
Improveprovisioning completionVSAvoidservice performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments changes by tenant, creating separate update streams for each tenant. Tenant stream processors are assigned to process changes for specific tenants, isolating the processing workload. This segmentation ensures that a large number of changes for one tenant do not impact the performance of other tenants, as each tenant's changes are processed in an isolated stream.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic tenant stream processor assignment where processors can be assigned to different tenants based on current workload conditions. The system can dynamically adjust which processor handles which tenant's stream, balancing the load across available processors. This dynamic assignment prevents any single tenant from monopolizing processor resources and degrading overall system performance.

Inventive Principle:
Principle #15Dynamics

3Power

If processing resources are allocated to handle large tenant changes, then processing capability is improved, but memory overhead and bandwidth consumption increase

Engineering Contradiction:
Improveprocessing capabilityVSAvoidmemory overhead and bandwidth
Core Design Contradiction:
PowerVSQuantity of substance

Solution Approach 1:

The system segments the processing of tenant changes into individual change records processed in streams. This segmentation allows the system to process changes incrementally rather than loading all changes into memory at once. Each tenant stream processor handles one change record at a time from its assigned stream, significantly reducing memory overhead compared to batch processing while maintaining processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The notification stream generator pre-processes and segments tenant changes into individual change records before they reach the tenant stream processors. This preliminary action organizes the data stream in advance, allowing processors to consume changes efficiently without requiring large buffers or pre-loading entire change sets into memory, thus reducing both memory overhead and bandwidth consumption.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3170077B1Dynamic update streams for real time provisioning
Publication Date: 2019.08.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3170077B1 patent drawingFigure 1
  • EP3170077B1 patent drawingFigure 2
  • EP3170077B1 patent drawingFigure 3

AI summary

Tenant changes are received at a multi-tenant service. The tenant changes are segmented, by tenant, and individual update streams are established with individual tenant stream processors. Each tenant stream processor makes changes for a given tenant, until the changes for that tenant are completed.