DBaaS Task-Level Resource Control via System Call Interception

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current DBaaS systems lack effective resource control mechanisms for CPU and memory usage at finer granularities, particularly in multi-tenancy scenarios where excessive resource occupation by one tenant can adversely affect others, due to limitations in virtual machine technology that only support resource control at the CPU chip level.

Innovation Solution

A method and apparatus that intercept tasks accessing computing resources, identify associated tenants, determine other tasks accessing the same resources, and enforce usage limits to prevent total usage from exceeding allocated thresholds, ensuring fair distribution of CPU, memory, and disk I/O resources across tenants.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtual machine technology is used to run databases in DBaaS, then database service sharing among multiple tenants is enabled, but resource control granularity is limited to CPU chip level only

Engineering Contradiction:
Improvemulti-tenancy service sharingVSAvoidresource control granularity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the control of computing resources by introducing a resource usage control module that operates at the task level rather than the virtual machine level. This module intercepts system calls from individual tasks, identifies their associated tenants, and enforces resource limits per tenant, thereby achieving fine-grained resource control while maintaining multi-tenancy service sharing.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple tenants share a VM or physical machine with finer granularity, then resource utilization efficiency is improved, but resource control mechanism becomes insufficient

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidresource control mechanism
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a resource usage control module as an intermediary between the operating system and multiple tenants. This module intercepts system calls, identifies the tenant associated with each task, tracks resource usage per tenant, and enforces resource limits. This intermediary mechanism enables fine-grained resource control and prevents any single tenant from monopolizing resources, thereby ensuring reliable resource management in multi-tenant environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If resource control is performed only at CPU chip level, then implementation is simple, but it cannot prevent excessive resource occupation by single tenant in fine-grained sharing modes

Engineering Contradiction:
Improvecontrol implementation simplicityVSAvoidresource monopolization by single tenant
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent implements a feedback mechanism where the resource usage control module continuously monitors resource usage by each tenant through intercepting system calls. The module compares actual usage against allocated limits and dynamically adjusts resource allocation in real-time. This feedback loop prevents any single tenant from exceeding their resource quota and monopolizing system resources, while maintaining relatively simple implementation through systematic call interception and tenant identification.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9027028B2Controlling the use of computing resources in a database as a service
Publication Date: 2015.05.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9027028B2 patent drawing
  • US9027028B2 patent drawing
  • US9027028B2 patent drawing

AI summary

A method and apparatus controls use of a computing resource by multiple tenants in DBaaS service. The method includes intercepting a task that is to access a computer resource, the task being an operating system process or thread; identifying a tenant that is in association with the task from the multiple tenants; determining other tasks of the tenant that access the computing resource; and controlling the use of the computing resource by the task, so that the total amount of usage of the computing resource by the task and the other tasks does not exceed the limit of usage of the computing resource for the tenant.