Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COORDINATING CAPILLARY GATEWAYS
Document Type and Number:
WIPO Patent Application WO/2016/076776
Kind Code:
A1
Abstract:
It is presented a method for coordinating capillary gateways being configured to provide application server connectivity for machine devices of a capillary network. The method is performed in a first capillary gateway and comprises the steps of: transmitting an announcement message announcing the presence of the first capillary gateway; and coordinating sleep schedules for the first capillary gateway and a second capillary gateway.

Inventors:
RIMHAGEN THOMAS (SE)
GUNNARSSON FREDRIK (SE)
Application Number:
PCT/SE2014/051355
Publication Date:
May 19, 2016
Filing Date:
November 14, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
H04W4/00; H04L65/40; H04W28/02; H04W52/02; H04W76/04
Domestic Patent References:
WO2010071347A22010-06-24
Foreign References:
US20110213871A12011-09-01
GB2476415A2011-06-22
Attorney, Agent or Firm:
AYOUB, Nabil (Patent Unit Kista RAN2, Stockholm, SE)
Download PDF:
Claims:
CLAIMS

1. A method for coordinating capillary gateways (la, lb) being configured to provide application server connectivity for machine devices (2) of a capillary network (4), the method being performed in a first capillary gateway (la) and comprising the steps of:

transmitting (40) an announcement message (30) announcing the presence of the first capillary gateway (la); and

coordinating (46) sleep schedules for the first capillary gateway (la) and a second capillary gateway (lb). 2. The method according to claim 1, wherein the step of coordinating (46) comprises transmitting a sleep schedule of the first capillary gateway (la) to the second capillary gateway (lb).

3. The method according to any one of the preceding claims, wherein the step of coordinating (46) comprises receiving a sleep schedule of the second capillary gateway (lb) from the second capillary gateway (lb).

4. The method according to any one of the preceding claims, wherein the step of coordinating (46) comprises signalling a recommended sleep schedule for the second capillary gateway (lb) to the second capillary gateway (lb).

5. The method according to any one of the preceding claims, wherein the step of coordinating (46) comprises receiving a recommended sleep schedule for the first capillary gateway (la) from the second capillary gateway (lb).

6. The method according to any one of the preceding claims, wherein in the transmitting step (40), the announcement message (30) comprises an indication that the announcement message is to be received by a capillary gateway.

7. The method according to any one of the preceding claims, wherein in the transmitting step (40), the announcement message (30) comprises an indication that the announcement message is transmitted from a capillary gateway

8. The method according to any of the preceding claims, wherein the step of coordinating (46) transmissions comprises defining the sleep schedule for the first capillary gateway (la) such that awake periods of the first capillary gateway (la) do not overlap awake periods of the second capillary gateway (lb).

9. The method according to any one of the preceding claims, further comprising the steps of:

defining (48) a sleep schedule for a first machine device (2a) such that awake periods for the first machine device (2a) occur during awake periods in the sleep schedule for the first capillary gateway (la); and

communicating (49) the sleep schedule for the first machine device (2a) to the first machine device (2a).

10. The method according to any one of the preceding claims, further comprising the step of:

adding (45) the first capillary gateway or the second capillary gateway to a coordination group such that both the first capillary gateway (la) and the second capillary gateway (lb) belong to the same coordination group.

11. The method according to any one of the preceding claims, further comprising the step of:

providing (50) application server connectivity for machine devices (2) of the capillary network during awake periods of the first capillary gateway.

12. The method according to any one of the preceding claims, further comprising the steps of:

receiving (42) a connection request (31) from a second capillary gateway (lb); and

setting up (44) a connection (32) with the second capillary gateway (lb).

13. A first capillary gateway for coordinating capillary gateways (la, lb) arranged to provide application server connectivity for machine devices (2) of a capillary network (4), the first capillary gateway comprising:

a processor (60); and a memory (64) storing instructions (66) that, when executed by the processor, causes the first capillary gateway (la) to:

transmit an announcement message (30) announcing the presence of the first capillary gateway (la); and

coordinate sleep schedules for the first capillary gateway (la) and a second capillary gateway (lb).

14. The first capillary gateway according to claim 13, wherein the instructions to coordinate comprise instructions that, when executed by the processor, causes the first capillary gateway to transmit a sleep schedule of the first capillary gateway (la) to the second capillary gateway (lb).

15. The first capillary gateway according to any one of claims 13 to 14, wherein the instructions to coordinate comprise instructions that, when executed by the processor, causes the first capillary gateway to receive a sleep schedule of the second capillary gateway (lb) from the second capillary gateway (lb).

16. The first capillary gateway according to any one of claims 13 to 15, wherein the instructions to coordinate comprise instructions that, when executed by the processor, causes the first capillary gateway to signal a recommended sleep schedule for the second capillary gateway (lb) to the second capillary gateway (lb).

17. The first capillary gateway according to any one of claims 13 to 16, wherein the instructions to coordinate comprise instructions that, when executed by the processor, causes the first capillary gateway to receive a recommended sleep schedule for the first capillary gateway (la) from the second capillary gateway (lb).

18. The first capillary gateway according to any one of claims 13 to 17, wherein the announcement message (30) comprises an indication that the announcement message is to be received by a capillary gateway.

19. The first capillary gateway according to any one of claims 13 to 18, wherein the announcement message (30) comprises an indication that the announcement message is transmitted from a capillary gateway

20. The first capillary gateway according to any one of claims 13 to 19, wherein the instructions to coordinate transmissions comprise instructions that, when executed by the processor, causes the first capillary gateway to define the sleep schedule for the first capillary gateway (la) such that awake periods of the first capillary gateway (la) do not overlap awake periods of the second capillary gateway (lb). 21. The first capillary gateway according to any one of claims 13 to 20, wherein the instructions further comprise instructions that, when executed by the processor, causes the first capillary gateway to:

define a sleep schedule for a first machine device (2a) such that awake periods for the first machine device (2a) occur during awake periods in the sleep schedule for the first capillary gateway (la); and

communicate the sleep schedule for the first machine device (2a) to the first machine device (2a).

22. The first capillary gateway according to any one of claims 13 to 21, wherein the instructions further comprise instructions that, when executed by the processor, causes the first capillary gateway to:

add the first capillary gateway or the second capillary gateway to a coordination group such that both the first capillary gateway (la) and the second capillary gateway (lb) belong to the same coordination group.

23. The first capillary gateway according to any one of claims 13 to 22, wherein the instructions further comprise instructions that, when executed by the processor, causes the first capillary gateway to:

provide application server connectivity for machine devices (2) of the capillary network during awake periods of the first capillary gateway.

24. The first capillary gateway according to any one of claims 13 to 23, wherein the instructions further comprise instructions that, when executed by the processor, causes the first capillary gateway to:

receive a connection request (31) from a second capillary gateway (lb); and

set up a connection (32) with the second capillary gateway (lb).

25. A first capillary gateway comprising:

means for transmitting (40) an announcement message (30)

announcing the presence of the first capillary gateway (la); and

means for coordinating (46) sleep schedules for the first capillary gateway (la) and a second capillary gateway (lb), the first capillary gateway (la) and the second capillary gateway (lb) being arranged to provide application server connectivity for machine devices (2) of a capillary network (4).

26. A computer program (90) for coordinating capillary gateways (la, lb) arranged to provide application server connectivity for machine devices (2) of a capillary network (4), the computer program comprising computer program code which, when run on a first capillary gateway (la) causes the first capillary gateway (la) to:

transmit an announcement message (30) announcing the presence of the first capillary gateway (la); and

coordinate sleep schedules for the first capillary gateway (la) and a second capillary gateway (lb).

27. A computer program product (91) comprising a computer program according to claim 26 and a computer readable means on which the computer program is stored.

Description:
COORDINATING CAPILLARY GATEWAYS TECHNICAL FIELD

The invention relates to capillary networks and more particularly

coordinating capillary gateways in a capillary network. BACKGROUND

Capillary networks are networks which allow resource constrained machine devices to communicate with applications running on application servers, using an intermediate capillary gateway.

In order to save energy and cost, the machine devices and capillary gateways are often configured to sleep most of the time. The purpose of the machine devices could be, for instance, to report some kind of sensor data to an application or actuate some function when ordered by the application.

The capillary network is self-contained and has functions for, for instance, information transfer and routing of messages between nodes. In order to implement the sleeping, the machine devices and the capillary gateways may utilize a sleep schedule. When they wake up, the energy consumption is normal and the normal features are activated. It also means that, while sleeping, the devices typically cannot receive or transmit any information. The capillary gateways can also operate according to a sleep schedule.

However, there is no way in the prior art in which capillary gateways can coordinate their operation.

SUMMARY

It is an object to provide a way to coordinate capillary gateways. According to a first aspect, it is presented a method for coordinating capillary gateways being configured to provide application server connectivity for machine devices of a capillary network. The method is performed in a first capillary gateway and comprises the steps of: transmitting an announcement message announcing the presence of the first capillary gateway; and coordinating sleep schedules for the first capillary gateway and a second capillary gateway.

The step of coordinating may comprise transmitting a sleep schedule of the first capillary gateway to the second capillary gateway.

The step of coordinating may comprise receiving a sleep schedule of the second capillary gateway from the second capillary gateway.

The step of coordinating may comprise signalling a recommended sleep schedule for the second capillary gateway to the second capillary gateway. The step of coordinating may comprise receiving a recommended sleep schedule for the first capillary gateway from the second capillary gateway.

In the transmitting step, the announcement message may comprise an indication that the announcement message is to be received by a capillary gateway. In the transmitting step, the announcement message may comprise an indication that the announcement message is transmitted from a capillary gateway

The step of coordinating transmissions may comprise defining the sleep schedule for the first capillary gateway such that awake periods of the first capillary gateway do not overlap awake periods of the second capillary gateway.

The method may further comprise the steps of: defining a sleep schedule for a first machine device such that awake periods for the first machine device occur during awake periods in the sleep schedule for the first capillary gateway; and communicating the sleep schedule for the first machine device to the first machine device. The method may further comprise the step of: adding the first capillary gateway or the second capillary gateway to a coordination group such that both the first capillary gateway and the second capillary gateway belong to the same coordination group. The method may further comprise the step of: providing application server connectivity for machine devices of the capillary network during awake periods of the first capillary gateway.

The method may further comprise the steps of: receiving a connection request from a second capillary gateway; and setting up a connection with the second capillary gateway.

According to a second aspect, it is presented a first capillary gateway for coordinating capillary gateways arranged to provide application server connectivity for machine devices of a capillary network. The first capillary gateway comprises: a processor; and a memory storing instructions that, when executed by the processor, causes the first capillary gateway to:

transmit an announcement message announcing the presence of the first capillary gateway; and coordinate sleep schedules for the first capillary gateway and a second capillary gateway.

The instructions to coordinate may comprise instructions that, when executed by the processor, causes the first capillary gateway to transmit a sleep schedule of the first capillary gateway to the second capillary gateway.

The instructions to coordinate may comprise instructions that, when executed by the processor, causes the first capillary gateway to receive a sleep schedule of the second capillary gateway from the second capillary gateway. The instructions to coordinate may comprise instructions that, when executed by the processor, causes the first capillary gateway to signal a recommended sleep schedule for the second capillary gateway to the second capillary gateway. The instructions to coordinate may comprise instructions that, when executed by the processor, causes the first capillary gateway to receive a recommended sleep schedule for the first capillary gateway from the second capillary gateway. The announcement message may comprise an indication that the

announcement message is to be received by a capillary gateway.

The announcement message may comprise an indication that the

announcement message is transmitted from a capillary gateway

The instructions to coordinate transmissions may comprise instructions that, when executed by the processor, causes the first capillary gateway to define the sleep schedule for the first capillary gateway such that awake periods of the first capillary gateway do not overlap awake periods of the second capillary gateway.

The instructions may further comprise instructions that, when executed by the processor, causes the first capillary gateway to: define a sleep schedule for a first machine device such that awake periods for the first machine device occur during awake periods in the sleep schedule for the first capillary gateway; and communicate the sleep schedule for the first machine device to the first machine device. The instructions may further comprise instructions that, when executed by the processor, causes the first capillary gateway to: add the first capillary gateway or the second capillary gateway to a coordination group such that both the first capillary gateway and the second capillary gateway belong to the same coordination group. The instructions may further comprise instructions that, when executed by the processor, causes the first capillary gateway to: provide application server connectivity for machine devices of the capillary network during awake periods of the first capillary gateway. The instructions may further comprise instructions that, when executed by the processor, causes the first capillary gateway to: receive a connection request from a second capillary gateway; and set up a connection with the second capillary gateway. According to a third aspect, it is presented a first capillary gateway

comprising: means for transmitting an announcement message announcing the presence of the first capillary gateway; and means for coordinating sleep schedules for the first capillary gateway and a second capillary gateway, the first capillary gateway and the second capillary gateway being arranged to provide application server connectivity for machine devices of a capillary network.

According to a fourth aspect, it is presented a computer program for coordinating capillary gateways arranged to provide application server connectivity for machine devices of a capillary network. The computer program comprises computer program code which, when run on a first capillary gateway causes the first capillary gateway to: transmit an

announcement message announcing the presence of the first capillary gateway; and coordinate sleep schedules for the first capillary gateway and a second capillary gateway. According to a fifth aspect, it is presented a computer program product comprising a computer program according to the fourth aspect and a computer readable means on which the computer program is stored.

Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a/an/the element, apparatus, component, means, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated. BRIEF DESCRIPTION OF THE DRAWINGS

The invention is now described, by way of example, with reference to the accompanying drawings, in which:

Fig l is a schematic drawing illustrating an environment in which

embodiments presented herein can be applied;

Fig2A-B are sequence diagram illustrating communication between capillary gateways of Fig ι according to different embodiments;

Figs 3A-B are flow charts illustrating embodiments of methods for coordinating capillary gateways of Fig 1; Fig 4 is a schematic diagram showing some components of the capillary gateway of Fig 1;

Fig 5 is a schematic diagram showing functional modules of the capillary gateway of Fig 4 according to one embodiment; and

Fig 6 shows one example of a computer program product comprising computer readable means.

DETAILED DESCRIPTION

The invention will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout the description. Fig 1 is a schematic drawing illustrating an environment in which

embodiments presented herein can be applied. A number of machine devices 2a-c are connected via a capillary network 4 to either one or both of a first capillary gateway la and a second capillary gateway lb. Each machine device 2a-c communicates on occasion with one or more of a set of application servers 7. The connection between the machine devices 2a-c and the capillary gateways la-b occurs over a wireless interface such as Bluetooth, Bluetooth Low Energy (BLE), any of the IEEE 802.11 standards, ZigBee,

WirelessHART, etc. It is to be noted though that this wireless interface does not make use of a cellular network such as LTE (Long Term Evolution), W- CDMA (Wideband Code Division Multiplex), GSM (Global System for Mobile communication), etc., for its communication. The capillary gateways la-b and the machine devices 2a-c can be paired to achieve a secure connection between them, which can e.g. enable encrypted communication. This pairing can use out-of-band pairing mechanisms such as scanning public-key bar codes, pressing buttons on the capillary gateways la-b and devices at the same time, or entering codes etc. Alternatively, in-band pairing mechanisms can be used as known in the art per se. The machine devices 2a-c can be constrained devices such as sensor devices and/ or actuator devices, with low processing power, limited access to secure storage and minimal or no user interface. Moreover, the machine devices 2a- c are optionally integrated in a suitable type of host device, such as a vehicle or a home electronics device e.g. media player, camera, television, etc. The capillary gateways la-b are in turn connected to one or more of the applications servers 7 via a network 6 to allow communication between the machine devices 2a-c and the application servers 7. The application servers 7 are of any suitable type of server which communicates with one or more of the machine devices 2a-c. The network 6 can e.g. include a wide area network (WAN) such as the Internet. The capillary gateways la-b connect to the network 6 using wired connection (such as an Ethernet connection to a modem) or using a cellular network such as LTE (Long Term Evolution), W- CDMA (Wideband Code Division Multiplex), GSM (Global System for Mobile communication), etc. At least some of the machine devices 2a-c and the capillary gateways la-b are configured to sleep most of the time, in accordance with a respective sleep schedule. A sleep schedule is a schedule which defines when a device (such as a machine device or capillary gateway) is to be sleeping and when it is to be awake. When the device is sleeping, very low power is used and when the device is awake, the device is in operation, requiring more power. In here, devices with such sleep schedules are denoted sleepy devices. In the prior art, the problem is for capillary gateways to become aware of other capillary gateways in the same location. In order to avoid, for instance, unnecessary radio interference and inefficient management of the sleep periods, these capillary gateways need to coordinate with each other. This issue is even more problematic when the involved capillary gateways are capillary gateways with sleep schedules, which are unlikely to match without coordination.

An example will now be presented for further illustration of issues in the prior art. Let's assume that a first sleepy machine device 2a is installed in a location where the sleepy first capillary gateway la is also installed. We assume that the first machine device 2a is aware of first capillary gateway la and connects via first capillary gateway la, when needed, to gain access to the application server 7. A second capillary gateway lb is then installed in the room. Then, if the second capillary gateway lb is more suitable for the first machine device 2a, the problem is for the second capillary gateway lb to discover the machine device 2a and, if desired, change its sleep schedule to adapt to the second machine device 2a. Alternatively, the current sleep schedule of the second capillary gateway lb can be kept, but then the first machine device 2a needs to somehow to change its sleep schedule. This is one example where coordination between capillary gateways is a solution. This coordination is only possible if the capillary gateways are made aware of which capillary gateways to coordinate with. Normally, there is no need for the first machine device 2a to look for other capillary gateways as it is constrained in terms of energy and cost, and looking for other capillary gateways randomly would cost energy. In another example, the first capillary gateway la is entering a location where the second capillary gateway lb communicates with the first machine device 2a, where the sleep schedule of the two devices are known to each other.

Fig 2A is a sequence diagram illustrating communication between the first capillary gateway la and the second capillary gateway lb of Fig ι according to some embodiments.

First, the first capillary gateway la transmits a capillary gateway

announcement message 30 to announce its presence.

This capillary gateway announcement message is received by the second capillary gateway lb and the second capillary gateway lb sends a connection request 31 to the first capillary gateway la.

At this point the first capillary gateway la and the second capillary gateway lb may optionally set up a connection 32 between them to enable further exchange of messages. However, Figure 2A only reflects the messages that are relevant for the embodiment. When a connection is to be established, then the message below may await the completion of the connection setup 32.

Then, the first capillary gateway la and the second capillary gateway lb coordinate their sleep schedules or share other information. Such

coordination is realized via the exchange of messages. These are illustrated via a coordination request message 34 from the first capillary gateway la to the second capillary gateway lb, and a coordination response message 35 from the second capillary gateway lb. If these messages are not sufficient to arrive at an agreed coordination, e.g. sleep schedules, these messages may be followed by subsequent exchange of coordination messages 36. The coordination request message 34 and the coordination response message 35 can be messages sent over the connection which is optionally set up in the connection setup 32. Alternatively, the coordination request message 34 and the coordination response message 35 are messages sent using connectionless transmission or broadcast, in which case a connection between the first capillary gateway and the second capillary gateway does not need to be established prior to these messages.

Fig 2B is a sequence diagram illustrating communication between the first capillary gateway la and the second capillary gateway lb of Fig 1 according to some embodiments.

This sequence diagram is similar to the diagram in Fig 2A with the difference that there is no separation between the coordination request message and the connection request message. In other words, the coordination request message 34 can form part of the connection request message or be sent as a separately, dispensing the need for the connection request message 31. Once the first capillary gateway la has received the coordination request message 34, it responds with a coordination response message 35. These messages may be followed by subsequent exchange of coordination messages 36 if the coordination is not complete after the coordination response message. It is to be noted that the format of the coordination request message 34 and the coordination response message 35 may differ between the embodiments of Fig 2A and Fig 2B.

Figs 3A-B are flow charts illustrating embodiments of methods for

coordinating capillary gateways of Fig 1. The method is performed in a first capillary gateway.

The method can be started for a number of different reasons. For instance, the method can be started when the first capillary gateway is first powered on. Additionally or alternatively, the method can be started when the second capillary gateway is first powered on. Additionally or alternatively, the method can be started on a time schedule, either using an absolute time or a time in relation to previous awake periods or previous communication.

Additionally or alternatively, the method can be started when a user interaction is detected by means of a user interface, e.g. by pressing a button on the first capillary gateway. Additionally or alternatively, the method can be started when backhaul information has changed for the first capillary gateway, for instance WAN info, IP (Internet Protocol) subnet and/or identifier of a wireless local area network (e.g. WiFi). Additionally or alternatively, the method can be started when the location has changed for the capillary gateway. In a transmit announcement step 40, an announcement message announcing the presence of the first capillary gateway is transmitted. The announcement message is dedicated for announcing a presence of a capillary gateway, and can thus not be used by machine devices which do not act as gateways. The announcement can e.g. be in the form of a new BLE message:

ADV_CGWXXX_IND. The announcement can optionally indicate

information related to connectivity and the operator that is

managing/owning the capillary gateway. The announcement message can optionally indicate it is transmitted from a capillary gateway. Furthermore, the announcement message can optionally indicate it is to be received by a capillary gateway.

Optionally, only capillary gateways are allowed to respond to the

announcement message, since a purpose of the announcement is to allow coordination between capillary gateways. The allowance may be based on the indications of gateway origin and/or gateway destination in the

announcement message. Hence, a machine device 2a that receives an announcement message comprising an indication that the announcement is intended for capillary gateways refrains from responding to the

announcement.

In a coordinate transmissions step 46, sleep schedules for the first capillary gateway and the second capillary gateway are coordinated. For instance, the sleep schedule for the first capillary gateway can be defined such that awake periods of the first capillary gateway do not overlap awake periods of the second capillary gateway. Alternatively, the sleep schedule for the first gateway can be defined such that awake periods of the first capillary gateway do not overlap awake periods of the capillary gateways in a coordination group of capillary gateways in the same area. Optionally, the sleep schedule for the second capillary gateway can be defined such that awake periods of the second capillary gateway do not overlap awake periods of the first capillary gateway. Optionally, the sleep schedule for the second gateway can be defined such that awake periods of the second capillary gateway do not overlap awake periods of the capillary gateways in the coordination group of capillary gateways in the same area.

Optionally, the sleep schedule may reflect the amount of served machine devices per capillary gateway. As one example, the awake time can be related to the number of machine devices the capillary gateway can support, and a larger amount of supported machine devices implies larger fraction of awake time and vice versa. Also other exchanged information can impact the sleeping schedule.

Optionally, other information can be exchanged between the capillary gateways, such as connection parameters, radio measurements, power levels, (current state), connectivity upstream, operator identifier, lists of known machine devices and capillary gateways, and security information used for authentication. Additionally, the capillary gateways may exchange

information about machine devices and capillary gateways heard or commands for looking after specific machine devices. Such information may comprise observed radio conditions associated to machine devices and capillary networks. Yet another example is to initiate load balancing actions between the capillary gateways based on the information exchange. The coordination messages can optionally indicate that the origin is a gateway. The coordination messages can optionally indicate that the destination is a gateway.

The coordination can be based on exchange of coordination information in the form of intended configuration, such as sleep schedules. The sending gateway sends its intended configuration to other gateways. Receiving gateway(s) can adapt and send its intended configuration in consideration of the received information. The coordination can also be based on a master gateway instructing a slave gateway which configuration it shall use.

Alternatively, the other exchanged information can be used to coordinate also other aspects of capillary gateways, such as what power level to use, etc. Using this method, new capillary gateways can be installed in environments where an existing capillary gateway is already installed. In this way, the capillary gateways can discover each other and exchange information to coordinate their co-existence.

Looking now to Fig 3B, only new or modified steps compared to the method illustrated by the flow chart of Fig 3A will be described.

In an optional receive connection request step 42, a connection request (see message 31 of Fig 2A referred to above) is received from a second capillary gateway. The connection request can optionally indicate that the origin is a capillary gateway. The connection request can optionally indicate that the destination is a capillary gateway. The connection request may also comprise coordination information. If the connection request comprises coordination information, it can be seen as a coordination request message (see message 34 of Fig 2B referred to above).

In an optional set up connection step 44, a connection with the second capillary gateway is set up (see message 32 of Fig 2 A referred to above).

In an optional add to coordination group step 45, the first capillary gateway is added to a coordination group such that both the first capillary gateway and the second capillary gateway belong to the same coordination group. One of the capillary gateways can be configured to be a master in the coordination group, thus deciding on, for instance, sleep schedules for the group. The master role can be based on which gateway that was present first, which capabilities the gateways have, which priority the gateways have, etc.

However, it is not necessary to have a master; there could be a negotiation inside the group instead to achieve the desired coordination. Optionally, the coordination group can be preconfigured, whereby this step does not need to be performed to have capillary gateways forming a coordination group.

In an optional define sleep schedule for MD step 48, a sleep schedule is defined for a first machine device (MD) such that awake periods for the first machine device occur during awake periods in the sleep schedule for the first capillary gateway.

In an optional communicate sleep schedule to MD step 49, the sleep schedule for the first machine device is communicated to the first machine device. This can e.g. occur via the second capillary gateway as described below. In an optional provide connectivity step 50, application server connectivity is provided for machine devices of the capillary network during awake periods of the first capillary gateway.

Here is an example to illustrate the methods described above. Let's assume there are two capillary gateways (CGW) in the same area: CGW A (first capillary gateway) and CGW B (second capillary gateway). CGW B has been in operation and CGW A is newly introduced. Once CGW B discovers the new CGW A, using the announcement described above, there are several ways to connect to CGW A and exchange information. For instance, CGW B can look up the network address of CGW A and connect through the Internet or some other computer network, either directly or via some other nodes.

Alternatively, CGW B can look up the wireless network address of CGW A and connect through another wireless network that is available in the two nodes. For instance, a short-range radio technology (such as BLE) can be used. In case direct wireless communication is used, the exchange of message can be without a formal establishment of a connection between A and B, e.g. using connection-less messages.

In another example, the behaviour of the two gateways is altered. CGW A (first capillary gateway) and CGW B (second capillary gateway) are in the same area. CGW B has been in operation and CGW A is newly introduced. Once the new CGW B discovers an announcement of CGW A as described above, there are several ways to connect to CGW A and exchange information as exemplified above. Hence, the initiative to establish the coordination via an announcement and connection request can be from either one of a capillary gateway which is previously installed or a capillary gateway which is newly introduced.

Yet another example is now presented illustrating interaction with a machine device in connection with coordination of capillary gateways. A machine device with sleep schedule wakes up and advertises its presence to CGW B. The CGW B responds with requesting a connection. Once connected, the machine device and the CGW B exchange information. This procedure is known in the prior art per se. The CGW A is not installed at this point.

CGW A is then installed and in the example, the newly installed CGW A is better suited to serve the machine device than CGW B. Now, in order for CGW A to be able to hear the machine device, at least one of the devices may need to change its sleep schedule. By using the new CGW announcement method, CGW A finds CGW B, which then provides information about the sleep schedule of the machine device. Subsequently, the CGW A can either change its own sleep schedule or tell the machine device to change its sleep schedule by forwarding this request to CGW B, which will inform the machine device.

The machine device wakes up and announces its presence. When CGW B receives the announcement from the machine device, CGW B requests a connection. Once connected, the machine device and CGW B exchange information, for instance coordinating information, such as an updated sleeping schedule and updated connection parameters. The machine device adapts to the updated sleep schedule and connection parameters. It also lists the CGW A on the white list (perhaps including bonding information). The machine device then enters its sleep mode. After sleeping, the machine device awakes in accordance with the updated sleep schedule (matching CGW A) and starts to announce its presence again. This time, the CGW A receives the announcement and requests a connection. Once connected with CGW A, they l6 exchange information, completing the connection transfer of the machine device from CGW B to CGW .

Please note that, at this point, it is no longer possible for the CGW B to serve the machine device as they have now different sleep schedules. However, the machine device could return to the original sleeping schedule and

communicate with CGW B, using the transfer procedure described above, in reverse.

Fig 4 is a schematic diagram showing some components of the capillary gateway of Fig 1. A processor 60 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor,

microcontroller, digital signal processor (DSP), application specific integrated circuit etc., capable of executing software instructions 66 stored in a memory 64, which can thus be a computer program product. The processor 60 can be configured to execute the method described with reference to Figs 3A-B above.

The memory 64 can be any combination of read and write memory (RAM) and read only memory (ROM). The memory 64 also comprises persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, or solid state memory. A data memory 66 is also provided for reading and/ or storing data during execution of software instructions in the processor 60. The data memory 66 can be any combination of read and write memory (RAM) and read only memory (ROM).

The capillary gateway 1 may further comprise an I/O interface 62 for connecting to external entities. Optionally, the I/O interface 62 also includes a user interface.

The capillary gateway 1 also comprises one or more transceivers 63, comprising analogue and digital components, and a suitable number of antennas 61 for wireless communication with machine devices as shown in Fig 1. Moreover, the transceiver 63 and antenna(s) 61 can be used for connecting to an external network (6 of Fig 1) to thereby provide connectivity to an application server (7 of Fig 1) for machine devices (2 of Fig 1).

Other components of the capillary gateway 1 are omitted in order not to obscure the concepts presented herein.

Fig 5 is a schematic diagram showing functional modules of the capillary gateway 1 of Fig 4 according to one embodiment. The modules are

implemented using software instructions such as a computer program executing in the capillary gateway. The modules correspond to the steps in the methods illustrated in Figs 3A-B.

A transmitter 70 is configured to transmit an announcement message announcing the presence of the first capillary gateway. This module corresponds to the transmit announcement step 40 of Figs 3A-B.

A receiver 72 is configured to receive a connection request from a second capillary gateway. This module corresponds to the receive connection request step 42 of Figs 3A-B.

A connection manager 74 is configured to set up a connection with the second capillary gateway. This module corresponds to the set up connection step 44 of Figs 3A-B. A group manager 75 is configured to add the first capillary gateway to a coordination group such that both the first capillary gateway and the second capillary gateway belong to the same coordination group. This module corresponds to the add to coordination group step 45 of Fig 3B.

A coordinator 76 is configured to coordinate sleep schedules for the first capillary gateway and the second capillary gateway. This module corresponds to the coordinate transmissions step 46 of Fig 3B.

A sleep schedule definer 78 is configured to define a sleep schedule for a first machine device such that awake periods for the first machine device occur l8 during awake periods in the sleep schedule for the first capillary gateway. This module corresponds to the define sleep schedule for MD step 48 of Fig 3B.

A sleep schedule communicator 79 is configured to communicate the sleep schedule for the first machine device to the first machine device. This module corresponds to the communicate sleep schedule to MD step 49 of Fig 3B.

A connectivity provider 80 is configured to provide application server connectivity for machine devices of the capillary network during awake periods of the first capillary gateway. This module corresponds to the provide connectivity step 50 of Fig 3B.

Fig 6 shows one example of a computer program product comprising computer readable means. On this computer readable means a computer program 91 can be stored, which computer program can cause a processor to execute a method according to embodiments described herein. In this example, the computer program product is an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. As explained above, the computer program product could also be embodied in a memory of a device, such as the computer program product 64 of Fig 4.

While the computer program 91 is here schematically shown as a track on the depicted optical disk, the computer program can be stored in any way which is suitable for the computer program product, such as a removable solid state memory, e.g. a Universal Serial Bus (USB) drive.

The invention has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the invention, as defined by the appended patent claims.