Dynamic Client Registration for Server Push Events in Long Polling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current web-based applications using long polling for server push events require clients to maintain separate connections for each application, leading to inefficiencies in data management and bandwidth usage, especially for clients that do not support full-duplex push connections.
Innovation Solution
Implementing dynamic client registration for server push events using a single push channel session, where clients can register to receive messages from multiple backend applications through a messaging channel runtime, allowing for efficient communication and message dispatching without the need for multiple connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If clients maintain separate connections for each application using long polling, then clients can receive push events from multiple backend applications, but bandwidth usage increases and data management becomes inefficient
Solution Approach 1:
The patent combines multiple long polling connections into a single push channel session. The server consolidates push events from multiple backend applications through one unified connection, eliminating the need for separate connections per application. This merging reduces bandwidth consumption and simplifies data management while maintaining reliable push event delivery to clients.
Solution Approach 2:
The single push channel session serves multiple backend applications simultaneously, making it a universal communication channel. The server can route push events from different applications through the same connection, allowing the channel to perform multiple functions rather than requiring dedicated connections for each application.
2Adaptability or versatility
If clients maintain separate connections for each application, then each connection can be optimized for specific application data, but device complexity and connection management become problematic
Solution Approach 1:
Multiple application-specific connections are merged into a single push channel session. The server maintains the ability to handle different application data types through one unified connection, reducing the complexity of managing multiple separate connections while preserving application-specific data handling capabilities.
Solution Approach 2:
The server acts as an intermediary that receives push events from multiple backend applications and routes them through a single push channel to the client. This intermediary role simplifies client-side connection management while maintaining the ability to handle application-specific data through structured message routing.
3Loss of energy
If a single push channel is used for multiple applications, then bandwidth usage is reduced, but clients that do not support full-duplex push connections cannot benefit
Solution Approach 1:
The push channel system is designed to be universal, supporting both full-duplex push connections and long polling scenarios. The server can adapt the single push channel to work with clients that have different capabilities, allowing bandwidth-efficient operation for capable clients while maintaining compatibility with clients that require long polling or do not support full-duplex connections.
Solution Approach 2:
The system dynamically adapts to client capabilities. For clients that support full-duplex push connections, the server utilizes the efficient push model. For clients that do not support full-duplex connections, the server can fall back to long polling mechanisms, ensuring broad compatibility while optimizing bandwidth usage where possible.
Data Source
AI summary
The disclosure generally describes computer-implemented methods, software, and systems for modeling and deploying decision services. One computer-implemented method includes establishing a push-channel session uniquely associated with a client, wherein the push channel session communicates with the client using a single push channel. The computer-implemented method further includes registering the established push-channel session with a messaging channel runtime creating a client-specific messaging channel and registering a backend application with the push-channel-session-associated single push channel using a push channel registration session. The method further includes, responsive to an application message received from an application session associated with the backend application using a client-specific application channel, dispatching the received application message to the push-channel session from the messaging channel runtime using the client-specific messaging channel. The method includes communicating the dispatched application message to the client using the single push channel.


