Storage Server Sandbox Execution for Near-Data User Code
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
User-defined code execution in data centers is time-consuming and bandwidth-intensive, leading to performance bottlenecks and security risks due to lack of programming language restrictions and potential data leakage between users.
Innovation Solution
Execute user-defined code in an isolated execution environment on a storage server using idle processors, with optional shared memory communication and queue management to optimize network utilization and enhance security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If user-defined code is executed by compute servers in the data center, then flexible and customizable service is provided to users, but execution time and bandwidth consumption increase significantly
Solution Approach 1:
The patent merges the code execution function with the storage server by introducing a code execution module that runs user-defined code directly on the storage server where data is stored. This combination eliminates the need to transfer data between storage servers and compute servers, thereby reducing execution time and bandwidth consumption while maintaining service flexibility.
Solution Approach 2:
The patent introduces a code execution module as an intermediary component on the storage server that acts as a bridge between the stored data and the user-defined code. This intermediary enables direct processing of data by the code without requiring data transfer to external compute servers, thus reducing execution time and network bandwidth consumption.
2Adaptability or versatility
If user-defined code is executed by compute servers, then customized processing is achieved, but data security risks increase due to potential data leakage between users
Solution Approach 1:
The patent segments the data center infrastructure into storage servers with integrated code execution modules, isolating the code execution environment from the broader network. This segmentation allows user-defined code to execute securely on the storage server without direct network access, preventing data leakage between users while maintaining customized processing capabilities.
Solution Approach 2:
The patent implements local quality by creating isolated execution environments on each storage server where user-defined code can process data locally without exposing it to the network or other users. This localized execution ensures that each user's code operates in a secure, confined space, maintaining data security while enabling customized processing.
3Adaptability or versatility
If data is transferred between compute servers and storage servers for user-defined code execution, then code processing is enabled, but network bandwidth consumption increases
Solution Approach 1:
The patent merges the code execution capability directly onto the storage server through an integrated code execution module. This merging eliminates the need for data transfer between storage servers and compute servers, as the code executes in-place where the data is stored, thereby enabling code processing while minimizing network bandwidth consumption.
Solution Approach 2:
The storage server provides self-service by executing user-defined code directly on its own hardware resources through the integrated code execution module. This self-service capability allows the storage server to process user-defined code without requiring external compute servers, thereby enabling code processing while eliminating network bandwidth consumption for data transfer.
Data Source
AI summary
A data center is provided which comprises one or more storage servers, and at least one of a compute server and a frontend server. A storage server for a data center is provided. The storage server is configured to obtain a data request, which is indicative of target data and a user-defined code. Instead of providing the target data to a requestor, the storage server is configured to obtain the target data and to execute the user-defined code on its own. Since the user-defined code may be malicious, the storage server is configured to execute the user-defined code in an isolated execution environment or a sandbox, such as a virtual machine or a container. In this way, data processing in the data center can be more efficient due to applying the near-data processing paradigm, while the security level can still be maintained.


