IP Library Granted Patent US 10,567,999
Granted Patent B2
US 10,567,999 · App. 15/703,910 · Granted Feb 18, 2020

Clustering in unified communication and collaboration services

Inventors: Hoang Long Nguyen (Santa Clara, CA); Asim Parekh (San Ramon, CA)
Assignee: Mitel Networks, Inc.
H04W28/08G06F9/5083H04L67/1002H04L67/1044H04L67/1097H04W72/048G06F9/5061H04W72/0486
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,567,999
App. No.
15/703,910
Granted
Feb 18, 2020
Kind
B2
Abstract

A method for telecommunications is disclosed herein including a first node receiving a plurality of events. A first state machine in the first node generates a current state of the first state machine by processing the plurality of events. The first node publishes the plurality of events to a persistent event log. A second node subscribes to the persistent event log. A second state machine in the second node generates the current state of the first state machine on the second state machine by processing the plurality of events from the persistent event log.

Claims (47)

1. A method for telecommunications comprising:

receiving, by a first node, a plurality of events for a communications session associated with a particular user;

generating, by a first state machine in the first node, a current state of the first state machine for the communications session associated with the particular user by processing the plurality of events in the order the events are received;

publishing, by the first node, the plurality of events associated with the particular user and the order in which the events are received to a persistent event log;

receiving, by a second node, a message directing the second node to subscribe to the persistent event log;

subscribing, by the second node, to the persistent event log in response to the message; and

generating, by a second state machine in the second node, the current state of the first state machine on the second state machine by processing the plurality of events for the communications session associated with the particular user from the persistent event log by rerunning the plurality of events on the second state machine in the same order as by the first cluster node to recreate or rebuild the current state of the first state machine to continue the communication session associated with the particular user.

2. The method of claim 1 , wherein the plurality of events is for a communication service including at least one of an instant message, presence information, voice features, mobility features, audio features, web and video conferencing, calendaring, fixed-mobile convergence, desktop sharing, data sharing, call control, speech recognition, unified messaging, integrated voicemail, e-mail, SMS or fax.

3. The method of claim 1 , wherein the first node is associated with at least one customer.

4. The method of claim 3 , further comprising:

receiving, by a router, the plurality of events from the at least one customer, the plurality of events being associated with the at least one customer; and

transmitting, by the router, the plurality of events to the first node associated with the at least one customer.

5. The method of claim 1 , wherein the processing the plurality of events from the persistent event log is associated with a customer.

6. The method of claim 1 , wherein the first node and the second node are part of a cluster of nodes and communicate with a coordinator and an external message bus, the external message bus having the persistent event log.

7. The method of claim 1 , further comprising:

receiving, by the second node from a coordinator, the message directing the second node to subscribe to the persistent event log.

8. The method of claim 1 , wherein the second node subscribes to the persistent event log when the first node fails to communicate with a coordinator or when the first node reaches a set capacity.

9. The method of claim 1 , wherein the first node operates using a revision of software and the second node operates using a different revision of the same software, the first node and the second node operating at the same time.

10. A system for telecommunications comprising:

a router configured to receive a plurality of events for a communication session, the plurality of events being associated with a customer;

a plurality of cluster nodes, a first cluster node of the plurality of cluster nodes being associated with the customer, having a first state machine and an internal message bus, and being configured to:

i) receive the plurality of events from the router based on the customer;

ii) generate, by the first state machine, a current state of the first state machine for the communications session associated with the customer by processing the plurality of events in the order the events are received;

iii) publish, by the first cluster node, the plurality of events associated with the particular user and the order in which the events are received to a persistent event log;

an external message bus in communication with the plurality of cluster nodes and having the persistent event log; and

a coordinator in communication with the plurality of cluster nodes and configured to transmit a message to a second cluster node of the plurality of cluster nodes;

wherein when the second cluster node receives the message from the coordinator, the second cluster node subscribes to the persistent event log via the external message bus and generates the current state of the first state machine on a second state machine by processing the plurality of events for the communications session associated with the customer from the persistent event log by rerunning the plurality of events on the second state machine in the same order as by the first cluster node to recreate or rebuild the current state of the first state machine to continue the communications session associated with the particular user.

11. The system of claim 10 , wherein the plurality of events is for a communication service including at least one of an instant message, presence information, voice features, mobility features, audio features, web and video conferencing, calendaring, fixed-mobile convergence, desktop sharing, data sharing, call control, speech recognition, unified messaging, integrated voicemail, e-mail, SMS or fax.

12. The system of claim 10 , wherein the first node of the cluster of nodes operates using a revision of software and the second node of the cluster of nodes operates using a different revision of the same software, the first node and the second node operating at the same time in the cluster of nodes of the system.

13. The system of claim 10 , wherein the coordinator transmits the message to the second node when the first node fails to communicate with the coordinator or when the first node reaches a set capacity.

14. The system of claim 10 , wherein the processing the plurality of events from the persistent event log is associated with the customer.

15. A method for telecommunications comprising:

receiving, by a router, a plurality of events for a communication session, the plurality of events being associated with a customer;

transmitting, by the router, the plurality of events;

receiving, by a first node associated with the customer, the plurality of events based on the customer, the first node being part of a plurality of cluster nodes, and having a first state machine and an internal message bus;

generating, by the first state machine, a current state of the first state machine for the communications session associated with the customer by processing the plurality of events in the order the events are received;

publishing, by the first node, the plurality of events associated with the particular user and the order in which the events are received to a persistent event log;

receiving, by a second node, a message directing the second node to subscribe to the persistent event log;

subscribing, by the second node, to the persistent event log;

receiving, by the second node from the persistent event log, the plurality of events; and

generating, by a second state machine in the second node, the current state of the first state machine on the second state machine by processing the plurality of events for the communications session associated with the customer from the persistent event log by rerunning the plurality of events on the second state machine in the same order as by the first cluster node to recreate or rebuild the current state of the first state machine to continue the communications session associated with the particular user.

16. The method of claim 15 , wherein the first node of the cluster of nodes operates using a revision of software and the second node of the cluster of nodes operates using a different revision of the same software, the first node and the second node operating at the same time in the cluster of nodes.

17. The method of claim 15 , wherein a coordinator transmits the message to the second node when the first node fails to communicate with the coordinator or when the first node reaches a set capacity.

18. The method of claim 15 , further comprising:

subscribing, by the second node, to the persistent event log while the first node is processing the plurality of events;

generating, by the second state machine in the second node, on the second state machine in the second node, the current state of the first state machine in the first node by processing the plurality of events from the persistent event log;

wherein a duplicate of an entire first node is created in case of a failure of the first node.

Assignments (21)
SECURITY INTEREST Recorded Jun 30, 2025
From: MLN US HOLDCO LLC; MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: U.S. PCI SERVICES, LLC
Reel/Frame 071758/0843 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: ANKURA TRUST COMPANY, LLC
To: MITEL (DELAWARE), INC.; MITEL COMMUNICATIONS, INC.; MITEL CLOUD SERVICES, INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071722/0721 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: ACQUIOM AGENCY SERVICES LLC
To: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071730/0632 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: MITEL (DELAWARE), INC.; MITEL COMMUNICATIONS, INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071712/0821 →
SECURITY INTEREST Recorded Jun 20, 2025
From: MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 071676/0815 →
SECURITY INTEREST Recorded Mar 12, 2025
From: MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 070689/0857 →
NOTICE OF SUCCESSION OF AGENCY - 4L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ANKURA TRUST COMPANY, LLC
Reel/Frame 069896/0827 →
NOTICE OF SUCCESSION OF AGENCY - 5L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ANKURA TRUST COMPANY, LLC
Reel/Frame 069897/0046 →
NOTICE OF SUCCCESSION OF AGENCY - PL Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069895/0755 →
NOTICE OF SUCCCESSION OF AGENCY - 2L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069896/0001 →
NOTICE OF SUCCCESSION OF AGENCY - 3L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 070006/0268 →
SECURITY INTEREST Recorded Nov 1, 2022
From: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL COMMUNICATIONS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 061830/0760 →
SECURITY INTEREST Recorded Nov 1, 2022
From: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL COMMUNICATIONS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 061830/0715 →
SECURITY INTEREST Recorded Nov 1, 2022
From: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL COMMUNICATIONS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 061830/0643 →
SECURITY INTEREST Recorded Dec 13, 2018
From: MITEL NETWORKS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047909/0814 →
SECURITY INTEREST Recorded Dec 13, 2018
From: MITEL NETWORKS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047988/0478 →
RELEASE OF SECURITY INTEREST Recorded Dec 3, 2018
From: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
To: SHORETEL, INC.
Reel/Frame 047713/0843 →
CHANGE OF NAME Recorded Jul 19, 2018
From: SHORETEL, INC.
To: MITEL NETWORKS, INC.
Reel/Frame 046403/0335 →
MERGER AND CHANGE OF NAME Recorded Jul 19, 2018
From: SHORETEL, INC.; MITEL NETWORKS, INC.
To: SHORETEL, INC.
Reel/Frame 046403/0265 →
SECURITY INTEREST Recorded Sep 25, 2017
From: SHORETEL, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 043829/0711 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2017
From: NGUYEN, HOANG LONG; PAREKH, ASIM
To: SHORETEL, INC.
Reel/Frame 043591/0068 →
Continuity (1)
Related Publication 20190082353A1 · Mar 14, 2019