Bidirectional Message Exchange for Server-Initiated Client Alerts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing request-response message exchange patterns, such as HTTPS, do not support the server initiating communication with connected clients, leading to computational inefficiencies and notification delays in scenarios like storage management, where immediate client notification is required.
Innovation Solution
Upgrading the communication protocol between the server and clients to a bidirectional or full-duplex protocol, such as WebSocket, allowing the server to initiate calls to connected clients and receive responses, enabling efficient communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If request-response communication connection is used, then clients can initiate communication with the server, but the server cannot initiate communication with clients
Solution Approach 1:
The patent inverts the traditional request-response model by allowing the server to send messages to clients and clients to respond, rather than only clients initiating requests. This is achieved by upgrading to bidirectional connections where the server can push messages to clients, and clients automatically respond with their answers, effectively reversing the traditional communication flow initiation.
2Reliability
If polling is used for client notification, then clients can check for server messages, but computational overhead increases and notification delays occur
Solution Approach 1:
The patent eliminates periodic polling actions by implementing bidirectional connections where the server can push messages to clients at any time. Instead of clients repeatedly checking for messages (periodic action), the server initiates message transmission when data is available, and clients respond immediately, converting periodic inefficient checks into event-driven efficient communication.
Solution Approach 2:
Clients maintain persistent bidirectional connections with the server, allowing the server to push messages directly to them. This self-service approach eliminates the need for clients to continuously poll the server, as the connection infrastructure itself enables the server to deliver messages whenever needed, reducing computational overhead while maintaining reliable notification delivery.
3Adaptability or versatility
If bidirectional connection is implemented, then server can initiate communication with clients, but message routing and matching becomes more complex
Solution Approach 1:
The patent implements feedback mechanisms where clients send response messages back to the server containing the message ID from the server's original message. This feedback loop enables the server to track which clients have received and responded to specific messages, simplifying message routing and matching by providing automatic acknowledgment and response correlation without complex routing logic.
Data Source
AI summary
An example methodology includes, by a server, establishing a request-response communication connection with one or more clients, wherein each request-response communication connection is initiated by the one or more clients, and upgrading the request-response communication connection to a bidirectional connection. The method also includes, by the server, determining a message to send to the one or more connected clients, creating an identifier (ID) for each message to be sent, wherein the ID is unique to each of the one or more connected clients, and broadcasting the message with respective IDs on the bidirectional connection to the one or more connected clients. The server can receive a response message that includes the ID included with the broadcast message from the one or more connected clients, wherein the response message from a connected client is sent on the bidirectional connection between the server and the connected client.


