Virtual Network Function Software Redundancy via Thread Pinning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network infrastructure faces challenges in providing reliable and efficient software redundancy and in-service software upgrades for virtual network functions (VNFs), often requiring additional hardware resources and leading to underutilization of backup systems due to the higher frequency of software failures compared to hardware failures.
Innovation Solution
The implementation of an insertable service card with hardware-based processors that allocates processing threads for active and backup VNFs, allowing for seamless failover and in-service software upgrades by pinning and unpining threads between data and management processors, thereby improving resource utilization and maintaining network functionality during upgrades.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If additional hardware resources are allocated for backup VNFs, then reliability is improved, but device complexity and hardware cost increase
Solution Approach 1:
The patent merges backup VNF execution with the same service card hardware that runs active VNFs. The service card contains a plurality of processors that dynamically execute both active and backup VNFs, eliminating the need for separate dedicated hardware for redundancy. This consolidation reduces device complexity while maintaining reliability through software-based failover mechanisms.
Solution Approach 2:
The service card is designed with universal processors that can function as either active or backup VNF execution resources depending on operational needs. The same hardware infrastructure serves multiple purposes: running active network functions during normal operation and transitioning to backup functions when failures occur, thereby reducing the need for specialized redundant hardware.
2Reliability
If separate service cards are used for backup VNFs, then reliability is improved, but hardware resource utilization deteriorates due to underutilization
Solution Approach 1:
The patent combines active and backup VNF execution resources into a single service card, allowing the hardware to be dynamically shared between active and standby functions. This eliminates idle backup hardware and ensures that the same processors that run active VNFs can immediately take over when failures occur, maximizing hardware utilization while maintaining reliability.
Solution Approach 2:
The service card implements dynamic resource allocation where processors can switch between executing active VNFs and backup VNFs based on real-time operational status. This dynamic flexibility allows the system to adapt resource usage to actual needs, preventing hardware underutilization while ensuring backup capabilities are always available.
3Reliability
If hardware-based processors are pinned to specific VNFs, then reliability during failures is improved, but flexibility for resource allocation decreases
Solution Approach 1:
The patent implements dynamic thread pinning and unpinning mechanisms that allow processing threads to be reassigned between active and backup VNFs based on operational status. During normal operation, threads are pinned to active VNFs for reliable execution; upon failure detection, the same threads can be unpinned and reassigned to backup VNFs, providing both reliability and adaptability.
Solution Approach 2:
The system performs preliminary pinning of processing threads to specific VNFs before failures occur, establishing reliable execution contexts in advance. This preliminary action ensures that when failures happen, the pre-configured thread-VNF mappings enable rapid failover while maintaining the flexibility to reconfigure mappings as needed for different failure scenarios.
Data Source
AI summary
In general, techniques are described for providing software redundancy for Virtual Network Functions (VNF). In one example, a method includes, by a host process executed by an insertable service card of a network device, pinning, to a plurality of hardware-based processors, active threads of an active network function. The host process pins, to a single hardware-based processor, backup threads of a backup network function for the active network function, wherein the plurality of hardware-based processors does not include the single hardware-based processor. The host process pins, to the single hardware-based processor, management threads of the active and backup network functions. The single hardware-based processor executes the management threads of the active and backup network functions to cause the management thread of the backup network function to receive, from the management thread of the active network function, state data generated by the active threads.


