Software Service Analysis Tool for Dependency Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex service-oriented software systems face challenges in diagnosing inconsistencies, bugs, and performance bottlenecks due to emergent properties that are difficult to isolate, especially as systems become more intricate.

Innovation Solution

A method for analyzing software systems using a service registry to identify dependencies and service composition by finding components, services, and operations, applying a fitness algorithm to determine relationships and composition, and displaying human-readable outputs on a user interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If service-oriented software systems are made more complex to express more capabilities and dependencies, then the functionality and versatility of the system improve, but the difficulty of diagnosing inconsistencies, bugs, and performance bottlenecks increases

Engineering Contradiction:
ImprovefunctionalityVSAvoiddiagnosis difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces an analysis tool as an intermediary system that mediates between the complex service-oriented software system and the users/diagnosticians. This tool automatically analyzes the service registry, discovers services, determines dependencies, and presents findings in a comprehensible format, thereby reducing the difficulty of diagnosing issues in complex systems without limiting system functionality

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If the service registry is analyzed manually to determine relationships between components and services, then the complexity of the analysis tool is reduced, but the time and effort required for analysis increases substantially

Engineering Contradiction:
Improveanalysis tool complexityVSAvoidanalysis time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The analysis tool performs self-service by automatically discovering services in the service registry, determining their dependencies, and analyzing relationships without requiring manual intervention. The system exercises services automatically, applies fitness algorithms, and generates reports autonomously, significantly reducing analysis time while maintaining manageable tool complexity through automation

Inventive Principle:
Principle #25Self-service

3Measurement precision

If fitness algorithms are applied to determine service composition automatically, then the precision of service relationship analysis improves, but the computational resources and processing time required increase

Engineering Contradiction:
Improverelationship analysis precisionVSAvoidcomputational resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies fitness algorithms selectively to determine service composition and relationships rather than analyzing every possible service interaction in the system. By focusing computational resources on critical path services and those with higher impact on system behavior, the tool achieves high precision in relationship analysis while consuming manageable computational resources

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9892023B2Systems and methods of analyzing software systems having service components
Publication Date: 2018.02.13 HYLAND SWITZERLAND SARL
  • US9892023B2 patent drawing
  • US9892023B2 patent drawing
  • US9892023B2 patent drawing

AI summary

Systems and methods of inspecting the structure of a software system composed of a service solution provider having service components that includes analyzing the relationships between services and components, applying a fitness algorithm to ascertain characteristics of the system and its components and creating a human readable representation of the software system or software service provider.