Multi-Tab Message Handling via Non-Blocking Top-Level Windows
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-tab application programs, such as browsers, the hanging of one page window can cause all other page windows to become unresponsive, leading to a poor user experience as users cannot operate on other tabs until the affected window is restarted.
Innovation Solution
The method involves creating page windows as top-level windows, allowing input messages to be sent in a non-blocking mode without sending associated system messages, enabling the main frame window to continue handling messages for other page windows even if one is hung, thereby preventing the spreading of page window hanging.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If page windows are created as child windows with blocking message sending mode, then system message handling is simplified, but hanging of one page window causes all other page windows to become unresponsive
Solution Approach 1:
The patent segments the message handling mechanism by creating each page window as an independent top-level window rather than a child window. This segmentation allows each window to process messages independently, so that when one window hangs, it does not block the message processing of other windows. The main frame window sends messages to individual page windows without requiring system-wide message loops, isolating failures to specific windows only.
2Productivity
If non-blocking message sending mode is used for page windows, then other page windows remain operational during hanging, but system message handling becomes more complex
Solution Approach 1:
The patent extracts the blocking system message handling mechanism from the page window communication process. By creating page windows as top-level windows, the system removes the requirement for blocking message loops that would otherwise be necessary to handle system messages. The main frame window directly sends messages to page windows without entering blocking waits, extracting the problematic synchronization mechanism while maintaining necessary communication.
Solution Approach 2:
The main frame window acts as an intermediary that manages message sending to page windows. Instead of page windows directly participating in system-wide message loops, the main frame window mediates by receiving user input messages and forwarding them to the appropriate page windows in non-blocking mode. This intermediary approach simplifies the message interaction while preventing hanging propagation.
3Ease of operation
If blocking message sending mode is used, then message processing is simplified, but user experience deteriorates when page window hanging occurs
Solution Approach 1:
The patent segments the window hierarchy to prevent failure propagation. By making each page window a top-level window rather than a child window, the system creates independent operational units. When one page window hangs, the segmentation ensures that the blocking message mechanism affects only that specific window, while other windows remain responsive to user operations. This segmentation preserves ease of operation across the multi-tab interface.
Data Source
AI summary
A method is disclosed for performing message interactions in a multi-tab application program. The method includes creating one or more page windows corresponding to respective tabs in the multi-tab application program as one or more top-level windows and receiving an input message corresponding to a user operation with respect to a particular tab. The method also includes sending the input message to one of the page windows corresponding to the particular tab by a main frame window of the multi-tab application program in a non-blocking message sending mode, without sending any associated system message to the page windows. Further, the method includes continuing to handle messages for other page windows by the main frame window regardless whether the one of the page windows is hung.


