Communication Device Execution Sequence Control for Service Function Chaining
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In service function chaining (SFC), communication delays occur due to packet transfer between network functions (NW functions) running on general-purpose hardware, especially when multiple small functions are combined, leading to increased context switching and resource constraints.
Innovation Solution
A communication apparatus that executes NW functions in a defined sequence without transferring packet data, using an execution sequence control unit to manage the execution of functions and eliminate packet transfer between NW functions, thereby reducing communication delays and context switching.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If packet transfer between NW functions is implemented using shared memory, then communication between functions is enabled, but communication delays occur due to packet copying
Solution Approach 1:
The patent extracts the packet data transfer operation from the communication process between NW functions. Instead of copying packet data between shared memory regions of different functions, the system transfers only control information (packet arrival notifications) between functions, eliminating the time-consuming data copying step while maintaining communication functionality.
Solution Approach 2:
The patent introduces an intermediary mechanism where a notification system mediates communication between NW functions. Rather than directly transferring packets between functions, the system uses notification messages to inform receiving functions about packet arrivals, allowing functions to process information asynchronously without blocking delays.
2Adaptability or versatility
If multiple small NW functions are combined on general-purpose hardware, then service flexibility is improved, but communication delays increase due to frequent context switching
Solution Approach 1:
The patent ensures continuous processing by allowing NW functions to operate independently without being interrupted by context switching. Each function can continuously process packets in its own execution context, and the notification mechanism ensures that processing continues seamlessly across function boundaries without requiring the CPU to switch contexts frequently.
Solution Approach 2:
The patent segments the communication process into independent function execution units that operate autonomously. Each NW function is executed as a separate continuous process, and the notification system coordinates between these segments without requiring context switching, allowing multiple small functions to run efficiently on general-purpose hardware.
3Reliability
If exclusive control is implemented for packet writing and reading between NW functions, then data integrity is maintained, but communication efficiency is reduced
Solution Approach 1:
The patent copies only the essential control information (notification that a packet is ready) between functions rather than copying the entire packet data with associated locking mechanisms. This selective copying approach maintains data integrity through simple notification while avoiding the overhead of exclusive control for every data access operation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A communication apparatus includes a packet reception unit; a packet transmission unit; and a processing sequence control unit that controls a processing sequence, and the processing sequence control unit includes a packet holding unit; function instances for respective function files including groups of procedures and groups of variables; an instance information management unit that holds instance information including function instance identifiers identifying the function instances, procedure identifiers identifying the procedures belonging to the function instances, and memory addresses of the procedures; an execution sequence information management unit that holds execution sequence information that associates the function instance identifiers, the procedure identifiers, return values of the procedures, and procedures belonging to function instances that are to be executed next; and a function execution unit that, on the basis of the execution sequence information and the instance information, calls a procedure, executes a process on the communication packet, and executes the next process depending on a return value.