Proactive VoIP Congestion Control via Selective Packet Dropping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing VoIP congestion control methods, such as the 'leaky-bucket' scheme, indiscriminately degrade the quality of service for all VoIP calls when the bandwidth is exceeded, leading to unsatisfactory communication quality.

Innovation Solution

Implementing a Proactive Congestion Control System that monitors VoIP traffic and selectively drops packets from new calls or replaces terminated calls to maintain consistent quality of service by calculating the bandwidth required for new VoIP calls and comparing it to the available bandwidth at each router port.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If leaky-bucket packet policer is used to control VoIP traffic, then bandwidth compliance is improved, but VoIP call quality is worsened due to indiscriminate packet dropping

Engineering Contradiction:
Improvebandwidth complianceVSAvoidVoIP call quality
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the VoIP traffic control by identifying individual call flows using five-tuple identifiers (source IP, destination IP, source port, destination port, protocol). Instead of treating all traffic uniformly, the system divides traffic into discrete call-specific streams, allowing selective packet dropping per call rather than indiscriminate dropping across all calls.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality treatment to different call flows based on their individual bandwidth consumption. Each call receives localized quality control - calls exceeding bandwidth limits have their packets selectively dropped, while calls within limits maintain full quality. This localizes the impact of congestion control to only the necessary calls.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If pre-assigned bandwidth limit is enforced, then network resource allocation is improved, but service flexibility is worsened when new calls arrive

Engineering Contradiction:
Improvebandwidth allocationVSAvoidcall admission flexibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic bandwidth allocation where the available bandwidth for new calls is calculated in real-time based on current active calls and their consumption. When a new call arrives, the system dynamically determines if bandwidth is available by comparing total current consumption plus the new call's requirements against the pre-assigned limit. This allows flexible admission decisions rather than rigid rejection of all exceeding calls.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors VoIP traffic volume and call active states, providing feedback to the congestion control mechanism. This feedback enables real-time adjustment of bandwidth allocation - when calls terminate, bandwidth becomes available for new calls; when calls are added, the system recalculates available capacity. This closed-loop feedback maintains both bandwidth compliance and admission flexibility.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7773503B2Proactive congestion control scheme for VoIP traffic on IP routers
Publication Date: 2010.08.10 SBC KNOWLEDGE VENTURES LP
  • US7773503B2 patent drawing
  • US7773503B2 patent drawing
  • US7773503B2 patent drawing

AI summary

VoIP traffic bandwidth through a router port is controlled so that it does not exceed a predetermined bandwidth to ensure a desired quality of service for all VoIP calls routed through the port. Information of a packet received by the port is extracted from a packet header. The information includes source and destination addresses and port numbers as well as the bandwidth used by the packet. If the packet is from an existing call, the packet is routed and the time the packet was received is updated. If the packet is from a new call, it is determined whether the port has sufficient bandwidth to route the new call. If the port has sufficient bandwidth, the packet is routed, bandwidth is allotted for subsequent packets from the new call, and the port information is updated to accept the subsequent packets. If the port does not have sufficient bandwidth, the packet is dropped.