Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR ASSIGNING ADDRESSES IN MESH-TYPE NETWORKS
Document Type and Number:
WIPO Patent Application WO/2020/094611
Kind Code:
A1
Abstract:
A hierarchical address assignment based on a MAC address context is proposed. Higher-level routers in Zigbee networks can assign addresses to lower-level routers and address conflicts are monitored by the higher-level routers. In addition, a token-based address assignment is also proposed, where a token is kept among the first level of routers and only the token holder can assign the address to its child devices.

Inventors:
YAO JUN (NL)
DONG PEILIANG (NL)
FAN RONG (NL)
ZHANG ZHIZHONG (NL)
Application Number:
PCT/EP2019/080176
Publication Date:
May 14, 2020
Filing Date:
November 05, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIGNIFY HOLDING BV (NL)
International Classes:
H04L29/12
Foreign References:
US20050281207A12005-12-22
US20090006596A12009-01-01
US20050281207A12005-12-22
Other References:
LI-HSING YEN ET AL: "Flexible Address Configurations for Tree-Based ZigBee/IEEE 802.15.4 Wireless Networks", ADVANCED INFORMATION NETWORKING AND APPLICATIONS, 2008. AINA 2008. 22ND INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 25 March 2008 (2008-03-25), pages 395 - 402, XP031240663, ISBN: 978-0-7695-3095-6
ZIGBEE ALLIANCE: "ZigBee Specification 2007 - Chapter 3.6", INTERNET CITATION, 17 January 2008 (2008-01-17), pages 347 - 417, XP002542076, Retrieved from the Internet [retrieved on 20090819]
Attorney, Agent or Firm:
VAN EEUWIJK, Alexander, Henricus, Walterus et al. (NL)
Download PDF:
Claims:
CLAIMS:

1. An apparatus in a coordinator for controlling address assignment in a mesh-type network, the apparatus comprising:

- a selecting unit for selecting router devices for address allocation based on the mesh-type network structure;

- a checking unit (S203) for detecting whether a request for joining the network has been received at the coordinator device (10) from a selected router device (22);

- a labeling unit (S204) for labeling the selected router device (22), from which the request for joining the network has been received, as a router device allowed to assign network addresses to its child nodes; and

- an address assignment unit (S205, S206) for generating a new unique network address based on a first predetermined rule and for assigning the new network address to the selected router device (22).

2. The apparatus of claim 1, wherein the address assignment unit (S205, S302) is adapted to generate the new unique network address based on a combination of a unique device-dependent address of the coordinator device (10) and a unique device dependent address of the selected router device (22).

3. The apparatus of claim 1, wherein the apparatus is adapted to generate and send a token (30) to the selected router device (22) in order to allow address assignment by the selected router device (22) to child devices (24) of the selected router device (22) based on a second predetermined rule.

4. The apparatus of claim 3, wherein the apparatus is adapted to adjust a token assignment order at the selected router device (22) based on a priority of address assignment at another selected router (22).

5. The apparatus of claim 1, wherein the new unique network address is broadcast to other router devices (22) allowed to assign network addresses to their child devices (24).

6. An apparatus in a router device for controlling address assignment in a mesh-type network, the apparatus comprising:

- a checking unit (S301) for detecting whether a request for joining the network has been received at a router device (22) from a child device (24) and whether the router device (22) has been labeled as a selected router device allowed to assign network addresses to its child nodes; and

- an address assignment unit (S302, S605) for generating a new unique network address for the child device (24) in response to the checking result the of checking unit (S301);

wherein the address assignment unit (S302) is adapted to generate the new unique network address based on a combination of a unique device-dependent address of the router device (22) and a unique device-dependent address of the child device (24) and for assigning the new network address to the child device (24).

7. The apparatus of claim 1 or 5, wherein the new unique network address is broadcast to other router devices (22) allowed to assign network addresses to their child devices (24).

8. An apparatus in a router device for controlling address assignment in a mesh-type network, the apparatus comprising:

- a checking unit (S301) for detecting whether a request for joining the network has been received at a router device (22) from a child device (24) and whether the router device (22) has been labeled as a selected router device allowed to assign network addresses to its child nodes; and - an address assignment unit (S302, S605) for generating a new unique network address for the child device (24) in response to the checking result the of checking unit (S301);

wherein the apparatus further comprises a token checking unit (S604) for checking whether a token (30) for allowing address assignment has been received at the router device (22), wherein the address assignment unit (S605) is adapted to generate the new unique network address based on a second predetermined rule in response to the checking result of the token checking unit (S604).

9. The apparatus of claim 8, wherein the address assignment unit (S605) is adapted to generate the new unique network address by using an address list received together with the token (30).

10. The apparatus of claim 8, wherein the apparatus is adapted to queue (S609) a token applier from which a request for the token (30) has been received, and to assign (S610) the token (30) to a selected one of the queued token appliers, if the token (30) is available at the router device (22).

11. A system for address assignment in a mesh-type network, comprising a coordinator device (10) including an apparatus of claim 1 and a plurality of router devices (22) each including an apparatus of claim 6 or claim 8.

12. A method of controlling address assignment in a mesh-type network, the method comprising:

- selecting router devices for address allocation based on the mesh-type network structure;

- detecting whether a request for joining the network has been received at a coordinator device (10) from a selected router device (22);

- labeling the selected router device (22), from which the request for joining the network has been received, as a router device allowed to assign network addresses to its child nodes; and - generating a new unique network address based on a first predetermined rule; and

- assigning the new network address to the selected router device (22).

13. A method of controlling address assignment in a mesh-type network, the method comprising:

- detecting whether a request for joining the network has been received at a router device (22) from a child device (24) and whether the router device (22) has been labeled by a coordinator device (10) as a selected router device allowed to assign network addresses to its child nodes; and

- generating a new unique network address for the child device (24) in response to the detection result;

wherein generating the new unique network address comprising generating the new unique network address based on a combination of a unique device-dependent address of the router device (22) and a unique device-dependent address of the child device (24), or

checking whether a token (30) for allowing address assignment has been received at the router device (22), wherein the address assignment unit (S605) is adapted to generate the new unique network address based on a second predetermined rule in response to the checking result of the token checking unit (S604).

14. The method of claim 12 or 13, further comprising sharing the assigned network addresses among the selected router devices (22) and the coordinator device (10).

15. A computer program product comprising code means for producing the steps of claim 12 or 13 when run on a computer device.

Description:
METHOD AND APPARATUS FOR ASSIGNING ADDRESSES IN MESH-TYPE NETWORKS

FIELD OF TH E INVENTION

The invention relates to the field of address assignment in mesh-type networks, such as - but not limited to - Zigbee networks, for use in various applications for home, retail and industry.

BACKGROU ND OF TH E INVENTION

Addressing plays an important role in networking. Addresses are used as unique identifiers to identify network nodes during routing and delivery of data packets. In traditional Internet Protocol (I P) based networks, a globally unique IP address is assigned to each node. Thus, when a new node is added to the network, an address will be assigned so that it can be identified uniquely in the network. Addressing schemes proposed for networks can be categorized as 'stateful' and 'stateless'. The stateful approach makes use of an address assignment table, while the stateless approach does not use allocation tables.

Wireless Zigbee networks are well suited where low cost small area networks are required. Zigbee is an IEEE 802.15.4 wireless communication standard that defines lower layers of protocol stack, i.e., the Media Access Control (MAC) layer and the physical (PHY) layer. It can be implemented in star networks, peer-to-peer networks, mesh networks and cluster-tree networks. Zigbee can be applied in personal health care, telecom services, personal computers and peripheral devices, lighting control, access control and many more.

Typical devices used in mesh-type networks (such as Zigbee networks) are a coordinator, routers and end devices. The coordinator and routers can broadcast beacons in the network. Each of the above devices handles its assigned task to synchronize the operation in network. A mesh topology consists of a mesh of interconnected routers and end devices. Each router is typically connected through at least two pathways. The mesh topology supports "multi-hop" communications, through which data is passed by hopping from device to device using the most reliable communication links and most cost-effective path until its destination is reached.

Commissioning is the physical deployment, addressing, and logical binding of nodes to form a functional network. In its broadest sense, commissioning covers a wide range of tasks including surveying the radio and physical environment, placement of devices, configuration of parameters, application binding, optimization of network and device parameters, and testing and verification of correct operation.

In Zigbee networks, a stochastic or random address assignment mechanism is used, where addresses are assigned in random order at the time of transmission. Since the addressing is not hierarchical in the network, address conflicts occur when two or more devices select an identical network address. Therefore, it needs to be checked whether or not duplicate addresses are provided after assigning the random addresses to the nodes. Devices with address conflicts would therefore need to rejoin the network, so that conflicting devices will get a new address.

The paper "Flexible address configurations for tree-based Zigbee" (LI-HSING YEN ET AL) proposes a flexible address configuration for tree-based Zigbee network, in which when proxy ZR receives an association request, the proxy ZR sends Address Request to the ACS if the association request is issued by an FFD, When the ACS receives the address request, it allocates an address block instead of a single address to the proxy XR. The proxy XR then informs the FFD of the block. The first address in the block is for the FFD and the rest are spares. After the association is completed, the FFD becomes a proxy ZR and can locally allocate spare addresses the RFDs that request association with it."

US2005281207 discloses an optimized algorithm for how to determine size of an address space for a Zigbee network device to assign to its child devices to avoid address waste.

Thus, the random address assignment mechanism may lead to address conflicts. As an example, an address conflict may occur at the commissioning stage due to the random address assignment mechanism. Although the Zigbee standard defines an address conflict resolution method, the involved address conflict detection and resolution processes sometimes cause operation errors in the network. Flowever, during the address conflict resolution, the concerned node may lose its address and become a disconnected node. SUMMARY OF THE INVENTION

It is an object of the present invention to provide an enhanced address assignment approach which reduces the risk of address conflicts.

This object is achieved by an apparatus as claimed in claims 1 and 5, by a system as claimed in claim 11, by a method as claimed in claims 12 and 13, and by a computer program product as claimed in claim 15.

Accordingly, a hierarchical address allocation which may be based on the context of unique device-dependent addresses (e.g. MAC addresses) is proposed. Selected router devices (e.g. specific Zigbee routers) are designated to allocate network addresses (i.e. Zigbee short addresses) to child nodes (e.g. lower-level routers or end nodes), wherein the allocated network addresses are shared among the selected router devices (i.e. address allocating Zigbee routers) and the coordinator device to eliminate address conflicts. Thus, the selected higher-level routers in mesh-type networks can assign network addresses to lower-level routers, wherein address conflicts are monitored by the higher-level routers. In addition, a token-based address allocation can be applied. The token is kept among a first level of routers and only the token holder (i.e. parent device) can assign the network address to its child devices. With these approaches, address conflicts can be reduced substantially.

A first aspect of the present invention is an apparatus for controlling address assignment in a mesh-type network, the apparatus comprising:

- a selecting unit for selecting router devices for address allocation based on the mesh-type network structure;

- a checking unit for detecting whether a request for joining the network has been received at a coordinator device from a selected router device;

- a labeling unit for labeling the selected router device, from which the request for joining the network has been received, as a router device allowed to assign network addresses to its child nodes; and

- an address assignment unit for generating a new unique network address based on a first predetermined rule and for assigning the new network address to the selected router device. According to a first variant, the address assignment unit of the first aspect may be adapted to generate the new unique network address based on a combination of a unique device-dependent address of the coordinator device and a unique device-dependent address of the selected router device.

According to a second variant which may be combined with the first variant, the apparatus of the first aspect may be adapted to generate and send a token to the selected router device in order to allow address assignment by the selected router device to child devices of the selected router device based on a second predetermined rule. This provides the advantage that only one of the selected routers is allowed to assign addresses at a time, so that address conflicts due to concurrent assignments by different router devices can be prevented.

According to a third variant which can be combined with the first or second variant, the apparatus of the first aspect may be adapted to adjust a token assignment order at the selected router device based on a priority of address assignment at another selected router. Thereby, the token assignment can be prioritized for selected routers with urgent demand for address assignment.

A second aspect of the present invention is an apparatus for controlling address assignment in a mesh-type network, the apparatus comprising:

- a checking unit for detecting whether a request for joining the network has been received at a router device from a child device and whether the router device has been labeled as a selected router device allowed to assign network addresses to its child nodes; and

- an address assignment unit for generating a new unique network address for the child device in response to the checking result the of checking unit.

According to a fourth variant which can be combined with any one of the first aspect, the first to third variants of the first aspect and the second aspect, the new unique network address may be broadcast to other router devices allowed to assign network addresses to their child devices. This measure ensures that each address assigning router device allowed to assign addresses can check its assigned network addresses for any conflicts with new network addresses assigned by other address assigning router devices. The checking for address conflicts could be performed during or after network formation. If the checking is performed during network formation, a new assigned network address could be broadcasted among the selected router devices. If the checking is performed after network formation, all network addresses could be broadcasted at that time.

According to a fifth variant which can be combined with any one of the first to fourth variants, the address assignment unit of the second aspect may be adapted to generate the new unique network address based on a combination of a unique device dependent address of the router device and a unique device-dependent address of the child device and for assigning the new network address to the child device. Thereby, it can be ensured that new network addresses generated at different router devices differ from each other, as they are generated based on different unique device-dependent addresses.

According to a sixth variant which can be combined with any one of the first to fifth variants, the apparatus of the first or second aspect may further comprise a conflict checking unit for checking whether a new network address received from the network conflicts with one of the network addresses assigned by the apparatus, and further comprises a negotiation unit for negotiating an address change with a conflicting child device to which a conflicting network address has been assigned. This measure ensures that any remaining address conflicts detected at an address assigning router device are removed by an address change.

In a specific example of the sixth variant, the address assignment unit may be adapted to generate a new unique network address for the conflicting child device based on a combination of the unique device-dependent address of the router device, the unique device-dependent address of the child device and a time-based parameter, and to assign the new unique network address to the conflicting child device. Thereby, the address change operation can be kept simple by considering the current time at which the address change takes place as an additional parameter.

According to a seventh variant which can be combined with any one of the first to sixth variants, the address assignment unit of the first or second aspect may be adapted to generate the new unique network address by using a one-way function of the sum of the unique device-dependent addresses. This provides the advantage that a one-way relation is achieved between the new unique network address and the sum of the unique device-dependent addresses based on which the new unique network address has been calculated. According to an eighth variant which can be combined with any one of the first to fourth and sixth variants, the apparatus of the second aspect may further comprise a token checking unit for checking whether a token for allowing address assignment has been received at the router device, wherein the address assignment unit is adapted to generate the new unique network address in response to the checking result of the token checking unit. This measure ensures that only the router device that owns the token will assign new network addresses to its child devices.

In a first specific example of the eighth variant, the address assignment unit of the second aspect may be adapted to generate the new unique network address by using an address list received together with the token. The address list provides the advantage that only such network addresses are assigned, which have not been assigned before by a former token owner.

In a second specific example of the eighth variant which can be combined with the first specific example, the apparatus of the second aspect may be adapted to transmit a request for the token to the network in response to the checking result of the token checking unit. Thereby, the token is forwarded to those address assigning router devices that have received a join request from one of their child devices.

In a third specific example of the eighth variant which can be combined with the first or second specific example, the apparatus may be adapted to queue a token applier from which a request for the token has been received, and to assign the token to a selected one of the queued token appliers, if the token is available at the router device. Thereby, all token requests are handled in a predetermined order, so that all join requests received by different router devices of the network are processed.

A third aspect of the invention is a system for address assignment in a mesh- type network, comprising a coordinator device including the apparatus of the first aspect and a plurality of router devices each including the apparatus of the second aspect.

A fourth aspect of the invention is a method of controlling address assignment in a mesh-type network, the method comprising:

- detecting whether a request for joining the network has been received at a coordinator device from a selected router device; - labeling the selected router device, from which the request for joining the network has been received, as a router device allowed to assign network addresses to its child nodes; and

- generating a new unique network address; and

- assigning the new network address to the selected router device.

A fifth aspect of the invention is a method of controlling address assignment in a mesh-type network, the method comprising:

- detecting whether a request for joining the network has been received at a router device from a child device and whether the router device has been labeled by a coordinator device as a selected router device allowed to assign network addresses to its child nodes; and

- generating a new unique network address for the child device in response to the detection result.

According to a ninth variant, the method of the fourth or fifth aspect may further comprise designating a plurality of the selected router devices to assign network addresses to child nodes and sharing the assigned network addresses among the selected router devices and the coordinator device.

A sixth aspect of the invention is a computer program product comprising code means for producing the steps of the method of the fourth aspect or the method of the fifth aspect when run on a computer device.

In all above aspects and variants, the mesh-type network may be a Zigbee network, the coordinator device may be a Zigbee coordinator, and/or the unique device dependent address may be a MAC address.

It is noted that the above apparatus may be implemented based on discrete hardware circuitries with discrete hardware components, integrated chips, or arrangements of chip modules, or based on signal processing devices or chips controlled by software routines or programs stored in memories, written on a computer readable media, or downloaded from a network, such as the Internet.

It shall be understood that the apparatuses of claims 1 and 5, the system of claim 11, the methods of claims 12 and 13, and the computer program product of claim 15 may have similar and/or identical preferred embodiments, in particular, as defined in the dependent claims. It shall further be understood that a preferred embodiment of the invention can also be any combination of the dependent claims or above embodiments with the respective independent claim.

These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following drawings:

Fig. 1 shows a schematic architecture of an address assignment system according to various embodiments;

Fig. 2 shows a flow diagram of an address assignment procedure at a coordinator device according to various embodiments;

Figs. 3 shows a flow diagram of an address assignment procedure at a router device according to a first embodiment;

Fig. 4 shows a flow diagram of an address assignment procedure at a first- level router device according to various embodiments;

Fig. 5 shows a schematic architecture of an address assignment system according to a second embodiment; and

Fig. 6 shows a flow diagram of an address assignment procedure at a first- level router according to a second embodiment.

DETAILED DESCRIPTION OF EMBODIMENTS

Embodiments of the present invention are now described based on a Zigbee network where network addresses are allocated to Zigbee devices during a joining process.

Fig. 1 shows a schematic network architecture of an address assignment system according to various embodiments.

The address assignment system comprises a coordinator 10 which stores information about the network and takes care of initializing, maintaining and controlling the network. It forms the root of a network tree and might bridge to other networks. Typically, there is one coordinator 10 in each network since it is the device that started the network originally and that acts as a trust center and repository for security keys. The coordinator 10 is required to allow nodes to join or leave the Zigbee network. Furthermore, a plurality of routers 20, 22 are provided to extend the network area coverage by dynamically routing data packets around obstacles and providing backup routes in case of network congestion or device failure. They can connect to the coordinator 10 and to other routers 20, 22 and can also support child devices.

Moreover, end devices (not shown in Fig. 1) are provided, that can transmit or receive messages but cannot perform any routing operations. They must be connected to either the coordinator 10 or a router 20, 22 and do not support child devices.

In general, any application can reside in any of the above node types. For example, the coordinator 10, the routers 20, 22, or the end devices could contain a light, switch, temperature sensor, thermostat, gateway, or whatever is appropriate for the physical device in which they are integrated to provide a desired network connectivity.

After all devices (i.e. network nodes) are programmed, they are turned on, in any order. Once the coordinator 10 forms the network, the other devices will join the newly formed network.

The network is identified by a Personal Area Network identity (PAN ID), and a network address (also called NwkAddr or short address or node address), which is a 16-bit number, is used to uniquely identify a particular node on the network. Typically, a predetermined network address (e.g. 0x0000) is assigned to the coordinator 10.

Once a node is on the network, it can communicate to any other node in the network by transmitting a packet to that node address.

Additionally, a Medium Access Control (MAC) address (also called IEEE address or long address or extended address), which is a 64-bit number, is used as a unique device-dependent address to uniquely identify and distinguish a particular circuit board of a node from all other circuit boards in the world. This number is large enough to allow for about 4 billion ZigBee circuit boards for every square meter of land on earth. It will thus provide an address space large enough for the foreseeable future. The top 24 bits of this address consist of an Organizational Unique Identifier (OUI) and the lower 40 bits are managed by the OEM producing the circuit boards.

It is noted that the 64-bit MAC addresses have no direct relationship to the 16-bit network addresses. If a node leaves one network and joins another, its MAC address will remain the same, but the network address will likely change. In such a network configuration, address conflicts may happen due to random address assignments.

According to various embodiments, a group of first-level routers 22 located within an area 220 are selected and assigned with a valid piece of address to eliminate address conflicts in the network. An example of the selected first-level routers 22 could be those devices that join the network as routers within a one-hop distance to the coordinator, i.e., direct neighbors of the coordinator 10. The first-level routers could also be selected based on the network structure (e.g. physical topology) or another selection criteria.

More specifically, a unique short address is assigned in the mesh network by using a hierarchical address assignment (e.g. first embodiment) or token-based address assignment (e.g. second embodiment), respectively. The hierarchical or distributed address assignment is based on predefined rules to avoid conflict situations. The coordinator 10 will assign a short address to selected routers (e.g. first-level routers) 22 and the selected routers 22 will assign short addresses to its child devices based on predefined rules, e.g., a one-way function or a token. Thereby, only the selected routers 22 can independently assign addresses to their child devices, while other routers cannot. Other routers will get addresses from selected routers for their child devices. Assigned addresses are shared among the selected routers 22 and the coordinator 10 to avoid address conflicts. Routers A, B and C in Fig. 1 are specific examples of the selected routers 22. Fig. 2 shows a flow diagram of an address assignment procedure at the coordinator device 10 according to various embodiments.

In step S201, the coordinator 10 establishes a new network and allows new devices to join, e.g., by broadcasting a corresponding information. The devices adjacent to the coordinator 10 search the network and issue a network joining request.

In step 202, the coordinator 10 checks whether a join request has been received. If not, the coordinator 10 waits until it has received a join request. If it has received a join request, it checks in step 203 whether it has received the request from a neighboring device which wants to join the network as a router. If not, the procedure jumps back to step S202 and the coordinator keeps on waiting for the next join request. If so, the procedure continues with step S204 and the coordinator 10 labels the requestor as selected first-level router and stores a corresponding information (e.g. the requestor's MAC address or another unique identification). New neighboring devices can choose to join the network as a router or an end device. If the device works as a router, the coordinator 10 will label this device as the selected first level router. However, in the first embodiment, only those routers that communicate with the coordinator 10 directly (i.e. via one hop) are selected and labeled as first-level routers.

Thus, first-level routers 22 are selected by the coordinator 10 to assign the network address (i.e. short address) to lower-level nodes (e.g. non-selected routers 20 or end devices). The selected first-level routers 22 could be the one-hop neighbor nodes of the coordinator 10 or other neighbor nodes of the coordinator 10, for which link costs are greater than a predefined threshold. As another option, the coordinator 10 may just assign a certain number of fast-response nodes as the first-level routers 22 once the commissioning is started. So, the first-level of routers 22 could be selected according to corresponding preferred rules in different situations, e.g. based on physical topology of the network.

Additionally, in the second embodiment, the coordinator 10 may set and/or signal a token to the newly labeled first-level router 22, wherein the token allows this new first-level router to assign addresses to its child devices.

Then, in step S205, the coordinator 10 generates a unique network address for the new selected first-level router (i.e. requestor) 22 based on a first predetermined rule. E.g., the unique network address may be calculated based on a function utilizing a unique information (e.g. the MAC address) of the first-level routers 22 or a combination of unique information of the first-level routers 22 and unique information of the coordinator 10. The purpose is that the generated network addresses are less likely to produce address conflicts. The number of first-level routers 22 can be limited so that this function to generate the unique network address does not become too complex. As an example, the function may be a one-way function f(MAC Coo r+MAC r0ute r) which depends on the sum of the MAC address of the coordinator (i.e. MAC ¥o r) and the MAC address of the new first-level router (i.e. MAC route r). Here, the one-way function is a function which is easy to compute but whose inverse is very difficult to compute. Examples of one-way functions are multiplication and factoring, Rabin function (modular squaring), discrete exponential and logarithm, cryptographically secure hash functions or other functions whose inverse is difficult to compute. Thus, the one-way function f combines the two 64-bit MAC addresses (or portions thereof) of the coordinator 10 and the new first-level router 22 and generates a unique 16-bit network address for the new first-level router 22. The two MAC addresses can be combined by adding them. Any other kind of combination (e.g. subtraction, multiplication, division, binary combination, logical combination etc.) can be implemented as well. If the one-way function f is carefully designed, the probability of address conflicts can be decreased substantially.

Then, in step S206, the coordinator 10 assigns the newly created network address (short address) together with the PAN ID of the new network and other parameters to the selected new first-level router 22. Additionally, in the token-based address assignment scheme (second embodiment), the coordinator 10 may set and/or signal a token to the newly selected and labeled first-level router, wherein the token allows this new first- level router to assign addresses to its child devices.

Finally, in step S207, the coordinator 10 publishes the new address e.g. by broadcasting a beacon or the like to make sure that other selected first-level routers 22 can check their addresses and addresses assigned to their child devices for conflicts. In case that any address conflict is found, the selected first-level routers 22 shall negotiate an address change for the device with address conflict. Then, a new address is set to this device. Thereby, the coordinator 10 can guarantee that the address of the new first-level router 22 is unique.

Figs. 3 shows a flow diagram of an address assignment procedure at a router 20, 22 according to the first embodiment.

In step S301, the router 20, 22 waits until it has received a join request and it has been labeled as first-level router. If it has received a join request and has been labeled as first-level router 22, the procedure continues with step S302 and the first-level router 22 (i.e. parent device) generates a unique network address (short address) for the new child device (i.e. non-selected lower-level router or end device). All nodes except for the coordinator 10 and the first-level routers 22 are non-selected routers. The non-selected routers 20 need to apply for assignment of network addresses by the first-level routers 22. When a child node of a non-selected router 20 wants to join the network, the non-selected router 20 will forward the child node's join request to the first-level router 22 to which it belongs. Then, the first-level router 22 can assign a network address to the child node of non-selected router 20.

In another embodiment, the child node of a non-selected router 20 may apply a token. In case that the token is obtained, the child node of the non-selected router 20 can choose its network address according to a current address list.

However, the number of non-selected routers 20 is usually higher than that of the first-level routers 22. Therefore, the function used for calculating the network address for non-selected routers 20 or end devices could be different from the function used for calculation at the first-level routers 22. The address calculation could be based on a unique information (e.g. MAC address) of the first-level router 22 and the lower-level router 20. In addition, to avoid address conflicts, a random number or time parameter could also be used for address generation. As an example, the first-level router 22 may calculate the network address for the requesting child node based on a one-way function f( M ACparent+M ACchiid) which depends on the MAC address of the parent device (i.e. M ACparent) and the MAC address of the child device (i.e. MACchiid). The one-way function may be the same as described above with reference to Fig. 2.

Finally, in step S303, the first-level router 22 broadcasts the new network address through the network. Thereby, all assigned network addresses below the first-level router 22 are broadcast among the group of first-level routers 22, so that all first-level routers 22 can check the network addresses which have been broadcasted. In case that any address conflict is found, the first-level routers 22 may negotiate an address change for the device with address conflict. Then, a new address is set to this device, as explained in the following with reference to Fig. 4.

The checking for address conflicts could be performed during or after network formation. If the checking is performed during network formation, a new assigned network address could be broadcasted among the selected first level router devices 22. If the checking is performed after network formation, all network addresses could be broadcasted at that time.

Fig. 4 shows a flow diagram of an address assignment procedure with conflict prevention at a first-level router device according to various embodiments.

In step S401, the selected first-level router 22 waits until it has received a broadcast message or beacon with a new network address that has been allocated to a device in the network. If it has received a new network address, the procedure continues with step S402 and the first-level router 22 compares the received new network address with all network addresses assigned to this child devices in order to make sure that its child devices have different network addresses.

Then, in step S403, it checks whether any matching network address has been assigned. If not, the procedure jumps back to step S401. If a conflict has been detected, the procedure continues with step S404 and the first-level router 22 notifies the address conflict and negotiates an address change with the respective child device. Thereafter, the first-level router 22 sets a new network address in step S405. As an example, the new network address could be generated by applying the one-way function f( M ACparent+M ACchiid+tc) which depends on the MAC address of the parent device (i.e. MACparent), the MAC address of the child device (i.e. MACchiid) and a parameter (i.e. t c ) that reflects or is based on the current time.

To solve address conflicts detected in step S403, the selected first-level router 22 may directly assign a new network address to its child device in step S404 if the address conflict results from a network address that has been assigned to one of its own child devices. If the address conflict is detected among different selected first-level routers 22, after negotiation, one selected first-level router 22 can change its child node address and the other selected first-level router 22 may keep the original network address.

As a result, it can be ensured that all devices in the network receive a unique network address and conflicts are prevented.

In the following, an alternative token-based address assignment approach will be described with reference to Figs. 5 and 6.

Fig. 5 shows a schematic architecture of an address assignment system according to the second embodiment, wherein devices similar to those of Fig. 1 of the first embodiment are denoted by same reference numerals and are not explained again here.

In the second embodiment, a selected first-level router 22 is allowed to allocate network addresses (i.e. short 16-bit addresses) to its child devices 24 if it has received a corresponding token 30 from the coordinator 10. In the example shown in Fig. 5, the first-level router A1 currently owns the token 30 and is therefore allowed to allocate network addresses to its child devices All, A12, A13 and A14 within its child area 240 based a second predetermined rule. It is noted that the token 30 shown in Fig. 5 just indicates that the first-level router A1 possesses the token 30. The token 30 is to be understood as a software object which represents the right to perform the address assignment operation. As an example, it may be a unique identifier (bit, flag, parameter, bit code or the like) set in a broadcast message or beacon or dedicated message issued by the coordinator 10 to signal to the first- level routers 22 which of them has been selected to receive the token 30.

Fig. 6 shows a flow diagram of an address assignment procedure at a selected first-level router 22 according to a second embodiment.

In the second embodiment, the first-level routers 22 can be generated in the same way as in the first embodiment, i.e. in accordance with steps S201 to S207 of Fig. 2.

Then, all child devices 24 below the first level (i.e. devices not selected and labeled by the coordinator 10) can apply for a network address at any time.

A token is generated by the coordinator 10 and sent to a first-level router 22. Only with this token, the first-level router 22 has the right to assign network addresses to its child devices.

In step S601, the first-level router 22 waits for the receipt of the token 30 from the coordinator 10 or from another first-level router 22. The token may be transmitted together with a list of available network addresses not yet assigned in the network. If the token 30 has been received, the procedure continues with step S602 and a usage flag is set by the first-level router 22 e.g. in its broadcast messages to indicate who holds the token and the other first-level routers 22 are blocked from address assignment.

In step S603, the first-level router 22 checks whether a join request has been received from one of its child devices 24. If not, the procedure jumps to step S608. If a join request has been received, the procedure continues with step S604 and the first-level router 22 checks whether it has the token 30 available or not. If not, the procedure branches to step S607 and the first-level router 22 broadcasts a request for the token 30 to the other first-level routers 22 and the coordinator 10. Otherwise, if the first-level router 22 determines in step S604 that it owns the token 30, the procedure continues with step S605 and the first-level router 22 generates and assigns a new network address to the requesting child device 24 based on a second predetermined rule, e.g., according to an address list received together with the token 30. The address list may be list of available network addresses which have not yet been assigned in the network and the address assignment may be incremental. More specifically, in step S605, the first-level router 22 may assign the newly created network address together with the PAN ID of the new network and other parameters to the child device 24.

Thereafter, in step S606, the first-level router publishes the new address e.g. by broadcasting a beacon or the like to make sure that other first-level routers 22 can check their addresses and addresses assigned to their child devices 24 for any conflict. In case that an address conflict is detected, the first-level routers 22 shall negotiate an address change for the child device 24 with address conflict. Then, a new address is set to this child device. Thereby, the first-level routers 22 can guarantee that the address of the new child device 24 is unique.

Thus, in the above example of the first-level router Al, after A1 gets the token, it can assign network addresses to its child devices All, A12, A13 and A14 based the address list in an incremental manner without requiring calculation of the (one-way) function of a combination of the MAC addresses of the first-level router Al and the respective one of its child devices All, A12, A13 and A14. Thereby, processing load can be reduced as compared to the first embodiment.

Then, in step S608, the first-level router 22 checks whether it has received a token request from another first-level router 22 and whether it currently owns the token 30. If not, the procedure jumps back to the initial step S601. Otherwise, if the first-level router 22 owns the token 30 and has received a token request, then the first-level router 22 adds the token applier to the end of an applier queue in step S609. Then, it assigns the token 30 to the token applier at the top of the queue in step S601. Finally, in step S611, the first-level router 22 transmits the token 30 to the selected token applier, i.e., to the selected other first-level router 22 that will be the next owner of the token 30.

As an example, the current token holder may queue the token appliers according to their application time, i.e., the time when the token request has been received, or according to a priority information included in the token request, or any other criteria for queuing the received token requests. Flowever, the coordinator 10 may also be allowed to adjust the token assignment order when a first-level router 22 needs to assign the short address with high urgency. As an example, the coordinator can also take case of token order assignment. Token requests from selected routers are sent to coordinator. Each current token holder will check with the coordinator who is the next user of the token after using it.

To summarize, a hierarchical address assignment based on a MAC address context is proposed. Higher-level routers in Zigbee networks can assign addresses to lower- level routers and address conflicts are monitored by the higher-level routers. In addition, a token-based address assignment is also proposed, where a token is kept among the first level of routers and only the token holder can assign the address to its child devices.

While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive. The invention is not limited to the disclosed embodiments. The proposed address assignment solution can be implemented in other mesh networks where unique network addresses need to be assigned to the network nodes. Furthermore, the invention is not limited to 16-bit network addresses and 64-bit MAY addresses. The proposed assignment schemes can be applied to any other addressing scheme with fixed device-dependent addresses and variable network-allocated addresses. Moreover, the address generation is not intended to be limited on a one-way function. Rather, it may be based on any functional relationship between the device-dependent addresses of the parent device and the child device. Additionally, the criteria for selecting the first-level routers is not limited to a one-hop distance. First-level routers allowed to assign network addresses may be selected based on other suitable criteria, such as local network density, signal quality, network structure or the like.

Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single processor or other unit may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

The foregoing description details certain embodiments of the invention. It will be appreciated, however, that no matter how detailed the foregoing appears in the text, the invention may be practiced in many ways, and is therefore not limited to the embodiments disclosed. It should be noted that the use of particular terminology when describing certain features or aspects of the invention should not be taken to imply that the terminology is being re-defined herein to be restricted to include any specific characteristics of the features or aspects of the invention with which that terminology is associated.

A single unit or device may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

The described operations like those indicated in Figs. 2 to 4 and 6 can be implemented as program code means of a computer program and/or as dedicated hardware. The computer program may be stored and/or distributed on a suitable medium, such as an optical storage medium or a solid-state medium, supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems.