An Apple patent (number 20110258254) for method and apparatus for updating and synchronizing information between a client and server has appeared at the US Patent & Trademark Office. It seems to involve the new iCloud service, as well as Apple's (or at least the late Steve Jobs') preference of HTML5 over Flash.
The invention provides a method and apparatus for integrating applets running on a client with the application logic for applications running on a server. According to Apple, 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. The inventors are Michael Ferris, Nicolas Popp and Scott Forstall.
Here's Apple's background on the invention: "The Internet is a client/server system. A “client” is the computer that you use to access the Internet. When you log onto the World Wide Web portion of the Internet, you view “web pages” that are stored on a remote “server” computer. Sometimes it is possible for a client to make a change or enter data on a web page. A problem with the Internet is that the whole page needs to be resent from the server to the client with the changed or new data. This is slow and cumbersome. Some background on the Internet helps provide an understanding of this problem.
"The Internet is a worldwide network of interconnected computers. An Internet client accesses a computer on the network via an Internet provider. An Internet provider is an organization that provides a client (e.g., an individual or other organization) with access to the Internet (via analog telephone line or Integrated Services Digital Network line, for example). A client can, for example, download a file from or send an electronic mail message to another computer/client using the Internet. An Intranet is an internal corporate or organizational network that uses many of the same communications protocols as the Internet. The terms Internet, World Wide Web (WWW), and Web as used herein includes the Intranet as well as the Internet.
"The components of the WWW include browser software, network links, and servers. The browser software, or browser, is a user-friendly interface (i.e., front-end) that simplifies access to the Internet. A browser allows a client to communicate a request without having to learn a complicated command syntax, for example. A browser typically provides a graphical user interface (GUI) for displaying information and receiving input. Examples of browsers currently available include Netscape Navigator and Internet Explorer.
"A browser displays information to a client or user-as pages or documents. A language called Hypertext Markup Language (HTML) is used to define the format for a page to be displayed in the browser. A Web page is transmitted to a client as an HTML document. The browser executing at the client parses the document and produces and displays a Web Page based on the information in the HTML document. Consequently, the HTML document defines the Web Page that is rendered at runtime on the browser."
-- Dennis Sellers