Flow Steering Entities for Dynamic Service Graph Orchestration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing service chaining technologies are static, tightly coupled to network topology, and lack mechanisms for dynamic forking, re-arrangement, and modeling of service graphs, especially in network virtualization environments, which limits the ability to apply differentiated services and supports only acyclic, symmetric service graphs.
Innovation Solution
A flexible system for constructing and managing multi-path service graphs using flow steering entities (FSEs) that include service instances and classifiers, allowing for path forking, merging, and asymmetric service paths to apply specific services to packet flows, enabling more complex service graphs tailored to operators' policies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If service chaining is implemented using conventional techniques, then service instances can be deployed on virtual machines, but the service chains are static and tightly coupled to network topology, making them difficult and costly to change
Solution Approach 1:
A Service Graph Orchestrator is introduced as an intermediary component that decouples service chain management from physical network topology. The orchestrator receives service chain definitions, validates them against topology constraints, and generates forwarding rules that enable dynamic reconfiguration without direct topology coupling.
Solution Approach 2:
Service chains are transformed from static configurations to dynamic, programmable entities. Service chain definitions can be modified, added, or removed through software orchestration, enabling real-time reconfiguration of service paths without physical network changes.
2Adaptability or versatility
If service graphs are constrained to be acyclic, then loops are prevented and service interruptions are avoided, but complex service scenarios requiring cyclic patterns cannot be supported
Solution Approach 1:
The Service Graph Orchestrator performs preliminary validation of service graph definitions before deployment, detecting potential loops and validating acyclic constraints. This preventive validation ensures service graph reliability while allowing complex cyclic-like patterns to be expressed through equivalent acyclic service chain definitions.
3Adaptability or versatility
If service chains are symmetric with identical forward and reverse paths, then stateful service appliances can be supported, but asymmetric service scenarios where different services are needed in each direction cannot be accommodated
Solution Approach 1:
The system natively supports asymmetric service graphs where forward and reverse traffic flows can traverse different service paths and visit different service instances. This is achieved by independently defining service chain policies for each direction, enabling scenarios like forward traffic passing through a firewall while reverse traffic passes through an intrusion detection system.
4Productivity
If service graphs are manually configured, then deployment is straightforward, but operational costs are high and agility is reduced
Solution Approach 1:
The Service Graph Orchestrator enables self-service automation where service chain definitions are programmatically specified and automatically deployed, validated, and managed. This eliminates manual configuration operations, reducing operational costs and enabling rapid, agile service deployment through software-driven orchestration.
Data Source
AI summary
A novel scheme is defined for supporting service graphs to allow specific service functions to be applied to selected subsets of packet flows. According to one or more embodiments, a service graph is modeled as chains or sequences of “flow steering entities” and “service instances.” According to an embodiment, a flow steering entity (FSE) is configured to identify the flow, and select the next hop service instance in the chain. After a service instance returns the flow packet, the FSE steers the packet to the next FSE in the graph. An initial FSE is used to select matching traffic to enter the service graph. Wherever path forking and merging is required in the service graph, additional classifiers are positioned with the FSE to steer a subset of traffic along different paths of service function instances.


