Domain-Specific Language Middleware for Storage Topology Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing middleware solutions for storage platform analytics require extensive handwritten code and are not customizable to specific application needs, leading to inefficiencies and incompatibilities between different system components and applications.

Innovation Solution

The development of a domain-specific language (DSL) to automatically generate and update middleware code, enabling a customizable representation of storage platforms, which reduces the need for handwritten code and facilitates code reuse across various applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom middleware is hand-written to translate between different languages and protocols, then communication compatibility between systems and applications is achieved, but development time and resource consumption increase significantly

Engineering Contradiction:
Improvecommunication compatibilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates reusable middleware templates that can be copied and adapted for different system integrations. Instead of hand-writing unique middleware for each communication scenario, developers can leverage pre-defined templates that handle common translation scenarios between storage protocols (FC, iSCSI, Fibre Channel) and application protocols (REST, JDBC), significantly reducing development time while maintaining compatibility.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The middleware templates utilize configurable parameters to adapt to different communication scenarios. By changing parameters such as protocol types, data formats, and translation rules within the template framework, the same template can serve multiple integration purposes without requiring custom code writing for each scenario.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If custom middleware is hand-written for each system and application, then specific communication needs are met, but maintenance complexity increases when systems are upgraded

Engineering Contradiction:
Improvecommunication compatibilityVSAvoidmiddleware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements universal middleware templates that can serve multiple systems and applications simultaneously. A single template can handle translations between different storage protocols and application protocols, making the middleware reusable across various integration scenarios. This universality reduces the number of separate middleware components needed and simplifies maintenance during system upgrades.

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

Solution Approach 2:

The middleware acts as an intermediary layer between storage systems and applications, providing a standardized interface that abstracts the complexity of protocol translations. This mediator approach allows systems to be upgraded independently while the middleware handles the translation complexity, reducing overall system complexity during upgrades.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If traditional middleware approaches are used, then system integration is achieved, but customization to specific application needs is limited

Engineering Contradiction:
Improveintegration efficiencyVSAvoidcustomizability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the middleware into modular templates with distinct functional components. Each template can be independently configured and customized for specific application needs while maintaining the overall integration framework. This segmentation allows developers to select and customize only the portions of the middleware relevant to their specific integration scenario, enhancing both productivity and adaptability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10693962B1Language and mechanism for modeling and exporting storage platform topologies, attributes, and behaviors
Publication Date: 2020.06.23 EMC IP HLDG CO LLC
  • US10693962B1 patent drawing
  • US10693962B1 patent drawing
  • US10693962B1 patent drawing

AI summary

Techniques of the present disclosure automatically generate middleware code to structure representations of raw output from a storage platform and make suitable the output for consumption by a client application. In one embodiment, a method receives a storage platform description expressed at least in part in a domain specific language, wherein the storage platform description describes a storage platform and programmatically generates, based at least in part on the storage platform description, middleware code configured to transform response data received from the storage platform to conform to a target third party data structure of a third party application with which the response data is associated. The storage platform description can include characteristics of the storage platform such as topology, attributes, alerts, metrics, and the like. Suitable code can be reused or repurposed to reduce the amount of code handwritten by a developer.