Network Intermediary for Consolidated Storage Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data centers experience significant pressure during high-traffic events due to excessive connections with front-end users, leading to degraded storage access and potential denial of service, which can negatively impact user experience and require costly infrastructure expansions.
Innovation Solution
Implementing a Protocol Independent Switch Architecture (PISA) in a network device with a programmable pipeline to consolidate and manage storage connections, perform I/O aggregation, and convert protocols, reducing the load on backend storage systems while maintaining transparent performance for front-end applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the storage system directly handles all front-end user connections during high-traffic events, then the storage system can provide direct access to users, but the storage system becomes overwhelmed and access performance degrades
Solution Approach 1:
A gateway is introduced as an intermediary component between front-end users and the storage system. The gateway receives, processes, and manages user requests before forwarding them to the storage system, thereby filtering and regulating the connection load. This intermediary structure protects the storage system from being overwhelmed while maintaining user access capability.
Solution Approach 2:
The system architecture is segmented into distinct functional layers: front-end users, gateway, and storage system. This segmentation allows each component to handle specific tasks independently, with the gateway acting as a buffer layer that manages connection proliferation and prevents direct overload of the storage system.
2Quantity of substance
If more servers and network adapters are deployed to handle increased connections, then the system can support more users, but the infrastructure cost increases
Solution Approach 1:
The gateway is designed as a multi-functional component that simultaneously handles connection management, protocol conversion, request filtering, and load distribution. This universal design allows a single gateway instance to perform multiple functions that would otherwise require separate specialized components, reducing overall infrastructure requirements.
Solution Approach 2:
The system changes operational parameters at the gateway level (such as connection pooling, request batching, and protocol adaptation) to optimize throughput and reduce the need for additional hardware resources. By adjusting these parameters, the system can handle variable loads without linearly increasing infrastructure capacity.
3Reliability
If the gateway maintains maximum connections to handle all user requests, then user access is maintained, but the gateway service becomes overwhelmed and denial of service occurs
Solution Approach 1:
The gateway implements partial action by selectively processing only the most critical or high-priority requests while filtering out or queuing less urgent ones. This approach allows the gateway to maintain service availability for essential operations without being overwhelmed by the total volume of requests, effectively managing capacity constraints.
Solution Approach 2:
The gateway employs periodic action through request batching and throttling mechanisms, processing requests in controlled intervals rather than continuously handling every incoming request immediately. This periodic processing rhythm prevents service overload while maintaining steady user access, allowing the system to recover and process requests in manageable cycles.
Data Source
AI summary
Examples described herein relate to receiving memory access requests in a first number of connections from one or more front-end clients destined to a storage system and consolidating the memory access requests to a second number of connections between a network device and the storage system, wherein the second number is less than the first number. In some examples, consolidating the memory access requests includes combining read commands with other read commands destined to the storage system among connections of the first number of connections and combining write commands with other write commands destined to a same storage system among connections of the first number of connections. In some examples, consolidating the memory access requests includes performing protocol conversion to a format accepted by the storage system. In some examples, read or write commands are identified based on content of a header of a received packet, wherein the received packet includes a read or write command.


