Domain-Specific Language Middleware for Storage Topology Translation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Productivity
If traditional middleware approaches are used, then system integration is achieved, but customization to specific application needs is limited
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.
Data Source
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.


