Communication apparatus, communication control method, and communication system

By detecting the uncommunicable state of the mother machine in the communication system and deciding to change from a child machine to a proxy mother machine, the problem that the child machine cannot join the reconstructed network after the mother machine leaves the network is solved, and the effect of ensuring the connection of all children within the allowed jump limit is achieved.

CN119908102APending Publication Date: 2025-04-29PANASONIC HOLDINGS CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380067823.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-29
Filing Date
2023-05-30
Publication Date
2025-04-29

AI Technical Summary

Technical Problem

When the master machine leaves the communication network due to a failure or power outage, the network needs to be reconstructed in a multi-device environment. However, when the child machine with a large number of jumps becomes a parent machine, some child machines may be restricted by the upper limit of jumps and cannot join the reconstructed network.

Method used

By detecting the uncommunicable state of the master, it is determined whether a child machine in the communication system will be changed from a proxy machine to a proxy machine, and when the conditions are met, the communication network will be appropriately reconstructed.

Benefits of technology

When the master machine is disconnected from the network, the communication network can be properly reconstructed to ensure that all children can join the network within the allowed jump limit, and avoid the problem of being unable to connect due to the jump limit constraint.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119908102A_ABST
    Figure CN119908102A_ABST
Patent Text Reader

Abstract

A communication device according to one embodiment of the present disclosure is a communication device in a communication system that performs multi-hop communication, and comprises: a detection unit that detects that a master device in the communication system is in a non-communicable state; and a determination unit that, when the master device is in a non-communicable state, determines whether or not to change from the communication device to a proxy master device on the basis of the position of the communication device in a relay path of the communication system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a communication device, a communication control method and a communication system. Background Art

[0002] In the past, multi-hop communication using power line communication (PLC) is known (for example, see Patent Document 1). In such multi-hop communication, in a communication network (hereinafter sometimes simply referred to as "network (NW)") consisting of a plurality of communication terminals including a master terminal and slave terminals, communication is performed with terminals that cannot directly communicate with their own terminals by relaying communication signals between communication terminals.

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent Application Publication No. 2020-036316 Summary of the invention

[0006] In a multi-device environment consisting of one master machine and multiple slave machines, as in the above-mentioned technology, when the master machine is disconnected from the network due to a failure or power failure, the network needs to be reconstructed. When reconstructing the network in this way, a certain slave machine needs to become the master machine. However, in the case where a slave machine with a large number of jumps becomes the master machine (for example, in the case where a slave machine far from the master machine becomes the master machine, such as when a slave machine with a tenth jump becomes the master machine), some of the slave machines that have joined the network so far may not be able to join the reconstructed network due to the upper limit of the number of jumps.

[0007] The non-limiting embodiments of the present disclosure contribute to providing a communication device, a communication control method, and a communication system that are capable of appropriately reconfiguring a communication network when a parent machine has left a communication network composed of a parent machine and child machines.

[0008] A communication device according to an embodiment of the present disclosure is a communication device in a communication system that performs multi-hop communication, and includes: a detection unit for detecting a situation where a master machine in the communication system is in a non-communicative state; and a decision unit for deciding whether to change the communication device into a proxy master machine based on the position of the communication device in a relay path of the communication system when the master machine is in a non-communicative state.

[0009] In a communication control method of one embodiment of the present disclosure, a communication device in a communication system performing multi-hop communication performs the following processing: detecting a situation where a mother machine in the communication system is in a non-communicative state; and when the mother machine is in a non-communicative state, deciding whether the communication device should be changed into a proxy mother machine based on the position of the communication device in a relay path of the communication system.

[0010] A communication system according to an embodiment of the present disclosure is a communication system for performing multi-hop communication, which determines a candidate proxy mother machine from among the child machines constituting the communication system based on a relay path of the communication system; and determines a proxy mother machine from among the candidate proxy mother machines when a mother machine in the communication system becomes incommunicable, the candidate proxy mother machine satisfying the following condition, namely, if the candidate proxy mother machine becomes the proxy mother machine, then in a second relay path of a second communication system performing second multi-hop communication after the mother machine becomes incommunicable, the candidate proxy mother machine can relay the child machines other than the candidate proxy mother machine within an upper limit of an allowed number of hops.

[0011] It should be noted that these general or specific aspects may be implemented by a system, an apparatus, a method, an integrated circuit, a computer program or a recording medium, or may be implemented by any combination of systems, apparatuses, methods, integrated circuits, computer programs and recording media.

[0012] According to one embodiment of the present disclosure, when a master device has left a communication network composed of a master device and slave devices, a communication network can be appropriately reconstructed.

[0013] More advantages and effects of an embodiment of the present disclosure will be explained through the description and drawings. These advantages and / or effects are provided by several embodiments, and the features described in the description and drawings, but not necessarily all of them need to be provided in order to obtain one or more of the same features. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 This is a diagram showing a configuration example of a communication system according to Embodiment 1 of the present disclosure.

[0015] Figure 2 This is a diagram showing a hardware configuration example of a node according to Embodiment 1 of the present disclosure.

[0016] Figure 3 This is a diagram showing a functional configuration example of a CPU (Central Processing Unit) of a node according to the first embodiment of the present disclosure.

[0017] Figure 4A This is a diagram showing an example of a topological structure before and after a master machine failure according to Embodiment 1 of the present disclosure.

[0018] Figure 4B FIG. 1 is a diagram showing an example of a topological configuration before and after a parent machine failure in a comparative example.

[0019] Figure 5A This is a diagram showing an example of a topology before a master machine failure and an example of a link cost according to Embodiment 1 of the present disclosure.

[0020] Figure 5B This is a diagram showing an example of own node information and adjacent node information before a parent machine fails in Embodiment 1 of the present disclosure.

[0021] Fig. 6A This is a flowchart showing an example of processing for changing from a slave machine to a proxy master machine in Embodiment 1 of the present disclosure.

[0022] Figure 6B Yes means Fig. 6A This is a flowchart of an example of step S601.

[0023] Figure 7 This is a diagram showing an example of a topological structure before and after a failure of a slave unit according to the first embodiment of the present disclosure.

[0024] Fig. 8A This is a flowchart showing an example of processing in which another slave becomes a proxy master when the slave has left the network according to the first embodiment of the present disclosure.

[0025] Figure 8B This is a flowchart showing an example of processing for changing from a proxy master machine to a slave machine again according to the first embodiment of the present disclosure.

[0026] Fig. 9 This is a diagram showing an example of a topological structure before and after a master machine failure according to Embodiment 2 of the present disclosure.

[0027] Fig.10 This is a flowchart showing an example of processing for changing from a slave machine to a proxy master machine in Embodiment 2 of the present disclosure.

[0028] Fig.11A This is a flowchart showing an example of processing for determining the waiting time in the master device according to the second embodiment of the present disclosure.

[0029] Fig. 11B This is a flowchart showing an example of processing for determining the standby time in the slave unit according to the second embodiment of the present disclosure. DETAILED DESCRIPTION

[0030] Hereinafter, the embodiments of the present disclosure will be described in detail with reference to the accompanying drawings as appropriate. However, sometimes an overly detailed description may be omitted. For example, sometimes a detailed description of a well-known matter or a repeated description of a substantially identical structure may be omitted. The purpose is to avoid the following description from being unnecessarily lengthy and to make it easy for those skilled in the art to understand.

[0031] It should be noted that the purpose of providing the drawings and the following description is to enable those skilled in the art to fully understand the present disclosure, and there is no intention to limit the subject matter described in the claims.

[0032] (Implementation Method 1)

[0033] <Communication system structure>

[0034] Figure 1 It is a diagram showing a configuration example of a communication system 1 according to Embodiment 1 of the present disclosure.

[0035] like Figure 1 As shown, the communication system 1 includes a master unit M10, a slave unit a1 20A1, a slave unit a2 20A2, a slave unit a3 20A3, ..., a slave unit b1 20B1, ..., and a slave unit c1 20C1, .... Here, the alphanumeric characters (M, a1, b1, c1, etc.) attached to the back of the master unit and the slave unit refer to the identification information of the master unit and the slave unit (which can also be called "identifier", "identification number", "ID", etc.). Although the identification information of the master unit and the slave unit is represented by 1 to 2 alphanumeric characters for simplicity and easy understanding, in fact, the identification information of the master unit and the slave unit can also be a serial number (manufacturing number), a MAC (Medium Access Control) address, other unique random character strings, etc. It should be noted that the number and connection method of the slave units 20 constituting the communication system 1 (communication network) are not limited to the number and connection method shown in the figure. In the following, when each slave unit is not distinguished, it is expressed as "slave unit 20".

[0036] The communication system 1 may be configured, for example, in water (for example, in the sea). When the communication system 1 is configured in this way, for example, the main machine M10 may be connected to a control device (not shown), and each sub-machine 20 may be connected to an electronic device such as a sensor controlled by the control device (not shown). Alternatively, the communication system 1 may be used in facilities such as factories or office buildings. When the communication system 1 is configured in this way, the main machine M10 may be connected to a control device (not shown), and each sub-machine 20 may be connected to an electronic device such as a sensor, lighting fixture, air conditioning equipment, etc. controlled by the control device (not shown). It should be noted that some of the sub-machines 20 may not be connected to the electronic device, and the sub-machines 20 that are not connected to the electronic device may also function as repeaters (transponders).

[0037] It should be noted that these mother machines M10 and child machines 20 may be collectively referred to as "communication nodes" or simply as "nodes 100", collectively referred to as "communication equipment" or simply as "equipment 100", collectively referred to as "communication devices" or simply as "devices 100", collectively referred to as "communication terminals" or simply as "terminals 100", etc. The mother machine may also be referred to as a "router", "master device", etc.

[0038] In the communication system 1 , each node 100 (the master device M10 and each of the slave devices 20 ) performs multi-hop communication using PLC that uses a power line as a communication path and superimposes a signal on the power line.

[0039] For example, in Figure 1 , the jump number (from the main machine M10) of the sub-machine a1 20A1, the sub-machine b1 20B1, and the sub-machine c1 20C1 is 1, the jump number (from the main machine M10) of the sub-machine a2 20A2 is 2, and the jump number (from the main machine M10) of the sub-machine a3 20A3 is 3. It should be noted that, although it is assumed in Embodiment 1 and other embodiments that the upper limit of the jump number is 10 and the maximum number of nodes that can be connected to the communication system 1 is 1024, the upper limit of the jump number and the maximum number of nodes are not limited to these values.

[0040] In the communication system 1, the master machine M10 collects specified information from the slave machines 20 and remotely monitors or remotely controls the slave machines M10. Here, the master machine M10 and each slave machine 20 communicate directly or indirectly, and the slave machine 20 that cannot communicate directly with the master machine M10 communicates with the master machine M10 indirectly by relaying the communication signal in sequence to other slave machines 20 that can communicate directly.

[0041] As described below, each node 100 (the main machine M10 and the child machine 20 respectively) calculates the link cost representing the communication quality (also referred to as "link quality") with other nodes, and communicates with other nodes based on the link cost (for example, using the path (route) with the best (minimum) link cost).

[0042] It should be noted that the communication method in the communication system 1 is not limited to PLC which is a wired communication method, and may be a wired communication method other than PLC or a wireless communication method as long as multi-hop communication is possible.

[0043] Hereinafter, a technique will be described in which, when a node (for example, the master machine M10) that originally functions (performs an action) as a master machine is separated from a multi-hop communication network (for example, a hierarchical or tree-type network) configured in the communication system 1 due to a failure or the like, a certain slave machine (child node) in the communication system 1 functions as a master machine. It should be noted that the expression "the master machine M10 or other nodes are separated from the communication network" may be replaced by expressions such as "the master machine M10 or other nodes become unable to communicate (state), cannot communicate (state), or are disconnected (state)".

[0044] Hereinafter, a node that originally functions as a master is referred to as an "original master", and a (child) node that functions as a master is referred to as a "proxy master". As described below, even if a child machine is disconnected from the network due to a failure, another child machine may function as a master (in this case, the original master machine and the proxy master machine coexist). Hereinafter, such another child machine is also referred to as a "proxy master".

[0045] <Node structure>

[0046] Figure 2 This is a diagram showing a hardware configuration example of the node 100 according to the first embodiment.

[0047] like Figure 2 As shown, the node 100 includes a central processing unit (CPU) 201, a storage device 202, a communication device 203, and a device interface device 204. The node 100 may include components other than those described above.

[0048] CPU 201 controls the overall operation of node 100 (for example, communication performed by communication device 203, processing performed by various structural elements, etc.). CPU 201 implements various functions of node 100 (including the processing described later) by, for example, loading a prescribed program stored in a HDD (Hard Disk Drive), SSD (Solid State Drive), etc. contained in storage device 202 into a RAM (Random Access Memory) contained in storage device 202 and executing the program. The program executed by CPU 201 may be pre-stored in storage device 202, or may be provided via an electrical communication line such as the Internet, or may be provided by being stored in a non-temporary storage medium such as a memory card.

[0049] The storage device 202 is a non-temporary storage medium, including non-volatile memories such as HDD, SSD, ROM (Read Only Memory), electrically erasable non-volatile memories such as EEPROM (Electrically Erasable Programmable Read Only Memory), and volatile memories such as RAM. The storage device 202 stores information related to communication paths, topology information, and nodes that can communicate (for example, other nodes that can communicate directly), etc. (for example, in a table form). The storage device 202 also stores programs such as control programs for operating the node 100, data required to execute the programs, identification information of the node 100, and other information / data that has been processed (processed) by the node 100 (for example, CPU 201).

[0050] When the node 100 is the mother machine M10, the storage device 202 stores, for example, a communication path data table for registering all communication paths between nodes constructed in the network, a topology structure table for recording information (link information) of adjacent nodes that can directly communicate with each node, and the like.

[0051] In addition, when the node 100 is a slave 20, for example, a communication node data table showing adjacent nodes (main machine M10 or other slaves 20) that can communicate with the node 100, a communication cost value (link cost) showing the communication quality between the node 100 and the adjacent nodes (main machine M10 or other slaves 20), and a communication cost value showing the communication quality between the node 100 and the master M10 via the adjacent nodes is stored in the storage device 202. By retaining such a table, the slave 20 can grasp the path to the master M10.

[0052] Figure 5B A specific example of data / information stored in a table format is shown, and this specific example will be described later.

[0053] Include Figure 5B The information shown, which is related to the communication path, topology information, communicable nodes (eg, other nodes that can directly communicate, etc.), etc., is an example of the information related to the relay path of the present disclosure.

[0054] The communication device 203 is a communication interface device for communicating with other nodes 100. The communication device 203 may be a communication interface device for PLC. It should be noted that when a wired communication method or a wireless communication method other than PLC is used as a communication method, the communication device 203 may be a communication interface device corresponding to the wired communication method or the wireless communication method. The communication device 203 is an example of a receiving unit of the present disclosure.

[0055] The device interface device 204 is an interface device for exchanging (inputting and outputting) data with a control device or an electronic device connected to the node 100. The device interface device 204 may be a communication interface device compliant with the Ethernet (registered trademark) standard, for example.

[0056] Figure 3 This is a diagram showing an example of the functional configuration of the CPU 201 according to the first embodiment.

[0057] The CPU 201 includes a packet analyzing unit 301 , an authentication processing unit 302 , a link cost calculating unit 303 , a topology management unit 304 , a packet generating unit 305 , and a proxy function control unit 306 .

[0058] CPU201 receives input of a call packet (H packet: Hello packet) (also referred to as a "call message" or "call signal"), an authentication packet, and a normal packet. The H packet is sent from one node to the connected nodes simultaneously before the authentication process is performed in the communication system 1 (communication network). In addition, H packets are periodically sent or sent to adjacent nodes by each node to update path information (such H packets may also be referred to as "periodic signals"). An H packet may refer to a packet that notifies the existence of the node itself. For example, the H packet contains identification information of a mother machine in the network, information on the source of the H packet, information on adjacent nodes of the node itself, information on the communication quality of the link, and the like. An authentication packet is a packet that is sent and received during the authentication process, and a normal packet may be, for example, sensor data obtained by a sensor.

[0059] The packet analysis unit 301 analyzes the data structure of various input packets (H packets, authentication packets, and normal packets) to determine the type of the packets, and assigns the forwarding destination of the packets based on the determination result. For example, when the packet analysis unit 301 determines that the input packet is an H packet, the H packet is output to the link cost calculation unit 303. For example, when the packet analysis unit 301 determines that the input packet is an authentication packet, the authentication packet is output to the authentication processing unit 302. For example, when the packet analysis unit 301 determines that the input packet is a normal packet, the normal packet is output to the topology management unit 304.

[0060] When the node 100 is the slave 20, the packet analysis unit 301 of the slave 20 further operates as follows. The packet analysis unit 301 detects whether the master M10 has left the network based on whether the H packet is not received from the master M10 within a specified time. For example, when the H packet is not received from the master M10 within a specified time, the packet analysis unit 301 detects that the master M10 has left the network. Then, the packet analysis unit 301 outputs information indicating that the master M10 has left the network to the proxy master function control unit 306.

[0061] In the case where the node 100 is a proxy master, the packet analysis unit 301 of the proxy master further operates as follows. The packet analysis unit 301 detects whether the original master M10 has become a communicable state based on whether an H packet has been received from the original master M10. For example, in the case where an H packet has been received from the original master M10, the packet analysis unit 301 detects that the original master M10 has become a communicable state. Then, the packet analysis unit 301 outputs information indicating that the original master M10 has become a communicable state to the proxy master function control unit 306.

[0062] The packet analysis unit 301 is an example of a detection unit in the present disclosure.

[0063] The authentication processing unit 302 performs authentication processing with the node that sent the authentication packet using the authentication packet input from the packet analysis unit 301. The authentication processing unit 302 outputs the authentication packet generated during the authentication processing or the response to the authentication packet sent from another node to the topology management unit 304.

[0064] The link cost calculation unit 303 uses the H packet input from the packet analysis unit 301 to calculate the link cost indicating the reception quality of the H packet received by the node from the node of the transmission source. The link cost calculation unit 303 writes (stores) the calculation result of the link cost into the data structure of the H packet. In addition, the H packet also stores the value of each link cost when the H packet is sent from the master machine M10. The link cost calculation unit 303 outputs the H packet storing the calculation result of the link cost to the topology management unit 304.

[0065] The topology management unit 304 manages (acquires) topology information representing the topology generated by the master machine M10 (i.e., the nodes constituting the communication system 1 and their connection method), and based on the topology information, assigns the output destinations of various packets (e.g., the packet generation unit 305) and outputs them. The topology information is stored in the topology management unit 304 or the storage device 202 of each node. In addition, the topology management unit 304 causes the topology management unit 304 or the storage device 202 to store the communication paths, the nodes that can communicate (e.g., other nodes that can communicate directly, Figure 5B It should be noted that the topology management unit 304 of the master machine M10 generates (forms) a topology structure based on each link cost calculated by the link cost calculation unit 303 of the master machine M10 according to the H packets respectively sent from one or more nodes that become the authentication processing object, and provides the topology structure information representing the topology structure to other nodes.

[0066] The topology management unit 304 is an example of a determination unit in the present disclosure.

[0067] The packet generation unit 305 generates and outputs a packet for data communication, an H packet, etc., to another node as a transmission destination, based on the authentication packet or the normal packet input from the topology management unit 304 .

[0068] The proxy-master function control unit 306 performs control related to the situation where the slave 20 becomes the proxy-master, such as determining whether the slave 20 becomes the proxy-master, based on the position of the slave 20 in the relay path of the communication system 1. The proxy-master function control unit 306 performs different controls in the master M10, the slave 20, and the proxy-master.

[0069] When the child machine 20 determines to change from its own node to a proxy master machine based on the judgment of its own node, the proxy master machine function control unit 306 of the child machine 20 determines whether to change from its own node to a proxy master machine based on its own node information and adjacent node information after acquiring information indicating that the master machine M10 has left the network from the packet analysis unit 301. For example, the proxy master machine function control unit 306 of the child machine 20 determines whether a predetermined condition is satisfied based on its own node information and adjacent node information in the manner described below, thereby determining whether to change from its own node to a proxy master machine. In addition, when the proxy master machine function control unit 306 of the child machine 20 determines to change from its own node to a proxy master machine, it restarts its own node as a proxy master machine.

[0070] On the other hand, when the child machine 20 decides to change from its own node to a proxy master machine based on the instruction (notification) from the master machine M10, the proxy master machine function control unit 306 of the master machine M10 predetermines the child machine 20 that will become the proxy master machine when the master machine M10 leaves the network based on the topology information including the adjacent node information. Furthermore, the proxy master machine function control unit 306 of the master machine M10 sends (notifies) the following message (instruction) to the child machine 20 that has become the proxy master machine, which indicates that the child machine 20 that has become the proxy master machine when the master machine M10 leaves the network has become the proxy master machine. Therefore, the child machine 20 that has not received such a notification does not become the proxy master machine. The proxy master machine function control unit 306 of the child machine 20 that has received such a notification restarts the own node as the proxy master machine when deciding to change from its own node to the proxy master machine (when detecting that the master machine M10 has left the network).

[0071] When the proxy master function control unit 306 of the proxy master restarted in the above manner operates as a slave again (for example, after obtaining information indicating that the original master M10 has become communicable from the packet analyzer 301), it restarts its own node as a slave.

[0072] The proxy master function control unit 306 is an example of a determination unit in the present disclosure.

[0073] <Communication system operation>

[0074] Next, the common operation of the node 100 will be described.

[0075] [Authentication Process]

[0076] An example of the process of authentication processing performed between nodes (authentication processing performed between the master machine M10 and the slave machine 20) is described. This authentication processing is mainly performed by the respective authentication processing units 302. As a premise, the master machine M10 sends an H packet to the slave machine 20, and the slave machine 20 receives the H packet sent from the master machine M10.

[0077] The slave 20 issues an authentication packet including a join request frame to the master (master M10) of the network that it wants to join, and sends it to the master M10. After receiving the authentication packet sent from the slave 20, the master M10 sets a predetermined text string, generates an authentication packet, and sends it to the slave 20 as the request source (the slave 20 as the issuing source of the authentication packet).

[0078] The slave 20 encodes a predetermined text string included in the authentication packet sent from the master M10 using a unique key stored in advance in the storage device 202, etc., generates an authentication packet including the text string as the encoded output, and sends it to the master M10.

[0079] After receiving the authentication packet sent from the slave 20, the master M10 decodes the text string as the coded output contained in the authentication packet using the inherent key that is preset and stored in the storage device 202, etc. In addition, the master M10 determines whether the text string as the decoded output is consistent with the prescribed text string set in the above manner. When the master M10 determines that the text string as the decoded output is consistent with the prescribed text string (when it is determined that joining the network is allowed), the master M10 encodes the network key unique to the network using the inherent key and sends it to the slave 20.

[0080] The slave 20 uses the inherent key to decode the encoded network key sent from the master M10 and obtain the network key. By obtaining the network key, the slave 20 is officially authenticated as the data communication destination of the master M10. When the slave 20 performs data communication within the network, it uses the network key to perform encoding or decoding, thereby performing data communication.

[0081] It should be noted that although the authentication process is based on the 4-way handshake process specified in the HD-PLC (High Definition Power Line Communication) standard, the authentication process may also be based on other methods other than the above standard. For example, the authentication process may also be based on G.hn (Gigabit Home Networking), which is a unified standard for wired high-speed network communication technology, or Home Plug (Home Plug Power line Alliance), which is a power line carrier communication industry group.

[0082] [Topology generation (multi-hop formation) processing and multi-hop transmission]

[0083] Next, the topology generation and multi-hop transmission between the master machine M10 and the slave machine 20 are described.

[0084] The master machine M10 sends H packets to all nodes at the same time. It is assumed that only the slave machine 20 receives the H packets. In this way, the authentication process is performed between the master machine M10 and the slave machine 20. Thus, power transmission and data communication can be performed between the master machine M10 and the slave machine 20.

[0085] Next, the slave 20 simultaneously sends H packets to other nodes. If there is a node that receives the H packet in the group, the above authentication process is performed between the node and the master M10 via the slave 20, and as a result, data communication between the node and the master M10 via the slave 20 is possible, and power transmission between the slave 20 and the node is possible. The node also performs the same process.

[0086] [Actions related to the proxy server function]

[0087] The following describes the operation when the slave machine 20 becomes a substitute master machine, for example, when the master machine M10 fails.

[0088] Figure 4A This is a diagram showing an example of a topology before and after a master machine failure in the first embodiment.

[0089] Before the failure of the mother machine M10, as an example, Figure 4A As shown in (a), the subunit a1 20A1 and the subunit b1 20B1 are connected to the lower position of the master unit M10. In addition, the subunit a2 20A2 is connected to the lower position of the subunit a1 20A1, and the subunit a3 20A3 is connected to the lower position of the subunit a2 20A2. Similarly, the subunit a8 20A8 is connected to the lower position of the subunit a7 20A7. In addition, the subunit b2 20B2 is connected to the lower position of the subunit b1 20B1, and the subunit b3 20B3 is connected to the lower position of the subunit b2 20B2. Similarly, the subunit b10 20B10 is connected to the lower position of the subunit b9 20B9.

[0090] After the failure of the master machine M10, as an example, Figure 4A As shown in (b), the sub-machine a1 20A1 originally located at the first jump position becomes the proxy master. Moreover, the sub-machine b1 20B1 is connected to the lower level of the proxy master a1 20A1. The connection of the lower level side of the sub-machine a2 20A2 and the lower level side of the sub-machine b1 20B1 is not changed. In addition, the sub-machine b1 20B1 can also replace the sub-machine a1 20A1 and become the proxy master. In this way, by changing the sub-machine originally located at the first jump position to the proxy master, all nodes can join the new network without being restricted by the upper limit of the number of jumps.

[0091] Figure 4B FIG. 1 is a diagram showing an example of a topological configuration before and after a parent machine failure in a comparative example.

[0092] Before the failure of the mother machine M10, as an example, Figure 4B As shown, the master unit M10 and the slave unit 20 are Figure 4A (a) is connected in the same way.

[0093] On the other hand, after the failure of the master machine M10, it is not the slave machine originally located at the first jump position that becomes the proxy master machine, but a slave machine that becomes the proxy master machine is randomly selected. Figure 4B As shown in (b), the slave a2 20A2 originally located at the second jump position may become a proxy master. In this case, the proxy master a2 20A2 is connected to the slave a1 20A1, and the slave a1 20A1 is connected to the slave b1 20B1. The connection between the slave a3 20A3 and the slave b1 20B1 remains unchanged. Therefore, in this case, the slave b10 20B10 is restricted by the upper limit of the jump number and cannot join the network.

[0094] Next, a specific process will be described when the slave unit 20 originally located at the first jump position changes to a proxy master unit.

[0095] Figure 5A 1 is a diagram showing an example of a topological structure before a main machine failure and an example of a link cost in Implementation Example 1. Figure 5B This is a diagram showing an example of own node information and adjacent node information before a main machine fails in the first embodiment.

[0096] In the case that the master machine M10 is not faulty, for example, Figure 5A As shown, the link cost (LC) between the main machine M10 and the slave a1 20A1 is 20, the LC between the main machine M10 and the slave b1 20B1 is 20, and the LC between the main machine M10 and the slave c1 20C1 is 25. In addition, if the main machine M10 is not faulty, for example, Figure 5A As shown, the LC between the slave a1 20A1 and the slave b1 20B1 is 15, the LC between the slave a1 20A1 and the slave c1 20C1 is 10, and the LC between the slave a1 20A1 and the slave a2 20A2 is 10.

[0097] Each child node stores its own node information and the neighboring node information as described above in the storage device 202 or the topology management unit 304 of its own node in case the parent node leaves the network. Figure 5B Indicates this situation.

[0098] like Figure 5BAs shown in (a), as an example, the slave a1 20A1 stores its own node information 500A. The own node information 500A includes the own node ID indicating the identification information of the own node, the node category indicating whether the own node is a master or a slave, the LC indicating the communication quality of the own node up to the master (for example, the master M10) (the communication quality between the master and the own node), and the number of jumps of the own node (counted from the master). For example, the own node information 500A corresponds to Figure 5A The information shown shows that the own node ID is a1, the type of the own node is a slave, the LC of the own node up to the master node M10 is 20, and the hop number of the own node is 1.

[0099] In addition, if Figure 5B As shown in (b), as an example, the slave a1 20A1 stores adjacent node information 500B. The adjacent node information 500B includes information about nodes adjacent to the slave a1 20A1 as records. The adjacent node information 500B corresponds to, for example, Figure 5A The information shown includes four records of the adjacent nodes, namely, the mother machine M10, the child machine b1 20B1, the child machine c1 20C1, and the child machine a2 20A2. In addition, the adjacent node information 500B includes, for each adjacent node, an adjacent node ID representing the identification information of the adjacent node, a node category representing whether the adjacent node is a mother machine or a child machine, an LC representing the communication quality of the adjacent node up to its own node (the communication quality between its own node and the adjacent node), an LC representing the communication quality of the adjacent node up to the mother machine (for example, mother machine M10) (the communication quality between the mother machine and the adjacent node), and the number of jumps of the adjacent node (counted from the mother machine). For example, in Figure 5B The table (b) shows Figure 5A The values ​​shown. It should be noted that the information in the fifth column from the left and the sixth column from the left does not exist in the record of the master machine M10 (master machine). In addition, the information in the fifth column from the left does not exist in the record of the slave machine a2 20A2 (slave machine of the own node).

[0100] Each node can obtain or calculate by exchanging H packets between nodes Figure 5B The values ​​shown in the tables (a) and (b) are stored in the storage device 202 of the own node, for example. Furthermore, each slave 20 can refer to such own node information and adjacent node information to determine whether to change from its own node to a proxy master node when the master node M10 has left the network.

[0101] Specifically, in order for the slave machine 20 to become a proxy master machine, the following conditions must be satisfied.

[0102] The first condition is that the jump count is 1.

[0103] The second condition is that when there are multiple slaves 20 with a hop number of 1, the communication quality up to the master M10 is the best (for example, the LC up to the master M10 is the smallest). It should be noted that each slave 20 can grasp the communication quality (LC) of other slaves 20 at the first hop position based on the H packets periodically sent by the master M10.

[0104] The third condition is that when there are multiple sub-machines 20 with a jump number of 1 and there are multiple sub-machines 20 with the best communication quality up to the master machine M10, there is a node that waits for a random time based on a random number (hereinafter also referred to as "waiting time" or "waiting time") and sends a signal indicating that it has become a proxy master machine to other sub-machines 20 with a jump number of 1 (a node that has not received a signal indicating that it has become a proxy master machine from other sub-machines 20 with a jump number of 1 during the random waiting time (before sending the above signal).

[0105] For example, in Figure 5A and Figure 5B In the example shown, there are slave a1 20A1, slave b1 20B1, and slave c1 20C1, each of which has a hop number of 1. Then, among these slaves, the nodes with the best communication quality up to the master M10 are slave a1 20A1 and slave b1 20B1 (LC=20). Therefore, one of the slave a1 20A1 and the slave b1 20B1 becomes the proxy master.

[0106] Alternatively, the master machine M10 may refer to the communication path data table, topology table, etc. stored in the storage device 202 or the topology management unit 304, and determine the submachine 20 that becomes the proxy master machine based on the link quality (LC) between the master machine M10 and the submachine 20 at the first jump position (adjacent node 20) according to the above content, and regularly (send) a notification of this to the submachine. For example, the master machine M10 may determine the submachine 20 at the first jump position with the best (smallest) LC as the proxy master machine. In addition, for example, when there are multiple submachines 20 at the first jump position with the best (smallest) LC, the master machine M10 may randomly or based on a certain criterion (for example, communication performance) determine one submachine 20 from the multiple submachines 20 as the proxy master machine. It should be noted that the H packet may be used to periodically send (notify) from the master machine M10 to the slave machine 20 that has become a proxy master machine, or a dedicated message may be used to periodically send (notify) from the master machine M10 to the slave machine 20 that has become a proxy master machine. Such H packets and dedicated messages may also be referred to as "periodic signals".

[0107] The above-mentioned processing can be performed by the child machine 20 and the proxy-master machine function control unit 306 of the master machine M10.

[0108] It should be noted that, when a plurality of nodes have been activated as master machines or proxy master machines, the following processing may be performed to allow one node to function as a master machine or proxy master machine.

[0109] When the original master machine M10 recovers from a failure or the like and becomes in a communicable state, the proxy master machine that has received the H packet from the original master machine M10 restarts as a slave machine.

[0110] Furthermore, assuming that a plurality of slaves 20 have been restarted as proxy-masters, a proxy-master that receives an H packet from another proxy-master and detects the other proxy-master will restart as a slave.

[0111] It should be explained that Figure 5B The self-node information and neighboring node information shown may also be integrated into the same table.

[0112] Fig. 6A This is a flowchart showing an example of processing in which the slave 20 changes to a proxy master according to Embodiment 1. It is assumed that the slave 20 is a slave that has been authenticated with the master M10.

[0113] In step S601, the slave 20 executes a process for obtaining adjacent node information. An example of step S601 will be described later.

[0114] In step S602, the slave 20 (packet analysis unit 301) detects whether the master M10 has left the network based on, for example, whether an H packet originating from the master M10 has not been received within a predetermined time.

[0115] When the master machine M10 has not been disconnected from the network (step S602 : NO), the flow returns to step S601 .

[0116] On the other hand, if the master machine M10 has left the network (step S602: YES), in step S603, the slave machine 20 (proxy master machine function control unit 306) refers to Figure 5B The self-node information and adjacent node information shown are used to determine whether the hop number of the self-node is the minimum hop number (ie, 1).

[0117] When the number of jumps of the own node is not the minimum number of jumps (step S603: No), in step S609, the child machine 20 (authentication processing unit 302) performs authentication processing with the proxy mother machine that becomes a proxy mother machine by restarting other child machines 20 (or waits for authentication with a certain mother machine), and the process ends.

[0118] On the other hand, when the number of hops of the own node is the minimum number of hops (step S603: Yes), in step S604, the slave 20 (proxy master function control unit 306) refers to Figure 5B The self-node information and adjacent node information shown are used to determine whether the LC between the upper node (i.e., the master machine M10) and the self-node is optimal (minimum).

[0119] When the LC between the upper node and the node itself is not optimal (step S604: No), in step S609, the child machine 20 (authentication processing unit 302) performs authentication processing with the proxy mother machine that becomes a proxy mother machine by restarting other child machines 20 (or waits for authentication with a certain mother machine), and the process ends.

[0120] On the other hand, when the LC between the upper node and the own node is optimal (step S604: Yes), in step S605, the slave 20 (the proxy master function control unit 306) refers to Figure 5B The own node information and the adjacent node information shown are used to determine whether there is an adjacent node having the same LC with the upper node as the LC between the upper node and the own node.

[0121] When there is no adjacent node having the same LC with the upper node as the LC between the upper node and the own node (step S605: No), the flow proceeds to step S608 described below.

[0122] On the other hand, when there is an adjacent node having the same LC between the upper node and the own node (step S605: Yes), in step S606, the slave 20 waits for a random time (the waiting time determined by the proxy mother machine function control unit 306).

[0123] Next, in step S607, the slave 20 (packet analysis unit 301) determines whether a signal (H packet) indicating that the slave has become a proxy master has been received from an adjacent node.

[0124] When an H packet has been received from the neighboring node (step S607: Yes), in step S609, the slave 20 (authentication processing unit 302) performs authentication processing with the proxy master (or waits for authentication with a master), and the flow ends.

[0125] On the other hand, when no H packet is received from the neighboring node (step S607: No), in step S608, the slave 20 restarts as a proxy master, and the flow ends.

[0126] Next, refer to Figure 6B illustrate Fig. 6AAn example of the adjacent node information acquisition process in step S601. Figure 5B The values ​​shown in the table.

[0127] In step S651, the slave 20 (packet analysis unit 301) determines whether an H packet has been received.

[0128] In the case where the H packet has not been received (step S651: No), the flow proceeds to step S602.

[0129] On the other hand, when an H packet is received (step S651: yes), in step S652, the slave machine 20 (packet analysis unit 301 or topology management unit 304) determines whether the received H packet belongs to the original mother machine M10 (i.e., whether the original mother machine M10 is in a communicative state or a non-communicative state).

[0130] In the case of the original master machine M10 (step S652: Yes), in step S653, the slave machine 20 (topology management unit 304) records the LC between the slave node and the H packet transmission source node (referred to as "sending node") as adjacent node information based on the received H packet (refer to Figure 5B The fourth column from the left of the adjacent node information 500B).

[0131] In step S654, the slave 20 (topology management unit 304) records the number of hops of the sending node as adjacent node information based on the received H packet (see Figure 5B The sixth column from the left of the adjacent node information 500B).

[0132] In step S655, the slave 20 (packet analysis unit 301 or topology management unit 304) determines whether the H packet is received from the original master M10 (whether the sending node is the original master M10) based on the received H packet.

[0133] When an H packet is received from the original master machine M10 (step S655: Yes), in step S656, the slave machine 20 (topology management unit 304) records the LC between the original master machine M10 and its own node as its own node information and adjacent node information (refer to Figure 5B The third column from the left of the own node information 500A and the fourth column from the left of the adjacent node information 500B). Then, the process proceeds to step S602.

[0134] On the other hand, when no H packet is received from the original mother machine M10 (step S655: No), in step S657, the slave machine 20 (packet analysis unit 301 or topology management unit 304) determines whether the number of hops of the sending node is less than the number of hops of its own node based on the received H packet.

[0135] When the number of hops of the sending node is not less than the number of hops of the own node (step S657: No), the flow proceeds to step S602.

[0136] On the other hand, when the number of hops of the sending node is less than the number of hops of the own node (step S657: Yes), in step S658, the slave 20 (topology management unit 304) records the LC between the original master M10 and the sending node (adjacent node) as adjacent node information based on the received H packet (refer to Figure 5B The fifth column from the left of the adjacent node information 500B). Then, the process proceeds to step S602.

[0137] In step S652, when it does not belong to the original mother machine M10 (step S652: No), in step S659, the child machine 20 (packet analysis unit 301 or topology management unit 304) determines whether the H packet is received from the original mother machine M10 (for example, the original mother machine M10 after recovery from a failure) (whether the sending node is the original mother machine M10).

[0138] When an H packet is received from the original master machine M10 (step S659: Yes), in step S660, the slave machine 20 (authentication processing unit 302) performs authentication processing with the original master machine M10 (or waits for authentication with a certain master machine), and the flow proceeds to step S602.

[0139] On the other hand, in the case where the H packet has not been received from the original master machine M10 (step S659: No), the flow proceeds to step S602.

[0140] It should be noted that the order of step S653 and step S654 is not limited to the order shown in the figure. For example, step S654 may be performed first, or step S653 and step S654 may be performed in parallel.

[0141] Next, the operation when another slave unit 20 becomes a proxy master unit in the case where the slave unit has failed will be described.

[0142] Figure 7 This is a diagram showing an example of a topological structure before and after a failure of a slave unit according to the first embodiment.

[0143] Before the slave unit (for example, slave unit a2 20A2) fails, as an example, Figure 7 As shown in (a), the subunit a1 20A1 and the subunit b1 20B1 are connected to the lower position of the master unit M10. In addition, the subunit a2 20A2 is connected to the lower position of the subunit a1 20A1, and the subunit a3 20A3 is connected to the lower position of the subunit a2 20A2. Similarly, the subunit a8 20A8 is connected to the lower position of the subunit a7 20A7. In addition, the subunit b2 20B2 is connected to the lower position of the subunit b1 20B1, and the subunit b3 20B3 is connected to the lower position of the subunit b2 20B2. Similarly, the subunit b10 20B10 is connected to the lower position of the subunit b9 20B9.

[0144] After the failure of slave a2 20A2, as an example, Figure 7 As shown in (b), the slave a320A3 becomes the proxy master. This prevents the following situation, that is, one or more slaves on the lower side of the slave 20 that has been disconnected from the network due to a failure, etc. cannot function because they cannot receive control (instructions) from the master.

[0145] In this case, the slave 20 that becomes the proxy master may be any one of the slaves, and the proxy master may be determined as shown in the third condition. For example, when each slave 20 waits for a random time (waiting time) based on a random number after not receiving a regular H packet from the master M10 within a predetermined time due to a certain slave 20 leaving the network, and sends a signal indicating that it has become a proxy master to other slaves 20 (when no signal indicating that it has become a proxy master is received from other slaves 20 during the random waiting time (before sending the above signal), each slave 20 becomes a proxy master.

[0146] For example, when the original mother machine M10 is in a non-communicative state because one of the child machines 20 is disconnected from the network, and the other child machines 20 are not located at the first jump position from the mother machine M10, the proxy mother machine function control unit 306 of the other child machines 20 determines the standby time. If no signal indicating that the other child machines 20 have become the proxy mother machine is received from the other child machines 20 during the standby time, it is decided that the own node will become the proxy mother machine.

[0147] It should be noted that when the original master machine M10 has been disconnected from the network and the other slave machines 20 have become proxy master machines, in the case where the slave machine 20 has been disconnected from the network (for example, Fig. 6A In the case of waiting to be authenticated in step S609 after step S603), the same action can be performed. Figure 4A In the state shown in (b), when, for example, the slave a3 20A3 is disconnected from the network, for example, the slave a4 20A4 or the slave a5 20A5 can become another surrogate master.

[0148] Fig. 8A This is a flowchart showing an example of processing by another slave 20 to become a proxy master when the slave 20 of Embodiment 1 is disconnected from the network. It should be noted that it is assumed that the other slave 20 is waiting for authentication with a certain master and exists at the lower level of the slave 20 that has disconnected from the network.

[0149] In step S801, the slave 20 (packet analysis unit 301) determines whether the master unit has not been detected within a predetermined time based on whether an H packet transmitted from the master unit has not been received within a predetermined time.

[0150] When the master machine has not been detected (step S801: No), the flow returns to step S801.

[0151] On the other hand, when the master unit 20 is not detected within the predetermined time (step S801: Yes), in step S802, the slave unit 20 stands by for a random time.

[0152] Next, in step S803, the slave 20 (packet analysis unit 301) determines whether a signal (H packet) indicating that the slave has become a proxy master has been received from another node.

[0153] When an H packet has been received from another node (step S803: Yes), in step S805, the slave 20 (authentication processing unit 302) performs authentication processing with the proxy master (or waits for authentication with a master), and the flow ends.

[0154] On the other hand, when no H packet is received from other nodes (step S803: No), in step S804, the slave 20 restarts as a proxy master, and the flow ends.

[0155] Figure 8B This is a flowchart showing an example of processing for changing from a proxy master machine to a slave machine again in the first embodiment.

[0156] In step S851, the proxy master machine (packet analysis unit 301) determines whether an H packet has been received from the original master machine M10.

[0157] In the case where no H packet has been received from the original master machine M10 (step S851 : No), the flow returns to step S851 .

[0158] On the other hand, when an H packet is received from the original master machine M10 (step S851: Yes), in step S852, the proxy master machine restarts as a slave machine, and the flow ends.

[0159] <Effects of Embodiment 1>

[0160] The slave 20 of this embodiment is a communication device in the communication system 1 that performs multi-hop communication. The packet analysis unit 301 of the slave 20 detects that the master M10 in the communication system 1 is in a non-communicative state (has left the network). When the master M10 is in a non-communicative state, the proxy master function control unit 306 of the slave 20 determines whether to change its own node to a proxy master based on the position of its own node in the relay path (topology) of the communication system 1 (whether its own node is located at the first hop position from the master M10). According to this embodiment, the slave 20 originally located at the first hop position is changed to a proxy master, so that all nodes can join a new network without being restricted by the upper limit of the number of hops. As a result, when the master is out of the communication network, the communication network can be appropriately reconstructed.

[0161] (Implementation Method 2)

[0162] In the second embodiment, when the master machine has left the network, a certain slave machine located at the first hop position does not become a proxy master machine, but the master machine or a slave machine that satisfies a predetermined condition determines the slave machine as a candidate for a proxy master machine, and a certain slave machine among the candidate for a proxy master machine becomes a proxy master machine. Here, the predetermined condition may be a condition that, if it becomes a proxy master machine, it can relay (can reach other slave machines) within the upper limit of the number of jumps allowed (within ten jumps in this embodiment) in the relay path (topology) of the communication system performing multi-hop communication after the master machine becomes incommunicable. It should be noted that, hereinafter, the description of the same elements and operations as those in the first embodiment is omitted, and the different elements and operations are described.

[0163] <Node structure>

[0164] In the second embodiment, the processing of the proxy master function control unit 306 and the processing associated therewith are mainly different from those in the first embodiment. As described above, in the present embodiment, a child machine that satisfies the prescribed conditions becomes a candidate for a proxy master machine. Here, in the case where there are multiple child machines that satisfy the prescribed conditions, a mechanism is required to determine which child machine becomes a proxy master machine. Therefore, the proxy master function control unit 306 of the present embodiment determines which candidate proxy master machine among multiple candidate proxy master machines becomes a proxy master machine based on the standby time described above.

[0165] In the first example, the proxy master function control unit 306 may randomly determine the standby time.

[0166] In the second example, the proxy-master function control unit 306 can determine the waiting time from the list of predetermined waiting times according to the number of jumps (the position of the slave 20 in the relay path (topology) of the communication system 1). For example, the list of predetermined waiting times can be {x (seconds), y (seconds), z (seconds)} (x<y<z), and the proxy-master function control unit 306 can, for example, determine the waiting time to be x seconds for the slave at the first jump position, y seconds for the slave at the second jump position, and z seconds for the slave at the third jump position. Therefore, the farther the slave 20 is from the master M10 in the relay path, the longer the waiting time can be determined (set).

[0167] In the second example, when there are a plurality of slaves 20 with the same jump number, for example, the standby time may be set to be strong or weak (large or small) according to the (accumulated) LC from the slaves 20 to the master M10. For example, when x1<x2<y<z, the LC between the master M10 and the slave a1 20A1 at the first jump position is 20, and the LC between the master M10 and the slave b1 20B1 at the first jump position is 25, the proxy master function control unit 306 may determine the standby time to be x1 seconds for the slave a1 20A1 at the first jump position, and determine the standby time to be x2 seconds for the slave b1 20B1 at the first jump position.

[0168] It should be noted that in the first and second examples, based on the above content, the proxy-master function control unit 306 of the master machine M10 may determine the standby time for all the slave machines, or the proxy-master function control unit 306 of the slave machine may determine the standby time for its own node. The standby time may also be zero (seconds).

[0169] <Communication system operation>

[0170] [Actions related to the proxy server function]

[0171] The following describes the operation when the slave 20 becomes a substitute master machine, for example, when the master machine M10 fails.

[0172] Fig. 9 This is a diagram showing an example of a topological structure before and after a master machine failure in the second embodiment.

[0173] Before the failure of the mother machine M10, as an example, Fig. 9As shown in (a), the subunit a1 20A1 and the subunit b1 20B1 are connected to the lower position of the master unit M10. In addition, the subunit a2 20A2 is connected to the lower position of the subunit a1 20A1, and the subunit a3 20A3 is connected to the lower position of the subunit a2 20A2. Similarly, the subunit a8 20A8 is connected to the lower position of the subunit a7 20A7. In addition, the subunit b2 20B2 is connected to the lower position of the subunit b1 20B1, and the subunit b3 20B3 is connected to the lower position of the subunit b2 20B2. Similarly, the subunit b10 20B10 is connected to the lower position of the subunit b9 20B9.

[0174] After the failure of the master machine M10, as an example, Fig. 9 As shown in (b), a candidate surrogate master, that is, a slave b2 20B2 that satisfies the specified conditions, becomes a surrogate master. Moreover, the surrogate master b2 20B2 is connected to slave b1 20B1 and slave b3 20B3. In addition, the slave b1 20B1 is connected to slave a1 20A1. The connections of the slave a1 20A1 and the slave b3 20B3 are not changed. As a result, all nodes can join the new network without being restricted by the upper limit of the number of jumps.

[0175] Fig.10 This is a flowchart showing an example of processing in which the slave 20 changes to a proxy master according to Embodiment 2. It is assumed that the slave 20 is a slave that has been authenticated with the master M10.

[0176] In step S601, the slave 20 executes a neighboring node information acquisition process. Figure 6B Explained.

[0177] In step S602, the slave 20 (packet analysis unit 301) detects whether the master M10 has left the network.

[0178] When the master machine M10 has not been disconnected from the network (step S602 : NO), the flow returns to step S601 .

[0179] On the other hand, if the master machine M10 has left the network (step S602: Yes), in step S1001, the slave machine 20 (the proxy master machine function control unit 306) Fig.11A (For example, refer to step S1102), Fig. 11B (For example, refer to step S1152), etc., to determine whether the own node is a candidate proxy host.

[0180] When the node itself is not a candidate proxy mother machine (step S1001: No), in step S609, the child machine 20 (authentication processing unit 302) performs authentication processing with the proxy mother machine that becomes a proxy mother machine by restarting other child machines 20 (or waits for authentication with a certain mother machine), and the process ends.

[0181] On the other hand, if the own node is a candidate for a proxy master (step S1001: Yes), in step S1002, the slave 20 waits for a waiting time. Fig.11A and Fig. 11B Describe the decision on standby time.

[0182] Next, in step S1003, the slave 20 (packet analysis unit 301) determines whether or not a signal (H packet) indicating that the slave has become a proxy master has been received from another candidate proxy master.

[0183] When an H packet is received from another candidate proxy master machine (step S1003: Yes), in step S609, the slave machine 20 (authentication processing unit 302) performs authentication processing with the proxy master machine (or waits for authentication with a master machine), and the flow ends.

[0184] On the other hand, when no H packet is received from other candidate proxy master machines (step S1003: No), in step S608, the slave machine 20 is restarted as a proxy master machine, and the flow ends.

[0185] Fig.11A This is a flowchart showing an example of the process of determining the waiting time according to the second embodiment. In this example, the master machine M10 executes according to the second example described above. Fig.11A Processing shown.

[0186] In step S1101 , the master machine M10 (topology management unit 304 ) acquires (or calculates) topology information.

[0187] In step S1102, the master machine M10 (the proxy master machine function control unit 306) determines a proxy master machine candidate based on the acquired topology information and whether or not a predetermined condition is satisfied.

[0188] In step S1103, the master machine M10 (topology management unit 304) obtains (or calculates) the LC of each determined candidate proxy master machine.

[0189] In step S1104, the master machine M10 (the proxy master machine function control unit 306) determines the waiting time of each of the determined proxy master machine candidates in the above-described manner based on the acquired LC.

[0190] In step S1105, the master machine M10 (communication device 203) transmits the determined waiting time to each candidate proxy master machine.

[0191] In the case of the first example, after step S1102, the master machine M10 (the proxy master machine function control unit 306) may randomly determine the waiting time of each candidate proxy master machine and transmit the determined waiting time to each candidate proxy master machine.

[0192] Through the above processing, Fig.10 In step S1002, the slave unit 20 that satisfies the predetermined condition waits for the waiting time received from the master unit M10.

[0193] Fig. 11B is a flowchart showing an example of the process of determining the waiting time in the second embodiment. In this example, the slave 20 executes the second example described above. Fig. 11B Processing shown.

[0194] In step S1151, the slave 20 (topology management unit 304) acquires topology information.

[0195] In step S1152, the slave 20 (the proxy master function control unit 306) determines whether its own node is a proxy master candidate based on the acquired topology information.

[0196] In step S1153, the slave 20 (topology management unit 304) obtains the LCs of other candidate surrogate master machines.

[0197] In step S1154, the slave 20 (proxy master function control unit 306) determines the waiting time of its own node based on the LC of its own node and the LCs of other candidate proxy masters. It is assumed that the list of predetermined waiting times is notified to each slave 20 by the master M10, for example.

[0198] In the case of the first example, after step S1152, the slave 20 (the proxy-master function control unit 306) may randomly determine the standby time of its own node.

[0199] Through the above processing, Fig.10 In step S1002, the slave 20 that satisfies the predetermined condition waits for a waiting time determined by the own node.

[0200] <Effects of Embodiment 2>

[0201] The slave 20 of the present embodiment is a communication device in the communication system 1 that performs multi-hop communication. The packet analysis unit 301 of the slave 20 detects that the master M10 in the communication system 1 is in a non-communicable state (has been disconnected from the network). When the master M10 is in a non-communicable state, the proxy master function control unit 306 of the slave 20 determines whether to change from its own node to a proxy master based on the position of its own node in the relay path (topology) of the communication system 1. More specifically, the proxy master function control unit 306 of the slave 20 determines whether to change from its own node to a proxy master based on whether the position of the slave 20 is a position that can relay to another slave 20 located at the lowest position from the slave 20 within the upper limit of the number of hops allowed in the relay path of the communication system for multi-hop communication after the master M10 becomes non-communicable if the slave 20 becomes a proxy master. According to this embodiment, the slave 20 located at the above position becomes a proxy master, so that all nodes can join the new network without being restricted by the upper limit of the number of jumps. Thus, when the master leaves the communication network, the communication network can be properly restructured.

[0202] It should be noted that in the above-mentioned embodiments 1 and 2, even if the original mother machine M10 has been disconnected from the network, each sub-machine 20 will be able to restore to the original topology (or recalculate LC to change the topology) when the original mother machine M10 recovers from a failure and becomes a communicative state, because the identification information of the original mother machine M10 is pre-stored.

[0203] In the above-mentioned first and second embodiments, the functional unit of the CPU 201 may be appropriately integrated with other functional units, or may be divided into two or more sub-functional units.

[0204] In addition, in the above-mentioned Embodiment 1 and Embodiment 2, the order of the steps shown in the flowcharts and the like is not limited to the order shown in the drawings.

[0205] In the above-mentioned Embodiments 1 and 2, when the proxy master machine is disconnected from the network due to a failure or the like, another proxy master machine can be determined in the same manner as the determination of the above-mentioned proxy master machine. Therefore, the "(original) master machine M10" described above can be appropriately replaced with "proxy master machine", and the "proxy master machine" described above can be appropriately replaced with "another proxy master machine".

[0206] In the above-mentioned Embodiment 1 and Embodiment 2, the sub-machines that can become the proxy master machine, for example, when the node is located at the first jump position or when the prescribed condition is satisfied, may be all the sub-machines, or may be limited (or may be some of the sub-machines). For example, a node that can be connected to the Internet is an example of a sub-machine that can become the proxy master machine when the node is located at the first jump position or when the prescribed condition is satisfied. For example, each node may include information (for example, a flag) indicating that the node itself can become the proxy master machine (or can also become the proxy master machine) in the H packet according to whether the node can be connected to the Internet, for example, and exchange the information between the nodes, thereby notifying whether the node itself can become the proxy master machine (or whether it can also become the proxy master machine).

[0207] <Summary of implementation methods>

[0208] A communication device according to an embodiment of the present disclosure is a communication device in a communication system that performs multi-hop communication, and includes: a detection unit for detecting a situation where a master machine in the communication system is in a non-communicative state; and a decision unit for deciding whether to change the communication device into a proxy master machine based on the position of the communication device in a relay path of the communication system when the master machine is in a non-communicative state.

[0209] In the present communication device, when the master machine is in a non-communicative state, the position of the communication device is the first jump position from the master machine, and other communication devices in the communication system are located at the first jump position from the master machine, the decision unit decides whether to change the communication device to the proxy master machine based on the first communication quality between the master machine and the communication device and the second communication quality between the master machine and the other communication devices.

[0210] In the present communication device, when the mother machine is in a non-communicative state, the position of the communication device is the first jump position from the mother machine, the other communication device is located at the first jump position from the mother machine, and the first communication quality is the same as the second communication quality, the decision unit determines a standby time, and if a signal indicating that the other communication device has become a proxy mother machine is not received from the other communication device during the standby time, it is decided that the communication device will become the proxy mother machine.

[0211] In the communication device, when the master station is in a communication-incapable state and the communication device and other communication devices in the communication system are located at the following positions, the determination unit determines a standby time, and determines that the communication device changes to the surrogate master station if a signal indicating that the other communication device changes to the surrogate master station is not received from the other communication device during the standby time, the communication device is located at a position where, if the communication device changes to the surrogate master station, the communication device can relay to a communication device located at the lowest position from the communication device within an upper limit of the number of hops allowed in a second relay path of a second communication system for second multi-hop communication after the master station becomes in a communication-incapable state, and other communication devices in the communication system are located at a position where, if the other communication device changes to the surrogate master station, the other communication devices can relay to a communication device located at the lowest position from the other communication devices within an upper limit of the number of hops allowed in a third relay path of a third communication system for third multi-hop communication after the master station becomes in a communication-incapable state.

[0212] In the communication device, the determination unit randomly determines the waiting time.

[0213] In the communication device, the determination unit determines the waiting time based on a position of the communication device in the relay path.

[0214] In the communication device, when the detection unit does not receive the periodic signal from the master unit within a predetermined time, it is detected that the master unit is in a non-communicable state.

[0215] In the present communication device, when the master machine is in a non-communicative state and the position of the communication device is not the first jump position from the master machine, the decision unit determines a standby time, and if no signal indicating that the other communication device has become a proxy master machine is received from other communication devices in the communication system during the standby time, it is decided that the communication device will become the proxy master machine.

[0216] In a communication control method of one embodiment of the present disclosure, a communication device in a communication system performing multi-hop communication performs the following processing: detecting a situation where a mother machine in the communication system is in a non-communicative state; and when the mother machine is in a non-communicative state, deciding whether the communication device should be changed into a proxy mother machine based on the position of the communication device in a relay path of the communication system.

[0217] A communication system according to an embodiment of the present disclosure is a communication system for performing multi-hop communication, and performs the following processing: determining a candidate proxy mother machine from child machines constituting the communication system based on a relay path of the communication system; and determining a proxy mother machine from the candidate proxy mother machines when a mother machine in the communication system becomes incommunicable, the candidate proxy mother machine satisfying the following condition, namely, if the candidate proxy mother machine becomes the proxy mother machine, then in a second relay path of a second communication system performing second multi-hop communication after the mother machine becomes incommunicable, the candidate proxy mother machine can relay the child machines other than the candidate proxy mother machine within an upper limit of an allowed number of hops.

[0218] In the above-mentioned embodiments, the expression “…part” used in each structural element may also be replaced by other expressions such as “…circuitry”, “…component”, “…device”, “…unit” or “…module”.

[0219] Although the embodiments are described above with reference to the accompanying drawings, the present disclosure is not limited to this example. As long as one is skilled in the art, it is obvious that various variations or modifications can be thought of within the scope of the claims. It should be understood that these variations or modifications also belong to the technical scope of the present disclosure. In addition, the various structural elements in the embodiments can be arbitrarily combined within the scope of the present disclosure.

[0220] The present disclosure can be implemented by software, hardware or software in cooperation with hardware. Each functional block used in the description of the above-mentioned embodiments is partially or entirely implemented as an LSI (Large Scale Integration) as an integrated circuit, and each process described in the above-mentioned embodiments may also be partially or entirely controlled by an LSI or a combination of LSIs. LSI may be composed of individual chips, or may be composed of one chip in a manner that includes part or all of the functional blocks. LSI may also include input and output of data. LSI may also be referred to as "IC (Integrated Circuit)", "System LSI", "Super LSI", "Ultra LSI" depending on the degree of integration.

[0221] The method of integrated circuitization is not limited to LSI, and can also be implemented by a dedicated circuit, a general-purpose processor or a dedicated processor. In addition, an FPGA (Field Programmable Gate Array) that can be programmed after LSI manufacturing, or a reconfigurable processor (Reconfigurable Processor) that can reconfigure the connection or setting of the circuit block inside the LSI can also be used. The present disclosure can also be implemented as digital processing or analog processing.

[0222] Furthermore, if integrated circuit technology that replaces LSI emerges as semiconductor technology advances or other technologies are derived, it is of course possible to use this technology to achieve integration of functional blocks. There is also the possibility of applying biotechnology, etc.

[0223] The present disclosure can be implemented in all kinds of devices, equipment, and systems (collectively referred to as "communication devices") with communication functions. The communication device may also include a wireless transceiver and a processing / control circuit. The wireless transceiver may also include a receiving unit and a transmitting unit, or perform the functions of these parts. The wireless transceiver (transmitting unit, receiving unit) may also include an RF (Radio Frequency) module and one or more antennas. The RF module may also include an amplifier, an RF modulator / demodulator, or a device similar to these. Non-limiting examples of communication devices include: phones (mobile phones, smart phones, etc.), tablets, personal computers (PCs) (laptops, desktops, notebook computers, etc.), cameras (digital cameras, digital video cameras, etc.), digital players (digital audio / video players, etc.), wearable devices (wearable cameras, smart watches, tracking devices, etc.), game consoles, e-book readers, telehealth / telemedicine (telehealth / medical prescription) equipment, vehicles or transportation vehicles with communication functions (cars, airplanes, ships, etc.), and combinations of the above-mentioned various devices.

[0224] Communication devices are not limited to portable or movable devices, but also include all kinds of devices, equipment, and systems that cannot be carried or fixed. For example, they include: smart home devices (home appliances, lighting equipment, smart meters or meters, control panels, etc.), vending machines, and all other "things" that can exist on the IoT (Internet of Things) network.

[0225] The communication includes data communication performed by a cellular system, a wireless LAN (Local Area Network) system, a communication satellite system, etc., and also includes data communication performed by a combination of these systems.

[0226] In addition, the communication device also includes devices such as controllers or sensors connected or linked to the communication device that performs the communication function described in the present invention. For example, it includes a controller or sensor that generates a control signal or data signal used by the communication device that performs the communication function of the communication device.

[0227] In addition, the communication device includes infrastructure equipment that communicates with the above-mentioned non-limiting various devices or controls the above-mentioned various devices, such as base stations, access points, and all other devices, equipment, and systems.

[0228] The disclosed contents of the specification, drawings, and abstract contained in the Japanese patent application No. 2022-156638 filed on September 29, 2022 are incorporated herein by reference in their entirety.

[0229] Industrial Applicability

[0230] One embodiment of the present disclosure is useful for a multi-hop communication system.

[0231] Description of Reference Numerals

[0232] 1. Communication System

[0233] 10Mother Machine

[0234] 20 Handset

[0235] 100 nodes

[0236] 201CPU

[0237] 202 Storage device

[0238] 203 Communication devices

[0239] 204 Equipment interface device

[0240] 301 Group Analysis Department

[0241] 302 Authentication Processing Department

[0242] 303 Link Cost Calculation Department

[0243] 304 Topology Management Department

[0244] 305 Grouping Generation Unit

[0245] 306 Proxy host function control unit

[0246] 500A own node information

[0247] 500B Neighboring node information

Claims

1. A communication device, which is a communication device in a communication system performing multi-hop communication, wherein the communication device is characterized in that it includes: A detection unit, configured to detect that a master unit in the communication system is in a non-communicative state; as well as The decision unit determines whether the communication device should become a proxy master device based on a position of the communication device in a relay path of the communication system when the master device is in a non-communicable state.

2. The communication device according to claim 1, wherein: When the master machine is in a non-communicative state, the position of the communication device is the first jump position from the master machine, and other communication devices in the communication system are located at the first jump position from the master machine, the decision unit decides whether to change the communication device to the proxy master machine based on a first communication quality between the master machine and the communication device and a second communication quality between the master machine and the other communication devices.

3. The communication device according to claim 2, wherein: When the master machine is in a non-communicative state, the position of the communication device is the first jump position from the master machine, the other communication device is located at the first jump position from the master machine, and the first communication quality is the same as the second communication quality, the decision unit determines a standby time, and if a signal indicating that the other communication device becomes a proxy master machine is not received from the other communication device during the standby time, it is decided that the communication device becomes the proxy master machine.

4. The communication device according to claim 1, wherein: The determination unit determines a standby time, and determines that the communication device will become the surrogate master device if a signal indicating that the other communication device will become the surrogate master device is not received from the other communication device during the standby time, when the master device is in a non-communicable state and the communication device and other communication devices in the communication system are respectively located at the following positions, wherein the communication device is located at a position where, if the communication device becomes the surrogate master device, the communication device can relay to a communication device located at the lowest position from the communication device within an upper limit of an allowed number of hops in a second relay path of a second communication system for second multi-hop communication after the master device becomes non-communicable state, and the other communication devices in the communication system are located at a position where, if the other communication device becomes the surrogate master device, the other communication devices can relay to a communication device located at the lowest position from the other communication devices within an upper limit of an allowed number of hops in a third relay path of a third communication system for third multi-hop communication after the master device becomes non-communicable state, and wherein the other communication devices in the communication system are located at a position where, if the other communication device becomes the surrogate master device, the other communication devices can relay to a communication device located at the lowest position from the other communication devices within an upper limit of an allowed number of hops in a third relay path of a third communication system for third multi-hop communication after the master device becomes non-communicable state.

5. The communication device according to claim 4, wherein: The determination unit randomly determines the waiting time.

6. The communication device according to claim 4, wherein: The determination unit determines the waiting time based on a position of the communication device in the relay path.

7. The communication device according to claim 1, wherein: When the detection unit does not receive the periodic signal from the master device within a predetermined time, it detects that the master device is in a non-communicable state.

8. The communication device according to claim 1, wherein: When the master machine is in a non-communicative state and the position of the communication device is not the first jump position from the master machine, the decision unit determines a standby time, and if no signal indicating that the other communication device has become a proxy master machine is received from other communication devices in the communication system during the standby time, it is decided that the communication device will become the proxy master machine.

9. A communication control method, characterized in that: The communication device in the communication system performing multi-hop communication performs the following processing: Detecting that a master unit in the communication system is in a non-communicative state; and When the master device is in a non-communicable state, whether the communication device becomes a proxy master device is determined based on the position of the communication device in the relay path of the communication system.

10. A communication system, which is a communication system for performing multi-hop communication, wherein the communication system is characterized in that the following processing is performed: determining a candidate proxy master from slaves constituting the communication system based on a relay path of the communication system; and When a master station in the communication system becomes incommunicable, determining a surrogate master station from among the candidate surrogate master stations, The candidate proxy master machine satisfies the following condition, that is, if the candidate proxy master machine becomes the proxy master machine, the candidate proxy master machine can relay the child machines other than the candidate proxy master machine within the allowed upper limit of the number of hops in the second relay path of the second communication system of the second multi-hop communication after the master machine becomes in an uncommunicable state.

Citation Information

Patent Citations

  • Sending communication device and communication device

    JP2020036316A

  • Hydraulic / mechanical stepless gear shift device

    JP2022156638A