Service Infrastructure Standardizing Datapath Module Communications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face challenges in scalability, maintainability, and extensibility due to custom and irregular inter-module communications, leading to tight coupling and complexity as the system evolves over time.

Innovation Solution

The implementation of a service infrastructure that regularizes communications among datapath modules through standardized functions like Notify, Monitor, and Start IO, allowing modules to register and invoke sub-modules with unique IDs, enhancing modularity, scalability, and maintainability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom APIs are designed for each module to enable functional interactions, then module-specific functionality is achieved, but system complexity and coupling increase over time

Engineering Contradiction:
Improvemodule functionalityVSAvoidinter-module communication complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal service infrastructure with standardized communication primitives (Notify, Monitor, StartIO) that can be used by all datapath modules for inter-module communication. This replaces the need for custom-specific APIs in each module, allowing any module to invoke any other module through a common interface, thereby reducing overall system complexity while maintaining functional versatility.

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

Solution Approach 2:

The service infrastructure acts as an intermediary layer between datapath modules, providing a standardized communication framework. Instead of modules directly implementing custom interaction protocols with each other, they all interact through the unified service infrastructure, which manages the communication details and reduces direct coupling between modules.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If modules are designed with custom APIs for specific interactions, then functional requirements are met, but scalability and maintainability deteriorate

Engineering Contradiction:
Improvefunctional interaction capabilityVSAvoidsystem maintainability
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

By implementing a universal service infrastructure with standardized communication primitives, the system allows new modules to be added without requiring custom API designs. Existing modules can continue to function while interacting with new modules through the same standardized interface, significantly improving maintainability and scalability.

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

Solution Approach 2:

The service infrastructure is segmented into distinct, well-defined communication primitives (Notify for event notifications, Monitor for monitoring operations, StartIO for I/O operations). This segmentation allows each primitive to be independently understood, tested, and maintained, making the overall system more maintainable while preserving full functional interaction capability.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If irregular communication patterns are used among modules, then specific functional needs are satisfied, but modularity and extensibility are reduced

Engineering Contradiction:
Improvefunctional interactionVSAvoidsystem extensibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The service infrastructure provides a universal set of communication primitives that can satisfy various functional interaction needs through standardized calls. Modules can express their functional needs by composing these standard primitives, enabling the system to adapt to new functional requirements without changing the fundamental communication interface, thus improving extensibility.

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

Solution Approach 2:

The standardized communication primitives accept parameters that can be configured to match different functional needs. For example, the Notify primitive can be called with different event types and parameters to satisfy various notification requirements, while maintaining the same basic call structure. This parameter flexibility allows the system to adapt to different functional scenarios without changing the communication protocol.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10788987B2Data storage system employing service infrastructure for functional modules
Publication Date: 2020.09.29 EMC IP HLDG CO LLC
  • US10788987B2 patent drawing
  • US10788987B2 patent drawing
  • US10788987B2 patent drawing

AI summary

A data storage system includes interface circuitry receiving data storage requests and sending corresponding responses to data storage clients, and data storage devices providing non-volatile storing and retrieval of client data in response to the data storage requests. Processing circuitry executes software-implemented datapath modules that realize datapath functions to process the data storage requests and responses, as well as service infrastructure modules to realize a service infrastructure to provide for regularized communications among the datapath modules, including Notify, Monitor, and StartIO communications. Each datapath module registers with the service infrastructure to establish links into corresponding sub-modules that handle the Notify, Monitor, and Start IO communications, and each datapath module invokes a respective sub-module of another datapath module by performing regularized Notify, Monitor, and Start IO functions of the service infrastructure with an identification of the target datapath module which is to receive the corresponding regularized communication.