Serverless Network Functions Per-Packet Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Running network functions in serverless computing environments is challenging due to their long-lived, stateful nature and high packet throughput requirements, which conflict with the short-lived, stateless, and small chunk computing model of traditional serverless computing.
Innovation Solution
Implementing a method where serverless computing instances are executed on a per-packet or per-flow basis to process network packets, allowing for the chaining of functions and handling of state information through a control plane and data store, enabling network functions to be executed efficiently in serverless environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If network functions are implemented using traditional serverless computing instances, then resource provisioning and scaling are automated, but the short-lived and stateless nature of serverless computing conflicts with the long-lived and stateful requirements of network functions
Solution Approach 1:
The patent segments the network function processing into discrete serverless computing instances that are invoked per-packet or per-flow. Each instance handles a specific packet or flow segment, maintaining state information through structured data formats (JSON, XML, YAML) that persist across instance invocations. This segmentation allows automated resource provisioning while managing stateful requirements through structured data passing between short-lived instances.
Solution Approach 2:
The patent introduces an intermediary mechanism (the serverless computing platform with control plane and data store) that mediates between the short-lived serverless instances and the long-lived network function requirements. The platform maintains flow state information in data stores and manages the chaining of function invocations, allowing individual instances to remain stateless while the overall system maintains stateful network function behavior.
2Productivity
If network functions are executed in short-lived serverless computing instances, then resource utilization efficiency improves, but maintaining state information across function invocations becomes challenging
Solution Approach 1:
The patent implements state information persistence by copying and transmitting flow state data between serverless computing instances through structured data formats. Each instance receives a copy of the relevant state information (flow context, packet data, processing state) in standardized formats (JSON, XML, YAML), processes it, and passes the updated state to the next instance in the chain. This copying mechanism enables stateful network functions across stateless instances.
Solution Approach 2:
The patent changes the state management approach from in-memory persistence in long-lived instances to parameter-based state passing between short-lived instances. Flow state information is transformed into structured parameters (JSON objects, XML elements, YAML configurations) that can be serialized and transmitted between instances, allowing state information to persist across instance boundaries without requiring long-lived processes.
3Adaptability or versatility
If traditional serverless computing is used for network functions, then pay-for-what-you-use pricing is achieved, but limited support for chaining functions and high packet throughput requirements are not met
Solution Approach 1:
The patent implements preliminary action by pre-defining chains of serverless computing functions that process network packets through multiple processing stages. The control plane pre-configures the sequence of functions (firewall rules, NAT transformations, load balancing logic, security inspections) that will be invoked in sequence. This preliminary configuration enables complex function chaining while maintaining the pay-for-what-you-use pricing model, as the chaining logic is prepared in advance rather than dynamically assembled at runtime.
Data Source
AI summary
The disclosure provides an approach for enabling network functions to be executed in serverless computing environments. One embodiment employs a per-packet architecture, in which the trigger for launching a serverless computing instance is receipt of a packet. In such a case, each received packet is packaged into a request to invoke network function(s) required to process the packet, and a serverless computing environment in turn executes the requested network function(s) as serverless computing instance(s) that process the packet and return a response. Another embodiment employs a per-flow architecture in which the trigger for launching a serverless computing instance is receipt of a packet belonging to a new traffic flow. In such a case, a coordinator identifies (or receives notification of) a received packet that belongs to a new sub-flow and launches a serverless computing instance to process packets of the sub-flow that are redirected to the serverless computing instance.


