Handover procedure for a mobile station between base stations in a satellite communications system
By using a network load balancer to route handover requests and responses through R6 interfaces and leveraging a shared data store for subscriber context, the need for an R4 interface is eliminated, improving handover efficiency and reducing complexity in satellite communication systems.
Patent Information
- Application Number
- PCT/US2023/036159
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-27
- Publication Date
- 2025-05-01
AI Technical Summary
Existing handover procedures in satellite communication systems require a dedicated R4 interface between ASN gateways, which can be inefficient and lead to performance degradation due to multiple relays.
Implementing a network load balancer that acts as a single logical endpoint for all ASN gateways, eliminating the need for an R4 interface by routing handover requests and responses through R6 interfaces and using a shared data store for subscriber context information.
This solution reduces the complexity and cost of implementing handover procedures, improves network performance by minimizing relay hops, and allows for load balancing across ASN gateways, thereby enhancing overall system efficiency.
Smart Images

Figure US2023036159_01052025_PF_FP_ABST
Abstract
Description
HANDOVER PROCEDURE FOR A MOBILE STATION BETWEEN BASE STATIONS IN A SATELLITE COMMUNICATIONS SYSTEMBACKGROUNDField
[0001] The present disclosure generally relates to handover procedures for a mobile station between base stations in a communications system.Description of Related Art
[0002] Wireless communication is an indispensable element of modern life. The ability to communicate with other devices and people over large distances without the necessity of providing cabling between those locations has resulted in large increases in access to information. To facilitate widespread adoption and proliferation of wireless communication, a number of technological standards have been adopted. One example is WiMAX. WiMAX (Worldwide Interoperability for Microwave Access) is a wireless communication technology that provides highspeed data transmission over long distances. It is based on the IEEE 802.16 standard and is designed to offer broadband internet access in both fixed and mobile environments.SUMMARY
[0003] According to a number of implementations, the present disclosure relates to a method for using a network load balancer to perform a handover procedure for a mobile station between base stations in a communications system. The method includes forwarding network traffic to a first gateway of a plurality of gateways in the communications system, the network traffic received from the mobile station through a first base station using a first R6 interface between the network load balancer and the first base station. The method also includes receiving a handover request from the first base station through the first R6 interface. The method also includes forwarding the handover request to the first gateway, the first gateway configured to send the handover request to a second base station through a second R6 interface between the network load balancer and the second base station. The method also includes receiving a handover response from the second base station through the second R6 interface. The method also includes selecting a second gateway of the plurality of gateways toassociate with the second base station for network traffic from the mobile station upon completion of the handover procedure, the second gateway selected based at least in part on balancing network load in the communications system. The method also includes forwarding the handover response to the second gateway, the second gateway configured to send the handover response to the first base station through the first R6 interface based at least in part on a destination network address of the handover response. The method also includes sending subscriber context information associated with the mobile station from the second gateway to the second base station, the subscriber context information retrieved by the second gateway from a shared data store that is accessible to the first gateway and the second gateway.
[0004] In some embodiments, the handover procedure does not use an R4 interface between the first gateway and the second gateway. In some embodiments, the method further includes advertising to the first base station and to the second base station a single logical endpoint as a gateway, the single logical endpoint corresponding to the network load balancer that is communicatively coupled to the plurality of gateways in the communications system.
[0005] In some embodiments, the method further includes storing the subscriber context information in the shared data store in the communications system, the subscriber context information including information associated with the mobile station. In some embodiments, the shared data store includes a plurality of shards of a database, individual shards distributed among clusters in the shared data store.
[0006] In some embodiments, the handover request is received responsive to the mobile station moving from a coverage area of the first base station to a coverage area of the second base station.
[0007] In some embodiments, the method further includes performing a path registration handshake by forwarding a path registration request to the second gateway from the second base station using the second R6 interface, and forwarding a path registration acknowledgement to the second gateway from the second base station using the second R6 interface responsive to receiving a path registration response from the second gateway. In some embodiments, the method further includes performing a path deregistration handshake by forwarding a path deregistration request to the first gateway from the first base station using the firstR6 interface and forwarding a path deregistration acknowledgement to the first gateway from the first base station using the first R6 interface responsive to receiving a path deregistration response from the first gateway.
[0008] In some embodiments, the second gateway is selected based at least in part using a flow hash routing algorithm. In some embodiments, an algorithm implemented by the network load balancer to select a gateway for the mobile station is configured to route requests from a particular source to a particular destination, the route configured to remain unchanged during a network session until the handover request. In some embodiments, an algorithm implemented by the network load balancer to select a gateway for the mobile station is configured to route requests from a particular source to a particular destination, the route configured to remain unchanged during a network session unless the particular destination becomes unreachable.
[0009] In some embodiments, the first gateway does not send the subscriber context information associated with the mobile station to the second gateway. In some embodiments, the first gateway is selected by the network load balancer based at least in part on balancing network load in the communications system.
[0010] According to a number of implementations, the present disclosure relates to a communications system that includes a network load balancer; a plurality of base stations each communicatively coupled to the network load balancer through a respective R6 interface; a plurality of gateways each communicatively coupled to the network load balancer; and a shared data store communicatively coupled to each of the plurality of gateways. Responsive to a handover request from a first base station of the plurality of base stations, the communications system is configured to execute a handover procedure to a second base station of the plurality of base stations by performing the following: transmit the handover request from the first base station to a first gateway of the plurality of gateways through the network load balancer, communication from the first base station to the network load balancer using a first R6 interface between the first base station and the network load balancer; transmit the handover request from the first gateway to the second base station through the network load balancer, communication from the network load balancer to the second base station using a second R6 interface between the second base station and thenetwork load balancer; transmit receiving a handover response from the second base station through the second R6 interface; select, by the network load balancer, a second gateway of the plurality of gateways to associate with the second base station for network traffic from a mobile station upon completion of the handover procedure, the second gateway selected based at least in part on balancing network load in the communications system; transmit the handover response from the second base station to the second gateway through the network load balancer, communication from the second base station to the network load balancer using the second R6 interface; transmit the handover response from the second gateway to the first base station through the network load balancer, communication from the network load balancer to the first base station using the first R6 interface; retrieve, by the second gateway from the shared data store, subscriber context information associated with the mobile station; and transmit the subscriber context information associated with the mobile station from the second gateway to the second base station through the network load balancer, communication from the network load balancer to the second base station using the second R6 interface.
[0011] In some embodiments, there is no R4 interface between pairs of gateways of the plurality of gateways. In some embodiments, the subscriber context information associated with the mobile station is not communicated between pairs of gateways of the plurality of gateways.
[0012] In some embodiments, the shared data store includes a plurality of master shards, individual master shards including subscriber context information. In some embodiments, individual master shards include at least one replica shard. In some embodiments, the data store comprises a single cluster comprising multiple shards.
[0013] According to a number of implementations, the present disclosure relates to a network load balancer in a communications system that includes a plurality of base stations and a plurality of gateways. The network load balancer includes a network interface configured to receive network communication from the plurality of base stations and the plurality of gateways; memory configured to store executable instructions; and one or more processors in communication with the network interface and the memory. The one or more processors are configured to execute the stored executable instructions to forward network traffic to achieve a handover in the communications system by performing the following: forwardnetwork traffic to a first gateway of the plurality of gateways, the network traffic received from a mobile station through a first base station of the plurality of base stations using a first R6 interface between the network load balancer and the first base station; receive a handover request from the first base station through the first R6 interface; forward the handover request to the first gateway, the first gateway configured to send the handover request to a second base station of the plurality of base stations through a second R6 interface between the network load balancer and the second base station; receive a handover response from the second base station through the second R6 interface; select a second gateway of the plurality of gateways to associate with the second base station for network traffic from the mobile station upon completion of the handover procedure, the second gateway selected based at least in part on balancing network load in the communications system; forward the handover response to the second gateway, the second gateway configured to send the handover response to the first base station through the first R6 interface based at least in part on a destination network address of the handover response; and send subscriber context information associated with the mobile station from the second gateway to the second base station, the subscriber context information retrieved by the second gateway from a shared data store that is accessible to the first gateway and the second gateway.
[0014] In some embodiments, the one or more processors are further configured to execute a flow hash routing algorithm to select the first gateway. In some embodiments, the one or more processors are further configured to execute a flow hash routing algorithm to select the second gateway.
[0015] For purposes of summarizing the disclosure, certain aspects, advantages and novel features have been described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment. Thus, the disclosed embodiments may be carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.BRIEF DESCRIPTION OF THE DRAWINGS
[0016] FIG. 1 A illustrates an example of a satellite communications system that includes a plurality of ASN gateways, with each ASN gateway connected to one or more base stations.
[0017] FIG. 1 B illustrates an example satellite communications system that includes a network load balancer to improve the handover procedures for a mobile station between base stations.
[0018] FIG. 2A illustrates a mobile station connected to a first base station through a first R1 interface.
[0019] FIG. 2B illustrates the mobile station of FIG. 2A moving into the coverage area of a second base station and that a handover procedure has occurred to enable the mobile station to connect to the second base station through a second R1 interface.
[0020] FIG. 3 illustrates another example satellite communications system that includes a network load balancer and a shared data store.
[0021] FIGS. 4A and 4B illustrate an example handover procedure in a satellite communications system using a network load balancer.
[0022] FIG. 5 illustrates a flow chart of an example method for using a network load balancer to perform a handover procedure.DETAILED DESCRIPTION OF SOME EMBODIMENTS
[0023] The headings provided herein, if any, are for convenience only and do not necessarily affect the scope or meaning of the claimed subject matter.Overview
[0024] Satellite and wireless communication typically operates by using radio waves to transmit data between a base station and a subscriber station or mobile station, such as a user device, over a wireless connection. In a satellite communications system, the base station provides a link between the mobile station and the internal network of the satellite communications system and an external network, such as the Internet. The primary function of a base station is to transmit and receive radio signals to and from mobile stations within its coverage area. As used herein, a subscriber station or a mobile station includes user devices (e.g., phones, laptops, etc.), customer premises equipment (CPE), network-equipped vehicles (e.g., airplane, ship, train, etc.) and the like. Other components may also be used to provide satellite and wireless communication, such as gateways, routers, and the like.
[0025] Various communications technologies utilize base stations as part of their infrastructure. For example, WiMAX (Worldwide Interoperability for Microwave Access) is a wireless communication technology that uses base stations to provide high-speed data transmission over long distances in both fixed and mobile environments. WiMAX operates within the microwave frequency range, typically in the 2 GHz to 66 GHz spectrum. WiMAX is based on the IEEE 802.16 standard, which defines the specifications for the physical layer (PHY) and media access control (MAC) layer of the communication system. WiMAX offers highspeed, long-range wireless connectivity, making it suitable for providing broadband internet access to both fixed and mobile users, especially in areas where wired infrastructure is limited or unavailable.
[0026] Communications systems that include WiMAX networks and other such networks (e.g., satellite networks, cellular networks, etc.) include base stations that act as access points to connect mobile stations to the network. Base stations are strategically placed within a geographical area to provide coverage for users within that region. Various communications systems use a point-to-multipoint architecture, where the base station communicates with multiple mobile stations simultaneously. When a mobile station, such as a computer or a smartphone, wants to connect to the network, it goes through an initialization process to establish communication with the nearest base station. The mobile station authenticates itself to the network to ensure it is authorized to access the service, and once authenticated, a handshake process takes place to establish communication parameters between the mobile station and the base station. Once the initialization and handshake processes are complete, data can be transmitted between the mobile station and the base station.
[0027] A satellite communications system can also include access service network gateways (ASN-GWs or ASN gateways) that connect to the base stations. As described herein, the base stations serve as the point of contact between mobile stations and the access service network. Base stations are deployed to cover targeted geographical areas or cells, and they typically form the last hop of communication in a network before reaching the mobile station. Inaddition, base stations initiate the handover of connections as a mobile station moves across different base station coverage areas. The ASN gateway is a network element responsible for managing the connectivity between the base stations and the core network of the service provider or the Internet. The ASN gateway is configured to aggregate traffic from multiple base stations, to perform protocol conversion, and to handle the routing of data packets between the base stations and the core network. The ASN gateway handles resource allocation, quality of service (QoS) management, and prioritization of data traffic coming from the base stations to ensure efficient use of network resources. One ASN gateway is typically connected to multiple base stations.
[0028] Satellite communications systems can operate in both fixed and mobile modes. In the mobile mode, the communications system supports seamless handoffs as users move from the coverage area of a first base station to the coverage area of a second base station, enabling continuous connectivity while on the move. When a mobile subscriber moves from the coverage area of one base station to another, handover procedures are invoked resulting in a change of the base station managing communication of the mobile subscriber. In certain instances, changing the base station also includes changing the ASN gateway in the communications system, requiring a handover from one ASN gateway to another. This requires communication between the ASN gateways to coordinate handover of the mobile station, and communication between the ASN gateways typically requires a communication interface between ASN gateways.
[0029] It may be inefficient, tedious, and / or unnecessary to implement an ASN gateway interface between ASN gateways in a communications system for the purpose of handover. In addition, where a handover procedure requires multiple relays between ASN gateways, there could be a degradation in performance due to the traversal of multiple ASN gateway interfaces.
[0030] Accordingly, to address these and other issues, disclosed herein are methods and systems that reduce or eliminate the need for a dedicated interface between ASN gateways for a successful handover while also performing load balancing between ASN gateways and reducing subscriber blast radius (or the number of mobile stations affected by an ASN gateway going down). The disclosed technologies include abstracting the interface between a base station and an ASN gateway by advertising a single logical endpoint for all ASN gatewaysto each base station in a communications system. In addition, the disclosed technologies include extracting subscriber context information into a distributed, clustered data store to provide easy access to the subscriber context information to each ASN gateway in the communications system.Example Satellite Communications Systems
[0031] FIG. 1 A illustrates an example of a satellite communications system 100a that includes a plurality of ASN gateways 1 16a, 1 16b, with each ASN gateway 1 16a, 1 16b connected to one or more base stations 114a, 1 14b, 1 14c, 114d. Each base station 114a-114d is capable of serving one or more mobile stations 102a, 102b, 102c, 102d, where a mobile station may also be referred to as a subscriber station (hence the indicator SS / MS in FIG. 1A for mobile stations 102a-102d). The infrastructure and functionalities of the satellite communications system 100a is presented here using a network reference model that includes network access providers (NAPs), network service providers (NSPs), access service networks (ASNs), connectivity service networks (CSNs), and application service providers (ASPs) to enable communication between a mobile station 102a- 102d and the Internet 130.
[0032] The satellite communications system 100a includes an NAP 110a that provides radio access infrastructure to an NSP 120. The NAP 1 10a includes a plurality of ASNs 1 12a, 112b that each provide the set of functionalities that provide radio access connection to mobile stations 102a-102d. The ASNs 112a, 112b are configured to provide layer 2 connectivity to subscribers (e.g., mobile stations 102a-102d), radio resource management mechanisms such as handover control and execution, relay functions to the CSNs to establish layer 3 connectivity with subscribers, tunneling of data and signaling between the ASN and the CSN through reference point R3, and the like.
[0033] The ASN 1 12a includes base stations 114a, 1 14b and the ASN gateway 1 16a and the ASN 1 12b includes base stations 1 14c, 1 14d and the ASN gateway 116b. The base station 1 14a is connected to mobile stations 102a, 102b and the base station 114c is connected to mobile stations 102c, 102d. The base stations 114a, 1 14b, 1 14c, 1 14d implement physical layer and MAC layer functionality. The base stations 1 14a, 1 14b are configured to schedule network traffic with the ASN gateway 116a and the base stations 1 14c, 1 14d are configuredto schedule network traffic with the ASN gateway 1 16b. The ASN gateways 116a, 116b may be implemented in software, hardware, or a combination of both and are configured to implement the functionality of the ASNs 1 12a, 112b.
[0034] The satellite communications system 100a includes an NSP 120 that may represent a business or other such entity that enables network connectivity and communication services to subscribers in accordance with established service level agreements (SLA). The NSP 120 includes a plurality of CSNs 122a, 122b that provides connectivity to network resources for the mobile stations 102a-102d, the network resources including private networks and public networks (e.g., the Internet 130). The CSN 122a includes a CSN router 124a and the CSN 122b includes a CSN router 124b, the CSN routers 124a, 124b providing the infrastructure to enable the connectivity to the Internet through respective ASPs 126a, 126b. The ASPs 126a, 126b include an authentication, authorization, and accounting (AAA) server, a dynamic host configuration protocol (DHCP) server, a home agent, a domain name system (DNS) server, and the like.
[0035] Interfaces between network elements can be referenced using an alphanumeric indicator that indicates a particular set of control and data plane protocols to enable communication between the particular network elements. For example, the satellite communications system 100a includes an R4 interface (or R4 reference point), which is the interface between different ASN gateways (e.g., between ASN gateway 116a and ASN gateway 1 16b). The satellite communications system 100a also includes an R6 interface (or R6 reference point), which is the interface between a base station and an ASN gateway (e.g., between base station 114a and ASN gateway 116a). The satellite communications system 100a also includes an R8 interface (or R8 reference point), which is the interface between base stations coupled to the same ASN gateway (e.g., between base station 114a and base station 1 14b). The R4 interface, or R4 reference point, includes a set of control and data plane protocols that coordinate the mobility of the mobile stations 102a-102d. Thus, the ASN gateways 1 16a, 1 16b are interconnected via an R4 interface for mobility and resource management.
[0036] In addition, the satellite communications system 100a includes an R1 interface (or R1 reference point), which is the interface between mobile stations and base stations (e.g., between mobile station 102a and base station 1 14a). In some implementations, the R1 interface is provided using a satellite network, aterrestrial network, or a combination of a satellite and a terrestrial network. The satellite network can include a geosynchronous earth orbit (GEO) satellite or satellites, a medium earth orbit (MEO) satellite or satellites, and / or a low earth orbit (LEO) satellite or satellites. The terrestrial network can include wired or wireless networks, including cellular networks.
[0037] The satellite communications system 100a includes an R3 interface (or R3 reference point), which is the interface between an ASN and a CSN (e.g., between ASN 1 12a and CSN 122a). The R3 interface thus connects an ASN to the Internet 130 via a CSN. The satellite communications system 100a also includes an R5 interface (or R5 reference point), which is the interface between CSNs (e.g., between CSN 122a and CSN 122b).
[0038] When a mobile station moves from one base station to another, the satellite communications system 100a invokes handover procedures. When handover occurs between base stations connected to the same ASN gateway then satellite communications system 100a uses the R8 reference point between the base stations for the handover. If handover is required between base stations connected with different ASN gateways, then along with the R6 interface, the satellite communications system 100a uses the R4 interface for the invoked handover procedures.
[0039] By way of example, if mobile station 102a moves from the coverage area of base station 1 14a (the serving base station) to the coverage area of base station 114b (the target base station), the satellite communications system 100a uses the R8 interface for the handover procedure to handover service from base station 1 14a to base station 1 14b because base station 1 14a and base station 114b are both connected to ASN gateway 116a (i.e., the serving base station and the target base station are connected to the same ASN gateway). As another example, if mobile station 102b moves from the coverage area of base station 1 14a (the serving base station) to the coverage area of base station 1 14d (the target base station), the satellite communications system 100a uses the R6 interface as well as the R4 interface to handover service from base station 114a to base station 114d because base station 114a is connected to ASN gateway 1 16a and base station 1 14d is connected to ASN gateway 1 16b (i.e., the serving base station and the target base station are connected to different ASN gateways).
[0040] For a successful handover when the target base station is connected to a different ASN-GW than the serving base station, multiple messages are exchanged. Handover messages are relayed by the serving ASN gateway over R4 to the target ASN gateway. In addition, subscriber context information is relayed from the serving ASN gateway to the target ASN gateway via the R4 interface. The subscriber context information includes authentication information, subscriber service policies, and the like. When moving to a target base station, the target base station is not aware of the subscriber information because authentication of the mobile station occurred with the serving base station as well as application of the applicable service policies. The target base station, without receiving subscriber context information from the serving base station, is not aware of the authentication, service policies, etc. which is why the subscriber context information is transmitted as part of the handover procedure. In addition, data path registration messages are exchanged via the R4 interface. Using the example above where mobile station 102b moves from the coverage area of base station 1 14a to the coverage area of 1 14d, the handover procedure includes the ASN gateway 116a (the serving ASN gateway) relaying handover messages, subscriber context information, and data path registration messages over the R4 interface to the ASN gateway 1 16b (the target ASN gateway). There could also be multiple relay ASN gateways involved in relaying handover messages along with the subscriber context information in the case where the target ASN is not directly connected to the serving ASN. In such instances, each relay ASN gateway must also support the R4 interface.
[0041] However, it may be difficult, burdensome, and costly to implement an R4 interface on each ASN gateway in the satellite communications system 100a to provide handover procedures between ASNs. In addition, where multiple relays between ASNs occur, there may be a degradation in performance of the satellite communications system 100a. Accordingly, disclosed herein are satellite communications systems and associated methods that implement a network load balancer and a distributed database to improve handover procedures for a mobile station between base stations.
[0042] FIG. 1 B illustrates an example satellite communications system 100b that includes a network load balancer 140 to improve the handover procedures for a mobile station between base stations. The satellitecommunications system 100b is similar to the satellite communications system 100a of FIG. 1 A except that the satellite communications system 100b includes a NAP 1 10b (similar to the NAP 1 10a) with the network load balancer 140. Furthermore, the NAP 1 10b does not implement an R4 interface between ASN gateways, such as between the ASN gateway 1 16a and the ASN gateway 116b. Instead, the NAP 110b includes the network load balancer 140 as a single logical endpoint for each base station 1 14a-1 14d, each base station 114a-1 14d connected to the network load balancer 140 through a respective R6 interface. In addition, the network load balancer 140 is connected to each ASN gateway 116a, 116b using any suitable communication protocol, such as the IP communication protocol. In such an implementation, each ASN gateway 1 16a, 116b has an IP address that is configured as a target IP address in the network load balancer 140. If there is IP connectivity, the network load balancer 140 is able to communicate with any of the ANS gateways 116a, 1 16b as chosen by a load balancing algorithm implemented on the network load balancer 140.
[0043] The R6 interface behaves as the R6 interface in the satellite communications system 100a of FIG. 1A except that in the satellite communications system 100b the R6 interface connects the base stations 114a- 1 14d to the network load balancer 140. However, to the base stations 114a-1 14d, the network load balancer 140 appears as an ASN gateway. In other words, the R6 interface is abstracted by advertising the network load balancer 140 as a single logical endpoint for all ASN gateways 1 16a, 116b in the NAP 1 10b.
[0044] As described herein, abstracting the R6 interface between the base stations 114a-1 14d and the ASN gateways 1 16a, 116b means that a base station 114a-114d is not bound to a single ASN gateway 1 16a, 1 16b. Instead, each base station 1 14a-1 14d is configured so that the network address of the network load balancer 140 is the endpoint of the R6 interface. Each base station 1 14a-1 14d sends network traffic specific to the R6 interface (R6 network traffic), such as messages related to handover procedures, to the network load balancer 140 which then routes the R6 network traffic to any of the ASN gateways 116a, 1 16b based on a load balancing algorithm. An example of a load balancing algorithm is a flow hash routing algorithm. The R6 network traffic from the ASN gateways 116a, 1 16b to the base stations 114a-114d is also sent back via the network load balancer 140. Thus, in the satellite communications system 100b any base station 114a-114d is able to accept messages coming from any of ASN gateway 1 16a, 1 16b due at least in part to the R6 network traffic being routed through the network load balancer 140.
[0045] In some implementations, the network load balancer 140 functions at the fourth layer of the Open Systems Interconnection (OSI) model. In the satellite communications system 100a, network traffic over the R6 interface between a base station and an ASN gateway is typically user datagram protocol (UDP) based. Thus, the satellite communications system 100b implements the network load balancer 140 to operate as a UDP load balancer between the base stations 1 14a-114d and the ASN gateways 1 16a, 1 16b. In such implementations, the network load balancer 140 receives UDP traffic from the base stations 114a- 114d and load balances the requests between the ASN gateways 116a, 1 16b. In some embodiments, the network load balancer 140 uses a flow hash routing algorithm to select the ASN gateway to which each UDP flow is sent. In certain implementations, the network load balancer enables network traffic to be routed across geographical regions.
[0046] The network load balancer 140 can be implemented in a single device, in a cloud environment, as a distributed system, or the like. In addition, the network load balancer 140 can be implemented in a way to avoid a single point of failure, such as having multiple network load balancers implemented in a redundant fashion such that the failure of a first network load balancer results in a second network load balancer being automatically deployed in the satellite communications system 100b.
[0047] FIGS. 2A and 2B illustrate an example of a mobile station 202 moving from the coverage area of a first base station 214a to a coverage area of a second base station 214b in a satellite communications system 200, triggering a handover procedure. The satellite communications system 200 is similar to the satellite communications system 100b of FIG. 1 B and can include all of the same or similar components. The satellite communications system 200 includes a first base station 214a and a second base station 214b (similar to the base stations 114a-114d), the first base station 214a connected to a network load balancer 240 (similar to the network load balancer 140) through a first R6 interface and the second base station 214b connected to the network load balancer 240 through a second R6 interface. The satellite communications system 200 also includes a firstASN gateway 216a and a second ASN gateway 216b (similar to the ASN gateways 116a, 116b) connected to the network load balancer 240 and to a shared data store 250. The shared data store 250 can be a distributed database, as described in greater detail herein.
[0048] FIG. 2A illustrates the mobile station 202 connected to the first base station 214a through a first R1 interface. FIG. 2A also illustrates that the mobile station 202 is moving out of the coverage area of the first base station 214a. FIG. 2B illustrates that the mobile station 202 has moved into the coverage area of the second base station 214b and that a handover procedure has occurred to enable the mobile station 202 to connect to the second base station 214b through a second R1 interface. A handover procedure similar to this is described in greater detail herein with reference to FIGS. 4A and 4B. In certain implementations, this represents a situation in which the base stations 214a, 214b are fixed and served by a particular satellite beam and as the mobile station 202 moves out of one beam to another beam, it necessarily changes base station, which requires handover procedure.
[0049] FIGS. 2A and 2B also illustrate in dashed lines R6 interfaces that would have been implemented in typical communications systems, such as the satellite communications system 100a described herein with reference to FIG. 1 A. For example, a first R6 interface would have been implemented to connect the first base station 214a to the first ASN gateway 216a and a second R6 interface would have been implemented to connect the second base station 214b to the second ASN gateway 216b. In addition, an R4 interface would have been implemented to connect the first ASN gateway 216a and the second ASN gateway 216b.
[0050] The disclosed technologies enable the elimination of these interfaces indicated in dashed lines by implementing the network load balancer 240 and the shared data store 250. Each base station 214a, 214b is configured to send R6 network traffic, including DHCP requests, to a single end point which is the network load balancer 240. Instead of sending R6 requests directly to a particular ASN gateway 216a, 216b, the base stations 214a, 214b are each configured to send all R6 network traffic to the network load balancer 240. In addition, all DHCP packets are routed to a particular ASN gateway 216a, 216b via the network load balancer 240. Furthermore, during a handover procedure, the network load balancer 240 acts as a single endpoint for both the destination basestation (e.g., base station 214b) and the source base station (e.g., base station 214a). Any ASN gateway (e.g., ASN gateway 216a or ASN gateway 216b) behind the network load balancer 240 can handle requests sent by source or destination base stations (e.g., base stations 214a, 214b). This structure eliminates the need for an R4 interface between the ASN gateways 216a, 216b. In addition, the shared data store 250 is used to make the ASN gateways 216a, 216b stateless. The shared data store 250 is connected to each ASN gateway 216a, 216b to enable each ASN gateway 216a, 216b to retrieve subscriber context information, including subscriber state information and allocated DHCP IP address, without requiring another ASN gateway to deliver the subscriber context information. This also enables removal of the R4 interface because any ASN gateway is able to retrieve subscriber context information during a handover procedure. Advantageously, removal of the R4 interface also eliminates the need for an operator to be concerned with interoperability of deployed ASN gateways via the R4 interface.
[0051] FIG. 3 illustrates another example satellite communications system 300 that includes a network load balancer 340 implemented in an NAP 310 and a shared data store 350. The satellite communications system 300 is similar to the satellite communications system 100b and the satellite communications system 200 described herein with reference to FIGS. 1 B and 2A, respectively. The NAP 310 is similar to the NAP 1 10b of FIG. 1 B. The network load balancer 340 is similar to the network load balancer 140 and the network load balancer 240 described herein with reference to FIGS. 1 B and 2A, respectively. The shared data store 350 is similar to the shared data store 250 of FIGS. 2A and 2B.
[0052] The NAP 310 includes a plurality of ASN gateways 316, each connected to the network load balancer 340. In addition, the satellite communications system 300 includes a plurality of base stations 314, each connected to the network load balancer 340 through respective R6 interfaces. In addition, each ASN gateway 316 is connected to the shared data store 350.
[0053] The satellite communications system 300 is able to provide successful handover without requiring an R4 interface between individual ASN gateways of the plurality of ASN gateways 316 while at the same time balancing network load across available ASN gateways of the plurality of ASN gateways 316. In addition, the satellite communications system 300 reduces or minimizes subscriber blast radius in the event an ASN gateway of the plurality of ASNgateways 316 goes down, where the subscriber blast radius corresponds to the number of mobile stations that lose connection to the Internet or other network due to an ASN gateway going down. The subscriber blast radius is reduced or minimized because the network load balancer 340 can dynamically route network traffic to a different ASN gateway of the plurality of ASN gateways 316 in the event network traffic was originally slated to be directed through an ASN gateway that has gone down. This is possible due at least in part to all R6 interfaces from the base stations 314 connecting to the network load balancer 340.
[0054] A handover procedure performed by the satellite communications system 300 does not require an R4 interface to be implemented between ASN gateways of the plurality of ASN gateways 316 for relaying handover messages or other subscriber context information. This is due at least in part to the network load balancer 340 being a single endpoint to both the source base station and the destination base station. This is also due at least in part to any ASN gateway behind the network load balancer 340 being able to handle handover messages sent by source or destination base stations. This is also due at least in part to each ASN gateway of the plurality of ASN gateways 316 being able to independently access the shared data store 350 to retrieve subscriber context information. In addition, the satellite communications system 300 provides a load-balanced solution for the plurality of ASN gateways 316.
[0055] In some embodiments, the network load balancer 340 operates at the transport layer, listening for UDP packets on the R6 port and for DHCP packets on the DHCP port. On reception of any R6 or DHCP packet, the network load balancer 340 uses a load balancing algorithm to determine which ASN gateway of the plurality of ASN gateways 316 to select for routing the packet. A flow hashing algorithm is an example of a load balancing algorithm that can be implemented by the network load balancer 340. The flow-hash algorithm is based on 5-tuples: protocol, source network address, source port, destination network address, and destination port. The protocol is typically UDP for R6 and DHCP network traffic. The source network address is the network address of the base station from which the request has originated (i.e., the serving base station). The source port is the R6 port of the serving base station. The destination network address is the network address of the network load balancer 340. The destination port is the R6 port of the network load balancer 340.
[0056] The flow-hash algorithm and other load balancing algorithms are capable of stickiness. Stickiness is the ability to route all requests from a particular source to the same destination (unless the destination is down or unhealthy). UDP flows from the same base station typically get routed to the same ASN gateway due to the stickiness ability of the load balancing algorithm (e.g., the flow-hash algorithm). Similarly, different UDP flows from different base stations of the plurality of base stations 314 will have different source network addresses, so they can be routed to different target ASN gateways.
[0057] The network load balancer 340 is configured to evaluate network traffic in real time to route network flows. The network load balancer 340 can be configured to take variations in the flow of data into account to increase routing efficiency. The network load balancer 340 can be configured to use adaptive routing algorithms that base their decisions on traffic conditions between nodes. In some embodiments, the network load balancer 340 can be configured to, rather than route individual packets, observe and evaluate flows of multiple packets to gather statistics to permit the network load balancer 340 to prioritize traffic.
[0058] The network load balancer 340 can be configured to generate a flow identifier (flow ID) for individual network traffic flows that can be stored in a flow routing table. This advantageously reduces or eliminates lookups for the network load balancer 340 to enable faster decisions to route packets between source and destination.
[0059] The network load balancer 340 is configured to load balance initial network entry messages and to send the initial network entry messages to a target ASN gateway of the plurality of ASN gateways 316. Due to stickiness, the network entry messages originating from a particular base station of the plurality of base stations 314 are expected to be routed to the same destination ASN gateway of the plurality of ASN gateways 316. In this way, the R6 interface is abstracted to eliminate the R4 interface. Because flow routing by the network load balancer 340 can be sticky, a base station of the plurality of base stations 314 will typically route traffic through the same ASN gateway of the plurality of ASN gateways 316. In essence, this ties the base station to the ASN gateway. Because the network load balancer 340 is connected to each of the plurality of base stations 314 and to each of the plurality of ASN gateways 316, all of the plurality of ASN gateways 316 are technically visible to each base station of the plurality of base stations 314, but dueto stickiness of certain load balancing algorithms, the network load balancer 340 will typically select a particular ASN gateway of the plurality of ASN gateways 316 for a particular base station of the plurality of base stations 314 and will keep them associated together until the ASN gateway goes down or until a handover procedure is implemented.
[0060] In a handover procedure, the handover messages sent by the serving or target base stations can land on any of the plurality of ASN gateways 316 behind the network load balancer 340. The ASN gateway receiving the handover message is configured to handle the handover due at least in part to each of the plurality of ASN gateways 316 being able to access the subscriber data in the shared data store 350. Subscriber data includes relevant information about the subscriber such as, for example and without limitation, the realm, subscriber identifier (e.g., MAC address), service tier, policies applied on the subscriber, and the like.
[0061] The plurality of ASN gateways 316 is made stateless by storing the subscriber context information in the shared data store 350. In some embodiments, the shared data store 350 is a distributed clustered data store. In some embodiments, the shared data store 350 implements data sharding. In such embodiments, the sharding key can be a subscriber MAC address which is a unique key to access the corresponding subscriber context records. Each ASN gateway of the plurality of ASN gateways 316 can read and write to any node (or shard) in the cluster depending upon the shard key. During network entry of a subscriber, the subscriber context gets stored on the shared data store 350. This makes the subscriber data uniformly available to all ASN gateways without needing to relay the subscriber context between the ASN gateways.
[0062] The shared data store 350 can be a sharded database that includes a single entity or system that each of the plurality of ASN gateways 316 can access directly. In some implementations, the shared data store 350 can be implemented as a distributed, clustered database that utilizes sharding where pieces of the database are sharded and distributed among different machines. In such implementations, each of the plurality of ASN gateways 316 has access to the database, so each of the plurality of ASN gateways 316 can retrieve targeted information no matter in which machine the data actually resides.
[0063] For example, the shared data store 350 can be implemented as a distributed clustered data store comprising multiple shards. Sharding is the process of breaking up a database into smaller parts across multiple machines to enhance the manageability, availability, performance, and load balancing of an application. The shared data store 350 can use a plurality of master nodes, or master shards 352a, 352b, 352c. Each master shard 352a-352c can include its own replica shard 354a, 354b, 354c. Each replica shard 354a, 354b, 354c is a backup of its respective master shard 352a, 352b, 352c. Data is sharded across the different master shards 352a-352c of the cluster to provide a scalable distributed solution.
[0064] Thus, the satellite communications system 300 includes the network load balancer 340, the plurality of base stations 314 that are each communicatively coupled to the network load balancer 340 through a respective R6 interface, the plurality of ASN gateways 316 that are each communicatively coupled to the network load balancer 340, and a shared data store 350 communicatively coupled to each of the plurality of ASN gateways 316. Responsive to a handover request from a first base station of the plurality of base stations 314, the satellite communications system 300 is configured to execute a handover procedure to a second base station of the plurality of base stations 314. The handover procedure includes the process described herein with reference to FIGS. 4A and 4B and the method described herein with reference to FIG. 5.
[0065] For example, the handover procedure includes transmitting the handover request from the first base station to a first ASN gateway of the plurality of ASN gateways 316 through the network load balancer 340. Communication from the first base station to the network load balancer 340 uses a first R6 interface between the first base station and the network load balancer 340. In some embodiments, the first ASN gateway is selected by the network load balancer 340 based at least in part on a load balancing algorithm configured to balance network load among the plurality of ASN gateways 316. In certain implementations, such as where there is stickiness in the load balancing algorithm, the first ASN gateway can be the same ASN gateway that had been selected to handle communication from the first base station prior to initiating the handover request. The handover procedure then includes transmitting the handover request from the first ASN gateway to the second base station through the network load balancer 340.Communication from the network load balancer 340 to the second base station uses a second R6 interface between the second base station and the network load balancer 340. The handover procedure then includes transmitting a handover response from the second base station through the second R6 interface. The handover procedure then includes selecting, by the network load balancer 340, a second ASN gateway of the plurality of ASN gateways 316 to associate with the second base station for network traffic from a mobile station upon completion of the handover procedure. In certain situations, the selected ASN gateway could be the first ASN gateway rather than a different ASN gateway. For example, subscriber data can be cached in the process memory of the ASN gateway. In such instances, performance may be improved if all communication from a base station is handled by the same ASN gateway because it avoids the overhead of looking up the database to get the subscriber data. Thus, it may be beneficial to enable stickiness to avoid performance overhead in looking up the subscriber data in the sharded database for each request rather than using the local cache in the process memory. The network load balancer 340 selects the second ASN gateway based at least in part on balancing network load in the satellite communications system 300. The handover procedure then includes transmitting the handover response from the second base station to the second ASN gateway through the network load balancer 340. Communication from the second base station to the network load balancer 340 uses the second R6 interface. The handover procedure then includes transmitting the handover response from the second ASN gateway to the first base station through the network load balancer 340. Communication from the network load balancer 340 to the first base station uses the first R6 interface. The handover procedure then includes retrieving, by the second ASN gateway from the shared data store 350, subscriber context information associated with the mobile station. The handover procedure then includes transmitting the subscriber context information associated with the mobile station from the second ASN gateway to the second base station through the network load balancer 340. Communication from the network load balancer 340 to the second base station uses the second R6 interface.
[0066] As described herein, certain embodiments eliminate all R4 interfaces between pairs of gateways of the plurality of gateways 316. In some implementations, the subscriber context information associated with the mobilestation is not communicated between pairs of gateways of the plurality of ASN gateways 316. This is due at least in part to each ASN gateway being able to access the shared data store 350 independently, allowing each ASN gateway to retrieve subscriber context information on its own.
[0067] In some embodiments, the shared data store includes a plurality of master shards 352a-352c, individual master shards including subscriber context information. In such embodiments, individual master shards 352a-352c can include at least one replica shard 354a-354c. In some implementations, the shared data store 350 comprises a single cluster that includes multiple shards.
[0068] Thus, the network load balancer 340 is configured to communicate with a plurality of base stations and a plurality of gateways. The network load balancer 340 includes a network interface configured to receive network communication from the plurality of base stations and the plurality of gateways. The network load balancer 340 includes memory configured to store executable instructions. The network load balancer 340 includes one or more processors in communication with the network interface and the memory, the one or more processors configured to execute the stored executable instructions to forward traffic between base stations and ASN gateways to achieve handover. In some embodiments, the stored executable instructions are configured to cause the network load balancer 340 to forward network traffic between a particular base station and a particular ASN gateway based at least in part on a flow hash routing algorithm.
[0069] In some embodiments, the network load balancer 340 performs the following in a handover procedure. The network load balancer 340 forwards network traffic to a first gateway of the plurality of gateways, the network traffic received from a mobile station through a first base station of the plurality of base stations using a first R6 interface between the network load balancer and the first base station. The network load balancer 340 receives a handover request from the first base station through the first R6 interface. The network load balancer 340 forwards the handover request to the first gateway, the first gateway configured to send the handover request to a second base station of the plurality of base stations through a second R6 interface between the network load balancer and the second base station. The network load balancer 340 receives a handover response from the second base station through the second R6 interface. The network loadbalancer 340 selects a second gateway of the plurality of gateways to associate with the second base station for network traffic from the mobile station upon completion of the handover procedure, the second gateway selected based at least in part on balancing network load in the communications system. In some embodiments, if stickiness is enabled in the network load balancer 340, the network load balancer 340 maintains the same gateway for communication from a base station otherwise the network load balancer 340 selects a gateway depending at least in part upon the results of the load balancing algorithm. The network load balancer 340 forwards the handover response to the second gateway, the second gateway configured to send the handover response to the first base station through the first R6 interface based at least in part on a destination network address of the handover response. The network load balancer 340 forwards messages containing the subscriber context information associated with the mobile station from the second gateway to the second base station, the subscriber context information retrieved by the second gateway from a shared data store that is accessible to the first gateway and to the second gateway. In some embodiments, a flow hash routing algorithm is used to select the first gateway and / or the second gateway.Example Handover Procedure Using a Network Load Balancer
[0070] FIGS. 4A and 4B illustrate an example handover procedure in a satellite communications system 400 using a network load balancer 440. FIG. 4A illustrates the handover procedure by illustrating the exchange of messages between a serving base station 414a and a target base station 414b using the network load balancer 440 as an intermediary of the communications through respective R6 interfaces. FIG. 4B illustrates the same handover procedure as FIG. 4A except that it also shows a first ASN gateway 416a and a second ASN gateway 416b connected to the network load balancer 440. The satellite communications system 400 is similar to the satellite communications system 100b described herein with reference to FIG. 1 B, the satellite communications system 200 described herein with reference to FIGS. 2A and 2B, and the satellite communications system 300 described herein with reference to FIG. 3. A handover procedure includes a message relay portion, a context retrieval portion, and a data path portion.
[0071] It is helpful to contrast the handover procedure implemented in the satellite communications system 400 with a handover procedure implemented in a typical communications system, such as the satellite communications system 100a described herein with reference to FIG. 1A. The message relay portion includes using a first R6 interface to transmit a handover request from a serving base station to a serving ASN gateway, using an R4 interface to transmit the handover request from the serving ASN gateway to a target ASN gateway, and using a second R6 interface to transmit the handover request from the target ASN gateway to a target base station. In response, the message relay portion includes transmitting a handover response from the target base station to the target ASN gateway, from the target ASN gateway to the serving ASN gateway, and from the serving ASN gateway to the serving base station. Finally, the message relay portion includes transmitting a handover confirm message from the serving base station to the serving ASN gateway, from the serving ASN gateway to the target ASN gateway, and from the target ASN gateway to the target base station. The context retrieval portion includes transmitting a context request from the target base station to the target ASN gateway and from the target ASN gateway to the serving ASN gateway. The context retrieval portion then includes transmitting a context report from the serving ASN gateway to the target ASN gateway and from the target ASN gateway to the target base station. Finally, the data path portion includes a data path registration 3-way handshake (request, response, and acknowledgement) between the target base station and the target ASN gateway and a data path deregistration 3-way handshake between the serving base station and the serving ASN gateway. In the handover procedure on the satellite communications system 100a, the message relay portion needs to be relayed using the R4 interface between the target and serving ASN gateways. In addition, the context retrieval portion needs to be relayed using the R4 interface between the target and serving ASN gateways.
[0072] The architecture of the satellite communications system 100a may be undesirable because it may be complex to implement and support R4 interfaces on all the ASN gateways as well as to provide interoperability between the ASN gateways. Where a network operator deploys a combination of ASN gateways from multiple vendors with some supporting the R4 interface and othersnot supporting the R4 interface, then there may be failures during inter ASN gateway handovers.
[0073] In contrast, the satellite communications system 400 provides an advantageous architecture that performs all the above message exchanges without the need for an R4 interface to provide an inter ASN gateway handover procedure. FIG. 4A illustrates an example of a handover procedure that includes the message relay portion, the context retrieval portion, and the data path portion described herein. The satellite communications system 400 implements the network load balancer 440 that is connected to the serving base station 414a through the first R6 interface and to the target base station 414b through the second R6 interface. In the message relay portion, the serving base station 414a transmits a handover request to the network load balancer 440 and the network load balancer 440 forwards the handover request to the target base station 414b. Similarly, the target base station 414b transmits a handover response to the network load balancer 440 and the network load balancer 440 forwards the handover response to the serving base station 414a. Finally, the serving base station 414a transmits a handover confirm to the network load balancer 440 and the network load balancer 440 forwards the handover confirm to the target base station 414b. In the context retrieval portion, the target base station 414b transmits a context request to the network load balancer 440 and the network load balancer 440 forwards the request to one of the plurality of ASN gateways (e.g., ASN gateway 416b). In some embodiments, where stickiness is enabled, the request is forwarded to the same ASN gateway that handled prior communication with the base station, as described herein. That ASN gateway provides a context report which is sent through the network load balancer 440 to the target base station 414b. In the data path portion, the target base station 414b performs a 3-way handshake with one of the ASN gateways through the network load balancer 440 to register a data path and the serving base station 414a performs a 3-way handshake with one of the ASN gateways through the network load balancer 440 to deregister a data path. In some embodiments, where stickiness is enabled, the network load balancer may select the same ASN gateway for communication. As described herein, the handover procedure implemented by the satellite communications system 400 does not require an R4 interface between ASN gateways due at least in part to the network load balancer 440 acting as a singlelogical endpoint for communication from the serving base station 414a and the target base station 414b.
[0074] FIG. 4B illustrates the handover procedure of FIG. 4A with more detail, including the first ASN gateway 416a and the second ASN gateway 416b connected to the network load balancer 440. This shows that during the message relay portion, the serving base station 414a transmits the handover request to the network load balancer 440 which is then relayed to the first ASN gateway 416a and relayed to the target base station 414b through the network load balancer 440. This is in contrast to requiring routing of the handover request through the second ASN gateway 416b, as would be the case in a communications system such as the satellite communications system 100a. Similarly, during the context retrieval portion, the second ASN gateway 416b does not need to request information from the first ASN gateway 416a because each ASN gateway has access to a shared data store that includes subscriber context information, as described herein with reference to FIGS. 2A, 2B, and 3. Thus, because subscriber context information is shared in a distributed database, subscriber context can be retrieved by any ASN gateway in the satellite communications system 400 and there is no need to relay the subscriber context information between ASN gateways.
[0075] The network load balancer 440 can be configured to implement a load balancing algorithm that is sticky. In other words, the network load balancer 440 is configured to select an ASN gateway for the base station and is configured to route requests from a particular source to a particular destination, the route configured to remain unchanged during a network session until a handover request is received. Similarly, the network load balancer 440 is configured to select an ASN gateway for the base station and is configured to route requests from a particular source to a particular destination, the route configured to remain unchanged during a network session unless the particular destination becomes unreachable.
[0076] This is illustrated in FIG. 4B where the network load balancer 440 has selected the first ASN gateway 416a to be associated with the serving base station 414a based on a load balancing algorithm. Similarly, the network load balancer 440 has selected the second ASN gateway 416b to be associated with the target base station 414b based on the load balancing algorithm. Because of the stickiness of the load balancing algorithm, communication from the serving base station 414a through the network load balancer 440 is always sent to the firstASN gateway 416a and communication from the target base station 414b through the network load balancer 440 is always sent to the second ASN gateway 416b. The stickiness of the load balancing algorithm can be configured to change ASN gateways at a suitable time, such as when an ASN gateway goes down.
[0077] Thus, due to the stickiness of the load balancing algorithm of the network load balancer 440, the handover request message from the serving base station 414a is routed to the first ASN gateway 416a, which acts as a serving ASN gateway. The first ASN gateway 416a sends the handover request which is also sent via the network load balancer 440 to the target base station 414b. The target base station 414b accepts this message as it is configured to accept R6 requests routed via the single endpoint network load balancer 440. The target base station 414b sends the handover response message to the network load balancer 440 which routes it to the second ASN gateway 416b, which acts as a target ASN gateway. The handover response message from this ASN gateway is sent via the network load balancer 440 to the serving base station 414a. It should be noted that, upon receiving network traffic from the serving base station 414a, the network load balancer 440 initially selects the first ASN gateway 416a to be associated with the serving base station 414a using a load balancing algorithm. Similarly, upon receiving network traffic from the target base station 414b, the network load balancer 440 initially selects the second ASN gateway 416b to be associated with the target base station 414b using a load balancing algorithm. The stickiness of the load balancing algorithm then causes network traffic from the serving base station 414a to be consistently routed to the first ASN gateway 416a and network traffic from the target base station 414b to be consistently routed to the second ASN gateway 416b. In addition, a base station accepts all messages from the network load balancer 440 irrespective of which ASN gateway originally transmitted the message because to the base station it appears as if the message comes from the single endpoint corresponding to the network load balancer 440.
[0078] Thus, there is no requirement to implement an R4 interface in the satellite communications system 400 because all base stations are configured to send requests to a single endpoint, the network load balancer 440, and all ASN gateways are configured to access to the subscriber context via the shared data store. As a result, the handover procedure is streamlined relative to a typical handover procedure, utilizing less network traffic to accomplish the handover. Thisis due at least in part to the network load balancer 440 reducing the number of times network traffic must traverse between ASN gateways relative to the typical handover procedure.Methods Using a Network Load Balancer to Perform a Handover Procedure
[0079] FIG. 5 illustrates a flow chart of an example method 500 for using a network load balancer to perform a handover procedure. The network load balancer can be any of the network load balancers disclosed herein, such as the network load balancers 140, 240, 340, 440.
[0080] In block 505, the network load balancer forwards network traffic to a first gateway of a plurality of gateways in the communications system, the network traffic received from the mobile station through a first base station using a first R6 interface between the network load balancer and the first base station. In block 510, the network load balancer receives a handover request from the first base station through the first R6 interface. In block 515, the network load balancer forwards the handover request to the first gateway. In block 517, the first gateway uses the network load balancer to send the handover request to a second base station through a second R6 interface between the network load balancer and the second base station. In block 520, the network load balancer receives a handover response from the second base station through the second R6 interface. In block 525, the network load balancer selects a second gateway of the plurality of gateways to associate with the second base station for network traffic from the mobile station upon completion of the handover procedure, the second gateway selected based at least in part on balancing network load in the communications system. In some embodiments, the network load balancer may select the same gateway for communication with a particular base station if stickiness is enabled, as described herein. In block 530, the network load balancer forwards the handover response to the second gateway, the second gateway configured to send the handover response to the first base station through the first R6 interface based at least in part on a destination network address of the handover response. In block 535, the network load balancer forwards messages containing the subscriber context information associated with the mobile station from the second gateway to the second base station, the subscriber context information retrieved by the secondgateway from a shared data store that is accessible to the first gateway and the second gateway.
[0081] In some embodiments, the handover procedure does not use an R4 interface between the first gateway and the second gateway. In some embodiments, the network load balancer is further configured to advertise to the first base station and to the second base station a single logical endpoint as a gateway, the single logical endpoint corresponding to the network load balancer that is communicatively coupled to the plurality of gateways in the communications system.
[0082] In various implementations, the shared data store includes a plurality of shards of a database, individual shards distributed among clusters in the shared data store. In some implementations, the handover request is received responsive to the mobile station moving from a coverage area of the first base station to a coverage area of the second base station.
[0083] The network load balancer forwards path registration messages between base stations and ASN gateways to enable execution of a path registration handshake protocol. The network load balancer forwards a path registration request to the second gateway from the second base station using the second R6 interface and forwards a path registration acknowledgement to the second gateway from the second base station using the second R6 interface responsive to receiving a path registration response from the second gateway. Similarly, the network load balancer forwards path deregistration messages between base stations and ASN gateways to enable execution of a path deregistration handshake protocol. The network load balancer forwards a path deregistration request to the first gateway from the first base station using the first R6 interface and forwards a path deregistration acknowledgement to the first gateway from the first base station using the first R6 interface responsive to receiving a path deregistration response from the first gateway.
[0084] In some implementations, the second gateway is selected based at least in part using a flow hash routing algorithm. In some implementations, an algorithm implemented by the network load balancer to select a gateway for the mobile station is configured to route requests from a particular source to a particular destination, the route configured to remain unchanged during a network session until the handover request. In some implementations, an algorithmimplemented by the network load balancer to select a gateway for the mobile station is configured to route requests from a particular source to a particular destination, the route configured to remain unchanged during a network session unless the particular destination becomes unreachable.
[0085] In some implementations, the first gateway does not send the subscriber context information associated with the mobile station to the second gateway. In some embodiments, the first gateway is selected by the network load balancer based at least in part on balancing network load in the communications system.Additional embodiments and terminology
[0086] Although the disclosed technologies are primarily described as being implemented in a satellite communications system, it is to be understood that the disclosed technologies can be implemented in a variety of communications systems such as wireless communications systems, cellular communications systems, terrestrial communications systems, etc.
[0087] The present disclosure describes various features, no single one of which is solely responsible for the benefits described herein. It will be understood that various features described herein may be combined, modified, or omitted, as would be apparent to one of ordinary skill. Other combinations and subcombinations than those specifically described herein will be apparent to one of ordinary skill, and are intended to form a part of this disclosure. Various methods are described herein in connection with various flowchart steps and / or phases. It will be understood that in many cases, certain steps and / or phases may be combined together such that multiple steps and / or phases shown in the flowcharts can be performed as a single step and / or phase. Also, certain steps and / or phases can be broken into additional sub-components to be performed separately. In some instances, the order of the steps and / or phases can be rearranged and certain steps and / or phases may be omitted entirely. Also, the methods described herein are to be understood to be open-ended, such that additional steps and / or phases to those shown and described herein can also be performed.
[0088] Some aspects of the systems and methods described herein can advantageously be implemented using, for example, computer software, hardware, firmware, or any combination of computer software, hardware, and firmware.Computer software can comprise computer executable code stored in a computer readable medium (e.g., non-transitory computer readable medium) that, when executed, performs the functions described herein. In some embodiments, computer-executable code is executed by one or more general purpose computer processors. A skilled artisan will appreciate, in light of this disclosure, that any feature or function that can be implemented using software to be executed on a general purpose computer can also be implemented using a different combination of hardware, software, or firmware. For example, such a module can be implemented completely in hardware using a combination of integrated circuits. Alternatively or additionally, such a feature or function can be implemented completely or partially using specialized computers designed to perform the particular functions described herein rather than by general purpose computers.
[0089] Multiple distributed computing devices can be substituted for any one computing device described herein. In such distributed embodiments, the functions of the one computing device are distributed (e.g., over a network) such that some functions are performed on each of the distributed computing devices.
[0090] Some embodiments may be described with reference to equations, algorithms, and / or flowchart illustrations. These methods may be implemented using computer program instructions executable on one or more computers. These methods may also be implemented as computer program products either separately, or as a component of an apparatus or system. In this regard, each equation, algorithm, block, or step of a flowchart, and combinations thereof, may be implemented by hardware, firmware, and / or software including one or more computer program instructions embodied in computer-readable program code logic. As will be appreciated, any such computer program instructions may be loaded onto one or more computers, including without limitation a general purpose computer or special purpose computer, or other programmable processing apparatus to produce a machine, such that the computer program instructions which execute on the computer(s) or other programmable processing device(s) implement the functions specified in the equations, algorithms, and / or flowcharts. It will also be understood that each equation, algorithm, and / or block in flowchart illustrations, and combinations thereof, may be implemented by special purpose hardware-based computer systems which perform the specified functionsor steps, or combinations of special purpose hardware and computer-readable program code logic means.
[0091] Furthermore, computer program instructions, such as embodied in computer-readable program code logic, may also be stored in a computer readable memory (e.g., a non-transitory computer readable medium) that can direct one or more computers or other programmable processing devices to function in a particular manner, such that the instructions stored in the computer- readable memory implement the function(s) specified in the block(s) of the flowchart(s). The computer program instructions may also be loaded onto one or more computers or other programmable computing devices to cause a series of operational steps to be performed on the one or more computers or other programmable computing devices to produce a computer-implemented process such that the instructions which execute on the computer or other programmable processing apparatus provide steps for implementing the functions specified in the equation(s), algorithm(s), and / or block(s) of the flowchart(s).
[0092] Some or all of the methods and tasks described herein may be performed and fully automated by a computer system. The computer system may, in some cases, include multiple distinct computers or computing devices (e.g., physical servers, workstations, storage arrays, etc.) that communicate and interoperate over a network to perform the described functions. Each such computing device typically includes a processor (or multiple processors) that executes program instructions or modules stored in a memory or other non- transitory computer-readable storage medium or device. The various functions disclosed herein may be embodied in such program instructions, although some or all of the disclosed functions may alternatively be implemented in applicationspecific circuitry (e.g., ASICs or FPGAs) of the computer system. Where the computer system includes multiple computing devices, these devices may, but need not, be co-located. The results of the disclosed methods and tasks may be persistently stored by transforming physical storage devices, such as solid state memory chips and / or magnetic disks, into a different state.
[0093] Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” The word“coupled”, as generally used herein, refers to two or more elements that may be either directly connected, or connected by way of one or more intermediate elements. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or” in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list. The word “exemplary” is used exclusively herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.
[0094] The disclosure is not intended to be limited to the implementations shown herein. Various modifications to the implementations described in this disclosure may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. The teachings of the invention provided herein can be applied to other methods and systems, and are not limited to the methods and systems described above, and elements and acts of the various embodiments described above can be combined to provide further embodiments. Accordingly, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the disclosure. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the disclosure.
Claims
WHAT IS CLAIMED IS:1 . A method for using a network load balancer to perform a handover procedure for a mobile station between base stations in a communications system, the method comprising: forwarding network traffic to a first gateway of a plurality of gateways in the communications system, the network traffic received from the mobile station through a first base station using a first R6 interface between the network load balancer and the first base station; receiving a handover request from the first base station through the first R6 interface; forwarding the handover request to the first gateway, the first gateway configured to send the handover request to a second base station through a second R6 interface between the network load balancer and the second base station; receiving a handover response from the second base station through the second R6 interface; selecting a second gateway of the plurality of gateways to associate with the second base station for network traffic from the mobile station upon completion of the handover procedure, the second gateway selected based at least in part on balancing network load in the communications system; forwarding the handover response to the second gateway, the second gateway configured to send the handover response to the first base station through the first R6 interface based at least in part on a destination network address of the handover response; and sending subscriber context information associated with the mobile station from the second gateway to the second base station, the subscriber context information retrieved by the second gateway from a shared data store that is accessible to the first gateway and the second gateway.
2. The method of claim 1 , wherein the handover procedure does not use an R4 interface between the first gateway and the second gateway.
3. The method of claim 1 further comprising advertising to the first base station and to the second base station a single logical endpoint as a gateway, thesingle logical endpoint corresponding to the network load balancer that is communicatively coupled to the plurality of gateways in the communications system.
4. The method of claim 1 further comprising storing the subscriber context information in the shared data store in the communications system, the subscriber context information including information associated with the mobile station.
5. The method of claim 4, wherein the shared data store includes a plurality of shards of a database, individual shards distributed among clusters in the shared data store.
6. The method of claim 1 , wherein the handover request is received responsive to the mobile station moving from a coverage area of the first base station to a coverage area of the second base station.
7. The method of claim 1 further comprising performing a path registration handshake by: forwarding a path registration request to the second gateway from the second base station using the second R6 interface; and forwarding a path registration acknowledgement to the second gateway from the second base station using the second R6 interface responsive to receiving a path registration response from the second gateway.
8. The method of claim 7 further comprising performing a path deregistration handshake by: forwarding a path deregistration request to the first gateway from the first base station using the first R6 interface; and forwarding a path deregistration acknowledgement to the first gateway from the first base station using the first R6 interface responsive to receiving a path deregistration response from the first gateway.
9. The method of claim 1 , wherein the second gateway is selected based at least in part using a flow hash routing algorithm.
10. The method of claim 1 , wherein an algorithm implemented by the network load balancer to select a gateway for the mobile station is configured to route requests from a particular source to a particular destination, the route configured to remain unchanged during a network session until the handover request.1 1 . The method of claim 1 , wherein an algorithm implemented by the network load balancer to select a gateway for the mobile station is configured to route requests from a particular source to a particular destination, the route configured to remain unchanged during a network session unless the particular destination becomes unreachable.
12. The method of claim 1 , wherein the first gateway does not send the subscriber context information associated with the mobile station to the second gateway.
13. The method of claim 1 , wherein the first gateway is selected by the network load balancer based at least in part on balancing network load in the communications system.
14. A communications system comprising: a network load balancer; a plurality of base stations each communicatively coupled to the network load balancer through a respective R6 interface; a plurality of gateways each communicatively coupled to the network load balancer; and a shared data store communicatively coupled to each of the plurality of gateways, wherein, responsive to a handover request from a first base station of the plurality of base stations, the communications system is configured to execute a handover procedure to a second base station of the plurality of base stations by performing the following: transmit the handover request from the first base station to a first gateway of the plurality of gateways through the network load balancer, communication from the first base station to the networkload balancer using a first R6 interface between the first base station and the network load balancer; transmit the handover request from the first gateway to the second base station through the network load balancer, communication from the network load balancer to the second base station using a second R6 interface between the second base station and the network load balancer; transmit receiving a handover response from the second base station through the second R6 interface; select, by the network load balancer, a second gateway of the plurality of gateways to associate with the second base station for network traffic from a mobile station upon completion of the handover procedure, the second gateway selected based at least in part on balancing network load in the communications system; transmit the handover response from the second base station to the second gateway through the network load balancer, communication from the second base station to the network load balancer using the second R6 interface; transmit the handover response from the second gateway to the first base station through the network load balancer, communication from the network load balancer to the first base station using the first R6 interface; retrieve, by the second gateway from the shared data store, subscriber context information associated with the mobile station; and transmit the subscriber context information associated with the mobile station from the second gateway to the second base station through the network load balancer, communication from the network load balancer to the second base station using the second R6 interface.
15. The communications system of claim 14, wherein there is no R4 interface between pairs of gateways of the plurality of gateways.
16. The communications system of claim 14, wherein the subscriber context information associated with the mobile station is not communicated between pairs of gateways of the plurality of gateways.
17. The communications system of claim 14, wherein the shared data store includes a plurality of master shards, individual master shards including subscriber context information.
18. The communications system of claim 17, wherein individual master shards include at least one replica shard.
19. The communications system of claim 17, wherein the data store comprises a single cluster comprising multiple shards.
20. A network load balancer in a communications system that includes a plurality of base stations and a plurality of gateways, the network load balancer comprising: a network interface configured to receive network communication from the plurality of base stations and the plurality of gateways; memory configured to store executable instructions; and one or more processors in communication with the network interface and the memory, the one or more processors configured to execute the stored executable instructions to forward network traffic to achieve a handover in the communications system by performing the following: forward network traffic to a first gateway of the plurality of gateways, the network traffic received from a mobile station through a first base station of the plurality of base stations using a first R6 interface between the network load balancer and the first base station; receive a handover request from the first base station through the first R6 interface; forward the handover request to the first gateway, the first gateway configured to send the handover request to a second base station of the plurality of base stations through a second R6 interface between the network load balancer and the second base station;receive a handover response from the second base station through the second R6 interface; select a second gateway of the plurality of gateways to associate with the second base station for network traffic from the mobile station upon completion of the handover procedure, the second gateway selected based at least in part on balancing network load in the communications system; forward the handover response to the second gateway, the second gateway configured to send the handover response to the first base station through the first R6 interface based at least in part on a destination network address of the handover response; and send subscriber context information associated with the mobile station from the second gateway to the second base station, the subscriber context information retrieved by the second gateway from a shared data store that is accessible to the first gateway and the second gateway.21 . The network load balancer of claim 20, wherein the one or more processors are further configured to execute a flow hash routing algorithm to select the first gateway.
22. The network load balancer of claim 20, wherein the one or more processors are further configured to execute a flow hash routing algorithm to select the second gateway.
Citation Information
Patent Citations
Extensible micro-mobility wireless network architecture
US20080232272A1
Gateway association
US20110002297A1
Network apparatus and method for transmitting a message to a target network apparatus in the wimax system
US20110243096A1
Sip - enabled framework for multi-domain roaming control plane in a wimax access network
US20130094473A1