IP Library Granted Patent US 7,437,594
Granted Patent B1
US 7,437,594 · App. 10/343,160 · Granted Oct 14, 2008

Server-side session management

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,437,594
App. No.
10/343,160
Granted
Oct 14, 2008
Kind
B1
Abstract

The invention relates to the backup of a user session on a network. When the user at a client, such as an ISP, makes a request on the network, this request is routed by a load balancer to a primary host server on the network. The selection of the server is done by the load balancer in such a manner as to distribute the load on the system evenly and prevent overloading of one particular server. Once the user request has been routed, user specific information such as a session identification code or a password is provided to the primary host server and the session is set up. A single session must comprise of at least one application process on the selected primary host server. On commencement of the session, the load balancer designates at least one other server on the network to act as primary backup server for the user session set up on the primary host server. The primary backup server stores session information from the primary host server and in case of a server breakdown, the backup server takes over as the primary server. The load balancer then configures another server to act as backup server for this new primary server. According to the invention, the backup function of the servers is equitably distributed across servers so as to ensure that no one server is excessively burdened with the backup functions.

Claims (35)

1. A computer implemented method for managing user session load in a network of servers, the method comprising the steps of:

assigning a plurality of servers as primary host servers;

assigning to each one of the primary host servers an equal portion of the user session load;

assigning each one of the primary host servers as a backup server for a rest of the primary host servers, such that each primary host server simultaneously functions as both a primary host server maintaining current session information for its assigned session load and as a backup server for each of said rest of the primary host servers, maintaining current session information for the session loads of each of said rest of the primary host servers;

as user session information for each user session is received, maintaining user session information for each user session on both the primary host servers to which that user session is assigned and on each of said backup servers for that primary host server, such that both said primary host servers and said backup servers simultaneously store and maintain current user session information; and

responsive to one of the primary host servers failing, distributing the user session load of the failed primary host server equally on said rest of the primary host servers, which, in their simultaneous capacity as backup servers, have already stored current user session information for the session load of the failed primary host server.

2. A computer implemented method for managing user session load in a network of servers, the method comprising the steps of:

assigning a plurality of servers as primary host servers;

assigning to each one of the primary host servers a portion of the user session load;

assigning each one of the primary host servers as a backup server for a plurality of a rest of the primary host servers, such that each primary host server simultaneously functions as both a primary host server maintaining current session information for its assigned session load and as a backup server for the plurality of the rest of the primary host servers, maintaining current session information for the session loads of each of the plurality of the rest of the primary host servers;

as user session information for each user session is received, maintaining user session information for each user session on both the primary host servers to which that user session is assigned and on each of said backup servers for that primary host server, such that both said primary host servers and said backup servers simultaneously store and maintain current user session information; and

responsive to one of the primary host servers failing, distributing the user session load of the failed primary host server on the plurality of the rest of the primary host servers, which, in their simultaneous capacity as corresponding backup servers, have already stored current user session information for the session load of the failed primary host server.

3. The method of claim 2 , wherein the step of assigning to each one of the primary host servers includes assigning to each one of the primary host servers an equal portion of the user session load.

4. The method of claim 2 , wherein the step of assigning each one of the primary host servers as a backup server includes assigning each one of the primary host servers as a backup server for the rest of the primary host servers.

5. The method of claim 2 , wherein the distributing step includes distributing the corresponding portion of the user session load equally on the backup servers, which maintain current user session information.

6. A computer system for managing user session load in a network of servers, the computer system comprising:

means for assigning a plurality of servers as primary host servers;

means for assigning to each one of the primary host servers an equal portion of the user session load;

means for assigning each one of the primary host servers as a backup server for a rest of the primary host servers, such that each primary host server simultaneously functions as both a primary host server maintaining current session information for its assigned session load and as a backup server for each of said rest of the primary host servers, maintaining current session information for the session loads of each of said rest of the primary host servers;

means for maintaining user session information for each user session is received, maintaining user session information for each user session on both the primary host servers to which that user session is assigned and on each of said backup servers for that primary host server, such that both said primary host servers and said backup servers simultaneously store and maintain current user session information; and

means for, responsive to one of the primary host servers failing, distributing the user session load of the failed primary host server equally on said rest of the primary host servers, which, in their simultaneous capacity as backup servers, have already stored current user session information for the session load of the failed primary host server.

7. At least one computer readable medium containing a computer program product for managing user session load in a network of servers, the computer program product comprising:

program code for assigning a plurality of servers as primary host servers;

assigning to each one of the primary host servers an equal portion of the user session load;

program code for assigning each one of the primary host servers as a backup server for a rest of the primary host servers, such that each primary host server simultaneously functions as both a primary host server maintaining current session information for its assigned session load and as a backup server for each of said rest of the primary host servers, maintaining current session information for the session loads of each of said rest of the primary host servers;

program code for, as user session information for each user session is received, maintaining user session information for each user session on both the primary host servers to which that user session is assigned and on each of said backup servers for that primary host server, such that both said primary host servers and said backup servers simultaneously store and maintain current user session information; and

program code for, responsive to one of the primary host servers failing, distributing the user session load of the failed primary host server equally on said rest of other primary host servers, which, in their simultaneous capacity as backup servers, have already stored current user session information for the session load of the failed primary host server.

8. An apparatus for managing user session load in a network comprising:

a database for maintaining user session information; and

a processor configured for:

assigning a plurality of servers as primary host servers;

assigning to each one of the primary host servers an equal portion of the user session load;

assigning each one of the primary host servers as a backup server for a rest of the primary host servers, such that each primary host servers simultaneously functions as both a primary host server maintaining current session information for its assigned session load and as a backup server for each of said rest of the primary host servers, maintaining current session information for the session loads of each of said rest of the primary host servers;

as user session information for each user session is received, maintaining user session information for each user session on both the primary host servers to which that user session is assigned and on each of said backup servers for that primary host server, such that both said primary host servers and said backup servers simultaneously store and maintain current user session information; and

responsive to one of the primary host servers failing, distributing the user session load of the failed primary host server equally on said rest of the primary host servers, which, in their simultaneous capacity as backup servers, have already stored current user session information for the session load of the failed primary host server.

Assignments (7)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2012
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 028487/0534 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 16, 2010
From: BANK OF AMERICA, N A
To: AOL INC; AOL ADVERTISING INC; GOING INC; LIGHTNINGCAST LLC; MAPQUEST, INC; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC; TACODA LLC; TRUVEO, INC; YEDDA, INC
Reel/Frame 025323/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2009
From: AOL LLC
To: AOL INC.
Reel/Frame 023750/0210 →
SECURITY AGREEMENT Recorded Dec 14, 2009
From: AOL INC.; AOL ADVERTISING INC.; BEBO, INC.; ICQ LLC; GOING, INC.; LIGHTNINGCAST LLC; MAPQUEST, INC.; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC.; TACODA LLC; TRUVEO, INC.; YEDDA, INC.
To: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT
Reel/Frame 023649/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2008
From: AMERICA ONLINE, INC.
To: AOL LLC, A DELAWARE LIMITED LIABILITY COMPANY
Reel/Frame 021719/0933 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2003
From: MOUNT, GEORGE; SRIVATSA, RAMACHANDRA
To: AMERICA ONLINE, INC.
Reel/Frame 014016/0104 →