WO2008050248A2 - System and method for improved broadband wireless gateway reliability - Google Patents

System and method for improved broadband wireless gateway reliability Download PDF

Info

Publication number
WO2008050248A2
WO2008050248A2 PCT/IB2007/053463 IB2007053463W WO2008050248A2 WO 2008050248 A2 WO2008050248 A2 WO 2008050248A2 IB 2007053463 W IB2007053463 W IB 2007053463W WO 2008050248 A2 WO2008050248 A2 WO 2008050248A2
Authority
WO
WIPO (PCT)
Prior art keywords
gateway
application instance
communication
method
failed
Prior art date
Application number
PCT/IB2007/053463
Other languages
French (fr)
Other versions
WO2008050248A3 (en
Inventor
Alexander Bachmutsky
Original Assignee
Nokia Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US85474906P priority Critical
Priority to US60/854,749 priority
Application filed by Nokia Corporation filed Critical Nokia Corporation
Publication of WO2008050248A2 publication Critical patent/WO2008050248A2/en
Publication of WO2008050248A3 publication Critical patent/WO2008050248A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic or resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements

Abstract

A system and method for providing improved broadband wireless gateway reliability. According to various embodiments of the present invention, a single monolithic gateway application is replaced with multiple instances. In this arrangement, each instance represents the entire gateway functionality. Because different instances are processing different packets with different timing, different database sizes, different mobility behavior, etc., the probability that a software failure will occur at the same time in multiple instances is low. Therefore, any software failure, occurring at any given point of time, will affect only a single instance of the gateway application.

Description

SYSTEM AND METHOD FOR IMPROVED BROADBAND WIRELESS GATEWAY RELIABILITY

FIELD OF THE INVENTION

[0001] The present invention relates generally to gateways for use with various communication networks. More particularly, the present invention relates to the providing of improved reliability and resiliency in broadband wireless gateways.

BACKGROUND OF THE INVENTION

[0002] This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.

[0003] A wireless gateway is a computer networking device that routes packets from a wireless local area network to another network. Wireless gateways combine the functions of wireless access points and router. Wireless gateways often also provide firewall functions. Broadband wireless gateways resiliency is very important requirement from the point of view of virtually all operators. The primary reason for this importance is the fact that broadband gateways in mobile networks are usually responsible for the connectivity of a very large number of terminals — ranging from a hundred thousand terminals to several million. If a broadband wireless gateway were to fail, every subscriber using the gateway would be disconnected. In a best case scenario, the users would attempt to quickly reconnect to the gateway. Otherwise, the users may wait to disconnect until the application they were using timed out. Clearly. these types of problems in a network are highly undesirable. [0004] There are multiple ways to handle resiliency issues of the type described above. For example, on solution involves the protection of various vital hardware resources. Such resources range from fans and power supplies to external ports. In some complex implementations, an entire computing platform can be provided with protection. This protection may be either internal in nature, which is analogous to blades protecting other blades in a chassis or external in nature, for example involving one network element protecting one or more other network elements. [0005] In most situations, the hardware for gateways is quite reliable. For this reason, gateway failures usually occur due to software-related issues. Unfortunately, implementing full stateful redundancy (i.e., enabling subscriber sessions to survive a gateway failure) is an extremely complex task and is rarely implemented. For example, some involve the routing space (i.e., non-stop routing and non-stop forwarding) achieving full state recovery after failure. Conversely, other systems are strictly application-dependent, such as stateful database replication. Furthermore, even if such redundancy is implemented, such redundancy results in a significant cost. [0006] In light of the above, it would be desirable to provide a simpler and less expensive method for implementing a broadband gateway, while also alleviating any difficulties on subscribers due to gateway software failures.

SUMMARY OF THE INVENTION

[0007] Various embodiments of the present invention involve replacing a single monolithic gateway application with multiple instances, where every such instance represents the entire gateway functionality. Because different instances are processing different packets with different timing, different database sizes, different mobility behavior, etc., the probability that a software failure will occur at the same time in multiple instances is very low. Therefore, any software failure, occurring at any given point of time, will affect only a single instance of the gateway application. {G008J With the embodiments of the present invention, a simple implementation is realized, resulting in a significant improvement in gateway reliability. Additionally, instance implementation becomes simpler with the embodiments of the present invention, due in large part to the scalability of the implementation is lower to the more monolithic conventional approach. Furthermore, these embodiments improve the performance in systems based on a multi-core simultaneous multi-processing (SMP) design, as this arrangement creates multiple processing entities that can run concurrently with standard operating system scheduling.

[0009] These and other advantages and features of the invention, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings, wherein like elements have like numerals throughout the several drawings described below.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 is an overview diagram of a system within which the present invention may be implemented;

[0011] Figure 2 is a perspective view of a mobile telephone that can be used in the implementation of the present invention;

[0012] Figure 3 is a schematic representation of the telephone circuitry of the mobile telephone of Figure 2; and

[0013] Figure 4 is a representation showing the implementation of load balancing between gateway instances in accordance with various embodiments of the present invention.

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS

[0014] Figure 1 shows a system 10 in which the present invention can be utilized, comprising multiple communication devices that can communicate through a network. The system 10 may comprise any combination of wired or wireless networks including, but not limited to, a mobile telephone network, a wireless Local Area Network (LAN), a Bluetooth personal area network, an Ethernet LAN, a token ring LAN, a wide area network, the Internet, etc. The system 10 may include both wired and wireless communication devices. [0015] For exemplification, the system 10 shown in Figure 1 includes a mobile telephone network 11 and the Internet 28, Connectivity to the Internet 28 may include, but is not limited to, long range wireless connections, short range wireless connections, and various wired connections including, but not limited to, telephone lines, cable lines, power lines, and the like.

[0016J The exemplary communication devices of the system 10 may include, but are not limited to, a mobile telephone 12, a combination PDA and mobile telephone 14, a PDA 16, an integrated messaging device (IMD) 18, a desktop computer 20, and a notebook computer 22. The communication devices may be stationary or mobile as when carried by an individual who is moving. The communication devices may also be located in a mode of transportation including, but not limited to, an automobile, a truck, a taxi, a bus, a boat, an airplane, a bicycle, a motorcycle, etc. Some or all of the communication devices may send and receive calls and messages and communicate with service providers through a wireless connection 25 to a base station 24, The base station 24 may be connected to a network server 26, which serves as a gateway and allows communication between the mobile telephone network 11 and the Internet 28. The system 10 may include additional communication devices and communication devices of different types.

[0017J The communication devices may communicate using various transmission technologies including, but not limited to, Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Transmission Control Protocol/Internet Protocol (TCP/IP), Short Messaging Service (SMS), Multimedia Messaging Service (MMS), e-mail, Instant Messaging Service (IMS), Bluetooth, IEEE 802.11 , etc. A communication device may communicate using various media including, but not limited to, radio, infrared, laser, cable connection, and the like. [0018] Figures 2 and 3 show one representative mobile telephone 12 within which the present invention may be implemented. It should be understood, however, that the present invention is not intended to be limited to one particular type of mobile telephone 12 or other electronic device. The mobile telephone 12 of Figures 2 and 3 includes a housing 30, a display 32 in the form of a liquid crystal display, a keypad 34, a microphone 36, an ear-piece 38, a battery 40, an infrared port 42, an antenna 44, a smart card 46 in the form of a UICC according to one embodiment of the invention, a card reader 48, radio interface circuitry 52, codec circuitry 54, a controller 56 and a memory 58. Individual circuits and elements are all of a type well known in the art, for example in the Nokia range of mobile telephones. It should also be noted that some or all of the components depicted in these Figures can be included in a gateway device that is implementing various embodiments of the present invention. [0019] Various embodiments of the present invention involve replacing a single monolithic gateway application with multiple instances, where every such instance represents the entire gateway functionality. Because different instances are processing different packets with different timing, different database sizes, different mobility behavior, etc., the probability that a software failure will occur at the same time in multiple instances is very low. Therefore, any software failure, occurring at any given point of time, will affect only a single instance of the gateway application. [0020] To understand the embodiments of the present invention, and as discussed below, it is helpful to envision a scenario where there exist N gateway application instances and there is mobile subscriber(MS)-based distribution. In the event that a single failure occurs, the failure will affect only I/Nth of all subscribers for this particular network element when the embodiments of the present invention are implemented. The remaining subscribers will continue to be served without interruption (assuming that available software technologies for memory protection between application instances are used).

[0021] There are multiple systems and methods for successfully implementing the various embodiments of the present invention. Figure 4 shows one such implementation, which involves the use of instance load balancing for a mobile network control plane based on mobile subscribers. The particular implementation for such load balancing is protocol-dependent. As shown in Figure 4, a plurality of N instances 400 share both a MS-ID-based instance multiplexer (MUX) 410 and a global database 420. Although only two instances 400 are depicted in Figure 4, it would be well understood by those skilled in the art that a virtually limitless number of instances 400 could be used.

[0022] In one embodiment (the embodiment depicted in Figure 4), the MS-ID field (i.e., the mobile terminal MAC address) in a WiMAX transport header is used for WiMAX Access Service Network-Gateway (ASN-GW) implementation. The location of the MS-ID is fixed in the control plane payload. The load balancing algorithm can be stateless and based on a few lower bits of MS-ID, meaning that it can work statistically with a large number of subscribers. Alternatively, the algorithm can use MS-ID hashing and dynamic state creation for subscriber/instance mapping for the first packet. The persistent state can be maintained during the lifetime of subscriber registration with that particular gateway. As a result of the algorithm, the activity of individual mobile stations is substantially evenly distributed among each of the N instances 400. If, for any reason, a particular instance 400 becomes inoperable or suffers from some sort of interruption, then only those mobile subscribers whose activity is being routed through that particular instance 400 will suffer from a service disruption. All other traffic remains unaffected.

[0023] With the embodiments of the present invention discussed herein, subscriber mapping into a particular instance 400 does not change with subscriber mobility. Therefore, the subscriber mapping remains persistent at all times. Each instance 400 can be implemented as an independent operating system process (for example, in terms of the Linux operating system. This allows for full memory protection of a particular instance 400 from other instances 400.

[0024] The arrangement depicted in Figure 4 shows detailed multi-threaded environments inside each instance based on application functionality. However, it is also noted that the environments depicted in Figure 4 are only intended to be exemplary in nature, and other environments are also possible. [0025J In the event that one of instances 400 depicted in Figure 4 fails, each of the other instances 400 can continue to serve subscribers. In this situation, the failed instance 400 can be restarted with a clean state instead of requiring a full gateway restart that is needed with conventional, monolithic gateway implementations. [0026] In one particular embodiment, the system can recover some or all the data from a failed application instance 400. Although a system may sometimes not trust the memory space of a failed application due to potential corruption, some stable states (i.e., a list of served subscribers/terminals, IP addresses, registration, keys, etc.) may be recoverable, assuming that the memory region to be recovered is protected by a mechanism (i.e., checksum, CRC, etc.) capable of detecting memory corruption. One such possible implementation of this functionality involves the use of a supervisory process/task that receives registrations for memory regions and has access to the entire memory in the system. In this implementation, after a restart, the application instance 400 can ask the supervisory process/task for required information, instead of starting all protocol exchanges from the very beginning. Such a procedure can be referred to as a "warm start," in contrast to a "cold start" where the application starts with a clean state. The system can be further configured to enforce a cold start of the application instance 400 in the event that the same instance fails on more than one occasion (or on a predetermined number of occasions) within a predetermined period of time.

[0027] The present invention is described in the general context of method steps, which may be implemented in one embodiment by a program product including computer-executable instructions, such as program code, executed by computers in networked environments. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps. [0028J Software and web implementations of the present invention could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various database searching steps, correlation steps, comparison steps and decision steps. It should also be noted that the words ''component" and "module," as used herein and in the claims, is intended to encompass implementations using one or more lines of software code, and/or hardware implementations, and/or equipment for receiving manual inputs. [0029] The foregoing description of embodiments of the present invention have been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the present invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the present invention. The embodiments were chosen and described in order to explain the principles of the present invention and its practical application to enable one skilled in the art to utilize the present invention in various embodiments and with various modifications as are suited to the particular use contemplated.

Claims

WHAT IS CLAIMED IS:
L A method of providing improved reliability in a gateway, comprising: providing a plurality of application instances within the gateway; receiving a plurality of communications from a plurality of mobile subscribers; and for each communication, using a load balancing algorithm to selectively map the communication to a particular one of the plurality of application instances for processing based upon an identification of the respective mobile subscriber.
2. The method of claim 1, wherein the identification comprises information contained in a mobile subscriber identification (MS-ID) field within a WiMAX transport header of the communication.
3. The method of claim 2, wherein the MS-ID field is fixed within a control plane payload for the communication.
4. The method of claim 2, wherein the load balancing algorithm is stateless and is based on selected bits within the MS-ID field.
5. The method of claim 2, wherein the load balancing algorithm uses MS- ID hashing and dynamic state creation for subscriber/instance mapping for a first packet of communication received from each particular mobile subscriber.
6. The method of claim 5, wherein the created state is maintained for each mobile subscriber during the lifetime that the subscriber is registered with the gateway.
7. The method of claim 1 , wherein the mapping does not change based upon the mobility of the mobile subscriber.
8. The method of claim 1 , wherein each application instance is implemented as an independent operating system process.
9. The method of claim 1, further comprising: determining that a failure of at least one application instance has occurred; and in response to the failure, restarting the at least one failed application instance without restarting any application instances which have not failed.
10. The method of claim 9, wherein the restarting of the at least one failed application instance comprises performing a warm start of the at least one application instance.
11. The method of claim 9, wherein, if the at least one failed application instance has failed a predetermined number of times over a predetermined period of time, then the restarting of the at least one failed application instance comprises performing a cold start of the at least one application instance.
12. The method of claim 9, further comprising recovering data from the at least one failed application instance.
13. A computer program product, embodied in a computer readable medium, for providing improved reliability in a gateway, comprising: computer code for providing a plurality of application instances within the gateway; computer code for receiving a plurality of communications from a plurality of mobile subscribers; and computer code for, for each communication, using a load balancing algorithm to selectively map the communication to a particular one of the plurality of application instances for processing based upon an identification of the respective mobile subscriber.
14. The computer program product of claim 13, wherein the identification comprises information contained in a mobile subscriber identification (MS-ID) field within a WiMAX transport header of the communication.
15. A gateway, comprising: a processor; and a memory unit communicatively connected to the processor and including: computer code for receiving a plurality of communications from a plurality of mobile subscribers; and computer code for, for each communication, using a load balancing algorithm to selectively map the communication to a particular one of a plurality of application instances for processing based upon an identification of the respective mobile subscriber.
16. The gateway of claim 15, wherein the identification comprises information contained in a mobile subscriber identification (MS-ID) field within a WiMAX transport header of the communication.
17. The gateway of claim 16, wherein the MS-ID field is fixed within a control plane payload for the communication.
18. The gateway of claim 16, wherein the load balancing algorithm is stateless and is based on selected bits within the MS-ID field.
19. The gateway of claim 16, wherein the load balancing algorithm uses MS-ID hashing and dynamic state creation for subscriber/instance mapping for a first packet of communication received from each particular mobile subscriber.
20. The gateway of claim 19, wherein the created state is maintained for each mobile subscriber during the lifetime that the subscriber is registered with the gateway.
21. The gateway of claim 15, wherein the mapping does not change based upon the mobility of the mobile subscriber.
22. The gateway of claim 15, wherein each application instance is implemented as an independent operating system process.
23. The gateway of claim 15, wherein the memory unit further comprises: computer code for determining that a failure of at least one application instance has occurred; and computer code for, in response to the failure, restarting the at least one failed application instance without restarting any application instances which have not failed.
24. The gateway of claim 23 , wherein the restarting of the at least one failed application instance comprises performing a warm start of the at least one application instance.
25. The gateway of claim 23, wherein, if the at least one failed application instance has failed a predetermined number of times over a predetermined period of time, then the restarting of the at least one failed application instance comprises performing a cold start of the at least one application instance.
26. The gateway of claim 23, further comprising recovering data from the at least one failed application instance.
PCT/IB2007/053463 2006-10-27 2007-08-29 System and method for improved broadband wireless gateway reliability WO2008050248A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US85474906P true 2006-10-27 2006-10-27
US60/854,749 2006-10-27

Publications (2)

Publication Number Publication Date
WO2008050248A2 true WO2008050248A2 (en) 2008-05-02
WO2008050248A3 WO2008050248A3 (en) 2008-06-19

Family

ID=39324981

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2007/053463 WO2008050248A2 (en) 2006-10-27 2007-08-29 System and method for improved broadband wireless gateway reliability

Country Status (1)

Country Link
WO (1) WO2008050248A2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473599A (en) * 1994-04-22 1995-12-05 Cisco Systems, Incorporated Standby router protocol
US6199179B1 (en) * 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US20030081615A1 (en) * 2001-10-22 2003-05-01 Sun Microsystems, Inc. Method and apparatus for a packet classifier
US20040260825A1 (en) * 2000-09-15 2004-12-23 Puneet Agarwal Methods & apparatus for distributing, & providing fault-tolerance to path-vector routing protocols
US6895013B1 (en) * 2001-02-23 2005-05-17 Cisco Technology, Inc. Coherent access to and update of configuration information in multiprocessor environment
US20080040789A1 (en) * 2006-08-08 2008-02-14 A10 Networks Inc. System and method for distributed multi-processing security gateway

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473599A (en) * 1994-04-22 1995-12-05 Cisco Systems, Incorporated Standby router protocol
US6199179B1 (en) * 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US20040260825A1 (en) * 2000-09-15 2004-12-23 Puneet Agarwal Methods & apparatus for distributing, & providing fault-tolerance to path-vector routing protocols
US6895013B1 (en) * 2001-02-23 2005-05-17 Cisco Technology, Inc. Coherent access to and update of configuration information in multiprocessor environment
US20030081615A1 (en) * 2001-10-22 2003-05-01 Sun Microsystems, Inc. Method and apparatus for a packet classifier
US20080040789A1 (en) * 2006-08-08 2008-02-14 A10 Networks Inc. System and method for distributed multi-processing security gateway

Also Published As

Publication number Publication date
WO2008050248A3 (en) 2008-06-19

Similar Documents

Publication Publication Date Title
KR101004227B1 (en) Methods and apparatus for updating mobile node location information
US9853942B2 (en) Load balancing among a cluster of firewall security devices
RU2265282C2 (en) Method and system for internet protocol mobile centers in heterogeneous networks
US7895642B1 (en) Tiered security services
US7899449B2 (en) Demand-based provisioning for a mobile communication device
US7035630B2 (en) Demand-based provisioning for a mobile communication device
US9380111B2 (en) Feature peer network with scalable state information
US10003516B2 (en) Method and apparatus for processing messages
US9088478B2 (en) Methods, systems, and computer readable media for inter-message processor status sharing
US9119017B2 (en) Cloud based mobile device security and policy enforcement
EP1850236A1 (en) Communication control apparatus
WO2011065268A1 (en) Load distribution system, load distribution method, and program
CN102057659B (en) Enabling user control of a fallback capability for circuit switched domain support
US20140143854A1 (en) Load balancing among a cluster of firewall security devices
US20080107077A1 (en) Subnet mobility supporting wireless handoff
EP2441232B1 (en) Methods, apparatuses, and related computer program product for network element recovery
FI110975B (en) Cheating Prevention of telecommunication systems
EP2060085B1 (en) Sending keep-alive messages on behalf of another device via keep-alive proxy
US7633855B2 (en) System and method for resolving address conflicts in a network
RU2269873C2 (en) Wireless initialization device
US9935922B2 (en) Methods, systems, and computer readable media for screening diameter messages within a diameter signaling router (DSR) having a distributed message processor architecture
US20100267368A1 (en) Handheld device capable of providing data tethering services while maintaining suite of handheld service functions
CN100466547C (en) System and method for privilege management and revocation
EP1716678A1 (en) Mobile station traffic routing
US8817593B2 (en) Method and apparatus providing failover for a point to point tunnel for wireless local area network split-plane environments

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07826182

Country of ref document: EP

Kind code of ref document: A2

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07826182

Country of ref document: EP

Kind code of ref document: A2