A Long Term Evolution (LTE) femtocell may be installed in a home or workplace to serve as a wireless base station for a mobile communications network. The femtocell typically connects to the mobile communication network provider's network via a broadband connection at the home or workplace. For example, a femtocell may be connected to a Digital Subscriber Line (DSL) router or a cable modem via an Ethernet connection or other wired or wireless network connection.
The femtocell can be configured to serve as the primary interface from a User Equipment (UE) or other mobile device, such as a smartphone, a tablet computer, or other types of mobile device that are configured to communicate using the LTE wireless communication protocols. However, LTE femtocells can be subject to severe and uncoordinated interference from a macrocell and/or one or more neighboring femtocells and radio conditions may vary over time and space.
The mobile device may also include a WiFi interface or other short-range wireless communication interface that can be used to communicate with a WiFi wireless access point in the home or workplace. The WiFi interface can be used to send and receive data from WiFi access points and/or other devices that include a WiFi interface.
An example method for aggregating wireless communications traffic in a femtocell according to the disclosure includes: receiving at a femtocell a stream of data packets for a mobile device from a wireless transceiver; selecting a transmission mode, for sending data packets of the stream of data packets from the femtocell to the mobile device, the selecting comprising determining whether to transmit the data packets from the stream of data packets to the mobile device using a first transmission mode comprising transmitting the data packets from the stream via a Long Term Evolution (LTE) interface of the femtocell, to send the data packets to the wireless transceiver for transmission to the mobile device using a second transmission mode comprising transmitting the data packets from the stream via a WiFi interface of the wireless transceiver, or to transmit the data packets from the data stream using a third transmission mode comprising transmitting a first portion of the data packets to the mobile device via the LTE interface and sending a second portion of the data packets to the wireless transceiver for transmission to the mobile device via the WiFi interface; and sending the data packets according to the selected transmission mode.
Implementations of such a method may include one or more of the following features. The wireless transceiver is a wireless transceiver of a wireless router. Selecting the transmission mode includes selecting the transmission mode based at least in part on link conditions of an LTE link between the femtocell and the mobile device. Selecting the transmission mode includes selecting the transmission mode based at least in part on link conditions of a WiFi link between the wireless transceiver and the mobile device. Selecting the transmission mode includes selecting the transmission mode based at least in part on loading of an LTE link between the femtocell and the mobile device. Selecting the transmission mode comprises includes the transmission mode based at least in part on loading of a WiFi link between the wireless transceiver and the mobile device. Selecting the transmission mode includes selecting the transmission mode based at least in part on at least on loading of a backhaul of the femtocell. Sending the data packets according to the selected transmission mode includes encapsulating packets transmitted from the femtocell to the mobile device. Determining whether the wireless router provides bridging functionality, and the encapsulating packets transmitted from the femtocell to the mobile device is performed if the wireless router does not provide bridging functionality. Sending a signal to the mobile device indicating a start of an aggregate data session in response to the third transmission mode being selected. Sending a signal to the mobile device indicating an end of the aggregate data session after sending the data packets according to the third transmission mode. Selecting the second transmission mode for LTE user plane data, and selecting the first transmission mode for LTE control plane data. Sending an aggregation discovery message to the mobile device; receiving an aggregation discovery response from the mobile device; transmitting first aggregation information to the mobile device; receiving second aggregation information from the mobile device; and configuring an aggregation layer of the femtocell based on the first aggregation information and the second aggregation information. The first aggregation information comprises aggregation policy information. Testing WiFi connectivity with the mobile device.
An apparatus for aggregating wireless communications traffic in a femtocell according to the disclosure includes: means for receiving at a femtocell a stream of data packets for a mobile device from a wireless transceiver; means for selecting a transmission mode, for sending data packets of the stream of data packets from the femtocell to the mobile device, the means for selecting comprising means for determining whether to transmit the data packets from the stream of data packets to the mobile device using a first transmission mode comprising transmitting the data packets from the stream via a Long Term Evolution (LTE) interface of the femtocell, to send the data packets to the wireless transceiver for transmission to the mobile device using a second transmission mode comprising transmitting the data packets from the stream via a WiFi interface of the wireless transceiver, or to transmit the data packets from the data stream using a third transmission mode comprising transmitting a first portion of the data packets to the mobile device via the LTE interface and sending a second portion of the data packets to the wireless transceiver for transmission to the mobile device via the WiFi interface; and means for sending the data packets according to the selected transmission mode.
Implementations of such an apparatus may include one or more of the following features. The wireless transceiver is a wireless transceiver of a wireless router. The means for selecting the transmission mode includes means for selecting the transmission mode based at least in part on link conditions of an LTE link between the femtocell and the mobile device. The means for selecting the transmission mode includes means for selecting the transmission mode based at least in part on link conditions of a WiFi link between the femtocell and the mobile device. The means for selecting the transmission mode includes means for selecting the transmission mode based at least in part on loading of an LTE link between the femtocell and the mobile device. The means for selecting the transmission mode includes means for selecting the transmission mode based at least in part on loading of a WiFi link between the femtocell and the mobile device. The means for selecting the transmission mode includes means for selecting the transmission mode based at least in part on at least on loading of a backhaul of the femtocell. The means for sending the data packets according to the selected transmission mode includes means for encapsulating packets transmitted from the femtocell to the mobile device. Means for determining whether the wireless router provides bridging functionality, and the means for encapsulating packets transmitted from the femtocell to the mobile device includes means for encapsulating the packets if the wireless router does not provide bridging functionality. Means for sending a signal to the mobile device indicating a start of an aggregate data session in response to the third transmission mode being selected. Means for sending a signal to the mobile device indicating an end of the aggregate data session after sending the data packets according to the third transmission mode. Means for selecting the second transmission mode for LTE user plane data, and means for selecting the first transmission mode for LTE control plane data. Means for sending an aggregation discovery message to the mobile device; means for receiving an aggregation discovery response from the mobile device; means for transmitting first aggregation information to the mobile device; means for receiving second aggregation information from the mobile device; and means for configuring an aggregation layer of the femtocell based on the first aggregation information and the second aggregation information. The first aggregation information comprises aggregation policy information. Means for testing WiFi connectivity with the mobile device.
A tangible computer-readable medium, having stored thereon computer-readable instructions for aggregating wireless communications traffic in a femtocell, according to the disclosure includes instructions configured to cause a computer to: receive at a femtocell a stream of data packets for a mobile device from a wireless transceiver; select a transmission mode, for sending data packets of the stream of data packets from the femtocell to the mobile device, the instructions configured to cause the computer to select the transmission mode comprising instructions to cause the computer to determine whether to transmit the data packets from the stream of data packets to the mobile device using a first transmission mode comprising transmitting the data packets from the stream via a Long Term Evolution (LTE) interface of the femtocell, to send the data packets to the wireless transceiver for transmission to the mobile device using a second transmission mode comprising transmitting the data packets from the stream via a WiFi interface of the wireless transceiver, or to transmit the data packets from the data stream using a third transmission mode comprising transmitting a first portion of the data packets to the mobile device via the LTE interface and sending a second portion of the data packets to the wireless transceiver for transmission to the mobile device via the WiFi interface; and send the data packets according to the selected transmission mode.
Implementations of such a tangible computer-readable medium may include one or more of the following features. The wireless transceiver is a wireless transceiver of a wireless router. The instructions configured to cause the computer to select the transmission mode include instructions configured to cause the computer to select the transmission mode based at least in part on link conditions of an LTE link between the femtocell and the mobile device. The instructions configured to cause the computer to select the transmission mode include instructions configured to cause the computer to select the transmission mode based at least in part on link conditions of a WiFi link between the femtocell and the mobile device. The instructions configured to cause the computer to select the transmission mode include instructions configured to cause the computer to select the transmission mode based at least in part on loading of an LTE link between the femtocell and the mobile device. The instructions configured to cause the computer to select the transmission mode include instructions configured to cause the computer to select the transmission mode based at least in part on loading of a WiFi link between the femtocell and the mobile device. The instructions configured to cause the computer to select the transmission mode include instructions configured to cause the computer to select the transmission mode based at least in part on at least on loading of a backhaul of the femtocell. The instructions configured to cause the computer to send the data packets according to the selected transmission mode include instructions configured to cause the computer to encapsulate packets transmitted from the femtocell to the mobile device. Instructions configured to cause the computer to determine whether the wireless router provides bridging functionality, and wherein the instructions configured to cause the computer to encapsulate the packets comprise instructions configured to cause the computer to encapsulate the packets transmitted from the femtocell to the mobile device is performed if the wireless router does not provide bridging functionality. Instructions configured to cause the computer to send a signal to the mobile device indicating a start of an aggregate data session in response to the third transmission mode being selected. Instructions configured to cause the computer to send a signal to the mobile device indicating an end of the aggregate data session after sending the data packets according to the third transmission mode. The instructions configured to cause the computer to select a transmission mode include instructions configured to cause the computer to select the second transmission mode for LTE user plane data, and select the first transmission mode for LTE control plane data. The instructions configured to cause the computer to send an aggregation discovery message to the mobile device, receive an aggregation discovery response from the mobile device, transmit first aggregation information to the mobile device, receive second aggregation information from the mobile device, and configure an aggregation layer of the femtocell based on the first aggregation information and the second aggregation information. The first aggregation information comprises aggregation policy information. Instructions configured to cause the computer to test WiFi connectivity with the mobile device.
An apparatus for aggregating wireless communications traffic in a femtocell according to the disclosure includes a tangible, non-transitory computer-readable memory; a plurality of modules comprising processor executable code stored in the memory; a processor connected to the memory and configured to access the plurality of modules stored in the memory; and a data aggregation module. The data aggregation module is configured to receive at a femtocell a stream of data packets for a mobile device from a wireless transceiver; select a transmission mode, for sending data packets of the stream of data packets from the femtocell to the mobile device, the data aggregation module being further configured to determine whether to transmit the data packets from the stream of data packets to the mobile device using a first transmission mode comprising transmitting the data packets from the stream via a Long Term Evolution (LTE) interface of the femtocell, to send the data packets to the wireless transceiver for transmission to the mobile device using a second transmission mode comprising transmitting the data packets from the stream via a WiFi interface of the wireless transceiver, or to transmit the data packets from the data stream using a third transmission mode comprising transmitting a first portion of the data packets to the mobile device via the LTE interface and sending a second portion of the data packets to the wireless transceiver for transmission to the mobile device via the WiFi interface; and send the data packets according to the selected transmission mode.
Implementations of such an apparatus may include one or more of the following features. The wireless transceiver is a wireless transceiver of a wireless router. The data aggregation module is further configured to select the transmission mode based at least in part on link conditions of an LTE link between the femtocell and the mobile device. The data aggregation module being configured to select the transmission mode is further configured to cause the computer to select the transmission mode based at least in part on link conditions of a WiFi link between the femtocell and the mobile device. The data aggregation module being configured to select the transmission mode is further configured to select the transmission mode based at least in part on loading of an LTE link between the femtocell and the mobile device. The data aggregation module being configured to select the transmission mode is further configured to select the transmission mode based at least in part on loading of a WiFi link between the femtocell and the mobile device. The data aggregation module being configured to select the transmission mode is further configured to select the transmission mode based at least in part on at least on loading of a backhaul of the femtocell. The data aggregation module being configured to send the data packets according to the selected transmission mode is further configured to encapsulate packets transmitted from the femtocell to the mobile device. The data aggregation module is configured to determine whether the wireless router provides bridging functionality, and wherein the data aggregation module is configured to encapsulate packets transmitted from the femtocell to the mobile device if the wireless router does not provide bridging functionality. The data aggregation module is further configured to send a signal to the mobile device indicating a start of an aggregate data session in response to the third transmission mode being selected. The data aggregation module is further configured to send a signal to the mobile device indicating an end of the aggregate data session after sending the data packets according to the third transmission mode. The data aggregation module is configured to select the second transmission mode for LTE user plane data, and select the first transmission mode for LTE control plane data. The data aggregation module is configured to send an aggregation discovery message to the mobile device, receive an aggregation discovery response from the mobile device, transmit first aggregation information to the mobile device, receive second aggregation information from the mobile device, and configure an aggregation layer of the femtocell based on the first aggregation information and the second aggregation information. The first aggregation information comprises aggregation policy information. The data aggregation module is further configured to test WiFi connectivity with the mobile device.
A method for aggregating wireless communications traffic in a mobile device according to the disclosure includes receiving a first portion of data packets from a data stream from a femtocell using a first wireless communications protocol, receiving a second portion of data packets from the data stream from a wireless transceiver using a second wireless communications protocol, the wireless transceiver being separate from the femtocell, aggregating the first portion of the data packets and the second portion of the data packets to reassemble the data stream at the mobile device.
Implementations of such a method may include one or more of the following features. Receiving a signal from the femtocell indicating a start of an aggregate data session prior to receiving the first portion of the data packet and the second portion of the data packets. Receiving a signal from the femtocell indicating an end of the aggregate data session after receiving the first portion of the data packet and the second portion of the data packets. The wireless transceiver is a wireless transceiver of a wireless router.
An example apparatus for aggregating wireless communications traffic in a mobile device according to the disclosure includes means for receiving a first portion of data packets from a data stream from a femtocell using a first wireless communications protocol, means for receiving a second portion of data packets from the data stream from a wireless transceiver using a second wireless communications protocol, the wireless transceiver being separate from the femtocell, and means for aggregating the first portion of the data packets and the second portion of the data packets to reassemble the data stream at the mobile device.
Implementations of such an apparatus may include one or more of the following features. Means for receiving a signal from the femtocell indicating a start of an aggregate data session prior to receiving the first portion of the data packet and the second portion of the data packets. Means for receiving a signal from the femtocell indicating an end of the aggregate data session after receiving the first portion of the data packet and the second portion of the data packets. The wireless transceiver is a wireless transceiver of a wireless router.
An example tangible computer-readable medium, having stored thereon computer-readable instructions for aggregating wireless communications traffic in a mobile device, according to the disclosure includes instructions configured to cause a computer to: receive a first portion of data packets from a data stream from a femtocell using a first wireless communications protocol, receive a second portion of data packets from the data stream from a wireless transceiver using a second wireless communications protocol, the wireless transceiver being separate from the femtocell, and aggregate the first portion of the data packets and the second portion of the data packets to reassemble the data stream at the mobile device.
Implementations of such a tangible computer-readable medium may include one or more of the following features. Instructions configured to cause the computer to receive a signal from the femtocell indicating a start of an aggregate data session prior to receiving the first portion of the data packet and the second portion of the data packets. Instructions configured to cause the computer to receive a signal from the femtocell indicating an end of the aggregate data session after receiving the first portion of the data packet and the second portion of the data packets. The wireless transceiver is a wireless transceiver of a wireless router.
An example apparatus for aggregating wireless communications traffic in a mobile device according to the disclosure includes a tangible, non-transitory computer-readable memory, a plurality of modules comprising processor executable code stored in the memory, a processor connected to the memory and configured to access the plurality of modules stored in the memory, and a data aggregation module configured to receive a first portion of data packets from a data stream from a femtocell using a first wireless communications protocol, receive a second portion of data packets from the data stream from a wireless transceiver using a second wireless communications protocol, the wireless transceiver being separate from the femtocell, and aggregate the first portion of the data packets and the second portion of the data packets to reassemble the data stream at the mobile device.
Implementations of such an apparatus may include one or more of the following features. The data aggregation module is further configured to cause the computer to receive a signal from the femtocell indicating a start of an aggregate data session prior to receiving the first portion of the data packet and the second portion of the data packets. The data aggregation module is further configured to receive a signal from the femtocell indicating an end of the aggregate data session after receiving the first portion of the data packet and the second portion of the data packets. The wireless transceiver is a wireless transceiver of a wireless router.
An example method for aggregating wireless communications traffic in a mobile device includes receiving at an aggregation module of a mobile device a stream of data packets to be transmitted to a remote network entity; selecting a transmission mode, for sending data packets of the stream of data packets from the mobile device to a femtocell associated with the mobile device, the selecting comprising determining whether to transmit the data packets from the stream of data packets to the femtocell using a first transmission mode comprising transmitting the data packets from the stream via a Long Term Evolution (LTE) interface of the mobile device, to transmit the data packets to a wireless transceiver external to the femtocell for routing to the femtocell using a second transmission mode comprising transmitting the data packets from the stream via a WiFi interface of the mobile device, or to transmit the data packets from the data stream using a third transmission mode comprising transmitting a first portion of the data packets to the femtocell via the LTE interface and transmitting a second portion of the data packets to the wireless transceiver via a WiFi interface for routing to the femtocell; and sending the data packets according to the selected transmission mode.
Implementations of such a method may include one or more of the following features. Selecting the transmission mode includes selecting the transmission mode based at least in part on link conditions of an LTE link between the femtocell and the mobile device. Selecting the transmission mode includes selecting the transmission mode based at least in part on link conditions of a WiFi link between the femtocell and the mobile device. Selecting the transmission mode includes selecting the transmission mode based at least in part on loading of an LTE link between the femtocell and the mobile device. Selecting the transmission mode includes selecting the transmission mode based at least in part on loading of a WiFi link between the femtocell and the mobile device. Sending the data packets according to the selected transmission mode includes encapsulating packets transmitted from the mobile device to the femtocell. Sending a signal to the femtocell indicating a start of an aggregate data session in response to the third transmission mode being selected. Sending a signal to the femtocell indicating the end of the aggregate data session after sending the data packets according to the third transmission mode. The wireless transceiver is a wireless transceiver of a wireless router. Selecting a transmission mode includes selecting the second transmission mode for LTE user plane data, and selecting the first transmission mode for LTE control plane data. Sending an aggregation discovery message to the femtocell, receiving an aggregation discovery response from the femtocell, transmitting first aggregation information to the femtocell, receiving second aggregation information from the femtocell, and configuring an aggregation layer of the mobile device based on the first aggregation information and the second aggregation information. The first aggregation information comprises aggregation policy information. Testing WiFi connectivity with the femtocell.
An example apparatus for aggregating wireless communications traffic in a mobile device includes means for receiving at an aggregation module of a mobile device a stream of data packets to be transmitted to a remote network entity; means for selecting a transmission mode, for sending data packets of the stream of data packets from the mobile device to a femtocell associated with the mobile device, the selecting comprising determining whether to transmit the data packets from the stream of data packets to the femtocell using a first transmission mode comprising transmitting the data packets from the stream via a Long Term Evolution (LTE) interface of the mobile device, to transmit the data packets to a wireless transceiver external to the femtocell for routing to the femtocell using a second transmission mode comprising transmitting the data packets from the stream via a WiFi interface of the mobile device, or to transmit the data packets from the data stream using a third transmission mode comprising transmitting a first portion of the data packets to the femtocell via the LTE interface and transmitting a second portion of the data packets to the wireless transceiver via a WiFi interface for routing to the femtocell; and means for sending the data packets according to the selected transmission mode.
Implementations of such an apparatus may include one or more of the following features. The means for selecting the transmission mode includes means for selecting the transmission mode based at least in part on link conditions of an LTE link between the femtocell and the mobile device. The means for selecting the transmission mode includes means for selecting the transmission mode based at least in part on link conditions of a WiFi link between the femtocell and the mobile device. The means for selecting the transmission mode includes means for selecting the transmission mode based at least in part on loading of an LTE link between the femtocell and the mobile device. The means for selecting the transmission mode includes means for selecting the transmission mode based at least in part on loading of a WiFi link between the femtocell and the mobile device. The means for sending the data packets according to the selected transmission mode includes means for encapsulating packets transmitted from the mobile device to the femtocell. Means for sending a signal to the femtocell indicating a start of an aggregate data session in response to the third transmission mode being selected. Means for sending a signal to the femtocell indicating the end of the aggregate data session after sending the data packets according to the third transmission mode. The wireless transceiver is a wireless transceiver of a wireless router. The means for selecting the transmission mode includes means for selecting the second transmission mode for LTE user plane data, and means for selecting the first transmission mode for LTE control plane data. Means for sending an aggregation discovery message to the femtocell, means for receiving an aggregation discovery response from the femtocell, means for transmitting first aggregation information to the femtocell, means for receiving second aggregation information from the femtocell, and means for configuring an aggregation layer of the mobile device based on the first aggregation information and the second aggregation information. The first aggregation information comprises aggregation policy information. Means for testing WiFi connectivity with the femtocell.
An example computer-readable medium, having stored thereon computer-readable instructions for aggregating wireless communications traffic in a mobile device, according to the disclosure includes instructions configured to cause a computer to: receive at an aggregation module of a mobile device a stream of data packets to be transmitted to a remote network entity; select a transmission mode, for sending data packets of the stream of data packets from the mobile device to a femtocell associated with the mobile device, the selecting comprising determining whether to transmit the data packets from the stream of data packets to the femtocell using a first transmission mode comprising transmitting the data packets from the stream via a Long Term Evolution (LTE) interface of the mobile device, to transmit the data packets to a wireless transceiver external to the femtocell for routing to the femtocell using a second transmission mode comprising transmitting the data packets from the stream via a WiFi interface of the mobile device, or to transmit the data packets from the data stream using a third transmission mode comprising transmitting a first portion of the data packets to the femtocell via the LTE interface and transmitting a second portion of the data packets to the wireless transceiver via a WiFi interface for routing to the femtocell; and send the data packets according to the selected transmission mode.
Implementations of such a tangible computer-readable medium may include one or more of the following features. The instructions configured to cause the computer to select the transmission mode include instructions configured to cause the computer to select the transmission mode based at least in part on link conditions of an LTE link between the femtocell and the mobile device. The instructions configured to cause the computer to select the transmission mode include instructions configured to cause the computer to select the transmission mode based at least in part on link conditions of a WiFi link between the wireless transceiver and the mobile device. The instructions configured to cause the computer to select the transmission mode include instructions configured to cause the computer to select the transmission mode based at least in part on loading of an LTE link between the femtocell and the mobile device. The instructions configured to cause the computer to select the transmission mode include instructions configured to cause the computer to select the transmission mode based at least in part on loading of a WiFi link between the wireless transceiver and the mobile device. The instructions configured to cause the computer to send the data packets according to the selected transmission mode include instructions configured to cause the computer to encapsulate packets transmitted from the mobile device to the femtocell. Instructions configured to cause the computer to send a signal to the femtocell indicating a start of an aggregate data session in response to the third transmission mode being selected. Instructions configured to cause the computer to send a signal to the femtocell indicating an end of the aggregate data session after sending the data packets according to the third transmission mode. The wireless transceiver is a wireless transceiver of a wireless router. The instructions configured to cause the computer to select the transmission mode further comprise instructions configured to cause the computer to select the second transmission mode for LTE user plane data, and select the first transmission mode for LTE control plane data. Instructions configured to cause the computer to: send an aggregation discovery message to the femtocell, receive an aggregation discovery response from the femtocell, transmit first aggregation information to the femtocell, receive second aggregation information from the femtocell, and configure an aggregation layer of the mobile device based on the first aggregation information and the second aggregation information. The first aggregation information comprises aggregation policy information. Instructions configured to cause the computer to test WiFi connectivity with the mobile device.
An example apparatus for aggregating wireless communications traffic in a mobile device according to the disclosure includes a tangible, non-transitory computer-readable memory; a plurality of modules comprising processor executable code stored in the memory; a processor connected to the memory and configured to access the plurality of modules stored in the memory; and a data aggregation module. The data aggregation module is configured to receive at an aggregation module of a mobile device a stream of data packets to be transmitted to a remote network entity; select a transmission mode, for sending data packets of the stream of data packets from the mobile device to a femtocell associated with the mobile device, the selecting comprising determining whether to transmit the data packets from the stream of data packets to the femtocell using a first transmission mode comprising transmitting the data packets from the stream via a Long Term Evolution (LTE) interface of the mobile device, to transmit the data packets to a wireless transceiver external to the femtocell for routing to the femtocell using a second transmission mode comprising transmitting the data packets from the stream via a WiFi interface of the mobile device, or to transmit the data packets from the data stream using a third transmission mode comprising transmitting a first portion of the data packets to the femtocell via the LTE interface and transmitting a second portion of the data packets to the wireless transceiver via a WiFi interface for routing to the femtocell; and send the data packets according to the selected transmission mode.
Implementations of such an apparatus may include one or more of the following features. The data aggregation module being configured to select the transmission mode is further configured to select the transmission mode based at least in part on link conditions of an LTE link between the femtocell and the mobile device. The data aggregation module being configured to select the transmission mode is further configured to select the transmission mode based at least in part on link conditions of a WiFi link between the wireless transceiver and the mobile device. The data aggregation module being configured to select the transmission mode is further configured to select the transmission mode based at least in part on loading of an LTE link between the femtocell and the mobile device. The data aggregation module being configured to select the transmission mode is further configured to select the transmission mode based at least in part on loading of a WiFi link between the wireless transceiver and the mobile device. The data aggregation module being configured to send the data packets according to the selected transmission mode is further configured to encapsulate packets transmitted from the mobile device to the femtocell. The data aggregation module is further configured to send a signal to the femtocell indicating a start of an aggregate data session in response to the third transmission mode being selected. The data aggregation module is further configured to send a signal to the femtocell indicating an end of the aggregate data session after sending the data packets according to the third transmission mode. The wireless transceiver is a wireless transceiver of a wireless router. The data aggregation module is further configured to select the second transmission mode for LTE user plane data, and select the first transmission mode for LTE control plane data. The data aggregation module is further configured to send an aggregation discovery message to the femtocell; receive an aggregation discovery response from the femtocell, transmit first aggregation information to the femtocell, receive second aggregation information from the femtocell, and configure an aggregation layer of the mobile device based on the first aggregation information and the second aggregation information. The first aggregation information comprises aggregation policy information. The data aggregation module is further configured to test WiFi connectivity with the femtocell.
An example method for aggregating wireless communications traffic in a femtocell according to the disclosure includes receiving, at the femtocell, a first portion of data packets from a data stream from a mobile device via a wireless transceiver external to the femtocell; receiving, at the femtocell, a second portion of data packets from the data stream from the mobile device via a wireless connection with the mobile device; aggregating the first portion of the data packets and the second portion of the data packets to reassemble the data stream at the femtocell to create an aggregated data stream, and sending the aggregated data stream to a destination network entity which is an intended recipient of the first set of data packets and the second set of data packets.
Implementations of such a method may include one or more of the following features. Receiving a signal from the mobile device indicating a start of an aggregate data session prior to receiving the first portion of the data packet and the second portion of the data packets. Receiving a signal from the mobile device indicating an end of the aggregate data session after receiving the first portion of the data packet and the second portion of the data packets. The wireless transceiver is a wireless transceiver of a wireless router connected to the femtocell.
An example apparatus for aggregating wireless communications traffic in a femtocell according to the disclosure includes means for receiving, at the femtocell, a first portion of data packets from a data stream from a mobile device via a wireless transceiver external to the femtocell; means for receiving, at the femtocell, a second portion of data packets from the data stream from the mobile via a wireless connection with the mobile device; means for aggregating the first portion of the data packets and the second portion of the data packets to reassemble the data stream at the mobile device at the femtocell to create an aggregated data stream, and means for sending the aggregated data stream to a destination network entity which is an intended recipient of the first set of data packets and the second set of data packets.
Implementations of such an apparatus may include one or more of the following features. Means for receiving a signal from the mobile device indicating a start of an aggregate data session prior to receiving the first portion of the data packet and the second portion of the data packets. Means for receiving a signal from the mobile device indicating an end of the aggregate data session after receiving the first portion of the data packet and the second portion of the data packets. The wireless transceiver is a wireless transceiver of a wireless router connected to the femtocell.
An example tangible computer-readable medium, having stored thereon computer-readable instructions for aggregating wireless communications traffic in a femtocell, according to the disclosure includes instructions configured to cause a computer to: receive, at the femtocell, a first portion of data packets from a data stream from a mobile device via a wireless transceiver external to the femtocell; receive, at the femtocell, a second portion of data packets from the data stream from the mobile via a wireless connection with the mobile device; aggregate the first portion of the data packets and the second portion of the data packets to reassemble the data stream at the mobile device at the femtocell to create an aggregated data stream, and send the aggregated data stream to a destination network entity which is an intended recipient of the first set of data packets and the second set of data packets.
Implementations of such a tangible computer-readable medium may include one or more of the following features. Instructions configured to cause the computer to receive a signal from the mobile device indicating a start of an aggregate data session prior to receiving the first portion of the data packet and the second portion of the data packets. Instructions configured to cause the computer to receive a signal from the mobile device indicating an end of the aggregate data session after receiving the first portion of the data packet and the second portion of the data packets. The wireless transceiver is a wireless transceiver of a wireless router connected to the femtocell.
An example apparatus for aggregating wireless communications traffic in a femtocell according to the disclosure includes a tangible, non-transitory computer-readable memory; a plurality of modules comprising processor executable code stored in the memory; a processor connected to the memory and configured to access the plurality of modules stored in the memory; and a data aggregation module. The data aggregation module is configured to receive, at the femtocell, a first portion of data packets from a data stream from a mobile device via a wireless transceiver external to the femtocell; receive, at the femtocell, a second portion of data packets from the data stream from the mobile via a wireless connection with the mobile device; aggregate the first portion of the data packets and the second portion of the data packets to reassemble the data stream at the mobile device at the femtocell to create an aggregated data stream, and send the aggregated data stream to a destination network entity which is an intended recipient of the first set of data packets and the second set of data packets.
Implementations of such an apparatus may include one or more of the following features. The data aggregation module is further configured to receive a signal from the mobile device indicating a start of an aggregate data session prior to receiving the first portion of the data packet and the second portion of the data packets. The data aggregation module is further configured to receive a signal from the mobile device indicating an end of the aggregate data session after receiving the first portion of the data packet and the second portion of the data packets. The wireless transceiver is a wireless transceiver of a wireless router connected to the femtocell.
Techniques disclosed herein can be used to aggregate bandwidth of an LTE femtocell with an external WiFi router. These techniques may help overcome deficiencies of a conventional LTE femtocell system. In the examples illustrated herein, a WiFi router is integrated with a modem that is connected to a broadband Internet connection, such as a DSL modem or a cable modem. However, in other implementations, the modem and the WiFi router may be separate entities in communication with a wired or wireless network connection. Techniques described herein can be applied to both uplink and downlink transmissions and are transparent to components of the Evolved Packet Core (EPC) of the LTE network, such as the Mobility Management Entity (MME), Serving Gateway (SGW), Home Subscriber Server (HSS), Packet Data Network Gateway (PGW), and/or other components of the core network architecture. Furthermore, while the example implementations discussed herein are directed to LTE implementations, the techniques described herein can be used with other wireless wide area network (WWAN) systems.
The mobile device 120 may also be referred to as a User Equipment (UE), a mobile station, a terminal, an access terminal, a subscriber unit, a station, etc. The mobile device 120 may be a smartphone, a tablet computer, a laptop computer, or other device that is configured to communicate using both LTE and WiFi wireless communications protocols.
The modem/router 130 has a broadband connection to the network 110 that provides broadband connection that can serve as a backhaul for the femtocell 115. The network 110 may be the Internet and/or a combination of one or more networks. For example, the modem/router 130 may be a DSL modem/router or a cable modem/router, depending upon the type of broadband service being used in that particular implementation.
The modem/router 130 can be configured to provide wired and/or wireless network connectivity for the femtocell 115 to the network 110 via the broadband connection. The modem/router 130 can include a wired interface that allows the femtocell 115 to communicate with the server 125, the secure gateway 150, and/or other networked entities via the network 110. In the example implementations discussed herein, the wired interface comprises an Ethernet interface between the modem/router 130 and the femtocell 115. In other implementations, other types of wired and/or wireless connections may be used.
The modem/router 130 can be configured to serve as a wireless access point that can provide wireless network connectivity to the mobile device 120 and/or other devices using one or more WiFi communications protocols. The term “access point” is used herein generically to refer to a communication device, one example of which is an access point in a wireless local area network such as IEEE 802 series compliant network including the IEEE 802.11 family of standards commonly referred to as WiFi. The modem/router 130 provide the femtocell 115 with access to an wireless transceiver that is external to the femtocell 115 that the femtocell 115 can use to communicate with the mobile device 120.
In the examples illustrated herein, a WiFi router is integrated with a modem that is connected to a broadband Internet connection, such as a DSL modem or a cable modem. However, in other implementations, the modem and the WiFi router may be separate entities in communication with a wired or wireless network connection. Furthermore, other types of devices that provide a wireless transceiver that is external to the femtocell 115 that can be used to provide wireless connectivity between the femtocell 115 and the mobile device 120 may be used.
The femtocell 115 can be configured to provide wireless network connectivity to one or more LTE-enabled wireless devices, such as the mobile device 120. The femtocell 115 can be associated with a mobile communication network provider and can be configured to communicate with the mobile communication network provider's network via the modem/router 130. The coverage area of the femtocell 115 may overlap with that of one or more macrocell base stations and/or other femtocells (not shown) that may create severe and uncoordinated interface that can degrade the channel quality. As a result, the quality of the uplink and/or downlink communications between the femtocell 115 and the mobile device 120 may suffer. However, the femtocell 115 can be configured to improve the quality of the uplink and/or downlink communications by utilizing the WiFi interface of the modem/router 130 for communicating with the mobile device 120.
The femtocell 115 and the mobile device 120 can be configured to include aggregation layers. The aggregation layers of the femtocell 115 and the mobile device 120 can be configured to exchange information with one another including the IP addresses and port numbers associated with their respective devices, aggregation policy information (controlled by the femtocell 115), and signals indicating the beginning and/or the end of an aggregation session. In some implementations, the aggregation layer is implemented on top of an Internet Protocol (IP) layer. The policy information can be used by the aggregation layers of the femtocell 115 and the mobile device 120 to control various aspects of the aggregation techniques disclosed herein. For example, the policy information can specify that LTE user plane traffic should be routed over the WiFi connections between the femtocell 115 and the mobile device 120 and that LTE control plane traffic be routed over the LTE connection between the femtocell 115 and the mobile device 120. The policy information can also be used to control when aggregation may be used. For example, aggregation may be switched off if the backhaul throughput falls below a predetermined threshold, if link conditions of the LTE connection and/or the WiFi connections degrade, and/or loading of the LTE connection and/or the WiFi connections exceed a predetermined threshold.
The secure gateway 150 can be configured to provide a secure communications link between the femtocell 115 and the secure gateway 150. The secure gateway 150 provides for a secure backhaul solution that allows for data to be securely exchanged between the mobile provider's network and the femtocell 115 even though the data may be traversing one or more public networks 110. The femtocell 115 and the secure gateway 150 can be configured to encrypt data to be transmitted across the network 110. The secure gateway 150 can be configured to route data received from the femtocell 115 to one or more intended recipients elsewhere on the network 110, such as the server 125, and may also be configured to route data from the mobile device 120 to another mobile device 120 over one or more public or private network connections.
The example network configuration illustrated in
The processor 510 can be an intelligent device, e.g., a personal computer central processing unit (CPU) such as those made by Intel® Corporation or AMD®, a microcontroller, an application specific integrated circuit (ASIC), etc. The memory 560 is a storage device that includes random access memory (RAM) and read-only memory (ROM). The memory 560 stores processor-readable, processor-executable software code containing instructions for controlling the processor 510 to perform functions described herein (although the description may read that the software performs the function(s)). The software can be loaded onto the memory 560 by being downloaded via a network connection, uploaded from a disk, etc. Further, the software may not be directly executable, e.g., requiring compiling before execution.
The software in the memory 560 is configured to enable the processor 510 to perform various actions, including implementing the aggregation techniques described herein.
The data aggregation module 662 can be configured to perform the aggregation layer functions discussed in the various examples disclosed herein. For example, the data aggregation module 662 can be configured to process signals received from the received from the femtocell 115 that indicate the start and/or the end of a downlink data aggregation session. The data aggregation module 662 can also be configured to send signals to the femtocell 115 indicating the start and/or end of an uplink data aggregation session. The data aggregation module 662 can also be configured to receive multiple downlink data streams from femtocell 115 via the LTE interface 230 and the WiFi transceiver 570 and to aggregate those data streams into an aggregate data stream to recreate an original data that included the packets that were sent by the femtocell 115 over the LTE and WiFi connections. The data aggregation module 662 can also be configured to divide a data stream up into multiple streams of data that can be transmitted using the WiFi transceiver 570 and the LTE interface 230. The data aggregation module 662 can also be configured to exchange information with the data aggregation layer of the femtocell 115. For example, the data aggregation module 662 can be configured to exchange data, such as the MAC addresses and IP address associated with the LTE interface 230 and the WiFi interface 235 of the mobile device with the aggregation layer of the femtocell 115. The data aggregation module 662 can also be configured to receive aggregation policy information from the aggregation layer of the femtocell 115.
The aggregation policy information can include information that the aggregation layer of the femtocell 115 and/or the data aggregation module 662, serving as the aggregation layer of the mobile device 120, can use to select a transmission mode to be used for transmitting data from the femtocell 115 for downlink transmission and from the mobile device 120 for uplink transmissions.
In some implementations, the aggregation policy may indicate that certain types of data streams should be transmitted using a particular transmission mode. For example, some types of data streams may be split into multiple data streams to be transmitted using both WiFi and the LTE connections one or the other type of connection between the sender and the receiver. In an example implementation, the aggregation policy may indicate that User Datagram Protocol (UDP) datagrams should be sent using the LTE interface of the femtocell 115 or the mobile device 120. In an example implementation, the aggregation policy may also indicate that Transmission Control Protocol (TCP) data should be sent using the hybrid mode where a first portion of the data stream is transmitted using the LTE interface and a second portion of the data stream is transmitted using the WiFi interface of the femtocell 115 for downlink transmissions and/or where a first portion of the data stream is transmitted using the LTE interface and a second portion of the data stream is transmitted using the WiFi interface of the mobile device 120 for uplink transmissions.
In some implementations, the aggregation policy information can indicate that a particular transmission mode should be used for data streams that include a particular type of data. For example, the aggregation policy may indicate that data streams carrying voice data should not be split and should instead be transmitted via the WiFi interface or the LTE interface.
In some implementations, the aggregation policy information may include different aggregation policy parameters for different mobile devices 120. For example, the aggregation policy information may indicate that a first mobile device 120 may be use any of the transmission modes associated with the aggregation techniques disclosed herein while a second mobile device 120 may only use a subset of the aggregation techniques disclosed herein. The aggregation policy information may be determined based on quality of service (QoS) information associated with each of the mobile devices or associated with a subscriber plan associated with the mobile devices 120.
In some implementations, the aggregation policy can include one or more threshold values that can be used to determine which transmission mode to select for transmitting uplink and/or downlink data. For example, the aggregation policy information may define a threshold amount of data to be transmitted before a hybrid WiFi/LTE technique may be used to transmit uplink or downlink data. Different threshold values may be associated with uplink and downlink transmissions. Furthermore, different threshold values may be associated with different mobile devices 120 and/or femtocells 115.
In some implementations, the aggregation policy information can specify that LTE user plane traffic should be routed over the WiFi connections between the femtocell 115 and the mobile device 120. The aggregation policy information can also specify that LTE control plane traffic be routed over the LTE connection between the femtocell 115 and the mobile device 120.
In some implementations, the aggregation policy information can also specify that if the backhaul providing network connectivity to the femtocell 115 is limiting data throughput, the aggregation layer of the femtocell and the aggregation layer of the mobile device 120 can be configured to not use the aggregation techniques until throughput improves. The aggregation layer 205 of the femtocell 115 can be configured to monitor uplink and/or downlink speeds provided by the backhaul and can be configured to switch off downlink aggregation if downlink speeds provided by the backhaul degrade below a predetermined threshold and can switch downlink aggregation back on if the downlink speeds provided by the backhaul recover. The aggregation layer 205 of the femtocell 115 can be configured to send an aggregation configuration message to the aggregation layer 225 of the mobile device 120 to notify the mobile device 120 when to stop using the data aggregation techniques or when the mobile device 120 may resume using the data aggregation techniques.
The data aggregation module 662 of the mobile device 120 can also be configured to buffer aggregation data received from the WiFi and the LTE paths between the mobile device 120 and the femtocell 115. The data aggregation module 662 can be configured to implement the de jitter buffer in the memory 560 of the mobile device 120. The data aggregation module 662 can use the buffer to manage skew between the LTE path and the WiFi path between the mobile device 120 and the femtocell 115 to provide seamless aggregation. The buffering can compensate for latency between the LTE and WiFi paths. The data aggregation module 662 can be configured to buffer the data received to from the LTE interface 230 and/or the WiFi interface 235 to allow for lost and/or delayed packets from the data stream to reach the mobile device 120.
The processor 710 can be an intelligent device, e.g., a personal computer central processing unit (CPU) such as those made by Intel® Corporation or AMD®, a microcontroller, an application specific integrated circuit (ASIC), etc. The memory 760 is a storage device that includes random access memory (RAM) and read-only memory (ROM). The memory 760 stores processor-readable, processor-executable software code containing instructions for controlling the processor 710 to perform functions described herein (although the description may read that the software performs the function(s)). The software can be loaded onto the memory 760 by being downloaded via a network connection, uploaded from a disk, etc. Further, the software may not be directly executable, e.g., requiring compiling before execution.
The software in the memory 760 is configured to enable the processor 710 to perform various actions, including implementing the various aggregation techniques described herein.
The data aggregation module 1962 can be configured to perform the aggregation layer functions of the femtocell 115 discussed in the various examples disclosed herein. For example, the data aggregation module 1962 can be configured to process signals received from the received from the mobile device 120 that indicate the start and/or the end of an uplink data aggregation session. The data aggregation module 1962 can also be configured to send signals to the mobile device 120 indicating the start and/or end of a downlink data aggregation session.
The data aggregation module 1962 can also be configured to receive multiple downlink data streams from mobile device 120 (via the LTE Interface 215 and routed to the femtocell 115 from modem/router 130 via the Ethernet interface 210), to aggregate those data streams into an aggregate data stream to recreate an original data that included the packets that were sent by the mobile device 120, and to route the aggregate data stream to an intended recipient. The intended recipient may be a remote network entity, such as server 125 or another mobile device 120. The data aggregation module 1962 can also be configured to divide a downlink data stream to be transmitted to the mobile device 120 into multiple data streams. The data aggregation module 1962 can be configured route a first portion of data packets from the data stream to the mobile device via the modem/router 130, which can transmit the packets to the mobile device 120 using the WiFi interface of the modem router, and to transmit a second portion of the data packets from the data stream to the mobile device 120 using the LTE Interface 215.
The data aggregation module 1962 can also be configured to send aggregation policy information to the mobile device 120. The aggregation policy can be used to determine which transmission modes may be used to send uplink and/or downlink data and can also specify certain conditions where data aggregation may be used and certain conditions where data aggregation may not be used. For example, the aggregation policy information can specify that if the backhaul providing network connectivity to the femtocell 115 is limiting data throughput, the aggregation layer of the femtocell and the aggregation layer of the mobile device 120 can be configured to not use the aggregation techniques until throughput improves. The data aggregation module 1962 of the femtocell 115 can be configured to monitor uplink and/or downlink speeds provided by the backhaul and can be configured to switch off downlink aggregation if downlink speeds provided by the backhaul degrade below a predetermined threshold and can switch downlink aggregation back on if the downlink speeds provided by the backhaul recover. The data aggregation module 1962 can be configured to send an aggregation configuration message to the mobile device 120 via the LTE interface 215 of the femtocell to instruct the aggregation layer 225 of the mobile device to enable or disable data aggregation. In some implementations, the aggregation policy information can specify that LTE user plane traffic should be routed over the WiFi connections between the femtocell 115 and the mobile device 120. The aggregation policy information can also specify that LTE control plane traffic be routed over the LTE connection between the femtocell 115 and the mobile device 120.
The aggregation layer of the femtocell 115 can also be configured to monitor uplink speeds provided by the backhaul and to send a aggregation configuration message to the aggregation layer 225 of the mobile device 120 in the event that uplink speeds fall below a predetermined threshold to instruct the mobile device 120 to turn off the uplink aggregation. The aggregation layer 205 of the femtocell 115 can also be configured to monitor to the uplink speeds provided by the backhaul and to send a signal to the aggregation layer of the mobile device 120 that the aggregation layer 225 of the mobile device 120 can resume using aggregation techniques for uplink transmissions.
The data aggregation module 1962 of the femtocell 115 can also be configured to buffer aggregation data received from the WiFi and the LTE paths between the mobile device 120 and the femtocell 115. The data aggregation module 1962 can be configured to implement the de-jitter buffer in the memory 760 of the femtocell 115. The data aggregation module 1962 can use the buffer to manage skew between the LTE path and the WiFi path between the mobile device 120 and the femtocell 115 to provide seamless aggregation. The buffering can compensate for latency between the LTE and WiFi paths. The data aggregation module 1962 can be configured to buffer the data received to from the LTE interface 215 and/or the Ethernet interface 215 (via WiFi link between the mobile device 120 and the modem/router 130) to allow for lost and/or delayed packets from the data stream to reach the femtocell 115.
The aggregation layer 205 of the femtocell can be configured to perform aggregation on uplink data streams transmitted to the femtocell 115 by the mobile device 120 via the LTE interface 230 and the WiFi interface 235 of the mobile device. In this example embodiment, the aggregation layer 205 of the mobile device 120 is implemented at the RLC layer of the LTE interface 230 of the mobile device 120. The aggregation layer 225 of the mobile device can be configured to split a data stream to be transmitted from the mobile device 120 to the femtocell 115 into a first portion to be transmitted via the WiFi interface 235 to the modem/router 130 and a second portion to be transmitted directly to the femtocell using the LTE interface 230. The portion of the data transmitted using the LTE interface 230 of the mobile device 120 can follow the path illustrated in
Similarly, the aggregation layer 225 of the mobile device 120 can be configured to perform aggregation on downlink data streams transmitted to the mobile device 120 by the femtocell 115. The aggregation layer 205 of the femtocell 115 can be configured to split a data stream to be transmitted from the femtocell 115 to the mobile device 120 into a first portion to be routed to the modem/router 130 and transmitted via the WiFi interface 245 of the modem/router 130 and a second portion to be transmitted directly to the femtocell using the LTE interface 215 of the femtocell 115. The portion of the data transmitted using the LTE interface 215 of the femtocell 115 can follow the path illustrated in
The following examples illustrate how aggregation of LTE and WiFi bandwidth can be achieved. These example implementations can be implemented using femtocell 115, the mobile device 120, and the modem/router illustrated in
The aggregation layer 205 can be configured to determine which transmission mode to use to route the data from the femtocell 115 to the mobile device. If the first transmission mode is selected, the aggregation layer 205 can be configured to route the packets of the data stream to the LTE interface 215 of the femtocell 115. The LTE interface 215 can then transmit the packets from the data stream to the mobile device 120. The user device 120 can receive the packets transmitted by the LTE interface 215 of the femtocell 115 via the LTE interface 230, and the LTE interface 230 can be configured to pass the received packets of the data stream to the aggregation layer 225, and the aggregation layer 225 can provide the packets of the data stream to one or more consumers of the data stream on the mobile device 120, such as an audio and/or video player application, a navigation application, and/or other application configured to consume a data stream of the type received.
If the second transmission mode is selected, the aggregation layer 205 of the femtocell 115 can be configured to route the packets of the data stream through the modem/router 130 to be transmitted to the mobile device 120 via the WiFi interface 245 of the modem/router 130. The aggregation layer 205 can be configured route the packets from the data stream to the modem/router 130 through a wired or wireless connection between the femtocell 115 and the modem/router 130 and may also route the packets from the data stream through one or more intermediate devices, such as a hub or switch. In the example illustrated in
If the third transmission mode is selected, the aggregation layer 205 of the femtocell can be configured to transmit a first portion of the data packets from the data stream to the mobile device 120 via the LTE interface 215 and to route a second portion of the data packets from the data stream to the mobile device via the WiFi interface of the modem/router 130. The aggregation layer 205 can be configured to route the first portion of packets of the data stream to the LTE interface 215 of the femtocell 115. The LTE interface 215 can then transmit the first portion of the packets from the data stream to the mobile device 120. The user device 120 can receive the packets transmitted by the LTE interface 215 of the femtocell 115 via the LTE interface 230, and the LTE interface 230 can be configured to pass the received packets of the data stream to the aggregation layer 225. The aggregation layer 205 of the femtocell 115 can be configured route the second portion of packets from the data stream to the modem/router 130 through a wired or wireless connection between the femtocell 115 and the modem/router 130 and may also route the packets from the data stream through one or more intermediate devices, such as a hub or switch. The Ethernet interface 240 of the modem/router 240 can be configured to provide the received packets to switch 245, and switch 245 can in turn route the data packets to the WiFi interface 245 for transmission to the mobile device 120. The data packets of the data stream can be received by the WiFi interface 235 of the mobile device 120 and provided to the aggregation layer 225 of the mobile device 120. The aggregation layer 225 of the mobile device 120 can be configured to reassemble the data stream from the first portion of data packets and the second portion of data packets received via the LTE interface 230 and the WiFi interface 235, respectively.
The first portion of packets and the second portion of packets may or may not be concurrent packets within the data stream and/or may be interleaved sets of packets. Furthermore, since the packets are being transmitted to the mobile device 120 using two different interfaces, the packets may be received out of order. The aggregation layer 225 of the mobile device 120 can be configured to receive the first and second portions of the data packets and to reorder/aggregate the packets back into a single coherent data stream. The aggregation layer 225 of the mobile device can be configured to include a de-jitter buffer that manages skew between the LTE path and the WiFi path between the mobile device 120 and the femtocell 115 to provide seamless aggregation. The buffering by the aggregation layer 225 can compensate for latency between the LTE and WiFi paths. The aggregation layer 225 can be configured to buffer the data received to from the LTE interface 230 and/or the WiFi interface 235 to allow for lost and/or delayed packets from the data stream to reach the mobile device 120.
An aggregation layer 205 of the femtocell 115 can be configured to select which transmission mode to use based on channel conditions and/or other considerations. For example, if the LTE interface 215 is experiencing interference from a macrocell and/or one or more nearby femtocells or the LTE downlink channels are already being utilized, the aggregation layer 205 of the femtocell 115 can select the second transmission mode. The aggregation layer 205 can select the first transmission mode if the channel conditions for downlink channel are good and/or the WiFi interface is already being utilized to transmit data. The aggregation layer 205 of the femtocell 115 can select the third transmission mode where the channel quality is good for both WiFi and LTE transmissions.
In the example illustrated in
The aggregation layer 225 of the mobile device 120 can be configured to provide a first portion of data packets from the data stream to the LTE interface 230 and a second portion of data packets from the data stream to the WiFi interface 235. The modem/router 130 can be configured to receive the data packets transmitted by the WiFi interface 235 of the mobile device 120 and to route the received packets to the switch 245. The switch 245 can then route the received packets to the Ethernet interface 240, and the Ethernet interface 240 can send the packets to the femtocell 115. The Ethernet interface 210 of the femtocell 115 can receive the packets from the modem/router 130 and provide the received packets to the aggregation layer 205 of the femtocell 115.
The LTE interface 215 of the femtocell 115 can receive the packets transmitted by the LTE interface 230 of the mobile device 115 and provide the received packets to the aggregation layer 205 of the femtocell 115. The aggregation layer 115 of the femtocell can be configured to aggregate the data packets received from the mobile device 120 and to send the aggregated data stream to the secure gateway 150, which may in turn route the single data stream to an intended destination of the data stream, such as server 125 (or another destination identified in the data packets of the first and second data streams).
The aggregation layer 225 of the mobile device can be configured select whether to transmit data using the LTE interface 230 and/or the WiFi interface 235 based on the channel conditions and/or on the channel usage. For example, the aggregation layer 225 can be configured to transmit data using primarily the WiFi interface 235 if a macrocell or other femtocell is causing interference that affects channel quality for LTE transmission. The aggregation layer 225 can be configured to transmit data using primarily the LTE interface 230 if there is interference on the WiFi channel and be configured to transmit data using primarily the WiFi interface 235 if there is interference on the LTE channel. The aggregation layer 225 of the mobile device 120 can also be configured to take into account other factors, such as a quality of service (QoS) requirements associated with the data to be transmitted and/or the mobile device 120, QoS requirements associated with other data to be transmitted to the mobile device and/or or QoS requirements associated with another mobile device that is connected to the femtocell 115 and/or the modem/router 130.
The aggregation layer 205 of the femtocell 115 can be configured to include a de-jitter buffer that manages skew between the LTE path and the WiFi path between the mobile device 120 and the femtocell 115 to provide seamless aggregation. The buffering by the aggregation layer 205 can compensate for latency between the LTE and WiFi paths. The aggregation layer 205 can be configured to buffer the data received to from the LTE interface 215 and/or the Ethernet interface 215 (through which data traveling along the WiFi path to the femtocell 115 would be routed to the femtocell 115 from the modem/router 130) to allow for lost and/or delayed packets from the data stream to reach the femtocell 115.
In the example frame format illustrated in
The LTE interface 230 of the mobile device 120 can be associated with a first IP address and the WiFi interface 235 can be associated with a second IP address. The first IP address associated with the LTE interface 230 is associated with the wireless communication provider. In some implementations, the first IP address may be a public IP address that is part of a publicly addressable address space associated with the wireless communications provider, while in other implementations, the first IP address may be a private IP address associated with the wireless communication provider. The second IP address associated with the WiFi interface 235 may be a private IP address that is assigned to the WiFi interface 235 by the modem/router 130 and is part of a private IP address space associated with the single public IP address associated with the router/modem 130. When routing uplink traffic through the WiFi interface 235 of the mobile device 120 to the femtocell 115, the source IP address field 820 is set to the IP address associated with the LTE interface 820 and the IP address associated with the LTE interface 820 will not be translated by the NAT module of the modem/router 130 to the public IP address of the modem/router 130 since the IP address associated with the LTE interface 820 is not part of the private address maintained by the modem/router 130. The destination IP address field 825 is set to the IP address of the destination of the packet. For example, the destination IP address field 825 would be set to a public IP address associated with the server 125 if the intended destination of the packet is server 125. The checksum field 830 is set to a checksum value based on the data in the other fields of the frame 805 and can be used by the receiver to determine whether the frame 805 has been corrupted in transit. The payload field 835 includes data to be transmitted to the intended destination of the frame 805.
The frame 840 is an example of a frame that can be transmitted from the femtocell 115 to the modem/router 130 in response to the femtocell 115 receiving the data frame 805. The destination MAC field of the frame 840 is set to the MAC address of the modem/router 130 and the source MAC address field 845 is set to the MAC address of the femtocell 115. The source IP address field 855 is set to the IP address of the femtocell 115 and the destination IP address is set to the IP address associated with a secure gateway server 150. The secure gateway server is a server associated with the mobile network provider with which the femtocell 115 is associated. The secure gateway server is configured to receive traffic routed to it by the femtocell 115 and to route the received traffic to the appropriate final destination. For example, the secure gateway server can route frame 805 to the final destination indicated in the destination IP address field 825. The checksum field 865 is set to a checksum value based on the data in the other fields of the frame 840 and can be used by the receiver to determine whether the frame 840 has been corrupted in transit. The payload of packets exchanged between the femtocell 115 and the secure gateway are encrypted, and the payload field 870 can be set to include part of the contents of frame 805 in an encrypted form. In the example illustrated in
The frame 875 is an example of a frame that can be transmitted by the modem/router 130 to the secure gateway server over the Internet in response to receiving the frame 840 from the femtocell 115. The source IP address filed 880 of the frame 875 can be set to the public IP address of the modem/router 130 and the destination IP address field 875 can be set to the IP address of the secure gateway server. The checksum 880 can be set to a checksum value based on the data in the other fields of the frame 875 and can be used by the receiver to determine whether the frame 875 has been corrupted in transit. The payload field 885 can be set to include the encrypted contents of the payload field 870 from frame 840.
The diagram of
Frame 903 provides an example of a frame format that can be used when sending data from the mobile device 120 to the femtocell 115 via the WiFi interface 235 of the mobile device 120 in stage 1 of the uplink process. The destination MAC address field 905 for the frame is set to the MAC address of the modem/router 130, and the source MAC address field 910 is set to the MAC address of the mobile device 120. The source IP address field 915 is set to the IP address associated with the WiFi interface 235 of the mobile device 120 (in contrast with the example illustrated in
Frame 907 provides an example of frame format that can be used when sending a frame from the femtocell 115 to the modem/router 130 in stage 2 of the uplink process. The destination MAC address field 950 can be set to the MAC address of the modem/router 130 and the source MAC address field 955 can be set to the MAC address of the femtocell. The source IP address field 960 can be set to the IP address of the femtocell 115 and the destination IP address field 965 can be set to the IP address of the secure gateway 150. The checksum field 970 is set to a checksum value based on the data in the other fields of the frame 907 and can be used by the receiver to determine whether the frame 907 has been corrupted in transit. The femtocell 115 can also be configured to generate an encrypted payload field 975 for the frame 907. The femtocell is configured to communicate using encrypted communications to provide secure communications with the secure gateway 150. The femtocell 115 can be configured to encrypt the values from the second source IP address field 930, the second destination IP address field 935, the checksum 940, and the payload 945 from the frame 903 that the femtocell 115 receives from the mobile device 120 via the modem/router 130.
The modem/router 130 can be configured to receive the frame 907 and to generate the frame 909 in response to receiving the frame 909 from the femtocell 115. The frame 909 includes a source IP address field 980 which is set to the public IP address associated with the modem/router 130. The destination IP address field 985 is set to the public IP address of the secure gateway 150. The payload field 995 of the frame 909 is the contents of the payload field 975 of the frame 975, which comprises the encrypted data generated by the femtocell 115 to be sent to the secure gateway 150. The secure gateway 150, in response to receiving the frame 909, will decrypt the contents of the payload and send the original contents of the payload field 945 from frame 903 to the intended recipient over the network 110. While the example illustrated in
The process can begin with the femtocell 115 receiving a stream to data packets to be transmitted to the mobile device 120 (stage 1005). The stream of data packets may be received from server 125, another mobile device, or another network-connected entity. The modem/router 130 can receive the stream of data packets from the source network-connected entity via the network 110 and route the stream of data packets to the femtocell 115. The stream of data packets may have been received from the secure gateway 150 or from another network-connected entity, such as the server 125. Furthermore, a destination address of the data packets may use the IP address associated with the LTE interface 230 of the mobile device 120, since the IP address associated with the WiFi interface 235 of the mobile device 120 will typically be a private IP address associated with a local network connection used for WiFi communications between the modem/router 130 and the mobile device 120.
A transmission mode can then be selected for sending the data packets of the data stream from the femtocell 115 to the mobile device 120 (stage 1010). The aggregation layer 205 of the femtocell can be configured to select a transmission mode to use for transmitting the data packets of the data stream to the mobile device 120. For example, in the example implementation illustrated in
The data packets can then be sent according to the selected transmission model (stage 1015). The aggregation layer 205 can be configured to route any packets to be transmitted via the LTE interface 215 of the femtocell 115 to the LTE interface 215 for transmission if all or part of the data packets are to be transmitted to the mobile device 120 via the LTE interface 215. The aggregation layer 205 can also be configured to route any packets to be transmitted via the WiFi interface 245 of the modem/router 130 to the modem/router 130 via the Ethernet interface 210. The modem/router 130 can then transmit the packets received from the femtocell 115 to the mobile device 120 using via the WiFi interface 245.
The femtocell 115 can be configured to determine channel characteristics of the WiFi and/or the LTE downlink channels (stage 1105). For example, the aggregation layer 205 of the femtocell 115 can be configured to request downlink channel condition information from the mobile device 120. The aggregation layer 205 of the femtocell 115 can also be configured to periodically receive channel condition information from the mobile device 120 for the LTE downlink channels and/or the WiFi downlink channel.
The femtocell 115 can also be configured to determine a data load currently associated with the WiFi and LTE channels (stage 1110). The aggregation layer 205 of the femtocell 115 can be configured to keep track of what data is being routed to the mobile device via the WiFi and LTE channels.
A transmission mode can be selected based at least in part on the channel characteristics and/or the loading of the channels (stage 1115). The aggregation layer 205 of the femtocell can be configured to select which transmission mode to use based on the channel characteristics and/or the loading of the channels
The aggregation layer 205 of the femtocell 115 can also be configured to take into consideration other factors, such as the QoS associated with the mobile device 120, the data stream to be transmitted to the mobile device 120, and/or the QoS associated with other data to be transmitted to mobile device 120 and/or the QoS associated with another mobile device that is connected to the femtocell 115 and/or the modem/router 130.
A determination can be made whether the aggregate transmission mode has been selected (stage 1205). The aggregation layer 205 of the femtocell 115 can determine a transmission mode to be used for sending a downlink data stream to the mobile device 120. If the aggregate transmission mode is selected by the aggregation layer 205, the data packets from the downlink data stream can be transmitted to the mobile device 120 over both the LTE and WiFi channels.
If the hybrid/aggregate transmit mode has been selected, a first portion of the packets to be transmitted to the mobile device 120 can be selected to be transmitted to the mobile device 120 via the WiFi interface 245 of the modem/router (stage 1210). A second portion of the packets to be transmitted to the mobile device 120 can be selected to be transmitted to the mobile device 120 via the LTE interface 215 of the femtocell 115 (stage 1215).
The first portion of the data packets can be routed the modem/router 130 to be transmitted to the mobile device 120 via the WiFi interface of the modem/router 130 (stage 1220). The aggregation layer 205 can set the destination IP address of the data packets to the IP address associated with the WiFi interface 235 of the mobile device 120. The aggregation layer 205 can the route the data packets to the modem/router 130 via the Ethernet interface 210.
The second portion of the data packets can be transmitted to the mobile device 120 using the LTE interface 215 of the femtocell 115 (stage 1225). The aggregation layer 205 of the femtocell 115 can be configured to send the second portion of the data packets to the mobile device 120 via the LTE interface 205 of the femtocell 115. The destination IP address of the packets can be set to the IP address associated with the LTE interface 230 of the mobile device 120.
If the hybrid/aggregate transmit mode was not selected, a determination can be made whether the WiFi-only transmit mode has been selected (stage 1230). If the WiFi-only transmit mode has been selected, the aggregation layer 205 of the femtocell 115 can be configured to route the data packets of the data stream to the modem/router 130 for transmission to the mobile device 120 via the WiFi interface 245 of the femtocell 115 (stage 1235). The aggregation layer 205 can set the destination IP address of the data packets to the IP address associated with the WiFi interface 235 of the mobile device 120.
If the neither the hybrid/aggregate transmit mode nor the WiFi-only mode were selected, the aggregation layer 205 of the femtocell 115 can be configured to transmit the data packets from the data stream to the mobile device 120 via the LTE interface 205 of the femtocell 115 (stage 1240). The destination IP address of the packets can be set to the IP address associated with the LTE interface 230 of the mobile device 120.
The aggregation layer 205 of the femtocell 115 and the aggregation layer 225 of the mobile device can be configured to exchange information via the LTE interface between the femtocell 120 and the mobile device 120 or via the WiFi interface between the mobile device 120 and the modem/router 130. The information exchanged can include MAC address information, IP address information, port information, and other information that the aggregation layers of the two devices can use when routing information according to the various techniques disclosed herein.
The mobile device 120 can optionally receive a signal from the femtocell 115 indicating the start of an aggregate data session between the femtocell 115 and the mobile device 120 (stage 1305). In some implementations, the aggregation layer 205 of the femtocell 115 can be configured to send a signal to the aggregation layer 225 of the mobile device 120 to signal that a data stream is about to be sent to the mobile device via WiFi and LTE connections with the mobile device 120. In some implementations, when the aggregation layer 205 of the femtocell can be configured to block other data packets from being transmitted from the femtocell 115 and the modem/router 130 to the mobile device 120 for the duration of an aggregation session. This blocking may be handled automatically by the mobile device 120 and/or the femtocell 115 in some implementations, and thus the aggregation layer may not need to implement the blocking functionality.
The mobile device 120 can then receive a first set of data packets from femtocell 115 via the LTE interface 230 (stage 1310). The femtocell 115 can be configured to select a first portion of the data packets of the aggregate data stream to be transmitted to the mobile device 120 via the LTE interface 215 of the femtocell 115. The mobile device 115 can be configured to receive these data packets via the LTE interface 230, and the LTE interface 230 can be configured to provide the received data packets to the aggregation layer 225 of the mobile device.
The mobile device 120 can then receive a second set of data packets from the femtocell 115 via the WiFi interface 235 (stage 1315). The femtocell 115 can be configured to select a second portion of the data packets of the aggregate data stream to be transmitted to the mobile device 120 via the WiFi interface 245 of the modem/router 130 and to route the second portion of the data packets of the aggregate data stream to the modem/router 130. The modem/router 130 can then transmit the second portion of the packets to the mobile device 120 via the WiFi interface 245.
The mobile device 120 can then optionally receive a signal from the femtocell 115 indicating the end of the aggregate data session between the femtocell 115 and the mobile device 120 (stage 1320). In some implementations, the aggregation layer 205 of the femtocell 115 can be configured to send a signal to the aggregation layer 225 of the mobile device 120 to signal that the data associated the data stream has been transmitted and that the aggregate data session between the femtocell 115 and the mobile device 120 has ended.
The mobile device 120 can then aggregate the stream of data packets from the first set of data packet and the second set of data packets to reassemble the data stream that had originally been split into the first and second portions transmitted over the WiFi and LTE, connections respectively (stage 1325). The aggregation layer 225 of the mobile device 120 can be configured to aggregate the first and second portions of the data packets received from the femtocell 115 in response to receiving the signal from the femtocell that the aggregate data session has completed. In some implementations, the aggregation layer 225 can be configured to begin reassembling the original data stream from the packets received via the WiFi interface 235 and the LTE interface 230 as the data packets are received. In some implementations, the data packets can include a packet sequence number that indicates the relative position of the packet in the original data stream, and the aggregation layer can use the packet sequence number to determine where the packet belongs in the aggregate data stream. The aggregation layer 205 can be configured to provide the aggregate data stream to a data stream consumer on the mobile device 120. The aggregation layer 205 can be configured buffer at least a portion of the aggregate data stream in a memory of the mobile device 120 before providing the aggregate data stream to the data stream consumer to attempt to provide an uninterrupted data stream to the data stream consumer. The size of the buffer used by the aggregation layer 205 may be dependent on the data rates provided by the WiFi and LTE connection, and a smaller buffer may be required where the WiFi and LTE connections provide a lower data and a larger buffer may be required if the WiFi and/or LTE connections provide a higher data rate. The aggregation layer 205 can be configured to determine the size of the buffer based at least in part on the channel conditions over the LTE and WiFi connections.
A stream of data packets can be received by the mobile device 120 for transmission to a remote network entity (stage 1405). For example, the aggregation layer 225 of the mobile device 120 can be configured to receive a stream of data packets from an application running on the mobile device 120. The data steam may be intended for a remote network-enable entity, such as server 125 or another mobile device 120.
A transmission mode for sending the data packets from the mobile device 120 can be selected (stage 1410). The aggregation layer 225 of the mobile device 120 can be configured to select a transmission mode to use for transmitting the data packets of the data stream to the femtocell 115, which can then route the data stream to the intended recipient of the data stream. For example, in the example implementation illustrated in
The data packets can then be sent according to the selected transmission mode (stage 1415). The aggregation layer 225 of the mobile device 120 can be configured to send the data packets to the femtocell 115 according to the aggregation method selected. In the event that an aggregate data stream is to be transmitted over both the WiFi and the LTE connections, the aggregation layer 225 of the mobile device 120 can be configured to send a signal to the aggregation layer 205 of the femtocell 115 to indicate that the start of an aggregation session.
The femtocell 115 can be configured to determine channel characteristics of the WiFi and/or the LTE uplink channels (stage 1505). For example, the aggregation layer 225 of the mobile device 120 can be configured to request uplink channel condition information from the femtocell 115. The aggregation layer 225 of the mobile device 120 can also be configured to periodically receive channel condition information from the femtocell 115 for the LTE uplink channels and/or from the modem/router 130 for the WiFi downlink channels.
The mobile device 120 can also be configured to determine a data load currently associated with the WiFi and LTE uplink channels (stage 1510). The aggregation layer 225 of the mobile device 120 can be configured to keep track of what data is being routed to the mobile device via the WiFi and LTE uplink channels. The femtocell 115 and/or the modem/router 130 may also be configured to periodically provide load information to the mobile device 120.
A transmission mode can be selected based at least in part on the channel characteristics and/or the loading of the channels (stage 1515). The aggregation layer 225 of the mobile device 120 can be configured to select which transmission mode to use based on the channel characteristics and/or the loading of the channels. The aggregation layer 225 can also be configured to take into consideration other factors, such as the QoS associated with the mobile device 120, the data stream to be transmitted to the mobile device 120, and/or the QoS associated with other data to be transmitted to mobile device 120 and/or the QoS associated with another mobile device that is connected to the femtocell 115 and/or the modem/router 130.
A determination can be made whether the aggregate transmission mode has been selected (stage 1605). The aggregation layer 225 of the mobile device 120 can determine a transmission mode to be used for sending a uplink data stream from the mobile device 120 to the femtocell 115. If the aggregate transmission mode is selected by the aggregation layer 225, the data packets from the uplink data stream can be transmitted to the femtocell 115 over both the LTE and WiFi channels.
If the hybrid/aggregate transmit mode has been selected, a first portion of the packets to be transmitted to the femtocell 115 can be selected to be transmitted to the femtocell 115 via the modem/router 130 (stage 1610). A second portion of the packets to be transmitted to the mobile device 120 can be selected to be transmitted to the mobile device 120 via the LTE interface 230 of the mobile device 120 (stage 1615).
The first portion of the data packets can be transmitted the modem/router 130 via the WiFi interface 235 of the mobile device 120 (stage 1620). The aggregation layer 225 can set the destination IP address of the data packets to the IP address associated with the remote network entity intended to receive the packet. The modem/router 130 can receive the first portion of the data packets via the WiFi interface 245 and route the packets to the femtocell 115 via the Ethernet interface 240.
The second portion of the data packets can be transmitted to the femtocell 115 using the LTE interface 230 of the mobile device (stage 1625). The aggregation layer 225 of the mobile device 120 can be configured to send the second portion of the data packets to the femtocell 115 via the LTE interface 230 of the mobile device 120.
If the hybrid/aggregate transmit mode was not selected, a determination can be made whether the WiFi-only transmit mode has been selected (stage 1630). If the WiFi-only transmit mode has been selected, the aggregation layer 225 of the mobile device 120 can be configured to transmit the data packets of the data stream via the WiFi interface 235 to the modem/router 130 for routing to the femtocell 115 (stage 1635).
If the neither the hybrid/aggregate transmit mode nor the WiFi-only mode were selected, the aggregation layer 225 of the mobile device 120 can be configured to transmit the data packets from the data stream to the femtocell 115 via the LTE interface 230 of the mobile device 120 (stage 1640). The source IP address of the packets can be set to the IP address associated with the LTE interface 230 of the mobile device 120 and the destination IP address of the packets can be set to the IP address of the remote network entity to which the packets are to ultimately be routed by the femtocell 115.
The aggregation layer 205 of the femtocell 115 and the aggregation layer 225 of the mobile device 120 can be configured to exchange aggregation information via the LTE interface between the femtocell 120 and the mobile device 120 or via the WiFi interface between the mobile device 120 and the modem/router 130. The aggregation information exchanged can include MAC address information, IP address information, port information, and other information that the aggregation layers of the two devices can use when routing information according to the various techniques disclosed herein. The aggregation layer 205 of the femtocell and the aggregation layer 225 of the mobile device 120 can be configured such that the exchange of aggregation information can occur whenever the femtocell 115 and/or the mobile device 120 are powered on. The aggregation layer 205 of the femtocell and the aggregation layer 225 of the mobile device 120 can be configured such that the exchange of aggregation information can also whenever the mobile device 120 or the femtocell 115 is assigned a new IP address or the IP address of the mobile device 120 or the femtocell 115 is updated. The aggregation layer 205 of the femtocell and the aggregation layer 225 of the mobile device 120 can be configured such that the exchange of aggregation information does not occur every time an aggregation session is established between the devices. Instead, the respective aggregation layers of the femtocell 115 and the mobile device 120 can be configured to exchange the aggregation information with the other device in response to an event where the aggregation information changes, such as a device being assigned an IP address or receiving an updated IP address, a change to port information, and/or other changes to the aggregation information.
The femtocell 115 can receive a signal from the mobile device 120 indicating the start of an aggregate data session between the mobile device 120 and the femtocell 115 (stage 1705). The aggregation layer 225 of the mobile device 120 can be configured to send a signal to the aggregation layer 205 of the femtocell 115 to signal that a data stream is about to be sent to the femtocell 115 via WiFi and LTE connections between the mobile device 120 and the femtocell 115. In some implementations, when the aggregation layer 205 of the femtocell can be configured to block other data packets from being transmitted to the femtocell 115 and the modem/router 130 to the mobile device 120 for the duration of an aggregation session.
The femtocell 115 can then receive a first set of data packets from the mobile device 120 via the modem/router 130 (stage 1710). The aggregation layer 225 of the mobile device 120 can be configured to select a first portion of the data packets to be transmitted to the femtocell 115 via the WiFi interface 235 of the mobile device 120. The first portion of the packets are transmitted to the modem/router 130, which can then route the received packets to the femtocell 115 via the Ethernet connection between the modem/router 130 and the femtocell 115.
The femtocell 115 can then receive a second portion of data packets from mobile device 120 via the LTE interface 215 (stage 1715). The aggregation layer 225 of the mobile device 120 can be configured to select a first portion of the data packets of the aggregate data stream to be transmitted to the femtocell 115 via the LTE interface 230 of the mobile device 120. The femtocell 115 can be configured to receive these data packets via the LTE interface 215, and the LTE interface 215 can be configured to provide the received data packets to the aggregation layer 205 of the femtocell 115.
The femtocell 115 can then receive a signal from the mobile device 120 indicating the end of the aggregate data session between the femtocell 115 and the mobile device 120 (stage 1715). The aggregation layer 225 of the mobile device 120 can be configured to send a signal to the aggregation layer 205 of the femtocell 115 to signal that the data associated the data stream has been transmitted and that the aggregate data session between the femtocell 115 and the mobile device 120 has ended.
The femtocell 115 can then aggregate the stream of data packets from the first set of data packet and the second set of data packets to reassemble the data stream that had originally been split into the first and second portions transmitted over the WiFi and LTE, connections respectively (stage 1720). The aggregation layer 205 of the femtocell 115 can be configured to aggregate the first and second portions of the data packets received from the mobile device 120 in response to receiving the signal from the femtocell that the aggregate data session has completed. In some implementations, the aggregation layer 205 can be configured to begin reassembling the original data stream from the packets received from the modem/router 130 and the LTE interface 215 as the data packets are received. In some implementations, the data packets can include a packet sequence number that indicates the relative position of the packet in the original data stream, and the aggregation layer can use the packet sequence number to determine where the packet belongs in the aggregate data stream. The aggregation layer 205 can be configured to send the aggregate data stream to secure server 150, which may in turn send the data stream to a remote network entity, such as server 125 or even to another mobile device 120. The other mobile device 120 may be connected to the femtocell and/or the modem/router 130 or may be associated with another base station or wireless access point. In some implementations, the aggregation layer 205 can be configured to buffer at least a portion of the aggregate data stream in a memory of the femtocell 115 before streaming the data stream to the remote network entity. The size of the buffer used by the aggregation layer 205 may be dependent on the data rates provided by the WiFi and LTE connection, and a smaller buffer may be required where the WiFi and LTE connections provide a higher data and a larger buffer may be required if the WiFi and/or LTE connections provide a lower data rate. The aggregation layer 205 can be configured to determine the size of the buffer based at least in part on the channel conditions over the LTE and WiFi connections.
The aggregated data stream can then be forwarded to the intended recipient (stage 1725). In some implementations, the femtocell 115 may be configured to forward the aggregate data stream to the server gateway 150, which may in turn forward the data stream to another remote network entity, such as the server 125 or to another mobile device 120 (stage 1730).
The mobile device 120 can be configured to initiate the discovery and configuration process for the aggregation layer 225 of the mobile device 120 and the aggregation layer 205 of the femtocell 115. The mobile device 120 can be configured to initiate the discovery and configuration process in response to an LTE connection being established between the mobile device 120 and the femtocell 115. The LTE connection may be established when the mobile device 120 enters the coverage area of the femtocell 115 and may be associated with a handoff from a macrocell base station or another femtocell 115. The mobile device 120 can also be configured to initiate the discovery and configuration process if the mobile device 120 is rebooted. The mobile device 120 can also be configured to initiate the discovery and configuration process if one or more communications parameters, such as the IP address associated with the LTE interface 120 and/or the WiFi interface 235 of the mobile device 120 are assigned or updated.
The discovery and configuration process may begin with the mobile device 120 sending an aggregation discovery message to the femtocell 115 (stage 2005). The aggregation discovery message can be sent to the femtocell 115 to determine whether the femtocell 115 is configured to support the aggregation techniques disclosed herein and to configure the aggregation layer 205 of the femtocell 115 and the aggregation layer 225 of the mobile device 120. The aggregation discovery message can be transmitted over an LTE connection between the mobile device 120 and the femtocell 115. The aggregation discovery message can comprise a request for information from the femtocell 115 to identify whether the femtocell 115 is configured to support the aggregation techniques disclosed herein. The aggregation discovery message can include information, such as a version or versions of the aggregation protocols supported by the mobile device 120. The aggregation discovery message can be generated by the aggregation layer 225 of the mobile device. In some implementations, if the femtocell 115 does not support the data aggregation techniques disclosed herein, the mobile device 120 may not receive a response to the aggregation discovery message. The aggregation layer 225 can be configured to resend the aggregation discovery message a predetermined number of times before determining that the femtocell 115 is not configured to support aggregation. The aggregation layer 225 may also be configured wait for a timeout period to elapse before resending an aggregation discovery message or making a determination that the femtocell 115 is not going to respond to the aggregation discovery message.
The mobile device 120 may then receive an aggregation discovery response from the femtocell 115 (stage 2010) in response to the aggregation discovery message sent to the femtocell 115. The aggregation discovery response can be received by the mobile device 120 via the LTE interface 230. The aggregation discovery response can include information, such as the version or versions of the aggregation protocols supported by the femtocell 115. The aggregation discovery response may also select a version of the aggregation protocols to be used for communications between the femtocell 115 and the mobile device 120. In other implementations, the highest version number of the aggregation protocols supported by both the mobile device 120 and the femtocell 115 may be selected by the aggregation layer 225 of the mobile device 120 for use with aggregation sessions communications with the femtocell 115.
The mobile device 120 may then transmit aggregation information to the femtocell 115 (stage 2015). The mobile device 120 can transmit aggregation information to the femtocell 115 via an LTE connection between the mobile device 120 and the femtocell 115. The aggregation information can include MAC address information, IP address information, port information, and other information that the aggregation layers of the two devices can use when routing information according to the various techniques disclosed herein. For example, the aggregation information transmitted to the femtocell 115 may include the MAC address and/or the IP address of the WiFi interface 235 of the mobile device 120.
The mobile device 120 may also receive aggregation information from the femtocell 115 (stage 2020). The aggregation information received from the femtocell 115 can include MAC address information, IP address information, port information, and other information that the aggregation layers of the two devices can use when routing information according to the various techniques disclosed herein. For example, the aggregation information received from the femtocell 115 may include the MAC address and/or the IP address of the WiFi interface 245 of the modem/router 130 and/or other information that the aggregation layer 225 of the mobile device 120 may use to send and/or receive aggregate data streams. The aggregation information received from the femtocell 115 can also include aggregation policy information. The aggregation policy information can be used by the aggregation layer 225 of the mobile device 120 when selecting a transmission mode for sending data to the femtocell 115. For example, the aggregation policy may indicate that certain types of data streams should be transmitted using a particular transmission mode or that aggregation cannot be used with certain types of data streams.
WiFi connectivity between the mobile device 120 and the femtocell 115 can also be tested (stage 2025). The mobile device 120 can be configured to send a test message to the aggregation layer 205 of the femtocell 115 to determine whether there is connectivity between the mobile device 120 and the femtocell 115 via the WiFi interface. The mobile device 120 can transmit the test message to the modem/router 130 using the WiFi interface 235 and the modem/router 130 can route the test message to the femtocell 115. The aggregation layer 205 of the femtocell 115 can be configured to send a test message response to the aggregation layer 225 of the mobile device 120 in response to the femtocell 115 receiving the test message from the mobile device 120. The aggregation layer 205 can be configured to send the test message response to the mobile device 120 via the Ethernet interface 210, and the modem/router 130 can then transmit the test message response to the mobile device 120 via the WiFi interface 245. In some implementations, the mobile device 120 may also send a test message response to the mobile device 120 via the LTE interface 215 in the event that the message sent via the WiFi connection is not received by the mobile device 120, the aggregation layer 225 of the mobile device 120 will be able to identify that the test message was received by the femtocell 115 but the response sent by the femtocell 115 never reached the mobile device 120. Testing the WiFi connectivity as part of the discovery and configuration process can also include making a determination whether or not the modem/router 130 can support bridge functionality. The aggregation layer 225 of the mobile device 120 can be configured to determine whether the modem/router 130 is configured to support bridge functionality by examining the IP subnet masks and/or the IP addresses associated with the femtocell 115 and the mobile device 120 to determine whether the modem/router 130 is configured to support bridge functionality.
The aggregation layer 225 of the mobile device 120 can then be configured based on the aggregation information received from the femtocell (stage 2030). The aggregation layer 225 can be configured to enable data aggregation if connectivity between the mobile device 120 and the femtocell 115 has been verified. The aggregation layer 225 can be configured to use the aggregation information received from the femtocell 115, including any aggregation policy information included therein, to determine a transmission mode to use for uplink data as described in the various techniques disclosed herein. In some implementations, the aggregation layer 225 of the mobile device 120 can be configured to disable automatic selection of the WiFi connection when in the coverage area of the modem/router 130. Some mobile devices 120 can be configured to automatically connect to a WiFi access point, such as the modem/router 130, when wireless local access network (WLAN) connectivity is available and to switch off the LTE or other WWAN connectivity. Some mobile devices are configured to automatically switch to WiFi-only connectivity when WiFi is available to reduce data usage on the LTE network or other WWLAN. The aggregation layer 225 of the mobile device 120 can also be configured to select either the non-encapsulation approach illustrated in
The femtocell 115 can receive an aggregation discovery message from the mobile device 120 (stage 2105). The femtocell 115 can receive the aggregation discovery message from the mobile device 120 via the LTE interface 215. The aggregation discovery message can comprise a request for information from the femtocell 115 to identify whether the femtocell 115 is configured to support the aggregation techniques disclosed herein. The aggregation discovery message can include information, such as a version or versions of the aggregation protocols supported by the mobile device 120.
The femtocell 115 can send an aggregation discovery response to the mobile device 120 in response to receiving the aggregation discovery request (stage 2110). The femtocell 115 can be configured to send the aggregation discovery response to the mobile device 120 via the LTE interface 215. The aggregation discovery response can include information, such as the version or versions of the aggregation protocols supported by the femtocell 115. The aggregation discovery response may also select a version of the aggregation protocols to be used for communications between the femtocell 115 and the mobile device 120. For example, the aggregation layer 205 of the femtocell can be configured to select the highest version number of the aggregation protocols supported by both the mobile device 120 and the femtocell 115 for use with aggregation sessions with the mobile device 120.
The femtocell 115 can receive aggregation information from the mobile device 120 (stage 2115). The femtocell 115 can receive aggregation information from the mobile device 120 via an LTE connection between the mobile device 120 and the femtocell 115. The aggregation information can include MAC address information, IP address information, port information, and other information that the aggregation layers of the two devices can use when routing information according to the various techniques disclosed herein. For example, the aggregation information received by the femtocell 115 may include the MAC address and/or the IP address of the WiFi interface 235 of the mobile device 120.
The femtocell 115 can also send aggregation information to the mobile device 120 (stage 2120). The aggregation information received from the femtocell 115 can include MAC address information, IP address information, port information, and other information that the aggregation layers of the two devices can use when routing information according to the various techniques disclosed herein. For example, the aggregation information received from the femtocell 115 may include the MAC address and/or the IP address of the WiFi interface 245 of the modem/router 130 and/or other information that the aggregation layer 225 of the mobile device 120 may use to send and/or receive aggregate data streams. The aggregation information received from the femtocell 115 can also include aggregation policy information. The aggregation policy information can be used by the aggregation layer 225 of the mobile device 120 when selecting a transmission mode for sending data to the femtocell 115. For example, the aggregation policy may indicate that certain types of data streams should be transmitted using a particular transmission mode or that aggregation cannot be used with certain types of data streams.
The femtocell 115 can be configured to test WiFi connectivity with the mobile device 120 (stage 2125). In some implementations, the aggregation layer 225 of the mobile device 120 can be configured to send a test message to the femtocell 115 and the aggregation layer 205 of the femtocell 115 can be configured to respond to the test message. In other implementations, the aggregation layer 205 of the femtocell 115 can be configured to send a test message to the mobile device 120 and the aggregation layer 225 of the mobile device 120 can be configured to respond to the test message. The exchange of messages between the femtocell 115 and the mobile device 120 can be used to determine whether the WiFi connectivity between the two devices has been established. In some implementations, the femtocell 115 can be configured to send the test message and/or the test messages response to the mobile device 120 via the LTE interface 215 in addition to sending the test message and/or response over the WiFi connection to facilitate diagnosing problems with the WiFi connectivity in the event that there problems establishing the WiFi connection between the femtocell 115 and the mobile device 120. Testing the WiFi connectivity as part of the discovery and configuration process can also include making a determination whether or not the modem/router 130 can support bridge functionality. The aggregation layer 205 of the femtocell 115 can be configured to determine whether the modem/router 130 is configured to support bridge functionality by examining the IP subnet masks and/or the IP addresses associated with the femtocell 115 and the mobile device 120 to determine whether the modem/router 130 is configured to support bridge functionality.
The femtocell 115 can configure the aggregation layer 205 (stage 2130). The aggregation layer 205 can be configured to enable data aggregation if connectivity between the mobile device 120 and the femtocell 115 has been verified. The aggregation layer 205 can be configured to use the aggregation information shared with the mobile device 120, including any aggregation policy information included therein, to determine a transmission mode to use for uplink data as described in the various techniques disclosed herein. Once the aggregation layer 205 has been configured, the femtocell 115 can execute one or more of the aggregation techniques discussed herein with the mobile device 120. The femtocell 115 can be configured to communicate with multiple mobile devices 120 and can be configured to perform the discovery and configuration process described herein for each mobile device 120 connected to the femtocell 115. The aggregation layer 205 of the femtocell 115 can also be configured to select either the non-encapsulation approach illustrated in
The femtocell 115 can be configured to initiate the discovery and configuration process for configuring the aggregation layer 205 of the femtocell 115 and the aggregation layer 205 of the mobile device. The femtocell 115 can be configured initiate the discovery and configuration process in response to an LTE connection being established between the femtocell 115 and the mobile device 120. The LTE connection may be established when the mobile device 120 enters the coverage area of the femtocell 115 and may be associated with a handoff from a macrocell base station or another femtocell 115. The discovery and configuration process may begin with the femtocell 115 sending an aggregation discovery message to the mobile device 120.
The discovery and configuration process may begin with the femtocell 115 sending an aggregation discovery message to the mobile 120 (stage 2205). The aggregation discovery message can be sent to the mobile device 120 to determine whether the mobile device 120 is configured to support the aggregation techniques disclosed herein and to configure the aggregation layer 205 of the femtocell 115 and the aggregation layer 225 of the mobile device 120. The aggregation discovery message can be transmitted over an LTE connection between the femtocell 115 and the mobile device 120. The aggregation discovery message can comprise a request for information from the mobile device 120 to identify whether the mobile device 120 is configured to support the aggregation techniques disclosed herein. The aggregation discovery message can include information, such as a version or versions of the aggregation protocols supported by the femtocell 115. The aggregation discovery message can be generated by the aggregation layer 205 of the femtocell 115. In some implementations, if the mobile device 120 does not support the data aggregation techniques disclosed herein, the femtocell 115 may not receive a response to the aggregation discovery message. The aggregation layer 205 can be configured to resend the aggregation discovery message a predetermined number of times before determining that the mobile device 120 is not configured to support aggregation. The aggregation layer 205 may also be configured wait for a timeout period to elapse before resending an aggregation discovery message or making a determination that the mobile device 120 is not going to respond to the aggregation discovery message.
The femtocell 115 may then receive an aggregation discovery response from the mobile device 120 (stage 2210) in response to the aggregation discovery message sent to the mobile device 120. The aggregation discovery response can be received by the femtocell 115 via the LTE interface 215. The aggregation discovery response can include information, such as the version or versions of the aggregation protocols supported by the mobile device 120. The aggregation discovery response may also select a version of the aggregation protocols to be used for communications between the femtocell 115 and the mobile device 120. In other implementations, the highest version number of the aggregation protocols supported by both the mobile device 120 and the femtocell 115 may be selected by the aggregation layer 205 of the femtocell 115 for use with aggregation sessions communications with the mobile device 120.
The femtocell 115 can transmit aggregation information to the mobile device 120 (stage 2215). The aggregation information sent by the femtocell 115 can include MAC address information, IP address information, port information, and other information that the aggregation layers of the two devices can use when routing information according to the various techniques disclosed herein. For example, the aggregation information sent by the femtocell 115 can include the MAC address and/or the IP address of the WiFi interface 245 of the modem/router 130 and/or other information that the aggregation layer 225 of the mobile device 120 may use to send and/or receive aggregate data streams. The aggregation information received sent by the femtocell 115 can also include aggregation policy information. The aggregation policy information can be used by the aggregation layer 225 of the mobile device 120 when selecting a transmission mode for sending data to the femtocell 115. For example, the aggregation policy may indicate that certain types of data streams should be transmitted using a particular transmission mode or that aggregation cannot be used with certain types of data streams.
The femtocell 115 can also receive aggregation information from the mobile device 120 (stage 2220). The mobile device 120 can transmit aggregation information to the femtocell 115 via an LTE connection between the mobile device 120 and the femtocell 115. The aggregation information can include MAC address information, IP address information, port information, and other information that the aggregation layers of the two devices can use when routing information according to the various techniques disclosed herein. For example, the aggregation information transmitted to the femtocell 115 may include the MAC address and/or the IP address of the WiFi interface 235 of the mobile device 120.
WiFi connectivity between the femtocell 115 and the mobile device 120 can also be tested (stage 2225). In some implementations, the aggregation layer 225 of the mobile device 120 can be configured to send a test message to the femtocell 115 and the aggregation layer 205 of the femtocell 115 can be configured to respond to the test message. In other implementations, the aggregation layer 205 of the femtocell 115 can be configured to send a test message to the mobile device 120 and the aggregation layer 225 of the mobile device 120 can be configured to respond to the test message. The exchange of messages between the femtocell 115 and the mobile device 120 can be used to determine whether the WiFi connectivity between the two devices has been established. In some implementations, the femtocell 115 can be configured to send the test message and/or the test messages response to the mobile device 120 via the LTE interface 215 in addition to sending the test message and/or response over the WiFi connection to facilitate diagnosing problems with the WiFi connectivity in the event that there problems establishing the WiFi connection between the femtocell 115 and the mobile device 120. Testing the WiFi connectivity as part of the discovery and configuration process can also include making a determination whether or not the modem/router 130 can support bridge functionality. The aggregation layer 205 of the femtocell 115 can be configured to determine whether the modem/router 130 is configured to support bridge functionality by examining the IP subnet masks and/or the IP addresses associated with the femtocell 115 and the mobile device 120 to determine whether the modem/router 130 is configured to support bridge functionality.
The aggregation layer 205 of the femtocell 115 can then be configured based on the aggregation information received from the mobile device 120 and the aggregation policy information associated with the mobile device 120 (if any) (stage 2230). The aggregation layer 205 can be configured to enable data aggregation if connectivity between the mobile device 120 and the femtocell 115 has been verified. The aggregation layer 205 can be configured to use the aggregation information received from the mobile device, as well as any aggregation policy information associated with the mobile device 120, to determine a transmission mode to use for uplink data as described in the various techniques disclosed herein. The aggregation layer 205 of the femtocell 115 can be configured to select either the non-encapsulation approach illustrated in
The mobile device 120 can receive an aggregation discovery message from the femtocell 115 (stage 2305). The mobile device 120 can receive the aggregation discovery message from the femtocell 115 via the LTE interface 230. The aggregation discovery message can comprise a request for information from the mobile device 120 to identify whether the mobile device 120 is configured to support the aggregation techniques disclosed herein. The aggregation discovery message can include information, such as a version or versions of the aggregation protocols supported by the femtocell 115.
The mobile device 120 can send an aggregation discovery response to the femtocell 115 in response to receiving the aggregation discovery request (stage 2310). The aggregation layer 225 of the mobile device 120 can be configured to send the aggregation discovery response to the femtocell 115 via the LTE interface 225. The aggregation discovery response can include information, such as the version or versions of the aggregation protocols supported by the mobile device 120. The aggregation discovery response may also select a version of the aggregation protocols to be used for communications between the femtocell 115 and the mobile device 120. For example, the aggregation layer 225 of the femtocell can be configured to select the highest version number of the aggregation protocols supported by both the mobile device 120 and the femtocell 115 for use with aggregation sessions with the femtocell. In some implementations, the femtocell 115 can be configured to select the version of the aggregation protocols to use when communicating with the mobile device 120.
The mobile device can receive aggregation information from the femtocell 115 (stage 2315). The mobile device 120 can receive aggregation information from the femtocell 115 via an LTE connection between the mobile device 120 and the femtocell 115. The aggregation information received from the femtocell 115 can include MAC address information, IP address information, port information, and other information that the aggregation layers of the two devices can use when routing information according to the various techniques disclosed herein. For example, the aggregation information received from the femtocell 115 may include the MAC address and/or the IP address of the WiFi interface 245 of the modem/router 130 and/or other information that the aggregation layer 225 of the mobile device 120 may use to send and/or receive aggregate data streams. The aggregation information received from the femtocell 115 can also include aggregation policy information. The aggregation policy information can be used by the aggregation layer 225 of the mobile device 120 when selecting a transmission mode for sending data to the femtocell 115. For example, the aggregation policy may indicate that certain types of data streams should be transmitted using a particular transmission mode or that aggregation cannot be used with certain types of data streams.
The mobile device 120 can also send aggregation information to the femtocell 115 (stage 2320). The aggregation information can include MAC address information, IP address information, port information, and other information that the aggregation layers of the two devices can use when routing information according to the various techniques disclosed herein. For example, the aggregation information sent to the femtocell 115 may include the MAC address and/or the IP address of the WiFi interface 235 of the mobile device 120.
The mobile device 120 can be configured to test WiFi connectivity with the mobile femtocell 115 (stage 2325). In some implementations, the aggregation layer 225 of the mobile device 120 can be configured to send a test message to the femtocell 115 and the aggregation layer 205 of the femtocell 115 can be configured to respond to the test message. In other implementations, the aggregation layer 205 of the femtocell 115 can be configured to send a test message to the mobile device 120 and the aggregation layer 225 of the mobile device 120 can be configured to respond to the test message. The exchange of messages between the femtocell 115 and the mobile device 120 can be used to determine whether the WiFi connectivity between the two devices has been established. In some implementations, the mobile device 120 can be configured to send the test message and/or the test messages response to the femtocell 115 via the LTE interface 230 in addition to sending the test message and/or response over the WiFi connection to facilitate diagnosing problems with the WiFi connectivity in the event that there problems establishing the WiFi connection between the femtocell 115 and the mobile device 120. Testing the WiFi connectivity as part of the discovery and configuration process can also include making a determination whether or not the modem/router 130 can support bridge functionality. The aggregation layer 225 of the mobile device 120 can be configured to determine whether the modem/router 130 is configured to support bridge functionality by examining the IP subnet masks and/or the IP addresses associated with the femtocell 115 and the mobile device 120 to determine whether the modem/router 130 is configured to support bridge functionality.
The mobile device 120 can configure the aggregation layer 225 (stage 2330). The aggregation layer 225 can be configured to enable data aggregation if connectivity between the mobile device 120 and the femtocell 115 has been verified. The aggregation layer 225 can be configured to use the aggregation information shared with the mobile device 120 by the femtocell 115, including any aggregation policy information included therein, to determine a transmission mode to use for uplink data as described in the various techniques disclosed herein. Once the aggregation layer 225 has been configured, the mobile device 120 can execute one or more of the aggregation techniques discussed herein with the femtocell 115. The aggregation layer 225 of the mobile device 120 can be configured to select either the non-encapsulation approach illustrated in
The methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in hardware, firmware, software, or any combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory and executed by a processor unit. Memory may be implemented within the processor unit or external to the processor unit. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media. Tangible media include one or more physical articles of machine readable media, such as random access memory, magnetic storage, optical storage media, and so on.
If implemented in firmware and/or software, the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Such media also provide examples of non-transitory media, which can be machine readable, and wherein computers are an example of a machine that can read from such non-transitory media.
The generic principles discussed herein may be applied to other implementations without departing from the spirit or scope of the disclosure or claims.