Plugin Framework for Portable Computational Storage Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Host processors are dependent on specific details of storage devices, leading to application failures if the storage device is removed or if the application is moved to another host, as they assume particular features like compression or encryption algorithms that may not be consistent across devices.
Innovation Solution
A framework and plugin system that abstracts the communication with storage devices, allowing applications to issue requests without knowing the specifics of the storage devices, using plugins to manage features and ensure compatibility across different hardware configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the host processor uses storage device-specific details (compression algorithms, encryption algorithms, device identifiers) to execute requests, then the host can execute requests correctly on the specific storage device, but the application fails when the storage device is removed or moved to another host
Solution Approach 1:
The patent introduces a plugin framework as an intermediary layer between the host processor and storage devices. The framework receives requests from applications and routes them to appropriate plugins that handle device-specific operations. This mediator abstracts device particulars from applications, allowing applications to execute reliably on specific devices while maintaining portability to other hosts through the same framework interface.
Solution Approach 2:
The patent segments the storage system into distinct components: a universal framework layer that handles request routing and a plugin layer that handles device-specific operations. By dividing the system into these separable modules, the framework can maintain application compatibility while plugins adapt to specific storage device characteristics, resolving the contradiction between reliability and portability.
2Reliability
If the host needs to know particulars about the storage device (device identifiers, features, capabilities), then the host can execute requests correctly, but the host becomes dependent on the availability of the specific storage device
Solution Approach 1:
The plugin framework acts as an intermediary that shields the host from storage device particulars. The framework receives generic requests from applications and translates them into device-specific operations through plugins. This allows correct request execution while maintaining host independence, as the framework manages device-specific knowledge rather than the host directly.
Solution Approach 2:
The framework provides a universal interface that can work with multiple different storage devices through plugins. Rather than requiring the host to know device-specific details, the universal framework handles request routing and device management, enabling the host to operate independently while maintaining execution correctness across different storage devices.
3Reliability
If applications are designed to work with specific storage device features (compression, encryption), then the applications execute correctly on those devices, but the applications cannot be ported to other hosts or devices
Solution Approach 1:
The plugin framework serves as an intermediary that handles device feature abstraction. Applications interact with the universal framework interface rather than directly with storage device features. The framework and its plugins manage the translation between generic application requests and device-specific feature operations, maintaining execution correctness while reducing application configuration complexity and enabling portability.
Solution Approach 2:
The framework creates a virtual representation or copy of the storage device interface that applications can interact with uniformly. Instead of applications needing to know actual device specifics, they interact with a standardized interface that the framework translates into real device operations. This copying approach maintains execution correctness while simplifying application design and enabling portability.
Data Source
AI summary
A system is disclosed. The system may include a processor, a storage device, and aa computational device. A plugin may be associated with a service on the computational device. A framework may be implemented in software and configured to be executed on the processor. The framework may include a receiver to receive a service request from an application configured to be executed on the processor and a service response from the plugin. The service request may identify a service requested by the application. The framework may also include a plugin selector to select the plugin based at least in part on the service. The framework may also include a transmitter to deliver the service request to the plugin and the service response to the application. The application may be agnostic to the plugin and the computational device.


