Enhancing application performance in dynamic networks
First Claim
1. A method of preventing blocking of an application communicating with another device utilizing a connection, wherein the application comprises an application-client configured to communicate asychronously with a server and a user interface for accepting a user input from and presenting an output to a user, the user input including at least one command requiring communication with the server, wherein the user input is handled by the application, the method comprising the steps of:
- forwarding, by the application, a user request to the user interface of the application to the application-client of the application, the user request comprising the at least one command;
issuing, by the application-client of the application, a confirmation message to complete a request-acknowledgment loop between the user interface of the application and the application-client of the application prior to executing the request thereby freeing the user interface of the application to process subsequent user input prior to completion of the request;
storing user input from the user interface of the application for subsequent handling by the application-client of the application; and
communicating, by the application-client of the application, with the server to handle the user input received from the user interface of the application.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and device are disclosed that enable a user to experience continuity by alleviating blocking of an application by a slow or failure-prone connection. The method includes dissociating the user interface from an application-client managing communications with a server over the dynamic connection. Furthermore, the application-client caches user input for later actions using an asynchronous mechanism to enable the user to work with little interruption. Furthermore, adjustable frame sizes based on the error rate and bandwidth-delay increase throughput. Data retransmission is reduced by maintaining state information for the client and the server so that a disrupted transaction is resumed at or close to the point of disruption and in response to media sense-events. Consequently, establishing, tearing down and adjusting network connections in response to events such as: high error rates, increasing latency, availability of better alternative connections, or loss of a connection do not interrupt the user'"'"'s experience.
20 Citations
21 Claims
-
1. A method of preventing blocking of an application communicating with another device utilizing a connection, wherein the application comprises an application-client configured to communicate asychronously with a server and a user interface for accepting a user input from and presenting an output to a user, the user input including at least one command requiring communication with the server, wherein the user input is handled by the application, the method comprising the steps of:
-
forwarding, by the application, a user request to the user interface of the application to the application-client of the application, the user request comprising the at least one command;
issuing, by the application-client of the application, a confirmation message to complete a request-acknowledgment loop between the user interface of the application and the application-client of the application prior to executing the request thereby freeing the user interface of the application to process subsequent user input prior to completion of the request;
storing user input from the user interface of the application for subsequent handling by the application-client of the application; and
communicating, by the application-client of the application, with the server to handle the user input received from the user interface of the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A device for preventing blocking of at least one application communicating with a network over a connection, the device comprising the at least one application, the at least one application comprising:
-
at least one software module for presenting a user interface;
at least one client module for asynchronously communicating with a server;
a media-sense module for detecting whether the connection is operational, the media-sense module configured to, at least;
detect cessation of traffic link underlying the connection; and
determine an error rate for the connection;
a first software module for saving a state of the at least one client module; and
a second software module for retrieving the saved state and continue a communication session when the connection is restored as detected by the media-sense module. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
Specification