Distributed Contact Center Data Aggregation via Sliding Interval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in processing large amounts of real-time data in contact centers, particularly in aggregating and reporting statistics across multiple agent subsets efficiently, leading to issues with timeliness and accuracy.
Innovation Solution
The implementation of distributed aggregation algorithms using a sliding interval approach, where data is aggregated into contiguous panes and rings, allowing for efficient updating and reporting of statistics, with a coordinator node managing partial aggregates from slave nodes to ensure high availability and consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If distributed aggregation algorithms are used to process large amounts of real-time data across multiple agent subsets, then the quantity of data that can be processed increases, but the system complexity increases
Solution Approach 1:
The system divides the contact center agent groups into multiple subsets, with each slave node responsible for aggregating statistics from a specific subset. This segmentation allows parallel processing of data across multiple nodes, enabling the system to handle large quantities of data without proportionally increasing central coordination complexity.
Solution Approach 2:
The patent introduces a hierarchical dimension to data aggregation, organizing nodes into slave nodes (processing individual agent subsets) and coordinator nodes (aggregating from multiple slaves). This dimensional organization allows the system to scale data processing capacity while managing complexity through structured hierarchy rather than flat complexity.
2Loss of time
If statistics are continuously tracked and updated in real-time across multiple agent subsets, then the timeliness of statistical data improves, but the difficulty of detecting and measuring increases
Solution Approach 1:
Slave nodes continuously pre-aggregate statistics from their assigned agent subsets and maintain ready-to-report aggregated data structures. This preliminary action ensures that when a coordinator node requests statistics, the data is already prepared and can be immediately transmitted, achieving real-time timeliness without requiring complex real-time computation at query time.
Solution Approach 2:
Slave nodes act as intermediaries between individual agents and coordinator nodes. Each slave node receives raw data from multiple agents, performs local aggregation, and presents consolidated statistics to coordinators. This intermediary layer simplifies the detection and measurement burden by reducing the volume and complexity of data that coordinators must directly handle.
3Measurement precision
If aggregated data is maintained for multiple sliding intervals with multiple panes and rings, then the accuracy of statistical reporting improves, but the device complexity increases
Solution Approach 1:
The patent implements a nested data structure where panes are grouped into rings, and rings are organized into sliding intervals. Each slave node maintains aggregated data for multiple nested levels (panes within rings, rings within intervals), allowing the system to provide accurate historical and current statistics through a structured hierarchy that scales systematically rather than through ad-hoc complexity.
Data Source
AI summary
A method for aggregating and reporting data from a plurality of data sources in a contact center is provided. The method includes: maintaining by a computer device aggregated data for a sliding interval including N+1 contiguous panes ordered from 0 to N, where N is greater or equal to 1; updating by the computer device the aggregated data for the sliding interval based on updates for the sliding interval received from one or more of the data sources; monitoring for expiration of one of the panes; and in response to determining that the one of the panes has expired, reporting the aggregated data for the sliding interval to a client.


