Clustering in unified communication and collaboration services
AssigneeMitel Networks Corporation
InventorsHoang Long Nguyen, Asim Parekh
Life of this patent
Estimating the term…
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.
Claims18
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.
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.
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.
Dependencies are inferred from the claim text.