GB2411317A - Variable length Network address Allocation - Google Patents

Variable length Network address Allocation Download PDF

Info

Publication number
GB2411317A
GB2411317A GB0403825A GB0403825A GB2411317A GB 2411317 A GB2411317 A GB 2411317A GB 0403825 A GB0403825 A GB 0403825A GB 0403825 A GB0403825 A GB 0403825A GB 2411317 A GB2411317 A GB 2411317A
Authority
GB
United Kingdom
Prior art keywords
network
devices
address
addresses
allocating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB0403825A
Other versions
GB2411317B (en
GB0403825D0 (en
Inventor
Russell John Haines
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Europe Ltd
Original Assignee
Toshiba Research Europe Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Research Europe Ltd filed Critical Toshiba Research Europe Ltd
Priority to GB0403825A priority Critical patent/GB2411317B/en
Publication of GB0403825D0 publication Critical patent/GB0403825D0/en
Publication of GB2411317A publication Critical patent/GB2411317A/en
Application granted granted Critical
Publication of GB2411317B publication Critical patent/GB2411317B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • H04L29/12009
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats

Abstract

The present invention relates to temporary addressing of devices in a network, for example an ad-hoc or centralised wireless network such as a Bluetooth piconet or IEEE802.11 WLAN for example. The present invention provides a method of allocating and using variable length temporary addresses for devices in networks. These networks may be temporary such as Bluetooth <TM> personal piconets or 802.11 Wi-Fi <TM> networks in an airport lounge for example, or they may be essentially fixed once set up for example a home entertainment system. By using variable length addresses, the above mentioned problems can be overcome as only as many addresses as necessary are used, thus reducing the overhead and bandwidth efficiency of the network. In addition a network using this method is scalable to accommodate increasing numbers of devices such that the network is not constrained in the way that a Bluetooth <TM> network is for example.

Description

2411 317
NETWORK ADDRESSING SCHEME
Field of the Invention
The present invention relates to temporary addressing of devices in a network, for example an ad-hoc or centralised wireless network.
Background of the Invention
A number of contemporary device addressing schemes for wireless networks are known. The networks may be centralised, for example a wireless local area network (WLAN) in an airport lounge, or distributed ad hoc such as a personal area network (PAN). Such network addressing schemes are needed to allow the devices to talk to each other whilst part of the network. Each device will have a permanent unique address, but may be allocated a temporary network address as well.
The IEEE 802.11 WLAN system for example uses a forty-eight bit MAC (Medium Access Control) Address to uniquely identify every device in the world, and then uses that entire address to direct frames within a WLAN BSS (Basic Service Set, the 802.1 1 term for a network of WLAN devices sharing a common channel), even if there are only (say) two devices in the entire BSS.
This arrangement is not optimal, as such long addresses are wasteful of bandwidth, and contribute to the overheads imposed by the MAC that reduce the total data rate offered by the physical layer to the much smaller net data rate offered by the MAC layer to the layers above it.
The BluetoothTM system gives each node a fixed Bluetooth Device Address (BD_ADDR) of forty-eight bits, but for off ciency reasons, rather than transmitting that entire 48-bit address to address a packet to a node, a temporary 3-bit Active Member Address (AM_ADDR) is allocated to a device whilst it is associated with the piconet.
This arrangement, whilst far more efficient, has to accept the trade off that a maximum of seven active members can be supported at any given time, and has to employ relatively complex 'park" mechanisms to handle inactive members of the piconet, as well as parking and unparking devices dynamically.
Thus there is a need for an improved device network addressing scheme for ad-hoc and centralised networks such as WLAN and piconets.
Summary of the Invention
In general terms the present invention provides a method of allocating and using variable length temporary addresses for devices in networks. These networks may be temporary and completely ad hoc such as Bluetooth _ personal piconets; infrastructure based but with highly dynamic membership such as an 802.11 Wi-Fi _ (WLAN) network in an airport lounge or coffee shop (a "hot spot") for example, or they may be essentially fixed and static once set up for example a home entertainment system. By using variable length addresses, the above mentioned problems can be overcome as only as many addresses as necessary are used, thus reducing the overhead and bandwidth efficiency of the network. In addition a network using this method is scalable to accommodate increasing numbers of devices such that the network is not constrained in the way that a Bluetooth _ network is for example.
Preferably the most popular or most active devices utilise the shortest addresses, farther enhancing the efficiency benefits. For example, in a typical WLAN infrastructure star topology, all traffic is either from the client stations (STA) to the access point (AP) or vice versa. As a result, every packet or data-frame sent will have the AP's address in it (either as the source or destination address). Given that this address is used so frequently, it should be given the shortest address possible, rather than all devices having the same address length.
The network addresses preferably comprise a variable length short address, preferably dependent on the associated devices activity level (measured or anticipated), and a fixed length field indicating the length of the variable length short address. The fixed length field preferably has a length which is dependent on the number of devices in the network. In an alternative arrangement, the network addresses may comprise a variable length short address together with a predetermined bit pattern trailer indicating the end of the address. The first option is preferred as it is simpler to implement.
In particular in one aspect the present invention provides a method of allocating variable length temporary addresses for a wireless network comprising a number of devices, the method comprising determining the number of devices in the network, determining the unique permanent address for each device in the network, allocating a unique variable length temporary address to each device for communication with the other devices in the network, wherein the address comprises a fixed length field containing the length of the variable length address, and a variable length field comprising the temporary device address.
In an alternative arrangement, a predetermined bit pattern could be appended to the variable length address instead of prepending the fixed length length field.
In the case where legacy devices exist in the network, allocation of variable length addresses will just be to those devices in the network which can read these.
Preferably the network is a wireless network of the type used by personal communications devices such as wireless local area networks and personal area network. Examples of such networks include those utilising the EEE802. 11 and Bluetooth TM protocols. Such devices typically exchange large amounts of data such as computer files, multimedia content including web content and voice traffic as well as control commands. Examples of such devices include laptop computers, smart or mobile phones, MP3 players and other home entertainment equipment such as television sets, speakers, set-top boxes, sound reproduction equipment and remote control devices.
Preferably the allocation of variable length addresses is based on the popularity of the devices, such that the most active devices have the shortest addresses. This can be achieved by determining an activity profile for each device and allocating the shortest addresses to the most active devices. The activity profile may include or comprise a frequency parameter estimating or measuring the frequency with which an associated device is addressed within the network. This further reduces the addressing overhead, on average, of packets sent across the network.
Various algorithms can be employed to allocate the addresses based on the activity profile, including for example the Huffman algorithm.
There is also provided apparatus and computer program software corresponding to the above defined methods.
Brief Description of the Drawings
Embodiments will now be described in detail with reference to the following drawings, by way of example only and without intending to be limiting, in which: Figure 1 shows a centralized network according to an embodiment; Figure 2 illustrates a process for allocating addresses for the network of figure 1; Figure 3a shows a packet having a known addressing scheme; Figure 3b shows a packet having an addressing scheme according to an embodiment; Figure 4 shows an ad hoc network according to an embodiment; Figure 5 illustrates a process for allocating addresses for the network of figure 4; Figures 6a to 6c demonstrate the Huffman algorithm applied to address allocation in an embodiment for three different networks; and Figure 7 illustrates an embodiment incorporating legacy devices. s
Detailed Description
Referring to figure 1, a centralised network is shown in accordance with an embodiment. The network which comprises a number of devices 2 and wireless links 3 between them. In a centralised network, one device takes on the role of being the Access Point (AP), through which all communications from the other client devices (STA) are directed.
Each client device (STA_A, STA_B, STA_C) sends an authentication request including (amongst any other parameters required for the operation of the system as a whole) the device's full unique address (for example its MAC Address) and an indication of the activity profile of the device. The request could be achieved for example in an IEEE802. 11 authentication request/response exchange. The device's unique address will typically be set at the time of manufacture and uniquely identify the device out of all other available devices anywhere in the world; for example the well- known and aforementioned IEEE 48-bit MAC address. Partially unique addresses could alternatively be used, for example regionally unique addresses or perhaps company specific addresses. The profile of a client device contains information which allows the access point AP to estimate the 'popularity" or activity of that device during the operation of the system. Once the addresses have all been derived, each client device (STA) is given a message informing it of its new network address (and, by virtue of the transmitter's address, implicitly informing it of the AP's address). This message also includes an indication of the size of the longest address now in use in the network, which allows the STA to determine how many bits to set aside for the (fixed length) addresslength field. As all communications go via the AP, there is no need for the STA to know any of the other addresses.
Figure 2 illustrates operation of the access point in receiving the authentication request message from a client device (STA) and allocating and sending the device its network address. The access point (AP) receives authentication requests from each of the client devices (STA) intending to form part of the network. For example the devices may be Bluetooth TM enabled personal devices such as a mobile phone, a palm-top computer, an MP3 player and a laptop computer, with the laptop acting as the access point (AP).
Various protocols for deciding which device to elect as the access point are known to those skilled in the art and are outside the scope of this discussion.
The authentication requests include a unique address such as each client device's MAC address, as well as (as a result of this invention) a profile parameter or information.
From this profile information, it is possible to determine which addresses will be used most frequently and, therefore, should be the shortest.
The embodiments preferably utilise one of two algorithms to generate variable length addresses for use in the network. One is a full Huffman algorithm (see later), and one uses a greatly simplified, reducedcomplexity, variation of it. Both algorithms will be described in the following pages, but, for the purposes of clarity and building understanding, the simple algorithm will be described first. The full Huffrnan algorithm will be explored in a later example.
The access point lists the client devices (STA), and itself (AP), in order of likely activity levels or 'popularity". In a centralized network the access point will clearly be the most active as the client devices will only ever communicate with the access point. However the activity levels of the client devices may vary depending on their function, the sort of information they are likely to transfer, and the likelihood of their use. For example, it may be considered that a mobile phone will communicate more regularly with the laptop than the MP3 player, however it is likely that the MP3 player link will transfer a lot of information occasionally. The way in which the list of devices forming the network is ordered is highly implementation specific, and many options will now be available to those skilled in the art.
The so-called simple algorithm (described below) is then used to allocate "short" addresses to each client device (STA) and to the access point (AP) itself. These short addresses are of variable length in that one device might have a short address of 4 bits and another device a short address of 5 bits. A network address is then generated for each device and uses a variable length field or portion having the appropriate short address, and prepending a fixed length field or portion comprising the length of the short address. This allows any device receiving the network address to first determine the length of the incoming address, and then determine the short address corresponding to a device.
Once the devices are allocated network addresses, these are forwarded to the client devices (STA) by the access point (AP) together with the fixed length of the address length field (or portion) of the network address, the length of the field is the same for all device network addresses so that all devices can understand the frame structure.
The network address utilised in the embodiment is compared with a known network address format in figure 3. Figure 3a shows the well known 48-bit MAC address embedded in a packet, either as the sender or destination address. By contrast, figure 3b shows the above described arrangement in which the network address comprises a variable length portion having the short address of the device allocated by the access point, as well as a fixed length portion containing the length of the short address.
The simple algorithm for allocating variable length short addresses is described below.
The profiles associated with each device could be very simple (e.g. in the case of a WEAN, they could be just "AP" or "STA"). In this case where a number of devices (STA) have the same profile, an additional parameter can be used to order the list of full addresses - such as a simple alphanumeric ordering of the full addresses. Alternatively, the profiles could be much more complex, for example in a home entertainment network, the profile could say "amplifier with fourteen parallel connections", "speaker with one connection", "DVD recorder with three connections", "TV with one connection", "CD player with one connection". The alphanumeric listing "backup" approach may still be required to resolve conflicts where several devices have the same profile. Note that even if the addresses were listed entirely on the basis of an alphanumeric ordering, there would still be efficiency savings because there would only be as many short addresses as there are devices, so the length of the address fields are optimised.
Having produced this ordered list, bits (i.e. binary digits) are then allocated from the bottom (least popular) to the top (most popular) of the list until all devices have been allocated a short address, grouping devices with partially allocated addresses together after each iteration.
This is illustrated for a 802. 11-style WEAN having two client devices (STA) and one access point (AP). The AP is placed at the top of the list as the most popular (it will be the source or destination of every exchange), and the two STAs ordered alphanumerically on their MAC address.
AP
STA_A
STA B
Then, STA_B is given the LSB of 0, and STA_A 1 (working up from the bottom of the list as per the algorithm). Note that the choice of whether to allocate O first then 1 is arbitrary.
AP
STA_A 1
STA B O
Then, as not all devices have been given an address yet, the algorithm repeats. STA_A and STA_B are considered as a group on this iteration as they have the largest number of bits and the algorithm is not yet finished. Both are therefore given the next most significant bit of 0, whilst the AP is now given the LSB of 1: AP 1 STA_A 01 STA_B 00 Now all devices have been given a unique short address, so the algorithm can terminate.
The longest address is of two bits, so the address-length field will also be of two bits.
The network addresses will then be: AP 01+1 (3 bits) STA_A 10+01 (4 bits) STA_B 10+00 (4 bits) This is a significant saving over 48 bits for a MAC address.
Note that, in this case, on the grounds that no address will ever be zerolength, a single address-length field bit would have sufficed (i.e. O=address is one bit long, 1=address is two bits long), as a possible further optimization.
Adding an additional client device (STA_C) illustrates the algorithm further: AP 1 01+1 (3 bits) STA_A 01 10+01 (4 bits) STA_B 001 11+001 (5 bits) STA_C 000 11+000 (5 bits) In this example, the algorithm will have started with STA_C and STA_B, giving them partial short addresses of O and 1 respectively, then as there were other devices without addresses allocated, the algorithm adds a most significant bit O to each, whilst adding 1 to the next most active device. Again as there are still unallocated devices the algorithm adds a most significant O bit to all the partial short addresses and allocate 1 to the next most popular device (AP). As all devices now have partial short addresses the algorithm stops; and the partial short addresses become the variable length short address portions of the network addresses for the respective devices.
Note that whilst the addition of the extra device now means that the longest address is (2+3) bits long as opposed to (2+2) bits in the original example, the address of the AP, the most frequently used address, is still (2+1) bits.
Intelligent post-processing on the above list could further compact it down: AP 1 STA_A 1 0 STA_B 01 STA_C 00 without affecting the optimal coding of the most popular devices. A person skilled in the art will be able to devise various methods of achieving this function. However this add complexity to the algorithm in order to reduce the address space, and the simple unrefined algorithm is preferred for its simple implementation.
Referring to figure 4 and 5, an embodiment is described with respect to a distributed ad hoc case network. As with the centralised network of figure 1, the ad hoc network comprises a number of devices 2 coupled by wireless links 3. The solid line links 3 show the intended "in-service" links or connections between devices, whilst the dashed line links 3' illustrate additionally connections just used for the network set-up phase.
For this set-up phase each device will communicate with each other device in the network (only shown for the DVD device for clarity), even if it would normally not have an in-service connection 3.
As the ad hoc network forms, each device broadcasts its full unique address and profile to all other devices. This could be achieved in a round-robin fashion, or by adopting a simple slotted contention-based scheme such as slotted Aloha. This scheme could be further strengthened by employing a negative acknowledgement scheme (NACK) whereby any devices receiving a corrupted packet raise an alarm. This avoids all devices positively acknowledging the transmitter which might be swamped with responses. All devices are shown to be in range of each other; however if multi-hop routes are required then this broadcast information and the associated NACKs would be forwarded on as usual in a multi-hop network (such considerations are well known to those skilled in the art). These mechanisms ensure the correct and reliable reception of all broadcasted packets; and as a result, at the end of this phase, all devices have a list of the members of the network and their profiles. All devices then apply the same algorithm (see below) to the same set of data, and derive the same results, namely a look-up table mapping full unique addresses to short addresses and a determination of the length of the longest address (and therefore the number of bits required for the
address-length field).
A confirmation scheme could then be applied (for example, each device in turn could broadcast a short packet containing it's full unique address, the size of the address- length field and its short address - any disagreements would be grounds for a repeat of this whole phase.
This process is illustrated in figure 5 which also indicates use of a more sophisticated address allocation (Huffman coding based), however the simple algorithm already described can also be used as described below.
Taking the profile examples quoted earlier, the ordered list could resemble:
AMP
DVD
SPKRA
SPKRB
TV
CD
On the basis that the AMP and DVD units have greater potential for devices wanting to address them, and that the speakers will then be the most frequently addressed after that.
Following the same simple algorithm process as described before, the short addresses AMP 1 001+1 (4 bits) DVD 01 010+01 (5 bits) SPKRA 001 011+ 001 (6 bits) SPKRB 0001 100+0001 (7 bits) TV 00001 101+00001 (8 bits) CD 00000 101+00000 (8 bits) With the address-length field being three bits long (to give a maximum value of 23 = 8 to cover the largest length of 5). In this case, the AMP has an address of (3+1) bits and the CD player (3+5) bits.
As before, this solution is not optimal in terms of bits used, and complex post- processing could reduce the address space further: AMP 1 DVD 01 SPKRA 01 1 SPKRB 010 TV 001 CD 000 In the situation where new devices may join the network (centralized or ad-hoc) fairly frequently, it may be undesirable to have to recalculate the entire addressing scheme every time that a new device joins the network.
In this case a management algorithm inspects the current range of the address-length field, and determines whether there is sufficient space to simply add an extra address of greater length than the current one. Alternatively, as illustrated with the more refined algorithm suggestions above, there will most likely be spare addresses within the current space anyway. In the distributed ad hoc network case, this new address pairing would simply be broadcast to all devices; and in the centralised case, the AP would simply have to inform the new device.
In another alternative, the address-length field could be lengthened by a bit, with a suitable sequence of messages exchanged and broadcast around the network to do this in a controlled fashion.
Where a device leaves a network, the simplest solution for the removal of the device would be to carry on with the current addressing scheme for the time being.
Alternatively or periodically a dynamic re-allocation scheme (described further below) can re-evaluate the current mapping.
The Huffman algorithm is described in Huffman, D. A. "A Method for the Construction of Minimum-Redundancy Codes." Proc. Inst. Radio Eng. 40, 1098-1101, 1952; and is normally used in file compression. It typically ensures that the calculation of addresses is minimally weighted, but this is at the cost of not only a slightly larger overhead in terms of the minimum length of any address, but also in terms of the requirement for repeated invocations of a sorting (or, at least, search + insertion) algorithm (rather than just on the first iteration as in the low complexity"simple" algorithm described above).
The Huffman algorithms application to short address generation requires a more quantitative evaluation of the 'popularity" of each device such that an actual numerical weight, relative to the other devices, can be derived. The algorithm builds up an extended binary tree by determining the two smallest weights (we and w2) and combining them to produce a temporary weight (internal to the algorithm) of wt. = (we + w2). This new weight w,, is then inserted into the ordered list appropriately, and this process continued until no further combinations are possible (i.e. the root of the tree has been reached).
This algorithm is well suited to networks having larger numbers of devices, however for illustration purposes, a simple example is considered first. This network is an 802.11 WEAN with an access point (AP) and two client stations (STA_A and STA_B).
Assuming for the purposes of this example, that both stations are equally likely to transmit (therefore requiring a sub-ordering scheme as before, for example, considering MAC addresses).
AP 50% STA_A 25% STA_B 25% Referring to figure 6a, the first iteration produces the internal weight we of (25 + 25) = 50. This then gives a new list of: AP 50% wit 50% Clearly, the second iteration results in the creation of the root node, giving a tree as shown in figure 6a.
These addresses can then be "read" by traversing the tree from the leafnode of a given device to the root of the tree (building the address from least significant bit to most significant bit), and gives equivalent results to the low complexity algorithm in this instance: AP 1 STA_A 00 STA B 01 Referring to figure 6b to further illustrate this, consider an additional (equally popular) STA as before: AP 50% STA_A 16.7% STA_B 1 6. 7% STA_C 1 6.7% (Note that the numbers are approximated) The first iteration produces the internal weight wit of (16.7 + 16.7) = 33.4%. This then gives a new list of: AP 50% wit 33.4% STA A 16.7% The next iteration produces the internal weight we of (33.4 + 16.7) = 50%. This then gives a new list of: AP 50% we 50% A final iteration results in the creation of the root node, giving the tree shown in figure 6b. Reading the addresses from this tree again gives the following addresses: AP 1 STA_A 00 STA_B 010 STA C 011 Note that, again, this result is equivalent to that achieved with the lower complexity algorithm.
The improvements resulting from the use of this more complete version of the Huffman algorithm become apparent with greater numbers of devices, and where the weightings are less evenly distributed as illustrated in figure 6c. Taking the same home entertainment network example as before: AMP 35% DVD 20% SPKRA 15% SPKRB 15% TV 10% CD 5% The first iteration produces the internal weight wit of (10 + 5) = 15%. This then gives a new list of: AMP 35% DVD 20% SPKRA 15% SPKRB 15% wtl 15% The next iteration produces the internal weight wit of (15 + 15) = 30%. This then gives a new list of: AMP 35% W.2 30% DVD 20% SPKRA 15% The next iteration produces the internal weight Wt3 of(l5 + 20) = 35%. This then gives a new list of: AMP 35% Wt3 35% We 30% The penultimate iteration produces the internal weight wt4 of (30 + 35) = 65%. This then gives a new list of: Wt4 65% AMP 35% A final iteration results in the creation of the root node, and reading the addresses from this tree again gives the following addresses: AMP 1 DVD 000 SPKRA 001 SPKRB 010 TV 0110 CD 0111 If this address space is compared to that of the low-complexity algorithm, the reduced short address length improvements are apparent. Clearly, the absolute optimum results (indicated alongside the results for the low-complexity algorithm) have still not been achieved, but these results are an improvement over the low-complexity algorithm.
This algorithm will clearly produce better results with larger numbers of unevenly weighted devices than is possible with the low complexity algorithm, which suggests a combination of the two schemes could be employed, switched on the basis of a threshold on device numbers (for example, the standard deviation of the weights could be examined; if large then this suggests a large spread of values, which supports the use of the more complex algorithm) and an understanding of the target deployment (for example, in a more homogenous (and price sensitive) WEAN deployment, the additional complexity may not be worthwhile).
The ordering of devices and therefore the allocation of addresses so far has been described on the basis of a very imprecise estimate from the static profile of the devices.
A further enhancement observes the activity of all of the devices during operation. This may be achieved by maintaining a running list of the devices in "most recently used" order for the purposes of the low complexity algorithm, and statistics on the percentage of activity observed at each device in the case of the higher complexity version. If the percentage activities were tending toward an evenly distributed set, then the low complexity algorithm could be adopted. Then, either periodically or if the situation has become such that the current addressing scheme is sub-optimal beyond a threshold, then the addressing scheme could be changed.
A first approach is to just start again from scratch, by recalculating the network addresses. A second approach is to implement messages that could inform a device (or all devices in the case of the distributed scheme) of its new address and the time at which it should start using the newaddress. This second approach would permit the system to continue functioning with only graceful degradation (i.e. only the current reconfiguring device would be affected).
An additional factor when considering extensions to the IEEE802. 11/alb/g standards is that of backwards compatibility. By altering the structure of the frame header in a drastic manner such as this, all older legacy devices will be unable to understand the frame format. The IEEE802. 11 standard defines a "fail-safe" reaction to the reception of corrupted frames (which, to all intents and purposes, these frames will appear to be), whereby the device backs off from attempting to access the medium for a very large amount of time (the Extended Inter Frame Space, EIFS), or until such time as it is able to correctly decode a frame. Whilst this is irrelevant to the new devices embodying this information, it would be problematic with the legacy devices, and is as such undesirable. To mitigate this problem, a "legacy friendly" mode of operation can be employed whereby only the data frame is sent using these variable length, shorter addresses - the acknowledgements (and any RTS/CTS handshakes) are sent with full 48-bit addresses. This results in a less optimum use of bandwidth, but the trade off is used to protect the legacy devices. In the event of the system determining that there are no legacy devices within the BSS, then a "native" mode could be employed with short addressing applied to all frames (data, ACK, RTS and CTS).
This is explained in more detail with respect to figure 7, which uses both the new variable length address formatted packets 10 having a length field L and the destination address Ad, and legacy address formatted packets 1 1. Both packet types 10 and I 1 additionally include a duration ("Dur") field (this may be implemented using the well known NAV counter) which indicates how long the medium (the WEAN for example) will be busy and thus how long other devices will have to wait before contending for access, as well as a "traffic" field which may contain data or control instructions such as acknowledge (ACK). Other examples of control instructions include RTS and CTS.
In the example wireless network there are three stations, a sending station 12, an intended recipient station 13, and another station 14 which will also receive the sent packet. The sending and intended recipient stations both recognise the new variable length address packets 10, however the other station 14 does not.
Initially the sending device 12 sends a variable address length packet 10 which is received by both the intended device 13 and the other device 14. The intended device 13 recognises the format, and recognizes that the packet is addressed to it, and so passes this on to higher layers for further processing. The other device 14 also receives the packet but does not recognise the format and so attempts to read a 48 bit MAC address followed by the duration field (1 second). This fails, and the legacy device 14 then goes into a "back-off" mode setting a timer for a long time before trying to contend for access again - this period is known as EIFS.
The intended device 13, having successfully received the data sends an acknowledgement packet to the sending device 12. This packet 1 1, along with other control packets is formatted using the legacy or old format MAC style address, and is received by both the sending device 12 and the legacy device 14. The sending device 12 receives the packet 11 knowing in advance to expect a legacy packet 11, and therefore confirms that the data sent to the intended device 13 has been received OK. The legacy device 14 recognises the acknowledgement packet format 11 and so stops the EIFS timer, identifies that the packet is not for it, but can read the duration (0.25 seconds) and so knows that it can again contend for use of the network after this time.
Compared with the Bluetooth TM three-bit AM_ADDR scheme, the described embodiments are extendable or scaleable, whereas Bluetooth TM runs out of addresses (ignoring the juggling of active and parked devices) after seven devices (one of the eight addresses being reserved for broadcast).
The embodiments also compare favourably with the 802.11 WEAN system which uses a 48 bit MAC address even for small networks. A typical 802.11 data frame comprises three address fields; the source, destination and the BSS ID (which identifies the BSS as a whole, so that transmissions can be distinguished in the case of mutually collocated, coexisting BSSs). The BSS ID would be dangerous to abbreviate as there can be no coordination between the unrelated but overlapping BSSs, but the other two address fields (source and destination addresses) are both 48-bit addresses. Thus for practical wireless networks the embodiments will offer a considerable improvement.
Taking, as an example, a usage pattern of three stations concurrently associated with the access point (which is a common scenario), the potential saving within a data frame in terms of the size of the address fields in the MAC header are of the order of 90% even with the simplest algorithm (i.e. compared to using full-length MAC addresses, where a simple data frame sent from the AP to STA_A would require 96-bits of address (48-bits for source address, 48-bits for destination address), whereas adaptive addressing would only require ((2+1)+(2+2)=) 7-bits in this case, offering a ((96-7)/96=) 93%
improvement in the size of the address field).
To put this in the context of the frame size (specifically, the MPDU presented to the PHY) in the 802.11 system, it should be observed that the header added by the MAC with full addressing (in an infrastructure BSS case) is of 28 bytes (comprising two bytes frame control, two bytes duration ID, six bytes BSSID, two bytes sequence control, four bytes checksum and six bytes each for the transmitter and destination addresses, whereas the header added by the MAC with adaptive addressing (in the ((2+ 1)+(2+2)) case) would be of 17 bytes. This gives a saving in the overhead portion of the frame of ((28-17)/28=) 40%. Note that, as data rates increase, the header is usually still transmitted at legacy rates for backwards compatibility, so an improvement in the header part of the frame is significant.
Whilst the Huffman algorithm and a simplified version of it have been described to generate variable length short addresses, other algorithms could alternatively be used, for example Arithmetic Coding as described in: http://en.wikipedia.org/wiki/Arithmetic_coding The contents of which are incorporated herein by reference.
The skilled person will recognise that the above-described apparatus and methods may be embodied as processor control code, for example on a carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. For many applications embodiments of the invention will be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus the code may comprise conventional programme code or microcode or, for example code for setting up or controlling an ASIC or FPGA. The code may also comprise code for dynamically configuring re-configurable apparatus such as re- prograrnmable logic gate arrays. Similarly the code may comprise code for a hardware description language such as Verilog _ or VHDL (Very high speed integrated circuit Hardware Description Language). As the skilled person will appreciate, the code may be distributed between a plurality of coupled components in communication with one another. Where appropriate, the embodiments may also be implemented using code running on a field-(re)programmable analogue array or similar device in order to configure analogue hardware.
The skilled person will also appreciate that the various embodiments and specific features described with respect to them could be freely combined with the other embodiments or their specifically described features in general accordance with the above teaching. The skilled person will also recognise that various alterations and modifications can be made to specific examples described without departing from the scope of the appended claims.

Claims (27)

  1. CLAIMS: 1. A method of allocating variable length network addresses for
    devices in a wireless network, the method comprising: determining the unique permanent address for each device in the network; allocating a unique variable length network address to each device for communication with the other devices in the network, the network address comprising a variable length address identifying the device within the network.
  2. 2. A method according to claim 1 wherein said network address further comprises a fixed length portion identifying the length of the variable length address.
  3. 3. A method according to claim 2 further comprising determining the number of devices in the network, the length of the fixed length field being dependent on the number of devices in the network.
  4. 4. A method according to any one preceding claim further comprising determining an activity profile for each device which corresponds to a measure or estimation of the frequency of communication of said device within the network compared with the other said devices; and allocating the length of the variable length address of each device according to said devices activity profile.
  5. 5. A method according to claim 4 wherein the measure or estimation comprises a frequency parameter and wherein the device having the highest frequency parameter is allocated the shortest address.
  6. 6. A method according to claim 4 or 5 wherein said allocation comprises selecting between a plurality of algorithms dependent on the distribution of activity profiles amongst said devices.
  7. 7. A method according to claim 4, 5 or 6 wherein said allocation comprises: determining an order of n devices according to their activity profiles; allocating a k-bit address to each said device, where k=1 to n and is dependent on the order of said device.
  8. 8. A method according to claim 7 farther comprising adjusting said allocated k-bit addresses to represent sequential binary addresses from 1 to n.
  9. 9. A method according to claim 4, 5 or 6 wherein said allocation comprises: determining an order of n devices according to their activity profiles; allocating an address to each said device according to the Huffman algorithm.
  10. 10. A method according to claim 4, 5 or 6 further comprising determining the activity of said devices over a period in order to update said activity profiles, and re- allocating said network addresses based on said updated profiles.
  11. 11. A method of allocating variable length network addresses for devices in a wireless network, the method comprising: determining an order of n devices according to their activity profiles; allocating a k-bit address to each said device, where k=1 to n and is dependent on the order of said device.
  12. 12. A method according to claim 11 farther comprising adjusting said allocated k-bit addresses to represent sequential binary addresses from 1 to n.
  13. 13. A method of allocating variable length network addresses for devices in a wireless network, the method comprising: determining an order of n devices according to their activity profiles; allocating an address to each said device according to the Huffman algorithm.
  14. 14. A computer program product comprising processor code arranged to perform a method according to any one preceding claim.
  15. 15. Apparatus for allocating variable length network addresses for devices in a wireless network, the apparatus comprising: means for determining the unique permanent address for each device in the network; means for allocating a unique variable length network address to each device for communication with the other devices in the network, the network address comprising a variable length address identifying the device within the network.
  16. 16. Apparatus according to claim 15 wherein said network address is further arranged to comprise a fixed length portion identifying the length of the variable length address.
  17. 17. Apparatus according to claim 16 further comprising means for determining the number of devices in the network, the length of the fixed length field being dependent on the number of devices in the network.
  18. 18. Apparatus according to any one of claims 15 to 17 further comprising means for determining an activity profile for each device which corresponds to a measure or estimation of the frequency of communication of said device within the network compared with the other said devices; and means for allocating the length of the variable length address of each device according to said devices activity profile.
  19. 19. Apparatus according to claim 18 wherein the measure or estimation comprises a frequency parameter and wherein the device having the highest frequency parameter is allocated the shortest address.
  20. 20. Apparatus according to claim 18 or l 9 wherein said allocation comprises means for selecting between a plurality of algorithms dependent on the distribution of activity profiles amongst said devices.
  21. 21 Apparatus according to claim 18, l 9 or 20 wherein said allocation comprises: means for determining an order of n devices according to their activity profiles; means for allocating a k-bit address to each said device, where k=1 to n and is dependent on the order of said device.
  22. 22. Apparatus according to claim 21 further comprising means for adjusting said allocated k-bit addresses to represent sequential binary addresses from 1 to n.
  23. 23. Apparatus according to claim 18, 19 or 20 wherein said allocation comprises: means for determining an order of n devices according to their activity profiles; means for allocating an address to each said device according to the Huffman algorithm.
  24. 24. Apparatus according to claim 18, 19 or 20 further comprising means for determining the activity of said devices over a period in order to update said activity profiles, and means for re-allocating said network addresses based on said updated profiles.
  25. 25. Apparatus for allocating variable length network addresses for devices in a wireless network, the apparatus comprising: means for determining an order of n devices according to their activity profiles; means for allocating a k-bit address to each said device, where k=1 to n and is dependent on the order of said device.
  26. 26. Apparatus according to claim 25 further comprising means for adjusting said allocated k-bit addresses to represent sequential binary addresses from 1 to n.
  27. 27. Apparatus for allocating variable length network addresses for devices in a wireless network, the apparatus comprising: means for determining an order of n devices according to their activity profiles; means for allocating an address to each said device according to the Huffman algorithm.
GB0403825A 2004-02-20 2004-02-20 Network addressing scheme Expired - Fee Related GB2411317B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0403825A GB2411317B (en) 2004-02-20 2004-02-20 Network addressing scheme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0403825A GB2411317B (en) 2004-02-20 2004-02-20 Network addressing scheme

Publications (3)

Publication Number Publication Date
GB0403825D0 GB0403825D0 (en) 2004-03-24
GB2411317A true GB2411317A (en) 2005-08-24
GB2411317B GB2411317B (en) 2007-06-13

Family

ID=32040101

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0403825A Expired - Fee Related GB2411317B (en) 2004-02-20 2004-02-20 Network addressing scheme

Country Status (1)

Country Link
GB (1) GB2411317B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2415855B (en) * 2004-07-02 2007-09-19 Toshiba Res Europ Ltd Communications apparatus providing local addressing
WO2008096254A2 (en) 2007-02-09 2008-08-14 Nokia Corporation Forbidden tracking area optimization for private/home networks
EP2445239A1 (en) * 2010-10-22 2012-04-25 Research in Motion Limited Method and system for identifying an entity in a mobile telecommunications system
WO2013071961A1 (en) * 2011-11-16 2013-05-23 Siemens Aktiengesellschaft Network addressing having variable address length
WO2015086056A1 (en) * 2013-12-11 2015-06-18 Sca Hygiene Products Ab Scheme for addressing protocol frames to target devices
WO2021176140A1 (en) * 2020-03-04 2021-09-10 Wirepas Oy Addressing system for a wireless communication network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517500A (en) * 1989-09-29 1996-05-14 Motorola, Inc. Packet handling method
US20040052251A1 (en) * 2002-09-16 2004-03-18 North Carolina State University Methods and systems for fast binary network address lookups using parent node information stored in routing table entries

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717956B1 (en) * 2000-03-03 2004-04-06 Luminous Networks, Inc. Dual-mode virtual network addressing
US20020061757A1 (en) * 2000-11-22 2002-05-23 Hunzinger Jason F. Variable mobile address lengths for efficient mobile paging and standby

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517500A (en) * 1989-09-29 1996-05-14 Motorola, Inc. Packet handling method
US20040052251A1 (en) * 2002-09-16 2004-03-18 North Carolina State University Methods and systems for fast binary network address lookups using parent node information stored in routing table entries

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2415855B (en) * 2004-07-02 2007-09-19 Toshiba Res Europ Ltd Communications apparatus providing local addressing
WO2008096254A2 (en) 2007-02-09 2008-08-14 Nokia Corporation Forbidden tracking area optimization for private/home networks
WO2008096254A3 (en) * 2007-02-09 2008-10-30 Nokia Corp Forbidden tracking area optimization for private/home networks
US8116736B2 (en) 2007-02-09 2012-02-14 Nokia Corporation Forbidden tracking area optimization for private/home networks
CN101606406B (en) * 2007-02-09 2013-04-17 诺基亚公司 Forbidden tracking area optimization for private/home networks
US10194314B2 (en) 2010-10-22 2019-01-29 Blackberry Limited Method and system for identifying an entity in a mobile device ecosystem
EP2445239A1 (en) * 2010-10-22 2012-04-25 Research in Motion Limited Method and system for identifying an entity in a mobile telecommunications system
WO2013071961A1 (en) * 2011-11-16 2013-05-23 Siemens Aktiengesellschaft Network addressing having variable address length
AU2013407433B2 (en) * 2013-12-11 2017-07-20 Sca Hygiene Products Ab Scheme for addressing protocol frames to target devices
RU2658787C1 (en) * 2013-12-11 2018-06-22 Ска Хайджин Продактс Аб Scheme for addressing protocol frames to target devices
WO2015086056A1 (en) * 2013-12-11 2015-06-18 Sca Hygiene Products Ab Scheme for addressing protocol frames to target devices
WO2021176140A1 (en) * 2020-03-04 2021-09-10 Wirepas Oy Addressing system for a wireless communication network
US11856649B2 (en) 2020-03-04 2023-12-26 Wirepas Oy Addressing system for a wireless communication network

Also Published As

Publication number Publication date
GB2411317B (en) 2007-06-13
GB0403825D0 (en) 2004-03-24

Similar Documents

Publication Publication Date Title
JP6972095B2 (en) Channel set allocation in frequency-multiplexed communication in a high-density wireless environment
JP6676761B2 (en) Method and apparatus for selecting extended distributed channel access parameters for different stations
JP5805816B2 (en) MAC architecture for wireless communication using multiple physical layers
JP4824582B2 (en) System and method for dynamic beacon period in MAC distributed reservation protocol
JP6246902B2 (en) System and method for downlink frequency domain multiplexed transmission
JP6017510B2 (en) Group owner selection with cross request
TW201831018A (en) Short uplink feedback related methods and apparatus
JP5256344B2 (en) Inter-node communication method in wireless network
US20130107869A1 (en) Wireless communication utilizing mixed protocols
BR112015004880B1 (en) METHOD AND DEVICE FOR SELECTIVE FREQUENCY TRANSMISSION
MX2011000860A (en) Improved ad hoc wireless communications.
JP2007037120A (en) Radio ad-hoc network configuration
EP3403447B1 (en) Regulating responses based on request addressing or request channels
JP4747646B2 (en) Wireless communication system, wireless communication device, wireless communication method, and computer program.
US20050089045A1 (en) Method of providing priority-based discriminated services in wireless LAN environment
KR20050085068A (en) Robust communication system
WO2017074666A1 (en) Methods and apparatus for selecting enhanced distributed channel access parameters for multi-user transmissions
JP3925425B2 (en) Wireless multi-hop network configuration method
GB2411317A (en) Variable length Network address Allocation
JP6235072B2 (en) System and method for improving communication efficiency in a high efficiency wireless network
GB2413037A (en) Allocating temporary addresses to devices in an ad hoc network
KR20130125088A (en) Method of transmitting data
JP6707566B2 (en) Support for packet query-response transactions in lower layers
Chao et al. Load awareness multi-channel MAC protocol design for ad hoc networks

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20130220