PIM Join Limit Control via Hello TLV for CPU Stability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In communications networks employing the PIM-SM protocol, the overwhelming number of unique PIM joins in join/prune messages can lead to high CPU utilization and routing protocol processing issues, causing thrashing and potential loss of PIM joins, with no effective filters available to restrict the flood of messages.
Innovation Solution
A method to control the number of unique PIM joins by encoding a limit in PIM Hello messages as an Option Type-Length-Value (TLV), allowing downstream devices to limit the number of joins sent to upstream routers, thereby preventing message overload and maintaining network stability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the number of unique PIM joins in join/prune messages is allowed to be high, then comprehensive multicast group coverage is improved, but CPU utilization increases and routing protocol processing becomes unstable
Solution Approach 1:
The upstream router performs preliminary action by advertising a maximum unique PIM join limit to downstream routers via PIM Hello messages before the flood occurs. This allows downstream routers to pre-adjust their join/prune message generation, preventing CPU overload before it happens rather than reacting after the problem manifests
Solution Approach 2:
The system implements feedback by having the upstream router monitor its CPU utilization and dynamically adjust the maximum unique PIM join limit advertised to downstream routers. When CPU utilization exceeds a threshold, the limit is reduced, and when it's below the threshold, the limit can be increased, creating a closed-loop control system that maintains stability
2Productivity
If no filter is applied to PIM join/prune messages, then all multicast join requests are processed, but CPU overload and thrashing occur
Solution Approach 1:
The invention changes the parameter of maximum unique PIM joins allowed from being unbounded to being dynamically constrained by an advertised limit. This parameter change transforms the system from processing all join requests (causing CPU overload) to processing only those within the configured limit, thereby reducing energy consumption while maintaining necessary functionality
Solution Approach 2:
The maximum unique PIM join limit acts as an intermediary control mechanism between the upstream router's CPU capacity and the downstream routers' join message generation. Rather than directly filtering individual messages or allowing unlimited processing, this intermediary parameter mediates the flow of join requests to match available processing capacity
3Reliability
If the maximum unique PIM join limit is set low, then CPU overload is prevented, but multicast group coverage is reduced
Solution Approach 1:
The system applies dynamics by making the maximum unique PIM join limit adjustable and adaptable rather than fixed. The limit can be modified based on changing network conditions, CPU utilization patterns, and multicast traffic demands, allowing the system to optimize between stability and coverage needs over time
Solution Approach 2:
The invention enables parameter changes by allowing network operators to configure and adjust the maximum unique PIM join limit based on specific network requirements. This parameter can be tuned upward to expand coverage when CPU capacity permits, or downward to prioritize stability under load, providing flexible optimization
Data Source
AI summary
The potential problem of too many unique protocol independent multicast (PIM) joins (corresponding to unique (Source, Group) combinations) in PIM join/prune messages being received by a router may be solved by controlling (e.g., limiting) a number of unique PIM joins to be sent to the router from a downstream device. This may be accomplished, for example, by communicating a limit (or multiple different limits) from a PIM device to one or more downstream PIM neighbors. For example, the limit may be encoded in a PIM Hello message (e.g., as an Option Type-Length-Value (TLV)).


