Tenant Code Instrumentation for Multi-Tenant Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant systems, misbehaving tenant code can consume excessive system resources, affecting overall performance and requiring a method to detect and disable such code effectively.

Innovation Solution

The method involves generating instrumented tenant code by adding instrumentation to track performance metrics, with a service protection controller determining if the code is misbehaving based on these metrics and sending a response to disable it if thresholds are exceeded.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If tenant code is allowed to run freely in multi-tenant system, then system flexibility and tenant autonomy are improved, but system resource consumption and stability deteriorate due to misbehaving code

Engineering Contradiction:
Improvetenant autonomyVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an instrumentation layer as an intermediary between tenant code and system resources. This layer injects monitoring code that acts as a mediator, observing tenant code execution without interfering with its functional autonomy while preventing harmful resource consumption patterns

Inventive Principle:
Principle #24Intermediary (Mediator)

2Difficulty of detecting and measuring

If instrumentation code is added to tenant code for monitoring, then detection capability is improved, but code complexity and overhead increase

Engineering Contradiction:
Improvedetection capabilityVSAvoidcode complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The patent merges the monitoring functionality with the tenant code itself by injecting instrumentation code directly into the tenant's codebase. This combining approach allows monitoring capabilities to be embedded within the existing code structure rather than adding separate monitoring systems

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The instrumentation code serves multiple functions simultaneously: it monitors resource usage, detects misbehavior patterns, tracks performance metrics, and enables system-wide visibility into tenant code execution. This multi-functional approach reduces the need for separate specialized monitoring components

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

3Reliability

If service protection controller tracks all tenant code metrics, then system protection is improved, but processing overhead and performance impact increase

Engineering Contradiction:
Improvesystem protectionVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements partial monitoring by focusing instrumentation on specific critical methods and resource access points rather than monitoring all code execution paths. This selective approach provides sufficient protection against misbehavior while minimizing the overhead of comprehensive tracking

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system establishes protection mechanisms in advance by pre-instrumenting tenant code with monitoring code before execution. This preliminary instrumentation allows the system to detect and respond to misbehavior patterns proactively rather than reacting after resource exhaustion occurs

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11036618B2Tenant code management in multi-tenant systems
Publication Date: 2021.06.15 VEEVA SYSTEMS INC
  • US11036618B2 patent drawing
  • US11036618B2 patent drawing
  • US11036618B2 patent drawing

AI summary

Systems and methods for managing tenant code for a multi-tenant system. Instrumentation code may be added to the tenant code and track its performance. The tenant code may be disabled when it is determined based on information from the instrumentation code that the tenant code is misbehaving. An approximate clock may be used to determine if the running time of the tenant code exceeds a threshold.