Stateful Cluster Nodes for Unified Communication Scalability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional unified communication systems face challenges with scalability, redundancy, and complexity, leading to high costs and limitations in user mobility, due to their stateless configurations and hardware-intensive requirements, which are undesirable in modern IT environments.
Innovation Solution
A stateful cluster node system is introduced, where nodes are clustered and communicate with a coordinator and an external message bus, maintaining session information and allowing for efficient routing of events based on customer association, reducing network traffic and processing needs, and enabling seamless failover without disrupting service.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional stateless micro-services architecture is used, then system scalability is improved, but session information management becomes complex and performance drops
Solution Approach 1:
The system is divided into multiple independent cluster nodes, each capable of maintaining session information locally. This segmentation allows the system to scale horizontally by adding more nodes while each node independently manages its own session data, avoiding the performance degradation associated with centralized session management in traditional stateless architectures.
Solution Approach 2:
Session information is copied and maintained locally at each cluster node rather than being constantly retrieved from a centralized source. This copying mechanism enables nodes to process requests independently using their local session data, significantly improving performance while maintaining scalability through the distributed nature of the copied session information.
2Reliability
If discrete hardware nodes are used in legacy systems, then system redundancy is improved, but system complexity and hardware requirements increase
Solution Approach 1:
Multiple discrete hardware nodes are merged into a unified cluster node system where nodes communicate through standardized interfaces and protocols. This merging reduces overall system complexity by providing a consistent architecture for redundancy while maintaining the reliability benefits of having multiple physical nodes through the cluster coordination mechanism.
Solution Approach 2:
Each cluster node is designed with universal functionality to perform multiple roles including session management, event processing, and coordination communication. This multi-functionality reduces the need for specialized hardware components, thereby decreasing device complexity while maintaining system redundancy through the versatile nature of each node.
3Ease of manufacture
If stateless micro-services architecture is implemented, then system maintenance cost is reduced, but code rewrite requirements increase
Solution Approach 1:
Session information is maintained proactively at each cluster node before it is needed for processing. This preliminary action of pre-loading and caching session data eliminates the need for complex state management logic in the code, reducing maintenance requirements while avoiding the need for extensive code rewrites by working with an enhanced rather than reduced state model.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
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.