Network Service Insertion via Graph Database Decoupling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems for constructing service chains in multi-tenant cloud infrastructure require a centralized controller to tightly couple service chain structure and forwarding state, limiting scalability and flexibility in managing network services across multiple endpoints.
Innovation Solution
A network graph database is used to represent service node topology and available services, allowing a central controller to determine a subset of nodes that can fulfill service requests and establish flow paths through flow programming, decoupling service chain structure from forwarding state and enabling scalable service management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a centralized controller is used to construct service chains, then service chain structure and forwarding state can be tightly coupled for controlled packet forwarding, but scalability and flexibility in managing network services across multiple endpoints is limited
Solution Approach 1:
The patent segments the service chain construction process into two independent parts: (1) service chain structure definition handled by the centralized controller, and (2) packet forwarding handled by distributed network nodes. This segmentation allows the controller to maintain tight coupling for reliability while distributing scalability across multiple nodes. The service chain is represented as a directed acyclic graph (DAG) that can be instantiated across different network nodes independently.
Solution Approach 2:
The patent introduces a service graph data structure as an intermediary between the centralized controller and distributed network nodes. This intermediary contains service chain definitions, topology information, and routing instructions that enable nodes to autonomously forward packets according to predefined service chains without requiring continuous centralized control, thus achieving both reliability and scalability.
2Ease of operation
If service chain structure and forwarding state are tightly coupled, then packet forwarding control is precise, but flexibility in managing network services is reduced
Solution Approach 1:
The patent implements dynamic service chain management where the service graph structure can be modified without affecting existing packet forwarding states. The system allows dynamic addition, removal, or reordering of services in the chain while maintaining precise forwarding control through flow-based programming. This dynamic capability enables flexible service management while preserving operational precision.
Solution Approach 2:
The patent changes the parameter representation from static service chain configurations to dynamic flow-based parameters. Service chains are defined as directed acyclic graphs with configurable service nodes and edges, allowing parameter changes in service topology, routing paths, and service parameters without disrupting forwarding state, thus achieving both precise control and flexibility.
3Adaptability or versatility
If flow based network service insertion is used, then scalability is improved, but system complexity increases
Solution Approach 1:
The patent implements a universal service graph data structure that handles multiple functions: service chain definition, topology management, routing computation, and packet forwarding control. This multi-functional approach consolidates what would otherwise require separate complex subsystems into a single unified framework, reducing overall system complexity while maintaining scalability.
Solution Approach 2:
The patent uses flow-based programming with flow tables that can be copied and replicated across multiple network nodes. Instead of maintaining complex centralized state, the system copies simplified flow entries to distributed nodes, enabling scalability through replication rather than through complex centralized coordination, thus reducing architectural complexity.
Data Source
AI summary
Techniques are provided to generate and store a network graph database comprising information that indicates a service node topology, and virtual or physical network services available at each node in a network. A service request is received for services to be performed on packets traversing the network between at least first and second endpoints. A subset of the network graph database is determined that can provide the services requested in the service request. A service chain and service chain identifier is generated for the service based on the network graph database subset. A flow path is established through the service chain by flow programming network paths between the first and second endpoints using the service chain identifier.


