Remote debugging through firewalls
First Claim
Patent Images
1. A computer-implemented method, comprising:
- running a debugging system on a local site, the local site being separated from a remote site by at least one firewall;
storing data on the local site, the data including a local copy of a remote application that is running on a virtual machine located on the remote site; and
making it appear to the debugging system that the remote application is running on the local site instead of the remote site by;
establishing a communication link between a first router located on the local site and a second router located on the remote site;
using the communication link between the first and second routers to establish communication between the debugging system and the virtual machine;
receiving a timestamp indicating when the remote application was last modified;
using the received timestamp to determine whether the local copy is up to date with respect to the remote application; and
loading the local copy into the debugging system if the local copy is up to date, and otherwise (i) comparing the local copy with the remote application to establish delta information that identifies differences between the local copy and remote application, (ii) retrieving the delta information from the remote site, (iii) using the retrieved delta information to alter the local copy to match the remote application, and (iv) loading the altered local copy into the debugging system.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides methods and apparatus, including computer program products, for debugging a computer program running on a system that is separated from the debugging system by at least one firewall. The computer program being debugged can be a Java application. A router on each side of the firewall can be used to establish communication between the two systems. To the debugging system, it appears that the computer program is running locally.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
running a debugging system on a local site, the local site being separated from a remote site by at least one firewall;
storing data on the local site, the data including a local copy of a remote application that is running on a virtual machine located on the remote site; and
making it appear to the debugging system that the remote application is running on the local site instead of the remote site by;
establishing a communication link between a first router located on the local site and a second router located on the remote site;
using the communication link between the first and second routers to establish communication between the debugging system and the virtual machine;
receiving a timestamp indicating when the remote application was last modified;
using the received timestamp to determine whether the local copy is up to date with respect to the remote application; and
loading the local copy into the debugging system if the local copy is up to date, and otherwise (i) comparing the local copy with the remote application to establish delta information that identifies differences between the local copy and remote application, (ii) retrieving the delta information from the remote site, (iii) using the retrieved delta information to alter the local copy to match the remote application, and (iv) loading the altered local copy into the debugging system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product, tangibly embodied in an information carrier, the computer program product being operable to cause data processing apparatus to:
-
run a debugging system on a local site, the local site being separated from a remote site by at least one firewall;
store data on the local site, the data including a local copy of a remote application that is running on a virtual machine located on the remote site; and
make it appear to the debugging system that the remote application is running on the local site instead of the remote site by;
establishing a communication link between a first router located on the local site and a second router located on the remote site;
using the communication link between the first and second routers to establish communication between the debugging system and the virtual machine;
receiving a timestamp indicating when the remote application was last modified;
using the received timestamp to determine whether the local copy is up to date with respect to the remote application; and
loading the local copy into the debugging system if the local copy is up to date, and otherwise (i) comparing the local copy with the remote application to establish delta information that identifies differences between the local copy and remote application, (ii) retrieving the delta information from the remote site, (iii) using the retrieved delta information to alter the local copy to match the remote application, and (iv) loading the altered local copy into the debugging system. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A data processing system, comprising:
-
means for running a debugging system on a local site, the local site being separated from a remote site by at least one firewall;
means for storing on the local site a local copy of a remote application that is running on a virtual machine located on the remote site; and
means for making it appear to the debugging system that the remote application is running on the local site instead of the remote site by;
establishing a communication link between a first router located on the local site and a second router located on the remote site;
using the communication link between the first and second routers to establish communication between the debugging system and the virtual machine;
receiving a timestamp indicating when the remote application was last modified;
using the received timestamp to determine whether the local copy is up to date with respect to the remote application; and
loading the local copy into the debugging system if the local copy is up to date, and otherwise (i) comparing the local copy with the remote application to establish delta information that identifies differences between the local copy and remote application, (ii) retrieving the delta information from the remote site, (iii) using the retrieved delta information to alter the local copy to match the remote application, and (iv) loading the altered local copy into the debugging system. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification