Indirect Push Communication via WebSocket Broker
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In client/server systems, Push communication methods face challenges in establishing connections due to the upper limit of communication connections between network devices and management devices, leading to failed Handshake attempts and inefficiencies, especially when polling methods are used.
Innovation Solution
Implementing an indirect Push communication method where a network device establishes a connection with a server via another network device already in WebSocket communication, allowing for real-time instruction delivery even when direct Push communication fails, by using a second client computer as a broker to mediate communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If Push communication method is used to enable real-time instruction delivery from management device to network device, then communication efficiency is improved and polling time loss is eliminated, but the number of communication connections readily reaches the upper limit value causing Handshake failure
Solution Approach 1:
The system dynamically switches between Polling communication method and Push communication method based on real-time connection status. When Push communication fails due to connection limits, the system automatically transitions to Polling method to ensure continuous operation, and vice versa. This dynamic adaptation resolves the contradiction by making the communication system flexible rather than static.
Solution Approach 2:
The system changes the communication mode parameter from fixed Push communication to variable communication that can switch between Push and Polling methods. By changing this operational parameter based on system state (connection availability, upper limit status), the system maintains both high efficiency when possible and reliable connection establishment when needed.
2Use of energy by moving object
If the upper limit of communication connections is set from the viewpoint of cost to control resource consumption, then resource usage is optimized, but the number of connections readily reaches the upper limit value preventing new Push communication establishment
Solution Approach 1:
The communication system dynamically adjusts its behavior based on connection availability. When connections are available below the upper limit, Push communication is used for optimal performance. When the limit is reached, the system adapts by using Polling communication, ensuring continuous functionality while respecting resource constraints.
Solution Approach 2:
The system introduces a communication method selection mechanism that acts as an intermediary between the desire for real-time Push communication and the resource constraints imposed by connection limits. This intermediary evaluates system state and selects the appropriate communication method (Push or Polling) to balance resource usage with communication effectiveness.
3Reliability
If Polling communication method is used to ensure connection compatibility, then connection establishment is reliable, but time loss occurs due to polling intervals
Solution Approach 1:
The system uses periodic Polling communication only when necessary (when Push communication cannot be established), rather than continuously. This periodic use of Polling maintains reliability when needed while minimizing time loss, as the system switches to event-driven Push communication when available to eliminate polling intervals.
Solution Approach 2:
The system dynamically selects between Polling and Push methods based on connection status. When Push communication is available, it eliminates polling intervals entirely for real-time notification. When Push communication is unavailable, it temporarily uses Polling to maintain reliable communication, thus minimizing overall time loss while ensuring continuity.
Data Source
Figure 1
Figure 2A~2C
Figure 3
AI summary
A first client computer (110) makes an indirect Push communication request for establishing Push communication with a server computer (100) via a second client computer (170) to the second client computer. After establishment of indirect Push communication, a second client computer (170) transfers an instruction given from the server computer (100) to the first client computer (110) by use of Push communication to the first client computer (110).