Patent Description:
Certain networking deployments allow an electronic device to communicate with multiple networks associated with different radio access technologies (RATs). The multiple networks are sometimes collectively referred to as a heterogeneous network. A heterogeneous network provides a number of advantages, such as increased coverage, reliability, and spectrum efficiency. Certain heterogeneous networks facilitate concurrent communications between the electronic device and the networks associated with different RATs.

However, current deployments of these networks have numerous shortcomings. These deployments utilize inefficient link generation and traffic mapping schemes between nodes associated with different networks. For example, current deployments specify a separate link between each networking node associated with a first RAT and each networking node associated with a second RAT. These require large resource utilizations at the various networking nodes. As another example, networking nodes associated with a particular RAT receive data packets according to a non-native protocol. Consequently, these networking nodes must expend great computational resources for mapping purposes.

<CIT> describes, according to its abstract, a system for an enhanced X2 interface in a mobile operator core network, comprising: a Long Term Evolution (LTE) core network packet data network gateway (PGW); an evolved NodeB (eNodeB) connected to the LTE PGW; a Wi-Fi access point (AP) connected to the LTE PGW via a wireless local area network (WLAN) gateway; and a coordinating node positioned as a gateway between the LTE PGW and the eNodeB, and positioned as a gateway between the LTE PGW and the Wi-Fi AP, the coordinating node further comprising: a network address translation (NAT) module; and a protocol module for communicating to the eNodeB and the Wi-Fi AP to request inter-radio technology (inter-RAT) handovers of a user equipment (UE) from the eNodeB to the Wi-Fi AP and to forward packets intended for the UE from the eNodeB to the Wi-Fi AP.

For a better understanding of aspects of the various implementations described herein and to show more clearly how they may be carried into effect, reference is made, by way of example only, to the accompanying drawings.

In accordance with common practice the various features illustrated in the drawings may not be drawn to scale. Accordingly, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. In addition, some of the drawings may not depict all of the components of a given system, method or device. Finally, like reference numerals may be used to denote like features throughout the specification and figures.

Numerous details are described herein in order to provide a thorough understanding of illustrative implementations shown in the drawings. However, the drawings merely show some example aspects of the present disclosure and are therefore not to be considered limiting. Moreover, well-known systems, methods, components, devices and circuits have not been described in exhaustive detail so as not to unnecessarily obscure more pertinent aspects of the implementations described herein.

The invention to which the present European patent relates is defined in the appended claims.

Various implementations disclosed herein include methods, networking devices, and apparatuses for link generating and tunnel instantiating between networking nodes associated with different radio access technologies (RATs). The method comprises, at a networking device communicatively coupled to a base station and one or more wireless local area network (WLAN) termination nodes: obtaining a request to associate one or more electronic devices with the one or more WLAN termination nodes, wherein the one or more electronic devices are associated with the base station. The method further comprises in response to obtaining the request to associate the one or more electronic devices with the one or more WLAN termination nodes: generating, between the base station and the networking device, a control link based at least in part on a first identifier included in the request, wherein the first identifier is associated with the base station; generating, between the networking device and the first WLAN termination node among the one or more WLAN termination nodes, a control link based at least in part on a second identifier associated with the base station, wherein the second identifier corresponds to a pseudonym for the base station; and associating the first identifier with the second identifier in a control flow mapping table. The method further comprises instantiating, between the base station and the networking device, a first data tunnel associated with a first tunneling protocol. The method further comprises instantiating, between the networking device and the first WLAN termination node among the one or more WLAN termination nodes, a second data tunnel associated with a second tunneling protocol different from the first tunneling protocol. The method further comprises associating the first data tunnel with the second data tunnel in a data flow mapping table.

In accordance with various implementations, a networking device includes one or more processors, a non-transitory memory, and one or more programs. The one or more programs are stored in the non-transitory memory and configured to be executed by the one or more processors and the one or more programs include instructions for performing or causing performance of any of the methods described herein. In accordance with some implementations, a non-transitory computer readable storage medium has stored therein instructions, which, when executed by one or more processors of a networking device, cause the networking device to perform or cause performance of any of the methods described herein. In accordance with some implementations, a networking device includes: one or more processors, a non-transitory memory, and means for performing or causing performance of any of the methods described herein.

Certain current deployments facilitate communication between multiple networks associated with different radio access technologies (RATs) and one or more electronic devices. These networks are sometimes collectively referred to as a heterogeneous network. Certain current deployments allow one or more electronic devices to concurrently communicate with the networks.

However, current deployments inefficiently facilitate this communication. For example, in certain heterogeneous networks including a cellular network and a wireless local area network (WLAN), there must be a separate link between each base station and each wireless termination node. In order words, there are an M x N number of links, where M is the number of base stations and N is the number of wireless termination nodes. Generating this large number of links is complex and therefore computationally expensive. Moreover, storage resources are drained because, for example, each wireless termination node must store configuration data for numerous base stations in order to facilitate link generation.

Another problem with current deployments is that because these networks are associated with different RATs, data packets are received at a particular node according to a protocol that is not native to the particular node. For example, in certain deployments involving concurrent Long Term Evolution (LTE) and WLAN communications, the base station (e.g., eNodeB) receives data packets from a wireless termination node according to the WLAN-based generic routing encapsulation (GRE) tunnel protocol. Continuing with the example, the wireless termination node conversely receives data packets from the base station according to the cellular-based GPRS tunneling protocol user plane (GTP-U). This raises issues because each node is pre-configured to receive data packets according to its native respective protocol.

Accordingly, the present disclosure is directed to methods, devices, and apparatuses for link generating and tunnel instantiating in a heterogeneous network having networks associated with different RATs. In various implementations, this involves an electronic device in concurrent communications with a cellular network and a WLAN.

<FIG> illustrates a simplified diagram of a network environment <NUM> according to various implementations. The networking environment <NUM> includes an electronic device <NUM> in communication with a cellular network <NUM> and a WLAN <NUM>. In various implementations, the electronic device <NUM> concurrently communicates with the cellular network <NUM> and the WLAN <NUM>. It is to be appreciated that the term concurrent as used in the present disclosure includes substantially concurrent.

The electronic device <NUM> can be any device that includes multiple radios so as to allow it to communicate with multiple RATs, such as cellular and IEEE <NUM>. 11xx-based technologies (e.g., Wi-Fi). For example, the electronic device <NUM> corresponds to user equipment (UE) such as a mobile phone, laptop, tablet, set-top box, over-the-top box, video game console, or the like. In another example, the electronic device <NUM> corresponds to an Internet of Things (IoT) sensor, an autonomous driving vehicle system, a remote-controlled drone, a virtual/augmented reality system, or the like.

A base station <NUM> provides the electronic device <NUM> with connectivity to the cellular network <NUM> associated with a cellular RAT. Examples of cellular RATs include technologies defined by the 3rd Generation Partnership Project (3GPP), such as <NUM>, <NUM>, LTE, <NUM>, and the like. In various implementations, the base station <NUM> corresponds to a cellular base station. For example, in some implementations, the base stations <NUM> corresponds to an eNodeB (e.g., in <NUM> and LTE) and/or a gNodeB (e.g., in <NUM>). In various implementations, the base station <NUM> corresponds to a picocell. In various implementations, the base station <NUM> corresponds to a home eNodeB (HeNodeB), such as a Femtocell Gateway (F-GW)).

Although not depicted, in various implementations, the network environment <NUM> includes two or more base stations <NUM>. In some implementations, the two or more base stations <NUM> provide overlapping coverage areas for the electronic device <NUM>. In other words, the electronic device <NUM> is positioned so as to be connectable to two or more of the one or more base stations <NUM> at the same time. In some implementations, the electronic device <NUM> is considered within the coverage area of a respective base station among the one or more base stations <NUM> when there is an adequate signal strength between the electronic device <NUM> and the respective base station, as can indicated by, for example, a received signal strength indicator (RSSI).

An access point <NUM> provides the electronic device <NUM> with connectivity via an Ethernet link to the WLAN <NUM> associated with a wireless RAT. Examples of wireless RATs include IEEE <NUM>. 11xx-based networks, such as Wi-Fi and WiMax.

Although not depicted, in various implementations, the network environment <NUM> includes two or more access points <NUM> that provide overlapping coverage areas for the electronic device <NUM>. In other words, the electronic device <NUM> is positioned so as to be connectable to multiple access points <NUM> at the same time. In some implementations, the electronic device <NUM> is considered within the coverage area of the access point <NUM> when there is an adequate signal strength between them, as can indicated by, for example, a received signal strength indicator (RSSI). For example, if the electronic device <NUM> is located in a shopping mall, there may be access points associated with stores close to each other that off Wi-Fi (e.g., two coffee shops near each other) but the electronic device <NUM> is connected to the access point to which it has a higher RSSI.

The WLAN <NUM> includes a wireless termination node <NUM>. Although not depicted, in various implementations, the WLAN <NUM> includes two or more wireless termination nodes <NUM>. In various implementations, the wireless termination node <NUM> provides connectivity between a networking device <NUM> and the access point <NUM>. In various implementations, where the electronic device <NUM> is within the coverage area of multiple access points <NUM>, there are multiple wireless termination nodes <NUM>. In some implementations, there are an equal number of wireless termination nodes <NUM> as access points <NUM>. In some implementations, there are fewer wireless termination nodes <NUM> than access points <NUM>. For example, in some implementations, a wireless termination node <NUM> is integrated with (e.g., co-located or combined with) an access controller (AC) (not shown), and the AC manages multiple access points <NUM>. In some implementations, the wireless termination node <NUM> and the AC are separate (e.g., not integrated).

The networking device <NUM> provides connectivity between the wireless termination node <NUM> and the base station <NUM>. As is further described in the present disclosure, the networking device <NUM> implements link generation and mapping between the cellular network <NUM> and the WLAN <NUM> according to various implementations. The networking device <NUM> includes a processor, a non-transitory memory, one or more input interfaces, and one or more output interfaces. In some implementations, the networking device <NUM> comprises its own node. In some implementations, the networking device <NUM> is integrated with (e.g., co-located or combined with) another node. For example, in some implementations, the networking device <NUM> is integrated with an X2 gateway node, which facilitates data plane and control plane signaling between two or more base stations <NUM> (e.g., macrocells, home eNodeBs (HeNBs), picocells, or the like). In some implementations, when the networking device <NUM> is integrated with (e.g., co-located or combined with) an existing node of a deployment, the deployment need not be changed (e.g., nodes need not be added to the existing deployment).

In various implementations, the electronic device <NUM> is concurrently connected to multiple networks associated with different RATs (e.g., the cellular network <NUM> and the WLAN <NUM>). Concurrent connectivity can occur according to various technologies. One such technology is LTE-WLAN aggregation (LWA). LWA allows the electronic device <NUM> to concurrently utilize its LTE link and WLAN link. Under LWA, the infrastructure of the WLAN <NUM> communicates with the base station <NUM> (e.g., eNodeB), but not with the core cellular network. This eliminates the need for WLAN-specific core network nodes, as is specified by previous deployment types, such as LTE/WLAN interworking via untrusted WLAN access deployments (e.g., S2B). The wireless termination node <NUM> in LWA is a logical node referred to as a WLAN termination (WT). In some implementations, the networking device <NUM> is integrated with the WT. In some implementations, the base station <NUM> and the WT communicate with the networking device <NUM> via a standardized interface referred to as Xw, as is defined in 3GPP technical specifications (TSs) <NUM>-<NUM>. In some implementations, the control links between the base station <NUM> and the networking device <NUM>, and between the WT and the networking device <NUM>, are referred to as Xw links.

Another technology that can be utilized for concurrent communications is LTE-WLAN Radio Level Integration with Internet Protocol security (IPsec) Tunnel (LWIP). Under LWIP, an IPsec tunnel provides connectivity between the electronic device <NUM> and the WLAN <NUM>. The IPsec tunnel is transparent to infrastructure of the WLAN <NUM> and therefore, unlike LWA, there are no standardized interfaces. The wireless termination node <NUM> in LWIP is referred to as an IP-SecGW (IP security gateway). In some implementations, the networking device <NUM> is integrated with the IP-SecGW.

<FIG> illustrates a conceptual diagram of a network environment <NUM> according to various implementations. The networking device <NUM> provides connectivity between wireless termination nodes 106a-106n and base stations 104a-104n.

The network environment <NUM> includes an M + N number of control links, where M is the number of base stations 104a-104n and N is the number of wireless termination nodes 106a-106n connected to the networking device <NUM>. This is fewer than the M x N number of control links present in current systems, resulting in resource savings. These control links are effectively aggregated by the networking device <NUM>.

Additionally, the networking device <NUM> provides improved data plane performance by mapping the cellular data packet protocol to the WLAN data packet protocol, and vice versa. This mapping improves network performance by providing the wireless termination nodes 106a-106n and the base stations 104a-104n with data packets according to their respective tunneling protocols. Additionally, the mapping leads to computational savings because the base stations 104a-104n need not be involved in control plane signalling. Moreover, the mapping reduces the amount of stored configuration information at the wireless termination nodes 106a-106n because they need not be aware of certain properties of the base stations 104a-104n.

<FIG> illustrates a conceptual diagram of the networking device <NUM> according to various implementations. According to various implementations, the networking device <NUM> functions to generate control links between wireless termination nodes and base stations and to map the flow of data between them.

In some implementations, as shown in <FIG>, the networking device <NUM> includes a link generator <NUM>. The link generator <NUM> generates control between base stations and wireless termination nodes (e.g., the base stations 104a-104n and the wireless termination nodes 106a-106n in <FIG>). In some implementations, the link generator <NUM> generates the control links according to known control plane protocols. For example, in some implementation, the link generator <NUM> generates an Xw link by using an Xw addition request message and an Xw addition request acknowledgement message. After a control link is generated between the networking device <NUM> and a particular base station, the networking device <NUM> appears to be a wireless termination node from the perspective of the particular base station. After a control link is generated between the networking device <NUM> and a particular wireless termination node, the networking device <NUM> appears to be a base station from the perspective of the particular wireless termination node.

In various implementations, the link generator <NUM> populates a control flow mapping table <NUM> in conjunction with generating the control links. The control flow mapping table <NUM> can be part of any type of memory resource at the networking device <NUM>. The control flow mapping table <NUM> includes a mapping between identification information identifying the base stations and identification information identifying the wireless termination nodes. An exemplary control flow mapping table <NUM> is illustrated in <FIG>. In various implementations, the link generator <NUM> obtains identification information from a base station and stores the identification information in the control flow mapping table <NUM>. In various implementations, the link generator <NUM> generates identification information identifying a wireless termination node and stores the identification information in the control flow mapping table <NUM>. In some implementations, the link generator <NUM> generates identification information identifying a wireless termination node based on identification information identifying one or more base stations.

In some implementations, as shown in <FIG>, the networking device <NUM> includes a control flow mapper <NUM>. The control flow mapper <NUM> utilizes the control flow mapping table <NUM> in order to map control packets between base stations and wireless termination nodes. The control flow mapper <NUM> modifies a control packet received from a particular base station so that the control packet reaches the appropriate destination wireless termination node, and vice verse. In various implementations, the control flow mapper <NUM> modifies the value of identification information included in an incoming control packet. The identification information is changed to a value associated with the appropriately mapped destination node.

In some implementations, as shown in <FIG>, the networking device <NUM> includes a tunnel instantiator <NUM>. The tunnel instantiator <NUM> instantiates data tunnels associated with a first protocol between the networking device <NUM> and corresponding base stations. The tunnel instantiator <NUM> also instantiates data tunnels associated with a second protocol between the networking device <NUM> and corresponding wireless termination nodes. The instantiated data tunnels carry data packets between base stations and wireless termination nodes via the networking device <NUM>.

In various implementations, the tunnel instantiator <NUM> populates a data flow mapping table <NUM> in conjunction with instantiating data tunnels. The data flow mapping table <NUM> can be part of any type of memory resource at the networking device <NUM>. An exemplary data flow mapping table <NUM> is illustrated in <FIG>. The data flow mapping table <NUM> includes identifiers identifying the instantiated data tunnels. The data flow mapping table <NUM> includes mappings between identifiers identifying data tunnels associated with base stations and identifiers identifying data tunnels associated with wireless termination nodes.

In some implementations, as shown in <FIG>, the networking device <NUM> includes a data flow mapper <NUM>. The data flow mapper <NUM> utilizes the data flow mapping table <NUM> in order to map data packets between base stations and wireless termination nodes. The data flow mapper <NUM> maps a data packet received from a base station according to a first protocol to a data packet destined for a wireless termination node according to a second protocol. The data flow mapper <NUM> also maps a data packet received from a wireless termination node according to the second protocol to a data packet destined for a base station according to the first protocol. This effectively provides the receiving networking node with data packets in their native format, leading to improved transmission performance. As an example, an incoming data packet received at the networking device <NUM> includes an identifier indicating the data tunnel through which it was received. Continuing with this example, the data flow mapper <NUM>, based on entries of data flow mapping table <NUM>, modifies the identifier of the received data packet to correspond to the data tunnel through which it is to be forwarded.

In various implementations the first protocol corresponds to a general packet radio service (GPRS) tunneling protocol user plane (GTP-U). In various implementations, the second protocol corresponds to a generic routing encapsulation (GRE) protocol.

According to some implementations, data packets transported between the base station(s) and the wireless termination node(s) correspond to Internet Protocol (IP) data packets (e.g., IPv4 and/or IPv6). According to some implementations, the data packets correspond to point-to-point (PPP) data packets. According to some implementations, the data packets correspond to a combination of IP data packets and PPP data packets. According to some implementations, data packets sent from and/or received at the wireless termination node are encapsulated, such as an IP data packet (e.g., IP payload) encapsulated by the GRE protocol.

<FIG> illustrates exemplary data structure diagrams for a control flow mapping table <NUM> and a data flow mapping table <NUM> according to various implementations. In various implementations, the control flow mapping table <NUM> is populated by a link generator (e.g., the link generator <NUM> in <FIG>) and utilized by a control flow mapper (e.g., the control flow mapper <NUM> in <FIG>). In various implementations, the data flow mapping table <NUM> is populated by a tunnel instantiator (e.g., the tunnel instantiator <NUM> in <FIG>) and utilized by a data flow mapper (e.g., the data flow mapper <NUM> in <FIG>).

The tables <NUM> and <NUM> of <FIG> assume a networking environment with four electronic devices (electronic device # <NUM> - electronic device #<NUM>), two base stations (BS #<NUM> and BS #<NUM>), and four wireless termination nodes, each of which providing coverage to one of the four electronic devices. In other words, each electronic device is being serviced by one wireless termination node. However, one or ordinary skill in the art will appreciate that the control flow mapping table <NUM> and the data flow mapping table <NUM> can account for various situations in which one or more electronic devices are each being concurrently serviced by numerous wireless termination nodes. Moreover, one of ordinary skill in the art will appreciate that the control flow mapping table <NUM> and the data flow mapping table <NUM> can account for more or fewer of either or both of the base stations and/or wireless termination nodes. Moreover, in various implementations, one of ordinary skill in the art will appreciate that the control flow mapping table <NUM> may be structured and/or formatted differently.

The control flow mapping table <NUM> includes base station identifiers in order to identify a particular base station with a particular electronic device. The control flow mapping table <NUM> includes identifier values of <NUM> and <NUM> for identifying BS #<NUM> with electronic device # <NUM> and electronic device # <NUM>, respectively. The control flow mapping table <NUM> includes identifier values of <NUM> and <NUM> for identifying BS #<NUM> with electronic device #<NUM> and electronic device #<NUM>, respectively.

The control flow mapping table <NUM> provides a mapping between the two base stations identifiers and identifiers associated with the four wireless termination nodes. The control flow mapping table <NUM> provides pseudonym identifiers for the four wireless termination nodes based on the base station identifiers. With respect to electronic device # <NUM>, the control flow mapping table <NUM> maps the identifier value of <NUM> to a pseudonym identifier value of <NUM> associated with the first wireless termination node. With respect to electronic device # <NUM>, the control flow mapping table <NUM> maps the identifier value of <NUM> to a pseudonym identifier value of <NUM> associated with the second wireless termination node. With respect to electronic device # <NUM>, the control flow mapping table <NUM> maps the identifier value of <NUM> to a pseudonym identifier value of <NUM> associated with the third wireless termination node. With respect to electronic device # <NUM>, the control flow mapping table <NUM> maps the identifier value of <NUM> to a pseudonym identifier value of <NUM> associated with the fourth wireless termination node.

Although the control flow mapping table <NUM> contemplates a one-to-one mapping between a particular electronic device and particular wireless termination node, one of ordinary skill in the art will appreciate that various mapping schemes can be implemented. For example, in various implementations, an electronic device, as a result of a mobility event, moves within the coverage area of multiple WLANs. For example, electronic device # <NUM> experiences a mobility event (e.g., mobile phone user walks near a coffee shop's Wi-Fi), causing the electronic device # <NUM> to move within the coverage area of the second wireless termination node while remaining in the coverage area of the first wireless termination node. Consequently, the control flow mapping table <NUM> changes the pseudonym value from <NUM> to [<NUM>, <NUM>], wherein <NUM> maps to the first wireless termination node and <NUM> maps to the second wireless termination node.

As an exemplary operation of the control flow mapping table <NUM>, BS # <NUM>, after associating with electronic device # <NUM>, sends a request including an identifier value of <NUM> to the networking device in order to generate a control link with the networking device. Continuing with this example, the networking device generates a pseudonym value of <NUM> for the first wireless termination node. Continuing with this example, the networking device populates the control flow mapping table <NUM> with the <NUM> and <NUM> identifier values in order to associate BS # <NUM> with the first wireless termination node. In various implementations, one of ordinary skill in the art will appreciate that that the identifiers identifying the base stations and the wireless termination can have a variety of values and/or formats.

The data flow mapping table <NUM> includes data tunnel identifiers in order to map data tunnels identifiers between the two base stations and the networking device, and in order to map data tunnel identifiers between the networking device and the four wireless termination nodes. With respect to the first electronic device, the data flow mapping table <NUM> includes a data tunnel identifier value of <NUM> for identifying a data tunnel between the networking device and BS #<NUM>. With respect to the second electronic device, the data flow mapping table <NUM> includes a data tunnel identifier value of <NUM> for identifying a data tunnel between the networking device and BS #<NUM>. With respect to the third electronic device, the data flow mapping table <NUM> includes a data tunnel identifier value of <NUM> for identifying a data tunnel between the networking device and BS #<NUM>. With respect to the fourth electronic device, the data flow mapping table <NUM> includes a data tunnel identifier value of <NUM> for identifying a data tunnel between the networking device and BS #<NUM>.

The data flow mapping table <NUM> provides a mapping between the two base stations data tunnel identifiers and data tunnel identifiers associated with the four wireless termination nodes. The data flow mapping table <NUM> provides data tunnel identifiers for the four wireless termination nodes based on the base station data tunnel identifiers. With respect to electronic device # <NUM>, the data flow mapping table <NUM> maps the data tunnel identifier value of <NUM> to a value of <NUM> associated with the data tunnel of the first wireless termination node. With respect to electronic device # <NUM>, the data flow mapping table <NUM> maps the data tunnel identifier value of <NUM> to a value of <NUM> associated with the data tunnel of the second wireless termination node. With respect to electronic device # <NUM>, the data flow mapping table <NUM> maps the data tunnel identifier value of <NUM> to a value of <NUM> associated with the data tunnel of the third wireless termination node. With respect to electronic device # <NUM>, the data flow mapping table <NUM> maps the data tunnel identifier value of <NUM> to a value of <NUM> associated with the data tunnel of the fourth wireless termination node.

Although the data flow mapping table <NUM> contemplates a one-to-one mapping between a particular electronic device and particular wireless termination node, one of ordinary skill in the art will appreciate that various mapping schemes can be implemented. For example, in various implementations, an electronic device, as a result of a mobility event, moves within the coverage area of multiple WLANs. For example, electronic device # <NUM> experiences a mobility event (e.g., tablet user enter his building of employment), causing the electronic device # <NUM> to move within the coverage area of the third wireless termination node while remaining in the coverage area of the second wireless termination node. Consequently, the data flow mapping table <NUM> changes the data tunnel identifier value from <NUM> to [<NUM>, <NUM>], wherein <NUM> maps to the second wireless termination node data tunnel and <NUM> (not shown) maps to the third wireless termination node data tunnel.

In some implementations, as shown in <FIG>, the data flow mapping table <NUM> includes a mapping between identification information associated with base station data tunnels and identification information associated with wireless termination node data tunnels. Data tunnels between the base stations and the networking device are associated with a first protocol, and data tunnels between the wireless termination nodes and the networking device are associated with a second protocol. As shown in <FIG>, the data flow mapping table <NUM> includes a column for each of the base stations. In various implementations, one of ordinary skill in the art will appreciate that the data flow mapping table <NUM> may be structured and/or formatted differently.

In various implementations, a data packet received according to GTP-U includes a tunnel endpoint ID (TEID). In various implementations, a data packet received according to GRE includes a GRE key. In some implementations, the data flow mapper, based on information in the data flow mapping table <NUM>, replaces the TEID of a data packet received from a base station with a GRE key associated with the destination wireless termination node. In some implementations, the data flow mapper, based on information in the data flow mapping table <NUM>, replaces the GRE key of a data packet received from a wireless termination node with a TEID associated with the destination base station.

As an exemplary operation of the data flow mapping table <NUM>, the networking device receives a data packet from the second wireless termination node that is destined for electronic device # <NUM>. Continuing with this example, the networking device changes the data packet identifier value from <NUM> (e.g., a GRE key value) to <NUM> (e.g., a GTP-U TEID value). This way, the data packet is forwarded through the BS #<NUM> data tunnel in order to reach electronic device # <NUM>. As another exemplary operation of the data flow mapping table <NUM>, the networking device receives a data packet originating at electronic device #<NUM> that is destined for the fourth wireless termination node. Continuing with this example, the networking device changes the data packet identifier values from <NUM> (e.g., a GTP-U TEID value) to <NUM> (e.g., a GRE key value). This way, the data packet is forwarded through the fourth wireless termination node data tunnel in order to reach the fourth wireless termination node.

<FIG> illustrates a conceptual diagram of a setup flow <NUM> associated with a networking device according to various implementations. <FIG> includes a setup flow involving an electronic device <NUM>, a base station <NUM>, a networking device <NUM>, and a wireless termination node <NUM>. It is to be appreciated that the setup flow is equally applicable to a networking environment having more of any or all of these components.

According to some implementations, the networking device <NUM> sends a setup request <NUM> to the wireless termination node <NUM>. The setup request <NUM> includes base station identification information. Accordingly, from the perspective of the wireless termination node <NUM>, the networking device <NUM> appears to be a base station. In some implementations, the setup request <NUM> corresponds to an Xw setup request message. In response, the wireless termination node <NUM> sends a setup response <NUM> to the networking device <NUM>. In some implementations, the setup response <NUM> corresponds to an Xw setup response message.

According to some implementations, the base station <NUM> sends a setup request <NUM> to the networking device <NUM>. The setup request <NUM> includes identification information of the base station <NUM>. In some implementations, the setup request <NUM> corresponds to an Xw setup request message. In response, the networking device <NUM> sends a setup response <NUM> to the base station <NUM>. Accordingly, from the perspective of the base station <NUM>, the networking device <NUM> appears to be a wireless termination node. In some implementations, the setup response <NUM> corresponds to an Xw setup response message. In various implementations, additional base stations (not shown) initiate setup procedures with the networking device <NUM>.

In some implementations, in response to the setup procedure between the base station <NUM> and the networking device <NUM>, the base station <NUM> sends a reconfiguration request <NUM> to an electronic device <NUM> with which it is registered. In some implementations, the reconfiguration request <NUM> corresponds to an RRC_Connection_Reconfiguration message. In response, the electronic device <NUM> sends a reconfiguration response <NUM> to the base station <NUM>. In some implementations, the reconfiguration response <NUM> corresponds to an RRC_Connection _Reconfiguration_Complete message. In various implementations, after the electronic device <NUM> sends the reconfiguration response <NUM>, the electronic device <NUM> sends a measurement report message (e.g., WLAN information) (not shown) to the base station <NUM>.

According to some implementations, the base station <NUM> sends an association request <NUM> to the networking device <NUM>. The association request <NUM> functions in part to request a wireless termination node to prepare resources for concurrent communications. For example, in some LWA implementations, the base station <NUM> (e.g., eNodeB) send the association request <NUM> to the wireless termination node <NUM> (e.g., WT) to prepare resources for LWA aggregation for the electronic device <NUM>. In various implementations, the association request <NUM> includes an identifier associated with the electronic device <NUM> and/or an identifier identifying the data tunnel with which the base station <NUM> is associated. In some implementations, the association request <NUM> corresponds to an Xw addition request message. For example, in some implementations, the association request <NUM> includes values indicative of an eNBUeXwID, UEID, and/or eRABIDs (e.g., eNodeB TEIDs and PLMN ID). For example, the eNBUeXwID corresponds to an identifier associating the electronic device <NUM> with the base station <NUM>. For example, the UEID corresponds to an identifier identifying the electronic device <NUM>. For example, the eRABIDs corresponds to identifiers identifying radio access bearers (RABs), such as an evolved universal mobile telecommunications system (UMTS) terrestrial radio access network (E-UTRAN) RAB.

In some implementations, in response to receiving the association request <NUM>, the networking device <NUM> sends a corresponding association request <NUM> to the wireless termination node <NUM>. The association request <NUM> includes a mapped version of the identification information corresponding to the association request <NUM>. In some implementations, the association request <NUM> corresponds to an Xw wireless termination node addition request message, such as an Xw WT addition request message.

In some implementations, in response to receiving the association request <NUM>, the wireless termination node <NUM> sends the networking device <NUM> an association response <NUM>. In some implementations, the association response <NUM> corresponds to an Xw addition request acknowledge message. For example, in some implementations, the association response <NUM> includes values indicative of a mapped eNBUeXwID, UEID, eRABIDs (e.g., XGW TEID), and/or WTUeXWid. For example, the WTUeXWid corresponds to an identifier associating the electronic device <NUM> with the wireless termination node <NUM>.

In some implementations, in response to receiving the association response <NUM>, the networking device <NUM> sends a corresponding association response <NUM> to the base station <NUM>. The association response <NUM> includes identification information corresponding to the identification information associated with the association request <NUM>. In some implementations, the association response <NUM> corresponds to an Xw addition request acknowledge message. For example, in some implementations, the association response <NUM> includes values indicative of eNBUeXwID, UEID, eRABIDs (e.g., XGW TEID), and/or WTUeXWid. At this point, a control link between the networking device <NUM> and wireless termination node <NUM> and a control link between the networking device <NUM> and the base station <NUM> have been established.

According to some implementations, the base station <NUM> sends a reconfiguration request <NUM> to the electronic device <NUM>, which responds with a reconfiguration response <NUM>. At this point, the electronic device <NUM> is registered with the base station <NUM> and the wireless termination node <NUM>.

According to some implementations, at 513a, the networking device <NUM> instantiates a data tunnel with the base station <NUM>. In various implementations, the networking device <NUM> instantiates a GTP tunnel with the base station <NUM> based on values corresponding to the eNodeB TEID and/or the XGW TEID.

According to some implementations, at 513b, the networking device <NUM> instantiates a data tunnel with the wireless termination node <NUM>. In various implementations, the networking device <NUM> instantiates a GRE tunnel with the wireless termination node <NUM> based on values corresponding to the XGW GRE key and/or the WT GRE key.

<FIG> illustrates a flowchart representation of a method <NUM> of link generating and tunnel instantiating according to various implementations. According to various implementations, the method <NUM> is performed by a networking device (e.g., networking device <NUM>). According to various implementations, the method <NUM> is performed by a networking device (e.g., the networking device <NUM> in <FIG>) with one or more processors and a non-transitory memory, wherein the networking device is communicatively coupled to a base station and one or more wireless local area network (WLAN) termination nodes.

As represented by block <NUM>, the method <NUM> includes detecting a trigger. According to various implementations, the networking device <NUM> detects a trigger when a device establishes or attempts to establish connectivity with the networking device <NUM>. As one example, the networking device <NUM> detects the trigger when the electronic device <NUM> establishes connectivity with the access point <NUM> and/or the base station <NUM>. As another example, the networking device <NUM> detects a trigger when the wireless termination node <NUM> establishes connectivity with the networking device <NUM>. As yet another example, the networking device <NUM> detects a trigger when the base station <NUM> establishes connectivity with the networking device <NUM>. According to various implementations, the networking device <NUM> detects a trigger when the networking device <NUM> receives a request to associate the base station <NUM> with the wireless termination node <NUM>. According to various implementations, the networking device <NUM> detects a trigger when the networking device <NUM> receives a registration request associated with the electronic device <NUM> from the base station <NUM>.

As represented by block <NUM>, the method <NUM> includes generating control links and populating a control flow mapping table. According to various implementations, the networking device <NUM> or a component thereof (e.g., the link generator <NUM> in <FIG>) generates a control link between the networking device <NUM> and the base station <NUM> based on a first identifier associated with the base station <NUM>. According to various implementations, the networking device <NUM> or a component thereof (e.g., the link generator <NUM> in <FIG>) generates control links between the networking device <NUM> and a plurality of wireless termination nodes (e.g., including the first wireless termination node described with reference to blocks <NUM>-<NUM> and the new wireless termination node described with reference to blocks <NUM>-<NUM>) based on a second identifier associated with the base station <NUM>. As such, there is an M x N number of control links (e.g., Xw links), where M is the number of base stations and N is the number of wireless termination nodes. This is fewer than the M x N number of control links present in current systems, resulting in resource savings.

In various implementations, the second identifier corresponds to a pseudonym for the base station <NUM>. By using a pseudonym for the base station <NUM>, the networking device <NUM> appears to be a base station from the perspective of the wireless termination node <NUM>, and appears to be a wireless termination node from the perspective of the base station <NUM>. Accordingly, mobility events of the electronic device <NUM> occur seamlessly and are hidden from the base station <NUM>. For example, a mobility event can cause a hand-off of service between wireless termination nodes. This service hand-off is transparent from the perspective of the base station <NUM> due to the abstraction or decoupling performed by the networking device <NUM>.

According to various implementations, the networking device <NUM> or a component thereof (e.g., the control flow mapper <NUM> in <FIG>) associates or otherwise links the first and second identifiers by creating a new entry within the control flow mapping table (e.g., the control flow mapping table <NUM> in <FIG> and <FIG>). For example, with reference to the first column of the control mapping table <NUM> of <FIG>, the networking device <NUM> populates the control flow mapping table <NUM> with an identifier having a value of <NUM> for BS # <NUM> and generates a link with BS # <NUM> according to the identifier. Continuing with the example, the networking device <NUM>, based on the identifier, generates a pseudonym identifier having a value of <NUM> for the first wireless termination node. Continuing with the example, the networking device <NUM> generates a link with the first wireless termination node according to the pseudonym identifier.

As represented by block <NUM>, the method <NUM> includes instantiating a first set of data tunnels and populating a data flow mapping table. According to various implementations, the networking device <NUM> or a component thereof (e.g., the tunnel instantiator <NUM> in <FIG>) instantiates the first set of data tunnels. In some implementations, the first set of data tunnels includes: (A) a first data tunnel between the base station and the networking device <NUM> according to a first tunneling protocol (e.g., GTP); and (B) a second data tunnel between the networking device <NUM> and a first wireless termination node according to a second tunneling protocol (e.g., GRE). According to various implementations, the first set of data tunnels are instantiated in response to the trigger detected in block <NUM>, such as when the electronic device <NUM> moves within the coverage area of the first wireless termination node.

According to various implementations, the networking device <NUM> or a component thereof (e.g., the data flow mapper <NUM> in <FIG>) associates or otherwise links the first and second data tunnels by creating a new entry within the data flow mapping table (e.g., the data flow mapping table <NUM> in <FIG> and <FIG>). The association informs data packet forwarding decisions, and allows the base station and the first wireless termination node to receive data packets according to their native/preferred tunneling protocol. For example, in some implementations, the base station <NUM> can receive and transmit data packets across the first data tunnel according to the GTP-U protocol. As another example, in some implementations, the wireless termination node <NUM> can receive and transmit data packets across the second data tunnel according to the GRE protocol.

In some implementations, the data flow mapping table <NUM> includes a mapping between an identifier associated with the first data tunnel and an identifier associated with the second data tunnel. For example, with reference to the data mapping table <NUM> of <FIG>, the row entry values of <NUM> and <NUM> indicate a mapping between a data tunnel identifier associated with BS # <NUM> and a data tunnel identifier associated with the third wireless termination node.

As represented by block <NUM>, the method <NUM> includes forwarding data packets between the base station <NUM> and the first wireless termination node via the first set of data tunnels based on the data flow mapping table. For example, with reference to the data flow mapping table <NUM> in <FIG>, the networking device <NUM> receives a data packet from the second wireless termination node according to GRE. Continuing with this example, the networking device <NUM> changes the identifier of the data packet from a value of <NUM> to <NUM> (e.g., a GTP-U TEID value). Continuing with this example, the networking device <NUM> forwards the modified data packet towards BS # <NUM> through the data tunnel identified by the value of <NUM>.

As represented by block <NUM>, the method <NUM> includes detecting a mobility event associated with the electronic device <NUM>. In various implementations, the mobility event occurs when the electronic device <NUM> moves (or roams) from the coverage area serviced by the first wireless termination node to a new coverage area services by a new wireless termination node. For example, with reference to <FIG>, the mobility event occurs when the electronic device <NUM> moves from the coverage area of wireless termination node 106a to the coverage area of wireless termination node 106b. Continuing with this example, in some implementations, the electronic device <NUM> remains within the coverage area of wireless termination node 106a after moving to the coverage area of wireless termination node 106b.

As represented by block <NUM>, the method <NUM> includes instantiating a second set of data tunnels and updating the data flow mapping table. According to various implementations, the networking device <NUM> or a component thereof (e.g., the tunnel instantiator <NUM> in <FIG>) instantiates the second set of data tunnels. In some implementations, the second set of data tunnels includes: (A) the first data tunnel between the base station and the networking device <NUM> according to the first tunneling protocol (e.g., GTP); and (B) a third data tunnel between the networking device <NUM> and the new wireless termination node according to the second tunneling protocol (e.g., GRE). According to various implementations, the second set of data tunnels are instantiated in response to the mobility event detected in block <NUM> (e.g., the electronic device <NUM> moves from the coverage area serviced by the first wireless termination node to the coverage area serviced by the new wireless termination node). According to various implementations, the networking device <NUM> or a component thereof (e.g., the data flow mapper <NUM> in <FIG>) updates the data flow mapping table (e.g., the data flow mapping table <NUM> in <FIG> and <FIG>) to include an association or link between the first and third data tunnels.

As represented by block <NUM>, the method <NUM> includes forwarding data packets between the base station and the new wireless termination node via the second set of data tunnels based on the data flow mapping table. For example, with reference to the data flow mapping table <NUM> in <FIG>, the mapping table <NUM> includes a <NUM>:<NUM> mapping between BS #<NUM> and the first wireless termination node before the networking device detects a mobility event of electronic device #<NUM>. Continuing with this example, the networking device detects the mobility event (e.g., at block <NUM>), wherein electronic device # <NUM> moves from the coverage area of the first wireless termination node to the coverage areas of both the first and second wireless termination nodes. Continuing with this example, in response to detecting the mobility event, the networking device updates the data flow mapping table from <NUM>:<NUM> to <NUM>:[<NUM>, <NUM>], wherein <NUM> and <NUM> corresponds to the first and second wireless termination nodes, respectively. Continuing with this example, based on the updated mapping, the networking device forwards a received data packet having an identifier value of <NUM> and/or <NUM> towards electronic device # <NUM>, and forwards a received data packet having an identifier value of <NUM> to the first wireless termination node and/or the second wireless termination node.

<FIG> illustrate a flowchart representation of a method <NUM> of link generating and tunnel instantiating according to various implementations. According to various implementations, the method <NUM> is performed by a networking device (e.g., networking device <NUM>). According to various implementations, the method <NUM> is performed by a networking device (e.g., the networking device <NUM> in <FIG>) with one or more processors and a non-transitory memory, wherein the networking device is communicatively coupled to a base station and one or more wireless local area network (WLAN) termination nodes.

With reference to <FIG>, as represented by block <NUM>, the method <NUM> includes obtaining, at the networking device, a request to associate one or more electronic devices with the one or more WLAN termination nodes, wherein the one or more electronic devices are associated with the base station. In various implementations, as represented by block 710a, the networking device is collocated with a security gateway (SecGW) node in a LTE-WLAN radio level integration with IPsec tunnel (LWIP) deployment. In various implementations, as represented by block 710b, the networking device is collocated with an X2 gateway node. In various implementations, as represented by block 710c, the base station corresponds to an eNodeB in a LTE-WLAN aggregation (LWA) deployment.

As represented by block <NUM>, the method <NUM> includes in response to obtaining the request to associate the one or more electronic devices with the one or more WLAN termination nodes: generating, between the base station and the networking device, a control link based at least in part on a first identifier included in the request, wherein the first identifier is associated with the base station; generating, between the networking device and the first WLAN termination node among the one or more WLAN termination nodes, a control link based at least in part on a second identifier associated with the base station, wherein the second identifier corresponds to a pseudonym for the base station; and associating the first identifier with the second identifier in a control flow mapping table. As represented by block <NUM>, the method <NUM> includes instantiating, between the base station and the networking device, a first data tunnel associated with a first tunneling protocol.

With reference to <FIG>, the flowchart continues to block <NUM>, wherein the method <NUM> includes instantiating, between the networking device and the first WLAN termination node among the one or more WLAN termination nodes, a second data tunnel associated with a second tunneling protocol different from the first tunneling protocol.

As represented by block <NUM>, the method includes associating the first data tunnel with the second data tunnel in a data flow mapping table. In various implementations, as represented by block 750a, the data flow mapping table includes entries mappings between GPRS tunneling protocol user plane (GTP-U) tunnel endpoint identifiers (TEID) associated with the first data tunnel and generic routing encapsulation (GRE) keys associated with the second data tunnel.

As represented by block <NUM>, in various implementations, the method <NUM> includes forwarding one or more data packets received from the base station via the first data tunnel to the first WLAN termination node via the second data tunnel based on the association between the first and second data tunnels in the data flow mapping table. As represented by block <NUM>, in various implementations, the method <NUM> includes forwarding one or more data packets received from the first WLAN termination node via the second data tunnel to the base station via the first data tunnel based on the association between the first and second data tunnels in the data flow mapping table.

With reference to <FIG>, the flowchart continues to block <NUM>, wherein the method <NUM> includes, in various implementations, in response to obtaining the request to associate the one or more electronic devices with the one or more WLAN termination nodes, generating, between the networking device and a second WLAN termination node among the one or more WLAN termination nodes, a control link based at least in part on the second identifier associated with the base station, wherein the second identifier corresponds to the pseudonym for the base station. As represented by block 780a, in various implementations, the method <NUM> includes in response to a mobility event that transitions service of at least a subset of the one or more electronic devices from the first WLAN termination node to the second WLAN termination node: instantiating, between the networking device and a second WLAN termination node among the one or more WLAN termination nodes, a third data tunnel associated with the second tunneling protocol; and associating the first data tunnel with the third data tunnel in the data flow mapping table. The mobility event is transparent to the base station as the second WLAN termination interacts with the at least a subset of the one or more electronic devices.

As represented by block 780b, in various implementations, the method <NUM> includes forwarding one or more data packets received from the base station via the first data tunnel to the second WLAN termination node via the third data tunnel based on the association between the first and third data tunnels in the data flow mapping table. As represented by block 780c, in various implementations, the method <NUM> includes forwarding one or more data packets received from the second WLAN termination node via the third data tunnel to the base station via the first data tunnel based on the association between the first and third data tunnels in the data flow mapping table.

<FIG> illustrates a block diagram of an example of a networking device <NUM> in accordance with various implementations. For example, in some implementations, the networking device <NUM> is similar to and adapted from the networking device <NUM> of <FIG>. While certain specific features are illustrated, those skilled in the art will appreciate from the present disclosure that various other features have not been illustrated for the sake of brevity, and so as not to obscure more pertinent aspects of the implementations disclosed herein. To that end, as a non-limiting example, in some implementations the networking device <NUM> includes one or more processing units (CPUs) <NUM>, a memory <NUM>, a network interface <NUM>, a programming (I/O) interface <NUM>, and one or more communication buses <NUM> for interconnecting these and various other components. In some implementations, the one or more communication buses <NUM> include circuitry that interconnects and controls communications between system components.

The memory <NUM> includes high-speed random-access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices. In some implementations, the memory <NUM> includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory <NUM> optionally includes one or more storage devices remotely located from the one or more CPUs <NUM>. The memory <NUM> comprises a non-transitory computer readable storage medium. In some implementations, the memory <NUM> or the non-transitory computer readable storage medium of the memory <NUM> stores the following programs, modules and data structures, or a subset thereof including an optional operating system <NUM>, a link generator <NUM>, a control flow mapping table <NUM>, a control flow mapper <NUM>, a tunnel instantiator <NUM>, a data flow mapping table <NUM>, and a data flow mapper <NUM>.

The link generator <NUM> is configured to generate control links between base stations and wireless termination nodes. To that end, in various implementations, the link generator <NUM> includes instructions and/or logic 830a, and heuristics and data 830b. The mapping information generated in conjunction with the control link generation is stored in the control flow mapping table <NUM>.

The control flow mapper <NUM> is configured to map control packets between the base stations and the wireless termination nodes. To that end, in various implementations, the control flow mapper <NUM> includes instructions and/or logic 840a, and heuristics and data 840b. The control flow mapper <NUM> utilizes the control flow mapping table <NUM> in order to facilitate control packet mapping.

The tunnel instantiator <NUM> is configured to instantiate data tunnels between the networking device <NUM> and the base stations. The tunnel instantiator <NUM> is further configured to instantiate data tunnels between the networking device <NUM> and the wireless termination nodes. To that end, in various implementations, the tunnel instantiator <NUM> includes instructions and/or logic 850a, and heuristics and data 850b. The mapping information generated in conjunction with the tunnel instantiation is stored in the data flow mapping table <NUM>.

The data flow mapper <NUM> is configured to map data packets between base stations and wireless termination nodes. To that end, in various implementations, the data flow mapper <NUM> includes instructions and/or logic 860a, and heuristics and data 860b. The data flow mapper <NUM> utilizes the data flow mapping table <NUM> in order to facilitate data packet mapping.

Moreover, <FIG> is intended more as functional description of the various features which can be present in a particular embodiment as opposed to a structural schematic of the implementations described herein. As recognized by those of ordinary skill in the art, items shown separately could be combined and some items could be separated. For example, some functional modules shown separately in <FIG> could be implemented in a single module and the various functions of single functional blocks could be implemented by one or more functional blocks in various implementations. The actual number of modules and the division of particular functions and how features are allocated among them will vary from one embodiment to another and, in some implementations, depends in part on the particular combination of hardware, software, and/or firmware chosen for a particular embodiment.

Claim 1:
A method (<NUM>) for link generating and tunnel instantiating in a heterogeneous network (<NUM>), the heterogeneous network (<NUM>) including a cellular network (<NUM>) and a wireless local area network (<NUM>), WLAN , and the method being performed by a networking device communicatively coupled to one or more cellular base stations (<NUM>) and one or more wireless local area network WLAN termination nodes (<NUM>), said method comprising the steps of :
generating (<NUM>) a plurality of control links, wherein the plurality of control links are between the networking device and the one or more cellular base stations (<NUM>) and between the networking device and the one or more WLAN termination nodes (<NUM>):
populating (<NUM>) a control flow mapping table (<NUM>) with identification information identifying the one or more cellular base stations and the one or more WLAN termination nodes;
instantiating (<NUM>) a first plurality of data tunnels, wherein the first plurality of data tunnels are between the networking device and the one or more cellular base stations and between the networking device and the one or more WLAN termination nodes;
populating (<NUM>) a data flow mapping table (<NUM>) based on the first plurality of data tunnels;
forwarding (<NUM>) data packets between the one or more cellular base stations and the one or more WLAN termination nodes via the first plurality of data tunnels based on the data flow mapping table;
detecting (<NUM>) a mobility event associated with an electronic device (<NUM>), wherein the mobility event occurs when the electronic device moves from a coverage area of the one or more WLAN termination nodes to a coverage area of one or more new WLAN termination nodes;
in response to detecting the mobility event, instantiating (<NUM>) a second plurality of data tunnels, wherein the second plurality of data tunnels are between the networking device and the one or more cellular base stations and between the networking device and the one or more new WLAN termination nodes;
updating (<NUM>) the data flow mapping table based on the second plurality of data tunnels; and
forwarding (<NUM>) data packets between the one or more cellular base stations and the one or more new WLAN termination nodes via the second plurality of data tunnels based on the data flow mapping table.