Object Storage Code Execution Environment Customization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing object storage services lack the ability to dynamically control data access and enforce data manipulations within the I/O path without modifying the service interface, leading to inefficiencies and security concerns, as well as limitations in integrating serverless code execution and customizing execution environments.
Innovation Solution
The integration of an on-demand code execution system with object storage services allows for the insertion of user-submitted code into the I/O path, using input and output handles to simplify data manipulation and enhance security, enabling dynamic data access control and customization of execution environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If user-submitted code is executed within the I/O path of object storage service, then data manipulation capability and access control are improved, but system complexity and security risks increase
Solution Approach 1:
The patent introduces a code execution environment as an intermediary layer between the object storage service and user-submitted code. This mediator provides necessary APIs and functions for data manipulation while isolating the execution of user code from the core storage service, thereby enabling enhanced data manipulation capability without proportionally increasing system complexity.
Solution Approach 2:
The system is segmented into distinct components: the object storage service, the code execution environment, and the user-submitted code. This segmentation allows each component to be developed, maintained, and secured independently, managing overall system complexity while enabling versatile data manipulation through the coordinated interaction of these modular segments.
2Reliability
If code execution environment is customized with owner-specified rules, then data access control and security are improved, but configuration complexity increases
Solution Approach 1:
The code execution environment is designed to automatically apply owner-specified rules and policies without requiring manual configuration of complex security parameters. The system self-configures the execution environment based on predefined owner preferences and data policies, thereby improving data access control while minimizing configuration complexity for users.
Solution Approach 2:
Owners pre-define their data policies and execution environment preferences in advance. These preliminary configurations are then automatically applied when code is executed against their data, eliminating the need for complex runtime configuration and simplifying the user experience while maintaining strong access control.
3Ease of operation
If input and output handles are used for data manipulation, then ease of operation is improved, but potential data loss or corruption risks increase
Solution Approach 1:
The code execution environment implements feedback mechanisms that monitor data flow through input and output handles. The system verifies data integrity, detects potential corruption, and provides feedback to the executing code, allowing simple handle-based operations while maintaining data reliability through automated monitoring and error detection.
Data Source
AI summary
Systems and methods are described for modifying input and output (I/O) to an object storage service by implementing one or more owner-specified functions to I/O requests. Such functions can include data access control functions, data manipulation functions, and the like. The owner of an object collection maintained by the object storage service can specify code execution environment rules that can give privileges to the execution of such functions such as by allowing the functions to access external services or the requesting user's private resources. In this manner, owners of the object collection are provided with greater control over how the object collection is accessed.


