Multi-Core SIP Proxy Server Hashing for Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current communication networks, particularly VoIP systems, face limitations in processing speed due to reliance on single core CPUs, where maximizing CPU frequency is no longer effective, and using multiple cores results in incomplete network topologies when running multiple instances of PBX software.
Innovation Solution
A multi-core processing system is implemented, where a receiving core hashes protocol signals to direct them to specific processing cores, allowing parallel processing of SIP messages with a single copy of the control software process, maintaining a complete network topology and optimizing processing capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple instances of PBX software are run on multiple cores, then processing speed is improved, but network topology completeness deteriorates
Solution Approach 1:
The system segments the processing workload by dividing SIP message handling across multiple cores, with each core instance processing a subset of messages. The receiving core distributes messages to appropriate processing cores based on hashing, enabling parallel processing while maintaining individual instance integrity for network topology completeness.
2Productivity
If CPU frequency is maximized, then processing speed is improved, but scalability deteriorates
Solution Approach 1:
The system dynamically adapts to different hardware configurations by allowing the number of core instances to scale with available CPU cores. Rather than being fixed to a single configuration, the system can adjust the number of processing instances based on the underlying hardware, providing both high performance on single-core systems and scalability on multi-core systems.
3Reliability
If a single core processes multiple SIP messages, then network topology completeness is maintained, but processing speed deteriorates
Solution Approach 1:
The receiving core acts as an intermediary that receives all SIP messages and distributes them to appropriate processing cores based on hashing of message parameters. This intermediary layer enables parallel processing across multiple cores while maintaining the integrity of individual processing instances, resolving the conflict between speed and topology completeness.
Data Source
AI summary
A Session Initiation Protocol (SIP) proxy server including a multi-core central processing unit (CPU) is presented. The multi-core CPU includes a receiving core dedicated to pre-SIP message processing. The pre-SIP message processing may include message retrieval, header and payload parsing, and Call-ID hashing. The Call-ID hashing is used to determine a post-SIP processing core designated to process messages between particular user pair. The pre-SIP and post-SIP configuration allows for the use of multiple processing cores to utilize a single control plane, thereby providing an accurate topology of the network for each processing core.


