Unified communication system

By adopting a modular design for the unified communication system, the complexity and security issues of communication in multi-protocol heterogeneous environments are solved, achieving efficient and reliable communication and simplified operation and maintenance management, thereby improving the system's scalability and user experience.

CN120935246APending Publication Date: 2025-11-11SUZHOU MAXNET NETWORK SECURITY TECH CO LTD

Patent Information

Application Number
CN202511407509.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-29
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

Existing communication systems suffer from problems such as complex protocol conversion, insufficient security, poor scalability, and complex operation and maintenance management when facing multi-protocol heterogeneous environments, making it difficult to meet the high-efficiency communication needs of high-density connection scenarios.

Method used

The system employs an end-side SDK module, a registry center module, a load balancing service module, a platform SDK module, a service discovery middleware, and a management service web platform to achieve a unified communication system. This system shields the differences in underlying protocols, provides stable and reliable communication connections, performs health checks and load balancing, simplifies the interaction interface of the business platform, and provides a visual management interface.

Benefits of technology

It reduces the complexity of multi-protocol adaptation, improves system reliability and availability, enhances security, simplifies business development and operation and maintenance management, and improves system scalability and response efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120935246A_ABST
    Figure CN120935246A_ABST
Patent Text Reader

Abstract

According to the unified communication system provided by the invention, the stable communication connection between the client and the platform is realized through the end-side SDK module, the underlying protocol difference is shielded, and the complexity of multi-protocol adaptation is reduced. The registration center module and the service discovery middleware work cooperatively to perform automatic registration and health check on the service instance, so that the health state of the routing target node is ensured, the request is prevented from being distributed to the fault instance, and the reliability of the system is improved. The load balancing service module serves as a unified communication entrance, processes all flows in a centralized manner, reduces the number of externally exposed ports of the system, shrinks a network attack surface, and enhances security. The platform SDK module provides an interactive interface for the service platform, so that the service platform does not need to care about complex communication details, and the service development efficiency and the system maintainability are improved. The management service web platform provides a centralized visual management and control interface for all the modules, convenient management of plug-ins, SDKs and system configuration is achieved, and the operation and maintenance difficulty is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of network communication technology, and in particular to a unified communication system. Background Technology

[0002] With the rapid development of cloud computing, the Internet of Things (IoT), and edge computing, the demand for data interaction among various smart terminals, business platforms, and distributed systems is exploding. Enterprise digitalization is evolving from isolated single-application systems to multi-system integration, driving communication architecture to shift from closed, isolated traditional models to open, interconnected, and intelligent models. Against this backdrop, cutting-edge fields such as autonomous driving, wide-area IoT, and emergency rescue urgently require large-scale device access, highly reliable communication, and multi-domain information fusion and sharing, posing unprecedented challenges to the compatibility, efficiency, and reliability of underlying communication technologies.

[0003] To meet diverse business scenarios, modern communication systems must simultaneously support multiple communication protocols (such as HTTP, MQTT, WebSocket, TCP, and various IoT-specific protocols). These different protocols differ significantly in data format, transmission characteristics, and security mechanisms, leading to a complex heterogeneous communication environment. Furthermore, the fragmentation of terminal device hardware platforms, operating systems, and network access methods further exacerbates this complexity. Therefore, building a communication platform that can shield against underlying protocol differences and provide a unified access and interaction experience for upper-layer applications has become a key technological bottleneck in fields such as the Industrial Internet and smart cities.

[0004] Current common communication system architectures exhibit several inherent flaws when addressing the aforementioned challenges: First, they lack a unified communication mechanism, requiring extensive protocol conversion and adaptation for integration between different systems, resulting in high development and maintenance complexity. Second, they suffer from insufficient security considerations; adding a new communication method often necessitates opening new network ports, expanding the system's attack surface, increasing security risks, and lacking robust authentication and data encryption mechanisms. Third, they suffer from insufficient scalability and elasticity; centralized architectures struggle to handle high-concurrency requests, easily creating performance bottlenecks, and system capacity cannot flexibly expand with business growth. Fourth, they are complex to operate and manage, lacking robust health checks, load balancing mechanisms, and visualized centralized control methods, resulting in poor system robustness and maintainability, making it difficult to meet the efficient communication needs of high-density connection scenarios. Summary of the Invention

[0005] In view of the above problems, a unified communication system is proposed to overcome or at least partially solve the above problems, comprising: The client-side SDK module is configured to establish and maintain communication connections with the unified communications platform on the client device, and to handle the sending and receiving of data. The registration center module is used to maintain the registration information of service instances in the unified communications system and to perform health checks on service instances periodically. The load balancing service module is used to dynamically distribute communication requests to service nodes based on the load of the unified communication system. The platform SDK module is configured to provide the business platform with an interface for interacting with the unified communications system; Service discovery middleware is used to register service instances and obtain registration information, health check data storage, and configuration change notifications. The management service web platform provides a visual management interface for plugin and SDK registration, configuration management, monitoring, and troubleshooting.

[0006] Optionally, the client-side SDK modules include: a state transition submodule, a daemon process submodule, a backoff and reconnection submodule, a data backlog processing submodule, a communication disconnection processing submodule, and a connection authentication submodule.

[0007] Optionally, the state transition submodule is implemented using a state machine to manage the initialization state, connection state, authentication state, running state, disconnection state, and reconnection state of the client-side SDK. The daemon process submodule uses main process monitoring, heartbeat detection, and resource monitoring to ensure the continuity of the client-side SDK service; The backoff and reconnection submodule uses an exponential backoff algorithm to reconnect the client to the unified communication platform; The data backlog processing submodule is responsible for managing data that cannot be sent in the event of network anomalies. The communication disconnection handling submodule is used to detect and handle communication disconnection events; The connection authentication submodule is responsible for authentication and secure connection establishment of the client-side SDK.

[0008] Optionally, main process monitoring includes the daemon periodically checking the running status of the client-side SDK main process. If the main process is found to have exited abnormally, a new main process is started immediately. Heartbeat detection includes determining that the main process is abnormal and restarting it if the daemon process does not receive a heartbeat signal from the main process within a preset time. Resource monitoring includes proactively restarting the client-side SDK and / or releasing resources if the daemon process detects abnormal CPU and memory usage by the client-side SDK. The daemon process also has self-repair capabilities.

[0009] Optionally, the backoff and reconnection submodule uses an exponential backoff algorithm to reconnect the client to the unified communication platform, including: when the connection is lost, the initial reconnection interval between the client and the unified communication platform is 1 second, and after each failed reconnection, the interval time increases exponentially, with a maximum reconnection interval of 5 minutes.

[0010] Optionally, managing data that cannot be sent in the event of a network anomaly includes: the data backlog processing submodule divides the data into three priority levels: high, medium, and low, and stores the data that cannot be sent in the event of a network anomaly in the local database according to priority and timestamp.

[0011] Optionally, the detection and handling of communication disconnection events includes: the communication disconnection handling submodule detects whether the communication is disconnected by monitoring the TCP connection status, and when a communication disconnection is detected, it notifies the state transition submodule to update the end-side SDK status and takes a recovery strategy according to the cause of the disconnection.

[0012] Optionally, the authentication and secure connection establishment of the client-side SDK includes: An authentication token is generated based on the client device ID, timestamp, and permission information. The authentication token is then sent to the server. The server uses the authentication token to verify the identity. If the identity verification is successful, a TLS handshake is performed to establish an encrypted channel.

[0013] Optional, the authentication token includes: The header contains the token type and encryption algorithm; The payload includes the device ID, user ID, permission scope, and authentication token expiration time; The signature section is used to sign the header and payload sections using a key.

[0014] Optionally, if the authentication token expires before the preset time, the connection authentication submodule will proactively request a new authentication token from the server.

[0015] This invention achieves a stable communication connection between the client and the platform through the client-side SDK module, shielding underlying protocol differences and significantly reducing the complexity of multi-protocol adaptation and development and maintenance costs. The registration center module works in conjunction with the service discovery middleware to automatically register and perform health checks on service instances, ensuring the health status of routing target nodes and preventing requests from being distributed to faulty instances, thereby greatly improving system reliability and availability. The load balancing service module, as a unified communication entry point, centrally processes all traffic, minimizing the number of ports exposed to the outside world, effectively shrinking the network attack surface and enhancing overall security. Simultaneously, the platform SDK module provides a simple interactive interface for the business platform, freeing it from complex communication details and improving business development efficiency and system maintainability. Finally, the management service web platform provides a centralized visual control interface for all the above modules, enabling convenient management of plugins, SDKs, and system configurations, significantly reducing operational and maintenance difficulties. Attached Figure Description

[0016] To more clearly illustrate the technical solution of the present invention, the accompanying drawings used in the description of the present invention will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 This is a deployment diagram of a unified communication system provided in an embodiment of the present invention; Figure 2 This is a state transition diagram of the terminal SDK provided in an embodiment of the present invention; Figure 3 This is a flowchart illustrating the communication process between the terminal SDK and the unified communication platform provided in this embodiment of the invention. Figure 4 This is a flowchart of the client data reporting process provided in an embodiment of the present invention; Figure 5 This is a flowchart of the business platform data transfer process provided in an embodiment of the present invention. Detailed Implementation

[0018] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.

[0019] Reference Figures 1 to 5This invention provides a unified communication system, which may specifically include the following modules: The client-side SDK module is configured to establish and maintain communication connections with the unified communications platform on the client device, and handle data sending and receiving to ensure stable and reliable communication. The unified communications platform refers to the platform side of the unified communications system.

[0020] In embodiments of this invention, the client-side SDK module acts as a core proxy deployed on the client device, responsible for establishing and maintaining communication connections with the remote unified communication platform. This module encapsulates complex underlying network communication protocols such as HTTP, MQTT, and WebSocket, and provides a unified API interface, allowing client applications to reliably send and receive data without needing to concern themselves with protocol differences or network fluctuations. Through built-in connection management, heartbeat maintenance, automatic reconnection, and data caching mechanisms, it can effectively handle abnormal scenarios such as network instability and brief service interruptions, ensuring the robustness and high availability of the communication link. Furthermore, this module can integrate authentication and data encryption functions, performing security checks during connection establishment and ensuring data security during transmission, thereby simplifying client development complexity while improving the stability and reliability of the entire communication process.

[0021] The registration center module is used to maintain the registration information of service instances in the unified communications system and to perform regular health checks on service instances to ensure that only healthy service instances can be accessed by clients.

[0022] In embodiments of the present invention, the registry module can be used to maintain a dynamically updated service registry, recording detailed information of all active service instances in the system in real time, including their network addresses, service types, and current metadata. Simultaneously, it can continuously monitor the operational status of each registered service instance through proactive health check mechanisms, such as periodic heartbeat checks or request-response probes, enabling timely identification of abnormal instances caused by faults, overloads, or network interruptions. Once an instance is determined to be unavailable, the module immediately removes it from the list of available services and synchronously updates service discovery information, thereby ensuring that downstream components do not route client requests to unhealthy service instances. This proactive state management mechanism fundamentally prevents business request failures, improving the overall reliability and fault tolerance of the system.

[0023] The load balancing service module is used to dynamically allocate communication requests to service nodes based on the load of the unified communication system; that is, to realize communication between the platform and the terminal SDK and between the platform and the service SDK. This module distributes requests to the most suitable service node according to the system load, avoiding single point overload and improving the overall system performance.

[0024] In embodiments of the present invention, the load balancing service module can monitor the operating status and load indicators of each backend service node in real time, such as CPU utilization, memory usage, current connection count, and response latency. Based on a preset intelligent allocation strategy, it dynamically distributes incoming communication requests to the healthiest service instance currently available for processing. Through this precise traffic scheduling, the module can effectively avoid single-point performance bottlenecks or overload downtime risks caused by excessive request accumulation on certain nodes, while ensuring that the resources of other idle nodes are fully utilized. This optimizes resource utilization overall, ensures high service availability, and significantly improves the system's throughput and response efficiency in large-scale concurrent scenarios.

[0025] The preset intelligent allocation strategies may include weighted round-robin, minimum connection count, and minimum response time algorithms. Specifically: In the weighted round-robin algorithm, the system administrator pre-assigns a weight value to each service instance, which can be proportional to the instance's actual processing power (such as CPU and memory performance). The algorithm maintains a counter and distributes requests to different instances sequentially according to their weight ratios. For example, if the weight ratio of instances A, B, and C is 3:2:1, then in six consecutive requests, instance A will receive three requests, B will receive two, and C will receive one, and so on. This algorithm is simple to implement, has minimal overhead, and can direct more traffic to high-performance servers.

[0026] The least connections algorithm distributes new requests to the service instance with the fewest active connections. This algorithm requires real-time tracking and maintenance of the active TCP connections or sessions for each instance. Whenever a new request arrives, the load balancer quickly compares the connection counts of all healthy instances and selects the instance with the fewest connections to handle the request. This method automatically shifts traffic pressure from busy instances to idle instances, achieving intelligent load balancing.

[0027] The minimum response time algorithm considers two metrics: the average response time of each service instance and the number of currently active connections. Based on these two metrics, the algorithm calculates a score for each instance and assigns new requests to the instance with the lowest score (i.e., the fastest responding and relatively least busy). In other words, compared to idle but slow-processing instances, instances with slightly more connections but extremely fast processing speeds can be allocated more requests. This algorithm dynamically directs requests to the fastest-responding nodes, thereby minimizing overall request latency and significantly improving user experience.

[0028] Those skilled in the art can select a preset intelligent allocation strategy according to actual needs, and the present invention does not limit this.

[0029] The platform SDK module is configured to provide the business platform with an interface for interacting with the unified communications system. This module provides a set of APIs and tools to simplify the business platform's use of the unified communications system and shield the underlying communication details.

[0030] In embodiments of this invention, the platform SDK module provides a standardized and highly available set of interfaces for the upper-layer business platform, enabling seamless interaction with the underlying unified communication platform. This module, by encapsulating a set of clearly defined and fully functional application programming interfaces (APIs) and accompanying development tools, completely abstracts and shields the complex underlying technical details of distributed communication, such as connection management, protocol parsing, data serialization / deserialization, and retry fault tolerance. Business platform developers do not need to deeply understand complex network communication protocols and system internal architecture; they can easily achieve reliable data transmission and command interaction with service instances or other clients simply by calling the concise APIs.

[0031] The service discovery middleware is used to register service instances and obtain registration information, health check data storage, and configuration change notifications. This middleware provides distributed service discovery functionality, supporting dynamic registration and discovery of service instances, as well as dynamic configuration changes.

[0032] In embodiments of the present invention, the service discovery middleware can be used to centrally handle the registration and metadata storage of all service instances. Each newly launched service instance automatically registers with the middleware, reporting key information such as its network address, service type, and version number. Simultaneously, the middleware continuously receives and stores health check results from the registry module, thereby maintaining a global service directory containing the real-time health status of instances. By querying this middleware, a list of all currently healthy instances can be dynamically discovered and obtained.

[0033] In addition, this middleware provides configuration management capabilities, supporting dynamic changes to system runtime parameters. Administrators can publish new configurations (such as adjusting load balancing strategies), and the middleware will notify all relevant service instances of the changes via a push mechanism, thereby enabling the configuration to take effect quickly without restarting any services, ensuring system continuity and agility.

[0034] The management service web platform provides a visual management interface for plugin and SDK registration, configuration management, monitoring, and troubleshooting.

[0035] In embodiments of the present invention, the management service web platform simplifies system maintenance complexity through a graphical web interface. In terms of management functions, the platform allows administrators to manage various client plugins and SDKs throughout their entire lifecycle—including registration of new components, version releases, digital certificate allocation, and dependency configuration—ensuring the compliance and security of all connected components. At the configuration management level, the platform provides fine-grained dynamic configuration capabilities. Administrators can adjust system parameters, modify load balancing strategies, update security certificates, or manage API permissions through the interface. All changes are implemented and take effect in real time without requiring a service restart.

[0036] Meanwhile, the management service web platform also integrates monitoring and diagnostic functions. It displays the health status, connection count, traffic metrics, and load of service instances across the entire system in real time through a dynamic topology diagram. It also allows for setting intelligent threshold alarms to promptly notify operations and maintenance personnel of potential risks. When a fault occurs, administrators can utilize the platform's built-in troubleshooting tools to quickly retrieve logs, trace request paths, analyze performance bottlenecks, and trigger the diagnostic mode of the client-side SDK. This helps to locate and resolve problems, improving system observability and operational efficiency, and effectively ensuring the stable and reliable operation of the unified communication service.

[0037] Furthermore, the client-side SDK module may include: a state transition submodule, a daemon process submodule, a backoff and reconnection submodule, a data backlog processing submodule, a communication disconnection processing submodule, and a connection authentication submodule.

[0038] The state transition submodule can be implemented using a state machine to manage the initialization, connection, authentication, running, disconnection, and reconnection states of the client-side SDK. Specifically: Initialization state (INIT): The client-side SDK has just started and is in the process of initialization and configuration; CONNECTING: The client-side SDK is establishing a connection with the unified communications platform; Authentication status: The client-side SDK is performing authentication. Running status: The client-side SDK is running normally and can send and receive data; Disconnected: The connection between the client SDK and the platform has been lost. Reconnecting status: The client SDK is attempting to reconnect to the platform.

[0039] The state transition submodule ensures that the client-side SDK performs the appropriate operations under different states. For example, when the client-side SDK is in the DISCONNECTED state, the state transition submodule triggers a reconnection operation, switching the state to RECONNECTING. Once the connection is successful, the state will switch from RECONNECTING to AUTHENTICATING, and then to RUNNING.

[0040] In its implementation, the state transition submodule employs the observer pattern, notifying other components to take appropriate action when the state changes. For example, when the state changes from RUNNING to DISCONNECTED, the data backlog processing submodule is activated, storing the data that cannot be sent into a local cache.

[0041] The daemon process submodule uses main process monitoring, heartbeat detection, and resource monitoring to ensure the continuity of the client-side SDK service.

[0042] In embodiments of the present invention, main process monitoring may include: a daemon process periodically checking the running status of the client-side SDK main process; if the main process is found to have exited abnormally, a new main process is immediately started. Heartbeat detection may include maintaining communication between the main process and the daemon process via a heartbeat mechanism; if the daemon process does not receive a heartbeat signal from the main process within a preset time, it determines that the main process is abnormal and restarts it. Resource monitoring may include: if the daemon process detects abnormal CPU and memory resources occupied by the client-side SDK, it can proactively restart the client-side SDK and / or release resources.

[0043] Specifically, the daemon process, as an independent monitoring entity, can periodically check the running status of the client-side SDK main process by querying the process identifier (PID) liveness status or establishing inter-process communication with it to perform health queries. Once it is detected that the main process has exited due to an unknown error or an uncaught exception, the daemon process will immediately trigger the recovery process and automatically start a new main process instance, thereby ensuring service continuity and minimizing business interruption time.

[0044] The heartbeat detection mechanism further enhances the real-time nature of inter-process state awareness: the main process and the daemon process maintain bidirectional communication through a predefined heartbeat signal; the daemon process maintains a countdown timer, and if it fails to receive a heartbeat signal from the main process within a preset time threshold, it can determine that the main process may have entered an abnormal state such as a zombie, rather than exiting normally; at this time, the daemon process will no longer wait, but will actively perform the operation of forcibly terminating and restarting the main process.

[0045] In addition, the daemon process can continuously track the critical system resources used by the client-side SDK main process, such as CPU utilization continuously exceeding the safety threshold, or memory usage experiencing unrecoverable leaky growth. When such resource anomalies are detected, the daemon process can take differentiated measures according to preset strategies, such as attempting to forcibly release redundant resources, thereby preventing the loss of control over the resources of a single component from affecting the stability of the entire client system.

[0046] The daemon process also has self-healing capabilities. Even if the daemon process itself encounters problems, it can be restarted through system service managers (such as systemd, launchd, etc.) to ensure the reliable operation of the entire client-side SDK.

[0047] The backoff and reconnection submodule employs an exponential backoff algorithm to reconnect the client to the unified communication platform. In its implementation, when a connection is lost, the initial reconnection interval between the client and the unified communication platform can be 1 second. After each failed reconnection, the interval increases exponentially, such as 1 second, 2 seconds, 4 seconds, 8 seconds, etc. To prevent the reconnection interval from increasing indefinitely, a maximum reconnection interval of 5 minutes can be set.

[0048] When the number of reconnections reaches a certain threshold (such as 10 times), an alarm mechanism can be triggered to notify the administrator to intervene.

[0049] If the network environment is detected to have recovered during the reconnection process (e.g., the target server can be pinged), a reconnection can be attempted immediately without waiting for the full backoff interval.

[0050] The backoff and reconnection submodule uses this mechanism to restore the connection in a timely manner when the network is temporarily abnormal, and to avoid frequent reconnection that would lead to resource waste and excessive server pressure when the network is unavailable for a long time.

[0051] In this embodiment of the invention, the backoff and reconnection submodule can employ an exponential backoff algorithm to manage the re-establishment process after the client's connection with the unified communication platform is lost. This mechanism balances the timeliness of connection recovery with the effectiveness of system resources. Specifically, when an abnormal network connection interruption is detected, the backoff and reconnection submodule will not attempt frequent reconnections, but instead initiates a controlled reconnection sequence: its initial reconnection interval is set to 1 second to attempt to quickly recover from temporary network jitter; if the reconnection fails, the algorithm will use an exponential growth strategy to gradually extend the waiting time for the next attempt, for example, waiting for 1 second, 2 seconds, 4 seconds, 8 seconds, etc., thereby effectively avoiding the flood-like pressure on the server during persistent network failures.

[0052] To prevent the reconnection interval from being extended indefinitely, causing excessively slow connection recovery, the algorithm sets an upper limit threshold, such as a maximum reconnection interval of 5 minutes, ensuring that reconnection behavior remains within a reasonable frequency range even in the worst network conditions. Furthermore, the backoff reconnection submodule integrates statistics and judgment functions for the number of reconnection attempts. When the cumulative number of failures reaches a preset threshold (e.g., 10 times), an alarm mechanism is triggered, proactively notifying the system administrator for manual intervention to investigate whether there are deeper network or configuration faults.

[0053] Furthermore, the exponential backoff algorithm can continuously probe the recovery status of the network environment during the reconnection process. Once the network connection is confirmed to be available through underlying network diagnostic tools (such as successfully pinging the target server), the backoff and reconnection submodule will immediately interrupt the current backoff waiting period and initiate a reconnection attempt in advance, thereby significantly shortening the service interruption time and improving the user experience.

[0054] The data backlog processing submodule is responsible for managing data that cannot be sent in the event of network anomalies.

[0055] In embodiments of the present invention, the data backlog processing submodule can classify data into high, medium, and low priorities based on data importance, and store data that cannot be sent in the event of network anomalies in a local database according to priority and timestamp. Simultaneously, different lifecycles can be set for different types of data; data exceeding its lifecycle can be discarded or specially processed. Once the network recovers, the backlog data can be sent according to priority and time order, with the sending rate controlled to avoid network congestion or server overload caused by a sudden surge in data transmission. The importance of the data can be defined by the access party: after establishing a connection, the access party uses different communication methods to reflect data importance: synchronous interface calls represent high-priority data, which must be ensured not to be lost; asynchronous interface calls represent low-priority data, allowing for data loss during transmission.

[0056] In practical applications, the data backlog processing submodule can determine the caching strategy based on the maximum backlog volume configured by the system. When the backlog data volume exceeds the threshold, it can choose to discard low-priority old data to ensure that important data is not lost. It can also compress the backlog data to reduce disk usage and improve storage efficiency.

[0057] Specifically, the data backlog processing submodule can classify data into three priority levels—high, medium, and low—based on their inherent business importance, such as real-time control commands, routine configuration updates, and historical log information. When a network connection interruption prevents data from being sent in real time, all data will be stored in a local database or file according to its priority and a precise timestamp, thus forming a structured local message queue.

[0058] To further optimize storage and define data validity, this submodule allows for pre-setting differentiated time-to-live (TTL) values ​​for different types of data. For example, low-priority log data might only be retained for 24 hours, while high-priority transaction data might be retained for 7 days. Any data exceeding its TTL will be automatically discarded or downgraded to an archive file, thus preventing storage space from being indefinitely occupied by invalid data.

[0059] After network connectivity is restored, the submodule can strictly follow the priority order (highest to lowest) and timestamp (first-come, first-served) to read backlogged data from the local queue and resend it. To avoid the sudden surge of massive data to overwhelm the newly restored network and remote server, the submodule also implements a rate limiting mechanism to smoothly control the data outflow rate, effectively preventing secondary congestion and server overload.

[0060] Furthermore, the data backlog processing submodule's caching strategy is highly adaptive. System administrators can pre-configure a global maximum backlog threshold. When the total amount of local backlog data approaches this threshold, the data backlog processing submodule will proactively initiate a cleanup mechanism, prioritizing the discarding of the oldest historical data among low-priority data to ensure that high-priority data always has sufficient cache space and will not be lost due to storage limitations. In addition, before storing data locally, the module will perform lossless or lossy compression algorithms (such as GZIP or Snappy), significantly reducing disk space usage and thus improving overall storage and processing efficiency.

[0061] The communication disconnection handling submodule can be used to detect and handle communication disconnection events.

[0062] In embodiments of the present invention, the communication disconnection handling submodule can detect whether communication is disconnected by monitoring TCP connection status, etc. If a communication disconnection is detected, it notifies the state transition submodule to update the end-side SDK status and takes a recovery strategy based on the cause of the disconnection. Its main functions may include: disconnection detection, disconnection classification, notification mechanism, and recovery strategy.

[0063] Specifically, the communication disconnection handling submodule can build a three-dimensional monitoring network by combining various technical means such as the application layer heartbeat mechanism and the transport layer TCP connection status monitoring, so as to detect the interruption of the communication link in real time.

[0064] Once a disconnection is detected, this submodule immediately initiates a disconnection classification process to quickly diagnose and categorize the root cause. The reasons for disconnection are classified into different types, such as network anomalies, server-side active rejection, or authentication failure. Based on this classification, the system will adopt targeted handling strategies.

[0065] Furthermore, the communication disconnection handling submodule will immediately send an event notification containing the reason for the disconnection to the state transition submodule. The state machine of the driver-side SDK will update its state to the corresponding state such as "disconnected" or "reconnecting", thereby ensuring that the behavior of the entire SDK is consistent with the current connection situation.

[0066] Subsequently, the communication disconnection handling submodule can execute corresponding recovery strategies based on the root cause of the disconnection. For example, for a brief disconnection diagnosed as being caused by ordinary network fluctuations, the submodule will immediately attempt a rapid reconnection to minimize service interruption time, with almost no noticeable impact on the user; if it is determined to be a brief server overload, a recovery process with a backoff reconnection strategy will be initiated; and for problems such as authentication failures that cannot be resolved through system self-healing, automatic reconnection will be suspended, awaiting user intervention, while generating detailed error logs and notifying upper-layer business applications, providing clear evidence for manual intervention.

[0067] When handling brief disconnections caused by network fluctuations, the communication disconnection handling submodule will attempt to quickly reconnect to minimize the impact on business operations. For issues requiring manual intervention, such as authentication failures, error logs will be generated and the upper-layer application will be notified.

[0068] The connection authentication submodule is responsible for authentication and secure connection establishment of the client-side SDK.

[0069] In an embodiment of the present invention, the connection authentication submodule can generate an authentication token based on the client device ID, timestamp, and permission information, send the authentication token to the server, and the server performs authentication based on the authentication token. If the authentication is successful, a TLS handshake is performed to establish an encrypted channel.

[0070] Specifically, the connection authentication submodule can generate an encrypted authentication token based on the client's local device unique identifier (Device ID), the current timestamp, and the device's preset permission information. This token is then sent to the server to initiate an authentication request. Upon receiving the token, the server executes strict verification logic, including checking the signature validity, confirming that the token has not expired, and verifying the legality of the permission scope. Only after successful authentication will both parties enter the standard TLS handshake process to negotiate the session key, ultimately establishing an end-to-end encrypted communication channel to ensure the confidentiality and integrity of all subsequent data transmissions.

[0071] The authentication token may include: The header, typically in JSON format, contains the token type (such as JWT) and the encryption algorithm (such as HS256 or RS256). The payload contains information such as device ID, user ID, permission scope, and authentication token expiration time. The signature section is used to sign the header and payload using a key, thereby preventing the token content from being tampered with or forged during transmission.

[0072] In practical applications, if the authentication token expires before the preset time, the connection authentication submodule can proactively request a new authentication token from the server.

[0073] In embodiments of the present invention, this submodule also has token management capabilities. To prevent connection interruptions caused by token expiration, the connection authentication submodule continuously monitors the validity period of the current token. When it detects that the remaining validity period is less than a preset threshold (e.g., 5 minutes), it proactively sends a request to the server to exchange the old token, which has not yet expired, for a brand new authentication token, thereby achieving seamless renewal of authentication credentials and ensuring the continuity of long-connection services and the smoothness of user experience.

[0074] This invention provides a unified communication system. This system achieves stable communication between the client and the platform through an end-side SDK module, shielding underlying protocol differences and significantly reducing the complexity of multi-protocol adaptation and development and maintenance costs. The registration center module works in conjunction with the service discovery middleware to automatically register and perform health checks on service instances, ensuring the health of routing target nodes and preventing requests from being distributed to faulty instances, thereby significantly improving system reliability and availability. The load balancing service module, as a unified communication entry point, centrally processes all traffic, minimizing the number of exposed ports, effectively shrinking the network attack surface, and enhancing overall security. Simultaneously, the platform SDK module provides a simple interactive interface for the business platform, freeing it from complex communication details and improving business development efficiency and system maintainability. Finally, the management service web platform provides a centralized visual management interface for all the above modules, enabling convenient management of plugins, SDKs, and system configurations, significantly reducing operational and maintenance difficulties.

[0075] The above provides a detailed description of the unified communication system. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, those skilled in the art will recognize that there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A unified communication system, characterized in that, The system includes: The client-side SDK module is configured to establish and maintain communication connections with the unified communications platform on the client device, and to handle the sending and receiving of data. The registration center module is used to maintain the registration information of service instances in the unified communications system and to perform health checks on the service instances periodically. The load balancing service module is used to dynamically allocate communication requests to service nodes based on the load status of the unified communication system. The platform SDK module is configured to provide the business platform with an interface for interacting with the unified communications system; Service discovery middleware is used to register service instances and obtain registration information, health check data storage, and configuration change notifications. The management service web platform provides a visual management interface for plugin and SDK registration, configuration management, monitoring, and troubleshooting.

2. The system according to claim 1, characterized in that, The endpoint SDK module includes: a state transition submodule, a daemon process submodule, a backoff and reconnection submodule, a data backlog processing submodule, a communication disconnection processing submodule, and a connection authentication submodule.

3. The system according to claim 2, characterized in that, The state transition submodule is implemented through a state machine and is used to manage the initialization state, connection state, authentication state, running state, disconnection state, and reconnection state of the terminal SDK. The daemon process submodule uses main process monitoring, heartbeat detection, and resource monitoring to ensure the continuity of the client-side SDK service; The backoff and reconnection submodule uses an exponential backoff algorithm to reconnect the client to the unified communication platform; The data backlog processing submodule is responsible for managing data that cannot be sent in the event of network anomalies; The communication disconnection processing submodule is used to detect and process communication disconnection events; The connection authentication submodule is responsible for authentication and secure connection establishment of the client-side SDK.

4. The system according to claim 3, characterized in that, The main process monitoring includes the daemon process periodically checking the running status of the client-side SDK main process. If the main process is found to have exited abnormally, a new main process is immediately started. The heartbeat detection includes determining that the main process is abnormal and restarting it if the daemon process does not receive a heartbeat signal from the main process within a preset time. The resource monitoring includes, if the daemon process detects abnormal CPU and memory usage by the client-side SDK, actively restarting the client-side SDK and / or releasing resources. The daemon process also has self-repair capabilities.

5. The system according to claim 4, characterized in that, The backoff and reconnection submodule uses an exponential backoff algorithm to reconnect the client to the unified communication platform. This includes: when the connection is lost, the initial reconnection interval between the client and the unified communication platform is 1 second, and after each failed reconnection, the interval increases exponentially, with a maximum reconnection interval of 5 minutes.

6. The system according to claim 5, characterized in that, The management of data that cannot be sent in the event of a network anomaly includes: the data backlog processing submodule divides the data into three priority levels: high, medium, and low, and stores the data that cannot be sent in the event of a network anomaly into the local database according to the priority and timestamp.

7. The system according to claim 6, characterized in that, The detection and handling of communication disconnection events includes: the communication disconnection handling submodule detects whether the communication is disconnected by monitoring the TCP connection status; when a communication disconnection is detected, it notifies the state transition submodule to update the end-side SDK status and takes a recovery strategy according to the cause of the disconnection.

8. The system according to claim 7, characterized in that, The authentication and secure connection establishment of the endpoint SDK includes: An authentication token is generated based on the client device ID, timestamp, and permission information. The authentication token is then sent to the server. The server performs authentication based on the authentication token. If the authentication is successful, a TLS handshake is performed to establish an encrypted channel.

9. The system according to claim 8, characterized in that, The authentication token includes: The header contains the token type and encryption algorithm; The payload includes the device ID, user ID, permission scope, and authentication token expiration time; The signature section is used to sign the header and the payload section using a key.

10. The system according to claim 9, characterized in that, If the authentication token expires before the preset time, the connection authentication submodule will proactively request a new authentication token from the server.

Citation Information

Patent Citations

  • Centralized full-automatic service discovery load balance system

    CN109246246A

  • Deployment method and device of converged communication cloud platform

    CN114979133A

  • Internet of things access system and method based on object model and rule engine, and medium

    CN116471294A

  • Gateway message storage management system oriented to electric power automation system

    CN118646798A

  • Internet of Things platform and system

    CN119484571A

Cited By

  • Data management system and industrial control system

    CN120010415A

  • A data management system and industrial control system

    CN120010415B