FaaS Framework Cross-Cloud Function Invocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed computing systems face challenges such as communication issues, including lost or delayed messages, and service crashes during function calls, which can lead to unreliable execution of microservices and functions.

Innovation Solution

The proposed solution involves a FaaS (Functions as a Service) framework that enables the execution of self-contained, reusable code blocks across multiple clouds, using REST and JSON for interaction. This framework receives an API call, generates a second API call to direct machines in a second cloud to invoke a corresponding function, and discards the function after execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If distributed computing systems use RPC/RMI for service communication, then service interaction capability is improved, but communication reliability deteriorates due to message loss, delays, and service crashes

Engineering Contradiction:
Improveservice interaction capabilityVSAvoidcommunication reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an event-driven architecture with message queues and event subscribers as intermediaries between services. Instead of direct RPC/RMI calls, services publish events to a message queue and subscribers process these events asynchronously. This intermediary layer decouples services, preventing direct communication failures from propagating and improving reliability while maintaining interaction capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements transient function execution where functions are instantiated, executed, and discarded for each event processing task. These short-lived function instances handle specific events and are then destroyed, preventing persistent service crashes from affecting the entire system. The disposable nature of these function objects isolates failures to individual task executions rather than permanent service failures.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Device complexity

If monolithic architecture is used, then system simplicity is improved, but modularity and code reusability deteriorate

Engineering Contradiction:
Improvesystem simplicityVSAvoidmodularity and code reusability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments monolithic applications into independent, reusable functions that can be executed individually. Each function represents a discrete unit of business logic that can be independently developed, tested, and deployed. The event-driven architecture further segments the system into event producers, message queues, and event subscribers, allowing modular components to be developed and maintained separately while maintaining overall system simplicity through standardized event processing.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If microservice oriented architecture is adopted, then code modularity is improved, but infrastructure complexity deteriorates

Engineering Contradiction:
Improvecode modularityVSAvoidinfrastructure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal FaaS framework that provides standardized infrastructure for executing microservices. The framework handles common infrastructure concerns such as function instantiation, event routing, and resource management through a unified architecture. This universal layer simplifies infrastructure complexity by providing consistent mechanisms for deploying and managing diverse microservices across different cloud platforms, reducing the need for platform-specific infrastructure management.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250103366A1Functions as a service
Publication Date: 2025.03.27 VMWARE INC
  • US20250103366A1 patent drawing
  • US20250103366A1 patent drawing
  • US20250103366A1 patent drawing

AI summary

Some embodiments of the invention provide a method for providing functions as a service (FaaS). At a FaaS framework executing in a first cloud, the method receives a first API (Application Programming Interface) call invoking a first function that is defined by the framework. At the FaaS framework, the method generates, from the first API call, a second API call that directs a set of machines in a second cloud to invoke a second function that performs a desired operation of the first function in the second cloud. At the FaaS framework, the method forwards the second API call to the second cloud for the set of machines to instantiate the second function after receiving the second API call, to use the second function to perform the desired operation, and to discard the second function after performing the desired operation.