Automated Software Version Detection and Certification System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software vendors face challenges in rapidly detecting and certifying new software product versions, especially in high-frequency update environments like security software, due to delays in identifying and testing new releases, which can lead to vulnerabilities being exploited.

Innovation Solution

A verification computing system automatically obtains software product version information, generates a test environment, and tests the updated software product using virtual machines, determining if it passes certification thresholds and documenting test results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software vendors frequently update software products to address security vulnerabilities and improve functionality, then software security and functionality are improved, but the time required to detect and certify new versions increases

Engineering Contradiction:
Improvesoftware securityVSAvoidtime to detect and certify new versions
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically detecting new software versions as soon as they are released by vendors, before manual discovery processes could identify them. The verification computing system continuously monitors vendor systems and automatically retrieves version information, ensuring that security updates are identified and begin testing immediately upon release, thereby reducing the time window during which vulnerabilities could be exploited.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The verification computing system performs self-service by automatically conducting the entire certification process without requiring manual intervention. The system autonomously retrieves version information, generates test environments, executes certification tests, and determines pass/fail outcomes. This automation eliminates delays associated with manual processes and enables continuous, rapid validation of security updates.

Inventive Principle:
Principle #25Self-service

2Productivity

If manual processes are used to identify and test new software versions, then resource costs are reduced, but the certification speed decreases

Engineering Contradiction:
Improvecertification speedVSAvoidverification computing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The verification computing system is designed with multi-functionality to handle diverse software products from multiple vendors through a single unified platform. The system can automatically adapt to different vendor systems, retrieve version information in various formats, and execute appropriate certification tests for each software product type. This universal approach consolidates what would otherwise require multiple specialized manual processes, increasing productivity while managing complexity through standardization.

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

Solution Approach 2:

The verification computing system acts as an intermediary between software vendors and the certification process. It automatically interfaces with vendor systems to retrieve version information, then mediates the entire testing and validation process before results are accepted. This intermediary role automates the coordination between version release and certification, enabling rapid throughput without requiring complex manual coordination between multiple parties.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If automated verification systems are implemented to rapidly certify software versions, then certification speed increases, but infrastructure costs increase

Engineering Contradiction:
Improvetime to certify new versionsVSAvoidcomputing resources for test environments
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system creates virtual copies of test environments through virtualization technology, allowing multiple software versions to be tested simultaneously in isolated virtual machines. Instead of requiring physical hardware for each test scenario, the verification system generates virtual instances that can be rapidly deployed and destroyed, reducing the physical infrastructure footprint while maintaining the capability to conduct comprehensive parallel testing of multiple software versions.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The verification computing system employs periodic action by systematically cycling through different software versions for testing in a structured sequence. Rather than maintaining continuous parallel test environments for all versions simultaneously, the system periodically rotates through version batches, conducting certification tests in organized waves. This approach reduces peak resource requirements while maintaining comprehensive coverage of all software updates.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20240338208A1Rapid software product version detection and certification
Publication Date: 2024.10.10 CHARTER COMM OPERATING LLC
  • US20240338208A1 patent drawing
  • US20240338208A1 patent drawing
  • US20240338208A1 patent drawing

AI summary

A verification computing system obtains from a vendor computing device software product version information that identifies a most recent version of a software product available from a software vendor. It is determined that an updated version of the first software product is available that has not been tested by the verification computing system. The verification computing system causes a generation of a first test computing environment that comprises one or more computing hosts or virtual machines. The updated version of the first software product using the first test computing environment is tested. The verification computing system generates information that indicates that the updated version of the first software product failed or passed a test threshold.