Function Router for Distributed Serverless Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Serverless computing frameworks face challenges in providing control and visibility to clients, are prone to latency issues due to reliance on cloud infrastructure, and struggle with scalability and resource management for FaaS services.
Innovation Solution
A distributed network of function execution environments is managed through a function router that registers and routes function requests to optimal endpoints based on criteria such as availability, cost, security, and proximity, leveraging both cloud and edge resources to reduce latency and improve performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If serverless computing frameworks are used to outsource infrastructure management to cloud providers, then ease of operation and device complexity reduction are improved, but control and visibility for clients deteriorate
Solution Approach 1:
The patent introduces a function router as an intermediary component that sits between the client and the distributed function execution environments. This router maintains a catalog of available functions and their execution endpoints, and intelligently routes function invocations to appropriate execution environments. The router provides clients with visibility into where their functions are executed and control over routing decisions, while still allowing the cloud provider to manage the underlying infrastructure. This resolves the contradiction by mediating between client needs for control/visibility and the desire for simplified infrastructure management.
2Quantity of substance
If cloud infrastructure is used for function execution, then resource aggregation and management are improved, but latency increases due to network traversal
Solution Approach 1:
The patent segments the centralized cloud execution model into a distributed architecture where function execution environments are distributed across multiple locations including edge devices, local servers, and cloud data centers. The function router maintains a catalog that tracks the location and status of these distributed execution environments. By segmenting the execution infrastructure geographically and architecturally, the system can route function invocations to the nearest or most appropriate execution environment, reducing network traversal distance and latency while still providing aggregated resource management through the router's catalog.
Solution Approach 2:
The patent adds a spatial dimension to the function execution model by distributing execution environments across multiple geographic locations and network layers (edge, local, cloud). Instead of a single centralized cloud endpoint, the system creates a multi-dimensional execution landscape where functions can be executed at different levels of the network hierarchy. This dimensional expansion allows the system to optimize for both resource aggregation (utilizing cloud resources) and latency reduction (executing at edge or local levels when appropriate).
3Speed
If distributed function routing is implemented to reduce latency, then speed is improved, but device complexity and system management difficulty increase
Solution Approach 1:
The patent extracts the complexity of managing distributed function execution environments from the cloud provider and consolidates it into a dedicated function router component. The router is responsible for maintaining the catalog of execution endpoints, monitoring their status, and making routing decisions. This extraction allows the cloud provider to continue providing infrastructure resources without bearing the operational complexity of managing distributed execution, while the router handles the speed optimization through intelligent routing. The separation of concerns reduces overall system management difficulty.
Solution Approach 2:
The patent implements feedback mechanisms where the function router continuously monitors the status, performance, and availability of distributed execution environments. This feedback information is maintained in the router's catalog and used to make real-time routing decisions. The system also provides feedback to clients about where their functions are executed and allows them to specify routing preferences or constraints. This feedback loop enables the system to optimize for speed dynamically while maintaining manageable complexity through data-driven decision-making.
Data Source
AI summary
Systems, methods, and computer-readable media for managing a distributed network of function execution environments. In some examples, a function router registers a plurality of execution endpoints on a catalog of execution endpoints and functions, each of the plurality of execution endpoints including a respective runtime environment capable of executing one or more functions. The function router receives, from a client, a request to execute a particular function and, based on the request, queries the catalog for the particular function and execution endpoints associated with the particular function. The function router receives a query response identifying one or more execution endpoints associated with the particular function, and selects an execution endpoint for executing the particular function based on one or more criteria associated with the request. The function router then sends to the client a response identifying the execution endpoint selected for executing the particular function.


