Distributed Call Engine Rate Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Telecommunications users face challenges in tracking and maintaining their contracted transmission rates across multiple data centers in communications networks, leading to potential over-provisioning of services, as current methods lack effective tracking of user resource allocations across the network.
Innovation Solution
A method is introduced where peer call engines in a communications network periodically share lists of active users and queue depths to calculate a unique transmission rate for each user, ensuring that calls are dequeued at a rate that aligns with the user's contracted rate, and notifying users if the maximum queue depth is exceeded, thereby preventing overload.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If user transmission rates are tracked across multiple data centers, then service quality and terms of service compliance are improved, but system complexity and tracking difficulty increase
Solution Approach 1:
The system divides the network into multiple peer call engines, each independently tracking user queue depths and transmission rates for their local users. Each call engine segment autonomously calculates unique transmission rates and monitors queue depths, eliminating the need for a centralized tracking system and reducing overall system complexity while maintaining reliable service quality across the distributed network
Solution Approach 2:
The system implements continuous feedback loops where each call engine monitors its own queue depths and transmission rates, compares them against contracted rates, and dynamically adjusts dequeuing rates accordingly. This self-regulating feedback mechanism ensures terms of service compliance without requiring complex external monitoring, improving reliability while keeping the tracking system manageable
2Productivity
If transmission rates are increased to meet user demand, then user satisfaction improves, but network overload and service degradation occur
Solution Approach 1:
The system dynamically adjusts transmission rates based on real-time queue depths and contracted rates. Each call engine calculates unique transmission rates that adapt to current network conditions, allowing transmission rates to increase when capacity is available and decrease when approaching limits, thus maintaining both high productivity and network stability
Solution Approach 2:
The system changes the transmission rate parameter dynamically based on monitored queue depths and contracted rates. By continuously adjusting this parameter within defined limits, the system optimizes transmission productivity while preventing network overload, ensuring reliability is maintained even as transmission rates fluctuate to meet user demand
Data Source
AI summary
Techniques for managing transmission rates for users from each of a plurality of call engines (CEs) distributed on a communications network are provided. A list of users with at least one pending call in a corresponding queue from all other CEs is received, wherein each user's queue has a maximum queue depth calculated, in part, using a capped transmission rate in calls per second (CPS) for each user associated with their queue. It is determined, for each user, a total number of CEs having at least one pending call in their corresponding queue. A current CE transmission rate is calculated for each user by dividing the capped transmission rate for each user by the total number of CEs having at least one pending call in their corresponding queue. The current CE transmission rate indicates a rate at which calls in each user's queue are dequeued at each of the plurality of CEs. When a call request is received at a CE from a specific user, a total number of calls currently queued for the specific user in all CEs is determined. A maximum queue depth for the specific user is also determined, the maximum queue depth indicative of the total number of calls the specific user may queue for a predetermined length of time. The call request will be rejected when the total number of calls currently queued exceeds the maximum queue depth.


