Multicast Service Insertion for Parallel Packet Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Service chaining in virtualization networks is inefficient due to sequential processing of packets, which is time-consuming and bandwidth-demanding, especially when packets require multiple services only to be dropped after the last service, leading to unnecessary processing.
Innovation Solution
Implementing parallel execution of service chains using multicast-based service insertion, where service machines are grouped into multicast groups, and packets are processed concurrently across these groups, with responses determining further processing or dropping.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If services are applied to packets sequentially, then processing order is maintained and control is simplified, but packet servicing time increases and bandwidth requirements increase
Solution Approach 1:
The service chain is segmented into multiple independent service machines that can process packets concurrently. Each service machine handles a specific service function, and packets are distributed to appropriate service machines based on the service chain requirements. This segmentation enables parallel processing while maintaining service order through coordinated communication between service machines.
Solution Approach 2:
The patent transitions from sequential one-dimensional processing to parallel multi-dimensional processing by introducing multiple service machines operating simultaneously. Packets are processed across multiple dimensions (different service machines) rather than sequentially through a single processing path, significantly reducing overall servicing time while maintaining necessary control through message passing and coordination protocols.
2Productivity
If all services are applied to a packet even when most will allow it but the last service drops it, then complete service chain execution is ensured, but processing efficiency decreases
Solution Approach 1:
The system performs preliminary actions by having service machines evaluate packets and communicate their decisions (allow/drop/modify) to the service insertion module. When a service machine determines a packet should be dropped, this decision is communicated back upstream, allowing subsequent service machines to skip processing that packet. This preliminary evaluation and communication mechanism prevents unnecessary processing time while ensuring complete service chain execution when needed.
3Loss of energy
If sequential service processing is used, then service order is maintained and implementation is simpler, but bandwidth consumption increases
Solution Approach 1:
The patent merges multiple service processing paths into a coordinated parallel system. Instead of sequentially passing packets through each service machine (which consumes more bandwidth), the system combines multiple service processing operations into concurrent executions. The service insertion module coordinates these parallel operations, merging their results to produce the final service chain outcome. This merging approach reduces bandwidth consumption by eliminating redundant packet transmissions while maintaining service processing simplicity through centralized coordination.
Data Source
AI summary
A method for a parallel execution of services, of a serial service chain, on packets using multicast-based service insertion is disclosed. In an embodiment, a method comprises detecting a packet of a data flow and storing the packet in memory. From a plurality of multicast groups, a first multicast group is identified. The first multicast group includes a plurality of service machines configured to provide a plurality of services to the data flow. The first multicast group includes all services machines of the plurality of service machines. The packet is multicast to the first multicast group of the plurality of multicast groups to cause applying, in parallel, services of service machines included in the first multicast group. Upon receiving a plurality of responses from service machines of the first multicast group, the plurality of responses is analyzed to determine whether the plurality of responses includes a modify-response. In response to determining that the plurality of responses does not include any modify-response, the plurality of responses is analyzed to determine whether the plurality of responses includes a drop-response. In response to determining that the plurality of responses does not include any drop-response, the packet is forwarded toward its destination without multicasting the packet to any other multicast group of the plurality of multicast groups.


