IP Library › Granted Patent US 8,447,807
Granted Patent B2
US 8,447,807 · App. 13/414,482 · Granted May 21, 2013

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

Inventors: Michael Ferris (Oakland, CA); Nicolas Popp (Menlo Park, CA); Scott Forstall (Palo Alto, CA); Charles D'Harcourt (San Francisco, CA)
Assignee: Apple Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,447,807
App. No.
13/414,482
Granted
May 21, 2013
Kind
B2
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. 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.

Claims (48)

1. A method of synchronizing information comprising:

accepting user input via a display page at a first computer;

using a record of values received from the second computer to determine first computer values associated with said user input that have changed since a last communication with the second computer;

constructing a first package that includes said first computer values;

transmitting said first package to a second computer;

receiving from said second computer a synchronization information, wherein said second computer is configured to compare said first computer values from said first package with one or more second computer variables; construct said synchronization information based at least in part on information resulting from said comparison; and transmit said synchronization information to said first computer; and

updating the display page at said first computer based at least in part on said synchronization information by using the synchronization information to update a portion of the display page as displayed at the first computer without requiring retransmission of the entire display page.

2. A method as recited in claim 1 , further comprising initializing communication between said first computer and said second computer.

3. A method as recited in claim 2 , wherein initializing communication between said first computer and said second computer includes using a browser or other client software at the first computer to retrieve the display page from the second computer.

4. A method as recited in claim 1 , wherein the display page comprises a web page.

5. A method as recited in claim 4 , wherein updating the display page at said first computer comprises updating a web page as displayed at the first computer without requiring an entire web page to be rendered.

6. A method as recited in claim 1 , wherein accepting user input at said first computer comprises accepting user input in an input field of the display page.

7. A method as recited in claim 1 , wherein said first package includes one or more key-value pairs.

8. A method as recited in claim 1 , wherein said first package further includes an action data indicating an action to be invoked at the second computer.

9. A method as recited in claim 8 , wherein the second computer is configured to use said action data to determine an action logic to be invoked at the second computer.

10. A method as recited in claim 1 , wherein transmitting said first package comprises sending an HTTP communication.

11. A method as recited in claim 1 , wherein transmitting said first package comprises sending an HTTP communication; and wherein said first package comprises one or more key-values and an action data indicating an action to be invoked at the second computer.

12. A method as recited in claim 1 , wherein said display page comprises a web page; said user input comprises an input received via the web page as displayed at the first computer; and said synchronization information is used at the first computer to update a portion of the web page as displayed at the first computer without requiring retransmission of the entire web page from the second computer to the first computer.

13. A system comprising:

a communication interface; and

a processor coupled to the communication interface and configured to:

accept user input via a display page at a first computer;

use a record of values received from the second computer to determine first computer values associated with said user input that have changed since a last communication with the second computer;

construct a first package that includes said first computer values;

transmit said first package, via said communication interface, to a second computer;

receive from said second computer, via said communication interface, a synchronization information, wherein said second computer is configured to compare said first computer values from said first package with one or more second computer variables; construct said synchronization information based at least in part on information resulting from said comparison; and transmit said synchronization information to said first computer; and

update said display page at the first computer based at least in part on said synchronization information by using the synchronization information to update a portion of the display page as displayed at the first computer without requiring retransmission of the entire display page.

14. A system as recited in claim 13 , wherein the display page comprises a web page.

15. A system as recited in claim 13 , wherein accepting user input at said first computer comprises accepting user input in an input field of the display page.

16. A system as recited in claim 13 , wherein said first package includes one or more key-value pairs.

17. A system as recited in claim 13 , wherein said first package includes an action data indicating an action to be invoked at the second computer.

18. A system as recited in claim 17 , wherein the second computer is configured to use said action data to determine an action logic to be invoked at the second computer.

19. A system as recited in claim 13 , wherein transmitting said first package comprises sending an HTTP communication.

20. A system as recited in claim 13 , wherein the processor is further configured to retrieve the display page from the second computer.

21. A system as recited in claim 13 , wherein transmitting said first package comprises sending an HTTP communication; and wherein said first package comprises one or more key-values and an action data indicating an action to be invoked at the second computer.

22. A system as recited in claim 13 , wherein said display page comprises a web page; said user input comprises an input received via the web page as displayed at the first computer; and said synchronization information is used at the first computer to update a portion of the web page as displayed at the first computer without requiring retransmission of the entire web page from the second computer to the first computer.

23. A non-transitory computer readable storage medium comprising computer instructions which when executed by a computer cause the computer to perform the steps of:

accepting user input via a display page at a first computer;

using a record of values received from the second computer to determine first computer values associated with said user input that have changed since a last communication with the second computer;

constructing a first package that includes said first computer values;

transmitting said first package to a second computer;

receiving from said second computer a synchronization information, wherein said second computer is configured to compare said first computer values from said first package with one or more second computer variables; construct said synchronization information based at least in part on information resulting from said comparison; and transmit said synchronization information to said first computer; and

updating the display page at said first computer based at least in part on said synchronization information by using the synchronization information to update a portion of the display page as displayed at the first computer without requiring retransmission of the entire display page.

24. A non-transitory computer readable storage medium as recited in claim 23 , wherein the display page is a web page.

25. A non-transitory computer readable storage medium as recited in claim 23 , wherein accepting user input at said first computer comprises accepting user input in an input field of the display page.

26. A non-transitory computer readable storage medium as recited in claim 23 , wherein said first package includes one or more key-value pairs.

27. A non-transitory computer readable storage medium as recited in claim 23 , wherein transmitting said first package comprises sending an HTTP communication.

28. A non-transitory computer readable storage medium as recited in claim 23 , wherein said display page comprises a web page; said user input comprises an input received via the web page as displayed at the first computer; and said synchronization information is used at the first computer to update a portion of the web page as displayed at the first computer without requiring retransmission of the entire web page from the second computer to the first computer.

Continuity (6)
Continuation 13171354 · Jun 28, 2011
Continuation 12407698 · Mar 19, 2009
Continuation 11230984 · Sep 19, 2005
Continuation 09863817 · May 22, 2001
Continuation 08825538 · Mar 31, 1997
Related Publication 20120226745A1 · Sep 6, 2012