Function Router for Distributed Serverless Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveease of operationVSAvoidcontrol and visibility
Core Design Contradiction:
Ease of operationVSLoss of information

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveresource aggregationVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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).

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Speed

If distributed function routing is implemented to reduce latency, then speed is improved, but device complexity and system management difficulty increase

Engineering Contradiction:
ImprovespeedVSAvoidsystem management difficulty
Core Design Contradiction:
SpeedVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10742750B2Managing a distributed network of function execution environments
Publication Date: 2020.08.11 CISCO TECHNOLOGY INC
  • US10742750B2 patent drawing
  • US10742750B2 patent drawing
  • US10742750B2 patent drawing

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.