Applet redirection for controlled access to non-orginating hosts
First Claim
Patent Images
1. A method for allowing a Java applet to access a server other than a first server from which said applet was downloaded, wherein said method operates to overcome a Java sandbox security restriction of said applet which prevents said applet from accessing said other server, said method comprising the steps of:
- downloading a selected applet from said first server to a user workstation, said first server having a unique address;
detecting the address of said first server;
opening a first socket connection from said selected applet to a redirector function on said first server;
sending an address for a target host server from said selected applet to said redirector function;
opening a second socket connection from said redirector function to a host function on said target host server on behalf of said selected applet; and
accessing said host function from said selected applet indirectly by redirecting data through said redirector function using said first socket connection and said second socket connection.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for allowing dynamic applet access to servers from which the applet did not originate wherein an application on the originating server redirects communications between the applet and network resources.
199 Citations
25 Claims
-
1. A method for allowing a Java applet to access a server other than a first server from which said applet was downloaded, wherein said method operates to overcome a Java sandbox security restriction of said applet which prevents said applet from accessing said other server, said method comprising the steps of:
-
downloading a selected applet from said first server to a user workstation, said first server having a unique address; detecting the address of said first server; opening a first socket connection from said selected applet to a redirector function on said first server; sending an address for a target host server from said selected applet to said redirector function; opening a second socket connection from said redirector function to a host function on said target host server on behalf of said selected applet; and accessing said host function from said selected applet indirectly by redirecting data through said redirector function using said first socket connection and said second socket connection.
-
-
2. A method for enabling applets in a computer network to communicate with one or more remote servers for the purpose of accessing one or more target resources, wherein said target resources are accessible from said remote servers, and wherein said remote servers are different than a first server from which said applet was downloaded, said method comprising the steps of
storing one or more applets on said first server, wherein said applets have an inherent prohibition against directly exchanging messages with any other server except said first server; -
downloading a selected one of said applets onto a client machine; executing said downloaded selected applet on said client machine; executing a redirector function on said first server; establishing a first connection between said selected applet and said redirector function; sending a connect request from said applet to said redirector function, wherein said connect request specifies (i) a server host address of a selected one of said servers other than said first server and (ii) a port number on said selected server; receiving, by said redirector function, said connect request; checking a filter table, responsive to said receiving step, to determine if said client machine is authorized to access said selected server; establishing, by said redirector function, a second connection between said redirector function and said selected server when said checking step has a positive result, said second connection being on behalf of said applet; and indirectly exchanging messages between said applet and said selected server using said redirector function to transfer said exchanged messages between said first connection and said second connection. - View Dependent Claims (3, 4, 5, 6)
-
-
7. A method for enabling applets in a computer network to communicate with one or more remote servers for the purpose of accessing one or more target resources, wherein said target resources are accessible from said remote servers, and wherein said remote servers are different than a first server from which said applet was downloaded, said method comprising the steps of:
-
storing one or more applets on said first server, wherein said applets have an inherent prohibition against directly exchanging messages with any other server except said first server; downloading a selected one of said applets onto a client machine; executing said downloaded selected applet on said client machine; executing a redirector function on said first server; establishing a first connection between said selected applet and said redirector function; sending a connect request from said applet to said redirector function, wherein said connect request does not specify a server host address of a target server; receiving, by said redirector function, said connect request; checking a filter table, responsive to said receiving step, to determine a default target server to be used with said client machine; establishing, by said redirector function, a second connection between said redirector function and said default target server on behalf of said applet; and indirectly exchanging messages between said applet and said default target server using said redirector function to transfer said exchanged messages between said first connection and said second connection. - View Dependent Claims (8, 9)
-
-
10. A system in a computer network for enabling applets to communicate with a different server than a first server from which said applet was downloaded, comprising:
-
one or more applets, each of said applets stored on a first server, wherein said applets have an inherent prohibition against directly exchanging messages with any other server except said first server; one or more target resources, each of said target resources being accessible from a server other than said first server; a client machine, onto which a selected one of said applets is downloaded; means for executing said downloaded selected applet on said client machine; means for executing a redirector function on said first server, means for establishing a first connection between said selected applet and said redirector function; means for sending a connect request from said applet to said redirector function, wherein said connect request specifies (i) a server host address of a selected one of said servers other than said first server and (ii) a port number on said selected server; means for receiving, by said redirector function, said connect request; means for checking a filter table, responsive to said means for receiving, to determine if said client machine is authorized to access said selected server; means for establishing, by said redirector function, a second connection between said redirector function and said selected server when said means for checking has a positive result, said second connection being on behalf of said applet; and means for indirectly exchanging messages between said applet and said selected server using said redirector function to transfer said exchanged messages between said first connection and said second connection. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system in a computer network for enabling applets to communicate with a different server than a first server from which said applet was downloaded, comprising:
-
one or more applets, each of said applets stored on a first server, wherein said applets have an inherent prohibition against directly exchanging messages with any other server except said first server; one or more target resources, each of said target resources being accessible from a server other than said first server; a client machine, onto which a selected one of said applets is downloaded; means for executing said downloaded selected applet on said client machine; means for executing a redirector function on said first server; means for establishing a first connection between said selected applet and said redirector function; means for sending a connect request from said applet to said redirector function, wherein said connect request does not specify a server host address of a target server; means for receiving, by said redirector function, said connect request; means for checking a filter table, responsive to said means for receiving, to determine a default target server to be used with said client machine; means for establishing, by said redirector function, a second connection between said redirector function and said default target server on behalf of said applet; and means for indirectly exchanging messages between said applet and said default target server using said redirector function to transfer said exchanged messages between said first connection and said second connection. - View Dependent Claims (16, 17)
-
-
18. A computer program product on a computer-readable medium in a computer network for enabling applets to communicate with a different server than a first server from which said applet was downloaded, comprising:
-
one or more applets, each of said applets stored on a first server, wherein said applets have an inherent prohibition against directly exchanging messages with any other server except said first server; one or more target resources, each of said target resources being accessible from a server other than said first server; a client machine, onto which a selected one of said applets is downloaded; computer-readable program code means for executing said downloaded selected applet on said client machine; computer-readable program code means for executing a redirector function on said first server; computer-readable program code means for establishing a first connection between said selected applet and said redirector function; computer-readable program code means for sending a connect request from said applet to said redirector function, wherein said connect request specifies (i) a server host address of a selected one of said servers other than said first server and (ii) a port number on said selected server; computer-readable program code means for receiving, by said redirector function, said connect request; computer-readable program code means for checking a filter table, responsive to said computer-readable program code means for receiving, to determine if said client machine is authorized to access said selected server; computer-readable program code means for establishing, by said redirector function, a second connection between said redirector function and said selected server when said computer-readable program code means for checking has a positive result, said second connection being on behalf of said applet; and computer-readable program code means for indirectly exchanging messages between said applet and said selected server using said redirector function to transfer said exchanged messages between said first connection and said second connection. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A computer program product on a computer-readable medium in a computer network for enabling applets to communicate with a different server than a first server from which said applet was downloaded, comprising:
-
one or more applets, each of said applets stored on a first server, wherein said applets have an inherent prohibition against directly exchanging messages with any other server except said first server; one or more target resources, each of said target resources being accessible from a server other than said first server; a client machine, onto which a selected one of said applets is downloaded; computer-readable program code means for executing said downloaded selected applet on said client machine; computer-readable program code means for executing a redirector function on said first server; computer-readable program code means for establishing a first connection between said selected applet and said redirector function; computer-readable program code means for sending a connect request from said applet to said redirector function, wherein said connect request does not specify a server host address of a target server; computer-readable program code means for receiving, by said redirector function, said connect request; computer-readable program code means for checking a filter table, responsive to said computer-readable program code means for receiving, to determine a default target server to be used with said client machine; computer-readable program code means for establishing, by said redirector function, a second connection between said redirector function and said default target server on behalf of said applet; and computer-readable program code means for indirectly exchanging messages between said applet and said default target server using said redirector function to transfer said exchanged messages between said first connection and said second connection. - View Dependent Claims (24, 25)
-
Specification