IP Library Granted Patent US 10,021,003
Granted Patent B2
US 10,021,003 · App. 15/294,670 · Granted Jul 10, 2018

Distributed aggregation for contact center agent-groups on sliding interval

Inventor: Vitaly Y. Barinov (Clayton, CA)
Assignee: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
H04L43/067H04L41/046H04L43/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,021,003
App. No.
15/294,670
Granted
Jul 10, 2018
Kind
B2
Abstract

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.

Claims (41)

1. A method for aggregating and reporting data from a plurality of data sources associated with a contact center, the method comprising:

maintaining, by a computer device, aggregated data for a sliding interval comprising N+1 contiguous panes, wherein N is greater or equal to 1, each of the panes having a first time interval;

receiving, by the computer device, data collected by a first node of a plurality of nodes and a second node of the plurality of nodes, each of the first and second nodes collecting respectively first and second portions of the data from respectively a first plurality and a second plurality of data sources over a preset time period;

updating, by the computer device, the aggregated data for the sliding interval based on the collected data received from the first and second nodes;

monitoring, by the computer device, for expiration of the Nth pane;

determining, by the computer device, that the first time interval of the Nth pane has expired;

identifying, by the computer device at least one delay pane having a second time interval;

in response to determining that the first time interval for the Nth pane has expired, and further in response to identifying at least one delay pane, delaying, for a duration of the second time interval, reporting the aggregated data for the sliding interval to a client for improving consistency of data provided to the client; and

transmitting to the client over a data communications network, by the computer device, in response to expiration of the second time interval, the aggregated data for the sliding interval.

2. The method of claim 1 , wherein:

the contiguous panes further comprise D contiguous panes ordered from N+1 to N+D, wherein D is greater than or equal to 1;

the maintaining of the aggregated data for the sliding interval further comprises maintaining aggregated data for additional sliding intervals of N+1 contiguous panes ordered from I to I+N for each I between I and D; and

the one of the panes is the (N+D)th pane.

3. The method of claim 2 further comprising dividing each of the sliding interval and the additional sliding intervals into R+1 contiguous rings ordered from 0 to R, each of the rings comprising G+I of the panes, wherein R and G are each greater than or equal to 1, and N+1=(R+1)×(G+1).

4. The method of claim 3 , wherein each of the updates comprises a partial aggregate of the data representing one of the rings.

5. The method of claim 4 , wherein the maintaining of the aggregated data for the sliding interval and the additional sliding intervals comprises maintaining the aggregated data for each of the rings.

6. The method of claim 1 further comprising dividing the sliding interval into R+1 contiguous rings ordered from 0 to R, each of the rings comprising G+1 of the panes, wherein R and G are each greater than or equal to 1, and N+1=(R+1)×(G+1).

7. The method of claim 6 , wherein the G+1 of the panes comprise G+1 contiguous ones of the panes ordered from M to M+G for some value of M between 0 and N−G.

8. The method of claim 6 , wherein each of the updates comprises a partial aggregate of the data representing one of the rings.

9. The method of claim 8 , wherein the maintaining of the aggregated data for the sliding interval comprises maintaining the aggregated data for each of the rings.

10. The method of claim 1 , wherein the first time interval is equal to the second time interval.

11. A system comprising:

a computer device; and

a non-transitory physical medium, wherein the medium has instructions stored thereon that, when executed by the computer device, cause the computer device to:

maintain aggregated data for a sliding interval comprising N+1 contiguous panes, wherein N is greater or equal to 1, each of the panes having a first time interval;

receive data collected by a first node of a plurality of nodes and a second node of the plurality of nodes, each of the first and second nodes collecting respectively first and second portions of the data from respectively a first plurality and a second plurality of data sources over a preset time period;

update the aggregated data for the sliding interval based on the collected data received from the first and second nodes;

monitor for expiration of the Nth pane;

determine that the first time interval of the Nth pane has expired;

identify at least one delay pane having a second time interval;

in response to determining that the first time interval for the Nth pane has expired and further in response to identifying at least one delay pane, delay, for a duration of the second time interval, report of the aggregated data for the sliding interval to a client for improving consistency of data provided to the client; and

transmit to the client over a data communications network, by the computer device, in response to expiration of the second time interval, the aggregated data for the sliding interval.

12. The system of claim 11 , wherein:

the contiguous panes further comprise D contiguous panes ordered from N+1 to N+D, wherein D is greater than or equal to 1; the coordinator data aggregation node is further configured to maintain the aggregated data for additional sliding intervals of N+1 contiguous panes ordered from I to I+N for each I between 1 and D; and the one of the panes is the (N+D)th pane.

13. The system of claim 12 , wherein the instructions further cause the computer device to divide each of the sliding interval and the additional sliding intervals into R+1 contiguous rings ordered from 0 to R, each of the rings comprising G+1 of the panes, wherein R and G are each greater than or equal to 1, and N+1=(R+1)×(G+1).

14. The system of claim 13 , wherein each of the updates comprises aggregated said first data representing one of the rings.

15. The system of claim 14 , wherein the instructions that cause the computer device to maintain the aggregated data for the sliding interval and the additional sliding intervals comprises instructions that cause the computer device to maintain the aggregated data for each of the rings.

16. The system of claim 11 , wherein the instructions further cause the computer device to divide the sliding interval into R+1 contiguous rings ordered from 0 to R, each of the rings comprising G+1 of the panes, wherein R and G are each greater than or equal to 1, and N+1=(R+1)×(G+1).

17. The system of claim 16 , wherein the G+1 of the panes comprise G+1 contiguous ones of the panes ordered from M to M+G for some value of M between 0 and N−G.

18. The system of claim 16 , wherein each of the updates comprises a partial aggregate of the data representing one of the rings.

19. The system of claim 18 , wherein the instructions that cause the computer device to maintain the aggregated data for the sliding interval include instructions that cause the processor to maintain the third-aggregated data for each of the rings.

Assignments (6)
NOTICE OF SUCCESSION OF SECURITY INTERESTS AT REEL/FRAME 04814/0387 Recorded Feb 5, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR AGENT
Reel/Frame 070115/0445 →
NOTICE OF SUCCESSION OF SECURITY INTERESTS AT REEL/FRAME 040815/0001 Recorded Feb 3, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR AGENT
Reel/Frame 070498/0001 →
CHANGE OF NAME Recorded May 13, 2024
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
To: GENESYS CLOUD SERVICES, INC.
Reel/Frame 067391/0093 →
SECURITY AGREEMENT Recorded Feb 22, 2019
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.; ECHOPASS CORPORATION; GREENEDEN U.S. HOLDINGS II, LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 048414/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2017
From: BARINOV, VITALY Y.
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
Reel/Frame 041126/0620 →
SECURITY AGREEMENT Recorded Dec 5, 2016
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC., AS GRANTOR; ECHOPASS CORPORATION; INTERACTIVE INTELLIGENCE GROUP, INC.; BAY BRIDGE DECISION TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040815/0001 →
Continuity (2)
Continuation 13682679 · Nov 20, 2012
Related Publication 20170141979A1 · May 18, 2017