Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A UNIVERSAL REPEATER, A METHOD OF OPERATING A UNIVERSAL REPEATER AND A NETWORK INCLUDING THE SAME
Document Type and Number:
WIPO Patent Application WO/2015/186077
Kind Code:
A1
Abstract:
A Universal Repeater (UR) is configured to pair with an uplink in a network. The UR includes an interface configured to interface with an uplink along a selected route between the UR and an access point (AP) in a network; and a memory having machine executable code therein that, when executed by a processor, causes the processor to determine the uplink based on data received from a plurality of candidate uplinks, and to instruct the interface to pair with the uplink (S1010). Preferably, a process S1000 commences at step S 1002, when the universal repeater is activated within a WLAN network and comes online. Then, the process moves to step S1004, whereby the universal repeater listens for 1 second for beacons using the same SSID. The process then moves to step S1006, whereby the universal repeater determines the BSSIDs of the devices, inluding a plurality of URs, operating in the WLAN and the end-to-end capacities from the devices operating in the WLAN to the Access Point (AP) gateway of the network.The process then determines a sorted list of end-to-end capacities for each of the devices at step S1008. Once the universal repeater has determined the sorted list, the universal repeater associates itself as a station (STA) to the device with the BSSID with the highest end-to-end capacity at step S 1010. The process then ends at step S 1012. The universal repeater may further determine the uplink based on a number of hops between the UR and the AP. Advantageously, a universal repeater that is introduced into a wireless network can dynamically associate with other parts of the network, thereby extending the range of the network whilst providing the most efficient throughput from that universal repeater to the network gateway. Beneficially, subsequently introduced universal repeaters in an extended network can form efficient chains of connection to a gateway. When the universal repeater has associated as a STA to the BSSID with the highest end-to-end capacity, third party devices are more easily able to integrate with the network, whilst benefitting from the optimised data throughput.

Inventors:
BIRLIK FIRAT (TR)
CAN ILHAN (TR)
KARACA MEHMET (TR)
Application Number:
PCT/IB2015/054203
Publication Date:
December 10, 2015
Filing Date:
June 03, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
AIRTIES KABLOSUZ ILETISM SANAYI VE DISTICARET AS (TR)
International Classes:
H04W76/02; H04W84/12
Foreign References:
US20130279409A12013-10-24
US20060014536A12006-01-19
US20070274320A12007-11-29
EP2840860A12015-02-25
Attorney, Agent or Firm:
WITHERS & ROGERS LLP (London SE1 2AU, GB)
Download PDF:
Claims:
What is claimed:

1. A universal repeater (UR) comprising:

an interface configured to interface with a selected uplink along a route between the UR and an access point (AP) in a network having a plurality of candidate links; and

a memory having machine executable code therein that, when executed by a processor, causes the processor to,

determine the selected uplink based on data received from the plurality of candidate uplinks, and

instruct the interface to pair with the selected uplink, wherein the data received from a plurality of candidate uplinks is indicative of the end- to-end throughput of data from the universal repeater to the access point via each of the plurality of candidate uplinks.

2. The UR of claim 1, wherein the machine executable code, when executed by the processor, causes the processor to determine the uplink based at least in part on a number of hops between the UR and the AP. 3. The UR of claim 1, wherein the machine executable code, when executed by the processor, causes the processor to determine the selected uplink by,

receiving beacon packets from the plurality of candidate uplinks, determining a number of hops between each of the plurality of candidate uplinks and the AP, and

pairing with one of the plurality of candidate uplinks based on the determined number of hops.

4. The UR of claim 3, wherein the machine executable code, when executed by the processor, causes the processor to determine the number of hops by analyzing an information element (IE) field included in the received beacon packets.

5. The UR of any of claim 3 or 4, wherein the machine executable code, when executed by the processor, causes the processor to pair with the candidate uplink having a lowest number of hops to the AP.

6. The UR of claim 3, wherein the machine executable code, when executed by the processor, causes the processor to determine the selected uplink based on a number of hops between the UR and the AP and a signal strength and/ or Physical Layer bitrate between the UR and the plurality of candidate uplinks.

7. The UR of claim 1, wherein the machine executable code, when executed by the processor, causes the processor to broadcast a new beacon packet to the plurality of candidate uplinks after pairing with one of the plurality of candidate uplinks, the new beacon packet including an indication of the number of hops between the UR and the AP over the selected route.

8. The UR of claim 1 , wherein the interface is configured to pair with the determined uplink over a media access control (MAC) layer therein.

9. A network comprising: an access point (AP); and

at least one universal repeater (UR), as defined in any preceding claim.

10. A method of determining a selected uplink for a universal repeater (UR) with an access point (AP) in a network, the method comprising, at the universal repeater:

receiving data from a plurality of candidate uplinks; determining a selected uplink based on the data received from the plurality of candidate uplinks; and

instructing the universal repeater to pair with the selected uplink, wherein the data received from a plurality of candidate uplinks is indicative of the end to end throughput of data from the universal repeater to an access point via the each of the plurality of candidate uplinks.

1 1. The method of claim 10, wherein the selected uplink is determined based at least in part on a number of hops between the UR and the AP.

12. The method of claim 10, wherein the selected uplink is determined by,

receiving beacon packets from the plurality of candidate uplinks, determining a number of hops between each of the plurality of candidate uplinks and the AP, and

pairing with one of the plurality of candidate uplinks based on the determined number of hops.

13. The method of claim 12, wherein the number of hops is determined by analyzing an information element (IE) field included in the received beacon packets. 14. The method of any of claim 12 or 13, wherein the universal repeater pairs with the candidate uplink having a lowest number of hops to the AP.

15. The method of claim 12, wherein the selected uplink is determined based on a number of hops between the UR and the AP and a signal strength and / or Physical Layer bitrate between the UR and the plurality of candidate uplinks.

16. The method of claim 10, wherein a new beacon packet is broadcast to the plurality of candidate uplinks after pairing with one of the plurality of candidate uplinks, the new beacon packet including an indication of the number of hops between the UR and the AP over the selected route.

17. The method of claim 10, wherein the interface is configured to pair with the determined uplink over a media access control (MAC) layer therein.

18. A network comprising:

an access point (AP); and

at least one universal repeater (UR), as defined in any preceding claim.

19. A computer readable medium comprising instructions for use in a universal repeater (UR) having a processor and an interface configured to interface with a selected uplink along a route between the UR and an access point (AP) in a network having a plurality of candidate links, which instructions when executed by the processor cause the processor to,

determine the selected uplink based on data received from the plurality of candidate uplinks, and

instruct the interface to pair with the selected uplink, wherein the data received from a plurality of candidate uplinks is indicative of the end- to-end throughput of data from the universal repeater to the access point via each of the plurality of candidate uplinks.

Description:
A UNIVERSAL REPEATER, A METHOD OF OPERATING A UNIVERSAL REPEATER AND A NETWORK INCLUDING THE SAME

BACKGROUND

[0001] An access point (AP) may provide networking capabilities to user equipment (UEs) connected thereto. The AP may part of a wireless local access network (WLAN). IEEE 802.11 based Wireless Local Area Networks (WLANs) have been deployed in many locations such as homes, schools, hospitals and cafes. WLANs enable users to connect to the internet with great flexibility and at a low-cost. However, due to effects of wireless medium such as walls between transmitters and receivers and the fading of signals, the throughput achieved by clients in a given WLAN may be very low. Furthermore, a client may experience some level of loss of connection from the access point (AP) to which the client is connected. This is known as the wireless coverage problem which causes distortion in the wireless communication between clients and the APs. Hence, it is important to find efficient and low-cost methods which provide full connectivity in WLANs by extending the range of connectivity between the clients and the APs.

[0002] To extend the range, the transmit power of the transmitting nodes (e.g., the AP(s) and/or the client(s)) in the network may be increased. However, increasing the transmission power of the nodes may result in the node consuming more power and / or causing interference in the network. SUMMARY

[0003] Example embodiments relate to at least a universal repeater (UR), a method of operating a universal repeater (UR) and/ or a network including the same.

[0004] In some example embodiments, the UR may include an interface configured to interface with a uplink along a selected route between the UR and an access point (AP) in a network; and a memory having machine executable code therein that, when executed by a processor, causes the the UR to, determine the uplink based on data received from a plurality of candidate uplinks, and instruct the interface to pair with the uplink. Beneficially, the UR is adapted therefore to form a useful AP within a wireless network.

[0005] In some example embodiments, the machine executable code, when executed by the processor, causes the processor to determine the uplink based at least in part on a number of hops between the UR and the AP.

[0006] In some example embodiments, the machine executable code, when executed by the processor, causes the processor to determine the uplink by, receiving beacon packets from candidate uplinks, determining a number of hops between the candidate uplinks and the AP, and pairing with one of the candidate uplinks based on the determined number of hops.

[0007] In some example embodiments, the machine executable code, when executed by the processor, causes the processor to determine the number of hops by analyzing an information element (IE) field included in the received beacon packets.

[0008] In some example embodiments, the machine executable code, when executed by the processor, causes the processor to pair with the candidate uplink having a lowest number of hops to the AP. [0009] In some example embodiments, the machine executable code, when executed by the processor, causes the processor to determine the uplink based on a number of hops between the UR and the AP and a signal strength and / or Physical Layer bitrate (PHY) between the UR and the candidate uplinks.

[0010] In some example embodiments, the machine executable code, when executed by the processor, causes the processor to broadcast a new beacon packet to the candidate uplinks after pairing with one of the candidate uplinks, the new beacon packet including an indication of the number of hops between the UR and the AP over the selected route.

[0011] In some example embodiments, the interface is configured to pair with the determined uplink over a media access control (MAC) layer therein.

[0012] In some example embodiments, the network is a wireless network operating based on IEEE 802.11 standard. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Example embodiments will become more fully understood from the detailed description given herein below and the accompanying drawings, wherein like elements are represented by like reference numerals, which are given by way of illustration only and thus are not limiting of the present disclosure, and wherein:

[0014] FIG. 1 is a block diagram illustrating a networking environment according to some example embodiments;

[0015] FIG. 2 is a block diagram illustrating a networking environment including universal repeaters (URs) according to some example embodiments;

[0016] FIG. 3 is a block diagram illustrating a universal repeater according to some example embodiments; [0017] FIGS. 4A to 4C illustrate various connection configurations available when a plurality of universal repeaters (URs) are in a networking environment according to some example embodiments;

[0018] FIG. 5 illustrates a structure of a beacon frame according to some example embodiments;

[0019] FIG. 6 is a flow chart illustrating a method of an initial universal repeater (UR) determining an uplink according to some example embodiments;

[0020] FIG. 7 is a flow chart illustrating a method of subsequent universal repeaters (URs) determining an uplink according to some example embodiments;

[0021] FIG. 8 is a flow chart illustrating a method of a universal repeater (UR) determining an uplink according to some example embodiments; and

[0022] FIG. 9 is a flow chart illustrating a method of a universal repeater (UR) performing an uplink correction procedure according to some example embodiments.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

[0023] Various example embodiments will now be described more fully with reference to the accompanying drawings. Like elements on the drawings are labeled by like reference numerals.

[0024] Before discussing example embodiments in more detail, it is noted that some example embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the operations as sequential processes, many of the operations may be performed in parallel, concurrently or simultaneously. In addition, the order of operations may be re-arranged. The processes may be terminated when their operations are completed, but may also have additional operations not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, subprograms, etc.

[0025] Methods discussed below, some of which are illustrated by the flow charts, may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine or computer readable medium such as a storage medium. A processor(s) may perform the necessary tasks.

[0026] Specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments. This invention may, however, be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.

[0027] It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0028] It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., "between" versus "directly between," "adjacent" versus "directly adjacent," etc.).

[0029] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms "a," "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises," "comprising," "includes" and/or "including," when used herein, specify the presence of stated features, integers, steps, operations, elements and/ or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and/ or groups thereof.

[0030] It should also be noted that in some alternative implementations, the functions/ acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed concurrently or may sometimes be executed in the reverse order, depending upon the functionality / acts involved.

[0031] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which example embodiments belong. It will be further understood that terms, e.g. , those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.

[0032] In the following description, illustrative embodiments will be described with reference to acts and symbolic representations of operations (e.g. , in the form of flowcharts) that may be implemented as program modules or functional processes include routines, programs, objects, components, data structures, etc. , that perform particular tasks or implement particular abstract data types and may be implemented using existing hardware at existing network elements. Such existing hardware may include one or more Central Processing Units (CPUs), digital signal processors (DSPs), application- specific-integrated-circuits, field programmable gate arrays (FPGAs) computers or the like.

[0033] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, or as is apparent from the discussion, terms such as "processing" or "computing" or "calculating" or "determining" of "displaying" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical, electronic quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

[0034] Note also that the software implemented aspects of the example embodiments are typically encoded on some form of program storage medium or implemented over some type of transmission medium. The program storage medium may be any non-transitory storage medium such as magnetic (e.g., a floppy disk or a hard drive) or optical (e.g., a compact disk read only memory, or "CD ROM"), and may be read only or random access. Similarly, the transmission medium may be twisted wire pairs, coaxial cable, optical fiber, or some other suitable transmission medium known to the art. However, example embodiments are not limited to these given implementations.

[0035] As used herein, the term "user equipment" (UE) may be considered synonymous to, and may hereafter be occasionally referred to, as a phone, wirelessly equipped laptop, a mobile, mobile unit, mobile user, subscriber, user, remote station, access terminal, tablet, receiver, smart television, etc., and may describe a remote user of wired or wireless resources in a network. The term "Access Point" (AP) may be considered synonymous to and/ or referred to as a wired and/or wireless router, hub, switch, a public gateway, a public/ private gateway, and/ or other source of audio and/ or data transmission usable by various UEs and may describe equipment that provides data and / or audio connectivity between the network and one or more UEs.

[0036] Example embodiments may be utilized in conjunction with Radio Access Networks (RANs) such as: Universal Mobile Telecommunications System (UMTS); Global System for Mobile communications (GSM); Advance Mobile Phone Service (AMPS) system; the Narrowband AMPS system (NAMPS); the Total Access Communications System (TACS); the Personal Digital Cellular (PDC) system; the United States Digital Cellular (USDC) system; the code division multiple access (CDMA) system described in EIA/TIA IS-95; a High Rate Packet Data (HRPD) system, Worldwide Interoperability for Microwave Access (WiMAX); Ultra Mobile Broadband (UMB); and 3 rd Generation Partnership Project LTE (3GPP LTE).

[0037] FIG. 1 is a block diagram illustrating a networking environment according to some example embodiments. [0038] Referring to FIG. 1 , a networking environment may include various pieces of User Equipment (UEs) 100 and an Access Point (AP) 200 and other networking equipment arranged throughout the networking environment.

[0039] The networking environment may be an IEEE 802. 1 1 WLAN. The WLAN may enable connection to the internet 220 via the AP 200 through a gateway. A connection 210 between the AP 200 and the internet 220 may be a wired communication via for example, a fiber optic cable.

[0040] Various consumer electronic devices including, but not limited to, mobile devices, handheld electronic devices, laptops, etc. , (hereinafter collectively referred to as UEs 100), located on different floors of a home, may connect to the internet 220 by establishing a connection with the AP 200.

[0041] Wireless communications between the AP 200 and the UE 100 may be highly dynamic in nature due to super composition of multiple effects such as path-loss, multi-path fading, shadowing, etc. These effects may significantly degrade the exchange of data by the UE 100 especially when high rate of data transmission is required (e.g., during a streaming of a video). Hence, a minimum level of signal strength at the UE 100 may be desired such that communication at a desirable data transmission rate can be supported.

[0042] In the networking environment as shown in FIG. 1 , there may be multiple floors with walls, as a result of which the effect of path-loss and fading may increase. In such scenarios, the distance between the AP 200 and the UE 100s, for example, UE 100-5 may be too long for a direct connection to be established.

[0043] In order to address the insufficient data transmission rate, a universal repeater (UR) may be introduced within the networking environment, as will be described below. [0044] FIG. 2 is a block diagram illustrating a networking environment including universal repeaters (URs) according to some example embodiments.

[0045] Referring to FIG. 2, URs 300 may be added to the networking environment to mitigate the inefficiencies of direct data transmission rate between the UEs 100 and the AP 300, as described above. For example, a first UR 300- 1 and a second UR 300-2 may be added to the networking environment. While two URs 300-1 and 300-2 are illustrated in FIG.2, one of ordinary skill in the art will appreciate that more or less than two URs 300 may be included in the networking environment. [0046] As discussed herein, a processor in each of the URs 300 executes computer code stored in memory that, when executed, configures the URs 300 as a relay node between the AP 200 and the UEs 100 such that the URs 300 transmit signals between the AP 200 and the UEs 100. The URs may be configured to perform on-the-fly uplink selection between among a plurality of candidate uplinks in the networking environment based on, for example, the end-to-end aggregate throughput.

[0047] Because a connection between the URs 300 and the APs 200 may be relatively stronger than a direct connection between the UEs 100 and the AP 200, the URs 300 may mitigate the inefficiencies of direct data transmission. Therefore, the URs 300 may improve the aggregate throughput in the data communicated between the UEs 100 and the AP 200.

[0048] The processors in each of the URs 300 may execute computer code that configures the URs 300 to selectively switch between a client mode and an access point mode such that the URs 300 can serve a relay. In the client mode, the URs 300 may associate with AP 200 to enable data transmission of the UEs 100 there through. Further, once associated with AP 200 , in the access point mode, UEs 100 associate with the URs 300, and may relay data between the UEs 300 and the AP 200.

[0049] Conventionally, a UR 300 may associate with the closest transmitter that provides the maximum signal strength. However, a signal strength based association may be inefficient for multiple hop data transmission in terms of data throughput performance, and may significantly degrade the overall throughput of the network. Such degradation may be due to the fact that multiple-hop data transmission may require multiple transmissions of the same data, which may introduce additional delay thus reducing the overall throughput in the WLAN. Therefore, further information regarding the upstream nodes may need to be considered prior to choosing an uplink in a multiple hop data transmission scheme. These concepts will be further described below.

[0050] FIG. 3 illustrates a universal repeater according to some example embodiments.

[0051] Referring to FIG. 3, each of the URs 300 may include, for example, a network interface 310, a memory 320, a processor 330, an antenna 331, an RF chip 332, a power supply 333 and a data bus 340. The network interface 310 may include at least a physical layer interface (PHY) 312 and a media access control (MAC) layer 314 of an Open System Interconnection (OSI) model. The physical layer 312 may be a layer 1 and the link layer 314 may be a layer 2 layer in the OSI model.

[0052] The physical layer (PHY) layer 312 may include basic hardware transmission technologies allowing the URs 300 to transmit raw bits rather than logical data packets over a physical link. [0053] The network interfaces 310, memory 320, processor 330, antenna 3231 and RF chip 332 are adapted to send data to and / or receive data from one another using the data bus 340 such that the data bus 340 bus enables bidirectional data communications. Further, the network interfaces 310, memory 320, processor 330, antenna 331 , RF chip 332 receive an operating power from the power supply 333. In some example embodiments, the power supply 333 is connected to a power source via a power plug.

[0054] Each of the network interfaces 310 includes ports to receive and/or transmit signals using a transmitter and /or a receiver. For example, the network interface 310 may utilize the antenna 231 to transmit and/ or receive wireless signals and the RF chip 332 may process radio frequency signals.

[0055] The RF chip 332 may convert data packets for communication, to radio waves, which are then transmitted over the wireless medium via antenna 331.

[0056] The transmitters may include devices that include hardware and any necessary software for transmitting signals including, for example, data signals, control signals, and signal strength/ quality information via the associated interface to other network elements in the network environment. The receivers comprise devices that include hardware and any necessary software for receiving signals including, for example, data signals, control signals, and signal strength/quality information via the associated interface to other network elements.

[0057] The processor 330 may include any device capable of processing data including, for example, a microprocessor configured to carry out specific operations based on input data, or capable of executing instructions included in computer readable code. The processor 330 may be configured to read a software program from the memory 220 and execute the program to implement the functions of the UR 300 such that the UR 300 is a special purpose computer configured to perform the operations which will be further described below. The computer readable code may be stored on, for example, the memory 320. The processor 330 and the memory 320 can be configured as separate components or can be configured as one.

[0058] The functions performed by the URs 300 may be implemented with a 'module'. The 'module' may include a software element or a hardware element, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC), and the module may perform functions. However, the module is not limited to software or hardware. The module may be configured to be in a storage medium that may address the module or to execute one or more processors.

[0059] As an example, the module may include elements, such as software elements, object-oriented software elements, class elements, and task elements, processes, functions, properties, procedures, subroutines, segments for a program code, drivers, firmware, micro-codes, circuits, data, databases, data structures, tables, arrays, and variables. Functions provided by elements and modules may be combined with a small number of elements and modules or may be subdivided into additional elements and modules. Furthermore, the elements and modules may execute one or more central processing units (CPUs) within a device.

[0060] Some example embodiments may be embodied through a medium including a computer-readable code/ command for controlling at least one processing element of the above-described embodiments, for example, a computer-readable medium. The medium may correspond to a medium that enables storage and/ or transmission of the computer-readable code. The medium may be non-transitory.

[0061] In an illustrative embodiment, the computer-readable code is recorded in a medium or transmitted through the Internet. Examples of the medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves such as data transmission through the Internet. The medium may also be a non-transitory computer-readable medium. Since the mediums can also be distributed networks, the computer-readable code can be stored, transmitted, and executed in a distributed fashion.

[0062] The memory 320 may include any device capable of storing data including magnetic storage, flash storage, etc. The memory 320 may store various information utilized by the URs 300, for example, routing information and configuration information discussed in more detail below. The memory 320 may temporary store data, which is required during the execution of the program.

[0063] Hereinafter, a description of the functions performed by the URs 300 in order to determine an uplink according to some example embodiments will be described. [0064] FIGS. 4A to 4C illustrate various connection configurations available when a plurality of universal repeaters (URs) are in a networking environment according to some example embodiments.

[0065] Referring to FIGS. 4A to 4C, URs 300 have multiple uplink connection paths available thereto. For example, a first UR 300- 1 may associate either directly with the access point (AP) 200 or associate with a second UR 300-2. Likewise, the second UR 300-2 may associate with either the AP 200 or the first UR 300- 1. Fig. 4A shows these possible associations. Fig. 4B shows direct associations from an AP 200 to a first UR 300- 1 which in turn associates with a second UR 300-2, which in turn associates with a third UR 300-3. Fig. 4C shows AP 200 associating directly with a first UR 300- 1 and associating directly with a second UR 300-2.

[0066] Conventionally, the URs 300 may determine their uplink based only on the signal strength between the respective UR 300 and the various uplink options.

[0067] In IEEE 802. 1 1 based WLANs, the signal strength may be represented via a Received Signal Strength Indicator (RSSI), where a higher RSSI indicates a higher signal strength. However, while determining an uplink based on signal strength may work well for one-hop transmissions, it may not be the best metric of transmission rate in a multi-hop configuration.

[0068] For example, in two-hop transmission, the same data may need to be transmitted two times, namely a first transmission may occur between the UR 300- 1 and the UR 300-2 at a data rata R 2 and a second transmission may occur between the UR 300- 1 and the AP at a data rata Ri. Hence, when the second UR 300-2 uploads data to the AP 200 via the first UR 300- 1 , the second UR 300-2 may achieve an end-to-end data rate RE that is lower than a direct connection RD between the second UR 300-2 and the AP 200, even if R 2 is greater than RD. For example, referring to Fig. 4A. If data rate Ri is 100 Mbps between AP 200 and URi 300- 1 , data rate R 2 is 100 Mbps between URi 300- 1 and UR 2 300-2 and data rate R d is 70 Mbps between AP 200 and UR 2 300-2, then the total end-to-end data rate RE between AP 200 and UR 2 300-2, through URi 300- 1 may be 50 Mbps, which is less than the data rate connection Rd directly between AP 200 and UR 2 300-2, even though the immediate data rate connection between URi 300- 1 and UR 2 300-2 is higher than the data rate connection between UR 2 300-2 and AP 200. Accordingly, the best connection may be, counterintuitively, over the lesser data rate connection Rd.

[0069] FIG. 5 illustrates a structure of a beacon frame according to some example embodiments.

[0070] Referring to FIG. 5, a beacon packet 500 may include: · a source address (SA) identifying from which device the beacon frame is transmitted. In some example embodiments, the source address SA may be an address of an AP 200 or a UR 300;

• a destination address (DA) 502 identifying to which device the beacon frame is transmitted. In some example embodiments, the beacon packet 500 may be a broadcast packet such that all network entities including the UEs 100, APs 200 and URs 300 are able to receive the beacon packet 500;

• a BSSID identifying the MAC address of the access point;

• a timestamp identifying the current local time at the AP 200 or the UR 300 that generates the beacon packet. In 802.1 1, the timestamp may be a 64-bit value that is initialized to zero and incremented once every microsecond;

• capability information indicating various information about the AP 200 or the UR 300. For example, the capability information may indicate whether the AP 200 or the UR 300 is associated with ad-hoc infrastructure, supports encryption, supports usage of short preambles, etc.;

• a Service Set Identification (SSID) number identifying the wireless network associated with the AP 200 or the UR 300. The SSID may, for example, correspond to the name of a wireless network displayed on the UEs 100 to a user;

• one or more supported data rates which may identify the supported transmission rates of the AP 200 or the UR 300;

• a FH parameter set which may specify information usable to facilitate frequency hopping. The FR parameter set may include, for example, a dwell time for staying on a particular channel, an indication of the hop pattern, an index identifying the current point in the hop pattern;

• a TIM which may specify information usable to by the UEs 100 in a low power mode to determine whether the AP 200 or the UR 300 has buffered frames for the UE 100 while the UE 100 was operating in a low power mode; and

• an Information Element (IE) field which may include vendor specific parameters. In some example embodiments, this field may be utilized to indicate the end-to-end throughput or the number of hops to reach to the AP.

[0071] Under IEEE 802.11 , the AP 200 may periodically transmit the beacon packet 500 in order to announce its presence to the UEs 100. The beacon packet 500 may be a type of management packet implemented in IEEE 802.1 1 based WLANs, which contains information about the network including but not limited to the modulation and coding schemes and encryption types supported by the AP 200. [0072] When the UR 300 receives a beacon packet 500 from the AP 200, IEEE 802.11 based authentication (e.g., Wi-Fi Protected Access (WPA) 1 or WPA 2) may be utilized so that the UR 300 may attach to the WLAN. The authentication phase provides a proof of identity for the UE 100 to gain access to the WLAN. Once the UR 300 is authenticated, it associates with the AP 200 so that the AP 200 can deliver data to the UR 300.

[0073] FIG. 6 is a flow chart illustrating a method of an initial universal repeater (UR) determining the best association which may occur through AP 200 or another UR according to some example embodiment. [0074] Referring to FIG. 6, at operation S605, the UR 300-1 is initialized. For example, the UR 300- 1 may start operation by being deployed in the network or during a reboot operation due to a software update or power loss. Further, the UR 300- 1 may periodically start operation S605.

[0075] At operation S610, the UR 300- 1 listens on the wireless medium for beacon packets from the AP 200 and other URs 300-2. Due to the limited coverage of the AP 200 and the other URs 300-2 and the fading effect of wireless transmission, the UR 300- 1 may not receive beacon frames from AP 200 and/ or the other URs 300-2.

[0076] If the UR 300- 1 receives beacon packets, in operation S615, the UR 300- 1 may determine whether the beacon packets are received from an AP 200 or another UR 300-2. For example, in some example embodiments, the UR 300- 1 may determine whether the beacon packets are received from AP 200 or another UR 300-2 based on a media access control (MAC) address, which is indicated the first field of the beacon packet in FIG.5 . In other example embodiments, the UR 300- 1 may determine whether the beacon packets are received from AP 200 or another UR 300-2 by checking the information element (IE) field in the received beacon. For example, the other UR 300-2 may insert a "0" in the IE field to indicate that the UR 300-2 is a UR rather than an AP while the AP 200 may insert a "1" in the IE field to indicate that it is an AP [0077] In operation S620, the UR 300- 1 that received the beacon packets may measure the signal strength of the received beacon packets. The UR 300- 1 may compare the RSSI value associated with the beacon packet received by the UR 300-1 from the AP 200 with the RSSI value associated with beacon packets received by the other URs 300- 1 from the AP 200 and transmitted to the UR 300-1 via their associated beacon packets. The UR 300- 1 may determine if the beacon packet received thereat from the AP 200 have a relatively highest RSSI value among the beacon packets received by the other URs 300-2.

[0078] In operation S625, if the UR 300-1 determines that the beacon packets received thereat from the AP 200 have the highest signal strength, the UR 300- 1 may associate directly with the AP 200. Further, the UR 300- 1 may calculate an end-to-end throughput R E using the beacon packet received from the AP 200. The UR 300- 1 may insert an RSSI indicator into the information element (IE) field of a new beacon associated with the UR 300- 1 and transmit the new beacon to the other URs 300-2 such that the other URs 300-2 may utilize the RSSI to determine their associated uplinks in a similar manner to that described herein.

[0079] In operation S630, if the UR 300- 1 determines that beacon packets received at one of the other URs 300-2 have a higher signal strength than the beacon packets received at the UR 300- 1, then the UR 300- 1 may wait one of the other URs 300-2 to associate with the AP 200. [0080] FIG. 7 is a flow chart illustrating a method of subsequent universal repeaters (URs) determining an uplink according to some example embodiment.

[0081] Referring to FIG. 7, after the first UR 300- 1 connects to the AP in operation S625, and broadcasts its end-to-end throughput R E within its beacon frames, the other URs 300-2 may either associate directly with the AP 200 or with another UR 300. The other URs 300-2 may determine which of the URs 300 or AP 200 to associate with based on the beacon frames transmitted by the first UR 300- 1 and the AP 200. [0082] In operation S705, the other URs 300-2 may determine whether they have received beacon frames from either the first UR 300- 1 that is associated with the AP and contains end-to-end throughput R E information or received beacon frames directly from the AP 200.

[0083] If in operation S705, the other URs 300-2 determine that they have not received a beacon frame with end-to-end rate information and / or a beacon frame directly from the AP 200, then the other URs 300-2 may wait until they receive such a beacon frame to make their own association decision.

[0084] In operation S710, if the other URs 300-2 receive beacon frames with end-to-end rate information and/ or the beacon frames directly from the AP 200, the other URs 300-2 may calculate all possible end-to-end throughput R E by using the beacon frames received from the first UR 300- 1 that is already connected to the AP 200. Further, the other URs 300-2 may calculate their own direct throughput R D rate to the AP 200, if the received beacon frame is from the AP 200. [0085] In operation S715, each of the other URs 300-2 may determine whether their respective end-to-end throughput is greater through the direct connection to AP or through another UR 300.

[0086] Referring back to FIG. 4, the URs 300 may determine whether their respective end-to-end throughput RE is greater through the direct connection RD to AP or through an indirection connection through another UR 300 based on equation 1 below:

Equation 1 where RE, indirect is the end-to-end throughput, R 2 is the data rate between the AP 200 and the first UR 300- 1 and Ri is the data rate between the first UR 300- 1 and the second UR 300-2.

[0087] In operation S720, if the other UR 300-2 determines that it will achieve higher end-to-end throughput RE via a direct connection to the AP 200, then the other UR 300-2 associates with the AP 200. Further, the UR 300-2 may broadcast its own updated beacon packets indicating the end-to-end throughput Re achieved by the UR 300-2.

[0088] In operation S725, if the other UR 300-2 determines that it will achieve higher end-to-end throughput RE by connecting through one of the other URs 300, then the UR 300-2 may associate associates with the UR 300 that provides the greatest end-to-end throughput RE. Further, the UR 300-2 may broadcast its own updated beacon packets indicating the achieved end- to-end throughput RE.

[0089] This process may continue on until all URs 300 determine a desired path based on the end-to-end throughput to connect to the AP 200. [0090] Referring back to FIG. 4, as illustrated in FIG. 4B, if the closest UR to the second UR 300-2 is a third UR 300-3, the beacon packets received by the second UR 300-2 from the third UR 300-3 may have the greatest the RSSI value. Likewise, the beacon packets received by the third UR 300-3 from the second UR 300-2 may also have the greatest the RSSI value. If the URs 300 associate based on signal strength, then the second and third URs 300-2 and 300-3 may associate with each other such that neither can communicate with the AP 200. Therefore, performing association based only on signal strength may cause communication loops that prevent communication between the URs 300 and the AP 200. Thus, it may be desirable for the URs 300 to use other metrics either alone or in conjunction with signal strength when determining an uplink.

[0091] For example, in some example embodiments, the URs 300 make association decisions, at least in part based on a number of hops between the UR 300 and the AP 200. However, when a UR 300 begins operation, the UR 300 may not be aware of the number of hops needed to reach the AP 200. Hence, without this information, the UR may not be able to make an informed decision regarding an uplink to associate therewith.

[0092] In some example embodiments, the URs 300 make association decisions, at least in part based on the Physical Layer bitrate (PHY rate) as a quality measure. In an example, the association decision is based on which route offers the higher PHY rate. For example, a 3x3 IEEE 802.11ac device with RSSI = -70 dBm would be preferable over a 2x2 IEEE 802.1 In device with RSSI = -65 dBm, as it would offer a higher PHY rate. Advantageously, using the PHY rate as opposed to the RSSI provides relatively precise information regarding bandwidth, the modulation and coding scheme that is being used and the number of spatial chain.

[0093] In some example embodiments, the AP 200 may periodically broadcast a beacon frame to the URs 300. The information element (IE) field of the beacon frame may indicate a number of hops traversed to reach the UR 300.

[0094] FIG. 8 illustrates a flow chart of a universal repeater (UR) determining an uplink according to some example embodiment.

[0095] Referring to FIG. 8, in operation S805, the UR 300- 1 starts its operation. For example, the UR 300- 1 may start operation by being deployed in the network or during a reboot operation due to a software update or power loss. Further, the UR 300- 1 may periodically start operation S805.

[0096] In operation S810, the UR 300- 1 may enter a receiving mode in which the UR 300- 1 listens for beacon packets transmitted by the AP 200 and/ or other URs 300-2 in the network.

[0097] In an effort to ensure that the UR 300- 1 receives the beacon packets, the UR 300- 1 may be programmed to remain in the receiving mode for a period of time that is greater than an interval in which the AP 200 periodically transmits the beacon packets.

[0098] If the UR 300- 1 receives the beacon packets, in operation S815, the UR 300- 1 may analyze the Information Element (IE) field in the received beacon packets.

[0099] The IE field may contain information indicating the number of hops required for the UR 300- 1 to reach to the AP 200. If the UR collects N different beacon packets, then the number of hops associated with each beacon packet may be denoted as a 1 ; a 2 , ... a N . For example, a N may denote the number of hops for UR N 300-N to reach the AP 200. [00100] In operation S820, the UR 300- 1 may associate with the AP 200 or another UR 300-2 based on the number of hops. For example, the UR 300- 1 may associate with one of the other URs 300-2 that provides the minimum number of hops to the AP 200. For example, the UR 300- 1 may associate with UR k using Equation 2 below: k = org min a N Equation 2 where k is the other UR 300-2 that the UR 300- 1 associates with and a N is the number of hops.

[00101] In operation S825, the UR 300- 1 may set the Information Element (IE) field in its own beacon packet to a+1 and broadcast the beacon packets having the updated IE field to the other URs 300-2.

[00102] If in operation S810, the UR 300- 1 does not receive beacon packets within the wait time, the UR 300- 1 may optionally perform an uplink correction procedure in operation S900.

[00103] FIG. 9 illustrates a flow chart of a universal repeater (UR) performing an uplink correction procedure according to some example embodiment.

[00104] Referring to FIG. 9, the UR 300- 1 may perform an uplink correction procedure if the UR 300- 1 does not receive beacon packets from the AP 200 within the listening time. For example, the UR 300-1 may not receive the beacon packets if the AP 200 is offline.

[00105] In operation S905, the UR 300-1 may continue to listen for the beacon packets for a desired (or, alternatively, a predetermined) additional amount of time T. The UR 300- 1 may wait the additional time T to prevent a false alarm from occurring due to the wireless channel or short disconnection and / or rebooting issues. [00106] In operation S910, if the UR 300- 1 receives beacon packets from the AP 200 and/or other URs 300-2 in the network, the UR 300- 1 may perform a normal uplink determination procedure. For example, the UR 300- 1 may perform the uplink determination procedure discussed above with reference to FIG. 8.

[00107] In operation S915, if the UR 300- 1 does not receive the beacon packets within the additional time T, the UR 300- 1 may determine that it is not functioning and may drop any user equipment (UEs) 100 that are associated with the UR 300- 1. Thereafter, the UEs 100 may associate with the AP 200 or with another UR 300-2 that has a functioning uplink to the AP 200.

[00108] In operation S920, the optimal uplink associated with the AP 200 or with another UR 300-2 is determined by recalculating at UR 300-1 the minimum number of hops between UR 300- 1 and the AP 200. This may be determined in accordance with the procedure described in relation to operation S820 of Fig. 8.

[00109] Figure 10 illustrates an example embodiment of the invention. There is shown a process SI 000 for operating a universal repeater. The process commences at step S1002, when the universal repeater is activated within the WLAN network and comes online. The universal repeater may start operation by being deployed in the network or during a reboot operation due to a software update or power loss. Alternatively, the universal repeater may periodically start operation at step SI 002. Then, the process moves to step SI 004, whereby the universal repeater listens for 1 second for beacons using the same SSID. In further examples, the universal repeater listens for a different length of time for beacons using the same SSID. The process then moves to step SI 006, whereby the universal repeater determines the BSSIDs of the devices operating in the WLAN and the end-to-end capacities from the devices operating in the WLAN to the gateway of the network. The process then determines a sorted list of end-to-end capacities for each of the devices at step S1008. Once the universal repeater has determined a sorted list of end-to-end capacities for each of the devices for which it has identified a BSSID in the network, the universal repeater associates itself as a station (ST A) to the device with the BSSID with the highest end-to-end capacity at step S 1010. The process then ends at step S 1012.

[001 10] Advantageously, a universal repeater that is introduced into a wireless network can dynamically associate with other parts of the network, thereby extending the range of the network whilst providing the most efficient throughput from that universal repeater to the network gateway. Beneficially, subsequently introduced universal repeaters in an extended network can straightforwardly form efficient chains of connection to a gateway without requiring that the existing devices in the network modify their properties in order to adapt to the newly introduced universal repeater. When the universal repeater has associated as a STA to the BSSID with the highest end- to-end capacity, third party devices are more easily able to integrate with the network, whilst benefitting from the optimised data throughput.

[001 1 1] The example embodiments described above provide a solution to extend a coverage area of a WLAN network and provide a better rate of data transmission between the devices of such WLAN network and the AP of the WLAN network. One advantage of the example embodiments described above are improving network connectivity that may have otherwise been sub-optimal due to conditions of the wireless medium (e.g., presence of walls, etc., that negatively impact network connectivity). Another advantage of the example embodiments is to provide an alternative approach to increasing transmit power for extending the network coverage and improving the network connectivity.

[001 12] Variations of the example embodiments are not to be regarded as a departure from the spirit and scope of the example embodiments, and all such variations as would be apparent to one skilled in the art are intended to be included within the scope of this disclosure.

[001 13] For example, in some example embodiment, the communication between the UR 300-1 and the other URs 300-2 may be improved through the use of a Cocktail Party Side Conversation operation, as discussed in US Patent Appln. No. 13/972,736, titled: Cocktail party: side conversations and talking over in wireless mesh networks, the entire contents of which are hereby incorporated by reference. In a Cocktail Party Side Conversation operation, during transmission, the UR 300- 1 and/or UR 300-2 may lower their respective power to increase the efficiency of the transmissions. For example, the URs 300 may include instructions that, when executed, configure their associated processors 330 to lower the power used by their respective interfaces 310 while forwarding the data packets. Hence, the achievable data rate between the URs 300 may increase.