Application Gateway for Serverless Code Access on Low-Power Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing devices with limited resources face challenges in utilizing on-demand code execution systems due to computationally expensive requirements for providing input and output, such as generating cryptographic signatures or formatting requests, which are not feasible with limited processing power or memory.
Innovation Solution
An on-demand code execution gateway provides an interface that allows computing devices to interact with the on-demand code execution system by authenticating, formatting, and serializing requests, using a load balancer to distribute tasks efficiently across virtual machine instances and containers, and managing connections to facilitate seamless interaction without requiring user configuration of underlying hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If computing devices with limited resources directly interact with on-demand code execution systems, then authentication and request formatting can be performed, but the computational cost and memory requirements become prohibitive
Solution Approach 1:
The patent introduces a gateway server as an intermediary between computing devices and the on-demand code execution system. The gateway performs authentication, request formatting, and serialization on behalf of resource-constrained devices, allowing them to interact with the system without bearing the full computational burden. This mediator approach resolves the contradiction by shifting the computational cost from the moving object (computing device) to the stationary infrastructure (gateway server).
2Reliability
If resource-constrained devices perform cryptographic signature generation and request formatting, then secure communication is achieved, but processing power and memory are excessively consumed
Solution Approach 1:
The gateway server acts as a mediator that handles cryptographic operations and request formatting. Computing devices with limited resources can rely on the gateway to perform these computationally intensive tasks, maintaining secure communication without depleting their processing power or memory resources.
3Adaptability or versatility
If the system requires user configuration of underlying hardware, then customization and control are improved, but ease of operation deteriorates
Solution Approach 1:
The system implements self-service through automatic task distribution and resource allocation. The load balancer automatically distributes tasks across virtual machine instances and containers without requiring user intervention for hardware configuration. This allows the system to maintain adaptability through automated resource management while providing ease of operation to end users.
4Productivity
If tasks are distributed across multiple virtual machine instances and containers, then system scalability and resource utilization are improved, but connection management complexity increases
Solution Approach 1:
The gateway server implements a universal connection management interface that handles task distribution across multiple virtual machine instances and containers. This multi-functional gateway consolidates connection management responsibilities, allowing the system to achieve high resource utilization through task distribution while maintaining simplified connection management through a single point of contact.
Data Source
AI summary
Systems and methods are described for providing an application-level gateway to an on-demand network code execution system. An on-demand network code execution system may allow users to submit code to be executed in a serverless environment, and may provide an interface for executing the user-submitted code on demand. The interface may require that users authenticate, provide input in a particular format, or meet other criteria when sending a request to execute the code. An application-level gateway may thus provide an interface that implements these functions, thereby allowing computing devices to interact with the code as though it were running on a server (e.g., by using HTTP). The application-level gateway may also use on-demand code execution to provide load balancing for servers that are running the user-submitted code, and seamlessly provide access to code that runs on both server-based and serverless environments.


