Virtual Machine Segmentation for Database Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database testing is inefficient, especially when it requires substantial resources and affects all users running the same software version, as defects in database software can impact multiple users simultaneously.

Innovation Solution

The method involves generating virtual machines for each version of the software application to create pristine testing environments, allowing for simultaneous testing of changes without affecting the main system, using virtualization technology to manage and allocate resources efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional testing methods are used in a database environment, then testing can be performed on software changes, but the testing process affects all users running the same software version and requires substantial resources

Engineering Contradiction:
Improvesoftware testing reliabilityVSAvoidtesting resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the testing process by creating isolated virtual machine environments for each software version being tested. Instead of testing affecting all users in the main system, the testing is divided into separate virtualized containers that can run independently. This segmentation allows multiple test environments to coexist without interfering with each other or the production system, thereby reducing the impact on overall system resources while maintaining testing reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates virtual copies of the database environment through virtual machines. These virtual copies replicate the necessary database structures and software versions needed for testing without requiring substantial physical resources. By copying the essential testing components into virtualized environments, the system can perform comprehensive software testing while consuming fewer actual hardware resources compared to conventional physical testing setups.

Inventive Principle:
Principle #26Copying

2Productivity

If virtual machines are generated for each software version to test changes, then testing becomes rapid and scalable, but system complexity increases

Engineering Contradiction:
Improvetesting speedVSAvoidvirtualization system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal virtual machine management system that can handle multiple software versions and testing scenarios through a single platform. The virtualization infrastructure provides multi-functional capabilities including environment creation, resource allocation, test execution, and cleanup operations. This universal system reduces the need for separate testing infrastructures for different software versions, thereby increasing testing productivity while managing system complexity through consolidation rather than proliferation of separate systems.

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

Solution Approach 2:

The patent utilizes parameter changes in virtual machine configuration to rapidly deploy and terminate test environments. By dynamically adjusting virtual machine parameters such as resource allocation, software version instantiation, and environment lifecycle management, the system can quickly adapt to different testing requirements. This parameter-driven approach enables rapid testing cycles without manually reconfiguring complex virtualization settings for each test case, thus improving productivity while keeping the management interface relatively simple.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8762787B2Facilitating large-scale testing using virtualization technology in a multi-tenant database environment
Publication Date: 2014.06.24 SALESFORCE INC
  • US8762787B2 patent drawing
  • US8762787B2 patent drawing
  • US8762787B2 patent drawing

AI summary

A system and method for testing in a database system. In one embodiment, a method includes receiving an indication of one or more changes to a software application, wherein each change corresponds to a different version of the software application. The method further includes generating one or more virtual machines for a version of the software application in response to the indication, wherein the one or more virtual machines test the version of the software application.