CA2284994C

Method and apparatus for updating and synchronizing information between a client and a server

Abstract

The present invention provides amethod and apparatus for integrating applets running on a client with the applicationlogic for applications running ona server. The mechanism of the presentinvention provides two significant advantagesover the prior art: the synchronizationof state, and the recognition of useractions in the browser including the invocationof the appropriate applicationlogic in the server. Instead of using the FORM element available in HTML, individual active applets (201) are availableand may be created that obtain user input(e.g. a checkbox, textbox, button, etc.). A hidden applet called the Applet Group Controller (202) is created which handlescommunication between the applets onthe browser and the application logic onthe server. The Applet Group Controller(202) maintains an association (302) witheach applet (201) that maintains the keysand values of any parameters and variablesfor the applet (201). In a preferredembodiment, upon the invocation of anevent, the association instructs an ActionCoordinator (301) to invoke an action. The Action Coordinator (301) obtains and transmits a list of all of the keys and their values to theserver. The server invokes the appropriate application logic and transmits the keys and their values (as updated during the execution of theapplication logic) back to the Action Coordinator (301). The Action Coordinator (301) then pushes the updated values out to the applets(201) (through their Associations (302)) at which time the browser's display is updated with the new values.

Term

Term ended

Expired 30 March 2018, 8.5 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

103 claims: 12 independent, 91 dependent

  1. 1
    31 CLAIMS 1. A method for synchronizing information between a client and a server comprising the steps of:initializing a communication system, said communication system comprising a plurality of objects, said objects capable of: maintaining keys and values;displaying a means to accept user input;and determining when to invoke an action;constructing a first package;transmitting said first package to said server;constructing a second package;transmitting said second package to said client;and updating said keys and said values.
  2. 2
    The method of claim 1 wherein said initialization step comprises the steps of:creating a controlling object;surveying said plurality of objects;creating associations;connecting said associations to said plurality of objects;creating an action coordinator;and connecting said associations to said action coordinator.
  3. 3
    The method of claim 2 wherein said initialization step further comprises the steps of:extracting said keys and said values from said plurality of objects;and creating a client dictionary of said extracted keys and extracted values on said client. 32
  4. 4
    The method of claim 1 wherein said first package is comprised of:said keys;and said values.
  5. 5
    The method of claim 3 wherein said step of constructing a first package comprises the steps of:comparing said keys and said values to said dictionary keys and said dictionary values;and placing said keys and their corresponding values that have changed in said first package.
  6. 6
    The method of claim 2 wherein said step of transmitting said first package comprises the steps of:transmitting said first package from said action coordinator to a communications channel;and transmitting said first package from said communications channel to said server.
  7. 7
    The method of claim 1 wherein said step of transmitting said first package further comprises the step of binding said keys to variables in said server.
  8. 8
    The method of claim 1 wherein said step of initializing a communications system further comprises the step of creating a server dictionary of said keys and said values on said server. 33
  9. 9
    The method of claim 8 wherein said step of transmitting said first package further comprises the steps of:updating said server dictionary with said keys and said values from said package;and binding said server dictionary's values to variables in said server.
  10. 10
    The method of claim 4 wherein said step of transmitting said first package to said server further comprises the step of binding said values from said first package to variables in said server.
  11. 11
    The method of claim 10 wherein said second package comprises updated keys and updated values.
  12. 12
    The method of claim 8 wherein said step of constructing a second package further comprises the steps of:comparing said bound variables with said server dictionary's values;and placing said keys and said values that have changed in said second package.
  13. 13
    The method of claim 6 wherein said step of transmitting said second package comprises the steps of:transmitting said second package from said server to said communications channel;and transmitting said second package from said communications channel to said action coordinator. 34
  14. 14
    The method of claim 3 wherein said step of updating said keys and said values further comprises the step of updating said client dictionary with said keys and said values from said second package.
  15. 15
    The method of claim 11 wherein said step of updating said keys and said values comprises the steps of:transmitting said keys and said updated values to said objects;and displaying said updated values.
  16. 16
    The method of claim 2 wherein said step of updating said keys and said values further comprises the steps of:transmitting updated values from said second package to said action coordinator;transmitting said updated values from said action coordinator to said associations;distributing said updated values from said associations to said objects;and displaying said updated values. 35
  17. 17
    An article of manufacture comprising:a computer usable medium having computer readable program code embodied therein for synchronizing information between a client and a server, the computer readable program code in said article of manufacture comprising: computer readable program code configured to cause a computer to initialize a communication system, said communication system comprising a plurality of objects, said objects containing computer readable program code configured to cause said computer to: maintain keys and values;display a means to accept user input;and determine when to invoke an action;computer readable program code configured to cause said computer to construct a first package;computer readable program code configured to cause said computer to transmit said first package to said server;computer readable program code configured to cause said computer to construct a second package;computer readable program code configured to cause said computer to transmit said second package to said client;and computer readable program code configured to cause said computer to update said keys and said values. 36
  18. 18
    The article of manufacture of claim 17 wherein said computer readable program code configured to cause said computer to initialize a communication system further comprises:computer readable program code configured to cause said computer to create a controlling object;computer readable program code configured to cause said computer to survey said plurality of objects;computer readable program code configured to cause said computer to create associations;computer readable program code configured to cause said computer to connect said associations to said plurality of objects;computer readable program code configured to cause said computer to create an action coordinator;and computer readable program code configured to cause said computer to connect said associations to said action coordinator.
  19. 19
    The article of manufacture of claim 18 wherein said computer readable program code configured to cause said computer to initialize a communication system further comprises:computer readable program code configured to cause said computer to extract said keys and said values from said plurality of objects;and computer readable program code configured to cause said computer to create a client dictionary of said extracted keys and extracted values on said client. 37
  20. 20
    The article of manufacture of claim 17 wherein said first package is comprised of:said keys;and said values.
  21. 21
    The article of manufacture of claim 19 wherein said computer readable program code configured to cause said computer to construct a first package comprises:computer readable program code configured to cause a computer to compare said keys and said values to said dictionary keys and said dictionary values;and computer readable program code configured to cause a computer to place said keys and their corresponding values that have changed in said first package.
  22. 22
    The article of manufacture of claim 18 wherein said computer readable program code configured to cause said computer to transmit said first package comprises:computer readable program code configured to cause a computer to transmit said first package from said action coordinator to a communications channel;and computer readable program code configured to cause a computer to transmit said first package from said communications channel to said server.
  23. 23
    The article of manufacture of claim 17 wherein said computer readable program code configured to cause said transmit said first package further comprises computer readable program code configured to cause a computer to bind said keys to variables in said server. 38
  24. 24
    The article of manufacture of claim 17 wherein said computer readable program code configured to cause said computer to initialize a communications system further comprises computer readable program code configured to cause a computer to create a server dictionary of said keys and said values on said server.
  25. 25
    The article of manufacture of claim 24 wherein said computer readable program code configured to cause said computer to transmit said first package further comprises:computer readable program code configured to cause a computer to update said server dictionary with said keys and said values from said package;and computer readable program code configured to cause a computer to bind said server dictionary's values to variables in said server.
  26. 26
    The article of manufacture of claim 17 wherein said computer readable program code configured to cause said computer to transmit said first package to said server further comprises computer readable program code configured to cause a computer to bind said values from said first package to variables in said server.
  27. 27
    The article of manufacture of claim 26 wherein said second package comprises updated keys and updated values. 39
  28. 28
    The article of manufacture of claim 24 wherein said computer readable program code configured to cause said computer to construct a second package further comprises:computer readable program code configured to cause a computer to compare said bound variables with said server dictionary's values;and computer readable program code configured to cause a computer to place said keys and said values that have changed in said second package.
  29. 29
    The article of manufacture of claim 22 wherein said computer readable program code configured to cause said computer to transmit said second package comprises:computer readable program code configured to cause a computer to transmit said second package from said server to said communications channel;and computer readable program code configured to cause a computer to transmit said second package from said communications channel to said action coordinator.
  30. 30
    The article of manufacture of claim 19 wherein said computer readable program code configured to cause said computer to update said keys and said values further comprises computer readable program code configured to cause a computer to update said client dictionary with said keys and said values from said second package. 44
  31. 31
    The article of manufacture of claim 27 wherein said computer readable program code configured to cause said computer to update said keys and said values comprises:computer readable program code configured to cause a computer to transmit said keys and said updated values to said object;and computer readable program code configured to cause a computer to display said updated values.
  32. 32
    The article of manufacture of claim 18 wherein said computer readable program code configured to cause said computer to update said keys and said values further comprises:computer readable program code configured to cause a computer to transmit updated values from said second package to said action coordinator;computer readable program code configured to cause a computer to transmit said updated values from said action coordinator to said associations;computer readable program code configured to cause a computer to distribute said updated values from said associations to said objects;and computer readable program code configured to cause a computer to display said updated values.
  33. 33
    The method of claim 1 further comprising the step of invoking a method.
  34. 34
    The article of manufacture of claim 17 further comprising computer readable program code configured to cause a computer to invoke a method. 41
  35. 35
    The method of claim 4 wherein said first package is further comprised of a reference to said action.
  36. 36
    The article of manufacture of claim 20 wherein said first package is further comprised of a reference to said action.
  37. 37
    The method of claim 5 further comprising the step of placing a reference to said action in said first package.
  38. 38
    The article of manufacture of claim 21 further comprising computer readable program code configured to cause a computer to place a reference to said action in said first package.
  39. 39
    A method for synchronizing information between a client and a server comprising the steps of:initializing a communication system between said client and said server, said communication system comprising a plurality of objects, said objects capable of: maintaining keys and values;accepting user input;and determining when to invoke an action;wherein said initializing a communication system further comprises creating a server dictionary of said values on said server;said client constructing a first package, wherein said first package is comprised of said keys and values;said client transmitting said first package to said server;synchronizing information between said server and said client comprising the steps of: said server using said first package;42 updating said server dictionary with said keys and values from said first package;binding said server dictionary's values to variables in said server;said server constructing synchronization information based on said first package, wherein said constructing synchronization information comprises the steps of: comparing said bound variables with said server dictionary's values;placing said keys and said values that have changed in said synchronization information;said server transmitting said synchronization information to said objects;said objects updating said client with said synchronization information.
  40. 40
    The method of claim 39 wherein said initializing a communication system step comprises the steps of:creating a controlling object;surveying said plurality of objects;creating associations;connecting said associations to said plurality of objects;creating an action coordinator;and connecting said associations to said action coordinator.
  41. 41
    Thee method of claim 40 wherein said initializing a communication system step further comprises the steps of:extracting said keys and said values from said plurality of objects;and creating a client dictionary of said extracted keys and extracted values on said client.
  42. 42
    The method of claim 41 wherein said step of constructing a first package comprises the steps of:43 comparing said keys and said values to said dictionary keys and said dictionary values;and placing said keys and their corresponding values that have changed in said first package.
  43. 43
    The method of claim 42 further comprising the step of placing a reference to said action in said first package.
  44. 44
    The method of claim 41 wherein said step of synchronizing information between said client and said server further comprises the step of updating said client dictionary with said keys and said values from said synchronization information.
  45. 45
    The method of claim 40 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 server.
  46. 46
    The method of claim 45 further comprising the steps of:transmitting said synchronization information from said server to said communications channel;and transmitting said synchronization information from said communications channel to said action coordinator.
  47. 47
    The method of claim 40 wherein said step of synchronizing information between said server and said client further comprises the steps of:transmitting updated values from said synchronization information to said action coordinator;44 transmitting said updated values from said action coordinator to said associations;distributing said updated values from said associations to said objects;and displaying said updated values.
  48. 48
    The method of claim 39 wherein said synchronizing step further comprises:binding said keys to variables in said server.
  49. 49
    The method of claim 39 wherein said synchronizing step further comprises:binding said values from said first package to variables in said server.
  50. 50
    The method of claim 49 wherein said synchronization information comprises updated keys and updated values.
  51. 51
    The method of claim 50 wherein said step of synchronizing information between said client and said server comprises the steps of:transmitting said keys and said updated values to said objects;and displaying said updated values.
  52. 52
    The method of claim 39 wherein said first package is further comprised of a reference to said action.
  53. 53
    An article of manufacture comprising:a computer usable medium having computer readable program code embodied therein for synchronizing information between a client and a server, the computer readable program code in said article of manufacture comprising: 45 computer readable program code configured to cause a computer to initialize a communication system, said communication system comprising a plurality of objects, said objects containing computer readable program code configured to cause said computer to: maintain keys and values;accept user input;and determine when to invoke an action;wherein said computer readable program code configured to cause said computer to initialize a communications system further comprises computer readable program code configured to cause said computer to create a server dictionary of said keys and said values on said server;computer readable program code configured to cause said computer to construct a first package, wherein said first package is comprised of said keys and values;computer readable program code configured to cause said computer to transmit said first package to said server;computer readable program code configured to cause said computer to synchronize information between said server and said client, said code comprising: code configured to cause said server to use said first package;computer readable program code configured to cause said computer to update said server dictionary with said keys and said values from said package;computer readable program code configured to cause said computer to bind said server dictionary's values to variables in said server;code configured to cause said server to construct synchronization information, wherein said computer readable program code configured to cause said computer to construct synchronization information further comprises: computer readable program code configured to cause said computer to compare said bound variables with said server dictionary's values;46 computer readable program code configured to cause said computer to place said keys and said values that have changed in said synchronization information;code configured to cause said server to transmit said synchronization information to said objects;and code configured to cause said objects to update said client with said synchronization information.
  54. 54
    The article of manufacture of claim 53 wherein said computer readable program code configured to cause said computer to initialize a communication system further comprises:computer readable program code configured to cause said computer to create a controlling object;computer readable program code configured to cause said computer to survey said plurality of objects;computer readable program code configured to cause said computer to create associations;computer readable program code configured to cause said computer to connect said associations to said plurality of objects;computer readable program code configured to cause said computer to create an action coordinator;and computer readable program code configured to cause said computer to connect said associations to said action coordinator.
  55. 55
    The article of manufacture of claim 54 wherein said computer readable program code configured to cause said computer to initialize a communication system further comprises:computer readable program code configured to cause said computer to extract said keys and said values from said plurality of objects;and 47 computer readable program code configured to cause said computer to create a client dictionary of said extracted keys and extracted values on said client.
  56. 56
    The article of manufacture of claim 55 wherein said computer readable program code configured to cause said computer to construct a first package comprises:computer readable program code configured to cause said computer to compare said keys and said values to said dictionary keys and said dictionary values;and computer readable program code configured to cause said computer to place said keys and their corresponding values that have changed in said first package.
  57. 57
    The article of manufacture of claim 56 further comprising computer readable program code configured to cause a computer to place a reference to said action in said first package.
  58. 58
    The article of manufacture of claim 55 wherein said computer readable program code configured to cause said computer to synchronize information between said server and said client comprises:computer readable program code configured to cause said computer to update said client dictionary with said keys and said values from said synchronization information.
  59. 59
    The article of manufacture of claim 54 further comprising:computer readable program code configured to cause said computer to transmit said first package from said action coordinator to a communications channel;and 48 computer readable program code configured to cause said computer to transmit said first package from said communications channel to said server.
  60. 60
    The article of manufacture of claim 59 wherein said computer readable program code configured to cause said computer to synchronize information between said server and said client further comprises:computer readable program code configured to cause said computer to transmit said synchronization information from said server to said communications channel;and computer readable program code configured to cause said computer to transmit said synchronization information from said communications channel to said action coordinator.
  61. 61
    The article of manufacture of claim 54 wherein said computer readable program code configured to cause said computer to synchronize information between said server and said client further comprises:computer readable program code configured to cause said computer to transmit updated values from said synchronization information to said action coordinator;computer readable program code configured to cause said computer to transmit said updated values from said action coordinator to said associations;computer readable program code configured to cause said computer to distribute said updated values from said associations to said objects;and computer readable program code configured to cause said computer to display said updated values.
  62. 62
    The article of manufacture of claim 53 further comprising:computer readable program code configured to cause said computer to bind said keys to variables in said server. 49
  63. 63
    The article of manufacture of claim 53 further comprising computer readable program code configured to cause said client computer to bind said values from said first package to variables in said server.
  64. 64
    The article of manufacture of claim 63 wherein said synchronization information comprises updated keys and updated values.
  65. 65
    The article of manufacture of claim 64 wherein said computer readable program code configured to cause said computer to synchronize information between said server and said client comprises:computer readable program code configured to cause said computer to transmit said keys and said updated values to said object;and computer readable program code configured to cause said computer to display said updated values.
  66. 66
    The method of claim 39 further comprising the step of invoking a method.
  67. 67
    The article of manufacture of claim 53 further comprising computer readable program code configured to cause a computer to invoke a method.
  68. 68
    The article of manufacture of claim 53 wherein said first package is further comprised of a reference to said action.
  69. 69
    A method for updating and synchronizing information comprising:initializing a communication system having a client and a server, said client comprising a browser and an object invisibly coupled to said browser, said 50 browser capable of accepting input from a user, said object capable of interpreting said input, maintaining keys and values based on said input, and determining when to invoke an action based on said input;wherein said initializing a communication system further comprises creating a server dictionary of said values on said server;said object constructing a first package, wherein said first package is comprised of said keys and values;said object transmitting said first package from said client to said server;and synchronizing said server and said browser comprising: said server using said first package;updating said server dictionary with said keys and values from said first package;binding said server dictionary's values to variables in said server;said server constructing a second package based on said first package, wherein said constructing a second package comprises the steps of: comparing said bound variables with said server dictionary's values;placing said keys and said values that have changed in said second package;said server returning said second package to said object;and said object updating said browser by pushing said second package through to said browser.
  70. 70
    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;51 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.
  71. 71
    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;52 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.
  72. 72
    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;53 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.
  73. 73
    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: 54 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.
  74. 74
    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;55 said second computer transmitting said synchronization information to said first computer;updating said first computer with said synchronization information.
  75. 75
    The method of claim 73 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.
  76. 76
    The method of claim 71 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.
  77. 77
    The method of claim 74 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.
  78. 78
    The method of claim 75 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. 56
  79. 79
    The method of claim 73 wherein said synchronizing further comprises:binding said first computer values to said second computer variables.
  80. 80
    The method of claim 72 wherein said synchronizing further comprises:binding said first package variables to variables in said second computer.
  81. 81
    The method of claim 74 wherein said synchronization information comprises updated keys and updated values.
  82. 82
    The method of claim 78 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.
  83. 83
    The method of claim 76 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.
  84. 84
    The method of claim 70 wherein said synchronizing information between said first computer and said second computer comprises:displaying said updated values at said first computer.
  85. 85
    The method of claim 75 wherein said synchronizing information between said second computer and said first computer further comprises:57 transmitting updated values from said synchronization information to said action coordinator;displaying said updated values at said first computer.
  86. 86
    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: 58 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 first 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.
  87. 87
    The article of manufacture of claim 86 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 association between said controller and said action coordinator.
  88. 88
    The article of manufacture of claim 86 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.
  89. 89
    The article of manufacture of claim 86 wherein said computer readable program code configured to construct a first package comprises:59 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.
  90. 90
    The article of manufacture of claim 87 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.
  91. 91
    The article of manufacture of claim 86 wherein said synchronization information comprises updated keys and updated values.
  92. 92
    The article of manufacture of claim 90 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.
  93. 93
    The article of manufacture of claim 88 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. 60
  94. 94
    The article of manufacture of claim 86 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.
  95. 95
    The article of manufacture of claim 87 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.
  96. 96
    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. 61
  97. 97
    The system of claim 96 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.
  98. 98
    The system of claim 96 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.
  99. 99
    The system of claim 96 wherein said means for constructing a first package further comprises:a means for sending information that has changed at said client to said server.~
  100. 100
    The system of claim 96 wherein said means for constructing server synchronization information further comprises:a means for sending information that has changed at said server to said client.
  101. 101
    The system of claim 98 further comprising means for binding said client synchronization information to variables in said server.
  102. 102
    The system of claim 98 further comprising means for updating said client dictionary with said server synchronization information.
  103. 103
    The system of claim 98 further comprising means for transmitting said server synchronization information to said action coordinator.
Independent claims103