| |
|
|
PRESENTATION PROCESSING OF DOCUMENT |
Method and apparatus for updating and synchronizing information between a client and a server6947967
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.
Claims
1. A method for synchronizing information between a first computer and a second computer comprising:
initializing a communication system between a first computer and a second computer;
accepting user input at said first computer;
creating first computer values associated with said user input;
said first computer constructing a first package, wherein said first package comprises said first computer values;
transmitting said first package to said second computer;
said second computer constructing synchronization information based on said first package, wherein said constructing synchronization information comprises:
comparing said first computer values from said first package with second computer variables;
associating information resulting from said comparing with said synchronization information;
said second computer transmitting said synchronization information to said first computer;
updating said first computer with said synchronization information.
2. The method of claim 1 wherein said synchronizing information between said first computer and said second computer comprises:
displaying said updated values at said first computer.
3. A method for synchronizing information between a first computer and a second computer comprising:
initializing a communication system between a first computer and a second computer, said communication system comprising:
maintaining keys and values;
accepting user input;
determining when to invoke an action;
said first computer constructing a first package, wherein said first package is comprised of said keys and values;
said first computer transmitting said first package to said second computer;
synchronizing information between said second computer and said first computer, said synchronizing comprising:
obtaining said first package at said second computer;
binding said keys and values from said first package to variables in said second computer;
constructing synchronization information based on said first package, wherein said constructing synchronization information comprises:
comparing said bound variables with said keys and values from said first package to determine changed keys and values;
placing said changed keys and said values in said synchronization information;
transmitting said synchronization information to said first computer;
updating said first computer with said synchronization information.
4. The method of claim 3 wherein said initializing a communication system further comprises:
extracting said keys and said values; and
creating a first computer dictionary of said extracted keys and extracted values on said first computer.
5. The method of claim 4 wherein said synchronizing information between said first computer and said second computer further comprises updating said first computer dictionary with said keys and said values from said synchronization information.
6. A method for synchronizing information between a first computer and a second computer comprising:
initializing a communication system between a first computer and a second computer, said communication system comprising:
maintaining values;
accepting user input at said first computer; and
determining when to invoke an action;
wherein said initializing said communication system further comprises creating a second computer dictionary of said values;
said first computer constructing a first package, wherein said first package is comprised of first package variables;
transmitting said first package to said second computer;
synchronizing information between said second computer and said first computer, said synchronizing comprising:
using said first package;
updating said second computer dictionary with said first package variables;
binding said second computer dictionary values to variables in said second computer;
constructing synchronization information based on said first package, wherein said constructing synchronization information comprises:
comparing said bound variables with said second computer dictionary values;
associating said values that have changed with said synchronization information;
transmitting said synchronization information comprising said values to said first computer;
updating said first computer with said synchronization information.
7. The method of claim 6 wherein said synchronizing further comprises:
binding said first package variables to variables in said second computer.
8. A method for synchronizing information between a first computer and a second computer comprising:
initializing a communication system between a first computer and a second computer, said communication system comprising:
maintaining second computer variables in said second computer;
accepting user input at said first computer;
determining when to invoke an action;
obtaining a first package, wherein said first package is comprised of first computer values;
transmitting said first package to said second computer;
synchronizing information between said second computer and said first computer, said synchronizing comprising:
said second computer using said first package to invoke an action;
said second computer constructing synchronization information based on said first package, wherein said constructing synchronization information comprises:
comparing said first computer values from said first package with said second computer variables;
including information resulting from said comparing in said synchronization information;
transmitting said synchronization information to said first computer;
updating said first computer with said synchronization information.
9. The method of claim 8 wherein said initializing a communication system further comprises:
creating a controller;
creating an action coordinator; and
creating an association between said controller and said action coordinator.
10. The method of claim 9 further comprising:
transmitting said first package from said action coordinator to a communications channel; and
transmitting said first package from said communications channel to said second computer.
11. The method of claim 10 further comprising:
transmitting said synchronization information from said second computer to said communications channel; and
transmitting said synchronization information from said communications channel to said action coordinator.
12. The method of claim 8 wherein said synchronizing further comprises:
binding said first computer values to said second computer variables.
13. The method of claim 9 wherein said synchronizing information between said second computer and said first computer further comprises:
transmitting updated values from said synchronization information to said action coordinator;
displaying said updated values at said first computer.
14. A method for synchronizing information between a first computer and a second computer comprising:
initializing a communication system between a first computer and a second computer, said communication system comprising;
maintaining keys and values;
accepting user input; and
determining when to invoke an action;
constructing a first package, wherein said first package is comprised of said keys and values;
transmitting said first package to said second computer;
synchronizing information between said second computer and said first computer, said synchronizing comprising:
said second computer using said first package;
binding said keys and values from said first package to variables in said second computer;
said second computer obtaining synchronization information based on said first package, wherein said obtaining synchronization information comprises:
comparing said bound variables with said keys and values from said first package;
placing said keys and said values associated with said first package keys and values in said synchronization information;
said second computer transmitting said synchronization information to said first computer;
updating said first computer with said synchronization information.
15. The method of claim 14 wherein said constructing a first package further comprises:
placing in said first package said keys and their corresponding values that have changed at said first computer as a result of said user input.
16. The method of claim 14 wherein said synchronization information comprises updated keys and updated values.
17. An article of manufacture comprising:
a computer usable medium having computer readable program code embodied therein for synchronizing information between a first computer and a second computer, the computer readable program code in said article of manufacture comprising:
computer readable program code configured to initialize a communication system, said communication system comprising computer readable program code configured to cause said computer to:
maintain keys and values;
accept user input; and
determine when to invoke an action;
computer readable program code configured to cause said first computer to construct a first package, wherein said first package is comprised of said keys and values;
computer readable program code configured to transmit said first package to said second computer;
computer readable program code configured to synchronize information between said second computer and said first computer, said code comprising:
code configured to cause said second computer to obtain said first package at said second computer;
computer readable program code configured to bind said second computer dictionary's values to variables in said second computer;
code configured to cause said second computer to obtain synchronization information, wherein said computer readable program code configured to obtain synchronization information further comprises:
computer readable program code configured to compare said bound variables with said keys and values from said first package;
computer readable program code configured to place said keys and said values associated with said fist package keys and values in said synchronization information;
code configured to cause said second computer to transmit said synchronization information to said first computer;
code configured to cause said first computer to be updated with said synchronization information.
18. The article of manufacture of claim 17 wherein said computer readable program code configured to initialize a communication system further comprises:
computer readable program code configured to create a controller;
computer readable program code configured to create an action coordinator; and
computer readable program code configured to create an associations between said controller and said action coordinator.
19. The article of manufacture of claim 18 further comprising:
computer readable program code configured to transmit said first package from said action coordinator to a communications channel; and
computer readable program code configured to transmit said first package from said communications channel to said second computer.
20. The article of manufacture of claim 19 wherein said computer readable program code configured to synchronize information between said second computer and said first computer further comprises:
computer readable program code configured to transmit said synchronization information from said second computer to said communications channel; and
computer readable program code configured to transmit said synchronization information from said communications channel to said action coordinator.
21. The article of manufacture of claim 18 wherein said computer readable program code configured to synchronize information between said second computer and said first computer further comprises:
computer readable program code configured to transmit updated values from said synchronization information to said action coordinator;
computer readable program code configured to display said updated values.
22. The article of manufacture of claim 17 wherein said computer readable program code configured to initialize a communication system further comprises:
computer readable program code configured to extract said keys and said values; and
computer readable program code configured to create a first computer dictionary of said extracted keys and extracted values on said first computer.
23. The article of manufacture of claim 22 wherein said computer readable program code configured to synchronize information between said second computer and said first computer comprises:
computer readable program code configured to update said first computer dictionary with said keys and said values from said synchronization information.
24. The article of manufacture of claim 17 wherein said computer readable program code configured to construct a first package comprises:
computer readable program code configured to place said keys and their corresponding values that have changed at said first computer as a result of said user input in said first package.
25. The article of manufacture of claim 17 wherein said synchronization information comprises updated keys and updated values.
26. The article of manufacture of claim 17 wherein said computer readable program code configured to synchronize information between said second computer and said first computer comprises:
computer readable program code configured to display said updated values at said first computer.
27. A system for synchronizing information between a client and a server comprising:
a means for initializing a communication system between said client and said server;
a means for constructing a first package having client synchronization information;
a means for transmitting said first package;
a means for updating said server with said first package;
a means for constructing server synchronization information based on said first package;
a means for transmitting said server synchronization information to said client;
a means for said updating said client with said server synchronization information.
28. The system of claim 27, wherein said means for initializing a communication system between said client and said server further comprises:
a means for creating a controller;
a means for creating associations;
a means for creating an action coordinator;
a means for connecting said associations to said action coordinator.
29. The system of claim 28, further comprising means for transmitting said server synchronization information to said action coordinator.
30. The system of claim 27, wherein said means for initializing a communication system between said client and said server further comprises:
a means for creating a server dictionary and a client dictionary.
31. The system of claim 30, further comprising means for updating said client dictionary with said server synchronization information.
32. The system of claim 27, wherein said means for constructing a first package further comprise:
a means for sending information that has changed at said client to said server.
33. The system of claim 27, wherein said means for constructing server synchronization information further comprises:
a means for sending information that has changed at said server to said client.
34. The system of claim 27, further comprising means for binding said client synchronization information to variables in said server.
Description
This patent is missing its Description text. We apologize for any inconvenience.
| «Previous |
Next» |
| Simultaneous display of a coded message together with its translation |
Image server store system and method using combined image views |
|
- Inventors
Ferris, Michael; Popp, Nicolas; Forstall, Scott; D'Harcourt, Charles;
- Assignee
Apple Computer (Cupertino, CA)
- Published
Sep-20-2005
- Current US Classes:
370/509 709/201 709/203 715/500
- Application #
863817
- International Classes
G06F 015/16
- Field of Search
709/201-203 707/10 707/203 718/102 345/419
- Examiner
Vu; Thong
- Agent
The Hecker Law Group, PLC
- US Patent References:
4379326 4583221 4819156 5408470 5452299 5457746 5781775 5870759 5887029 5924096 5953005 5966714 6141664 6154742 6233617 6253228 6295541 6331851
|