Decoupled Anti-Pattern Detection for Cloud Modernization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software modernization processes face challenges in efficiently identifying and addressing anti-patterns across diverse software applications, particularly when migrating to cloud environments, due to the ever-changing nature of anti-patterns and the burden of updating detection logic in modernization assessment client applications.

Innovation Solution

An application modernization system that decouples anti-pattern definition management from the modernization assessment client application, using a cloud provider network's service to maintain and update a library of anti-pattern definitions, allowing the client application to identify and report anti-patterns without requiring frequent updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If anti-pattern detection logic is embedded directly in the modernization assessment client application, then detection capability is available locally, but the system becomes difficult to maintain and update as anti-patterns change over time

Engineering Contradiction:
Improvedetection capabilityVSAvoidmaintenance burden
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the anti-pattern definition library from the modernization assessment client application and places it in a separate cloud-based repository. This allows the detection logic to remain in the client while the definitions are independently manageable in the cloud, enabling updates without modifying the client application itself.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system implements dynamic updating of anti-pattern definitions by allowing the cloud-based library to be modified, added, or removed based on changing requirements. The client application can retrieve updated definitions from the cloud, making the system adaptable without requiring client updates.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If a comprehensive library of anti-pattern definitions is maintained to detect all types of anti-patterns, then detection coverage is improved, but the size and complexity of the definition library increases

Engineering Contradiction:
Improvedetection coverageVSAvoiddefinition library size
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal anti-pattern definition library that can detect multiple types of anti-patterns across different programming languages and cloud environments. By using a standardized definition format and structure, the same library serves multiple detection purposes without requiring separate definition sets for each scenario.

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

Solution Approach 2:

The cloud-based anti-pattern definition library acts as an intermediary between the diverse world of software anti-patterns and the detection engine. It provides a standardized interface and structured format that simplifies the complexity of various anti-pattern types while maintaining comprehensive detection coverage.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If the modernization assessment client application is frequently updated to incorporate new anti-pattern definitions, then detection accuracy improves, but update frequency and resource consumption increase

Engineering Contradiction:
Improvedetection accuracyVSAvoidupdate efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

By extracting the anti-pattern definitions from the client application and storing them in the cloud, the system eliminates the need to update the client application itself. Only the cloud-based definition library needs updating, which can be done independently and distributed to clients as needed without requiring client updates.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary actions by maintaining the anti-pattern definition library in the cloud where updates can be prepared and validated before being made available to client applications. This allows update preparation to occur independently of client deployment cycles.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11544046B1Dynamic cloud anti-pattern detection for a modernization assessment service
Publication Date: 2023.01.03 AMAZON TECH INC
  • US11544046B1 patent drawing
  • US11544046B1 patent drawing
  • US11544046B1 patent drawing

AI summary

Techniques are described for enabling an application modernization system to efficiently identify various types of software development “anti-patterns” (including cloud anti-patterns) associated with software applications. An anti-pattern is broadly any characteristic of a software application or system that represents an undesirable or suboptimal solution to a problem within a given software design context. Depending on the particular software design context, examples of possible anti-patterns and cloud anti-patterns can include the use of insecure network protocols, an application's reliance on local file system access, the use of a deprecated or outdated class, function, or library, etc. An application modernization system described herein includes a modernization assessment client application that identifies the presence of anti-patterns in users' software applications using a collection of anti-pattern definitions (e.g., defined based on an anti-pattern definition syntax) obtained from an application modernization service of a cloud provider network.