Method and apparatus for updating and synchronizing information between a client and server
First Claim
1. A method of synchronizing information between a client and a server comprising:
- receiving at a server from a client a package comprising (a) an action data indicating an action to be performed by the server and (b) a key and a value corresponding to the key;
determining an action logic associated with the action;
binding the key to a variable associated with the action logic; and
using the value corresponding to the key to update the variable at the server prior to performing the action;
wherein one or more of the action, the key, and the value are associated with an applet running on the client;
the applet is associated with a display page being rendered at the client;
the server does not maintain a state information associated with a state of the variable with respect to the display page as rendered at the client; and
using the value to update the variable at the server synchronizes the variable at the server with a corresponding value associated with the display page prior to the action being performed.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method and apparatus for integrating applets running on a client with the application logic for applications running on a server. The mechanism of the present invention provides two significant advantages over the prior art: the synchronization of state, and the recognition of user actions in the browser including the invocation of the appropriate application logic in the server. Instead of using the FORM element available in HTML, individual active applets are available and may be created that obtain user input (e.g. a checkbox, textbox, button, etc.). A hidden applet called the Applet Group Controller is created which handles communication between the applets on the browser and the application logic on the server. The Applet Group Controller maintains an association with each applet that maintains the keys and values of any parameters and variables for the applet. In a preferred embodiment, upon the invocation of an event, the association instructs an Action Coordinator to invoke an action. The Action Coordinator obtains and transmits a list of all of the keys and their values to the server. The server invokes the appropriate application logic and transmits the keys and their values (as updated during the execution of the application logic) back to the Action Coordinator. The Action Coordinator then pushes the updated values out to the applets (through their Associations) at which time the browser'"'"'s display is updated with the new values.
-
Citations
19 Claims
-
1. A method of synchronizing information between a client and a server comprising:
-
receiving at a server from a client a package comprising (a) an action data indicating an action to be performed by the server and (b) a key and a value corresponding to the key; determining an action logic associated with the action; binding the key to a variable associated with the action logic; and using the value corresponding to the key to update the variable at the server prior to performing the action; wherein one or more of the action, the key, and the value are associated with an applet running on the client;
the applet is associated with a display page being rendered at the client;
the server does not maintain a state information associated with a state of the variable with respect to the display page as rendered at the client; and
using the value to update the variable at the server synchronizes the variable at the server with a corresponding value associated with the display page prior to the action being performed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of synchronizing information between a client and a server comprising:
-
receiving an indication that an event has occurred; determining in response to the event whether a value associated with a key has changed since a last report from a last reported value to a current value that is different than the last reported value including by polling an applet with which the key and associated value are associated; and if it is determined that the value has changed, reporting the current value to a remote server via a communication channel; wherein the applet is associated with a display page being rendered at the client;
the server does not maintain a state information associated with a state of the value with respect to the display page as rendered at the client; and
the server is configured to use the reported current value to update at the server a variable corresponding to the key; andwherein using the reported current value to update at the server the variable corresponding to the key synchronizes the variable at the server with the corresponding value associated with the display page. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer system comprising:
-
a processor; and a memory coupled to the processor and configured to provide to the processor instructions for; receiving from a client a package comprising (a) an action data indicating an action to be performed and (b) a key and a value corresponding to the key; determining an action logic associated with the action; binding the key to a variable associated with the action logic; and using the value corresponding to the key to update the variable at the computer system prior to performing the action; wherein the computer system comprises a server;
one or more of the action, the key, and the value are associated with an applet running on the client;
the applet is associated with a display page being rendered at the client;
the server does not maintain a state information associated with a state of the variable with respect to the display page as rendered at the client; and
using the value to update the variable at the server synchronizes the variable at the server with a corresponding value associated with the display page prior to the action being performed. - View Dependent Claims (17)
-
-
18. A computer system comprising:
-
a processor; and a memory coupled to the processor and configured to provide to the processor instructions for; receiving an indication that an event has occurred; determining in response to the event whether a value associated with a key has changed since a last report from a last reported value to a current value that is different than the last reported value including by polling an applet with which the key and associated value are associated; and if it is determined that the value has changed, reporting the current value to a remote server via a communication channel; wherein the applet is associated with a display page being rendered at the client; the server does not maintain a state information associated with a state of the value with respect to the display page as rendered at the client; and
the server is configured to use the reported current value to update at the server a variable corresponding to the key; and
wherein using the reported current value to update at the server the variable corresponding to the key synchronizes the variable at the server with the corresponding value associated with the display page. - View Dependent Claims (19)
-
Specification