Optimizing authentication service availability and responsiveness via client-side routing
View Patent ↗A method is described for optimizing the user-experienced availability and responsiveness of a replicated authentication system via the use of client-side authentication routing logic. Particular techniques are described for maximizing the authentication system availability and additionally either 1) bounding the user-experienced authentication latency, or 2) minimizing the user-experienced authentication latency.
1. A method for authenticating a user to a primary authentication server or a secondary authentication server with pre-submission test authentication, said secondary authentication server is used when said primary authentication server is unavailable, comprising the steps of:
a Web browsing device fetching a login page from a Web server, said login page containing a login form and a routing module;
submitting a login request with an identifier of said user and an associated password from said Web browsing device; and
said Web browsing device invoking said routing module to determine routing by performing said pre-submission test authentication with the following sub-steps:
registering a routing code event handler to be called upon successful pre-submission test authentication;
registering a callback event in a configurable delay time;
sending said pre-submission test authentication request to said primary authentication server without submitting said login form or leaving said login page;
processing said pre-submission test authentication request and sending response to said Web browsing device by said primary authentication server;
if a successful response to said pre-submission test authentication request is received from said primary authentication server within said delay time, said Web browsing device submitting said login form to said primary authentication server; and
otherwise said Web browsing device submitting said login form to said secondary authentication server.
2. The method of claim 1 , wherein said pre-submission test authentication request is for an image and the primary authentication server returns a small image to indicate a successful response.
3. The method of claim 2 , wherein said Web browsing device determines that said primary authentication server returns a successful response when loading of said image is detected.
4. The method of claim 1 , wherein a plurality of backup authentication servers can be chained one after another with one authentication server backing up the previous authentication server.
5. The method of claim 1 , wherein said Web browsing device does not pass said identifier of said user along with pre-submission test authentication request to said primary authentication server to perform pre-submission test authentication that is not user specific.
6. The method of claim 1 , wherein said Web browsing device passes said identifier of said user along with said pre-submission test authentication request to said primary authentication server to perform pre-submission test authentication that is user specific.
7. A method for authenticating a user to a primary authentication server with automatic submission to a secondary authentication server, said secondary authentication server is used when said primary authentication server is unavailable or slow to respond, comprising the steps of:
a Web browsing device fetching a login page from a Web server, said login page containing a login form and a runtime pre-submission routing module;
submitting a login request with an identifier of said user and an associated password from said Web browsing device; and
said Web browsing device invoking said runtime pre-submission routing module to determine routing by performing complete authentication with the following sub-steps:
registering a routing code event handler to be called upon successful test authentication;
registering a callback event in a configurable delay time;
sending a complete authentication request to said primary authentication server without submitting said login form or leaving said login page;
processing said complete authentication request and sending response to said Web browsing device by said primary authentication server;
if a response to said complete authentication request is received from said primary authentication server within said delay time, said Web browsing device invoking a successful response event handler to process said response; and
otherwise said Web browsing device submitting said login form to said secondary authentication server.
8. The method of claim 7 , wherein said primary authentication server returns a small image and one or more cookies, said cookies containing authentication results.
9. The method of claim 8 , wherein one of said cookies explicitly states whether said complete authentication request is successful.
10. The method of claim 9 , further comprising the steps of:
said response handler examining said cookies to determine authentication results;
redirecting said Web browsing device to a login successful page if said authentication is successful; and
said Web browsing device display an error message otherwise.
11. The method of claim 7 , wherein a plurality of backup authentication servers can be chained one after another with one authentication server backing up the previous authentication server.