Multi-tenant Database Debugging via Local Copy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging code in on-demand multi-tenant systems is challenging due to limitations such as truncated system logs, difficulty in creating a local representation of a database supporting thousands of users, and the need to maintain access restrictions, which can hinder debugging while risking unauthorized access to protected data.

Innovation Solution

A server in the on-demand multi-tenant database system manages debugging sessions by verifying requests against utilization criteria, allowing authorized users to create breakpoints within their tenant's application code while preventing access to other tenants' data and code, and limiting resource usage to avoid performance impairment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If system logs are truncated due to maximum size restrictions, then system storage is managed, but debugging capability is reduced

Engineering Contradiction:
Improvesystem log sizeVSAvoiddebugging capability
Core Design Contradiction:
Quantity of substanceVSDifficulty of detecting and measuring

Solution Approach 1:

The patent creates a local copy of the multi-tenant database system specifically for debugging purposes. This local representation includes replicated data and system state that can be examined without affecting the production system. The copy enables comprehensive debugging analysis while the production system logs remain truncated for storage management.

Inventive Principle:
Principle #26Copying

2Reliability

If access restrictions are maintained to protect tenant data and code, then security is preserved, but debugging access is limited

Engineering Contradiction:
Improvedata securityVSAvoiddebugging access
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the system into production environment and debugging environment. The production system maintains strict access restrictions for security, while the debugging environment (local representation) provides unrestricted access for analysis. This segmentation allows both security and debugging access to coexist by separating their operational contexts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The local representation of the multi-tenant database system acts as an intermediary between the debugger and the production system. It mediates debugging access by providing a safe, isolated environment where code and data can be examined without compromising production security restrictions.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Difficulty of detecting and measuring

If a local representation of the database system is created for debugging, then debugging capability is improved, but system complexity and resource usage increase

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsystem complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The local representation is created as a temporary, disposable debugging artifact rather than a permanent system component. It can be generated on-demand for debugging sessions and discarded afterward, avoiding permanent increases in system complexity. The local copy uses minimal resources compared to the full production system.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

4Ease of operation

If unfettered debugging access is provided to the system, then debugging capability is maximized, but unauthorized access to protected data risks increase

Engineering Contradiction:
Improvedebugging accessVSAvoidunauthorized access risk
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The local representation serves as an intermediary that enables unfettered debugging access while preventing unauthorized access to production data. The debugger interacts with the local copy instead of the production system, eliminating security risks while maintaining full debugging functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the necessary debugging data and system state into a separate local representation, removing it from the protected production environment. This extraction allows unrestricted debugging access to the copied data while the original protected data remains secure in the production system.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10296440B2Multi-tenant aware debugging methods and systems
Publication Date: 2019.05.21 SALESFORCE INC
  • US10296440B2 patent drawing
  • US10296440B2 patent drawing
  • US10296440B2 patent drawing

AI summary

Methods and systems are provided for debugging application code in an on-demand multi-tenant database system. One exemplary method involves an application server receiving a request associated with application code in a database from a client device via a network, verifying that debugging associated with the request does not violate a debugging utilization criterion, and after verifying that debugging associated with the request does not violate the debugging utilization criterion, accessing the application code in the database in conjunction with the request.