Multi-tenant Extension Validation via Declarations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to managing customizations and extensions in multi-tenant computing platforms are inefficient and ineffective, leading to undesirable behavior and incompatibilities among tenants, with a lack of automated verification and conflict prediction.

Innovation Solution

A system and method that require proposed extensions to include formal declarations and validation code, which are used to verify the functionality and resources utilized by the extensions, ensuring compatibility and preventing undesirable behavior by monitoring and validating the extensions' activity against declared expectations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual testing is used to verify extension behavior, then verification accuracy may be adequate for trivial extensions, but it becomes impractical and inefficient for non-trivial extensions

Engineering Contradiction:
Improveverification accuracyVSAvoidtesting efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent replaces manual mechanical testing processes with automated validation code execution. The system automatically runs validation code against extension declarations to verify behavior, substituting human-performed manual testing with machine-executed automated verification that can handle complex extensions efficiently.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system enables extensions to self-validate through automatically executed validation code. Rather than requiring external manual testing, the extension validation process serves itself by executing predefined validation rules and code against the extension's declarations, achieving both accuracy and efficiency.

Inventive Principle:
Principle #25Self-service

2Productivity

If automated verification of extension behavior is implemented, then verification efficiency improves, but systems lack the capability to predict conflicts using extension declarations

Engineering Contradiction:
Improveverification efficiencyVSAvoidconflict prediction capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary action by requiring extensions to include declarations that specify their behavior and resource usage before deployment. The system executes validation code against these declarations in advance to predict potential conflicts, preventing issues before they occur in the multi-tenant environment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system establishes feedback loops where validation code execution results are analyzed to determine whether extensions meet expected behavior criteria. This feedback mechanism enables the system to predict conflicts by comparing actual extension behavior against declared expectations and providing verification results.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If extensions are permitted without formal declarations and validation, then ease of extension deployment is maximized, but incompatible extensions cause service disruption and undesirable behavior

Engineering Contradiction:
Improveextension deployment easeVSAvoidservice stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent requires preliminary action in the form of formal declarations and validation code to be provided with extensions before deployment. This preliminary specification of extension behavior enables automated verification that ensures compatibility, maintaining both ease of deployment through automation and service stability through conflict prevention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary validation layer between extension submission and deployment. The validation code and declaration framework act as intermediaries that automatically verify extension compatibility, mediating between the desire for easy deployment and the need for service stability by filtering out incompatible extensions.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If formal declarations and validation code are required for extensions, then extension compatibility and service stability improve, but system complexity and validation overhead increase

Engineering Contradiction:
Improveextension compatibilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal declaration and validation framework that serves multiple functions: it verifies extension behavior, predicts conflicts, ensures compatibility, and maintains service stability. This single multi-functional system addresses multiple reliability concerns without proportionally increasing complexity.

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

Solution Approach 2:

The system manages complexity by changing parameters of the validation process, such as adjusting verification thresholds and validation depth based on extension characteristics. This allows the system to maintain high compatibility standards while adapting the level of validation overhead to match the specific extension being verified.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10296321B2System and methods for declaration-based extension management for multi-tenant environments
Publication Date: 2019.05.21 NETSUITE INC
  • US10296321B2 patent drawing
  • US10296321B2 patent drawing
  • US10296321B2 patent drawing

AI summary

A system and associated methods for enabling a tenant user of a multi-tenant computing platform to introduce an extension to the platform's functions and capabilities. A computing system, such as a distributed computing service platform, may manage independent customizations and/or extensions (collectively, “extensions”) of the service platform by multiple tenants in a manner that avoids undesirable behavior that may be caused by incompatible extensions. The service may accomplish this by requiring that a proposed extension provided by a tenant or extension vendor be accompanied by a formal declaration with respect to service platform component functionality and/or service platform data objects (collectively, “service platform resources”) that are utilized and/or modified by the extension. The service may further require that the extension be accompanied by validation code (e.g., one or more modules) that is capable of verifying that particular code modules or data objects of the extension are functioning as expected.