Patent US5987523A successfully refreshed from Google Patents.
US5987523A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Applet redirection for controlled access to non-orginating hosts
Assignee: International Business Machines Corp
•
Filing: 1997-06-04
•
Granted: 1999-11-16
•
Expires: 2017-06-04
Abstract
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.
Inventors
- 👤 John Raithel Hind
- 👤 David Bruce Lindquist
- 👤 Pratik Biharilal Nanavati
- 👤 Yih-shin Tan
- 👤 Ajamu Akinwunmi Wesley
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-02 18:42
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; H; H04; H04L; H04L63/00; H04L63/04; H04L63/0428; G06F9/00; G06F9/06; G06F9/46; G06F9/465; H04L63/10; H04L63/101; H04L63/16; H04L63/168; H04L67/00; H04L67/50; H04L67/56; H04L67/561; H04L67/563; H04L69/00; H04L69/16; H04L69/161; H04L69/162; H04L9/00; H04L9/40
Claims Analysis
Total Claims: 32
Claim 1
Independent Claim
161 words
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.
Claim 2
Independent Claim
161 words
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.
Claim 3
Independent Claim
261 words
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.
Claim 4
Independent Claim
261 words
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.
Claim 5
Dependent Claim
26 words
The method as claimed in claim 2, wherein said applets are Java applets, and wherein operation of a Java sandbox security restriction enforces said inherent prohibition.
Claim 6
Dependent Claim
107 words
The method as claimed in claim 2 or 3, wherein: said filter table comprises a plurality of entries, each of said entries comprising: an address of a particular one of said servers other than said first server, and a range of client machine addresses which are authorized to access said particular one; and said checking step further comprises the steps of: extracting a client address from said connect request; locating a particular entry in said table, wherein said address in said particular entry matches said server host address from said connect request; and comparing said extracted client address to said range of addresses from said located entry.
Claim 7
Dependent Claim
28 words
The method as claimed in claim 2, further comprising: executing an add-on function on said first server; and performing further processing of exchanged messages using said add-on function.
Claim 8
Dependent Claim
161 words
The method as claimed in claim 5, wherein said add-on function is a cryptography function for providing secure data transmission between said client machine and said first server, and wherein said performing further processing step further comprises the steps of receiving encrypted data from said applet by said redirector function over said first connection; forwarding said encrypted data from said redirector function to said add-on function; decrypting said encrypted data using said add-on function; returning said decrypted data from said add-on function to said redirector function; forwarding said decrypted data from said redirector function to said selected server over said second connection; receiving unencrypted data from said selected server by said redirector function over said second connection; forwarding said unencrypted data from said redirector function to said add-on function; encrypting said unencrypted data using said add-on function; returning said encrypted data from said add-on function to said redirector function; and forwarding said encrypted data from said redirector function to said applet.
Claim 9
Independent Claim
235 words
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.
Claim 10
Independent Claim
235 words
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.
Claim 11
Dependent Claim
26 words
The method as claimed in claim 7, wherein said applets are Java applets, and wherein operation of a Java sandbox security restriction enforces said inherent prohibition.
Claim 12
Dependent Claim
89 words
The method as claimed in claim 7 or 8, wherein: said filter table comprises a plurality of entries, each of said entries comprising: an address of a particular one of said servers other than said first server, and a range of client machine addresses which are authorized to access said particular one; and said checking step further comprises the steps of: extracting a client address from said connect request; and locating a particular entry in said table, wherein said address in said particular entry matches said extracted client address.
Claim 13
Independent Claim
271 words
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.
Claim 14
Independent Claim
271 words
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.
Claim 15
Dependent Claim
26 words
The system as claimed in claim 10, wherein said applets are Java applets, and wherein operation of a Java sandbox security restriction enforces said inherent prohibition.
Claim 16
Dependent Claim
111 words
The system as claimed in claim 10 or 11, wherein: said filter table comprises a plurality of entries, each of said entries comprising: an address of a particular one of said servers other than said first server, and a range of client machine addresses which are authorized to access said particular one; and said means for checking further comprises: means for extracting a client address from said connect request; means for locating a particular entry in said table, wherein said address in said particular entry matches said server host address from said connect request; and means for comparing said extracted client address to said range of addresses from said located entry.
Claim 17
Dependent Claim
32 words
The system as claimed in claim 10, further comprising: means for executing an add-on function on said first server; and means for performing further processing of exchanged messages using said add-on function.
Claim 18
Dependent Claim
179 words
The system as claimed in claim 13, wherein said add-on function is a cryptography function for providing secure data transmission between said client machine and said first server, and wherein said means for performing further processing further comprises: means for receiving encrypted data from said applet by said redirector function over said first connection; means for forwarding said encrypted data from said redirector function to said add-on function; means for decrypting said encrypted data using said add-on function; means for returning said decrypted data from said add-on function to said redirector function; means for forwarding said decrypted data from said redirector function to said selected server over said second connection; means for receiving unencrypted data from said selected server by said redirector function over said second connection; means for forwarding said unencrypted data from said redirector function to said add-on function; means for encrypting said unencrypted data using said add-on function; means for returning said encrypted data from said add-on function to said redirector function; and means for forwarding said encrypted data from said redirector function to said applet.
Claim 19
Independent Claim
244 words
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.
Claim 20
Independent Claim
244 words
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.
Claim 21
Dependent Claim
26 words
The system as claimed in claim 15, wherein said applets are Java applets, and wherein operation of a Java sandbox security restriction enforces said inherent prohibition.
Claim 22
Dependent Claim
91 words
The system as claimed in claim 15 or 16, wherein: said filter table comprises a plurality of entries, each of said entries comprising: an address of a particular one of said servers other than said first server, and a range of client machine addresses which are authorized to access said particular one; and said means for checking further comprises: means for extracting a client address from said connect request; and means for locating a particular entry in said table, wherein said address in said particular entry matches said extracted client address.
Claim 23
Dependent Claim
307 words
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.
Claim 24
Dependent Claim
307 words
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.
Claim 25
Dependent Claim
28 words
The computer program product as claimed in claim 18, wherein said applets are Java applets, and wherein operation of a Java sandbox security restriction enforces said inherent prohibition.
Claim 26
Dependent Claim
125 words
The computer program product as claimed in claim 19 or 18, wherein: said filter table comprises a plurality of entries, each of said entries comprising: an address of a particular one of said servers other than said first server, and a range of client machine addresses which are authorized to access said particular one; and said computer-readable program code means for checking further comprises: computer-readable program code means for extracting a client address from said connect request; computer-readable program code means for locating a particular entry in said table, wherein said address in said particular entry matches said server host address from said connect request; and computer-readable program code means for comparing said extracted client address to said range of addresses from said located entry.
Claim 27
Dependent Claim
40 words
The computer program product as claimed in claim 18, further comprising: computer-readable program code means for executing an add-on function on said first server; and computer-readable program code means for performing further processing of exchanged messages using said add-on function.
Claim 28
Dependent Claim
214 words
The computer program product as claimed in claim 21, wherein said add-on function is a cryptography function for providing secure data transmission between said client machine and said first server, and wherein said computer-readable program code means for performing further processing further comprises: computer-readable program code means for receiving encrypted data from said applet by said redirector function over said first connection; computer-readable program code means for forwarding said encrypted data from said redirector function to said add-on function; computer-readable program code means for decrypting said encrypted data using said add-on function; computer-readable program code means for returning said decrypted data from said add-on function to said redirector function; computer-readable program code means for forwarding said decrypted data from said redirector function to said selected server over said second connection; computer-readable program code means for receiving unencrypted data from said selected server by said redirector function over said second connection; computer-readable program code means for forwarding said unencrypted data from said redirector function to said add-on function; computer-readable program code means for encrypting said unencrypted data using said add-on function; computer-readable program code means for returning said encrypted data from said add-on function to said redirector function; and computer-readable program code means for forwarding said encrypted data from said redirector function to said applet.
Claim 29
Dependent Claim
277 words
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.
Claim 30
Dependent Claim
277 words
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.
Claim 31
Dependent Claim
28 words
The computer program product as claimed in claim 23, wherein said applets are Java applets, and wherein operation of a Java sandbox security restriction enforces said inherent prohibition.
Claim 32
Dependent Claim
102 words
The computer program product as claimed in claim 23 or 24, wherein: said filter table comprises a plurality of entries, each of said entries comprising: an address of a particular one of said servers other than said first server, and a range of client machine addresses which are authorized to access said particular one; and said computer-readable program code means for checking further comprises: computer-readable program code means for extracting a client address from said connect request; and computer-readable program code means for locating a particular entry in said table, wherein said address in said particular entry matches said extracted client address.
References Cited (Backward Citations)
US5642515A
Cited
US5815664A
Cited
US5701451A
Cited
US5708780A
Cited
US5751971A
Cited
US5781550A
Cited
US5826014A
Cited
US5838910A
Cited
US5838916A
Cited
US5761421A
Cited
US5815665A
Cited
US5774660A
Cited
US5796952A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-11-15 | 2003-05-17 | 2003-11-16 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-11-15 | 2007-05-17 | 2007-11-16 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-11-15 | 2011-05-17 | 2011-11-16 | $7700.00 | Window Closed / Lapsed |