Service Loader Host Environment Compatibility Check

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a service-oriented architecture environment, applications running on data storage systems without access to a backend array can hang or encounter errors due to mismatches between the host environment and the environment where the service objects are intended to run.

Innovation Solution

An enhanced service loader is implemented to determine the current host environment and load appropriate service flavors based on metadata, ensuring compatibility and preventing errors by accessing host environment data and specifying compatible environments for service execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a service loader loads service objects without checking host environment compatibility, then the service loading process is simple and fast, but application hanging or errors occur when the service environment mismatches the host environment

Engineering Contradiction:
Improveapplication execution reliabilityVSAvoidservice loading complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The service loader performs preliminary environment compatibility checking before loading service objects. The system determines the current host environment and compares it against the required service environment specified in metadata annotations, preventing environment mismatches before they cause application hanging or errors.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Metadata annotations serve as an intermediary layer between service implementations and the service loading mechanism. These annotations contain environment specification information that the service loader uses to mediate the matching process, ensuring compatibility without requiring complex runtime checks or modifications to service code.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the service loader checks host environment compatibility and loads appropriate service flavors, then application errors are prevented, but the service loading process becomes more complex

Engineering Contradiction:
Improveservice environment adaptabilityVSAvoidservice loader complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Different service flavors are created with specific environmental adaptations tailored to their intended host environments. The service loader selects the appropriate flavor based on the current host environment, allowing each service implementation to be optimized for its specific environment without requiring a complete redesign for each scenario.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the environment parameter (host environment type) to determine which service flavor to load. By annotating services with metadata specifying their compatible environments, the service loader can dynamically select the appropriate service implementation based on the current host environment parameters.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If different flavors of service providers are loaded for different host environments, then service compatibility is ensured, but the service loading time increases

Engineering Contradiction:
Improveservice compatibilityVSAvoidservice loading time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Environment compatibility checking is performed as a preliminary step before service object loading. By determining the host environment and selecting the appropriate service flavor early in the process, the system avoids runtime errors and application hanging, ensuring compatibility without significant time loss.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10585675B2Systems and methods of running different flavors of a service provider in different host environments
Publication Date: 2020.03.10 EMC IP HLDG CO LLC
  • US10585675B2 patent drawing
  • US10585675B2 patent drawing
  • US10585675B2 patent drawing

AI summary

Improved techniques for running different flavors of a service in different host environments. Each service is defined by a service type and host environment in which the service can be run. The techniques employ a service loader for obtaining the service type and host environment data, and loading a service flavor based on the service type and host environment data. By providing a service loader that, in response to a service request, can access host environment data from an operating system, access metadata describing host environments in which service objects for an application can be run, and determine which service flavor to load based on the service type and host environment data, appropriate service flavors can be loaded onto a system while avoiding application hanging and/or errors conditions due to a mismatch between a current host environment and the host environments in which a service object can be successfully run.