IP Library Granted Patent US 7,941,542
Granted Patent B2
US 7,941,542 · App. 10/391,128 · Granted May 10, 2011

Methods and apparatus for maintaining application execution over an intermittent network connection

Assignee: Oracle International Corporation
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,941,542
App. No.
10/391,128
Granted
May 10, 2011
Kind
B2
Abstract

A method for optimally maintaining the execution of a first application, wherein the first application is further configured to received a set of sequential data elements from a second application, and the set of sequential data elements further includes a first data element and a second data element. The method includes establishing a connection between the first application and the second application. The method further includes transmitting a request to send the set of sequential data elements; receiving the first data element from the second application; and determining if the connection is still active. If not, the method also includes reestablishing the connection; transmitting a request to the second application to resend the first data element; receiving the first data element; and, if necessary, receiving the second data element.

Claims (51)

1. A method of maintaining execution of a second application on a first application, the method comprising:

establishing a connection between said first application and said second application over a network for receiving a set of data elements as a data stream by the first application from the second application, the first application comprising a communications sub-application and an execution sub-application, and the set of data elements comprising initial condition data and active update data;

using the execution sub-application to execute an initial condition of the second application according to the initial condition data, executing the initial condition comprising rendering the initial condition to a webpage;

determining, using the communications sub-application, whether the first application is in operative communication with the second application via the connection;

when the first application is in operative communication with the second application via the connection:

receiving the active update data at the execution sub-application as substantially continuous updates from the second application;

dynamically rendering the active update data to the webpage using the execution sub-application without refreshing the webpage; and

using the communications sub-application to maintain the connection with the second application as an open connection; and

when the first application is not in operative communication with the second application via the connection:

using the communications sub-application to passively re-establish the connection between the first application and the second application; and

pausing dynamic rendering of the active update data to the webpage using the execution sub-application until the connection is passively re-established by the communications sub-application.

2. The method of claim 1 , further comprising a third application coupled to said second application, wherein in said establishing step, said connection is established between said first application and said third application.

3. The method of claim 2 , wherein after said receiving said active update data from said second application, said second application sends said active update data to said third application.

4. The method of claim 1 , wherein said first application is comprised of a first web browser, and said second application is comprised of a web server, wherein said connection is established by transmitting said set of data elements from said web server to said web browser.

5. The method of claim 1 , wherein said communications sub-application is a communication browser and the execution sub-application is a render browser for rendering said set of data elements.

6. The method of claim 1 , wherein said set of data elements further comprises DHTML.

7. The method of claim 1 , wherein said set of data elements further comprises XML.

8. The method of claim 1 , wherein said set of data elements further comprises active data.

9. The method of claim 1 , wherein said connection further comprises a packet network.

10. The method of claim 1 , wherein said set connection further comprises a wireless network.

11. The method of claim 1 , wherein:

the set of data elements is configured to be used by the first application to generate a webpage having streaming data, the streaming data being defined at least in part by the active update data;

using the execution sub-application to execute an initial condition of the second application comprises using the execution sub-application to execute an initial version of the webpage according to the initial condition data; and

using the execution sub-application to execute an updated condition of the second application comprises using the execution sub-application to execute the streaming data as the active update data is received by the communications sub-application.

12. An apparatus for maintaining execution of a second application on a first application, comprising:

means for establishing a connection between said first application and said second application over a network for receiving a set of data elements as a data stream by the first application from the second application, the set of data elements comprising initial condition data and active update data,

the first application comprising means for executing an initial condition of the second application according to the initial condition data, executing the initial condition comprising rendering the initial condition to a webpage;

means for:

maintaining the connection with the second application as an open connection when the first application is in operative communication with the second application via the connection; and

passively re-establishing the connection between the first application and the second application when the first application is not in operative communication with the second application via the connection; and

means for:

receiving the active update data at the execution sub-application as substantially continuous updates from the second application and dynamically rendering the active update data to the webpage using the execution sub-application without refreshing the webpage when the first application is in operative communication with the second application via the connection; and

pausing dynamic rendering of the active update data to the webpage using the execution sub-application until the connection is passively re-established by the communications sub-application when the first application is not in operative communication with the second application via the connection.

13. The apparatus of claim 12 , further comprising a third application coupled to said second application, wherein in said establishing step, said connection is established between said first application and said third application.

14. The apparatus of claim 13 , wherein after said receiving said active update data from said second application, said second application sends said active update data to said third application.

15. The apparatus of claim 12 , wherein said first application is comprised of a first web browser, and said second application is comprised of a web server, wherein said connection is established by transmitting said set of data elements from said web server to said web browser.

16. The apparatus of claim 12 , wherein said first application comprises a render browser for rendering said set of data elements and a communications sub-application, the communications sub-application comprising the means for establishing, the means for determining, the means for sequentially requesting and receiving, and the means for re-establishing.

17. The apparatus of claim 12 , wherein said set of data elements further comprises DHTML.

18. The apparatus of claim 12 , wherein said set of data elements further comprises XML.

19. The apparatus of claim 12 , wherein said set of data elements further comprises active data.

20. The apparatus of claim 12 , wherein said set connection further comprises a packet network.

21. The apparatus of claim 12 , wherein said set connection further comprises a wireless network.

22. A computer program product stored on a computer-readable storage device configured to store instructions operational by a processor of a computer system for maintaining the execution of a second application on a first application, the computer program product comprising:

code for establishing a connection between said first application and said second application over a network for receiving a set of data elements as a data stream by the first application from the second application, the set of data elements comprising initial condition data and active update data,

the first application comprising code for executing an initial condition of the second application according to the initial condition data, executing the initial condition comprising rendering the initial condition to a webpage;

code for:

maintaining the connection with the second application as an open connection when the first application is in operative communication with the second application via the connection; and

passively re-establishing the connection between the first application and the second application when the first application is not in operative communication with the second application via the connection; and

code for:

receiving the active update data at the execution sub-application as substantially continuous updates from the second application and dynamically rendering the active update data to the webpage using the execution sub-application without refreshing the webpage when the first application is in operative communication with the second application via the connection; and

pausing dynamic rendering of the active update data to the webpage using the execution sub-application until the connection is passively re-established by the communications sub-application when the first application is not in operative communication with the second application via the connection.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE FROM "CHANGE OF NAME" TO "ASSIGNMENT OF ASSIGNOR'S INTEREST" PREVIOUSLY RECORDED ON REEL 019930 FRAME 0108. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF THE PROPERTY IDENTIFIED IN THE ASSIGNMENT. Recorded Oct 26, 2007
From: ISTANTE SOFTWARE, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 020018/0684 →
CHANGE OF NAME Recorded Oct 8, 2007
From: ISTANTE SOFTWARE, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 019930/0108 →
CHANGE OF NAME Recorded Sep 27, 2007
From: ITERATION SOFTWARE, INC.
To: ISTANTE SOFTWARE, INC.
Reel/Frame 019892/0117 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2003
From: BRODA, TAL; BEAUCHAMP, TIM J.; JACKSON, TANA CHRISTINE; GARDNER, KENNETH C.; NICHOLLS, GEOFFREY DEANE OWEN
To: ITERATION SOFTWARE, INC.
Reel/Frame 013891/0365 →
Continuity (3)
Continuation In Part 10237559 · Sep 6, 2002
Provisional Application 60410989 · Sep 16, 2002
Related Publication 20080046568A1 · Feb 21, 2008