Patent US5987523A successfully refreshed from Google Patents.
← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag