Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS7260644 B1
Publication typeGrant
Application numberUS 09/965,592
Publication dateAug 21, 2007
Filing dateSep 26, 2001
Priority dateSep 26, 2001
Fee statusPaid
Publication number09965592, 965592, US 7260644 B1, US 7260644B1, US-B1-7260644, US7260644 B1, US7260644B1
InventorsGaurang K. Shah, Chris O'Rourke, Pranav K. Tiwari
Original AssigneeCisco Technology, Inc.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Apparatus and method for re-directing a client session
US 7260644 B1
Abstract
A load balancer in a wireless access protocol network receives a request from a client terminal. The load balancer selects one of a plurality of gateways to process the request. The load balancer sends a re-direct message to the client terminal that includes information identifying the selected gateway. The client terminal then sends out a subsequent request that includes the information identifying the selected gateway. The subsequent request is transferred to the selected gateway for processing without further intervention by the load balancer.
Images(3)
Previous page
Next page
Claims(20)
1. A method for re-directing a client session, comprising:
receiving a request from a client terminal at a load balancer;
selecting one of a plurality of gateways being managed by the load balancer to process the request;
sending a re-direct message to the client terminal from the load balancer, the re-direct message including information identifying the selected gateway;
receiving at the load balancer from the client terminal a subsequent request associated with the re-direct message, the subsequent request including a private port number associated with the selected gateway; and
translating at the load balancer the private port number associated with the selected gateway to a defined port number of the selected gateway.
2. The method of claim 1, further comprising:
forwarding the subsequent request from the load balancer to the selected gateway, the subsequent request including the defined port number of the selected gateway.
3. The method of claim 2, further comprising:
receiving at the load balancer a response to the subsequent request from the selected gateway, the response including the defined port number of the selected gateway;
translating at the load balancer the defined port number of the selected gateway to the private port number associated with the selected gateway.
4. The method of claim 3, further comprising:
forwarding the response to the client terminal from the load balancer, the response including the private port number associated with the selected gateway.
5. The method of claim 1, further comprising:
maintaining an association between the client terminal and the selected gateway at the load balancer.
6. The method of claim 1, wherein the information identifying the selected gateway includes an Internet Protocol address of the selected gateway.
7. A method for re-directing a client session, comprising:
receiving a request from a client terminal at a load balancer;
selecting one of a plurality of gateways being managed by the load balancer to process the request;
sending a re-direct message to the client terminal from the load balancer, the re-direct message including information identifying the selected gateway; and
receiving at the load balancer from the client terminal a subsequent request associated with the re-direct message, the subsequent request including the Internet Protocol address of the selected gateway.
8. The method of claim 7, further comprising:
forwarding the subsequent request to the selected gateway from the load balancer, the subsequent request including the Internet Protocol address of the selected gateway.
9. The method of claim 8, further comprising:
receiving at the load balancer a response to the subsequent request from the selected gateway, the response including the Internet Protocol address of the selected gateway;
forwarding the response to the client terminal from the load balancer.
10. The method of claim 7, further comprising:
maintaining an association between the client terminal and the selected gateway at the load balancer.
11. An apparatus for re-directing a client session, comprising:
a load balancer operable to receive an initial request from a client terminal, the load balancer operable to select one of a plurality of gateways managed by the load balancer to process the request, the load balancer operable to send a re-direct message to the client terminal in response to the request, the re-direct message including information identifying the selected gateway;
wherein the load balancer receives a subsequent request from the client terminal, the subsequent request including the information identifying the selected gateway, the load balancer operable to forward the request to the selected gateway.
12. The apparatus of claim 11, wherein the load balancer maintains an association between the client terminal and the selected gateway.
13. The apparatus of claim 11, wherein the information identifying the selected gateway includes one of a private port number associated with the selected gateway and an Internet Protocol address of the selected gateway.
14. A method for re-directing a client session, comprising:
receiving a request from a client terminal at a load balancer;
selecting one of a plurality of gateways being managed by the load balancer to process the request;
sending a re-direct message to the client terminal from the load balancer, the re-direct message including information identifying the selected gateway;
receiving at the load balancer from the client terminal a subsequent request associated with the re-direct message, the subsequent request including information identifying the selected gateway; and
forwarding the subsequent request to the selected gateway from the load balancer.
15. The method of claim 14, wherein the subsequent request includes an Internet Protocol address of the selected gateway.
16. The method of claim 14, wherein the subsequent request includes a private port number of the selected gateway.
17. An apparatus for re-directing a client session, comprising:
means for receiving at a load balancer a request from a client terminal;
means for selecting one of a plurality of gateways being managed to process the request;
means for sending a re-direct message to the client terminal, the re-direct message including information identifying the selected gateway;
means for receiving at the load balancer from the client terminal a subsequent request associated with the re-direct message, the subsequent request including the information identifying the selected gateway; and
means for forwarding the subsequent request to the selected gateway from the load balancer.
18. The apparatus of claim 17, wherein the information identifying the selected gateway may be a private port number associated with the selected gateway.
19. The apparatus of claim 17, wherein the information identifying the selected gateway is an Internet Protocol address of the selected gateway.
20. The apparatus of claim 17, further comprising:
means for maintaining an association between the client terminal and the selected gateway.
Description
TECHNICAL FIELD OF THE INVENTION

The present invention relates in general to information transfer and processing and more particularly to an apparatus and method for re-directing a client session.

BACKGROUND OF THE INVENTION

A Wireless Access Protocol (WAP) load balancer is a device that distributes WAP traffic received over a wireless network on a User Datagram Protocol (UDP) bearer network among a group of WAP gateways. Each WAP gateway translates requests from the WML stack to a WWW protocol stack, such as HTML and TCP/IP. The WAP gateway encodes and decodes web content to reduce the size and number of packets traveling over the wireless network. The WAP gateway interfaces with subscriber databases in order to provide client specific services.

Because of the growth and size of the wireless subscriber market, content customers providing WAP services are quickly experiencing more bottlenecks at their WAP gateways. The WAP load balancer is used to distribute WAP traffic among WAP gateways in order to relieve and avoid bottlenecks in the system.

A Wireless Session Protocol (WSP) is a session layer protocol for operation between a WAP client and a WAP gateway. The WSP provides connection oriented and connection-less oriented session services with optional security to upper level application layers. For a connection oriented service, the client establishes a reliable session with a server and releases that session in an orderly manner. The association between client and server session is with a session identifier. The WAP gateway maintains the session state based on the session identifier for all session management packets.

With multiple WAP gateways, the WAP load balancer must ensure that all packets associated with a single session are sent to the same WAP gateway. This becomes problematic when a gateway re-directs a request to a different port and/or Internet Protocol address in order to obtain the necessary information to satisfy the request. Therefore, it is desirable to be able to re-direct a request in a multiple gateway environment.

SUMMARY OF THE INVENTION

From the foregoing, it may be appreciated by those skilled in the art that a need has arisen for a technique to handle request re-direction in a multiple gateway environment. In accordance with the present invention, an apparatus and method for re-directing a client session are provided that substantially eliminate or greatly reduce disadvantages and problems associated with convention session re-direction techniques.

According to an embodiment of the present invention, there is provided a method for re-directing a client session that includes receiving a session initiation request from a client terminal. One of a plurality of gateways is selected to process the request. A re-direct message is sent to the client terminal that includes information identifying the selected gateway. Subsequent requests may then be transferred from the client terminal to the selected gateway without additional processing. The information identifying the selected gateway may be a private port number associated with the selected gateway or the Internet protocol address of the selected gateway.

The present invention provides various technical advantages over conventional WAP Gateway deployment. For example, one technical advantage is to provide seamless WAP Gateway scalability by re-directing a client's session from a load balancer using either a destination port number or an Internet Protocol address. Another technical advantage is to direct client traffic to a previously chosen gateway for all requests in a session regardless of whether the session is suspended and subsequently resumed. Yet another technical advantage is to avoid depending on the session identifier for traffic routing during re-direction. Other technical advantages may be readily ascertainable by those skilled in the art from the following figures, description, and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings, wherein like reference numerals represent like parts, in which:

FIG. 1 illustrates a block diagram of a wireless access protocol network;

FIG. 2 illustrates operation of the wireless access protocol network.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a block diagram of a wireless access protocol (WAP) network 10. WAP network 10 provides access to and from a web server 12 for a mobile WAP client 14. WAP network 10 includes an air interface unit 16 to receive and transmit WAP traffic in a Wireless Markup Language (WML) from and to WAP client 14. WAP traffic received from WAP client 14 by air interface unit 16 is provided to a WAP load balancer 18. WAP load balancer 18 assigns the WAP traffic to one of a plurality of WAP gateways 20 using a processor 19. WAP load balancer 18 may be between air interface unit 16 and WAP gateways 20 as shown or may be part of a network link to air interface unit 16 with WAP gateways 20. Each WAP gateway 20 converts the WAP traffic from the WML format to a Hyper Text Markup Language (HTML) format. The WAP traffic in the HTML format is passed onto web server 12 through an Internet Protocol (IP) network 22.

Web server 12 generates a response in the HTML associated with the received WAP traffic request. The response is sent to the appropriate WAP gateway 20 through IP network 22. WAP gateway converts the response from the HTML format to the WML format. WAP gateway passes the response in the WML format to WAP load balancer 18 for transmission to WAP client 14 through air interface 16.

Communications between WAP gateway 20 and WAP mobile client 14 operate according to a session layer protocol such as a Wireless Session Protocol (WSP). WSP allows for sessions to be suspended and resumed. If a session is suspended, WAP load balancer 18 will need to know which WAP gateway 20 to which WAP mobile client 14 was communicating in order to provide a seamless and transparent operation upon the resumption of the session.

FIG. 2 shows an example of a session between WAP mobile client 14 and WAP gateway 20 through WAP load balancer 18. WAP mobile client 14 initiates a session by sending a CONNECT message in order to establish communications with a WAP gateway 20. WAP load balancer 18 receives the CONNECT message and determines which one of the WAP gateways 20 is to interact with this WAP mobile client 14. This determination may be accomplished through any of a variety of techniques, including sophisticated priority schemes and assignments or simple cyclical round robin fashion. Once determined, WAP load balancer 18 generates a REPLY message to WAP mobile client 14 that includes a re-direct message. The re-direct message includes information identifying the WAP gateway 20 selected for processing requests from WAP mobile client 14. WAP mobile client 14 then sends a subsequent CONNECT message containing the information identifying the selected WAP gateway 20 which is transferred to the selected WAP gateway 20 either directly or transparently through WAP load balancer 18 depending on the configuration with air interface unit 16. WAP mobile client 14 establishes a session with the selected WAP gateway 20 through REQUEST and REPLY messages and continues with the session until suspension or termination of the session. Upon suspension of a session, WAP mobile client 14 may resume the session in an efficient manner as it knows the information identifying the selected WAP gateway 20.

Information identifying the selected gateway may be provided in at least two methods. In one method, WAP load balancer 18 provides a port number associated with the selected WAP gateway 20 to WAP mobile client 14 in the re-direct message of the REPLY message. Each WAP gateway is assigned a private port number in WAP load balancer 18. Upon receiving a request from WAP mobile client 14, WAP load balancer selects a WAP gateway 18 and provides its private port number to WAP mobile client 14. WAP mobile client 14 communicates with the selected WAP gateway 20 through this private port number. WAP load balancer 18 maintains an association between WAP mobile client 14 and the selected WAP gateway 20 in processor 19.

Under the Wireless Session Protocol, there may be a defined destination port number such as 9201. WAP load balancer 18 may translate between the private port number provided to WAP mobile client 14 and the defined 9201 destination port number. When receiving a subsequent request from WAP mobile client 14 that includes a private port number, WAP load balancer 18 translates the private port number into the defined 9201 destination port number of the selected WAP gateway 20. Similarly, when receiving a response from the selected WAP gateway 20 having the defined 9201 port number, WAP load balancer 18 translates the defined 9201 port number to the private port number associated with the selected WAP gateway 20.

In a second method, the information identifying the selected WAP gateway 20 is the IP address of the selected WAP gateway 20. Upon receiving the request from WAP mobile client 14, WAP load balancer 18 selects an appropriate WAP gateway to process the request. WAP load balancer 18 then sends a re-direct message to WAP mobile client 14 that includes the IP address of the selected WAP gateway 20. WAP mobile client 14 can send subsequent requests to the selected WAP gateway 20 using the provided IP address without further intervention by WAP load balancer 18. WAP load balancer 18 maintains the relationship between WAP mobile client 14 and the selected WAP gateway 20 as this re-direction technique may be of a temporary or permanent nature.

With the re-direction approaches discussed above, WAP load balancer 18 has one to one relationship information between WAP mobile clients 14 and WAP gateways 20. With this information, WAP load balancer 18 can direct client traffic to a previously chosen gateways without monitoring session state, without having to process session identifiers, and with the flexibility to handle suspend and resume scenarios.

Thus, it is apparent that there has been provided, in accordance with the present invention, an apparatus and method for re-directing a client session that satisfies the advantages set forth above. Although the present invention has been described in detail, it should be understood that various changes, substitutions, and alterations may be made herein. For example, though discussed with reference to a wireless network, the present invention may be equally incorporated in wireline or optical networks. Other examples may be readily ascertainable by those skilled in the art and may be made herein without departing from the spirit and scope of the present invention as defined by the following claims.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US5495426Jan 26, 1994Feb 27, 1996Waclawsky; John G.Inband directed routing for load balancing and load distribution in a data communication network
US5774660 *Aug 5, 1996Jun 30, 1998Resonate, Inc.World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5983281 *Apr 24, 1997Nov 9, 1999International Business Machines CorporationLoad balancing in a multiple network environment
US6173322 *Jun 5, 1997Jan 9, 2001Silicon Graphics, Inc.Network request distribution based on static rules and dynamic performance data
US6249801 *Jul 15, 1998Jun 19, 2001Radware Ltd.Load balancing
US6314465Mar 11, 1999Nov 6, 2001Lucent Technologies Inc.Method and apparatus for load sharing on a wide area network
US6332157 *Jun 29, 1999Dec 18, 2001Webtv Networks, Inc.Method of accessing multiple services from multiple service providers
US6351775 *May 30, 1997Feb 26, 2002International Business Machines CorporationLoading balancing across servers in a computer network
US6360262 *Nov 24, 1997Mar 19, 2002International Business Machines CorporationMapping web server objects to TCP/IP ports
US6360270 *Nov 16, 1998Mar 19, 2002Hewlett-Packard CompanyHybrid and predictive admission control strategies for a server
US6373585Aug 26, 1998Apr 16, 2002International Business Machines CorporationLoad balancing for processing a queue of print jobs
US6374297Aug 16, 1999Apr 16, 2002International Business Machines CorporationMethod and apparatus for load balancing of web cluster farms
US6374300 *Jul 15, 1999Apr 16, 2002F5 Networks, Inc.Method and system for storing load balancing information with an HTTP cookie
US6404766 *Dec 24, 1996Jun 11, 2002Hitachi, Ltd.Network data communication system
US6411086Jul 6, 1999Jun 25, 2002Samsung Electronics Co., Ltd.Differential solenoidal magnetic field sensing device and method for manufacturing the same
US6415323Dec 9, 1999Jul 2, 2002Fastforward NetworksProximity-based redirection system for robust and scalable service-node location in an internetwork
US6449647Sep 21, 1999Sep 10, 2002Cisco Systems, Inc.Content-aware switching of network packets
US6473802Dec 4, 2001Oct 29, 2002F5 Networks, Inc.Method and system for storing load balancing information with an HTTP cookie
US6608830 *Jan 10, 2000Aug 19, 2003Yamaha CorporationRouter
US6754706 *Aug 11, 2000Jun 22, 2004Speedera Networks, Inc.Scalable domain name system with persistence and load balancing
US6772333 *Sep 1, 1999Aug 3, 2004Dickens Coal LlcAtomic session-start operation combining clear-text and encrypted sessions to provide id visibility to middleware such as load-balancers
US6775687 *Oct 12, 1999Aug 10, 2004International Business Machines CorporationExchanging supplemental information fields between a client and a server
US6779017 *Dec 29, 1999Aug 17, 2004International Business Machines CorporationMethod and system for dispatching client sessions within a cluster of servers connected to the world wide web
US7197547 *May 10, 2000Mar 27, 2007Andrew Karl MillerLoad balancing technique implemented in a data network device utilizing a data cache
US20030014480 *Oct 31, 2001Jan 16, 2003Sam PullaraMethod and apparatus for session replication and failover
US20030014526 *Oct 31, 2001Jan 16, 2003Sam PullaraHardware load-balancing apparatus for session replication
Non-Patent Citations
Reference
1 *Yeom et. al., IP Multiplexing by Transparent Port-Address Translator, Oct. 1996, USENIX, 1996 LISA X, pp. 113-122.
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7856484 *Jul 14, 2006Dec 21, 2010International Business Machines CorporationWeb and lotus notes adapter layers
US8065418 *Feb 2, 2004Nov 22, 2011Apple Inc.NAT traversal for media conferencing
US8122140Jun 12, 2009Feb 21, 2012Wyse Technology Inc.Apparatus and method for accelerating streams through use of transparent proxy architecture
US8156235 *Jun 12, 2009Apr 10, 2012Wyse Technology Inc.Apparatus and method for determining modes and directing streams in remote communication
US8209430Jun 12, 2009Jun 26, 2012Wyse Technology Inc.Apparatus and method for remote communication and bandwidth adjustments
US8302104 *Sep 29, 2006Oct 30, 2012Hewlett-Packard Development Company, L.P.Session persistence in dynamic node allocation computing environments
US8443090Oct 20, 2011May 14, 2013Apple Inc.NAT traversal for media conferencing
US8572172Oct 20, 2011Oct 29, 2013Apple Inc.NAT traversal for media conferencing
US8775658Jun 12, 2009Jul 8, 2014Wyse Technology L.L.C.Apparatus and method for transparent communication architecture in remote communication
US20100250768 *Jun 12, 2009Sep 30, 2010Wyse Technology Inc.Apparatus and method for determining modes and directing streams in remote communication
CN101959304BJul 15, 2009Dec 26, 2012中国移动通信集团设计院有限公司Method for scheduling wireless access protocol (WAP) gateway resources and associated equipment
Classifications
U.S. Classification709/238, 718/105, 709/224, 709/227, 709/217
International ClassificationG06F15/173
Cooperative ClassificationH04L67/04, H04L67/1002, H04L61/6063, H04M1/72561, H04L29/12924
European ClassificationH04L29/08N9A
Legal Events
DateCodeEventDescription
Feb 22, 2011FPAYFee payment
Year of fee payment: 4
Sep 26, 2001ASAssignment
Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHAH, GAURANG K.;O ROURKE, CHRIS;TIWARI, PRANAV K.;REEL/FRAME:012220/0306;SIGNING DATES FROM 20010809 TO 20010920