FaaS Function Grouping for Data Access Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing FaaS systems face challenges with data access latencies and lack support for dynamic co-location of data and functions, leading to performance issues and increased resource usage.

Innovation Solution

A method is introduced to group functions that access the same data onto a single node, reducing data access latencies and bandwidth usage by creating, merging, and managing these groups based on real-time data access information, with mechanisms for load balancing and dynamic adjustment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If functions are distributed across multiple nodes in a FaaS cluster, then system scalability and fault tolerance are improved, but data access latency and cross-communication overhead increase

Engineering Contradiction:
Improvesystem scalabilityVSAvoiddata access latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent merges functions that access the same externalised data into groups that are co-located on the same node. This combining of functions reduces the need for remote data access across the network, thereby decreasing data access latency and cross-communication overhead while preserving system scalability through the grouped architecture

Inventive Principle:
Principle #5Merging (Combining)

2Ease of operation

If functions access externalised data remotely from separate nodes, then stateless node architecture is maintained, but bandwidth usage and resource consumption increase

Engineering Contradiction:
Improvestateless node architectureVSAvoidbandwidth usage
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

Multiple functions that access the same externalised data are merged into groups and co-located on single nodes. This reduces redundant data access operations over the network, thereby decreasing bandwidth usage and resource consumption while preserving the stateless node architecture through proper group management

Inventive Principle:
Principle #5Merging (Combining)

3Loss of time

If functions are co-located with externalised data on the same node, then data access latency is reduced, but system complexity and dynamic reconfiguration difficulty increase

Engineering Contradiction:
Improvedata access latencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements dynamic function grouping where functions are automatically grouped and re-grouped based on their data access patterns. This dynamic approach allows the system to adapt to changing conditions and optimise data access without requiring complex manual reconfiguration, as the grouping is managed automatically through monitoring data access behavior

Inventive Principle:
Principle #15Dynamics

4Device complexity

If functions are statically assigned to nodes, then system simplicity is maintained, but performance optimization and load balancing capability are reduced

Engineering Contradiction:
Improvesystem simplicityVSAvoidfunction execution throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent transitions from static function assignment to dynamic function grouping based on real-time data access patterns. Functions are automatically grouped when they access the same externalised data, enabling performance optimization and load balancing without requiring complex manual intervention, as the system self-organizes based on observed behavior

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20230185618A1Handling execution of functions
Publication Date: 2023.06.15 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US20230185618A1 patent drawing
  • US20230185618A1 patent drawing
  • US20230185618A1 patent drawing

AI summary

There is provided a method performed by an entity for handling execution of functions in a function-as-a-service (FaaS) system. The FaaS system includes one or more nodes on which functions are executable. The method includes grouping functions into a group of functions to be executed on a single one of the one or more nodes. The grouping is based on information from the one or more nodes. The information is indicative of which functions access which data during execution of the functions and each function of the group accesses the same data as at least one other function of the group.