Securely accessing a file system of a remote server computer
First Claim
1. A method for allowing an executable program received on a first computer from a second computer to transfer data to a third computer, the method comprising:
- receiving, by the first computer, data and an associated executable program, from the second computer, the executable program being designed to begin execution from within a browser according to built in security restrictions that prevent the executable program from writing to a file system of a computer other than the one from which the executable program originated;
executing the executable program upon an action by a user of the first computer, indicating that the user wishes to transfer the data to the third computer;
generating, by the executable program on the first computer, descriptor language for a new page including a reference to an executable transfer program, the executable transfer program residing on the third computer;
receiving, by the first computer, the executable transfer program from the third computer;
executing, by the first computer, the executable transfer program, received from the third computer; and
transferring the received data, by the transfer program executing on the first computer, to the file system of the third computer.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus to allow an executable program, received from a first machine to a second machine, to communicate with a third machine. Certain security restrictions prohibit an executable from communicating with a machine other than that from which it was loaded. In, for example, a web page diary application, content is downloaded from a first machine to a second machine. A user then chooses to store the content on a third machine. In a first embodiment, a first executable “knows” the name of a second transfer executable that is stored on the third machine. The executable downloads and executes the transfer executable, which passes the information to be stored to the third machine. Because the transfer executable is downloaded from the third machine, it can communicate with the third machine. A second embodiment does not “know” the name of the transfer executable. It requests the identification of the third machine from the user and obtains the name of the transfer executable from the third machine. The executable then downloads and executes the transfer executable, which passes the information to be stored to the third machine.
133 Citations
22 Claims
-
1. A method for allowing an executable program received on a first computer from a second computer to transfer data to a third computer, the method comprising:
-
receiving, by the first computer, data and an associated executable program, from the second computer, the executable program being designed to begin execution from within a browser according to built in security restrictions that prevent the executable program from writing to a file system of a computer other than the one from which the executable program originated;
executing the executable program upon an action by a user of the first computer, indicating that the user wishes to transfer the data to the third computer;
generating, by the executable program on the first computer, descriptor language for a new page including a reference to an executable transfer program, the executable transfer program residing on the third computer;
receiving, by the first computer, the executable transfer program from the third computer;
executing, by the first computer, the executable transfer program, received from the third computer; and
transferring the received data, by the transfer program executing on the first computer, to the file system of the third computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
passing the data from the executable program to the executable transfer program as parameters.
-
-
3. The method of claim 1, wherein the executable program computer is a Javascript in an HTML page.
-
4. The method of claim 1, wherein the executable transfer program is a Java applet.
-
5. The method of claim 1, wherein the generating step generates an HTML page including a reference to the executable transfer program.
-
6. The method of claim 1, wherein the executable transfer program is a Java transfer applet received and executed by the browser on the first computer.
-
7. The method of claim 1, wherein the executable transfer program communicates directly with the third computer, using the network layer of the browser on the first computer.
-
8. The method of claim 1, wherein the executable program is executed in an execution environment having a security constraint that does not allow an executable loaded from a first computer onto a second a computer to communicate with a third computer.
-
9. The method of claim 1, wherein the third computer hosts a diary server.
-
10. The method of claim 1, wherein the third computer hosts the diary of another user.
-
11. The method of claim 1, wherein the generating step includes the step of generating, by the executable program, descriptor language for a new page, where the executable program “
- knows”
the name of the transfer program.
- knows”
-
12. A method for allowing an executable program received on a first computer from a second computer to transfer data to a third computer, the method comprising:
-
receiving, by the first computer, data and an associated executable program, from the second computer, the executable program being designed to begin execution from within a browser according to built in security restrictions that prevent the executable program from writing to a file system of a computer other than the one from which the executable program originated;
executing the executable program upon an action by a user of the first computer, indicating that the user wishes to transfer the data to the third computer;
requesting, by the executable program on the first computer, descriptor language for a new page from the third computer, where the new page includes a reference to an executable transfer program, the executable transfer program residing on the third computer;
receiving, by the first computer, the executable transfer program from the third computer;
executing, by the first computer, the executable transfer program, received from the third computer; and
transferring the received data, by the transfer program executing on the first computer, to the file system of the third computer. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. An apparatus that allows an executable program received on a first computer from a second computer to transfer data to a third computer, the apparatus comprising:
-
a software portion configured to receive data and an associated executable program by the first computer from the second computer, the executable program being designed to begin execution from within a browser according to built in security restrictions that prevent the executable program from writing to a file system of a computer other than the one from which the executable program originated;
a software portion configured to execute the executable program upon an action by a user of the first computer, indicating that the user wishes to transfer the data to the third computer;
a software portion configured to generate, by the executable program on the first computer, descriptor language for a new page including a reference to an executable transfer program, the executable transfer program residing on the third computer;
a software portion configured to receive, by the first computer, the executable transfer program from the third computer;
a software portion configured to execute, by the first computer, the executable transfer program, received from the third computer; and
a software portion configured to transfer the received data from the first computer to the file system of the third computer.
-
-
20. An apparatus that allows an executable program received on a first computer from a second computer to transfer data to a third computer, the apparatus comprising:
-
a software portion configured to receive data and an associated executable program by the first computer from the second computer, the executable program being designed to begin execution from within a browser according to built in security restrictions that prevent the executable program from writing to a file system of a computer other than the one from which the executable program originated;
a software portion configured to execute the executable program upon an action by a user of the first computer, indicating that the user wishes to transfer the data to the third computer;
a software portion configured to request, by the executable program on the first computer, descriptor language for a new page from the third machine, where the new page includes a reference to an executable transfer program, the executable transfer program residing on the third computer;
a software portion configured to receive, by the first computer, the executable transfer program from the third computer;
a software portion configured to execute, by the first computer, the executable transfer program, received from the third computer; and
a software portion configured to transfer the received data from the first computer to the file system of the third computer.
-
-
21. A computer program product, on a computer readable medium, which allows an executable program received by a first computer from a second computer to transfer data to a third computer, the computer program product comprising:
-
program code for receiving data and an associated executable program by a first computer from a second computer, the executable program being designed to begin execution from within a browser according to built in security restrictions that prevent the executable program from writing to a file system of a computer other than the one from which the executable program originated;
program code for executing the executable program upon an action by a user of the first computer indicating that the user wishes to transfer the data to the third computer;
program code for generating, by the executable program on the first computer, descriptor language for a new page including a reference to an executable transfer program, the executable transfer program residing on the third computer;
program code for receiving, by the first computer, the executable transfer program from the third computer; and
program code for executing, by the first computer, the executable transfer program, received from the third computer; and
program code for transferring the received data from the first computer to the file system of the third computer.
-
-
22. A computer program product, on a computer readable medium, which allows an executable program received by a first computer from a second computer to transfer data to a third computer, the computer program product comprising:
-
program code for receiving data and an associated executable program by a first computer from a second computer, the executable program being designed to begin execution from within a browser according to built in security restrictions that prevent the executable program from writing to a file system of a computer other than the one from which the executable program originated;
program code for executing the executable program upon an action by a user of the first computer indicating that the user wishes to transfer the data to the third computer;
program code for requesting, by the executable program on the first computer, descriptor language for a new page including a reference to an executable transfer program, the executable transfer program residing on the third computer;
program code for receiving, by the first computer, the executable transfer program from the third computer; and
program code for executing, by the first computer, the executable transfer program, received from the third computer; and
program code for transfering the received data from the first computer to the file system of the third computer.
-
Specification