WO2017076454A1 - Initiating measuring, reporting and/or use of secondary path delay to allocate packets or bearers among primary path and secondary path in wireless network - Google Patents

Initiating measuring, reporting and/or use of secondary path delay to allocate packets or bearers among primary path and secondary path in wireless network Download PDF

Info

Publication number
WO2017076454A1
WO2017076454A1 PCT/EP2015/075835 EP2015075835W WO2017076454A1 WO 2017076454 A1 WO2017076454 A1 WO 2017076454A1 EP 2015075835 W EP2015075835 W EP 2015075835W WO 2017076454 A1 WO2017076454 A1 WO 2017076454A1
Authority
WO
WIPO (PCT)
Prior art keywords
base station
user device
data path
secondary data
access point
Prior art date
Application number
PCT/EP2015/075835
Other languages
French (fr)
Inventor
Daniela Laselva
Jeroen Wigard
Original Assignee
Nokia Solutions And Networks Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Solutions And Networks Oy filed Critical Nokia Solutions And Networks Oy
Priority to PCT/EP2015/075835 priority Critical patent/WO2017076454A1/en
Publication of WO2017076454A1 publication Critical patent/WO2017076454A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay

Definitions

  • This description relates to communications.
  • a communication system may be a facility that enables communication between two or more nodes or devices, such as fixed or mobile communication devices. Signals can be carried on wired or wireless carriers.
  • LTE Long Term Evolution
  • APs base stations or access points
  • eNBs enhanced Node AP
  • UE user equipments
  • LTE has included a number of improvements or developments.
  • mmWave underutilized millimeter wave
  • mmWave or extremely high frequency
  • Radio waves in this band may, for example, have wavelengths from ten to one millimeters, giving it the name millimeter band or millimeter wave.
  • the amount of wireless data will likely significantly increase in the coming years.
  • Various techniques have been used in attempt to address this challenge including obtaining more spectrum, having smaller cell sizes, and using improved technologies enabling more bits/s/Hz, and/or allowing a more efficient use of resources.
  • One element that may be used to obtain more spectrum is to move to higher frequencies, above 6 GHz.
  • 5G fifth generation wireless systems
  • 5G an access architecture for deployment of cellular radio equipment employing mmWave radio spectrum has been proposed.
  • Other example spectrums may also be used, such as cmWave radio spectrum (3-30 GHz).
  • a method may is provided for allocating data or bearers among multiple paths in a multi-radio access technology (multi-RAT) wireless network that includes a cellular base station and a wireless local area network (WLAN) access point that are connected to a user device, the method including: providing a primary data path between the base station and the user device; providing a secondary data path between the base station and the user device via the WLAN access point; determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
  • multi-RAT multi-radio access technology
  • an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to:, provide a primary data path between the base station and the user device; provide a secondary data path between the base station and the user device via the WLAN access point; determine a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and allocate data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
  • a computer program product may include a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method including providing a primary data path between the base station and the user device; providing a secondary data path between the base station and the user device via the WLAN access point; determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
  • an apparatus may include means for providing a primary data path between the base station and the user device; means for providing a secondary data path between the base station and the user device via the WLAN access point; means for determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and means for allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
  • a method may include providing a primary data path between a cellular base station and a user device;
  • wireless local area network WLAN
  • the user device is connected to both the base station and the WLAN access point; and sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
  • WLAN wireless local area network
  • an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to: provide a primary data path between a cellular base station and a user device; provide a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and send, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
  • WLAN wireless local area network
  • a computer program product may include a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method including providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
  • WLAN wireless local area network
  • an apparatus may include means for providing a primary data path between a cellular base station and a user device; means for providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and means for sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
  • WLAN wireless local area network
  • a method includes providing a primary data path between a cellular base station and a user device;
  • wireless local area network WLAN
  • the user device is connected to both the base station and the WLAN access point; receiving, by the user device from the base, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
  • WLAN wireless local area network
  • an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to: provide a primary data path between a cellular base station and a user device; provide a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receive, by the user device from the base station, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and forward, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
  • WLAN wireless local area network
  • a computer program product may include a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method including providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receiving, by the user device from the base station, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
  • WLAN wireless local area network
  • an apparatus may include means for providing a primary data path between a cellular base station and a user device; means for providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; means for receiving, by the user device from the base station, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and means for forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
  • WLAN wireless local area network
  • a method may include providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp; determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and sending, by the user device to the base station, information indicating the transmission delay for the secondary data path.
  • WLAN wireless local area network
  • an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to: provide a primary data path between a cellular base station and a user device; provide a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receive, by the user device from the base station over the secondary data path, a data packet including a time stamp; determine, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and send, by the user device to the base station, information indicating the transmission delay for the secondary data path.
  • WLAN wireless local area network
  • a computer program product may include a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method including: providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp; determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and sending, by the user device to the base station, information indicating the transmission delay for the secondary data path.
  • WLAN wireless local area network
  • an apparatus may include means for providing a primary data path between a cellular base station and a user device; means for providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp; determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and sending, by the user device to the base station, information indicating the transmission delay for the secondary data path
  • WLAN wireless local area network
  • FIG. 1 is a block diagram of a wireless network according to an example implementation.
  • FIG. 2 is a diagram illustrating cellular-WLAN aggregation where a bearer n is split between the base station (BS) and the WLAN access point (AP) according to an example implementation.
  • FIG. 3 is a diagram illustrating cellular-WLAN aggregation where a bearer n is forwarded by a base station to a user device via a WLAN access point (AP) according to an example implementation.
  • AP WLAN access point
  • FIG. 4 is a diagram illustrating a packet format where a timestamp field may be added to allow a transmission path delay to be estimated according to an example implementation.
  • FIG. 5 is a flow chart illustrating operation of a base station according to an example implementation.
  • FIG. 6 is a flow chart illustrating operation of a base station according to another example implementation.
  • FIG. 7 is a flow chart illustrating operation of a user device according to another example implementation.
  • FIG. 8 is a flow chart illustrating operation of a user device according to another example implementation.
  • FIG.9 is a block diagram of a wireless station or network device (e.g., base station/access point or mobile station/user device/user equipment) according to an example implementation.
  • a wireless station or network device e.g., base station/access point or mobile station/user device/user equipment
  • FIG. 1 is a block diagram of a wireless network 130 according to an example implementation.
  • user devices 131 , 132, 133 and 135, which may also be referred to as mobile stations (MSs) or user equipment (UEs) may be connected (and in communication) with a cellular base station (BS) 134, which may also be referred to as an Access Point (AP) or an enhanced Node B (eNB).
  • BS 134 may be, for example, a 4G (e.g., Long Term Evolution/LTE) or a 5G BS.
  • BS 134 provides wireless coverage within a cell 136, including to user devices 131 , 132, 133 and 135. Although only four user devices are shown as being connected or attached to BS 134, any number of user devices may be provided.
  • BS 134 is also connected to a core network 150 via a S1 interface 151. This is merely one simple example of a wireless network, and others may be used.
  • a user device may refer to a portable computing device that includes wireless mobile communication devices operating with or without a subscriber identification module (SIM), including, but not limited to, the following types of devices: a mobile station (MS), a mobile phone, a cell phone, a smartphone, a personal digital assistant (PDA), a handset, a device using a wireless modem (alarm or measurement device, etc.), a laptop and/or touch screen computer, a tablet, a phablet, a game console, a notebook, and a multimedia device, as examples.
  • SIM subscriber identification module
  • MS mobile station
  • PDA personal digital assistant
  • a handset a device using a wireless modem (alarm or measurement device, etc.)
  • a laptop and/or touch screen computer a tablet, a phablet, a game console, a notebook, and a multimedia device, as examples.
  • a user device may also be a nearly exclusive uplink only device, of which an example is a camera or video camera loading images or video clips to
  • core network 150 may be referred to as Evolved Packet Core (EPC), which may include a mobility management entity (MME) which may handle or assist with mobility/handover of user devices between BSs, one or more gateways that may forward data and control signals between the BSs and packet data networks or the Internet, and other control functions or blocks.
  • EPC Evolved Packet Core
  • MME mobility management entity
  • gateways may forward data and control signals between the BSs and packet data networks or the Internet, and other control functions or blocks.
  • a user device or UE such as user device (UD) 132
  • UD user device
  • WLAN wireless local area network
  • user UD 132 may be connected to BS 134 via a first wireless connection, and may be connected to WLAN AP 180 via a second wireless connection, which may be referred to as multi-connectivity, where UD 132 has multiple wireless connections.
  • a second wireless connection which may be referred to as multi-connectivity, where UD 132 has multiple wireless connections.
  • UD 132 may also be referred to as a multiple radio access technology (RAT), or multi-RAT wireless network because UD 132 is connected to (or has wireless connections to) different radio access technologies, e.g., including a first wireless connection to a first RAT (e.g., a connection to a cellular BS 134) and a second wireless connection to a second RAT (e.g., a connection to a WLAN AP 180).
  • RAT multiple radio access technology
  • the various example implementations may be applied to a wide variety of wireless technologies or wireless networks, such as 4G (e.g., LTE, LTE-A), 5G, cmWave, and/or mmWave band networks, wireless local area network (WLAN) networks, or any other wireless network.
  • 4G e.g., LTE, LTE-A
  • 5G e.g., 5G
  • cmWave e.g., LTE-A
  • WLAN wireless local area network
  • the various example implementations may be applied to any wireless technology/wireless network.
  • the example wireless network shown in FIG. 1 may provide or may implement a cellular (e.g., LTE)-WLAN aggregation, e.g., in which traffic to and from the user device 132 may sent/transmitted via one or both of the BS 134 and WLAN AP 180.
  • a cellular (e.g., LTE)-WLAN aggregation e.g., in which traffic to and from the user device 132 may sent/transmitted via one or both of the BS 134 and WLAN AP 180.
  • FIGs. 2 and 3 illustrate examples of cellular-WLAN aggregation.
  • FIG. 2 is a diagram illustrating cellular-WLAN aggregation where a bearer n is split between the base station (BS) and the WLAN access point (AP) according to an example
  • each network node may include a radio protocol stack that may include a plurality of protocol entities.
  • a protocol stack may include logic, and/or computer instructions executed by a processor to perform the functions or operations for each entity of the protocol stack.
  • one or more data bearers may deliver data packets to BS 134 from the core network 150 or other data source.
  • a data bearer may be established to provide data service between two or more points.
  • a bearer may be a virtual connection between a UD/UE and a packet gateway or other network node that identifies data sent and received between these (or other) two end points.
  • a data bearer may have a specific quality of service (QoS) or specific QoS attributes (e.g., minimum data rate, maximum latency, priority, or other QoS parameters).
  • QoS quality of service
  • QoS attributes e.g., minimum data rate, maximum latency, priority, or other QoS parameters
  • cellular BS 134 may receive IP (Internet Protocol) packets via bearer m, and IP packets via bearer n.
  • BS 134 may include a protocol stack that includes, for example, a Packet Data Convergence Protocol (PDCP) entity 220, and a Radio Link Control (RLC) entity 222 for each bearer, such as a PDCP entity 220M and a RLC entity 222M for bearer m, and a PDCP entity 222N and a RLC entity 222N for bearer n.
  • BS 134 may also include a Media Access Control (MAC) entity 224, and a Physical layer (PHY) entity (not shown).
  • MAC Media Access Control
  • PHY Physical layer
  • a PDCP entity 220 may perform ciphering (encryption and decryption of data) and header compression-decompression.
  • a RLC entity 222 may perform segmentation/concatenation, error detection and correction, data retransmission, duplicate detection and in-sequence data delivery to higher layers.
  • MAC entity 224 may perform multiplexing of logical channels (where there may be one or more logical channel per radio bearer), hybrid ARQ (automatic repeat request) retransmissions, inserting of MAC control elements (MAC CEs) used for in- band control signaling, and other MAC-related functions.
  • a BS MAC entity 224 may also perform uplink and downlink scheduling (located in MAC entity of each BS).
  • the MAC entity 224 may provide services to the RLC entities in the form of logical channels.
  • the PHY entity (not shown) handles or performs coding/decoding, modulation/demodulation, multi-antenna mapping, and other physical layer functions.
  • Multiple RLC entities within a BS may, for example, may share one MAC entity 224 and one PHY entity.
  • a WLAN AP 180 may also include a protocol stack that may include a MAC entity 240 that performs MAC related functions (e.g., error detection,
  • 802.11/WLAN PHY entity 242 that performs 802.11/WLAN PHY related functions (e.g., such as coding/decoding, modulation/demodulation).
  • one or more downlink data bearers may deliver data packets to BS 134 from core network 150.
  • Uplink data bearers may also be provided to send or delivery data packets from BS 134 to core network 150.
  • a data bearer may be established to provide data service between two or more points.
  • user device (UD) 132 FIG. 1
  • WLAN AP 180 e.g., which the use of multiple wireless connections may be referred to as multi-connectivity.
  • the connections between UD 132 and each of BS 134 and WLAN AP 180 may allow cellular-WLAN aggregation in which data/packets may be sent to/from UD 132 via one or both of the BS 134 and WLAN AP 180, for example.
  • data/packets sent to UD 132 may be aggregated over the UD-BS connection and the UD-WLAN AP connection.
  • Bearer m As shown in FIG. 2, two bearers (bearer m, bearer n) each deliver data packets to BS 134.
  • Bearer m packets are input and processed by PDCP 220M, RLC 222M and MAC 224, and then may be transmitted via a wireless link or wireless connection from BS 134 to UE/user device 132, for example.
  • Bearer n data packets may be received by BS 134.
  • data packets of a bearer (e.g., bearer n) received by BS 134 may be split by a traffic switch 250 into two paths, including a path 252A where data packets are processed and forwarded by BS 134 to UD 132, and a path 252B where packets are processed and forwarded by WLAN AP 180 to UD 132.
  • traffic switch 250 may be an Internet Protocol (IP) tunnel traffic switch that determines which IP packets to send via path 252A to BS 134, and which packets to send via path 252B to WLAN AP, for forwarding to the UD 132.
  • IP Internet Protocol
  • a security gateway (SecGW) 260 may be provided for cellular-WLAN aggregation tunnel mode.
  • Examples of a cellular-WLAN aggregation mode may include LTE-WLAN Aggregation (LWA) mode, and/or LWA-IP mode that may include an IP tunnel via the WLAN path.
  • LWA LTE-WLAN Aggregation
  • LWA-IP mode LTE-WLAN Aggregation
  • the security gateway 260 may establish a tunnel (e.g., IPSec tunnel) between security gateway 260 and UD 132.
  • IPSec tunnel terminates at the network side at the security gateway 260, and terminates at the other end of the tunnel at the UD 132.
  • Security gateway 260 may encapsulate each received IP packet by attaching an outer IP header, and then may encrypt the original/inner IP packet for securely forwarding the encapsulated packet via WLAN AP 180 to UD 132.
  • each encapsulated IP packet is forwarded by security gateway 260 via eNB-UE (or BS-UD) tunneled user plane 262 to WLAN AP 180, as shown in FIG. 2.
  • WLAN AP 180 may then transmit the encapsulated packet to the UD 132, where the UE may decapsulate the received packet, e.g., by stripping off the outer IP header and decrypting the inner IP packet based on the outer header attached by the security gateway 260, for example.
  • FIG. 3 is a diagram illustrating cellular-WLAN aggregation where a bearer n is forwarded by a base station to a user device via a WLAN access point (AP) according to an example implementation.
  • Data bearer m data packets are received and processed by BS 134, and then forwarded by BS 134 to UD 132. Also, as shown in FIG.
  • traffic switch 250 may forward/route all packets of data bearer n to WLAN AP 180.
  • the data packets of bearer n are received by WLAN AP 180 and then forwarded to UD 132.
  • FIGs. 2 and 3 illustrate different example implementations of how a traffic switch within BS 134 may handle bearer traffic, e.g., by splitting packets/data for a bearer n between BS 134 and WLAN AP 180 (FIG. 2), and then alternatively forwarding/routing all data/packets of bearer n to WLAN AP 180 (FIG. 3).
  • FIGs. 2 and 3 illustrate cellular-WLAN aggregation including downlink data bearers
  • data bearers and cellular-WLAN aggregation may also be provided for uplink data transmission.
  • UD 132 may send uplink data over a primary data path directly to BS 134, and/or may transmit data via a secondary data path via WLAN AP 180 to BS 134.
  • a tunnel (e.g., IPSec tunnel) may be provided over the secondary data path for uplink data to allow encryption/secure data transfer for uplink data, similar to the tunnel for the downlink data.
  • BS 134 may receive packets via both primary data path and secondary data path, and may re-order packets into the correct order, and then forward the data on to core network 150 or a gateway, for example.
  • BS 134 may allocate one or more bearers to either BS 134 or WLAN AP 180, and/or one or more bearers may be split between BS 134 and WLAN AP180.
  • BS 134 may allocate bearer m to BS 134, and may allocate bearer n to WLAN AP 180 (e.g., BS 134 may control traffic switch 250 to forward all packets of bearer n to WLAN AP for forwarding to UD 132).
  • BS 134 may instruct traffic switch 250 to split (in some fashion) data/packets for bearer n between BS 134 and WLAN AP 180.
  • even numbered packets of bearer n may be processed and forwarded by BS 180 to UD 132, while odd numbered packets of bearer n may be forwarded to UD 132 via WLAN AP 180.
  • This even/odd split is merely an illustrative example, and the data/packets may be split in any fashion.
  • the BS 134 may act/operate as a master node, while the WLAN AP 180 may operate as a slave node.
  • BS 134 may allocate data (e.g., including either data bearers, and/or data packets for a split bearer) for forwarding to the UD 132 between either: 1 ) a primary data path directly from the BS 134 to the UD 132 or 2) a secondary data path from the BS 134 to the UD 132 via the WLAN AP 180 (which may use a tunnel).
  • data e.g., including either data bearers, and/or data packets for a split bearer
  • the BS 134 may determine which bearers to allocate to the primary data path (directly from BS 134 to UD 132) and which (if any) data bearers to allocate to the secondary data path via WLAN AP 180.
  • BS 134 may also determine which data packets of split bearer to allocate or send via the primary and secondary data paths.
  • the WLAN 180 will not be able to provide information to the BS 134 related to the state or performance of the wireless connection/link between the WLAN AP 180 and the UD 132, such as flow control information related to the secondary data path.
  • information such as flow control information related to the secondary data path.
  • Various situations may arise where it would be beneficial, e.g., to provide flow control information or other information related to the state or performance of the wireless link/connection between the WLAN AP 180 and UD 132.
  • BS 134 may initially allocate bearer m to the primary data path from BS 134 to UD 132, and allocates bearer n to WLAN AP 180/secondary data path. However, due to loading on the WLAN AP 180, or if UD 132 moves farther away from WLAN AP 180 such that the performance of the WLAN link connection between WLAN AP 180 and UD 132 may deteriorate to a state where packets for bearer n are buffered at WLAN AP 180, but not being forwarded to UD 132 at a sufficient rate, or some of the packets of bearer n received at WLAN AP 180 may otherwise incur an unacceptable amount of delay in being forwarded to UD 132.
  • some packets at WLAN AP may be dropped/discarded if latency is excessive, e.g., due to deteriorating performance of the WLAN connection/link between WLAN AP 180 and UD 132.
  • BS 134 could switch or re-allocate bearer n from WLAN AP 180/secondary data path to the BS 134/primary data path.
  • bearer n may be split between BS 134 and WLAN AP 180, e.g., with (for example) half the packets for bearer n sent to UD 132 via the primary data path from BS 134, and with half the data packets for bearer n sent via the secondary data path from WLAN to UD 132.
  • the packet delay/latency for the secondary data path may become substantially greater than the primary data path delay/latency.
  • a substantial amount of packets for bearer n may arrive out of order at the UD 132, e.g., m due to the greater latency for the secondary data path via WLAN AP 180, as compared to the primary data path.
  • This disparity in network performance/latency between the BS 134/primary data path and the WLAN AP 180/secondary data path may create a substantial burden on a network entity (e.g., the transmission control protocol/TCP entity) at UD 132 that may reorder packets into the correct order before passing such data up to higher layers. As a result, this may create poor performance at the UD 132 for bearer n.
  • a network entity e.g., the transmission control protocol/TCP entity
  • BS 134 could allocate a greater percentage (e.g., 80%) of the data packets for bearer n to the BS 134/primary data path as the performance of the WLAN connection/link of the secondary data path degrades, for example.
  • a greater percentage e.g., 80%
  • an interface between WLAN AP 180 and BS 134 may not necessarily be provided.
  • FIG. 4 is a diagram illustrating a packet format where a timestamp field may be added to allow a transmission path delay to be estimated according to an example implementation.
  • BS 134 may receive an IP packet 410, including an original IP header 412 and a data portion 414.
  • Security gateway 260 may add an IPSec header 416 to allow encryption/protection of the IP packet 410.
  • BS 180 such as traffic switch 250 and/or security gateway 260 of BS 180 (or other entity in BS 180), may also add a timestamp to a timestamp field 418 to each (or one or more) received packet(s) that are sent to WLAN AP 180 for forwarding to the UD 132 via the secondary data path.
  • a timestamp may be added to a timestamp field within an outer IP header 420, e.g., where the timestamp may indicate a time (e.g., universal time) that the packet is received by or sent from the WLAN AP 180.
  • each IP packet 410 may be encapsulated by adding or attaching an IPSec header 416 and/or an outer IP header 420 (including a timestamp).
  • UD 132 may receive an IP packet(s) forwarded via the secondary data path/WLAN AP 180, and may generate a current timestamp indicating the time (e.g., universal time) that the packet is received by UD 132 via the secondary data path. The UD 132 may then compare (e.g., via subtraction of the two timestamps) the current timestamp to the timestamp attached to (or provided within) each IP packet to determine (or estimate) the transmission delay for the secondary data path between the WLAN AP 180 and the UD 132. UD 132 may then report the transmission delay for the secondary data path to the BS 134.
  • a current timestamp indicating the time (e.g., universal time) that the packet is received by UD 132 via the secondary data path.
  • the UD 132 may then compare (e.g., via subtraction of the two timestamps) the current timestamp to the timestamp attached to (or provided within) each IP packet to determine (or estimate) the transmission delay for the secondary
  • UD 132 may also, at least in some cases, determine or estimate a transmission delay for the primary data path.
  • BS 134 may add a timestamp to each packet that is sent via the primary data path to the UD 132, and UD 132 may generate a current timestamp indicating a time of receipt of each IP packet.
  • the UD 132 may then compare (e.g., via subtraction) the current timestamp to the timestamp attached to each IP packet that is sent via the primary data path in order to determine or estimate the transmission delay/latency for the primary data path.
  • UD 132 and/or BS 134 may also use other techniques to determine a transmission delay of the primary data path, e.g., by determining the amount of time between a transmission of a data packet from UD 132 to BS 134 until BS 134 receives an acknowledgement (ACK) or negative acknowledgement (NAK).
  • ACK acknowledgement
  • NAK negative acknowledgement
  • the data transmission-to-ACK/NAK delay (determined by the BS 134 or UD 132) for the primary data path is a round trip delay, which may be, for example, approximately twice the transmission delay from BS 132 to UD 132.
  • the UD 132 and/or BS 134 may divide the round trip delay by two to obtain an estimate of the primary data path latency/delay.
  • UD 132 may append a timestamp to an ACK/NAK, where the appended timestamp may indicate a time that the ACK/NAK was sent from the UD 132 to BS 134.
  • the BS 134 may then generate a timestamp indicating a time of receipt of the ACK/NAK, and then determine a primary path transmission delay based on the two timestamps.
  • the UD 132 may append a timestamp to an IP packet that is sent via the secondary data path/WLAN 180 to BS 134.
  • the BS 134 may then generate a timestamp indicating a time of receipt of the packet, and may estimate a secondary path transmission delay based on a difference between these two
  • BS 134 may send a control signal or a control packet to configure or instruct UD 132 to report primary and/or secondary data path delay(s) to BS 134, and/or to indicate one or more trigger conditions that will cause UD 132 to report the transmission delay for the secondary data path and/or primary data path to BS 134.
  • BS 134 may send a control signal to UD 132 to configure/request UD 132 to report a transmission delay (e.g., a secondary path transmission delay) for one or more of: every n th received packet (e.g., every 3 rd IP packet received by the UD 132 over the secondary data path); every x ms (e.g., send a transmission delay report for the secondary data path every 100 ms);
  • a transmission delay e.g., a secondary path transmission delay
  • the UD 132 may send a transmission delay report for the secondary path to the BS 134.
  • the UD 132 may: 1 ) receive one or more trigger conditions from the BS 134 that indicates when the UD 132 should send a transmission delay report to the BS 134; 2) monitor the transmission delay for the secondary data path, and may also monitor the primary path transmission delay (e.g., based on the indicated trigger conditions); 3) determine, e.g., for each IP packet received via the secondary data path/WLAN AP 180, whether any of the trigger conditions have been met; 4) send a transmission delay report (e.g., indicating secondary data path delay and possibly primary data path delay, or other information) to the BS 134; and 5) repeat operations 2) - 4).
  • a transmission delay report e.g., indicating secondary data path delay and possibly primary data path delay, or other information
  • BS 134 may receive a transmission delay report from the UD 132, e.g., indicating secondary data path delay and possibly primary data path delay, indicating that a specific trigger condition was met, or providing other information. BS 134 may then allocate data or change the allocation of data (e.g., one or more bearers and/or data packets) between the primary data path (between BS 134 and UD 132) and a secondary data path (between WLAN AP 180 and UD 132).
  • data or change the allocation of data e.g., one or more bearers and/or data packets
  • the BS 134 may allocate one of the bearers from the primary path to the secondary data path, or may allocate more data packets of a split bearer to be sent via the secondary data path/WLAN AP 180 to UD 132.
  • BS 134 may re-allocate a bearer from secondary data path back to the primary data path (back to BS 134), or may allocate more of the packets of a split bearer to be forwarded to UD 132 via the primary data path/BS 134 (instead of via the secondary data path/WLAN 180).
  • there may be multiple hops e.g., one or more other/intermediate switches or network devices provided between the BS 134 and the WLAN AP 180, a WLAN gateway (e.g., provided between the BS 134 and the WLAN AP 180) or other location.
  • a WLAN gateway e.g., provided between the BS 134 and the WLAN AP 180
  • one or more of the switches or network devices may also add a timestamp to a received packet before forwarding the packet to WLAN AP 180.
  • the UD 132 may use all of the received timestamps in a received packet to determine an overall/total secondary path transmission delay across the intermediate switches/devices and across the WLAN link/connection.
  • the UD 132 (or the BS 134, if such timestamps are forwarded to the BS 134) may also determine an intermediate (or partial path) delay along the secondary data path based on one or more of these timestamps, for example.
  • UD 132 may include all the timestamp information within the transmission delay report that is sent to the BS 134.
  • the transmission delay report sent by the UD 132 to BS 134 may include, for example, the both the original timestamp(s) added to a packet by intermediate switches/device (if any) and a timestamp added to a packet by the WLAN AP 180, and the current timestamp determined by the UD 132 indicating a time of receipt by UD 132 of the packet, and an IP address of each network switch/device and WLAN AP 180.
  • the BS 132 may control the UD as to what information should be included within the transmission delay report, e.g., just report a transmission delay, indicate which triggers caused the report to be sent, whether any timestamp data and/or IP addresses should be provided in the report, etc.
  • the BS 134/network may determine and configure one or more triggers or trigger conditions that cause the UD 132 to send a transmission delay report to BS 134.
  • the UD 132 itself may decide/determine any triggers/trigger conditions that may cause the UD to send a transmission delay report to BS 134.
  • BS 134 may send control signals/control packets (e.g., for the BS 134 to configure the UD 132 or indicate one or more trigger conditions) to UD 132 via either a primary data path or via a secondary data path/via WLAN AP 180.
  • FIG. 5 is a flow chart illustrating operation of a base station according to an example implementation.
  • the flow chart of FIG. 5 may illustrate a method of allocating data or bearers among multiple paths in a multi-radio access technology (multi-RAT) wireless network that includes a cellular base station and a wireless local area network (WLAN) access point that are connected to a user device.
  • multi-RAT multi-radio access technology
  • WLAN wireless local area network
  • Operation 510 includes providing a primary data path between the base station and the user device;
  • Operation 520 includes providing a secondary data path between the base station and the user device via the WLAN access point;
  • Operation 530 includes determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point;
  • Operation 540 includes allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
  • the secondary data path may include a tunnel that is provided between the base station and the user device via the WLAN access point.
  • the providing a primary data path may include establishing a first wireless connection between the base station and the user device, wherein the primary data path is provided between the base station and the user device; and wherein the providing a secondary data path may include establishing a tunnel between the base station and the user device via the WLAN access point, wherein a second wireless connection is provided between the WLAN access point and the user device, and wherein the secondary data path is provided between the base station and the user device via the tunnel and the WLAN access point.
  • the cellular base station may include either a 4G base station or a 5G base station.
  • the allocating data may include performing at least one of the following: allocating, for forwarding of data to the user device based on at least the transmission delay for the secondary data path, one or more data bearers to either the primary data path or the secondary data path; and allocating, for forwarding of data to the user device based on at least the transmission delay for the secondary data path, one or more data packets to either the primary data path or the secondary data path.
  • the determining a transmission delay may include: adding a timestamp to a header of a received data packet; forwarding the data packet from the base station to the user device over the secondary data path between the base station and the user device via the tunnel and the WLAN access point; and receiving, by the base station from the user device, information indicating the transmission delay for the secondary data path.
  • the method may further include determining a transmission delay for the primary data path provided between the base station and the user device; and comparing the transmission delay for the primary data path to the transmission data for the secondary data path; wherein the allocating may include allocating data, for forwarding to the user device based on the comparing, to either the primary data path or the secondary data path.
  • the method may further include sending, by the base station to the user device, an indication of one or more trigger conditions that will cause the user device to report the
  • the indication of one or more trigger conditions may include one or more of the following: an indication of one or more packets for which a time stamp should be added before forwarding; an indication of every nth packet for which a time stamp should be added before forwarding, where n is specified as part of the trigger condition; an indication of every x ms for which a time stamp should be added to a packet before forwarding, where x is specified as part of the trigger condition; when the transmission delay for the secondary data path is greater than a first threshold; when the transmission delay for the secondary data path is less than or equal to a second threshold; when the transmission delay for the secondary data path changes more than a third threshold; and when a difference between the transmission delay for the secondary data path and a transmission delay of the primary path is greater than a fourth threshold.
  • an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to: provide a primary data path between the base station and the user device; providing a secondary data path between the base station and the user device via the WLAN access point; determine a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and allocate data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
  • an apparatus may include means (e.g., 902A/902B and/or 904) for providing a primary data path between the base station and the user device; means (e.g., 902A 902B and/or 904) for providing a secondary data path between the base station and the user device via the WLAN access point; means (e.g., 902A 902B and/or 904) for determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and means (e.g., 902A 902B and/or 904) for allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
  • means e.g., 902A/902B and/or 904 for providing a primary data path between the base station and the user device
  • means e.g., 902A 902B and/or 904 for providing a secondary data path between the base station and the user device via the WLAN access point
  • FIG. 6 is a flow chart illustrating operation of a base station according to another example implementation.
  • Operation 610 includes providing a primary data path between a cellular base station and a user device;
  • operation 620 includes providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point;
  • Operation 630 includes sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
  • WLAN wireless local area network
  • a tunnel may be provided on the secondary data path between the base station and the user device via the WLAN access point.
  • the method may further include determining, by the base station based on a timestamp included in one or more data packets received from the user device via the secondary data path, a transmission delay for the secondary data.
  • the method may further include adjusting, by the base station based on the transmission delay for the secondary data path, a number of uplink resources granted to the user device for transmission over the primary data path between the user device and base station.
  • the method may further include determining, by the base station, a transmission delay for the primary data path; determining, by the base station based on a timestamp included in one or more data packets received from the user device via the secondary data path, a transmission delay for the secondary data path; comparing, by the base station, the delay for the primary data path to the delay for the secondary data path; and adjusting, by the base station based on the comparing, a number of uplink resources granted to the user device for transmission over the primary data path from the user device to the base station.
  • a computer program product includes a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method comprising: providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and sending, from the base station to the user device, an indication of one or more uplink data packets for which the base station should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
  • WLAN wireless local area network
  • an apparatus may include means (e.g., 902A/902B and/or 904) for providing a primary data path between a cellular base station and a user device; means (e.g., 902A 902B and/or 904) for providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and means (e.g., 902A/902B and/or 904) for sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
  • means e.g., 902A/902B and/or 904 for providing a primary data path between a cellular base station and a user device
  • means e.g., 902A 902B and/or 904 for providing a secondary data path between the base station
  • FIG. 7 is a flow chart illustrating operation of a user device according to another example implementation.
  • Operation 710 includes providing a primary data path between a cellular base station and a user device;
  • Operation 720 includes providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point;
  • Operation 730 includes receiving, by the user device from the base, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path;
  • Operation 740 includes forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
  • WLAN wireless local area network
  • a tunnel may be provided on the secondary data path between the base station and the user device via the WLAN access point.
  • an apparatus may include means (e.g., 902A/902B and/or 904) for providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; means (e.g., 902A 902B and/or 904) for receiving, by the user device from the base station, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and means (e.g., 902A/902B and/or 904) for forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
  • means e.g., 902A/902B and/or 904 for providing a primary data path between a cellular base station and a user device;
  • FIG. 8 is a flow chart illustrating operation of a user device according to another example implementation.
  • Operation 810 includes providing a primary data path between a cellular base station and a user device;
  • Operation 820 includes providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point;
  • Operation 830 includes receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp;
  • Operation 840 includes determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and
  • Operation 850 includes sending, by the user device to the base station, information indicating the transmission delay for the secondary data path.
  • an apparatus may include means (e.g., 902A/902B and/or 904) for providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; means (e.g., 902A/902B and/or 904) for receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp; means (e.g., 902A/902B and/or 904) for determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and, means (e.g., 902A/902B and/or 904) for sending, by the user device to the base station, information indicating the transmission delay for the secondary data path.
  • means e.g., 902A/902B and/or 904 for providing, by
  • FIG. 9 is a block diagram of a wireless station (e.g., base station, access point or user device, or other network device) 900 according to an example
  • the wireless station 900 may include, for example, one or two RF
  • each wireless transceiver includes a transmitter to transmit signals and a receiver to receive signals.
  • the wireless station also includes a processor or control unit/entity (controller) 904 to execute instructions or software and control transmission and receptions of signals, and a memory 906 to store data and/or instructions.
  • Processor 904 may also make decisions or determinations, generate frames, packets or messages for transmission, decode received frames or messages for further processing, and other tasks or functions described herein.
  • Processor 904 which may be a baseband processor, for example, may generate messages, packets, frames or other signals for transmission via wireless transceiver 902 (902A or 902B).
  • Processor 904 may control transmission of signals or messages over a wireless network, and may control the reception of signals or messages, etc., via a wireless network (e.g., after being down-converted by wireless transceiver 902, for example).
  • Processor 904 may be programmable and capable of executing software or other instructions stored in memory or on other computer media to perform the various tasks and functions described above, such as one or more of the tasks or methods described above.
  • Processor 904 may be (or may include), for example, hardware, programmable logic, a programmable processor that executes software or firmware, and/or any combination of these.
  • processor 904 and transceiver 902 together may be considered as a wireless transmitter/receiver system, for example.
  • a controller (or processor) 908 may execute software and instructions, and may provide overall control for the station 900, and may provide control for other systems not shown in FIG. 9, such as controlling input/output devices (e.g., display, keypad), and/or may execute software for one or more applications that may be provided on wireless station 900, such as, for example, an email program, audio/video applications, a word processor, a Voice over IP application, or other application or software.
  • a storage medium may be provided that includes stored instructions, which when executed by a controller or processor may result in the processor 904, or other controller or processor, performing one or more of the functions or tasks described above.
  • transceiver(s) 902A/902B may receive signals or data and/or transmit or send signals or data.
  • Processor 904 (and possibly transceivers 902A/902B) may control the RF or wireless transceiver 902A or 902B to receive, send, broadcast or transmit signals or data.
  • 5G Another example of a suitable communications system is the 5G concept. It is assumed that network architecture in 5G will be quite similar to that of the LTE-advanced. 5G is likely to use multiple input - multiple output (MIMO) antennas, many more base stations or nodes than the LTE (a so-called small cell concept), including macro sites operating in co-operation with smaller stations and perhaps also employing a variety of radio technologies for better coverage and enhanced data rates.
  • MIMO multiple input - multiple output
  • NFV network functions virtualization
  • a virtualized network function may comprise one or more virtual machines running computer program codes using standard or general type servers instead of customized hardware. Cloud computing or data storage may also be utilized. In radio communications this may mean node operations may be carried out, at least partly, in a server, host or node
  • node operations will be distributed among a plurality of servers, nodes or hosts. It should also be understood that the distribution of labour between core network operations and base station operations may differ from that of the LTE or even be non-existent.
  • Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Implementations may implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, a data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. Implementations may also be provided on a computer readable medium or computer readable storage medium, which may be a non-transitory medium. Implementations of the various techniques may also include implementations provided via transitory signals or media, and/or programs and/or software
  • implementations that are downloadable via the Internet or other network(s), either wired networks and/or wireless networks.
  • implementations may be provided via machine type communications (MTC), and also via an Internet of Things (IOT).
  • MTC machine type communications
  • IOT Internet of Things
  • the computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, distribution medium, or computer readable medium, which may be any entity or device capable of carrying the program.
  • carrier include a record medium, computer memory, readonly memory, photoelectrical and/or electrical carrier signal, telecommunications signal, and software distribution package, for example.
  • the computer program may be executed in a single electronic digital computer or it may be distributed amongst a number of computers.
  • implementations of the various techniques described herein may use a cyber-physical system (CPS) (a system of collaborating computational elements controlling physical entities).
  • CPS may enable the implementation and exploitation of massive amounts of interconnected ICT devices (sensors, actuators, processors microcontrollers, etc embedded in physical objects at different locations.
  • ICT devices sensors, actuators, processors microcontrollers, etc.
  • Mobile cyber physical systems in which the physical system in question has inherent mobility, are a subcategory of cyber-physical systems. Examples of mobile physical systems include mobile robotics and electronics transported by humans or animals. The rise in popularity of smartphones has increased interest in the area of mobile cyber- physical systems. Therefore, various implementations of techniques described herein may be provided via one or more of these technologies.
  • a computer program such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit or part of it suitable for use in a computing environment.
  • a computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
  • Method steps may be performed by one or more programmable processors executing a computer program or computer program portions to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
  • FPGA field programmable gate array
  • ASIC application-specific integrated circuit
  • processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer, chip or chipset.
  • a processor will receive instructions and data from a read-only memory or a random access memory or both.
  • Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data.
  • a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
  • Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
  • the processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.
  • implementations may be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and a user interface, such as a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
  • a display device e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor
  • a user interface such as a keyboard and a pointing device, e.g., a mouse or a trackball
  • Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
  • Implementations may be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation, or any combination of such back-end, middleware, or front-end components.
  • Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of
  • communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
  • LAN local area network
  • WAN wide area network

Abstract

A technique is provided for allocating data or bearers among multiple paths in a multi-radio access technology (multi-RAT) wireless network that includes a cellular base station and a wireless local area network (WLAN) access point that are connected to a user device, the technique including: providing a primary data path between the base station and the user device, providing a secondary data path between the base station and the user device via the WLAN access point, determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point, and allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.

Description

DESCRIPTION
TITLE
INITIATING MEASURING, REPORTING AND/OR USE OF SECONDARY PATH DELAY TO ALLOCATE PACKETS OR BEARERS AMONG PRIMARY PATH AND SECONDARY PATH IN WIRELESS NETWORK
TECHNICAL FIELD
[0001] This description relates to communications.
BACKGROUND
[0002] A communication system may be a facility that enables communication between two or more nodes or devices, such as fixed or mobile communication devices. Signals can be carried on wired or wireless carriers.
[0003] An example of a cellular communication system is an architecture that is being standardized by the 3rd Generation Partnership Project (3GPP). A recent development in this field is often referred to as the long-term evolution (LTE) of the Universal Mobile Telecommunications System (UMTS) radio-access technology. E- UTRA (evolved UMTS Terrestrial Radio Access) is the air interface of 3GPP's Long Term Evolution (LTE) upgrade path for mobile networks. In LTE, base stations or access points (APs), which are referred to as enhanced Node AP (eNBs), provide wireless access within a coverage area or cell. In LTE, mobile devices, or mobile stations are referred to as user equipments (UE). LTE has included a number of improvements or developments.
[0004] A global bandwidth shortage facing wireless carriers has motivated the consideration of the underutilized millimeter wave (mmWave) frequency spectrum for future broadband cellular communication networks, for example. mmWave (or extremely high frequency) may, for example, include the frequency range between 30 and 300 gigahertz (GHz). Radio waves in this band may, for example, have wavelengths from ten to one millimeters, giving it the name millimeter band or millimeter wave. The amount of wireless data will likely significantly increase in the coming years. Various techniques have been used in attempt to address this challenge including obtaining more spectrum, having smaller cell sizes, and using improved technologies enabling more bits/s/Hz, and/or allowing a more efficient use of resources. One element that may be used to obtain more spectrum is to move to higher frequencies, above 6 GHz. For fifth generation wireless systems (5G), an access architecture for deployment of cellular radio equipment employing mmWave radio spectrum has been proposed. Other example spectrums may also be used, such as cmWave radio spectrum (3-30 GHz).
SUMMARY
[0005] According to an example implementation, a method may is provided for allocating data or bearers among multiple paths in a multi-radio access technology (multi-RAT) wireless network that includes a cellular base station and a wireless local area network (WLAN) access point that are connected to a user device, the method including: providing a primary data path between the base station and the user device; providing a secondary data path between the base station and the user device via the WLAN access point; determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
[0006] According to another example implementation, an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to:, provide a primary data path between the base station and the user device; provide a secondary data path between the base station and the user device via the WLAN access point; determine a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and allocate data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
[0007] According to another example implementation, a computer program product may include a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method including providing a primary data path between the base station and the user device; providing a secondary data path between the base station and the user device via the WLAN access point; determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
[0008] According to an example implementation, an apparatus may include means for providing a primary data path between the base station and the user device; means for providing a secondary data path between the base station and the user device via the WLAN access point; means for determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and means for allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
[0009] According to another example implementation, a method may include providing a primary data path between a cellular base station and a user device;
providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
[0010] According to another example implementation, an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to: provide a primary data path between a cellular base station and a user device; provide a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and send, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
[0011] According to another example implementation, a computer program product may include a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method including providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
[0012] According to an example implementation, an apparatus may include means for providing a primary data path between a cellular base station and a user device; means for providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and means for sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
[0013] According to another example implementation, a method includes providing a primary data path between a cellular base station and a user device;
providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receiving, by the user device from the base, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
[0014] According to another example implementation, an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to: provide a primary data path between a cellular base station and a user device; provide a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receive, by the user device from the base station, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and forward, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
[0015] According to another example implementation, a computer program product may include a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method including providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receiving, by the user device from the base station, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
[0016] According to an example implementation, an apparatus may include means for providing a primary data path between a cellular base station and a user device; means for providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; means for receiving, by the user device from the base station, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and means for forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
[0017] According to an example implementation, a method may include providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp; determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and sending, by the user device to the base station, information indicating the transmission delay for the secondary data path.
[0018] According to another example implementation, an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to: provide a primary data path between a cellular base station and a user device; provide a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receive, by the user device from the base station over the secondary data path, a data packet including a time stamp; determine, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and send, by the user device to the base station, information indicating the transmission delay for the secondary data path.
[0019] According to another example implementation, a computer program product may include a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method including: providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp; determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and sending, by the user device to the base station, information indicating the transmission delay for the secondary data path.
[0020] According to an example implementation, an apparatus may include means for providing a primary data path between a cellular base station and a user device; means for providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp; determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and sending, by the user device to the base station, information indicating the transmission delay for the secondary data path
[0021] The details of one or more examples of implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] FIG. 1 is a block diagram of a wireless network according to an example implementation.
[0023] FIG. 2 is a diagram illustrating cellular-WLAN aggregation where a bearer n is split between the base station (BS) and the WLAN access point (AP) according to an example implementation.
[0024] FIG. 3 is a diagram illustrating cellular-WLAN aggregation where a bearer n is forwarded by a base station to a user device via a WLAN access point (AP) according to an example implementation.
[0025] FIG. 4 is a diagram illustrating a packet format where a timestamp field may be added to allow a transmission path delay to be estimated according to an example implementation.
[0026] FIG. 5 is a flow chart illustrating operation of a base station according to an example implementation.
[0027] FIG. 6 is a flow chart illustrating operation of a base station according to another example implementation.
[0028] FIG. 7 is a flow chart illustrating operation of a user device according to another example implementation.
[0029] FIG. 8 is a flow chart illustrating operation of a user device according to another example implementation.
[0030] FIG.9 is a block diagram of a wireless station or network device (e.g., base station/access point or mobile station/user device/user equipment) according to an example implementation.
DETAILED DESCRIPTION
[0031] FIG. 1 is a block diagram of a wireless network 130 according to an example implementation. In the wireless network 130 of FIG. 1 , user devices 131 , 132, 133 and 135, which may also be referred to as mobile stations (MSs) or user equipment (UEs), may be connected (and in communication) with a cellular base station (BS) 134, which may also be referred to as an Access Point (AP) or an enhanced Node B (eNB). BS 134 may be, for example, a 4G (e.g., Long Term Evolution/LTE) or a 5G BS. At least part of the functionalities of a base station (BS), access point (AP) or (e)Node B (eNB) may be also be carried out by any node, server or host which may be operably coupled to a transceiver, such as a remote radio head. BS 134 provides wireless coverage within a cell 136, including to user devices 131 , 132, 133 and 135. Although only four user devices are shown as being connected or attached to BS 134, any number of user devices may be provided. BS 134 is also connected to a core network 150 via a S1 interface 151. This is merely one simple example of a wireless network, and others may be used.
[0032] A user device (or user terminal, or user equipment (UE)) may refer to a portable computing device that includes wireless mobile communication devices operating with or without a subscriber identification module (SIM), including, but not limited to, the following types of devices: a mobile station (MS), a mobile phone, a cell phone, a smartphone, a personal digital assistant (PDA), a handset, a device using a wireless modem (alarm or measurement device, etc.), a laptop and/or touch screen computer, a tablet, a phablet, a game console, a notebook, and a multimedia device, as examples. It should be appreciated that a user device may also be a nearly exclusive uplink only device, of which an example is a camera or video camera loading images or video clips to a network. A user device may also be referred to herein as a user equipment (UE).
[0033] In LTE (as an example), core network 150 may be referred to as Evolved Packet Core (EPC), which may include a mobility management entity (MME) which may handle or assist with mobility/handover of user devices between BSs, one or more gateways that may forward data and control signals between the BSs and packet data networks or the Internet, and other control functions or blocks.
[0034] According to an example implementation, a user device or UE, such as user device (UD) 132, may be connected (or may have wireless connections) to both a cellular (e.g., 4G or 5G) BS 134 and a wireless local area network (WLAN) access point (WLAN AP) 180. Thus, user UD 132 may be connected to BS 134 via a first wireless connection, and may be connected to WLAN AP 180 via a second wireless connection, which may be referred to as multi-connectivity, where UD 132 has multiple wireless connections. In addition, the network shown in FIG. 1 may also be referred to as a multiple radio access technology (RAT), or multi-RAT wireless network because UD 132 is connected to (or has wireless connections to) different radio access technologies, e.g., including a first wireless connection to a first RAT (e.g., a connection to a cellular BS 134) and a second wireless connection to a second RAT (e.g., a connection to a WLAN AP 180).
[0035] The various example implementations may be applied to a wide variety of wireless technologies or wireless networks, such as 4G (e.g., LTE, LTE-A), 5G, cmWave, and/or mmWave band networks, wireless local area network (WLAN) networks, or any other wireless network. LTE, 5G, WLAN, cmWave and mmWave band networks are provided only as illustrative examples, and the various example implementations may be applied to any wireless technology/wireless network.
[0036] According to an example implementation, the example wireless network shown in FIG. 1 may provide or may implement a cellular (e.g., LTE)-WLAN aggregation, e.g., in which traffic to and from the user device 132 may sent/transmitted via one or both of the BS 134 and WLAN AP 180.
[0037] FIGs. 2 and 3 illustrate examples of cellular-WLAN aggregation. FIG. 2 is a diagram illustrating cellular-WLAN aggregation where a bearer n is split between the base station (BS) and the WLAN access point (AP) according to an example
implementation. According to an example implementation, each network node (user device, cellular base station/BS or WLAN access point/AP) may include a radio protocol stack that may include a plurality of protocol entities. According to an example implementation, a protocol stack may include logic, and/or computer instructions executed by a processor to perform the functions or operations for each entity of the protocol stack.
[0038] According to an example implementation, one or more data bearers (e.g., from core network 150 or via a gateway) may deliver data packets to BS 134 from the core network 150 or other data source. A data bearer may be established to provide data service between two or more points. For example, a bearer may be a virtual connection between a UD/UE and a packet gateway or other network node that identifies data sent and received between these (or other) two end points. A data bearer may have a specific quality of service (QoS) or specific QoS attributes (e.g., minimum data rate, maximum latency, priority, or other QoS parameters). For example, referring to FIG. 2, cellular BS 134 may receive IP (Internet Protocol) packets via bearer m, and IP packets via bearer n. BS 134 may include a protocol stack that includes, for example, a Packet Data Convergence Protocol (PDCP) entity 220, and a Radio Link Control (RLC) entity 222 for each bearer, such as a PDCP entity 220M and a RLC entity 222M for bearer m, and a PDCP entity 222N and a RLC entity 222N for bearer n. BS 134 may also include a Media Access Control (MAC) entity 224, and a Physical layer (PHY) entity (not shown).
[0039] According to an example implementation, a PDCP entity 220 may perform ciphering (encryption and decryption of data) and header compression-decompression. A RLC entity 222 may perform segmentation/concatenation, error detection and correction, data retransmission, duplicate detection and in-sequence data delivery to higher layers. MAC entity 224 may perform multiplexing of logical channels (where there may be one or more logical channel per radio bearer), hybrid ARQ (automatic repeat request) retransmissions, inserting of MAC control elements (MAC CEs) used for in- band control signaling, and other MAC-related functions. A BS MAC entity 224 may also perform uplink and downlink scheduling (located in MAC entity of each BS). The MAC entity 224 may provide services to the RLC entities in the form of logical channels. The PHY entity (not shown) handles or performs coding/decoding, modulation/demodulation, multi-antenna mapping, and other physical layer functions. Multiple RLC entities within a BS may, for example, may share one MAC entity 224 and one PHY entity.
[0040] A WLAN AP 180 may also include a protocol stack that may include a MAC entity 240 that performs MAC related functions (e.g., error detection,
retransmissions), and a 802.11/WLAN PHY entity 242 that performs 802.11/WLAN PHY related functions (e.g., such as coding/decoding, modulation/demodulation).
[0041] According to an example implementation, one or more downlink data bearers (e.g., from core network 150 or via a gateway) may deliver data packets to BS 134 from core network 150. Uplink data bearers (not shown) may also be provided to send or delivery data packets from BS 134 to core network 150. A data bearer may be established to provide data service between two or more points. According to an example implementation, user device (UD) 132 (FIG. 1 ) is connected to both BS 134 and WLAN AP 180, e.g., which the use of multiple wireless connections may be referred to as multi-connectivity.
[0042] The connections between UD 132 and each of BS 134 and WLAN AP 180 may allow cellular-WLAN aggregation in which data/packets may be sent to/from UD 132 via one or both of the BS 134 and WLAN AP 180, for example. For example, data/packets sent to UD 132 may be aggregated over the UD-BS connection and the UD-WLAN AP connection.
[0043] As shown in FIG. 2, two bearers (bearer m, bearer n) each deliver data packets to BS 134. Bearer m packets are input and processed by PDCP 220M, RLC 222M and MAC 224, and then may be transmitted via a wireless link or wireless connection from BS 134 to UE/user device 132, for example. Bearer n data packets may be received by BS 134. Referring to FIG. 2, according to an example
implementation, data packets of a bearer (e.g., bearer n) received by BS 134 may be split by a traffic switch 250 into two paths, including a path 252A where data packets are processed and forwarded by BS 134 to UD 132, and a path 252B where packets are processed and forwarded by WLAN AP 180 to UD 132. In an example implementation, traffic switch 250 may be an Internet Protocol (IP) tunnel traffic switch that determines which IP packets to send via path 252A to BS 134, and which packets to send via path 252B to WLAN AP, for forwarding to the UD 132. A security gateway (SecGW) 260 may be provided for cellular-WLAN aggregation tunnel mode. Examples of a cellular-WLAN aggregation mode may include LTE-WLAN Aggregation (LWA) mode, and/or LWA-IP mode that may include an IP tunnel via the WLAN path. The security gateway 260 may establish a tunnel (e.g., IPSec tunnel) between security gateway 260 and UD 132. Thus, the IPSec tunnel terminates at the network side at the security gateway 260, and terminates at the other end of the tunnel at the UD 132.
[0044] Security gateway 260 may encapsulate each received IP packet by attaching an outer IP header, and then may encrypt the original/inner IP packet for securely forwarding the encapsulated packet via WLAN AP 180 to UD 132. Thus, each encapsulated IP packet is forwarded by security gateway 260 via eNB-UE (or BS-UD) tunneled user plane 262 to WLAN AP 180, as shown in FIG. 2. WLAN AP 180 may then transmit the encapsulated packet to the UD 132, where the UE may decapsulate the received packet, e.g., by stripping off the outer IP header and decrypting the inner IP packet based on the outer header attached by the security gateway 260, for example. In an example implementation, a data path directly from the BS 134 to the UD 132 may be referred to as a primary data path, while the path from BS 134 to UD 132 via WLAN AP 180 (which may or may not include a tunnel) may be referred to as a secondary path. [0045] FIG. 3 is a diagram illustrating cellular-WLAN aggregation where a bearer n is forwarded by a base station to a user device via a WLAN access point (AP) according to an example implementation. Data bearer m data packets are received and processed by BS 134, and then forwarded by BS 134 to UD 132. Also, as shown in FIG. 3, in this illustrative example implementation, traffic switch 250 may forward/route all packets of data bearer n to WLAN AP 180. Thus, the data packets of bearer n are received by WLAN AP 180 and then forwarded to UD 132. Thus, for example, FIGs. 2 and 3 illustrate different example implementations of how a traffic switch within BS 134 may handle bearer traffic, e.g., by splitting packets/data for a bearer n between BS 134 and WLAN AP 180 (FIG. 2), and then alternatively forwarding/routing all data/packets of bearer n to WLAN AP 180 (FIG. 3).
[0046] While FIGs. 2 and 3 illustrate cellular-WLAN aggregation including downlink data bearers, data bearers and cellular-WLAN aggregation may also be provided for uplink data transmission. In such a case for uplink data aggregation, UD 132 may send uplink data over a primary data path directly to BS 134, and/or may transmit data via a secondary data path via WLAN AP 180 to BS 134. A tunnel (e.g., IPSec tunnel) may be provided over the secondary data path for uplink data to allow encryption/secure data transfer for uplink data, similar to the tunnel for the downlink data. BS 134 may receive packets via both primary data path and secondary data path, and may re-order packets into the correct order, and then forward the data on to core network 150 or a gateway, for example.
[0047] According to an example implementation, BS 134 may allocate one or more bearers to either BS 134 or WLAN AP 180, and/or one or more bearers may be split between BS 134 and WLAN AP180. For example, as shown in FIG. 3, BS 134 may allocate bearer m to BS 134, and may allocate bearer n to WLAN AP 180 (e.g., BS 134 may control traffic switch 250 to forward all packets of bearer n to WLAN AP for forwarding to UD 132). Also, for example, as shown in FIG. 2, BS 134 may instruct traffic switch 250 to split (in some fashion) data/packets for bearer n between BS 134 and WLAN AP 180. According to an illustrative example, even numbered packets of bearer n may be processed and forwarded by BS 180 to UD 132, while odd numbered packets of bearer n may be forwarded to UD 132 via WLAN AP 180. This even/odd split is merely an illustrative example, and the data/packets may be split in any fashion.
[0048] According to an example implementation of cellular-WLAN aggregation, the BS 134 may act/operate as a master node, while the WLAN AP 180 may operate as a slave node. According to an example implementation, as the master node for the data aggregation, BS 134 may allocate data (e.g., including either data bearers, and/or data packets for a split bearer) for forwarding to the UD 132 between either: 1 ) a primary data path directly from the BS 134 to the UD 132 or 2) a secondary data path from the BS 134 to the UD 132 via the WLAN AP 180 (which may use a tunnel).
[0049] Thus, for example, the BS 134, as the master node for the aggregation, may determine which bearers to allocate to the primary data path (directly from BS 134 to UD 132) and which (if any) data bearers to allocate to the secondary data path via WLAN AP 180. In the case where a bearer (e.g., bearer n, FIG. 2) is split between the primary data path and a secondary data path, BS 134 may also determine which data packets of split bearer to allocate or send via the primary and secondary data paths.
[0050] However, if there is no interface between the BS 134 and WLAN 180, the WLAN 180 will not be able to provide information to the BS 134 related to the state or performance of the wireless connection/link between the WLAN AP 180 and the UD 132, such as flow control information related to the secondary data path. Various situations may arise where it would be beneficial, e.g., to provide flow control information or other information related to the state or performance of the wireless link/connection between the WLAN AP 180 and UD 132.
[0051] In one illustrative example, as shown in FIG. 3, BS 134 may initially allocate bearer m to the primary data path from BS 134 to UD 132, and allocates bearer n to WLAN AP 180/secondary data path. However, due to loading on the WLAN AP 180, or if UD 132 moves farther away from WLAN AP 180 such that the performance of the WLAN link connection between WLAN AP 180 and UD 132 may deteriorate to a state where packets for bearer n are buffered at WLAN AP 180, but not being forwarded to UD 132 at a sufficient rate, or some of the packets of bearer n received at WLAN AP 180 may otherwise incur an unacceptable amount of delay in being forwarded to UD 132. In such a case, some packets at WLAN AP may be dropped/discarded if latency is excessive, e.g., due to deteriorating performance of the WLAN connection/link between WLAN AP 180 and UD 132. In such a condition, if flow control or other network information related to performance or state of the WLAN link/connection were made available to BS 134, then BS 134 could switch or re-allocate bearer n from WLAN AP 180/secondary data path to the BS 134/primary data path.
[0052] In another illustrative example, as shown in FIG. 2, bearer n may be split between BS 134 and WLAN AP 180, e.g., with (for example) half the packets for bearer n sent to UD 132 via the primary data path from BS 134, and with half the data packets for bearer n sent via the secondary data path from WLAN to UD 132. However, if the WLAN link/connection between WLAN AP 180 and UD 132 deteriorates, then the packet delay/latency for the secondary data path may become substantially greater than the primary data path delay/latency. In such a case, for example, a substantial amount of packets for bearer n may arrive out of order at the UD 132, e.g., m due to the greater latency for the secondary data path via WLAN AP 180, as compared to the primary data path. This disparity in network performance/latency between the BS 134/primary data path and the WLAN AP 180/secondary data path may create a substantial burden on a network entity (e.g., the transmission control protocol/TCP entity) at UD 132 that may reorder packets into the correct order before passing such data up to higher layers. As a result, this may create poor performance at the UD 132 for bearer n. If flow control or other network state information related to the secondary data path/WLAN AP 180 were made available to BS 134, then BS 134 could allocate a greater percentage (e.g., 80%) of the data packets for bearer n to the BS 134/primary data path as the performance of the WLAN connection/link of the secondary data path degrades, for example. However, as noted, in some cases, e.g., in the case of a legacy WLAN AP, an interface between WLAN AP 180 and BS 134 may not necessarily be provided.
[0053] FIG. 4 is a diagram illustrating a packet format where a timestamp field may be added to allow a transmission path delay to be estimated according to an example implementation. BS 134 may receive an IP packet 410, including an original IP header 412 and a data portion 414. Security gateway 260 may add an IPSec header 416 to allow encryption/protection of the IP packet 410. According to an example implementation, BS 180, such as traffic switch 250 and/or security gateway 260 of BS 180 (or other entity in BS 180), may also add a timestamp to a timestamp field 418 to each (or one or more) received packet(s) that are sent to WLAN AP 180 for forwarding to the UD 132 via the secondary data path. For example, a timestamp may be added to a timestamp field within an outer IP header 420, e.g., where the timestamp may indicate a time (e.g., universal time) that the packet is received by or sent from the WLAN AP 180. Thus, each IP packet 410 may be encapsulated by adding or attaching an IPSec header 416 and/or an outer IP header 420 (including a timestamp).
[0054] According to an example implementation, UD 132 may receive an IP packet(s) forwarded via the secondary data path/WLAN AP 180, and may generate a current timestamp indicating the time (e.g., universal time) that the packet is received by UD 132 via the secondary data path. The UD 132 may then compare (e.g., via subtraction of the two timestamps) the current timestamp to the timestamp attached to (or provided within) each IP packet to determine (or estimate) the transmission delay for the secondary data path between the WLAN AP 180 and the UD 132. UD 132 may then report the transmission delay for the secondary data path to the BS 134.
[0055] UD 132 may also, at least in some cases, determine or estimate a transmission delay for the primary data path. In one illustrative example, BS 134 may add a timestamp to each packet that is sent via the primary data path to the UD 132, and UD 132 may generate a current timestamp indicating a time of receipt of each IP packet. The UD 132 may then compare (e.g., via subtraction) the current timestamp to the timestamp attached to each IP packet that is sent via the primary data path in order to determine or estimate the transmission delay/latency for the primary data path. UD 132 and/or BS 134 may also use other techniques to determine a transmission delay of the primary data path, e.g., by determining the amount of time between a transmission of a data packet from UD 132 to BS 134 until BS 134 receives an acknowledgement (ACK) or negative acknowledgement (NAK). Although the data transmission-to-ACK/NAK delay (determined by the BS 134 or UD 132) for the primary data path is a round trip delay, which may be, for example, approximately twice the transmission delay from BS 132 to UD 132. Thus, in the event the data transmission-to-ACK/NAK delay is used to determine/estimate the primary data path delay, the UD 132 and/or BS 134 may divide the round trip delay by two to obtain an estimate of the primary data path latency/delay.
[0056] According to an example implementation, to allow BS 134 to estimate a primary path transmission delay, UD 132 may append a timestamp to an ACK/NAK, where the appended timestamp may indicate a time that the ACK/NAK was sent from the UD 132 to BS 134. The BS 134 may then generate a timestamp indicating a time of receipt of the ACK/NAK, and then determine a primary path transmission delay based on the two timestamps.
[0057] Also, in the uplink direction, the UD 132 may append a timestamp to an IP packet that is sent via the secondary data path/WLAN 180 to BS 134. The BS 134 may then generate a timestamp indicating a time of receipt of the packet, and may estimate a secondary path transmission delay based on a difference between these two
timestamps.
[0058] According to an example implementation, BS 134 may send a control signal or a control packet to configure or instruct UD 132 to report primary and/or secondary data path delay(s) to BS 134, and/or to indicate one or more trigger conditions that will cause UD 132 to report the transmission delay for the secondary data path and/or primary data path to BS 134. For example, BS 134 may send a control signal to UD 132 to configure/request UD 132 to report a transmission delay (e.g., a secondary path transmission delay) for one or more of: every nth received packet (e.g., every 3rd IP packet received by the UD 132 over the secondary data path); every x ms (e.g., send a transmission delay report for the secondary data path every 100 ms);
whenever the transmission delay for the secondary data path is greater than a threshold (e.g., greater than 20 ms); whenever the transmission delay of the secondary data path changes (increases or decreases) by more than a threshold; when the difference between the transmission delay for the secondary data path and the transmission delay of the primary data path is greater than a threshold or changes by more than a threshold amount; or other trigger condition. In an example implementation, when any of these trigger conditions are met at the UD 132, the UD 132 may send a transmission delay report for the secondary path to the BS 134.
[0059] According to an example implementation, the UD 132 may: 1 ) receive one or more trigger conditions from the BS 134 that indicates when the UD 132 should send a transmission delay report to the BS 134; 2) monitor the transmission delay for the secondary data path, and may also monitor the primary path transmission delay (e.g., based on the indicated trigger conditions); 3) determine, e.g., for each IP packet received via the secondary data path/WLAN AP 180, whether any of the trigger conditions have been met; 4) send a transmission delay report (e.g., indicating secondary data path delay and possibly primary data path delay, or other information) to the BS 134; and 5) repeat operations 2) - 4).
[0060] BS 134 may receive a transmission delay report from the UD 132, e.g., indicating secondary data path delay and possibly primary data path delay, indicating that a specific trigger condition was met, or providing other information. BS 134 may then allocate data or change the allocation of data (e.g., one or more bearers and/or data packets) between the primary data path (between BS 134 and UD 132) and a secondary data path (between WLAN AP 180 and UD 132). For example, if the quality of the WLAN link improves, e.g., as indicated by a decreasing secondary path transmission delay that is now less than a threshold or below the primary path transmission delay, then the BS 134 may allocate one of the bearers from the primary path to the secondary data path, or may allocate more data packets of a split bearer to be sent via the secondary data path/WLAN AP 180 to UD 132. On the other hand, if the quality of the WLAN link/secondary data path degrades, e.g., as indicated by a secondary path transmission delay that is greater than a threshold or greater than a primary path transmission delay, then BS 134 may re-allocate a bearer from secondary data path back to the primary data path (back to BS 134), or may allocate more of the packets of a split bearer to be forwarded to UD 132 via the primary data path/BS 134 (instead of via the secondary data path/WLAN 180).
[0061] According to another example implementation, there may be multiple hops, e.g., one or more other/intermediate switches or network devices provided between the BS 134 and the WLAN AP 180, a WLAN gateway (e.g., provided between the BS 134 and the WLAN AP 180) or other location. Thus, one or more of the switches or network devices may also add a timestamp to a received packet before forwarding the packet to WLAN AP 180. The UD 132 may use all of the received timestamps in a received packet to determine an overall/total secondary path transmission delay across the intermediate switches/devices and across the WLAN link/connection. For example, the UD 132 (or the BS 134, if such timestamps are forwarded to the BS 134) may also determine an intermediate (or partial path) delay along the secondary data path based on one or more of these timestamps, for example.
[0062] According to an example implementation, UD 132 may include all the timestamp information within the transmission delay report that is sent to the BS 134. Thus, the transmission delay report sent by the UD 132 to BS 134 may include, for example, the both the original timestamp(s) added to a packet by intermediate switches/device (if any) and a timestamp added to a packet by the WLAN AP 180, and the current timestamp determined by the UD 132 indicating a time of receipt by UD 132 of the packet, and an IP address of each network switch/device and WLAN AP 180. According to an example implementation, the BS 132 may control the UD as to what information should be included within the transmission delay report, e.g., just report a transmission delay, indicate which triggers caused the report to be sent, whether any timestamp data and/or IP addresses should be provided in the report, etc.
[0063] In an example implementation, the BS 134/network may determine and configure one or more triggers or trigger conditions that cause the UD 132 to send a transmission delay report to BS 134. In another example implementation, the UD 132 itself may decide/determine any triggers/trigger conditions that may cause the UD to send a transmission delay report to BS 134. BS 134 may send control signals/control packets (e.g., for the BS 134 to configure the UD 132 or indicate one or more trigger conditions) to UD 132 via either a primary data path or via a secondary data path/via WLAN AP 180.
[0064] FIG. 5 is a flow chart illustrating operation of a base station according to an example implementation. The flow chart of FIG. 5 may illustrate a method of allocating data or bearers among multiple paths in a multi-radio access technology (multi-RAT) wireless network that includes a cellular base station and a wireless local area network (WLAN) access point that are connected to a user device. Operation 510 includes providing a primary data path between the base station and the user device; Operation 520 includes providing a secondary data path between the base station and the user device via the WLAN access point; Operation 530 includes determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and Operation 540 includes allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
[0065] According to an example implementation of the method of FIG. 5, the secondary data path may include a tunnel that is provided between the base station and the user device via the WLAN access point.
[0066] According to an example implementation of the method of FIG. 5, the providing a primary data path may include establishing a first wireless connection between the base station and the user device, wherein the primary data path is provided between the base station and the user device; and wherein the providing a secondary data path may include establishing a tunnel between the base station and the user device via the WLAN access point, wherein a second wireless connection is provided between the WLAN access point and the user device, and wherein the secondary data path is provided between the base station and the user device via the tunnel and the WLAN access point.
[0067] According to an example implementation of the method of FIG. 5, the cellular base station may include either a 4G base station or a 5G base station.
[0068] According to an example implementation of the method of FIG. 5, the allocating data may include performing at least one of the following: allocating, for forwarding of data to the user device based on at least the transmission delay for the secondary data path, one or more data bearers to either the primary data path or the secondary data path; and allocating, for forwarding of data to the user device based on at least the transmission delay for the secondary data path, one or more data packets to either the primary data path or the secondary data path. [0069] According to an example implementation of the method of FIG. 5, the determining a transmission delay may include: adding a timestamp to a header of a received data packet; forwarding the data packet from the base station to the user device over the secondary data path between the base station and the user device via the tunnel and the WLAN access point; and receiving, by the base station from the user device, information indicating the transmission delay for the secondary data path.
[0070] According to an example implementation of the method of FIG. 5, the method may further include determining a transmission delay for the primary data path provided between the base station and the user device; and comparing the transmission delay for the primary data path to the transmission data for the secondary data path; wherein the allocating may include allocating data, for forwarding to the user device based on the comparing, to either the primary data path or the secondary data path.
[0071] According to an example implementation of the method of FIG. 5, the method may further include sending, by the base station to the user device, an indication of one or more trigger conditions that will cause the user device to report the
transmission delay for the secondary data path to the base station.
[0072] According to an example implementation of the method of FIG. 5, the indication of one or more trigger conditions may include one or more of the following: an indication of one or more packets for which a time stamp should be added before forwarding; an indication of every nth packet for which a time stamp should be added before forwarding, where n is specified as part of the trigger condition; an indication of every x ms for which a time stamp should be added to a packet before forwarding, where x is specified as part of the trigger condition; when the transmission delay for the secondary data path is greater than a first threshold; when the transmission delay for the secondary data path is less than or equal to a second threshold; when the transmission delay for the secondary data path changes more than a third threshold; and when a difference between the transmission delay for the secondary data path and a transmission delay of the primary path is greater than a fourth threshold.
[0073] According to an example implementation, an apparatus may include at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to: provide a primary data path between the base station and the user device; providing a secondary data path between the base station and the user device via the WLAN access point; determine a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and allocate data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
[0074] According to an example implementation, an apparatus may include means (e.g., 902A/902B and/or 904) for providing a primary data path between the base station and the user device; means (e.g., 902A 902B and/or 904) for providing a secondary data path between the base station and the user device via the WLAN access point; means (e.g., 902A 902B and/or 904) for determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and means (e.g., 902A 902B and/or 904) for allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
[0075] FIG. 6 is a flow chart illustrating operation of a base station according to another example implementation. Operation 610 includes providing a primary data path between a cellular base station and a user device; operation 620 includes providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and Operation 630 includes sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
[0076] According to an example implementation of the method of FIG. 6, a tunnel may be provided on the secondary data path between the base station and the user device via the WLAN access point.
[0077] According to an example implementation of the method of FIG. 6, the method may further include determining, by the base station based on a timestamp included in one or more data packets received from the user device via the secondary data path, a transmission delay for the secondary data.
[0078] According to an example implementation of the method of FIG. 6, the method may further include adjusting, by the base station based on the transmission delay for the secondary data path, a number of uplink resources granted to the user device for transmission over the primary data path between the user device and base station.
[0079] According to an example implementation of the method of FIG. 6, the method may further include determining, by the base station, a transmission delay for the primary data path; determining, by the base station based on a timestamp included in one or more data packets received from the user device via the secondary data path, a transmission delay for the secondary data path; comparing, by the base station, the delay for the primary data path to the delay for the secondary data path; and adjusting, by the base station based on the comparing, a number of uplink resources granted to the user device for transmission over the primary data path from the user device to the base station.
[0080] According to an example implementation, a computer program product includes a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method comprising: providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and sending, from the base station to the user device, an indication of one or more uplink data packets for which the base station should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
[0081] According to an example implementation, an apparatus may include means (e.g., 902A/902B and/or 904) for providing a primary data path between a cellular base station and a user device; means (e.g., 902A 902B and/or 904) for providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and means (e.g., 902A/902B and/or 904) for sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
[0082] FIG. 7 is a flow chart illustrating operation of a user device according to another example implementation. Operation 710 includes providing a primary data path between a cellular base station and a user device; Operation 720 includes providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; Operation 730 includes receiving, by the user device from the base, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and Operation 740 includes forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
[0083] According to an example implementation of the method of FIG. 7, a tunnel may be provided on the secondary data path between the base station and the user device via the WLAN access point.
[0084] According to an example implementation, an apparatus may include means (e.g., 902A/902B and/or 904) for providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; means (e.g., 902A 902B and/or 904) for receiving, by the user device from the base station, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and means (e.g., 902A/902B and/or 904) for forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
[0085] FIG. 8 is a flow chart illustrating operation of a user device according to another example implementation. Operation 810 includes providing a primary data path between a cellular base station and a user device; Operation 820 includes providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; Operation 830 includes receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp; Operation 840 includes determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and Operation 850 includes sending, by the user device to the base station, information indicating the transmission delay for the secondary data path.
[0086] According to an example implementation, an apparatus may include means (e.g., 902A/902B and/or 904) for providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; means (e.g., 902A/902B and/or 904) for receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp; means (e.g., 902A/902B and/or 904) for determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and, means (e.g., 902A/902B and/or 904) for sending, by the user device to the base station, information indicating the transmission delay for the secondary data path.
[0087] FIG. 9 is a block diagram of a wireless station (e.g., base station, access point or user device, or other network device) 900 according to an example
implementation. The wireless station 900 may include, for example, one or two RF
(radio frequency) or wireless transceivers 902A, 902B, where each wireless transceiver includes a transmitter to transmit signals and a receiver to receive signals. The wireless station also includes a processor or control unit/entity (controller) 904 to execute instructions or software and control transmission and receptions of signals, and a memory 906 to store data and/or instructions.
[0088] Processor 904 may also make decisions or determinations, generate frames, packets or messages for transmission, decode received frames or messages for further processing, and other tasks or functions described herein. Processor 904, which may be a baseband processor, for example, may generate messages, packets, frames or other signals for transmission via wireless transceiver 902 (902A or 902B). Processor 904 may control transmission of signals or messages over a wireless network, and may control the reception of signals or messages, etc., via a wireless network (e.g., after being down-converted by wireless transceiver 902, for example). Processor 904 may be programmable and capable of executing software or other instructions stored in memory or on other computer media to perform the various tasks and functions described above, such as one or more of the tasks or methods described above. Processor 904 may be (or may include), for example, hardware, programmable logic, a programmable processor that executes software or firmware, and/or any combination of these. Using other terminology, processor 904 and transceiver 902 together may be considered as a wireless transmitter/receiver system, for example.
[0089] In addition, referring to FIG. 9, a controller (or processor) 908 may execute software and instructions, and may provide overall control for the station 900, and may provide control for other systems not shown in FIG. 9, such as controlling input/output devices (e.g., display, keypad), and/or may execute software for one or more applications that may be provided on wireless station 900, such as, for example, an email program, audio/video applications, a word processor, a Voice over IP application, or other application or software.
[0090] In addition, a storage medium may be provided that includes stored instructions, which when executed by a controller or processor may result in the processor 904, or other controller or processor, performing one or more of the functions or tasks described above.
[0091] According to another example implementation, RF or wireless
transceiver(s) 902A/902B may receive signals or data and/or transmit or send signals or data. Processor 904 (and possibly transceivers 902A/902B) may control the RF or wireless transceiver 902A or 902B to receive, send, broadcast or transmit signals or data.
[0092] The embodiments are not, however, restricted to the system that is given as an example, but a person skilled in the art may apply the solution to other
communication systems. Another example of a suitable communications system is the 5G concept. It is assumed that network architecture in 5G will be quite similar to that of the LTE-advanced. 5G is likely to use multiple input - multiple output (MIMO) antennas, many more base stations or nodes than the LTE (a so-called small cell concept), including macro sites operating in co-operation with smaller stations and perhaps also employing a variety of radio technologies for better coverage and enhanced data rates.
[0093] It should be appreciated that future networks will most probably utilise network functions virtualization (NFV) which is a network architecture concept that proposes virtualizing network node functions into "building blocks" or entities that may be operationally connected or linked together to provide services. A virtualized network function (VNF) may comprise one or more virtual machines running computer program codes using standard or general type servers instead of customized hardware. Cloud computing or data storage may also be utilized. In radio communications this may mean node operations may be carried out, at least partly, in a server, host or node
operationally coupled to a remote radio head. It is also possible that node operations will be distributed among a plurality of servers, nodes or hosts. It should also be understood that the distribution of labour between core network operations and base station operations may differ from that of the LTE or even be non-existent.
[0094] Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Implementations may implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, a data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. Implementations may also be provided on a computer readable medium or computer readable storage medium, which may be a non-transitory medium. Implementations of the various techniques may also include implementations provided via transitory signals or media, and/or programs and/or software
implementations that are downloadable via the Internet or other network(s), either wired networks and/or wireless networks. In addition, implementations may be provided via machine type communications (MTC), and also via an Internet of Things (IOT).
[0095] The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, distribution medium, or computer readable medium, which may be any entity or device capable of carrying the program. Such carriers include a record medium, computer memory, readonly memory, photoelectrical and/or electrical carrier signal, telecommunications signal, and software distribution package, for example. Depending on the processing power needed, the computer program may be executed in a single electronic digital computer or it may be distributed amongst a number of computers.
[0096] Furthermore, implementations of the various techniques described herein may use a cyber-physical system (CPS) (a system of collaborating computational elements controlling physical entities). CPS may enable the implementation and exploitation of massive amounts of interconnected ICT devices (sensors, actuators, processors microcontrollers,...) embedded in physical objects at different locations. Mobile cyber physical systems, in which the physical system in question has inherent mobility, are a subcategory of cyber-physical systems. Examples of mobile physical systems include mobile robotics and electronics transported by humans or animals. The rise in popularity of smartphones has increased interest in the area of mobile cyber- physical systems. Therefore, various implementations of techniques described herein may be provided via one or more of these technologies.
[0097] A computer program, such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit or part of it suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
[0098] Method steps may be performed by one or more programmable processors executing a computer program or computer program portions to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
[0099] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer, chip or chipset. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data.
Generally, a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.
[00100] To provide for interaction with a user, implementations may be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and a user interface, such as a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
[00101] Implementations may be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation, or any combination of such back-end, middleware, or front-end components. Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of
communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
[00102] While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the various embodiments.

Claims

WHAT IS CLAIMED IS:
1. A method of allocating data or bearers among multiple paths in a multi-radio access technology (multi-RAT) wireless network that includes a cellular base station and a wireless local area network (WLAN) access point that are connected to a user device, the method comprising:
providing a primary data path between the base station and the user device;
providing a secondary data path between the base station and the user device via the WLAN access point;
determining a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and
allocating data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
2. The method of any preceding claim wherein the secondary data path comprises a tunnel that is provided between the base station and the user device via the WLAN access point.
3. The method of any preceding claim:
wherein the providing a primary data path comprises establishing a first wireless connection between the base station and the user device, wherein the primary data path is provided between the base station and the user device; and
wherein the providing a secondary data path comprises establishing a tunnel between the base station and the user device via the WLAN access point, wherein a second wireless connection is provided between the WLAN access point and the user device, and wherein the secondary data path is provided between the base station and the user device via the tunnel and the WLAN access point.
4. The method of any preceding claim wherein the cellular base station comprises either a 4G base station or a 5G base station.
5. The method of any preceding claim wherein the allocating data comprises performing at least one of the following:
allocating, for forwarding of data to the user device based on at least the transmission delay for the secondary data path, one or more data bearers to either the primary data path or the secondary data path; and
allocating, for forwarding of data to the user device based on at least the transmission delay for the secondary data path, one or more data packets to either the primary data path or the secondary data path.
6. The method of any preceding claim wherein the determining a transmission delay comprises:
adding a timestamp to a header of a received data packet;
forwarding the data packet from the base station to the user device over the secondary data path between the base station and the user device via the tunnel and the WLAN access point; and
receiving, by the base station from the user device, information indicating the transmission delay for the secondary data path.
7. The method of any preceding claim and further comprising:
determining a transmission delay for the primary data path provided between the base station and the user device; and
comparing the transmission delay for the primary data path to the transmission data for the secondary data path;
wherein the allocating comprises allocating data, for forwarding to the user device based on the comparing, to either the primary data path or the secondary data path.
8. The method of any preceding claim and further comprising:
sending, by the base station to the user device, an indication of one or more trigger conditions that will cause the user device to report the transmission delay for the secondary data path to the base station.
9. The method of claim 8 wherein the indication of one or more trigger conditions comprise one or more of the following:
an indication of one or more packets for which a time stamp should be added before forwarding;
an indication of every nth packet for which a time stamp should be added before forwarding, where n is specified as part of the trigger condition;
an indication of every x ms for which a time stamp should be added to a packet before forwarding, where x is specified as part of the trigger condition;
when the transmission delay for the secondary data path is greater than a first threshold;
when the transmission delay for the secondary data path is less than or equal to a second threshold;
when the transmission delay for the secondary data path changes more than a third threshold; and
when a difference between the transmission delay for the secondary data path and a transmission delay of the primary path is greater than a fourth threshold.
10. An apparatus comprising at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to:
provide a primary data path between the base station and the user device;
providing a secondary data path between the base station and the user device via the WLAN access point;
determine a transmission delay for the secondary data path between the base station and the user device via the WLAN access point; and
allocate data, for forwarding to the user device based on at least the transmission delay for the secondary path, to either the primary data path or the secondary data path.
1 1 . A method comprising:
providing a primary data path between a cellular base station and a user device; providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and
sending, from the base station to the user device, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
12. The method of claim 1 1 wherein a tunnel is provided on the secondary data path between the base station and the user device via the WLAN access point.
13. The method of any of claims 1 1 or 12 and further comprising:
determining, by the base station based on a timestamp included in one or more data packets received from the user device via the secondary data path, a transmission delay for the secondary data.
14. The method of claim 12 and further comprising:
adjusting, by the base station based on the transmission delay for the secondary data path, a number of uplink resources granted to the user device for transmission over the primary data path between the user device and base station.
15. The method of any of claims 1 1 -14 and further comprising:
determining, by the base station, a transmission delay for the primary data path;
determining, by the base station based on a timestamp included in one or more data packets received from the user device via the secondary data path, a transmission delay for the secondary data path;
comparing, by the base station, the delay for the primary data path to the delay for the secondary data path; and adjusting, by the base station based on the comparing, a number of uplink resources granted to the user device for transmission over the primary data path from the user device to the base station.
16. A computer program product, the computer program product comprising a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method comprising:
providing a primary data path between a cellular base station and a user device;
providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point; and
sending, from the base station to the user device, an indication of one or more uplink data packets for which the base station should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path.
17. A method comprising:
providing a primary data path between a cellular base station and a user device;
providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point;
receiving, by the user device from the base station, an indication of one or more uplink data packets for which the user device should include a timestamp before forwarding the one or more data packets to the base station via the secondary data path; and
forwarding, by the user device, one or more packets, including a time stamp, to the base station via the secondary data path.
18. The method of claim 17 wherein a tunnel is provided on the secondary data path between the base station and the user device via the WLAN access point.
19. A method comprising:
providing a primary data path between a cellular base station and a user device;
providing a secondary data path between the base station and the user device via a wireless local area network (WLAN) access point, wherein the user device is connected to both the base station and the WLAN access point;
receiving, by the user device from the base station over the secondary data path, a data packet including a time stamp;
determining, based on the time stamp of the one or more received data packets, a transmission delay for the secondary data path; and
sending, by the user device to the base station, information indicating the transmission delay for the secondary data path.
20. An apparatus comprising at least one processor and at least one memory including computer instructions, when executed by the at least one processor, cause the apparatus to perform the method of any of claims 1-9, 1 1-15, and 17-19.
21 . A computer program product, the computer program product comprising a computer-readable storage medium and storing executable code that, when executed by at least one data processing apparatus, is configured to cause the at least one data processing apparatus to perform a method of any of claims 1-9, 1 1-15, and 17-19.
PCT/EP2015/075835 2015-11-05 2015-11-05 Initiating measuring, reporting and/or use of secondary path delay to allocate packets or bearers among primary path and secondary path in wireless network WO2017076454A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/075835 WO2017076454A1 (en) 2015-11-05 2015-11-05 Initiating measuring, reporting and/or use of secondary path delay to allocate packets or bearers among primary path and secondary path in wireless network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/075835 WO2017076454A1 (en) 2015-11-05 2015-11-05 Initiating measuring, reporting and/or use of secondary path delay to allocate packets or bearers among primary path and secondary path in wireless network

Publications (1)

Publication Number Publication Date
WO2017076454A1 true WO2017076454A1 (en) 2017-05-11

Family

ID=54540046

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2015/075835 WO2017076454A1 (en) 2015-11-05 2015-11-05 Initiating measuring, reporting and/or use of secondary path delay to allocate packets or bearers among primary path and secondary path in wireless network

Country Status (1)

Country Link
WO (1) WO2017076454A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111954262A (en) * 2019-05-17 2020-11-17 三星电子株式会社 Method and apparatus for controlling packet transmission to reduce latency in a wireless communication system
WO2021045966A1 (en) * 2019-09-05 2021-03-11 Cisco Technology, Inc. In-situ best path selection for mobile core network
CN111954262B (en) * 2019-05-17 2024-03-15 三星电子株式会社 Method and apparatus for controlling packet transmission to reduce latency in a wireless communication system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060007863A1 (en) * 2002-09-05 2006-01-12 Siamak Naghian Signal propagation delay routing
WO2014045319A1 (en) * 2012-09-21 2014-03-27 富士通株式会社 Wireless communication method, wireless communication system, wireless station and wireless terminal
US20140369329A1 (en) * 2013-06-18 2014-12-18 Qualcomm Incorporated Lte and external wifi bandwidth aggregation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060007863A1 (en) * 2002-09-05 2006-01-12 Siamak Naghian Signal propagation delay routing
WO2014045319A1 (en) * 2012-09-21 2014-03-27 富士通株式会社 Wireless communication method, wireless communication system, wireless station and wireless terminal
US20140369329A1 (en) * 2013-06-18 2014-12-18 Qualcomm Incorporated Lte and external wifi bandwidth aggregation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NTT DOCOMO ET AL: "Backhaul issue list", vol. RAN WG2, no. Fukuoka, Japan; 20130520 - 20130524, 11 May 2013 (2013-05-11), XP050700118, Retrieved from the Internet <URL:http://www.3gpp.org/ftp/tsg_ran/WG2_RL2/TSGR2_82/Docs/> [retrieved on 20130511] *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111954262A (en) * 2019-05-17 2020-11-17 三星电子株式会社 Method and apparatus for controlling packet transmission to reduce latency in a wireless communication system
EP3739946A1 (en) * 2019-05-17 2020-11-18 Samsung Electronics Co., Ltd. Method and apparatus for controlling packet transmission for reducing latency in wireless communication system
KR20200132606A (en) * 2019-05-17 2020-11-25 삼성전자주식회사 A method and an apparatus for controlling a transmission of a packet for reducing a latency in a wireless communication system
US11284461B2 (en) 2019-05-17 2022-03-22 Samsung Electronics Co., Ltd. Method and apparatus for controlling packet transmission for reducing latency in wireless communication system
KR102506464B1 (en) * 2019-05-17 2023-03-06 삼성전자 주식회사 A method and an apparatus for controlling a transmission of a packet for reducing a latency in a wireless communication system
CN111954262B (en) * 2019-05-17 2024-03-15 三星电子株式会社 Method and apparatus for controlling packet transmission to reduce latency in a wireless communication system
WO2021045966A1 (en) * 2019-09-05 2021-03-11 Cisco Technology, Inc. In-situ best path selection for mobile core network
US11122491B2 (en) 2019-09-05 2021-09-14 Cisco Technology, Inc. In-situ best path selection for mobile core network

Similar Documents

Publication Publication Date Title
US11812312B2 (en) Link quality based single radio-voice call continuity and packet scheduling for voice over long term evolution communications
US20190098606A1 (en) Uplink selection for wireless network based on network based on network cell weight and linkspecific weight for wireless links
US10172150B2 (en) TTI scheduling for improved ramp up of TCP throughput in cellular networks
US20170289021A1 (en) Packet sequence numbering for multi-connectivity in a wireless network
US10568010B2 (en) Techniques to support ultra-reliable handover in wireless networks
WO2018202037A1 (en) Data transmission method, terminal device, and network device
US9974059B2 (en) Method and apparatus for control information transmission
KR101947288B1 (en) Ultra reliable link design
EP3520481B1 (en) Buffer management for wireless networks during handover
US20240023186A1 (en) Network method for small data transmission termination and signaling
US10326569B2 (en) Inter-site carrier aggregation with physical uplink control channel monitoring
WO2019141371A1 (en) Multi-connectivity based on a first sidelink connection and a second connection via base station for wireless networks
US10694417B2 (en) Methods and devices for downlink flow control in wireless communication systems
US11723052B2 (en) Adjusting a repetition operation of uplink control information associated with multiple transmission reception points
US20220377596A1 (en) Packet-dependent logical channel restriction
WO2017076454A1 (en) Initiating measuring, reporting and/or use of secondary path delay to allocate packets or bearers among primary path and secondary path in wireless network
US20220330026A1 (en) Counter measures for attacking messages
US20210007134A1 (en) Feedback indication for continued transmission for wireless networks
WO2017062014A1 (en) Radio access network orchestrator for wireless networks
WO2022155795A1 (en) Medium access control protocol data unit forwarding
WO2022063636A1 (en) Additional data capacity via use of candidate secondary cells for wireless communication
KR20230164115A (en) Handover by active multicast broadcast session
WO2022233909A1 (en) Bi-layered mobility for ng-ran
WO2017114551A1 (en) Pdu formats with fixed-size sdus for wireless networks
WO2016162056A1 (en) Coordination of radio configuration parameters for multi-connectivity session in wireless network

Legal Events

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

Ref document number: 15793757

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15793757

Country of ref document: EP

Kind code of ref document: A1