IP Library Granted Patent US 7,469,302
Granted Patent B2
US 7,469,302 · App. 10/651,473 · Granted Dec 23, 2008

System and method for ensuring consistent web display by multiple independent client programs with a server that is not persistently connected to client computer systems

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 7,469,302
App. No.
10/651,473
Granted
Dec 23, 2008
Kind
B2
Abstract

A method, apparatus, computer program product, and computer system for ensuring consistency between data displayed by multiple independent client programs that can simultaneously display server-provided data. The data are accessible only from a server that is not persistently connected to the client computer system(s) displaying the data, so the client programs cannot retrieve the data independently without sending a request to the server. Client programs do not poll the server by sending a request to learn that data capable of being displayed by the multiple client programs have been updated. Instead, client programs are notified by the server program receiving the request to change the data at the time the request is received.

Claims (71)

1. A method for providing consistency in simultaneous display of server-provided data, comprising:

in response to receiving a request to make a change to server-provided data from a first control instance, wherein the first control instance comprises an instantiation of an object operable to provide functionality of a first control program,

sending a notification from a server to a second control instance, wherein the second control instance sends the notification to a third control instance and the second control instance comprises an instantiation of an object operable to provide functionality of a second control program,

the third control instance displays the change to the server-provided data in response to receiving the notification, and there is no persistent connection between the second control instance and the server remotely located from the second control instance, wherein the third control instance comprises an instantiation of an object operable to provide functionality of a third control program.

2. The method of claim 1 wherein

the second control instance operates independently of the first control instance.

3. The method of claim 1 wherein the third control instance is one of a plurality of control instances hosted by the second control instance.

4. The method of claim 1 wherein the second control instance does not process the data.

5. The method of claim 1 wherein the first control instance connects to the server only when the first control instance sends the request to make the change to the data to the server.

6. The method of claim 1 wherein the first control instance does not send a second request to the server to determine whether the data have changed.

7. The method of claim 1 wherein the second control instance does not send a second request to the server to determine whether the data have changed.

8. The method of claim 1 wherein the third control instance does not send a second request to the server to determine whether the data have changed.

9. The method of claim 1 wherein sending the notification from the server to the second control instance comprises sending the notification from the server to a fourth control instance, and sending the notification from the fourth control instance to the second control instance.

10. The method of claim 1 wherein sending the notification from the second control instance to the third control instance comprises sending the notification from the second control instance to a fourth control instance, and sending the notification from the fourth control instance to the third control instance.

11. The method of claim 1 wherein the first control instance does not comprise the second control instance, and the second control instance does not comprise the first control instance.

12. The method of claim 1 wherein the first control instance runs in a first container instance, the second control instance runs in a second container instance, the first container instance does not comprise the second container instance, and the second container instance does not comprise the first container instance.

13. The method of claim 1 wherein the first control instance runs in a first process, the second control instance runs in a second process, the first process does not comprise the second process, and the second process does not comprise the first process.

14. An apparatus comprising:

first sending means for sending a notification from a server to a second control instance in response to receiving a request to make a change to server-provided data from a first control instance, wherein the first control instance comprises an instantiation of an object operable to provide functionality of a first control programand wherein

the second control instance sends the notification to a third control instance, the second control instance comprising and instantiation of an object operable to provide functionality of a second control program; and

the third control instance displays the change to the server-provided data in response to receiving the notification without a persistent connection te between the second control instance and the server remotely located from the second control instance, wherein the third control instance comprises an instantiation of an object operable to provide functionality of a third control program.

15. The apparatus of claim 14 wherein the second control instance operates independently of the first control instance.

16. The apparatus of claim 14 wherein the third control instance is one of a plurality of control instances hosted by the second control instance.

17. The apparatus of claim 14 wherein the second control instance does not process the data.

18. The apparatus of claim 14 wherein

the first control instance connects to the server only when the first control instance sends the request to make the change to the data to the server.

19. The apparatus of claim 14 wherein the first control instance does not send a second request to the server to determine whether the data have changed.

20. The apparatus of claim 14 wherein the second control instance does not send a second request to the server to determine whether the data have changed.

21. The apparatus of claim 14 wherein the third control instance does not send a second request to the server to determine whether the data have changed.

22. The apparatus of claim 14 wherein the first sending means for sending the notification from the server to the second control instance comprise second sending means for sending the notification from the server to a fourth control instance, wherein the fourth control instance sends the notification to the second control instance.

23. The apparatus of claim 14 wherein the second control instance sends the notification to the third control instance by sending the notification to a fourth control instance, wherein the fourth control instance sends the notification to the third control instance.

24. The apparatus of claim 14 wherein the first control instance does not comprise the second control instance, and the second control instance does not comprise the first control instance.

25. The apparatus of claim 14 wherein

the first control instance runs in a first container instance,

the second control instance runs in a second container instance,

the first container instance does not comprise the second container instance, and

the second container instance does not comprise the first container instance.

26. The apparatus of claim 14 wherein

the first control instance runs in a first process,

the second control instance runs in a second process,

the first process does not comprise the second process, and

the second process does not comprise the first process.

27. A computer-readable medium for providing consistency in simultaneous display of server-provided data comprising:

first sending instructions for sending a notification from a server to a second control instance in response to receiving a request to make a change to server-provided server-provided data from a first control instance, wherein the first control instance comprises an instantiation of an object operable to provide functionality of a first control program and wherein

the second control instance sends the notification to a third control instance, the second control instance comprising an instantiation of an object operable to provide functionality of a second control program; and

the third control instance displays the change to the server-provided data in response to receiving the notification without a persistent connection between the second control instance and the server remotely located from the second control instance, wherein the third control instance comprises an instantiation of an object operable to provide functionality of a third control program.

28. The computer-readable medium of 27 wherein the second control instance operates independently of the first control instance.

29. The computer-readable medium of claim 27 wherein the third control instance is one of a plurality of control instances hosted by the second control instance.

30. The computer-readable medium of claim 27 wherein the second control instance does not process the data.

31. The computer-readable medium of claim 27 wherein the first control instance connects to the server only when the first control instance sends the request to make the change to the data to the server.

32. The computer-readable medium of claim 27 wherein the first control instance does not send a second request to the server to determine whether the data have changed.

33. The computer-readable medium of claim 27 herein the second control instance does not send a second request to the server to determine whether the data have changed.

34. The computer-readable medium of claim 27 wherein the third control instance does not send a second request to the server to determine whether the data have changed.

35. The computer-readable medium of claim 27 wherein the first sending instructions for sending the notification from the server to the second control instance comprise second sending means for sending the notification from the server to a fourth control instance, wherein the fourth control instance sends the notification to the second control instance.

36. The computer-readable medium of claim 27 wherein the second control instance sends the notification to the third control instance by sending the notification to a fourth control instance, wherein the fourth control instance sends the notification to the third control instance.

37. The computer-readable medium of claim 27 wherein the first control instance does not comprise the second control instance, and the second control instance does not comprise the first control instance.

38. The computer-readable medium of claim 27 wherein the first control instance runs in a first container instance, the second control instance runs in a second container instance, the first container instance does not comprise the second container instance, and the second container instance does not comprise the first container instance.

39. The computer-readable medium of claim 27 wherein the first control instance runs in a first process, the second control instance runs in a second process, the first process does not comprise the second process, and the second process does not comprise the first process.

40. The method of claim 1 , wherein the first, second, and third control programs are the same.

41. The apparatus of claim 14 , wherein the first, second, and third control programs are the same.

42. The computer-readable medium of claim 27 , wherein the first, second, and third control programs are the same.

43. A method for providing consistency in display of server-provided data, comprising:

receiving a request from a first control instance associated with a first application to make a change to server-provided data, the first control instance comprising an instantiation of an object operable to provide functionality of the first application; and

sending a notification to at least a second control instance associated with a second application, the second control instance comprising an instantiation of an object operable to provide functionality of the second application, wherein the notification causes display of the change to the server-provided data for the second application, the first application being independent of the second application, and there being no persistent connection between each of the first and second control instances to a server sending the notification.

44. The method of claim 43 , wherein the first and second control instances are the same.

45. The method of claim 43 , wherein the first and second control instances are different from each other.

46. A computer-readable medium comprising program code for providing consistency in display of server-provided data, the program code for causing performance of a method comprising:

sending a notification to at least a second control instance associated with a second application in response to a request from a first control instance associated with a first application to make a change to server-provided data, the first control instance comprising an instantiation of an object operable to provide functionality of the first application, wherein

the notification causes display of the change to the server-provided data for the second application, the second control instance comprising an instantiation of an object operable to provide functionality of the second application, the first application being independent of the second application, and there being no persistent connection between each of the first and second control instances to a server providing the notification.

47. The computer-readable medium of claim 46 , wherein the first and second control instances are the same.

48. The computer-readable medium of claim 46 , wherein the first and second control instances are different from each other.

Assignments (5)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →