Bluetooth Mesh Routing with Subnets
By organizing Bluetooth devices into subnets and using hop counts and subnet identifiers for message routing, the balance between battery life and communication delay of Bluetooth devices is solved, and efficient communication and battery life of the device are achieved.
Patent Information
- Application Number
- CN202080003558.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-11
- Filing Date
- 2020-09-10
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2040-09-10
AI Technical Summary
In the prior art, the mesh network of Bluetooth devices is difficult to balance between battery life and communication delay, especially in the absence of intermediate routing nodes, resulting in too fast battery consumption or too long communication delay.
By organizing Bluetooth devices into subnets and using hop counts and subnet identifiers for message routing, the device is temporarily awakened to advertise and connect only when messages need to be sent, reducing power consumption of the device, while optimizing communication paths to reduce latency.
It achieves the extension of the device's battery life without using intermediate routing nodes, and optimizes the message delivery delay, improving the network efficiency of Bluetooth devices.
Smart Images

Figure CN112789873B_ABST
Abstract
Description
[0001] Cross - Reference to Related Applications
[0002] This application claims the benefit of U.S. Application No. 62 / 898,685, filed on September 11, 2019, which is incorporated herein by reference in its entirety. Background of the Invention
[0003] The subject matter disclosed herein generally relates to the field of computing and, more particularly, to mesh networking of wireless messaging devices.
[0004] Bluetooth is a prevalent wireless communication protocol for transferring data over short distances. Bluetooth is commonly used with today's mobile electronic devices, connected devices such as headphones, headsets, watches, keyboards, mice, mobile phones, tablets, and sports devices. While the above - mentioned devices are one - to - one connected, there may be a desire to couple many devices in a mesh network. Summary of the Invention
[0005] According to one embodiment, a method for communicating among a plurality of peripheral devices within a mesh network including a first subnet and a second subnet is provided. The method includes: receiving announcements from one or more of the plurality of peripheral devices, the announcements including a hop count, a subnet identifier, and a unique subnet device identifier, the subnet identifier indicating the first subnet or the second subnet, and the unique subnet device identifier indicating a particular peripheral device among the plurality of peripheral devices within the mesh network; triggering a message - sending event; determining a desired flow direction within the mesh network; determining a desired subnet of the mesh network, the desired subnet being the first subnet or the second subnet of the mesh network; determining, in response to the hop count, the subnet identifier, and the unique subnet device identifier, a destination peripheral device within the desired subnet and along the desired flow direction among the one or more peripheral devices; connecting to the destination peripheral device via wireless messaging; and sending the message to the destination peripheral device.
[0006] In addition to one or more of the above - mentioned features, or as an alternative, further embodiments may include: triggering the message - sending event includes receiving a message.
[0007] In addition to one or more of the above - mentioned features, or as an alternative, further embodiments may include: the message is a message bundle; and wherein the method further includes: adding information to the message bundle before sending the message.
[0008] In addition to one or more of the above features, or as an alternative, further embodiments may include: triggering the message sending event includes a review timer expiration or an event occurrence.
[0009] In addition to one or more of the above features, or as an alternative, further embodiments may include: data sent after the expiration of the review timer includes: battery status, diagnostic information, entry event, and room temperature.
[0010] In addition to one or more of the above features, or as an alternative, further embodiments may include: the event occurrence includes the door being unlocked, the door being locked, the door being opened, the door being closed, or the privacy lock being enabled.
[0011] In addition to one or more of the above features, or as an alternative, further embodiments may include: the unique identifier indicates the device type.
[0012] In addition to one or more of the above features, or as an alternative, further embodiments may include: the device type is at least one of a door lock, a wireless signal repeater, a thermostat, or a room management system.
[0013] According to another embodiment, a sending peripheral device among a plurality of peripheral devices within a mesh network including a first subnet and a second subnet is provided. The sending peripheral device includes: a processor; and a memory including computer-executable instructions that, when executed by the processor, cause the processor to perform operations, the operations including: receiving announcements from one or more of the plurality of peripheral devices, the announcements including a hop count, a subnet identifier, and a unique subnet device identifier, the subnet identifier indicating the first subnet or the second subnet, and the unique subnet device identifier indicating a specific peripheral device among the plurality of peripheral devices within the mesh network; triggering a message sending event; determining a desired flow direction within the mesh network; determining a desired subnet of the mesh network, the desired subnet being the first subnet of the mesh network or the second subnet of the mesh network; determining, in response to the hop count, the subnet identifier, and the unique subnet device identifier, a destination peripheral device among the one or more peripheral devices that is within the desired subnet and along the desired flow direction; connecting to the destination peripheral device via wireless messaging; and sending the message to the destination peripheral device.
[0014] In addition to one or more of the above features, or as an alternative, further embodiments may include: triggering the message sending event includes receiving a message.
[0015] In addition to one or more of the above features, or as an alternative, further embodiments may include: the message is a message bundle; and wherein the method further includes: adding information to the message bundle before sending the message.
[0016] In addition to one or more of the above features, or as an alternative, further embodiments may include: triggering the message sending event includes a review timer expiration or an event occurrence.
[0017] In addition to one or more of the above features, or as an alternative, further embodiments may include: the data sent after the review timer expiration includes: battery status, diagnostic information, entry event, and room temperature.
[0018] In addition to one or more of the above features, or as an alternative, further embodiments may include: the desired flow direction is downstream, and the destination peripheral device has a greater number of hops than the sending peripheral device.
[0019] In addition to one or more of the above features, or as an alternative, further embodiments may include: the desired flow direction is upstream, and the destination peripheral device has a smaller number of hops than the sending peripheral device.
[0020] In addition to one or more of the above features, or as an alternative, further embodiments may include: the sending peripheral device is a door lock, a wireless signal repeater, a thermostat, or a room management system.
[0021] In addition to one or more of the above features, or as an alternative, further embodiments may include: the event occurrence includes the door being unlocked, the door being locked, the door being opened, the door being closed, or the privacy lock being enabled.
[0022] In addition to one or more of the above features, or as an alternative, further embodiments may include: the unique identifier indicates the device type.
[0023] In addition to one or more of the above features, or as an alternative, further embodiments may include: the device type is at least one of a door lock, a wireless signal repeater, a thermostat, or a room management system.
[0024] The technical effects of the embodiments of the present disclosure include organizing the mesh network of peripheral devices into two or more subnets and directing messages through specific subnets.
[0025] Unless otherwise expressly indicated, the foregoing features and elements may be combined in various combinations without exclusivity. These features and elements and their operations will become more apparent in light of the following description and drawings. However, it should be understood that the following description and drawings are intended to be illustrative and explanatory in nature and not restrictive. Description of the Drawings
[0026] The following description should not be regarded as restrictive in any way. Referring to the drawings, like elements are numbered alike:
[0027] Figure 1 is a flowchart illustrating the operation of one or more embodiments in accordance with an embodiment of the present disclosure;
[0028] Figure 2 is a block diagram illustrating a downstream message in a subnet of a mesh network in accordance with an embodiment of the present disclosure; and
[0029] Figure 3 is a block diagram illustrating an upstream message in a subnet of a mesh network in accordance with an embodiment of the present disclosure. Detailed Description
[0030] A detailed description of one or more embodiments of the disclosed apparatus and method is presented herein by way of illustration and not limitation with reference to the drawings.
[0031] As mentioned above, Bluetooth is a wireless protocol commonly used to couple electronic devices together. Since electronic devices using Bluetooth may be portable, those devices typically use batteries to power Bluetooth connectivity. Although some embodiments are described herein with respect to Bluetooth, it should be understood that the embodiments can be used with any type of wireless messaging protocol, such as Wi-Fi, ZigBee, Z-Wave, or any wireless protocol that currently exists or is developed in the future.
[0032] A mesh network is a network topology that includes multiple nodes. Different types of mesh networks are discussed in the following applications: US non-provisional application 16 / 181565 filed on November 6, 2018; US non-provisional application 16 / 184118 filed on November 8, 2018; PCT application PCT / US2019 / 028703 filed on April 23, 2019; PCT application PCT / US2019 / 028757 filed on April 23, 2019; EP application EP19181647.9 filed on June 21, 2019; and EP application EP19181733.7 filed on June 21, 2019, which are incorporated herein by reference in their entirety.
[0033] Each node in the mesh network relays data for the mesh network. All nodes cooperate in the distribution of data in the mesh network. Nodes can be organized into multiple different mesh network subnets. Advantageously, by organizing the mesh network into mesh network subnets, data that is proprietary to a particular subnet can be sent exclusively within the subnet, thus accelerating communication time within the subnet and saving power by not transferring these messages outside the subnet. Also advantageously, if there is congestion in one subnet, it will not affect the routing of data within a second subnet. Also advantageously, if there is no available centralized system that communicates with all subnets, the subnets are still able to operate as units for a subset of system functionality. Also advantageously, the roles within a subnet can be predefined based on the subnet ID, allowing messages to be addressed to specific device types based on the subnet ID. This subnet ID eliminates the need for predefined routing within the subnet because the direction can be determined by the combination of the hop count and the subnet ID.
[0034] Messages in the mesh network have the potential to "hop" from a source node to a destination node via intermediate routing nodes. Nodes can be a source node, a destination node, a routing node, or any combination of these. The performance of the mesh network can be related to the number of hops between the source node and the destination node and how quickly the message can be transmitted through the routing nodes. The number of hops between the source node and the destination node can be counted within a single subnet of the mesh network.
[0035] Some mesh networks utilize intermediate routing nodes to reduce message latency. Routing nodes are additional devices specifically used to route messages in the mesh network (in other words, they do not typically act as source nodes or destination nodes). These routing nodes are generally highly available and ready to route messages with the fastest possible latency. These routing nodes are typically powered devices because the high availability requirements consume power that is not conducive to battery life (since radio receivers consume a large amount of energy). When a source node generates a message, it can quickly connect and send the message through the routing nodes. However, in order to receive messages, nodes must periodically check-in or otherwise synchronize with the timing signals from the routing nodes at regular intervals. The length of the regular interval is a key factor in determining the total message delivery latency and is also a key factor in determining the battery life of the destination node.
[0036] In one or more embodiments, peer-to-peer messages are used to create a mesh network for sending messages without using intermediate routing nodes. When needed, each node in the mesh network switches between being a source, a destination, or a routing node. Nodes periodically announce their availability by briefly waking up to announce, become available, and then return to the sleep mode. If a source node connects and delivers a message during a short available period, the node will dispose of the message by determining that it is the destination or by routing the message to another destination node. Thereafter, the node returns to the sleep mode again until its next scheduled available period. This allows the source node to be in the routing mode only when it has a message to be sent and only for as long as it takes to identify the destination node. The result is a mesh network implemented without using powered intermediate routing nodes, where the battery life of each node can be tuned with respect to the message delivery latency by increasing or decreasing the announcement of availability.
[0037] In Figure 1 FIG. 10 is a flowchart of an illustrated method 10. The method 10 is merely exemplary and is not limited to the embodiments presented herein. The method 10 can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, the procedures, processes, and / or activities of the method 10 can be implemented in the presented order. In other embodiments, one or more of the procedures, processes, and / or activities of the method 10 can be combined or skipped. In one or more embodiments, the method 10 is implemented by a processor while it is executing instructions.
[0038] Method 10 illustrates the steps taken by nodes within a mesh network, which is initiated by operating as a single Bluetooth peripheral device, and wherein the mesh network includes a plurality of other nodes that also operate as Bluetooth peripheral devices. Although Bluetooth is discussed for communication, it should be understood that any type of wireless communication protocol can be used. A node advertises itself as a Bluetooth peripheral device (block 12). This advertisement can include periodic Bluetooth advertisement messages indicating that the node is available and ready to be connected through another node. The advertisement can include a mesh network subnet identifier to which the node can belong and a hop count further explained herein. Unless there is a message to be sent, a node does not connect and communicate with other nodes itself. When there is a message to be sent, the node acts as a Bluetooth central device until the message is sent and then returns to the Bluetooth peripheral device mode. Thus, for most of the time when operating as a Bluetooth peripheral device, when advertising (the first time period), a node is awake for a short time period only before being turned off or going to sleep for a second time period. Typically, the second time period is longer than the first time period. The first time period and the second time period can be adjusted. Battery life is related to the second time period because, since the peripheral device consumes much less energy during the second time period compared to the energy consumed by the advertisement during the first time period, a longer second time period results in a longer battery life. However, as will be described below, a longer second time period may result in a lower latency. By making the second time period adjustable, a user can balance battery life and latency. Since each node in the network spends most of its time operating as a Bluetooth peripheral device and only acts as a Bluetooth central device when a message needs to be transmitted, nodes are generally referred to herein as peripheral devices.
[0039] When a peripheral device has data to be sent, a message sending event occurs at block 14. The desired flow direction within the mesh network (e.g., upstream or downstream) can be determined based on the message sending event. For example, the desired flow direction can be that the message requires sending upstream within the mesh network or sending downstream within the mesh network. The desired subnet within the mesh network can be determined based on the message sending event. As mentioned earlier, nodes can be organized into multiple different mesh network subnets, and one subnet may be more desirable than another.
[0040] Peripheral devices can have data to be sent for a variety of reasons. For example, the data to be sent may be caused by the peripheral device. In another example, a peripheral device can receive data from another node in a mesh network and expects to forward the data to another node in the mesh network. Any of these scenarios can be considered a trigger message. The message contains data to be sent from one node in the mesh network to another node. Word data, information, and message are used interchangeably herein, but substantially mean the same thing. However, more specifically, a message will contain data encoding the information. A message can be transferred from one node to another. The data can be processed by the receiving node to determine the information. In addition to the message containing data, the message can also contain additional data that is an indication of the source node, source node subnet association, final destination node, routing information, priority information, message integrity information, or other information typically transferred in a digital message. The data contained in the message can be encrypted using various methods well known in the art for message delivery.
[0041] When a peripheral device has data to be sent, it determines the destination node (block 16). The additional data contained in the message can be used to determine the destination node. Similarly, if a trigger occurs within the peripheral device (block 14), the determination of the destination (block 16) can use a pre-programmed destination that can be configured within the peripheral device and associated with the trigger type. Some data from the peripheral device may need to be sent to the central node. Other data from the peripheral device may need to be sent to another destination node. The destination node can be the final destination for the message, or the destination node can be the receiving node that is the next step in the route to the final destination node. In some embodiments, the peripheral device can briefly operate as a Bluetooth central and perform a Bluetooth scan to find a receiving node that is operating as a peripheral device within the same mesh network subnet. The scan can detect the advertisement of the receiving peripheral device, where the advertisement is similar to the advertisement of block 12. By comparing the received advertisements from nearby peripheral devices including the subnet identifier and hop count, the receiving node can be determined without a routing table.
[0042] When the sending peripheral device detects the receiving peripheral device within the same mesh network subnet, the sending peripheral device node determines that the receiving peripheral device is within the same mesh network subnet (block 17) and determines whether the receiving peripheral device is upstream or downstream of the sending peripheral device based on the hop count (block 15). The mesh network subnet of the receiving peripheral device can be determined based on the advertisement of the receiving peripheral device. Additionally, whether the peripheral device is upstream or downstream of the sending peripheral device will indicate whether to send along the desired flow direction (e.g., upstream or downstream).
[0043] When the sending peripheral device detects that the receiving peripheral device is within the same mesh network subnet and along the desired flow direction, the sending peripheral device node, which is temporarily operating as a Bluetooth central device, again establishes a connection with the receiving peripheral device node, which is operating as a Bluetooth peripheral device within the same mesh network subnet (block 18). In some embodiments, the detection occurs when the sending peripheral device detects the advertisement of the receiving peripheral device. The latency is the delay that occurs between when the sending peripheral device first attempts to send data in block 16 and when the peripheral device finally connects to the receiving peripheral device in block 18.
[0044] Once the connection is established, the peripheral device sends data to the receiving peripheral device (block 20). Thereafter, the peripheral device disconnects and returns to its normal operation as a Bluetooth peripheral device again (block 22). At this time, the receiving node can use method 10 to also transfer the message to yet another node in the same mesh network subnet.
[0045] The mesh network using method 10 makes use of the fact that each peripheral device in the mesh network is only powered on for a very short period of time (block 12) during the advertisement phase and is powered off for a longer period of time. In some embodiments, the length of the advertisement phase (the first time period) is on the order of 5 milliseconds and is only long enough to send one Bluetooth advertisement on each advertisement channel, while the length of the idle phase (the second time period) is on the order of 1 second. Although a long idle phase may not be feasible in some Bluetooth connections (e.g., headsets, keyboards, or mice that require much more frequent data transfer), other types of peripheral devices can benefit greatly from such a mesh network. Specifically, peripheral devices that only need to transfer data relatively rarely are included in this classification. As will be described in more detail below, one such peripheral device can include a door lock.
[0046] The method described above uses less battery power because each peripheral device in the mesh network is only "switched on" for a short period of time - if there is no data to be transmitted, the peripheral device switches off again. Nor is there a need for a synchronous clock between the nodes and the routing nodes that reduces the power requirements of each peripheral device. The clocks do not need to be synchronized because when data does not need to be sent, the peripheral device simply searches for an advertisement signal from a neighboring peripheral device and then starts transmitting. Since the advertisement signal comes from each node periodically, the additional time required to scan for the next advertisement can be understood in a tunable manner by the time period and a minimal amount is added to the message latency. Thus, each hop or transmission of a message from one node to another will add a time corresponding to the amount of the second time period to the total message latency. In one exemplary embodiment, if the second time period is 1 second, on average, it will take ½ of the second time period or ½ second to detect the receiving peripheral device, and then, on the next available time slot of the receiving peripheral device, it will take another 1 second to connect to the receiving peripheral device. Additionally, in this example, if the message requires 5 hops to reach the destination from the source, the total message latency will be 5 times the single-hop latency or 5 times ½ second or a total of 2.5 seconds from the source to the destination. By increasing or shortening the second time period, this total latency can be tuned faster or slower, with the trade-off being battery life. Thus, for the purpose of ensuring latency when sending or receiving messages, it is not required to synchronize the time periods between the advertisement signals. In some embodiments, some messages can be stored by the peripheral device for a certain period of time, while other messages (referred to as "exceptions") should be sent immediately when the message is generated. Each of the peripheral devices can be considered a "point". Thus, the mesh network of peripheral devices can be considered a point-to-point network.
[0047] The method described above can also be advantageously applied in situations where the peripheral device is required to be available for connection to a mobile device. An example is a mobile phone used to open a hotel lock. In this example, the hotel lock can periodically advertise as a Bluetooth peripheral device so that the hotel lock is available to be connected by the mobile device at any time for the customer to open their hotel room door. In this example, a mesh network can be easily added to the hotel door lock without requiring any additional Bluetooth operations through the door lock other than when a message is triggered (block 14) to be sent or routed (blocks 16, 18, and 20). If a traditional mesh network topology were used, expensive routing nodes would be installed within range of all the door locks, or an additional wireless protocol would be added to communicate with the routing nodes. The advantage of this method is the simplicity of the operation of the network and the optimization of the network for balancing battery life and message latency.
[0048] Reference Figure 2, a method of sending a message downstream in a mesh network 101 having a plurality of subnets 102, 202 each including a plurality of peripheral devices is proposed. The mesh network 101 includes a first subnet 102 and a second subnet 202. The mesh network 101 includes peripheral devices 204, 206, 208 and peripheral devices 104, 106, 108. The first subnet 102 includes peripheral devices 104, peripheral device 106, and peripheral device 108. The second subnet 202 includes peripheral devices 204, peripheral device 206, and peripheral device 208. The mesh network 101 may further include a central device 100. The central device 100 can be any type of device for communicating with each of the peripheral devices 204, 206, 208 and peripheral devices 104, 106, 108. In some embodiments, the central device 100 can include database capabilities for storing data transmitted by the peripheral devices 204, 206, 208 and peripheral devices 104, 106, 108. In some embodiments, the central device 100 can include programming capabilities such that the central device 100 can generate instructions for any one of the peripheral devices 204, 206, 208 and peripheral devices 104, 106, 108. The central device 100 can be embodied as a laptop computer, a desktop computer, a server, a cloud, a mobile electronic device, or any other type of computing device. Although 14 peripheral devices are illustrated in Figure 2 , it should be understood that in other embodiments, there may be more or fewer peripheral devices. In an embodiment, the subnets 102, 202 are each separate rooms and the peripheral devices 204 - 208, 104 - 108 represent different devices located within each separate room.
[0049] Continuing to refer to Figure 2 , data transmission through the mesh network 101 is illustrated. In this example, the central device 100 wants to send information to the peripheral device 208. The central device 100 sends the information to the peripheral device 204 through a network connection 150. The network connection 150 can be a computer network (e.g., a LAN connection) providing access to a computer network and / or a powered device. The network connection provides high - speed communication between the central device 100 and the head - end node or peripheral device of the mesh network 101, while the communication between the network connection 150 and the mesh network 101 is using Figure 1 method 10. There may be a head - end peripheral device for each subnet. In Figure 2Among them, the head-end peripheral devices are peripheral device 204 and peripheral device 104. The communication of network connection 150 can be via a high-speed network. The high-speed network can be wireless, such as Wi-Fi, cellular, etc. The high-speed network can also be wired, such as Ethernet, fiber optic, etc. Generally speaking, high-speed networks have the following types: typically installed as a data communication network in a building, installed between buildings, or installed for use in communicating with mobile devices.
[0050] The central device 100 sends information (e.g., a message) to the nodes or peripheral devices of the mesh network. Each message has a "from address" and a "to address", and by using the addresses, each message can be routed from the source to the destination. Each node or peripheral device in the mesh network 101 has a unique address. The address consists of two parts including a subnet identifier 520 and a unique subnet device identifier 530.
[0051] The central device 100 sends information (e.g., a message) to the head-end node or head-end peripheral device in each subnet via the network connection. If the message is designated for a specific peripheral device in a specific subnet, the central device 100 sends the message to the subnet head-end peripheral device. The subnet is determined by the address resolved into the subnet identifier 520 and the unique subnet device identifier 530. The unique subnet device identifier 530 can be a predefined value for the peripheral device that is the 'head-end peripheral device' of each subnet. For example, as Figure 2 illustrated, this predefined value for the peripheral device that is the 'head-end peripheral device' can be "I". The central device 100 can have an IP address or some other means to precisely identify how to reach a specific 'head-end peripheral device'. Alternatively, it can send the message to all 'head-end peripheral devices', and a responsible peripheral device will route the data to its subnet.
[0052] Figure 2 The arrows in Figure 2 show an exemplary path of information. In Figure 2 the data or information (i.e., the message) can be sent from the central device 100 to the destination node or destination peripheral device which is the peripheral device 208 in
[0053] The peripheral device 204 follows Figure 1Method 10 shown in. For the second time period, the peripheral device 204 is turned off or unavailable. During the first time period, the peripheral device 204 announces its availability, hop count 510, subnet identifier 520, and unique subnet device identifier 530. The hop count 510 is the number of hops or peripheral devices within the corresponding subnet that are farther away from the peripheral device closest to the network connection 150. In Figure 2 In the example shown, the peripheral device 104 is closest to the network connection 150 within the first subnet 202, and thus, the peripheral device 104 has a hop count 510 equal to 0 within the first subnet 102. The peripheral device 106 has a hop count 510 equal to 1 within the first subnet 102. The peripheral device 108 has a hop count 510 equal to 2 within the first subnet 102. In Figure 2 In the example shown, the peripheral device 204 is closest to the network connection 150 within the second subnet 202, and thus, the peripheral device 204 has a hop count 510 equal to 0 within the second subnet 202. The peripheral device 206 has a hop count 510 equal to 1 within the second subnet 202. The peripheral device 208 has a hop count 510 equal to 2 within the second subnet 202.
[0054] The peripheral devices 104, 106, 108 of the first subnet 102 may each have a subnet identifier 520 of "A". The peripheral devices 204, 206, 208 of the second subnet 202 may each have a subnet identifier 520 of "B". The subnet identifier 520 may be a title or name that identifies a specific subnet and distinguishes the specific subnet from other subnets. It is understood that the subnet identifiers 520 of "A" and "B" are exemplary, and the subnets 102, 202 may have different subnet identifiers 520.
[0055] All peripheral devices in the subnet may be assigned a unique subnet device identifier that allows each peripheral device to be uniquely identified within its subnet. The peripheral device 104 of the first subnet 102 may have a unique subnet device identifier 530 of "I". The peripheral device 106 of the first subnet 102 may have a unique subnet device identifier 530 of "II". The peripheral device 108 of the first subnet 102 may have a unique subnet device identifier 530 of "III". The peripheral device 204 of the second subnet 202 may have a unique subnet device identifier 530 of "I". The peripheral device 206 of the second subnet 202 may have a unique subnet device identifier 530 of "II". The peripheral device 208 of the second subnet 202 may have a unique subnet device identifier 530 of "III". It is understood that the unique subnet device identifiers 530 of "I", "II", "III" are exemplary, and the peripheral devices 104, 106, 108, 204, 206, 208 may have different subnet device identifiers 530.
[0056] Advantageously, the combination of the subnet identifier 520 and the unique subnet device identifier 530 provides a unique and independent identification of each peripheral device within the mesh network 101.
[0057] Additionally, specific unique subnet device identifier 530 values (e.g., "I", "II", "III") can be assigned to specific device types. For example, the subnet device identifier 530 "I" can be assigned to a thermostat within the mesh network 101, the subnet device identifier 530 "II" can be assigned to a wireless signal repeater in the mesh network 101, and the subnet device identifier 530 "III" can be assigned to a door lock in the mesh network 101. This allows device types to be identified based on their unique subnet device identifier 230.
[0058] As previously mentioned, during the first time period, the peripheral device 204 advertises its availability, hop count 510, subnet identifier 520, and unique subnet device identifier 530. During this first time period, the central device 100 establishes communication with the peripheral device 204, identifies the subnet of the peripheral device 204, and transfers data to the peripheral device 204 via the network connection 150. Thereafter, this triggers the peripheral device 204 ( Figure 1 box 14 therein) to search for another peripheral device so as to send data within the same subnet as the peripheral device 204 (i.e., the second subnet 202). It finally locates the peripheral device 206 and ignores peripheral devices outside the same subnet, even if adjacent devices may be within the Bluetooth range (i.e., 104 and 106). The above steps are then carried out, and the peripheral device 206 receives the data. This process is repeated in order to transfer data from the peripheral device 206 to the peripheral device 208. As the final destination peripheral device, the peripheral device 208 can then process, store, or otherwise use the data initially transmitted by the central device 100. As previously mentioned, the peripheral device 208 is initially identified as the destination peripheral device by the central device 100 by including the subnet identifier 520 and the unique subnet device identifier 530 in the data sent by the central device 100.
[0059] In some embodiments, the peripheral device 208 can send an acknowledgement back to the central device 100 such that the central device 100 can verify that the data has been received by the destination peripheral device. The above-described path can also be used to transfer data from the central device 100 to each of the peripheral devices 204, 206, 208. For example, a general configuration can be sent in such a path. In another example, a query can be sent to each of the peripheral devices 204, 206, 208 (or a subset thereof) to determine which peripheral device meets a certain criterion. The above-described path will have 3 hops, and the overall latency will be determined as described above in the case where the time required for each hop is related to a second time period.
[0060] For data specific to a certain peripheral device, it should be understood that other paths can be selected. In some embodiments, the information can be in the form of a "message bundle". Instead of a message consisting of a single instruction for a specific peripheral device (or all peripheral devices), a message from one peripheral device can be appended to a message from another peripheral device before being forwarded. A variety of different formats can be used for the message bundle. For example, there may be a part that annotates the message of the sending peripheral device, followed by the message. Thus, the message from the peripheral device 204 can include "204", followed by the information. If the peripheral device 206 wants to append to the message bundle, the resulting message bundle can include "204" before the information of the peripheral device 206, followed by its information.
[0061] Reference Figure 3 , it is proposed to send a message upstream in a mesh network 101 having a plurality of subnets 102, 202 each including a plurality of peripheral devices. In Figure 3 's example, the peripheral device 208 is attempting to send a message upstream to the central device 100. Although only 6 peripheral devices 204, 206, 208, 104, 106, 108 are illustrated in Figure 3 , it should be understood that in other embodiments, there may be a larger number of peripheral devices.
[0062] The peripheral device 208 uses a method 10 such as that described with respect to Figure 1 to send data to the peripheral device 206. Specifically, the peripheral device 208 implements Figure 1The box 14 in [the figure] searches for another peripheral device to send data upstream within the same subnet as the peripheral device 204 (i.e., the second subnet 202). A hop count 510 lower than that of the peripheral device 208 will indicate that the peripheral device is upstream of the peripheral device 208. The peripheral device 208 can receive the advertisement from the peripheral device 108 and then ignore the advertisement from the peripheral device 108 because the peripheral device 108 has a different subnet identifier 520 from the peripheral device 208 and an equal hop count 510 as the peripheral device 208. The peripheral device 208 finally finds the peripheral device 206, which has a lower hop count 510 and a subnet identifier 520 indicating that the peripheral device 206 is in the same subnet as the peripheral device 208 (i.e., the second subnet 202). The above steps are started, and the peripheral device 206 receives the data. This process is repeated to transfer the data from the peripheral device 206 to the peripheral device 208. As the final destination peripheral device, the peripheral device 208 can then process, store, or otherwise use the data initially transmitted by the central device 100. In some embodiments, the peripheral device 208 can send an acknowledgment back to the central device 100 so that the central device 100 can verify that the data has been received by the destination peripheral device.
[0063] The peripheral device 206 may also have data to send to the central device 100. After the peripheral device 206 receives data from the peripheral device 208, the peripheral device 206 can append the data it wants to send to the central device 100 to the data it receives from the peripheral device 208. The bundle of messages of this data is then transmitted by the peripheral device 208 to the next device. As illustrated by the solid arrows, the bundle of messages is sent to the peripheral device 204 before being sent to the central device 350. It should be understood that the bundle of messages is sent from one peripheral device to the next using the techniques illustrated in Figure 1 [the figure]. It should be understood that although only a single peripheral device (the peripheral device 206) added to the bundle of messages is discussed, any number of peripheral devices can be added to the bundle of messages. For example, in an embodiment where each peripheral device sends periodic status updates, each peripheral device can add their status to the bundle of messages before sending the bundle of messages to the next peripheral device. By using the bundle of messages, the total number of messages transmitted throughout the mesh network is reduced.
[0064] In one embodiment, data may be required to stay within the same subnet. In another embodiment, data may not be required to stay within the same subnet, but rather one subnet of the mesh network 101 may be given priority (e.g., a priority subnet), and in certain instances, data (e.g., a message) may be sent outside of the priority subnet. For example, if the subnet node in the priority subnet cannot be identified, the data may be sent outside of the priority subnet in order to forward the message. Travel outside of the priority subnet may be allowed for data that is going to the central device 100, while data that is going to the 'head-end node' of the priority subnet may be required to stay within the priority subnet. For example, if the peripheral device 208 will want to send data to the central device 100, and the second subnet 202 is the priority subnet, the peripheral device 208 will be permitted (OK) to send the data outside of the second subnet 202 as long as the data is being sent to the central device 100. In another example, if the peripheral device 208 will want to send data to the peripheral device 204, and the second subnet 202 is the priority subnet, the data may be required to stay within the second subnet 202 so that the data routing is not achieved through congestion or power outages within other parts of the mesh network 101. Now refer to Figure 2 and Figure 3 . Figure 2 and Figure 3 The above-described mesh network can be used with door locks, thermostats, room management systems, and / or wireless signal repeaters. For example, a hospitality entity (such as a hotel, motel, or resort) can use one or more of the above-described embodiments to maintain the entity's door locks. In an embodiment, the peripheral devices 104, 204 can be thermostats. In an embodiment, the peripheral devices 106, 206 can be wireless signal repeaters. In an embodiment, the peripheral devices 108, 208 can be door locks. In an embodiment, the central device 100 can be a computing device located at the front desk of a hotel.
[0065] In such an embodiment, where one or more of the peripheral devices (e.g., the peripheral devices 108, 208) are door locks, and the central device can be a computer system accessible by various hotel employees (such as the reservations department, front desk, housekeeping, and security departments). There are various operations that can be performed on the door locks from the central device. For example, the front desk of a hotel may desire to reprogram a door lock to accept a certain key card or not accept a certain key card or accept entry via a mobile electronic device (such as a smart phone). In such a case, the front desk of the hotel will use its computer system to direct the central device to issue an instruction to the correct door lock.
[0066] Information from the door locks to the central device can be sent more rarely. There may be audit information transmitted from each door lock to the central device. The audit information can include information about when the door lock was accessed, which card accessed the lock, and at what time.
[0067] The information can be transmitted in real time in response to an event occurring or after an audit timer expires (e.g., immediately after the event has occurred). An event occurring can include, but is not limited to, the door being unlocked, the door being locked, the door being opened, the door being closed, or the privacy lock being enabled. An event occurring can include any event delivered to both the central device 100 and other devices within the subnet.
[0068] Since the timeliness of the audit information may not be very important to the hospitality entity, it may not be desirable to send this type of information every time a door lock is used. By reducing the number of times this type of information is sent to the central device, the battery life of each door lock is extended. In such a scenario, each of the door locks can include a memory and use the memory to store the audit information. Thereafter, in a periodic manner based on the audit timer expiring (such as twice a day), the door lock uses the embodiments described herein to send its audit information to the central device. Other types of information that can be considered of the "store and forward" type include battery status, diagnostic information, how long a customer has been in the room, the usage time of each lock, room temperature, and each time the room has been accessed by an employee.
[0069] The central device can also send information to all of the door locks at regular intervals, such as calendar dates and time synchronization information or instructions for sending audit information or diagnostic information. Another type of information that can be sent from the central device to each of the door locks is information used by each door lock, such as information to invalidate a master key. Such information is needed by each door lock in the mesh network, and thus, it will be sent in a broadcast format. The broadcast format is a type of message bundle: where each door lock not only retrieves and uses the information, but also forwards the message bundle to the next one.
[0070] There may be a certain type of information sent immediately from the door lock to the central device. This information can be referred to as an "exception". An example of an exception is unauthorized entry. For example, if the key to a room in the first subnet 102 is used for a room in the second subnet, an exception may be generated and the information is immediately sent to the central device. A similar situation can occur if the master key is used when it should not be. For example, a housekeeper who is supposed to clean the rooms on the 5th floor uses her key card to open a door on the 4th floor. Other types of information considered exceptions can include the door being held open for a long period of time, a change in the locking schedule (e.g., when each key card is set to automatically expire after checkout).
[0071] The central device is also capable of sending a query to a door lock to request information. For example, if the central device wants to know the last time a particular master key was used, it can send a query to each door lock in the mesh network (or a subset thereof). The response to the query can be treated in the same manner as an exception condition, because, instead of being stored in the door lock for later transmission during a periodic review, the response is immediately transmitted to the central device.
[0072] There are certain types of messages that can be originated in one door lock to be sent to another door lock or to another device participating in a peer-to-peer mesh network without involving the central device. For example, a door lock can send a message indicating that a customer has just entered a room to a thermostat or a similar device that is part of a room management system. In response to receiving the data, the thermostat can be operated to a comfort set point rather than an energy-saving set point. Additionally, in this example, the thermostat or room management device can also be operated to have a high-speed connection to the central device 100 as shown in Figure 2 and Figure 3 and a network connection 150 to a gateway device as shown in Figure 2 and Figure 3 . Other example types of devices that can originate messages can include sensors such as smoke detectors, occupancy sensors, door sensors, etc., to mention a few non-limiting examples. Other examples of gateway devices can include lighting systems, illuminated exit signs, wireless network routers, to mention a few non-limiting examples.
[0073] As described above, embodiments can take the form of processes implemented by a processor and apparatus (such as a processor) for practicing those processes. Embodiments can also take the form of computer program code (e.g., a computer program product) that contains instructions embodied in a tangible medium such as a floppy disk, CD ROM, hard drive, or any other non-transitory computer-readable medium, where, when the computer program code is loaded into a computer and executed by the computer, the computer becomes an apparatus for practicing the embodiments. Embodiments can also take the form of, for example, computer program code that is either stored in a storage medium, loaded into and / or executed by a computer, or transmitted over some transmission medium, loaded into and / or executed by a computer, or transmitted over some transmission medium such as via electrical wires or cables, via optical fiber, or via electromagnetic radiation, where, when the computer program code is loaded into a computer and executed by the computer, the computer becomes an apparatus for practicing the exemplary embodiments. When implemented on a general purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
[0074] The term "about" is intended to include the degree of error associated with a particular quantity measurement based on the equipment available at the time of filing this application.
[0075] The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit the disclosure. As used herein, unless the context clearly dictates otherwise, the singular forms "a", "an" and "the" are intended to include the plural forms as well. It will be further understood that when the terms "comprises" and / or "comprising" are used in this specification, they specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0076] Although the disclosure has been described with reference to one or more exemplary embodiments, those skilled in the art will understand that various changes can be made and equivalents can substitute its elements without departing from the scope of the disclosure. Additionally, many modifications can be made to adapt a particular situation or material to the teachings of the disclosure without departing from its basic scope. Therefore, it is intended that the disclosure not be limited to the particular embodiments disclosed as the best mode contemplated for carrying out the disclosure, but that the disclosure will include all embodiments falling within the scope of the claims.
Claims
1. A method for communication among a plurality of peripheral devices in a mesh network including a first subnet and a second subnet, the method comprising the following steps performed by a sending peripheral device among the plurality of peripheral devices: Receiving announcements from one or more peripheral devices among the plurality of peripheral devices, the announcements including a hop count, a subnet identifier, and a unique subnet device identifier, the subnet identifier indicating the first subnet or the second subnet, and the unique subnet device identifier indicating a specific peripheral device among the plurality of peripheral devices in the mesh network; Triggering a message sending event; Determining a desired flow direction within the mesh network, wherein the desired flow direction is upstream or downstream; Determining a desired subnet of the mesh network, the desired subnet being the first subnet of the mesh network or the second subnet of the mesh network; Responsive to the hop count, the subnet identifier, and the unique subnet device identifier, determining a destination peripheral device among the one or more peripheral devices that is within the desired subnet and along the desired flow direction, wherein when the desired flow direction is downstream, the destination peripheral device has a hop count greater than that of the sending peripheral device, and when the desired flow direction is upstream, the destination peripheral device has a hop count less than that of the sending peripheral device; Connecting to the destination peripheral device via wireless messaging; and Sending the message to the destination peripheral device.
2. The method according to claim 1, wherein Triggering the message sending event includes receiving a message.
3. The method according to claim 1, wherein: The message is a message bundle; and wherein the method further includes: Adding information to the message bundle before sending the message.
4. The method according to claim 1, wherein: Triggering the message sending event includes a review timer expiration or an event occurrence.
5. The method according to claim 4, wherein: Data sent after the review timer expires includes: battery status, diagnostic information, entry events, and room temperature.
6. The method according to claim 4, wherein: The event occurrence includes a door being unlocked, a door being locked, a door being opened, a door being closed, or a privacy lock being enabled.
7. The method according to claim 1, wherein: The unique identifier indicates a device type.
8. The method according to claim 7, wherein, The device type is at least one of a door lock, a wireless signal repeater, a thermostat, or a room management system.
9. A sending peripheral device as part of a plurality of peripheral devices in a mesh network including a first subnet and a second subnet, the sending peripheral device comprising: A processor; And A memory including computer-executable instructions that, when executed by the processor, cause the processor to perform operations, the operations including: Receive an advertisement from one or more of the plurality of peripheral devices, the advertisement including a hop count, a subnet identifier, and a unique subnet device identifier, the subnet identifier indicating the first subnet or the second subnet, and the unique subnet device identifier indicating a specific peripheral device among the plurality of peripheral devices within the mesh network; Trigger a message sending event; Determine a desired flow direction within the mesh network, wherein the desired flow direction is upstream or downstream; Determine a desired subnet of the mesh network, the desired subnet being the first subnet of the mesh network or the second subnet of the mesh network; In response to the hop count, the subnet identifier, and the unique subnet device identifier, determine a destination peripheral device within the desired subnet and along the desired flow direction among the one or more peripheral devices, wherein when the desired flow direction is downstream, the destination peripheral device has a hop count greater than the hop count of the sending peripheral device, and when the desired flow direction is upstream, the destination peripheral device has a hop count less than the hop count of the sending peripheral device; Connect to the destination peripheral device via wireless messaging; and Send the message to the destination peripheral device.
10. The transmitting peripheral device according to claim 9, wherein, Triggering the message sending event includes receiving a message.
11. The sending peripheral device according to claim 9, wherein: The message is a message bundle; and wherein the operation further includes: Adding information to the message bundle before sending the message.
12. The sending peripheral device according to claim 9, wherein: Triggering the message sending event includes a review timer expiration or an event occurrence.
13. The sending peripheral device according to claim 12, wherein: Data sent after the review timer expires includes: battery status, diagnostic information, entry events, and room temperature.
14. The sending peripheral device according to claim 9, wherein: The sending peripheral device is a door lock, a wireless signal repeater, a thermostat, or a room management system.
15. The sending peripheral device according to claim 10, wherein: The event occurrence includes the door being unlocked, the door being locked, the door being opened, the door being closed, or the privacy lock being enabled.
16. The sending peripheral device according to claim 9, wherein: The unique identifier indicates a device type.
17. The transmitting peripheral device according to claim 16, wherein, The device type is at least one of a door lock, a wireless signal repeater, a thermostat, or a room management system.
Citation Information
Patent Citations
Mesh networking using peer to peer messages for a hospitality entity
US20190141500A1
Methods and Apparatus for Distribution of IP Layer Routing Information in Peer-to-Peer Overlay Networks
US20110075673A1
Mesh networking using peer to peer messages
US20190141616A1