Event Polling System for Instant Messaging Session Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing instant messaging systems face challenges in managing session states and event synchronization between clients and servers, leading to potential message loss and inefficiencies in real-time communication due to network disruptions or application errors.
Innovation Solution
A method and system for event polling that involves providing a session key to client devices, setting timers for session and event revisions, and queuing events until the client confirms receipt and processing, ensuring that events are not lost during network disruptions or application errors by using a session timer and event revision numbers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If events are sent immediately to clients in real-time instant messaging, then communication speed is improved, but message loss occurs during network disruptions or application errors
Solution Approach 1:
The server performs preliminary actions by queuing events and checking revision numbers before sending messages to clients. This ensures that messages are only transmitted when the client is ready to receive them, preventing message loss during network disruptions while maintaining real-time communication capability.
Solution Approach 2:
The system implements feedback mechanisms through revision number matching. The server sends the current revision number to the client, and the client returns the last received revision number. This feedback loop allows the server to verify successful message delivery and retransmit any lost messages, ensuring reliable communication without sacrificing speed.
2Reliability
If the server continuously monitors and sends events to all clients, then real-time synchronization is improved, but server processing overhead increases
Solution Approach 1:
Instead of continuously monitoring and sending all events to all clients, the server performs partial actions by only sending events to clients who have caught up to the current revision number. This reduces unnecessary server processing and network traffic while maintaining synchronization for clients who need it, applying effort only where required rather than universally.
3Reliability
If the system implements comprehensive event tracking and revision number matching, then message loss is prevented, but system complexity increases
Solution Approach 1:
The system implements self-service mechanisms where each client autonomously tracks its own last received revision number and actively requests events from the server when ready. This distributes the complexity of event tracking to individual clients rather than requiring centralized server-side tracking for each client, reducing overall system complexity while maintaining reliable message delivery.
Data Source
AI summary
A method and system for event polling have been disclosed. According to one embodiment, a computer-implemented method comprises receiving a session request from a client device. A session key is provided to the client device in response to the session request. A session timer is set for a predetermined time period. An event revision number is received from the server device. The client is provided with an updated event revision number if the event revision number matches an expected revision number. An event from an instant messaging server is placed in a queue until the event revision number matches the expected revision number, the event including one or more of instant messages, buddy events, typing, and application events.


