Patent Description:
The Internet of Things generally refers to a device system, which is capable of performing communication by means of a network. With the increasing development of the Internet of Things, sensor networks are widely used in applications such as smart homes and environmental observation. Common sensor networks provide low-cost and low-power-consumption communication based on the ZigBee technology.

At present, a smoke alarm, as a device commonly used for furniture, uses the ZigBee technology to implement communication in a network. However, due to a relatively large delay in a network based on the ZigBee technology for communication (also referred to as a ZigBee network), in the case of a fire, a network device often cannot make a response in time, thereby causing a serious hazard. Therefore, it is a very noticeable problem to realize instant messaging of such alarm devices. <CIT> discloses a method for providing a multicasting service in an Internet Protocol (IP) network. By using at least one of a network prefix assigned to an area where the wireless node is located and an identification of a personal area network set in the area where the wireless node is located, the wireless node can set a multicast address, and the group requesting the multicasting service may receive the multicasting service via the multicast address.

Embodiments of the present disclosure provide a method and apparatus for implementing communication, and a computer-readable medium.

The Summary is provided to introduce the selection of concepts in a simplified form, and the concepts will be further described below in the Detailed Description of Embodiments. The Summary is not intended to identify critical features or essential features of the present disclosure, nor is it intended to limit the scope of the present disclosure.

The above and other objectives, features and advantages of the present disclosure will become more apparent by means of describing exemplary embodiments of the present disclosure in more detail in conjunction with the drawings, and in the exemplary embodiments of the present disclosure, the same reference numbers generally represent the same components.

Throughout the drawings, the same or corresponding reference numbers represent the same or corresponding parts.

Preferred embodiments of the present disclosure will be described below in more detail with reference to the drawings. Although the preferred embodiments of the present disclosure are shown in the drawings, it should be understood that, the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. These embodiments are provided for a more thorough and complete understanding of the present disclosure on the contrary, and may fully convey the scope of the present disclosure to those skilled in the art.

The term "including" and variations thereof as used herein mean open-ended inclusions, that is, "including but not limited to". The term "or" means "and/or" unless specifically stated otherwise. The term "based on" means "at least partially based on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment. " The terms "first", "second" and the like may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

As used herein, the term "determine" encompasses a variety of actions. For example, "determine" may include operate, calculate, process, derive, investigate, search (e.g., look up in a table, database or another data structure), ascertain, etc. Further, "determine" may include receive (e.g., receive information), access (e.g., access data in a memory), etc. In addition, "determine" may include parse, select, choose, establish, etc..

As used herein, the term "terminal device" refers to any apparatus or device, which is capable of implementing functions such as information collection, information processing, information communication and decision feedback. The terminal device generally has electronic components such as a sensor and a brake, such that the terminal device may trigger a corresponding feedback action based on the collected information. Examples of the terminal devices include, but are not limited to, smoke alarms, burglar alarms, various alarms used in industrial production, and the like. For example, the terminal device may access a network provided by a network device, and communicate with the network device. Moreover, the terminal devices may also communicate with each other. Example wireless communication technologies include, but are not limited to, WiFi, ZigBee, private protocols, etc..

As used herein, the term "network device" refers to any apparatus or device, which is capable of creating or maintaining a network. The network device may have the functions of coordinating and managing the creation of the network, addition and deletion of devices, determination and distribution of keys, and/or information forwarding. For example, for a ZigBee network, the network device may include a coordinator, a router or the like.

As mentioned above, with the increasing development of the Internet of Things, in order to provide low-cost and low-power-consumption communication, the ZigBee technology is applied to many smart homes.

<FIG> illustrates a schematic diagram of the structure of a network <NUM> in which various embodiments of the present disclosure may be implemented.

As shown in <FIG>, the network <NUM> includes a first network <NUM>, which may be, for example, a ZigBee network. It should be understood that, this is merely exemplary and is not intended to limit the scope of the present disclosure. Hereinafter, for the convenience of description, the working principles of some embodiments will be illustrated in combination with the ZigBee network. However, the embodiments of the present disclosure are also applicable to other types of networks.

As shown in the figure, the first network <NUM> includes a coordinator <NUM>, a router <NUM> and a first terminal device <NUM>.

The first network <NUM> is created by the coordinator <NUM>. After being powered on, the coordinator <NUM> performs the initialization of the first network <NUM>. The coordinator <NUM> may generate an extended personal area network identifier (extended PAN ID) of the first network <NUM>. For example, a specified extended PAN ID may be set in an application program of the coordinator. In some embodiments, the extended PAN ID may be, for example, <NUM> bits. For example, the extended PAN ID may be set to be a <NUM>-bit IEEE MAC address of the coordinator <NUM>. Then, the coordinator <NUM> selects, in a radio-frequency band, a channel to be used by the first network <NUM>. The coordinator <NUM> may perform an energy detection scanning and select a channel with the least detected activity in the radio-frequency band. Afterwards, the coordinator <NUM> will generate a PAN ID for use in inter-device communication in the first network <NUM>. In general, in order to avoid conflicts, the coordinator <NUM> may first monitor other network channels and identify PAN IDs of the other networks, so as to determine a random PAN ID that is not used by one other network on this basis. In some embodiments, the PAN ID may be, for example, <NUM> bits.

The router <NUM> may access the first network <NUM> by means of the coordinator <NUM>. Both the coordinator <NUM> and the router have the function of allowing other devices to add the first network <NUM> therethrough. For example, the first terminal device <NUM> may transmit a request to access the network to the router <NUM>, so as to connect to the first network <NUM>. Alternatively, the first terminal device <NUM> may directly transmit the request to access the network to the coordinator <NUM>, so as to connect to the first network <NUM>.

As shown in <FIG>, the first terminal device <NUM> and a second terminal device <NUM> constitute a second network <NUM>. In some embodiments, the first terminal device <NUM> and/or the second terminal device <NUM> may perform broadcast communication in the second network <NUM>. For example, the first terminal device <NUM> may transmit a message in a broadcast manner in the second network <NUM>. Correspondingly, the second terminal device may receive the message broadcast by the first terminal device <NUM>.

The first terminal device <NUM> and the router <NUM> may communicate with each other in a wired and/or wireless manner. The first terminal device <NUM> and the second terminal device <NUM> may communicate with each other in a wired and/or wireless manner. Any communication approach, which is currently known and will be developed in the future, may be used herein, and the scope of the present disclosure is not limited in this regard.

It should be understood that, the structures of the first network <NUM> and the second network <NUM> shown in <FIG> are merely exemplary, and should not constitute any limitation to the functions and scope of the embodiments described in the present disclosure. The number of terminal devices and routers shown in <FIG> is merely illustrative. For example, the first network <NUM> may include any suitable number of terminal devices and routers, and the second network <NUM> may include any suitable number of terminal devices. For example, the first network <NUM> may include an additional device, which communicates with the first terminal device <NUM> and the router <NUM>, or the second network <NUM> may include an additional device, which communicates with the first terminal device <NUM> and the second terminal device <NUM>.

However, as described above, for terminal devices, such as a smoke alarm, which requires an instant response to an alarm, due to a high delay of the ZigBee-based communication technology, the network device often cannot transmit an alarm message to the connected terminal device in time, which may bring a very serious hazard.

In addition, a conventional smoke alarm may implement an emergency alarm based on a level change and by means of a wired connection. In addition, some smoke alarms having no networking function may implement emergency alarms by broadcasting alarm messages based on wireless interconnection between the plurality of smoke alarms. However, such devices often require more manual operations to implement the connection. Moreover, such devices perform broadcast communication based on address codes of the devices when leaving the factory, and thus may interfere with the communication of other devices having the same address codes.

As it can be seen, in such a scenario in which an emergency alarm needs to be performed, a traditional communication method between the terminal devices often cannot avoid a relatively large delay, or requires more manual operations, and still has a potential interference problem, such that the communication quality cannot be guaranteed. At present, there is a lack of an effective method to realize timely communication between the terminal devices.

The embodiments of the present disclosure propose a solution for implementing communication between terminal devices, so as to solve one or more of the above problems and other potential problems. In this solution, a terminal device obtains, from a network device in a network (referred to as a first network), a network identifier of the first network. Then, the terminal device determines, based on the network identifier, a broadcast address for broadcast communication in another network (referred to as a second network). Furthermore, when an alarm event is determined, the terminal device broadcasts, in the second network, a message indicating the alarm event, using the broadcast address.

By means of the the following description, it will be understood that in the embodiments of the present disclosure, the broadcast address for broadcast communication in the second network can be determined based on the obtaind network address of the first network, and then a wireless interconnection is automatically formed between the terminal devices connected to the first network, so that an alarm can be issued in time when the alarm event is determined. In the solution, the uniqueness, invariance and security of the broadcast address can be guaranteed by utilizing the uniqueness of the network address of the first network, thereby reliably setting up the wireless interconnection between the terminal devices. In addition, by means of the solution, two network connections at the terminal device can be realized only by a single network access operation, thereby omitting a large number of repeated manual operations, effectively avoiding the heavy work of twice network access, and also avoiding a possible omission problem. In addition, by means of the technical solution, it is also possible to guarantee that the communication between the terminal devices can also be performed normally, when the network device does not work due to causes such as network disconnection or power failure.

<FIG> illustrates an example signaling diagram for implementing communication according to some embodiments of the present disclosure. For example, a network device <NUM> may be implemented as the coordinator <NUM> or the router <NUM> shown in <FIG>.

As shown in <FIG>, the first terminal device <NUM> obtains (<NUM>) the network identifier of the first network <NUM> from the network device <NUM> in the first network <NUM>. For example, the network identifier may be a PAN ID.

In some embodiments, the first terminal device <NUM> may receive an instruction to access a network from a user. For example, the instruction may be delivered by a key operation of the user. Then, the first terminal device <NUM> may discover networks by scanning channels of an associated radio-frequency band, and select a network to access, for example, based on signal intensity and the like. For example, the selected network may be the first network <NUM>. Then, the first terminal device <NUM> may transmit a request for accessing the first network <NUM> to the network device <NUM> in the first network <NUM>. The first terminal device <NUM> may obtain, from the network device <NUM>, the network identifier of the first network <NUM> as a response to the request. For example, the first terminal device <NUM> may also obtain, from the network device <NUM>, information about the network device <NUM>, information about whether the first terminal device <NUM> is allowed to access the network, and other information as a response to the request. After a series of interactive operations such as information exchange and address distribution, the first terminal device <NUM> may access the first network <NUM>.

As shown in <FIG>, the first terminal device <NUM> determines (<NUM>), based on the network identifier, a broadcast address for broadcast communication in the second network <NUM>. For example, the first terminal device <NUM> may determine, based on a PAN ID, the broadcast address for broadcast communication in the second network <NUM>. In some embodiments, the first terminal device <NUM> may encode the PAN ID to generate a broadcast address of a particular number of bits. For example, a broadcast address with a length of <NUM> bytes may be generated by inserting some bits before or after a PAN ID with a length of <NUM> bytes. It should be understood by those skilled in the art that, the foregoing numerical values are merely examples, and the embodiments of the present disclosure are not limited herein.

In this way, two network connections at the terminal device can be implemented only by a single network connection operation, such that manual operations can be effectively reduced. In addition, the uniqueness, invariance and security of the broadcast address can be guaranteed by utilizing the uniqueness of the network address of the first network, thereby reliably setting up the wireless interconnection between the terminal devices.

In some embodiments, the second terminal device <NUM> cannot connect to the first network <NUM>, and thus cannot obtain the broadcast address. In this case, the second terminal device <NUM> may obtain the broadcast address from the first terminal device <NUM>. For example, after receiving a pairing instruction delivered by the user, for example, by means of a key operation, the first terminal device <NUM> and the second terminal device <NUM> may be configured to be in a pairing mode. According to the claimed embodiment, the second terminal device <NUM> transmits a request for the broadcast address to the first terminal device <NUM>, and correspondingly, the first terminal device <NUM> receives the request for the broadcast address from the second terminal device <NUM>. Correspondingly, the first terminal device <NUM> transmits the broadcast address to the second terminal device <NUM>, such that the second terminal device <NUM> uses the broadcast address to receive a broadcast message. Other possible terminal devices in the second network <NUM> may also obtain the broadcast address from the first terminal device <NUM> in a similar manner.

As shown in <FIG>, in response to determining an alarm event, the first terminal device <NUM> broadcasts (<NUM>) , in the second network <NUM>, a message indicating the alarm event, using the broadcast address. In some embodiments, the first terminal device <NUM> may determine the alarm event based on a routine test instruction, which is received from the user and is used for issuing an alarm, and then broadcast the message indicating the alarm event, in the second network <NUM> using the broadcast address. Correspondingly, the second terminal device <NUM> and other possible terminal devices may receive the broadcast message using the obtaind broadcast address, thereby making a response, that is, issuing an alarm. In some embodiments, the first terminal device <NUM> may determine the alarm event, such as a fire, based on determining that the smoke concentration is higher than a threshold concentration and/or the temperature is higher than a threshold temperature, and then may broadcast, using the determined broadcast address, the message indicating the alarm event, to the second terminal device <NUM> and other possible terminal devices in the second network <NUM>. It should be understood that, the above-mentioned threshold concentration and threshold temperature may be set to any value according to actual application scenarios, and the scope of the present disclosure is not limited in this regard. Correspondingly, the second terminal device <NUM> and other possible terminal devices may receive the broadcast message using the obtaind broadcast address, thereby making a response in time, for example, issuing an alarm.

In some embodiments, the second terminal device <NUM> may broadcast the message indicating the alarm event in the second network <NUM> after determining the alarm event. Correspondingly, the first terminal device <NUM> and other possible terminal devices in the second network <NUM> may receive the broadcast message, thereby making a response.

In this way, when the alarm event occurs, an alarm can be transmitted between the terminal devices in time, thereby effectively avoiding a relatively large loss.

<FIG> illustrates a flow diagram of an example method <NUM> for implementing communication according to some embodiments of the present disclosure. The method <NUM> may be executed, for example, by the first terminal device <NUM> as shown in <FIG>. It should be understood that, the method <NUM> may also be executed by other suitable devices or apparatuses. The method <NUM> may include additional actions not shown and/or may omit the illustrated actions, and the scope of the present disclosure is not limited in this regard. The method <NUM> is described in detail below in conjunction with <FIG> and <FIG>.

At block <NUM>, the first terminal device <NUM> obtains a network identifier of a first network <NUM> from a network device <NUM> in the first network <NUM>. At block <NUM>, the first terminal device <NUM> determines, based on the network identifier, a broadcast address for broadcast communication in a second network <NUM>. At block <NUM>, in response to determining an alarm event, the first terminal device <NUM> broadcasts, in the second network <NUM>, a message indicating the alarm event, using the broadcast address.

In some embodiments, the first terminal device <NUM> may transmit a request for accessing the first network <NUM> to the network device <NUM> in the first network <NUM>; and obtain the network identifier of the first network <NUM> from the network device <NUM> as a response to the request.

In some embodiments, the first terminal device <NUM> may also receive a request for the broadcast address from the second terminal device <NUM>. The first terminal device <NUM> and the second terminal device <NUM> are paired devices. Then, the first terminal device <NUM> may also transmit the broadcast address to the second terminal device <NUM>, for the second terminal device <NUM> to receive the message indicating the alarm event, using the broadcast address.

In some embodiments, the first network <NUM> is a ZigBee network.

In some embodiments, the first terminal device <NUM> and/or the second terminal device <NUM> is a smoke alarm.

<FIG> illustrates a schematic block diagram of an example device <NUM> which may be used for implementing embodiments of the content of the present disclosure. For example, as shown in <FIG>, the coordinator <NUM>, the router <NUM>, the first terminal device <NUM> or the second terminal device <NUM> may be implemented by the device <NUM>.

As shown in <FIG>, the device <NUM> includes a central processing unit (CPU) <NUM>, which may execute various appropriate actions and processing according to computer program instructions that are stored in a read-only memory (ROM) <NUM> or computer program instructions that are loaded from a storage unit <NUM> into a random access memory (RAM) <NUM>. In the RAM <NUM>, various programs and data necessary for the operations of the device <NUM> may also be stored. The CPU <NUM>, the ROM <NUM> and the RAM <NUM> are connected to each other by means of a bus <NUM>. An input/output (I/O) interface <NUM> is also connected to the bus <NUM>.

A plurality of components in the device <NUM> are connected to the I/O interface <NUM>, including: an input unit <NUM>, such as a keyboard and a mouse; an output unit <NUM>, such as various types of displays and loudspeakers; a storage unit <NUM>, such as a magnetic disk and an optical disk; and a communication unit <NUM>, such as a network card, a modem and a wireless communication transceiver. The communication unit <NUM> allows the device <NUM> to exchange information/data with other devices by means of a computer network such as the Internet and/or various telecommunication networks.

The various processes and processing described above, for example, the method <NUM>, may be executed by the processing unit <NUM>. For example, in some embodiments, the method <NUM> may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as the storage unit <NUM>. In some embodiments, part or all of the computer programs may be loaded and/or installed on the device <NUM> via the ROM <NUM> and/or the communication unit <NUM>. When the computer programs are loaded into the RAM <NUM> and executed by the CPU <NUM>, one or more actions of the method <NUM> described above may be executed.

The present disclosure may be a method, an apparatus, a system and/or a computer program product. The computer program product may include a computer-readable storage medium, having computer-readable program instructions loaded thereon for executing various aspects of the present disclosure.

The computer-readable storage medium may be a tangible device, which may hold and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing devices. More specific examples (non-exhaustive list) of the computer-readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM) or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a protrusion structure in a punched card or groove with instructions stored thereon, and any suitable combinations thereof. The computer-readable storage medium, as used herein, is not to be interpreted as a transient signal per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating via waveguides or other transmission media (e.g., light pulses propagating via optical fiber cables), or electrical signals transmitted via electrical wires.

The computer-readable program instructions described herein may be downloaded from the computer-readable storage medium into various computing/processing devices, or downloaded into an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and/or a wireless network. The network may include a copper transmission cable, optical fiber transmission, wireless transmission, a router, a firewall, a switch, a gateway computer and/or an edge server. A network adapter card or network interface in each computing/processing device receives the computer-readable program instructions from the network, and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing/processing device.

The computer program instructions used for executing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcodes, firmware instructions, state setting data, or source codes or target codes compiled in any combination of one or more programming languages, the programming languages include object-oriented programming languages such as Smalltalk and C++, and conventional procedural programming languages such as a "C" language or similar programming languages. The computer-readable program instructions may be completely executed on a user computer, partly executed on the user computer, executed as a stand-alone software package, partly executed on the user computer and partly executed on a remote computer, or completely executed on a remote computer or a server. In the case where the remote computer is involved, the remote computer may be connected to the user computer through any kind of networks, including a local area network (LAN) or a wide area network (WAN), or, it may be connected to an external computer (for example, connected via the Internet by using an Internet service provider). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA) or a programmable logic array (PLA), may be customized by using the state information of the computer-readable program instructions. The electronic circuit may execute the computer-readable program instructions, so as to implement various aspects of the present disclosure.

The various aspects of the present disclosure are described herein with reference to flow diagrams and/or block diagrams of the method, the apparatus, system and the computer program product according to the embodiments of the present disclosure. It should be understood that, each block of the flow diagrams and/or the block diagrams and combinations of blocks in the flow diagrams and/or the block diagrams may be implemented by the computer-readable program instructions.

These computer-readable program instructions may be provided for a general-purpose computer, a special-purpose computer or processing units of other programmable data processing apparatuses, so as to generate a machine, such that these instructions, when executed by the computers or the processing units of the other programmable data processing apparatuses, generate apparatuses for implementing specified functions/actions in one or more blocks of the flow diagrams and/or the block diagrams. These computer-readable program instructions may also be stored in the computer-readable storage medium, these instructions cause the computers, the programmable data processing apparatuses and/or other devices to work in particular manners, such that the computer-readable storage medium storing the instructions includes a manufacture, which includes instructions for implementing the various aspects of the specified functions/actions in one or more blocks of the flow diagrams and/or the block diagrams.

These computer-readable program instructions may also be loaded on the computers, the other programmable data processing apparatuses or the other devices, so as to execute a series of operation steps on the computers, the other programmable data processing apparatuses or the other devices to produce processes implemented by the computers, such that the instructions executed on the computers, the other programmable data processing apparatuses or the other devices implement the specified functions/actions in one or more blocks of the flow diagrams and/or the block diagrams.

The flow diagrams and the block diagrams in the drawings show system architectures, functions and operations, which may be implemented by the system, the method and the computer program product according to a plurality of embodiments of the present disclosure. In this regard, each block in the flow diagrams and the block diagrams may represent a part of a module, a program segment or an instruction, and the part of the module, the program segment or the instruction contains one or more executable instructions for implementing specified logical functions. In some alternative implementations, the functions marked in the blocks may also occur in a different order from the order marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, or they may sometimes be executed in a reverse order, depending on the functions involved. It should also be noted that, each block in the block diagrams and/or the flow diagrams, and the combination of the blocks in the block diagrams and/or the flow diagrams may be implemented by a dedicated hardware-based system, which is used for executing the specified functions or actions, or it may be implemented by a combination of dedicated hardware and computer instructions.

Claim 1:
A method for implementing communication, comprising
obtaining (<NUM>), by a first terminal device (<NUM>) in a second network (<NUM>), a network identifier, PAN ID, of a first network (<NUM>) from a network device (<NUM>; <NUM>; <NUM>) in the first network (<NUM>);
determining (<NUM>), by the first terminal device (<NUM>), based on the network identifier, a broadcast address for broadcast communication in the second network (<NUM>);
in response to determining an alarm event, broadcasting (<NUM>), by the first terminal device (<NUM>), in the second network (<NUM>), a message indicating the alarm event, using the broadcast address; the method being characterised by further comprising:
receiving a request for the broadcast address from a second terminal device (<NUM>) in the second network (<NUM>), the first terminal device and the second terminal device being paired devices; and
transmitting the broadcast address to the second terminal device, for the second terminal device to receive the message indicating the alarm event, using the broadcast address.