WO2017056406A1 - 通信装置、マルチホップ通信システム、及び、通信方法 - Google Patents
通信装置、マルチホップ通信システム、及び、通信方法 Download PDFInfo
- Publication number
- WO2017056406A1 WO2017056406A1 PCT/JP2016/004092 JP2016004092W WO2017056406A1 WO 2017056406 A1 WO2017056406 A1 WO 2017056406A1 JP 2016004092 W JP2016004092 W JP 2016004092W WO 2017056406 A1 WO2017056406 A1 WO 2017056406A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- unit
- communication
- hello packet
- activation
- information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
- H04W84/20—Master-slave selection or change arrangements
Definitions
- the present invention relates to a multi-hop communication system, and a communication device and a communication method used in the multi-hop communication system.
- Patent Document 1 discloses a method for constructing an encryption key in a multi-hop communication network.
- a slave unit that communicates with a master unit using another slave unit as a relay station cannot directly know the operation state of the master unit. For example, in a system in which the encryption key is changed each time the master unit is started, the slave unit uses the encryption key before the change even though the master unit is restarted and the encryption key is changed. May end up trying.
- the present invention provides a multi-hop communication system in which the slave unit can easily know the operation state of the master unit, and a communication device and a communication method used in the multi-hop communication system.
- a communication device is a communication device that operates as a parent device included in a multi-hop communication system, and transmits a Hello packet to at least one child device included in the multi-hop communication system. And a control unit that includes activation number information indicating a cumulative activation number of the communication device in the Hello packet and transmits the information to the communication unit.
- a communication apparatus is a communication apparatus that operates as a slave unit included in a multi-hop communication system, and includes activation number information indicating a cumulative activation number of a parent unit included in the multi-hop communication system.
- a communication unit that receives a Hello packet, a storage unit, and a control unit that stores the activation number information included in the received Hello packet in the storage unit and performs information processing using the stored activation number information With.
- a multi-hop communication system is a multi-hop communication system, and includes a master unit and a slave unit, and the master unit includes a first communication unit that transmits a Hello packet to the slave unit; And a first control unit that causes the first communication unit to transmit the number-of-starts information indicating the cumulative number of times the base unit has been started to be transmitted to the first communication unit, and the slave unit includes a Hello packet that includes the number-of-starts information.
- a second communication unit for receiving, a storage unit, and a second control unit for storing the activation number information included in the received Hello packet in the storage unit.
- a communication method is a communication method executed by a multi-hop communication system, wherein the multi-hop communication system includes a parent device and a child device, and the parent device is a device of the parent device.
- the start count information indicating the cumulative start count is included in the Hello packet and transmitted, and the slave receives the Hello packet including the start count information, and the start count information included in the received Hello packet is It memorize
- a program according to an aspect of the present invention is a program for causing a computer to execute the communication method.
- the slave unit can easily know the operating state of the master unit.
- FIG. 1 is a block diagram illustrating a functional configuration of a multi-hop communication system according to an embodiment.
- FIG. 2 is a diagram illustrating an example of the format of the sub message.
- FIG. 3 is a diagram illustrating an example of a format of attribute information.
- FIG. 4 is an example of attribute information used as activation count information.
- FIG. 5 is a sequence diagram showing an operation example 1 of the multi-hop communication system according to the embodiment.
- FIG. 6 is a flowchart of the activation number determination process.
- FIG. 7 is a flowchart of activation number determination processing according to the modification.
- FIG. 8 is a sequence diagram showing an operation example 2 of the multi-hop communication system according to the embodiment.
- FIG. 9 is a sequence diagram illustrating an operation example 3 of the multi-hop communication system according to the embodiment.
- FIG. 1 is a block diagram showing a functional configuration of a multi-hop communication system.
- the slave unit 20 a among the plurality of slave units is illustrated in detail, and the slave unit 20 a will be mainly described below, but other slave units included in the multihop communication system 100 are illustrated.
- the slave units 20b and 20c have the same configuration as the slave unit 20a.
- the multi-hop communication system 100 includes a parent device 10 and a plurality of child devices including a child device 20a, a child device 20b, and a child device 20c.
- mobile_unit with which the multihop communication system 100 is provided is not specifically limited.
- a master-slave type communication network having a tree type topology is used.
- the parent device 10 manages routes (route information) to each of a plurality of child devices, and each of the plurality of child devices manages at least a route to the parent node.
- routes route information
- each of the plurality of child devices manages at least a route to the parent node.
- one end of a route through which data is transmitted is the parent device 10
- the other end of the route through which data is transmitted is one of a plurality of child devices.
- Base unit 10 is an example of a communication device that operates as a base unit included in multihop communication system 100, and includes first communication unit 11, first control unit 12, and first storage unit 13.
- the parent device 10 acquires (aggregates) data from a plurality of child devices included in the multi-hop communication system 100 and manages the data.
- the 1st communication part 11 is a communication interface for communicating with the 2nd communication part 21 with which a subunit
- the first communication unit 11 is a communication module (communication circuit).
- the first communication unit 11 transmits a Hello packet to at least one child device (for example, the child device 20a) included in the multi-hop communication system 100 based on the control of the first control unit 12, for example.
- a Hello packet is a packet (signal) that is broadcasted at predetermined intervals in order to notify other communication devices that the communication device that transmits the Hello packet is in a communicable state (alive). It is.
- the predetermined period is, for example, 10 s (seconds). Note that the first Hello packet is transmitted 100 ms after the activation, for example, after the activation of the parent device 10.
- the Hello packet is broadcasted not only by the communication device operating as the parent device 10 but also by the communication device operating as the child device.
- the Hello packet includes an identifier of a transmission source communication device or route information (the number of hops and an identifier of a communication device that passes through) from the communication device that operates as the base unit 10 to the transmission source communication device. It is also used for route construction or communication route change.
- the identifier of the communication device is used as the ID of the communication device and the address for communication.
- the ID and address of the communication device may be provided separately.
- the identifier of the communication device is, for example, a MAC address.
- the communication performed by the first communication unit 11 and the second communication unit 21 may be any wired or wireless communication, and is not particularly limited.
- the first communication unit 11 and the second communication unit 21 perform power line communication (PLC: Power Line Communication), but may perform wired communication using a wired LAN.
- PLC Power Line Communication
- the first communication unit 11 and the second communication unit 21 are wireless devices that use communication standards such as specific low power wireless, ZigBee (registered trademark), Bluetooth (registered trademark), or Wi-Fi (registered trademark). Communication may be performed.
- the 1st control part 12 is a control apparatus which controls the 1st communication part 11, for example, receives data from the subunit
- the 1st control part 12 makes the 1st communication part 11 transmit the Hello packet containing the starting frequency information mentioned later, the encryption key mentioned later, etc.
- the first control unit 12 is a processor that executes a control program stored in the first storage unit 13, but may be realized by a microcomputer, a dedicated circuit, or the like.
- the first storage unit 13 is a storage device that stores a control program executed by the first control unit 12 and route information from the parent device 10 to each of a plurality of child devices included in the multi-hop communication system 100. .
- the first storage unit 13 also stores activation number information and an encryption key in the first storage unit 13.
- the first storage unit 13 is realized by, for example, a semiconductor memory.
- the above-described activation count information is information indicating the cumulative activation count of the base unit 10.
- the number-of-starts information is, for example, a numerical value (count value) that is incremented by +1 every time the base unit 10 is started, but is decremented by -1 each time the base unit 10 is started. It may be a numerical value.
- the start count information may be any information as long as it indicates the cumulative start count of the base unit 10.
- the above encryption key is used for communication with each of a plurality of slave units.
- the encryption key is used for data encryption in communication with a plurality of slave units.
- one encryption key is generated for a plurality of slave units, and is changed (updated) every time the master unit 10 is activated.
- one encryption key may be generated for each of the plurality of slave units.
- the first storage unit 13 stores the identifier of the slave unit and the encryption key of the slave unit in association with each other.
- mobile_unit 20a is an example of the communication apparatus which operate
- the 2nd communication part 21 is a communication interface for communicating with the 2nd communication part 21 with which the 1st communication part 11 or another subunit
- the second communication unit 21 is the same type of communication module (communication circuit) as the first communication unit 11.
- the second communication unit 21 transmits a Hello packet based on the control of the second control unit 22.
- the 2nd communication part 21 receives the Hello packet containing the starting frequency information which shows the cumulative frequency
- the 2nd control part 22 is a control apparatus which controls the 2nd communication part 21, for example, makes the 2nd communication part 21 transmit data, a Hello packet, etc.
- the second control unit 22 is a processor that executes a control program stored in the second storage unit 23, but may be realized by a microcomputer, a dedicated circuit, or the like.
- the second storage unit 23 is a storage device that stores a control program executed by the second control unit 22, an adjacent node table, an encryption key received by the second communication unit 21, and activation count information.
- the second storage unit 23 is realized by, for example, a semiconductor memory.
- the first control unit 12 of the base unit 10 causes the first communication unit 11 to transmit the startup count information indicating the cumulative startup count of the base unit 10 in the Hello packet.
- the slave unit 20a that has received such a Hello packet can know the cumulative number of activations of the master unit 10. That is, the slave unit 20a can easily know the operation state of the master unit 10.
- the second control unit 22 of the child device 20 a further stores the activation number information included in the Hello packet received by the second communication unit 21 in the second storage unit 23.
- the second control unit 22 stores the first activation number information included in the Hello packet received after storing the activation number information, and the second activation number information stored in the second storage unit 23. It is possible to determine whether or not the parent device 10 has been restarted.
- the cumulative number of activations may be newly specified as, for example, a MASTER INFO submessage, which is a submessage for notifying information related to the parent device 10 (MASTER).
- the format of the attribute information of the sub message is TLV (Type-Length-Value), so that the sub message can be extended.
- FIG. 2 is a diagram illustrating an example of the format of the sub message.
- the sub-message type is stored in the 1-byte field from the top of the sub-message. For example, “10” is stored as the type corresponding to the MASTER INFO submessage.
- the next 1-byte field stores the length of the sub message (the length from the sub message type to the attribute).
- Various attribute information is stored after the length of the sub message.
- the attribute information has a variable length.
- FIG. 3 is a diagram illustrating an example of a format of attribute information.
- the attribute information type is stored in a 1-byte field from the top of the attribute information.
- the next 1-byte field stores the length of the attribute information (the length from the attribute information type to the value).
- a value is stored after the length of the attribute information. This value is variable length.
- activation number information may be defined as shown in FIG. FIG. 4 is an example of attribute information used as activation count information.
- the activation number information may be defined as a 2-byte length value (0 or more and 65535 or less) whose attribute information type is “1”, for example. This value indicates the cumulative number of activations, and returns to 0 when the cumulative number of activations exceeds 65535.
- FIG. 5 is a sequence diagram showing an operation example 1 of the multi-hop communication system 100.
- the child device 20a is a child device that can directly communicate with the parent device 10
- the child device 20b is a child device that can communicate with the parent device 10 by relaying the child device 20a.
- the child device 20a is a child device that can directly communicate with the parent device 10
- the child device 20b is a child device that can communicate with the parent device 10 by relaying the child device 20a.
- each of the parent device 10, the child device 20a, and the child device 20b is activated (S11 to S13).
- the first control unit 12 of the parent device 10 increments the activation count information from 0 to 1 and stores it in the first storage unit 13.
- the first control unit 12 of the parent device 10 generates the encryption key A (S14), and stores the generated encryption key A in the first storage unit 13.
- the encryption key A is used for communication between the parent device 10 and a plurality of child devices.
- the identifier of the parent device 10 is included as information indicating the transmission source.
- the second control unit 22 of the child device 20a performs an authentication process for acquiring the encryption key A (S17).
- the second communication unit 21 of the child device 20a transmits an authentication request including the identifier of the child device 20a as authentication information to the first communication unit 11. If the 1st communication part 11 receives the authentication request
- the 1st control part 12 reads the encryption key A from the 1st memory
- mobile_unit 20a memorize
- stores the starting frequency information (cnt 1) contained in the Hello packet which the 2nd communication part 21 received in step S16 in the 2nd memory
- the second control unit 22 of the child device 20b performs an authentication process for acquiring the encryption key A used for communication with the parent device 10 from the parent device 10 (S21).
- the second communication unit 21 of the child device 20b transmits an authentication request including the identifier of the child device 20b as authentication information to the second communication unit 21 of the child device 20a.
- An authentication request is transmitted to the 1st communication part 11 by the relay of the subunit
- the first control unit 12 When the first communication unit 11 receives the authentication request of the child device 20b, the first control unit 12 stores the authentication information of the child device 20b in the first storage unit 13. And the 1st control part 12 reads the encryption key A from the 1st memory
- FIG. The encryption key A is relayed by the slave unit 20a and distributed to the slave unit 20b. That is, the parent device 10 distributes the encryption key A to the child device 20b.
- the encryption key A may be used as a public key, for example. That is, the first control unit 12 may encrypt the encryption key A with the secret key and cause the first communication unit 11 to transmit the encrypted encryption key A.
- the secret key is stored in advance in the first storage unit 13 and the second storage unit 23 of each of the plurality of slave units.
- mobile_unit 20b memorize
- stores the starting frequency information (cnt 1) contained in the Hello packet which the 2nd communication part 21 received in step S20 in the 2nd memory
- the stop and restart of the base unit 10 may be performed artificially by a user, for example, or may be automatically performed when the communication state is poor in the network of the base unit 10.
- the first control unit 12 of the base unit 10 increments the activation number information from 1 to 2 and stores it in the first storage unit 13. Further, the first control unit 12 of the parent device 10 generates an encryption key B different from the encryption key A by using the restart as a trigger (S25), and stores the generated encryption key B in the first storage unit 13. The encryption key A is deleted. In this way, the first control unit 12 changes the encryption key stored in the first storage unit 13 every time the parent device 10 is activated.
- the first control unit 12 deletes the authentication information stored in the first storage unit 13 (the authentication information stored in the first storage unit 13 during the authentication process for distributing the encryption key A).
- the first control unit 12 deletes the authentication information stored in the first storage unit 13 (the authentication information stored in the first storage unit 13 during the authentication process for distributing the encryption key A).
- the identifier of the parent device 10 is included as the source address.
- FIG. 6 is a flowchart of the activation number determination process.
- the second control unit 22 of the child device 20a uses the second activation number information in which the first activation number information included in the received Hello packet is stored in the second storage unit 23. (S41).
- the coincidence means that the cumulative number of activations indicated by the first activation number information substantially matches the cumulative number of activations indicated by the activation number information.
- the first activation count information is the activation count information included in the Hello packet received in step S27
- the second activation count information is the activation count stored in the second storage unit 23 in step S18. Information.
- the generated Hello packet is broadcasted to the second communication unit 21 (S31).
- the second control unit 22 of the child device 20b performs activation number determination processing (S33).
- the activation number determination process is the same as the process described with reference to FIG.
- the encryption key B is changed to the child device 20b.
- mobile_unit 20b can transmit the data encrypted using the encryption key B to the main
- the child device 20a when the parent device 10 transmits the Hello packet including the activation number information, the child device 20a can detect the restart of the parent device 10. Further, when the slave unit 20a transmits a Hello packet including information on the number of activations of the master unit 10, the slave unit 20b can also detect the restart of the master unit 10. That is, the plurality of slave units included in the multi-hop communication system 100 can detect the restart of the master unit 10 at least every transmission period (for example, 10 seconds) of the Hello0 packet. In other words, in the multi-hop communication system 100, the slave unit 20a and the slave unit 20b can easily know the operation state of the master unit 10.
- FIG. 7 is a flowchart of such activation number determination processing.
- the child device 20a that has already performed the authentication process on the parent device 10 performs the activation number determination process using the activation number information of the parent device 10. It is assumed that route information to another parent device different from the parent device 10 is stored in the second storage unit 23 of the child device 20a.
- the second control unit 22 of the child device 20 a includes the first activation number information included in the received Hello packet stored in the second storage unit 23. It is determined whether it coincides with the second activation count information (S51).
- the slave unit 20a uses the encryption key already stored in the second storage unit 23. Communicate with.
- the second control unit 22 of the child device 20a is assigned to another parent device different from the parent device 10. Authentication processing is performed on the server (S52). Specifically, the second communication unit 21 of the child device 20a transmits an authentication request including the identifier of the child device 20a as authentication information, specifying the identifier of another parent device as a destination. Thereby, the subunit
- the slave unit 20a has a good communication state instead of the network of the parent unit 10 that is estimated to have a poor communication state because of the restart based on the activation number information. It is possible to enter the network of other parent devices that seem to be.
- the slave unit included in the multi-hop communication system 100 may select another slave unit as a relay station based on the activation count information.
- an operation example 2 of the multi-hop communication system 100 will be described.
- FIG. 8 is a sequence diagram showing an operation example 2 of the multi-hop communication system 100.
- the slave unit 20a and the slave unit 20c are slave units that can directly communicate with the master unit 10, and the slave unit 20b is connected to the master unit 10 by relay of the slave unit 20a or the slave unit 20c. It is assumed that the mobile device can enter the network of the base device 10 from the middle. In the operation example 2, the detailed matters described in the operation example 1 may not be described.
- each of the master unit 10, the slave unit 20a, and the slave unit 20c is activated (S61 to S63).
- the first control unit 12 of the parent device 10 increments the activation count information from 0 to 1 and stores it in the first storage unit 13.
- the first control unit 12 of the parent device 10 generates the encryption key A (S14), and stores the generated encryption key A in the first storage unit 13.
- a standby time is provided after receiving a Hello packet in step S72. For example, a period during which another child device may transmit a Hello packet is set as a standby time, and the authentication process is started after the standby time has elapsed.
- the base unit 10 stops and restarts (S73). Then, the first control unit 12 of the parent device 10 increments the activation number information from 1 to 2 and stores it in the first storage unit 13. The first control unit 12 generates an encryption key B and stores the generated encryption key B in the first storage unit 13.
- the second communication unit 21 is broadcasted (S77).
- the second communication unit 21 of the child device 20c does not receive the Hello packet transmitted in step S74 due to deterioration of the communication state or the like.
- the second control unit 22 of the slave unit 20b compares a plurality of activation count information included in the received plurality of Hello packets. More specifically, the second control unit 22 of the slave unit 20b is a plurality of pieces of activation count information stored in the second storage unit 23 of the slave unit 20b, and is associated with the identifier of the source slave unit. Compare multiple startup count information.
- the second control unit 22 of the child device 20b transmits data to the parent device, the child device 20a that is the child device that has transmitted the activation number information indicating that the activation number is the largest, based on the comparison result.
- the second communication unit 21 of the child device 20b performs an authentication process with the parent device 10 by transmitting an authentication request to the second communication unit 21 of the child device 20a (S79).
- the data (for example, authentication request) is transferred to the parent device. 10 may not be reached.
- Such a problem can be suppressed by selecting, as a relay station, the slave unit 20a that has transmitted the startup count information indicating that the slave unit 20b has the largest cumulative startup count.
- the slave unit 20b selects a slave unit that serves as a relay station for transmitting data to the master unit 10.
- the activation count information is 2-byte information, and therefore takes a value of 0 to 65535.
- the number-of-starts information is incremented at every start-up and returns to 0 when it exceeds 65535.
- the activation count information is a cyclic value, for example, a value 9999 before the current value may be invalidated.
- FIG. 9 is a sequence diagram showing an operation example 3 of the multi-hop communication system 100.
- the slave unit 20a is a slave unit that can directly communicate with the master unit 10 and the master unit 10a, and the slave unit 20b is relayed by the slave unit 20a.
- the slave unit 20b is relayed by the slave unit 20a.
- it is a handset that can communicate with. It is assumed that the parent device 10, the parent device 10a, the child device 20a, and the child device 20b have already been activated.
- the detailed matters described in the operation example 1 and the operation example 2 may not be described.
- the first control unit 12 broadcasts a Hello packet including the identifier (NETID) of the base unit 10 to the first communication unit 11 of the base unit 10 (S81).
- NETID the identifier of the parent device
- S81 the identifier of the parent device
- NETID M1
- the second control unit 22 of the child device 20a performs an authentication process for the parent device 10 (S83).
- the second control unit 22 of the child device 20b performs an authentication process for acquiring an encryption key used for communication with the parent device 10 from the parent device 10, and uses the child device 20a as a relay station. (S86).
- the second control unit 22 of the child device 20a performs an authentication process for the parent device 10a (S91).
- An authentication process for acquiring an encryption key used for communication with is performed on the parent device 10a with the child device 20a as a relay station (S95).
- the second control unit 22 of the child device 20a further performs the first authentication process for acquiring the encryption key from the parent device 10. Do.
- the second communication unit 21 of the child device 20a does not receive the Hello packet including the identifier of the parent device 10 for a predetermined period T or more after the first authentication process
- the other parent device 10a communicates with the other parent device 10a.
- a second authentication process is performed to acquire an encryption key used for communication.
- mobile_unit 20b performs the same operation
- the slave unit 20a and the slave unit 20b enter the network of the other master unit 10a and communicate after the master unit 10 stops. Can be recovered.
- the communication device that operates as the parent device 10 included in the multihop communication system 100 includes the first communication unit 11 that transmits a Hello packet to at least one child device 20a included in the multihop communication system 100.
- the first control unit 12 includes a Hello packet that includes the number-of-activation information indicating the accumulated number of activations of the communication device, and transmits the information to the first communication unit 11.
- the slave unit 20a can acquire the cumulative number of activations of the master unit 10 by receiving a Hello packet generally used for the purpose of confirming the existence of the communication device and notifying route information. That is, the slave unit 20a can easily know the operation state of the master unit 10.
- the communication device further includes a first storage unit 13 in which an encryption key used for communication with the slave device 20a is stored, and the first control unit 12 includes a first storage unit 13 every time the communication device is activated.
- the encryption key stored in the one storage unit 13 may be changed.
- the slave unit 20a can determine whether or not the encryption key has been changed by receiving a Hello packet that is generally used for notification of route information or the like.
- the first communication unit 11 transmits the encryption key to the child device 20a, and the first control unit 12 stores the authentication information of the child device 20a that transmitted the encryption key in the first storage unit 13, and the communication device When is activated, the authentication information stored in the first storage unit 13 may be deleted.
- the communication device that operates as the slave unit 20a included in the multihop communication system 100 receives the Hello packet including the activation number information indicating the cumulative activation number of the parent unit 10 included in the multihop communication system 100.
- Unit 21, second storage unit 23, and second control unit 22 that stores activation number information included in the received Hello packet in second storage unit 23 and performs information processing using the stored activation number information.
- the slave unit 20a can acquire the cumulative number of activations of the master unit 10 by receiving a Hello packet that is generally used for notification of route information and the like. That is, the slave unit 20a can easily know the operation state of the master unit 10. Further, the second control unit 22 can perform information processing using the activation number information such as authentication processing or relay station selection.
- the parent device 10 changes the encryption key used for communication with the communication device, and the second storage unit 23 further includes the second communication unit 21.
- the encryption key received from the parent device 10 may be stored.
- the second control unit 22 further stores the first activation count information included in the received Hello packet stored in the second storage unit 23. It may be determined whether or not it coincides with the activation number information. When it is determined that the first activation count information matches the second activation count information, the second control unit 22 communicates with the parent device 10 using the encryption key stored in the second storage unit 23. Also good.
- the child device 20a can continue communication with the parent device 10 using the encryption key stored in the second storage unit 23.
- the 2nd control part 22 acquires the encryption key used for the communication with the said main
- the child device 20a can acquire the changed encryption key.
- the multi-hop communication system 100 may further include another parent device different from the parent device 10.
- the second control unit 22 further performs a first authentication process for acquiring an encryption key from the parent device 10, and when the second communication unit 21 receives a Hello packet after the first authentication process, the received Hello is received. You may determine whether the 1st starting frequency information contained in a packet corresponds with the 2nd starting frequency information memorize
- the second control unit 22 determines that the first activation count information is different from the second activation count information, the second control unit 22 acquires an encryption key used for communication with the other parent device from another parent device.
- a second authentication process may be performed.
- the slave unit 20a replaces the network of the master unit 10 that is estimated to be in a poor communication state due to the restart based on the number-of-starts information, and another master unit that is considered to have a good communication state. Can enter the network.
- the second control unit 22 may further generate a Hello packet including the activation count information included in the received Hello packet, and cause the second communication unit 21 to transmit the generated Hello packet.
- the slave unit 20b that cannot directly communicate with the master unit 10 can also acquire the cumulative number of activations of the master unit 10 by receiving the Hello packet. That is, the slave unit 20b can easily know the operation state of the master unit 10.
- the second communication unit 21 of the child device 20b receives a Hello packet including information on the number of activations of the parent device 10 from each of a plurality of other child devices different from the child device 20b included in the multi-hop communication system 100. May be.
- the second control unit 22 of the child device 20b further includes first activation number information included in the received Hello packet and a second activation number stored in the second storage unit 23 of the child device 20b. Information may be compared.
- the second control unit 22 of the slave unit 20b determines that the first activation number information indicates a cumulative activation number that is smaller than the second activation number information
- the second control unit 22 transmits a data to the parent unit 10 and a relay station
- the child device that has transmitted the Hello packet including the first activation count information may be excluded from the relay station candidates.
- the slave unit 20c that has not received the updated activation count information may not be able to communicate with the master unit 10.
- the data may not reach the master unit 10, but according to such a configuration, the data is not transmitted to the master unit 10. Problems that do not reach can be suppressed.
- the second communication unit 21 of the child device 20b receives a Hello packet including information on the number of activations of the parent device 10 from each of a plurality of other child devices different from the child device 20b included in the multi-hop communication system 100. May be.
- the second control unit 22 of the child device 20b may further compare a plurality of activation count information included in the received plurality of Hello packets. Based on the result of the comparison, the second control unit 22 of the child device 20b uses the child device that has transmitted the activation number information indicating that the cumulative activation number is the largest as a relay station for transmitting data to the parent device 10. You may choose.
- the multi-hop communication system 100 further includes another parent device 10a different from the parent device 10, and the second control unit 22 of the child device 20a further acquires an encryption key from the parent device 10.
- the first authentication process may be performed.
- mobile_unit 20a when the 2nd communication part 21 of the subunit
- a second authentication process for obtaining an encryption key used for communication with the other parent device from the parent device 10a may be performed.
- the slave unit 20a can enter the network of another master unit 10a and restore communication after the master unit 10 stops. Can do.
- the multi-hop communication system 100 includes a parent device 10 and a child device 20a.
- the base unit 10 includes a first communication unit 11 that transmits a Hello packet to the handset 20a, and first control that causes the first communication unit 11 to transmit the number of times of activation indicating the cumulative number of times of activation of the base unit 10 in the Hello packet.
- Part 12 The subunit
- mobile_unit 20a can acquire the accumulation
- the multi-hop communication system 100 includes a parent device 10 and a child device 20a.
- the base unit 10 transmits the number-of-starts information indicating the cumulative number of start-ups of the base unit 10 in the Hello packet.
- mobile_unit 20a receives the Hello packet containing starting frequency information, and memorize
- mobile_unit 20a can acquire the accumulation
- the specific mode of the communication device that operates as a parent device or the communication device that operates as a child device described in the above embodiment is not particularly limited.
- an air conditioner, a smart meter, or a lighting device may be used as the communication device.
- the parent device and the child device do not have to be the same type of communication terminal.
- the child device is a smart meter
- the parent device is a concentrator (server) that manages data acquired from the child device. Also good.
- each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component.
- Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
- Each component may be a circuit. These circuits may constitute one circuit as a whole, or may be separate circuits. Each of these circuits may be a general-purpose circuit or a dedicated circuit.
- another processing unit may execute a process executed by a specific processing unit. Further, the order of the plurality of processes may be changed, and the plurality of processes may be executed in parallel.
- the comprehensive or specific aspect of the present invention may be realized by a system, a method, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM.
- the system, method, integrated circuit, computer You may implement
- the present invention may be realized as a communication method executed by a multi-hop communication system or a parent device or a child device included in the multi-hop communication system, and for causing a computer to execute such a communication method. It may be realized as a program.
- the multi-hop communication system according to one or a plurality of aspects, and the communication device and the communication method used in the multi-hop communication system have been described based on the embodiment.
- the present invention is limited to this embodiment. Is not to be done. Unless it deviates from the gist of the present invention, various modifications conceived by those skilled in the art have been made in this embodiment, and forms constructed by combining components in different embodiments are also within the scope of one or more aspects. May be included.
- First communication unit (communication unit) 12 First control unit (control unit) 13 First storage unit (storage unit) 20a, 20b, 20c cordless handset 21 2nd communication part (communication part) 22 Second control unit (control unit) 23 Second storage unit (storage unit) 100 Multi-hop communication system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
マルチホップ通信システム(100)に含まれる親機(10)として動作する通信装置は、マルチホップ通信システム(100)に含まれる少なくとも1つの子機にHelloパケットを送信する第一通信部(11)と、通信装置の累積起動回数を示す起動回数情報をHelloパケットに含めて第一通信部(11)に送信させる第一制御部(12)とを備える。
Description
本発明は、マルチホップ通信システム、並びに、マルチホップ通信システムにおいて用いられる通信装置及び通信方法に関する。
従来、子機が他の子機を中継局として親機と通信を行うマルチホップ通信システムが知られている。特許文献1には、マルチホップ通信ネットワークにおける暗号鍵の構築方法が開示されている。
マルチホップ通信システムにおいて、他の子機を中継局として親機と通信を行う子機(親機と直接通信ができない子機)は、親機の動作状態を直接的に知ることができない。例えば、親機が起動するごとに暗号鍵を変更するようなシステムにおいては、親機が再起動され暗号鍵が変更されているにもかかわらず、子機が変更前の暗号鍵を用いた通信を試みてしまう場合がある。
本発明は、親機の動作状態を子機が容易に知ることができるマルチホップ通信システム並びに、マルチホップ通信システムにおいて用いられる通信装置及び通信方法を提供する。
本発明の一態様に係る通信装置は、マルチホップ通信システムに含まれる親機として動作する通信装置であって、前記マルチホップ通信システムに含まれる少なくとも1つの子機にHelloパケットを送信する通信部と、前記通信装置の累積起動回数を示す起動回数情報を前記Helloパケットに含めて前記通信部に送信させる制御部とを備える。
本発明の一態様に係る通信装置は、マルチホップ通信システムに含まれる子機として動作する通信装置であって、前記マルチホップ通信システムに含まれる親機の累積起動回数を示す起動回数情報を含むHelloパケットを受信する通信部と、記憶部と、受信された前記Helloパケットに含まれる前記起動回数情報を前記記憶部に記憶し、記憶された前記起動回数情報を用いた情報処理を行う制御部とを備える。
本発明の一態様に係るマルチホップ通信システムは、マルチホップ通信システムであって、親機と、子機とを備え、前記親機は、前記子機にHelloパケットを送信する第一通信部と、前記親機の累積起動回数を示す起動回数情報を前記Helloパケットに含めて前記第一通信部に送信させる第一制御部とを備え、前記子機は、前記起動回数情報を含むHelloパケットを受信する第二通信部と、記憶部と、受信された前記Helloパケットに含まれる前記起動回数情報を前記記憶部に記憶する第二制御部とを備える。
本発明の一態様に係る通信方法は、マルチホップ通信システムが実行する通信方法であって、前記マルチホップ通信システムは、親機と、子機とを備え、前記親機は、前記親機の累積起動回数を示す起動回数情報を前記Helloパケットに含めて送信し、前記子機は、前記起動回数情報を含むHelloパケットを受信し、受信された前記Helloパケットに含まれる前記起動回数情報を前記子機が備える記憶部に記憶する。
本発明の一態様に係るプログラムは、上記通信方法をコンピュータに実行させるためのプログラムである。
本発明のマルチホップ通信システム、並びに、本発明のマルチホップ通信システムにおいて用いられる通信装置及び通信方法によれば、子機は、親機の動作状態を容易に知ることができる。
以下、実施の形態について図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
なお、各図は模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付し、重複する説明は省略または簡略化される場合がある。
(実施の形態)
[構成]
まず、実施の形態に係るマルチホップ通信システムの機能構成について説明する。図1は、マルチホップ通信システムの機能構成を示すブロック図である。なお、図1では、複数の子機のうち子機20aのみが詳細に図示され、かつ、以下では主として子機20aについての説明がなされるが、マルチホップ通信システム100に含まれる他の子機(例えば、子機20b及び20c)についても子機20aと同様の構成である。
[構成]
まず、実施の形態に係るマルチホップ通信システムの機能構成について説明する。図1は、マルチホップ通信システムの機能構成を示すブロック図である。なお、図1では、複数の子機のうち子機20aのみが詳細に図示され、かつ、以下では主として子機20aについての説明がなされるが、マルチホップ通信システム100に含まれる他の子機(例えば、子機20b及び20c)についても子機20aと同様の構成である。
図1に示されるように、マルチホップ通信システム100は、親機10と、子機20a、子機20b、及び子機20cを含む複数の子機とを備える。マルチホップ通信システム100が備える子機の数は、特に限定されない。マルチホップ通信システム100においては、例えば、ツリー型トポロジを有する、マスタースレーブ型の通信ネットワークが用いられる。
マスタースレーブ型の通信ネットワークにおいては、一般に、親機10が複数の子機それぞれまでのルート(ルート情報)を管理し、複数の子機のそれぞれは、少なくとも親ノードまでのルートを管理する。マスタースレーブ型の通信ネットワークにおいては、一般に、データが伝送されるルートの一端は、親機10であり、データが伝送されるルートの他端は、複数の子機のいずれかになる。
まず、親機10の構成について説明する。親機10は、マルチホップ通信システム100に含まれる親機として動作する通信装置の一例であって、第一通信部11と、第一制御部12と、第一記憶部13とを備える。親機10は、例えば、マルチホップ通信システム100に含まれる複数の子機からデータを取得(集約)し、管理する。
第一通信部11は、子機(例えば、子機20a)が備える第二通信部21と通信するための通信インターフェースである。第一通信部11は、具体的には、通信モジュール(通信回路)である。
第一通信部11は、例えば、第一制御部12の制御に基づいて、マルチホップ通信システム100に含まれる少なくとも1つの子機(例えば、子機20a)にHelloパケットを送信する。
Helloパケットは、当該Helloパケットを送信する通信装置が、通信可能な状態である(生存している)ことを他の通信装置に通知するために、所定期間ごとにブロードキャスト送信されるパケット(信号)である。所定期間は、例えば、10s(秒)である。なお、親機10の起動後、初回のHelloパケットは、例えば、起動してから100ms後に送信される。
Helloパケットは、親機10として動作する通信装置だけでなく子機として動作する通信装置によってもブロードキャスト送信される。Helloパケットには、送信元の通信装置の識別子、または、親機10として動作する通信装置から送信元の通信装置までのルート情報(ホップ数及び経由する通信装置の識別子)などが含まれ、通信ルートの構築または通信ルートの変更などにも用いられる。
なお、以下の実施の形態の説明では、通信装置の識別子は、通信装置のID及び通信用のアドレスとして使用されるが、通信装置のIDとアドレスとは別々に設けられてもよい。通信装置の識別子は、例えば、MACアドレスである。
第一通信部11と第二通信部21とが行う通信は、有線または無線のどのような通信であってもよく、特に限定されない。例えば、第一通信部11と第二通信部21とは、電力線搬送通信(PLC:Power Line Communication)を行うが、有線LANを用いた有線通信を行ってもよい。また、第一通信部11と第二通信部21とは、特定小電力無線、ZigBee(登録商標)、Bluetooth(登録商標)、または、Wi-Fi(登録商標)などの通信規格を用いた無線通信を行ってもよい。
第一制御部12は、第一通信部11を制御する制御装置であり、例えば、第一通信部11を通じて、子機20aからデータを受信する。また、第一制御部12は、第一通信部11に、後述する起動回数情報を含むHelloパケット、及び、後述する暗号鍵などを送信させる。第一制御部12は、具体的には、第一記憶部13に記憶された制御プログラムを実行するプロセッサであるが、マイクロコンピュータ、または専用回路などにより実現されてもよい。
第一記憶部13は、第一制御部12が実行する制御プログラム、及び、親機10からマルチホップ通信システム100に含まれる複数の子機それぞれまでのルート情報などが記憶される記憶装置である。また、第一記憶部13には、本実施の形態では、第一記憶部13には、起動回数情報、及び、暗号鍵も記憶される。第一記憶部13は、例えば、半導体メモリなどにより実現される。
上述の起動回数情報は、親機10の累積起動回数を示す情報である。起動回数情報は、具体的には、例えば、親機10が起動されるごとに+1ずつインクリメントされる数値(カウント値)であるが、親機10が起動されるごとに-1ずつデクリメントされる数値であってもよい。なお、起動回数情報は、親機10の累積起動回数を示すのであれば、どのような情報であってもよい。
上述の暗号鍵は、複数の子機それぞれとの通信に使用される。暗号鍵は、具体的には、複数の子機との通信においてデータの暗号化に使用される。なお、本実施の形態では、暗号鍵は、複数の子機に対して1つ生成され、親機10が起動されるごとに変更(更新)される。しかしながら、暗号鍵は、複数の子機のそれぞれに対して1つずつ生成されてもよい。この場合は、第一記憶部13には、子機の識別子と、当該子機の暗号鍵とが対応付けて記憶される。
次に、子機20aについて説明する。子機20aは、マルチホップ通信システム100に含まれる子機として動作する通信装置の一例であって、第二通信部21と、第二制御部22と、第二記憶部23とを備える。
第二通信部21は、第一通信部11、または、他の子機が備える第二通信部21と通信するための通信インターフェースである。第二通信部21は、具体的には、第一通信部11と同種の通信モジュール(通信回路)である。第二通信部21は、例えば、第二制御部22の制御に基づいてHelloパケットを送信する。また、第二通信部21は、マルチホップ通信システムに含まれる親機の累積起動回数を示す起動回数情報を含むHelloパケットを、親機10または他の子機から受信する。
第二制御部22は、第二通信部21を制御する制御装置であり、例えば、第二通信部21に、データ及びHelloパケットなどを送信させる。第二制御部22は、具体的には、第二記憶部23に記憶された制御プログラムを実行するプロセッサであるが、マイクロコンピュータ、または専用回路などにより実現されてもよい。
第二記憶部23は、第二制御部22が実行する制御プログラム、隣接ノードテーブル、並びに、第二通信部21によって受信された暗号鍵及び起動回数情報などが記憶される記憶装置である。第二記憶部23は、具体的には、例えば、半導体メモリなどにより実現される。
以上説明したマルチホップ通信システム100においては、親機10の第一制御部12は、親機10の累積起動回数を示す起動回数情報をHelloパケットに含めて第一通信部11に送信させる。
これにより、このようなHelloパケットを受信した子機20aは、親機10の累積起動回数を知ることができる。つまり、子機20aは、親機10の動作状態を容易に知ることができる。
また、子機20aの第二制御部22は、さらに、第二通信部21によって受信されたHelloパケットに含まれる起動回数情報を、第二記憶部23に記憶する。
これにより、第二制御部22は、起動回数情報を記憶した後に受信されたHelloパケットに含まれる第一の起動回数情報と、第二記憶部23に記憶されている第二の起動回数情報とを比較することで、親機10が再起動されたか否かを判定することができる。
なお、累積起動回数は、例えば、親機10(MASTER)に関する情報を通知するためのサブメッセージであるMASTER INFOサブメッセージとして新規に規定されるとよい。この場合、サブメッセージの属性情報のフォーマットをTLV(Type-Length-Value)形式とすることで、サブメッセージに拡張性を持たせることができる。図2は、サブメッセージのフォーマットの一例を示す図である。
図2に示されるように、サブメッセージの先頭から1バイトのフィールドには、サブメッセージのタイプが格納される。MASTER INFOサブメッセージに対応するタイプとして、例えば、「10」が格納される。次の1バイトのフィールドには、サブメッセージのレングス(サブメッセージタイプから属性までのレングス)が格納される。サブメッセージのレングスの後には、各種属性情報が格納される。属性情報は、可変長である。図3は、属性情報のフォーマットの一例を示す図である。
図3に示されるように、属性情報の先頭から1バイトのフィールドには、属性情報のタイプが格納される。次の1バイトのフィールドには、属性情報のレングス(属性情報のタイプから値までのレングス)が格納される。属性情報のレングスの後には、値が格納される。この値は、可変長である。
このような属性情報として、例えば、図4に示されるように起動回数情報が規定されるとよい。図4は、起動回数情報として用いられる属性情報の一例である。図4に示されるように、起動回数情報は、例えば、属性情報のタイプが「1」である、2バイトの長さの値(0以上65535以下)として規定されるとよい。この値は、累積起動回数を示し、累積起動回数が65535を超えると0に戻る。
[動作例1]
次に、マルチホップ通信システム100の動作例1について説明する。図5は、マルチホップ通信システム100の動作例1を示すシーケンス図である。なお、以下の動作例1では、子機20aは、親機10と直接通信可能な子機であり、子機20bは、子機20aの中継により親機10との通信が可能な子機であるとする。
次に、マルチホップ通信システム100の動作例1について説明する。図5は、マルチホップ通信システム100の動作例1を示すシーケンス図である。なお、以下の動作例1では、子機20aは、親機10と直接通信可能な子機であり、子機20bは、子機20aの中継により親機10との通信が可能な子機であるとする。
まず、親機10、子機20a、及び子機20bのそれぞれが起動される(S11~S13)。ここで、親機10の第一制御部12は、起動回数情報を0から1にインクリメントして第一記憶部13に記憶する。以下、起動回数情報をcntとも記載し、ステップS11ではcnt=1となる。
また、親機10の第一制御部12は、暗号鍵Aを生成し(S14)、生成した暗号鍵Aを、第一記憶部13に記憶する。暗号鍵Aは、親機10と複数の子機との通信に使用される。
次に、第一制御部12は、起動回数情報(cnt=1)を含むHelloパケットを、第一通信部11にブロードキャスト送信させる(S15)。このHelloパケットには、親機10の識別子が送信元を示す情報として含まれる。子機20aの第二通信部21は、起動回数情報(cnt=1)を含むHelloパケットを受信する(S16)。
次に、子機20aの第二制御部22は、暗号鍵Aを取得するための認証処理を行う(S17)。認証処理においては、まず、子機20aの第二通信部21が子機20aの識別子を認証情報として含む認証要求を第一通信部11に送信する。第一通信部11が子機20aの認証要求を受信すると、第一制御部12は、子機20aの認証情報を第一記憶部13に記憶する。そして、第一制御部12は、暗号鍵Aを第一記憶部13から読み出し、読み出した暗号鍵Aを、子機20aの識別子(アドレス)を指定して第一通信部11に送信させる。つまり、親機10は、子機20aに暗号鍵Aを配布する。
次に、子機20aの第二制御部22は、ステップS16において第二通信部21が受信したHelloパケットに含まれる起動回数情報(cnt=1)を第二記憶部23に記憶する(S18)。子機20aの第二制御部22は、さらに、ステップS16において受信されたHelloパケットに含まれる起動回数情報(cnt=1)と、子機20aの識別子(送信元のアドレス)とを含むHelloパケットを生成し、生成したHelloパケットを第二通信部21にブロードキャスト送信させる(S19)。子機20bの第二通信部21は、起動回数情報(cnt=1)を含むHelloパケットを受信する(S20)。
次に、子機20bの第二制御部22は、親機10から当該親機10との通信に使用される暗号鍵Aを取得するための認証処理を行う(S21)。認証処理においては、まず、子機20bの第二通信部21が子機20bの識別子を認証情報として含む認証要求を子機20aの第二通信部21に送信する。認証要求は、子機20a(第二通信部21)の中継により、第一通信部11に送信される。
第一通信部11が子機20bの認証要求を受信すると、第一制御部12は、子機20bの認証情報を第一記憶部13に記憶する。そして、第一制御部12は、暗号鍵Aを第一記憶部13から読み出し、読み出した暗号鍵Aを、子機20bの識別子(アドレス)を指定して第一通信部11に送信させる。暗号鍵Aは、子機20aによって中継されて子機20bに配布される。つまり、親機10は、子機20bに暗号鍵Aを配布する。
なお、暗号鍵Aは、例えば、公開鍵として使用されてもよい。つまり、第一制御部12は、暗号鍵Aを秘密鍵によって暗号化し、暗号化された暗号鍵Aを第一通信部11に送信させてもよい。この場合、秘密鍵は、第一記憶部13及び複数の子機それぞれの第二記憶部23にあらかじめ記憶される。
子機20bの第二制御部22は、ステップS20において第二通信部21が受信したHelloパケットに含まれる起動回数情報(cnt=1)を第二記憶部23に記憶する(S22)。子機20bの第二制御部22は、さらに、ステップS20において受信されたHelloパケットに含まれる起動回数情報(cnt=1)と、子機20bの識別子(送信元のアドレス)とを含むHelloパケットを生成し、生成したHelloパケットを第二通信部21にブロードキャスト送信させる(S23)。
その後、親機10が停止し、再起動する(S24)。親機10の停止及び再起動は、例えば、ユーザによって人為的に行われる場合もあるし、親機10のネットワークにおいて通信状態が悪いときなどに自動的に行われる場合もある。
そうすると、親機10の第一制御部12は、起動回数情報を1から2にインクリメントして第一記憶部13に記憶する。また、親機10の第一制御部12は、再起動をトリガとして暗号鍵Aとは異なる暗号鍵Bを生成し(S25)、生成した暗号鍵Bを、第一記憶部13に記憶する。暗号鍵Aは、削除される。このように、第一制御部12は、親機10が起動されるごとに第一記憶部13に記憶された暗号鍵を変更する。
また、第一制御部12は、第一記憶部13に記憶されていた認証情報(暗号鍵Aを配布するための認証処理時に第一記憶部13に記憶された認証情報)を削除する。このように、古い認証情報を削除することで安全性を高めることができる。
次に、第一制御部12は、起動回数情報(cnt=2)を含むHelloパケットを、第一通信部11にブロードキャスト送信させる(S26)。このHelloパケットには、親機10の識別子が送信元のアドレスとして含まれる。子機20aの第二通信部21は、起動回数情報(cnt=2)を含むHelloパケットを受信する(S27)。
子機20aの第二通信部21が起動回数情報(cnt=2)を含むHelloパケットを受信すると、子機20aの第二制御部22は、起動回数判定処理を行う(S28)。図6は、起動回数判定処理のフローチャートである。
起動回数判定処理においては、子機20aの第二制御部22は、受信されたHelloパケットに含まれる第一の起動回数情報が、第二記憶部23に記憶されている第二の起動回数情報と一致するかを判定する(S41)。なお、ここでの一致とは、第一の起動回数情報が示す累積起動回数と、起動回数情報が示す累積起動回数とが実質的に一致することを意味する。この場合、第一の起動回数情報は、ステップS27で受信されたHelloパケットに含まれる起動回数情報であり、第二の起動回数情報は、ステップS18において第二記憶部23に記憶された起動回数情報である。
ここでは、第一の起動回数情報は、cnt=1であり、第二の起動回数情報であるcnt=2と一致しない。したがって、第一の起動回数情報が第二の起動回数情報と異なると判定され(S41でNo)、子機20aの第二制御部22は、再度認証処理を行う(S42)。これにより、図5に示されるように、暗号鍵Bが子機20aに配布される(S29)。
なお、図6において、第一の起動回数情報が第二の起動回数情報と一致すると判定された場合(S41でYes)、親機10の暗号鍵は変更されていないと考えられる。このため、子機20aは、第二記憶部23に記憶されている暗号鍵Aを用いて親機10と通信を行う。
その後、子機20aの第二制御部22は、ステップS27において第二通信部21が受信したHelloパケットに含まれる起動回数情報(cnt=2)を第二記憶部23に記憶する(S30)。子機20aの第二制御部22は、さらに、ステップS27において受信されたHelloパケットに含まれる起動回数情報(cnt=2)と、子機20aの識別子(送信元のアドレス)とを含むHelloパケットを生成し、生成したHelloパケットを第二通信部21にブロードキャスト送信させる(S31)。子機20bの第二通信部21は、起動回数情報(cnt=2)を含むHelloパケットを受信する(S30)。
子機20bの第二通信部21が起動回数情報(cnt=2)を含むHelloパケットを受信すると、子機20bの第二制御部22は、起動回数判定処理を行う(S33)。起動回数判定処理は、図6を用いて説明した処理と同様である。ここでは、第一の起動回数情報は、第二の起動回数情報と異なると判定され、子機20bの第二制御部22は、再度認証処理を行い、この結果、暗号鍵Bが子機20bに配布される(S34)。これにより、子機20bは、暗号鍵Bを用いて暗号化したデータを、子機20aを中継局として親機10宛に送信することができる(S35)。
以上説明したように、親機10がHelloパケットに起動回数情報を含めて送信することにより、子機20aは、親機10の再起動を検知できる。また、子機20aが親機10の起動回数情報を含むHelloパケットを送信することにより、子機20bも親機10の再起動を検知できる。つまり、マルチホップ通信システム100に含まれる複数の子機は、少なくともHell0パケットの送信周期(例えば、10秒)ごとに親機10の再起動を検知できる。言い換えれば、マルチホップ通信システム100においては、子機20a及び子機20bは、親機10の動作状態を容易に知ることができる。
[動作例1の変形例]
なお、上記動作例1では、第一の起動回数情報と第二の起動回数情報とが異なると判定された場合、同じ親機10に対して再度認証処理を行ったが、マルチホップ通信システム100に複数の親機が含まれる場合、別の親機に対して認証処理を行ってもよい。図7は、このような起動回数判定処理のフローチャートである。なお、以下では、親機10に対して既に認証処理を行った子機20aが、親機10の起動回数情報を用いて起動回数判定処理を行うものとして説明が行われる。子機20aの第二記憶部23には、親機10とは異なる他の親機までのルート情報が記憶されているものとする。
なお、上記動作例1では、第一の起動回数情報と第二の起動回数情報とが異なると判定された場合、同じ親機10に対して再度認証処理を行ったが、マルチホップ通信システム100に複数の親機が含まれる場合、別の親機に対して認証処理を行ってもよい。図7は、このような起動回数判定処理のフローチャートである。なお、以下では、親機10に対して既に認証処理を行った子機20aが、親機10の起動回数情報を用いて起動回数判定処理を行うものとして説明が行われる。子機20aの第二記憶部23には、親機10とは異なる他の親機までのルート情報が記憶されているものとする。
図7に示される起動回数判定処理においては、子機20aの第二制御部22は、受信されたHelloパケットに含まれる第一の起動回数情報が、第二記憶部23に記憶されている第二の起動回数情報と一致するかを判定する(S51)。
第一の起動回数情報が第二の起動回数情報と一致すると判定された場合(S51でYes)、子機20aは、第二記憶部23に既に記憶されている暗号鍵を用いて親機10と通信を行う。
一方、第一の起動回数情報が第二の起動回数情報と異なると判定された場合(S51でNo)、子機20aの第二制御部22は、親機10とは異なる他の親機に対して認証処理を行う(S52)。具体的には、子機20aの第二通信部21は、子機20aの識別子を認証情報として含む認証要求を、他の親機の識別子を宛先に指定して送信する。これにより、子機20aは、他の親機との通信に用いられる暗号鍵を当該他の親機から取得することができる。
以上のような起動回数判定処理により、子機20aは、起動回数情報に基づいて、再起動が行われたために通信状態が悪いと推定される親機10のネットワークに代えて、通信状態がよいと思われる他の親機のネットワークに参入することができる。
[動作例2]
マルチホップ通信システム100が備える子機は、起動回数情報に基づいて他の子機を中継局として選択してもよい。以下、このようなマルチホップ通信システム100の動作例2について説明する。図8は、マルチホップ通信システム100の動作例2を示すシーケンス図である。
マルチホップ通信システム100が備える子機は、起動回数情報に基づいて他の子機を中継局として選択してもよい。以下、このようなマルチホップ通信システム100の動作例2について説明する。図8は、マルチホップ通信システム100の動作例2を示すシーケンス図である。
なお、以下の動作例2では、子機20a及び子機20cは、親機10と直接通信可能な子機であり、子機20bは、子機20aまたは子機20cの中継により親機10との通信が可能な子機であって、途中から親機10のネットワークに参入するものとする。また、動作例2では、動作例1で説明した詳細な事項については説明が省略される場合がある。
まず、親機10、子機20a、及び子機20cのそれぞれが起動される(S61~S63)。ここで、親機10の第一制御部12は、起動回数情報を0から1にインクリメントして第一記憶部13に記憶する。また、親機10の第一制御部12は、暗号鍵Aを生成し(S14)、生成した暗号鍵Aを、第一記憶部13に記憶する。
次に、第一制御部12は、起動回数情報(cnt=1)を含むHelloパケットを、第一通信部11にブロードキャスト送信させる(S64)。
子機20aの第二通信部21は、起動回数情報(cnt=1)を含むHelloパケットを受信し(S65)、子機20aの第二制御部22は、受信されたHelloパケットに含まれる起動回数情報(cnt=1)を子機20aの第二記憶部23に記憶する。同様に、子機20cの第二通信部21は、起動回数情報(cnt=1)を含むHelloパケットを受信し(S66)、子機20cの第二制御部22は、受信されたHelloパケットに含まれる起動回数情報(cnt=1)を子機20cの第二記憶部23に記憶する。
そして、子機20aの第二制御部22は、暗号鍵Aを取得するための認証処理を行い(S67)、起動回数情報(cnt=1)及び子機20aの識別子を含むHelloパケットを子機20aの第二通信部21にブロードキャスト送信させる(S68)。ここで、子機20bが親機10のネットワークに参入するために起動される(S69)。
その後、子機20cの第二制御部22は、暗号鍵Aを取得するための認証処理を行い(S70)、起動回数情報(cnt=1)及び子機20cの識別子を含むHelloパケットを子機20cの第二通信部21にブロードキャスト送信させる(S71)。子機20cの第二通信部21が送信したHelloパケットは、子機20bの第二通信部21によって受信され(S72)、子機20bの第二記憶部23には、起動回数情報(cnt=1)が子機20cの識別子と対応付けて記憶される。
なお、ステップS72においてHelloパケットを受信した後には、待機時間が設けられる。例えば、他の子機がHelloパケット送信する可能性がある期間が待機時間とされ、待機時間の経過後に認証処理が開始される。
一方で、親機10は、停止し、再起動する(S73)。そうすると、親機10の第一制御部12は、起動回数情報を1から2にインクリメントして第一記憶部13に記憶する。第一制御部12は、暗号鍵Bを生成し、生成した暗号鍵Bを第一記憶部13に記憶する。
次に、第一制御部12は、起動回数情報(cnt=2)を含むHelloパケットを、第一通信部11にブロードキャスト送信させる(S74)。
子機20aの第二通信部21は、起動回数情報(cnt=2)を含むHelloパケットを受信する(S75)。子機20aの第二制御部22は、暗号鍵Bを取得するための認証処理を行い(S76)、起動回数情報(cnt=2)及び子機20aの識別子を含むHelloパケットを子機20aの第二通信部21にブロードキャスト送信させる(S77)。子機20aの第二通信部21が送信したHelloパケットは、子機20bの第二通信部21によって受信され(S78)、子機20bの第二記憶部23には、起動回数情報(cnt=2)が子機20aの識別子と対応付けて記憶される。
一方で、子機20cの第二通信部21は、通信状態の悪化等により、ステップS74において送信されたHelloパケットを受信しない。
以上のような例において、子機20bの第二制御部22は、受信された複数のHelloパケットに含まれる複数の起動回数情報を比較する。より具体的には、子機20bの第二制御部22は、子機20bの第二記憶部23に記憶された複数の起動回数情報であって、送信元の子機の識別子と対応づけられた複数の起動回数情報を比較する。
そして、子機20bの第二制御部22は、比較の結果に基づいて、最も起動回数が多いことを示す起動回数情報を送信した子機である子機20aを、親機にデータを送信するための中継局として選択する。例えば、子機20bの第二通信部21は、子機20aの第二通信部21に認証要求を送信することにより親機10と認証処理を行う(S79)。
親機10の再起動を検知していない(インクリメントされた起動回数情報を受信していない)子機20cを経由して親機10に接続しようとすると、データ(例えば、認証要求)が親機10に到達しない場合がある。子機20bが最も累積起動回数が多いことを示す起動回数情報を送信した子機20aを中継局として選択すれば、このような不具合を抑制できる。
[動作例2の変形例]
なお、子機20bの第二通信部21が、第二記憶部23に記憶されている第二の起動回数情報よりも少ない累積起動回数を示す第一の起動回数情報を受信する場合が考えられる。このような起動回数情報を含むHelloパケットを送信した子機は、親機10と通信できていない可能性があるため、このような子機が中継局として選択されると、データ(例えば、認証要求)が親機10に到達しない可能性がある。
なお、子機20bの第二通信部21が、第二記憶部23に記憶されている第二の起動回数情報よりも少ない累積起動回数を示す第一の起動回数情報を受信する場合が考えられる。このような起動回数情報を含むHelloパケットを送信した子機は、親機10と通信できていない可能性があるため、このような子機が中継局として選択されると、データ(例えば、認証要求)が親機10に到達しない可能性がある。
そこで、子機20bは、第一の起動回数情報が第二の起動回数情報よりも少ない累積起動回数を示すと判定した場合、親機10にデータを送信するための中継局となる子機を選択する際に、第一の起動回数情報を含むHelloパケットを送信した子機を中継局の候補から除外してもよい。これにより、データが親機10に到達しない不具合を抑制できる。
なお、図4で説明したように、起動回数情報は、2バイトの情報であるため0以上65535以下の値をとる。起動回数情報は、起動ごとにインクリメントされ、65535を超えると0に戻る。このように、起動回数情報がサイクリックな値であることを考慮して、例えば、現在の値から9999前の値は、無効にされてもよい。
既に受信済みの起動回数情報が示す累積起動回数をY、新たに受信された起動回数情報が示す累積起動回数をXとすると、Y>Xの場合には、(Y-X)<10000を満たす場合に、新たに受信された起動回数情報が無効にされる。また、Y<Xの場合には、(65535-X)+Y+1<10000を満たすときに、新たに受信された起動回数情報が無効にされる。
[動作例3]
マルチホップ通信システム100に複数の親機が含まれる場合、一の親機の識別子を含むHelloパケットを所定期間以上受信しなかった子機は、他の親機に対して認証処理を行ってもよい。以下、このようなマルチホップ通信システム100の動作例について説明する。図9は、マルチホップ通信システム100の動作例3を示すシーケンス図である。
マルチホップ通信システム100に複数の親機が含まれる場合、一の親機の識別子を含むHelloパケットを所定期間以上受信しなかった子機は、他の親機に対して認証処理を行ってもよい。以下、このようなマルチホップ通信システム100の動作例について説明する。図9は、マルチホップ通信システム100の動作例3を示すシーケンス図である。
なお、以下の動作例3では、子機20aは、親機10及び親機10aと直接通信が可能な子機であり、子機20bは、子機20aの中継により親機10及び親機10aとの通信が可能な子機であるとする。親機10、親機10a、子機20a、及び子機20bは、既に起動済みであるとする。また、動作例3では、動作例1及び動作例2で説明した詳細な事項については説明が省略される場合がある。
まず、第一制御部12は、親機10の識別子(NETID)を含むHelloパケットを、親機10の第一通信部11にブロードキャスト送信させる(S81)。以下の説明では、親機の識別子をNETIDと記載し、親機10は、NETID=M1であるとする。
子機20aの第二通信部21は、識別子(NETID=M1)を含むHelloパケットを受信し(S82)、子機20aの第二制御部22は、当該Helloパケットを受信した時刻を子機20aの第二記憶部23に記憶する。
次に、子機20aの第二制御部22は、親機10に対する認証処理を行う(S83)。子機20aの第二制御部22は、さらに、識別子(NETID=M1)を含むHelloパケットを生成し、生成したHelloパケットを第二通信部21にブロードキャスト送信させる(S84)。子機20bの第二通信部21は、識別子(NETID=M1)を含むHelloパケットを受信し(S85)、子機20bの第二制御部22は、当該Helloパケットを受信した時刻を子機20bの第二記憶部23に記憶する。
次に、子機20bの第二制御部22は、親機10から当該親機10との通信に使用される暗号鍵を取得するための認証処理を、子機20aを中継局として親機10に対して行う(S86)。
その後、親機10が停止すると(S87)、識別子(NETID=M1)を含むHelloパケットは送信されなくなる。
子機20aの第二制御部22は、子機20aの第二通信部21が最後に識別子(NETID=M1)を含むHelloパケットを受信してから、所定期間T以上経過したことを検出すると、認証解除を行う(S88)。
このとき、親機10aの第一制御部12は、親機10aの識別子(NETI=M2)を含むHelloパケットを、親機10aの第一通信部11にブロードキャスト送信させる(S89)。子機20aの第二通信部21は、識別子(NETID=M2)を含むHelloパケットを受信し(S90)、子機20aの第二制御部22は、当該Helloパケットを受信した時刻を子機20aの第二記憶部23に記憶する。
次に、子機20aの第二制御部22は、親機10aに対する認証処理を行う(S91)。子機20aの第二制御部22は、さらに、識別子(NETID=M2)を含むHelloパケットを生成し、生成したHelloパケットを第二通信部21にブロードキャスト送信させる(S92)。
ここで、図9の例では、子機20bの第二通信部21は、当該第二通信部21が最後に識別子(NETID=M1)を含むHelloパケットを受信してから所定期間Tの経過前に、識別子(NETID=M2)を含むHelloパケットを受信している。しかしながら、このHelloパケットは、親機10の識別子(NETID=M1)を含むHelloパケットではない。
したがって、子機20bの第二制御部22は、その後、子機20bの第二通信部21が最後に識別子(NETID=M1)を含むHelloパケットを受信してから、所定期間T以上経過したことを検出する。そうすると、子機20bの第二制御部22は、認証解除を行い(S94)、ステップS93において受信されたHelloパケットに含まれる識別子(NETID=M2)に基づいて、親機10aから当該親機10aとの通信に使用される暗号鍵を取得するための認証処理を、子機20aを中継局として親機10aに対して行う(S95)。
以上説明したように、マルチホップ通信システム100に複数の親機が含まれる場合、子機20aの第二制御部22は、さらに、親機10から暗号鍵を取得するための第一認証処理を行う。第一認証処理の後に子機20aの第二通信部21が親機10の識別子を含むHelloパケットを所定期間T以上受信しなかった場合、他の親機10aから当該他の親機10aとの通信に使用される暗号鍵を取得するための第二認証処理を行う。子機20bも同様の動作を行う。
このように、所定期間T以上Helloパケットが受信されないことを検知することにより、子機20a及び子機20bは、親機10が停止した後も、他の親機10aのネットワークに参入して通信を復旧することができる。
[まとめ]
以上説明したように、マルチホップ通信システム100に含まれる親機10として動作する通信装置は、マルチホップ通信システム100に含まれる少なくとも1つの子機20aにHelloパケットを送信する第一通信部11と、上記通信装置の累積起動回数を示す起動回数情報をHelloパケットに含めて第一通信部11に送信させる第一制御部12とを備える。
以上説明したように、マルチホップ通信システム100に含まれる親機10として動作する通信装置は、マルチホップ通信システム100に含まれる少なくとも1つの子機20aにHelloパケットを送信する第一通信部11と、上記通信装置の累積起動回数を示す起動回数情報をHelloパケットに含めて第一通信部11に送信させる第一制御部12とを備える。
これにより、子機20aは、通信装置の生存確認とルート情報の通知とを目的として一般的に用いられるHelloパケットの受信により、親機10の累積起動回数を取得することができる。つまり、子機20aは、親機10の動作状態を容易に知ることができる。
また、上記通信装置は、さらに、子機20aとの通信に使用される暗号鍵が記憶される第一記憶部13を備え、第一制御部12は、上記通信装置が起動されるごとに第一記憶部13に記憶された暗号鍵を変更してもよい。
これにより、子機20aは、ルート情報の通知等を目的として一般的に用いられるHelloパケットの受信により、暗号鍵が変更されているか否かを判定することができる。
また、第一通信部11は、暗号鍵を子機20aに送信し、第一制御部12は、暗号鍵を送信した子機20aの認証情報を第一記憶部13に記憶し、上記通信装置が起動されると、第一記憶部13に記憶されていた認証情報を削除してもよい。
このように、古い認証情報を削除することによって、安全性が高められる。
また、マルチホップ通信システム100に含まれる子機20aとして動作する通信装置は、マルチホップ通信システム100に含まれる親機10の累積起動回数を示す起動回数情報を含むHelloパケットを受信する第二通信部21と、第二記憶部23と、受信されたHelloパケットに含まれる起動回数情報を第二記憶部23に記憶し、記憶された起動回数情報を用いた情報処理を行う第二制御部22とを備える。
これにより、子機20aは、ルート情報の通知等を目的として一般的に用いられるHelloパケットの受信により、親機10の累積起動回数を取得することができる。つまり、子機20aは、親機10の動作状態を容易に知ることができる。また、第二制御部22は、例えば、認証処理または中継局の選択などの、起動回数情報を用いた情報処理を行うことができる。
また、親機10は、当該親機10が起動されるごとに、上記通信装置との通信に使用される暗号鍵を変更し、第二記憶部23には、さらに、第二通信部21が親機10から受信した暗号鍵が記憶されてもよい。第二制御部22は、さらに、第二通信部21がHelloパケットを受信した場合、受信されたHelloパケットに含まれる第一の起動回数情報が、第二記憶部23に記憶されている第二の起動回数情報と一致するかを判定してもよい。第二制御部22は、第一の起動回数情報が第二の起動回数情報と一致すると判定した場合、第二記憶部23に記憶されている暗号鍵を用いて親機10と通信を行ってもよい。
これにより、親機10が再起動していないときには、子機20aは、第二記憶部23に記憶されている暗号鍵を用いて親機10と通信を継続することができる。
また、第二制御部22は、第一の起動回数情報が、第二の起動回数情報と異なると判定した場合、親機10から当該親機10との通信に使用される暗号鍵を取得するための認証処理を行ってもよい。
これにより、親機10が再起動しているときには、子機20aは、変更後の暗号鍵を取得することができる。
また、マルチホップ通信システム100には、さらに、親機10とは異なる他の親機が含まれてもよい。第二制御部22は、さらに、親機10から暗号鍵を取得するための第一認証処理を行い、第一認証処理の後に第二通信部21がHelloパケットを受信した場合、受信されたHelloパケットに含まれる第一の起動回数情報が、第二記憶部23に記憶されている第二の起動回数情報と一致するかを判定してもよい。そして、第二制御部22は、第一の起動回数情報が第二の起動回数情報と異なると判定した場合、他の親機から当該他の親機との通信に使用される暗号鍵を取得するための第二認証処理を行ってもよい。
これにより、子機20aは、起動回数情報に基づいて、再起動が行われたために通信状態が悪いと推定される親機10のネットワークに代えて、通信状態がよいと思われる他の親機のネットワークに参入することができる。
また、第二制御部22は、さらに、受信されたHelloパケットに含まれる起動回数情報を含むHelloパケットを生成し、生成したHelloパケットを第二通信部21に送信させてもよい。
これにより、親機10と直接通信ができない子機20bも、Helloパケットの受信により、親機10の累積起動回数を取得することができる。つまり、子機20bは、親機10の動作状態を容易に知ることができる。
また、子機20bの第二通信部21は、マルチホップ通信システム100に含まれる、子機20bとは異なる他の複数の子機のそれぞれから親機10の起動回数情報を含むHelloパケットを受信してもよい。また、子機20bの第二制御部22は、さらに、受信されたHelloパケットに含まれる第一の起動回数情報と、子機20bの第二記憶部23に記憶されている第二の起動回数情報とを比較してもよい。子機20bの第二制御部22は、第一の起動回数情報が第二の起動回数情報よりも少ない累積起動回数を示すと判定した場合、親機10にデータを送信するための中継局となる子機を他の複数の子機の中から選択する際に、第一の起動回数情報を含むHelloパケットを送信した子機を中継局の候補から除外してもよい。
更新された起動回数情報を受信していない子機20cは、親機10と通信できていない可能性がある。子機20bがこのような子機20cを経由して親機10に接続しようとすると、データが親機10に到達しない場合があるが、このような構成によれば、データが親機10に到達しない不具合を抑制することができる。
また、子機20bの第二通信部21は、マルチホップ通信システム100に含まれる、子機20bとは異なる他の複数の子機のそれぞれから親機10の起動回数情報を含むHelloパケットを受信してもよい。また、子機20bの第二制御部22は、さらに、受信された複数のHelloパケットに含まれる複数の起動回数情報を比較してもよい。子機20bの第二制御部22は、比較の結果に基づいて、最も累積起動回数が多いことを示す起動回数情報を送信した子機を、親機10にデータを送信するための中継局として選択してもよい。
これにより、データが親機10に到達しない不具合を抑制することができる。
また、マルチホップ通信システム100には、さらに、親機10とは異なる他の親機10aが含まれ、子機20aの第二制御部22は、さらに、親機10から暗号鍵を取得するための第一認証処理を行ってもよい。そして、子機20aの第二制御部22は、第一認証処理の後に子機20aの第二通信部21が親機10の識別子を含むHelloパケットを所定期間T以上受信しなかった場合、他の親機10aから当該他の親機との通信に使用される暗号鍵を取得するための第二認証処理を行ってもよい。
このように、所定期間T以上Helloパケットが受信されないことを検知することにより、子機20aは、親機10が停止した後も、他の親機10aのネットワークに参入して通信を復旧することができる。
また、マルチホップ通信システム100は、親機10と、子機20aとを備える。親機10は、子機20aにHelloパケットを送信する第一通信部11と、親機10の累積起動回数を示す起動回数情報をHelloパケットに含めて第一通信部11に送信させる第一制御部12とを備える。子機20aは、起動回数情報を含むHelloパケットを受信する第二通信部21と、第二記憶部23と、受信されたHelloパケットに含まれる起動回数情報を第二記憶部23に記憶する第二制御部22とを備える。
これにより、子機20aは、Helloパケットの受信により、親機10の累積起動回数を取得することができる。つまり、子機20aは、親機10の動作状態を容易に知ることができる。
また、マルチホップ通信システム100が実行する通信方法において、マルチホップ通信システム100は、親機10と、子機20aとを備える。親機10は、親機10の累積起動回数を示す起動回数情報をHelloパケットに含めて送信する。子機20aは、起動回数情報を含むHelloパケットを受信し、受信されたHelloパケットに含まれる起動回数情報を子機20aが備える第二記憶部23に記憶する。
これにより、子機20aは、Helloパケットの受信により、親機10の累積起動回数を取得することができる。つまり、子機20aは、親機10の動作状態を容易に知ることができる。
(その他の実施の形態)
以上、実施の形態に係るマルチホップ通信システムについて説明したが、本発明は、上記実施の形態に限定されるものではない。
以上、実施の形態に係るマルチホップ通信システムについて説明したが、本発明は、上記実施の形態に限定されるものではない。
上記実施の形態で説明した親機として動作する通信装置、または、子機として動作する通信装置の具体的な態様は、特に限定されない。例えば、空調機器、スマートメータ、または照明機器などが通信装置として使用されてもよい。また、親機と子機とは同種の通信端末である必要はなく、子機がスマートメータである場合に、親機は、子機から取得したデータを管理するコンセントレータ(サーバ)等であってもよい。
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、各構成要素は、回路でもよい。これらの回路は、全体として1つの回路を構成してもよいし、それぞれ別々の回路でもよい。また、これらの回路は、それぞれ、汎用的な回路でもよいし、専用の回路でもよい。
また、上記実施の形態において、特定の処理部が実行する処理を別の処理部が実行してもよい。また、複数の処理の順序が変更されてもよいし、複数の処理が並行して実行されてもよい。
なお、本発明の包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。例えば、本発明は、マルチホップ通信システム、または、マルチホップ通信システムに含まれる親機もしくは子機が実行する通信方法として実現されてもよいし、このような通信方法をコンピュータに実行させるためのプログラムとして実現されてもよい。
以上、一つまたは複数の態様に係るマルチホップ通信システム並びに、マルチホップ通信システムにおいて用いられる通信装置及び通信方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
10、10a 親機
11 第一通信部(通信部)
12 第一制御部(制御部)
13 第一記憶部(記憶部)
20a、20b、20c 子機
21 第二通信部(通信部)
22 第二制御部(制御部)
23 第二記憶部(記憶部)
100 マルチホップ通信システム
11 第一通信部(通信部)
12 第一制御部(制御部)
13 第一記憶部(記憶部)
20a、20b、20c 子機
21 第二通信部(通信部)
22 第二制御部(制御部)
23 第二記憶部(記憶部)
100 マルチホップ通信システム
Claims (14)
- マルチホップ通信システムに含まれる親機として動作する通信装置であって、
前記マルチホップ通信システムに含まれる少なくとも1つの子機にHelloパケットを送信する通信部と、
前記通信装置の累積起動回数を示す起動回数情報を前記Helloパケットに含めて前記通信部に送信させる制御部とを備える
通信装置。 - さらに、前記子機との通信に使用される暗号鍵が記憶される記憶部を備え、
前記制御部は、前記通信装置が起動されるごとに前記記憶部に記憶された暗号鍵を変更する
請求項1に記載の通信装置。 - 前記通信部は、前記暗号鍵を前記子機に送信し、
前記制御部は、
前記暗号鍵を送信した前記子機の認証情報を前記記憶部に記憶し、
前記通信装置が起動されると、前記記憶部に記憶されていた前記認証情報を削除する
請求項2に記載の通信装置。 - マルチホップ通信システムに含まれる子機として動作する通信装置であって、
前記マルチホップ通信システムに含まれる親機の累積起動回数を示す起動回数情報を含むHelloパケットを受信する通信部と、
記憶部と、
受信された前記Helloパケットに含まれる前記起動回数情報を前記記憶部に記憶し、記憶された前記起動回数情報を用いた情報処理を行う制御部とを備える
通信装置。 - 前記親機は、当該親機が起動されるごとに、前記通信装置との通信に使用される暗号鍵を変更し、
前記記憶部には、さらに、前記通信部が前記親機から受信した暗号鍵が記憶され、
前記制御部は、さらに、
前記通信部がHelloパケットを受信した場合、受信されたHelloパケットに含まれる第一の起動回数情報が、前記記憶部に記憶されている第二の起動回数情報と一致するかを判定し、
前記第一の起動回数情報が前記第二の起動回数情報と一致すると判定した場合、前記記憶部に記憶されている暗号鍵を用いて前記親機と通信を行う
請求項4に記載の通信装置。 - 前記制御部は、前記第一の起動回数情報が、前記第二の起動回数情報と異なると判定した場合、前記親機から当該親機との通信に使用される暗号鍵を取得するための認証処理を行う
請求項5に記載の通信装置。 - 前記マルチホップ通信システムには、さらに、前記親機とは異なる他の親機が含まれ、
前記制御部は、さらに、
前記親機から暗号鍵を取得するための第一認証処理を行い、
前記第一認証処理の後に前記通信部がHelloパケットを受信した場合、受信されたHelloパケットに含まれる第一の起動回数情報が、前記記憶部に記憶されている第二の起動回数情報と一致するかを判定し、
前記第一の起動回数情報が前記第二の起動回数情報と異なると判定した場合、前記他の親機から当該他の親機との通信に使用される暗号鍵を取得するための第二認証処理を行う
請求項4に記載の通信装置。 - 前記制御部は、さらに、受信された前記Helloパケットに含まれる前記起動回数情報を含むHelloパケットを生成し、生成したHelloパケットを前記通信部に送信させる
請求項4に記載の通信装置。 - 前記通信部は、前記マルチホップ通信システムに含まれる、前記通信装置とは異なる他の複数の子機のそれぞれから前記親機の起動回数情報を含むHelloパケットを受信し、
前記制御部は、さらに、
受信されたHelloパケットに含まれる第一の起動回数情報と、前記記憶部に記憶されている第二の起動回数情報とを比較し、
前記第一の起動回数情報が前記第二の起動回数情報よりも少ない累積起動回数を示すと判定した場合、前記親機にデータを送信するための中継局となる子機を前記他の複数の子機の中から選択する際に、前記第一の起動回数情報を含むHelloパケットを送信した子機を前記中継局の候補から除外する
請求項4に記載の通信装置。 - 前記通信部は、前記マルチホップ通信システムに含まれる、前記通信装置とは異なる他の複数の子機のそれぞれから前記親機の起動回数情報を含むHelloパケットを受信し、
前記制御部は、さらに、
受信された複数のHelloパケットに含まれる複数の起動回数情報を比較し、
前記比較の結果に基づいて、最も累積起動回数が多いことを示す起動回数情報を送信した子機を、前記親機にデータを送信するための中継局として選択する
請求項4に記載の通信装置。 - 前記マルチホップ通信システムには、さらに、前記親機とは異なる他の親機が含まれ、
前記制御部は、さらに、
前記親機から暗号鍵を取得するための第一認証処理を行い、
前記第一認証処理の後に前記通信部が前記親機の識別子を含むHelloパケットを所定期間以上受信しなかった場合、前記他の親機から当該他の親機との通信に使用される暗号鍵を取得するための第二認証処理を行う
請求項4に記載の通信装置。 - マルチホップ通信システムであって、
親機と、子機とを備え、
前記親機は、
前記子機にHelloパケットを送信する第一通信部と、
前記親機の累積起動回数を示す起動回数情報を前記Helloパケットに含めて前記第一通信部に送信させる第一制御部とを備え、
前記子機は、
前記起動回数情報を含むHelloパケットを受信する第二通信部と、
記憶部と、
受信された前記Helloパケットに含まれる前記起動回数情報を前記記憶部に記憶する第二制御部とを備える
マルチホップ通信システム。 - マルチホップ通信システムが実行する通信方法であって、
前記マルチホップ通信システムは、親機と、子機とを備え、
前記親機は、
前記親機の累積起動回数を示す起動回数情報を前記Helloパケットに含めて送信し、
前記子機は、
前記起動回数情報を含むHelloパケットを受信し、
受信された前記Helloパケットに含まれる前記起動回数情報を前記子機が備える記憶部に記憶する
通信方法。 - 請求項13に記載の通信方法をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16850587.3A EP3358782B1 (en) | 2015-09-30 | 2016-09-08 | Communication device, multihop communication system, and communication method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015195260A JP6436038B2 (ja) | 2015-09-30 | 2015-09-30 | 通信装置、マルチホップ通信システム、及び、通信方法 |
JP2015-195260 | 2015-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017056406A1 true WO2017056406A1 (ja) | 2017-04-06 |
Family
ID=58422882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/004092 WO2017056406A1 (ja) | 2015-09-30 | 2016-09-08 | 通信装置、マルチホップ通信システム、及び、通信方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3358782B1 (ja) |
JP (1) | JP6436038B2 (ja) |
WO (1) | WO2017056406A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11394608B2 (en) * | 2018-09-28 | 2022-07-19 | Huawei Technologies Co., Ltd. | Speaker interaction method, speaker, and speaker system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7289111B2 (ja) * | 2019-06-26 | 2023-06-09 | パナソニックIpマネジメント株式会社 | 通信装置、認証方法およびコンピュータプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005341528A (ja) * | 2004-04-28 | 2005-12-08 | Denso Corp | 通信システム、鍵配信装置、暗号処理装置、盗難防止装置 |
JP2007134996A (ja) * | 2005-11-10 | 2007-05-31 | Nintendo Co Ltd | 通信システム、通信プログラム、および通信端末 |
JP2011066683A (ja) * | 2009-09-17 | 2011-03-31 | Oki Electric Industry Co Ltd | マルチホップ通信方法及び通信端末 |
WO2011045859A1 (ja) * | 2009-10-15 | 2011-04-21 | 富士通株式会社 | 無線通信装置および無線通信プログラム |
JP2011160210A (ja) * | 2010-02-01 | 2011-08-18 | Oki Electric Industry Co Ltd | 通信端末及び通信システム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11146090A (ja) * | 1997-11-06 | 1999-05-28 | Fujitsu Denso Ltd | 単向通信方法及び該方法に使用する無線送信機及び無線受信機 |
JP3747907B2 (ja) * | 2002-12-11 | 2006-02-22 | セイコーエプソン株式会社 | デバイス管理システム、プリンタ管理システム、プリンタ管理端末、ネットワークプリンタ、端末用プログラム及びプリンタ用プログラム、並びにデバイス管理方法 |
JP4715239B2 (ja) * | 2005-03-04 | 2011-07-06 | 沖電気工業株式会社 | 無線アクセス装置、無線アクセス方法及び無線ネットワーク |
US7684355B2 (en) * | 2007-03-19 | 2010-03-23 | Cisco Technology, Inc. | Transparent wireless bridge route aggregation |
JP2014072733A (ja) * | 2012-09-28 | 2014-04-21 | Panasonic Corp | 通信システム、通信端末、管理装置 |
TWI488529B (zh) * | 2013-01-28 | 2015-06-11 | 鋐寶科技股份有限公司 | 網路系統之設定方法 |
JP6432725B2 (ja) * | 2014-07-16 | 2018-12-05 | 学校法人 関西大学 | 無線装置、それを備えた無線通信システムおよび無線装置において実行されるプログラム |
-
2015
- 2015-09-30 JP JP2015195260A patent/JP6436038B2/ja active Active
-
2016
- 2016-09-08 EP EP16850587.3A patent/EP3358782B1/en active Active
- 2016-09-08 WO PCT/JP2016/004092 patent/WO2017056406A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005341528A (ja) * | 2004-04-28 | 2005-12-08 | Denso Corp | 通信システム、鍵配信装置、暗号処理装置、盗難防止装置 |
JP2007134996A (ja) * | 2005-11-10 | 2007-05-31 | Nintendo Co Ltd | 通信システム、通信プログラム、および通信端末 |
JP2011066683A (ja) * | 2009-09-17 | 2011-03-31 | Oki Electric Industry Co Ltd | マルチホップ通信方法及び通信端末 |
WO2011045859A1 (ja) * | 2009-10-15 | 2011-04-21 | 富士通株式会社 | 無線通信装置および無線通信プログラム |
JP2011160210A (ja) * | 2010-02-01 | 2011-08-18 | Oki Electric Industry Co Ltd | 通信端末及び通信システム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11394608B2 (en) * | 2018-09-28 | 2022-07-19 | Huawei Technologies Co., Ltd. | Speaker interaction method, speaker, and speaker system |
Also Published As
Publication number | Publication date |
---|---|
JP2017069850A (ja) | 2017-04-06 |
EP3358782A1 (en) | 2018-08-08 |
JP6436038B2 (ja) | 2018-12-12 |
EP3358782A4 (en) | 2018-08-08 |
EP3358782B1 (en) | 2021-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9907016B2 (en) | Communication device | |
WO2017067430A1 (zh) | 智能设备、电子装置及基于近场通信的网络连接方法 | |
CN112584364A (zh) | 蓝牙网络及其通信方法、设备和存储介质 | |
US9426733B2 (en) | Communication apparatus, method for controlling the communication apparatus, and storage medium | |
JP5150674B2 (ja) | 無線lanシステム、無線lan装置、設定情報設定方法及びそのプログラム | |
JP2008104076A (ja) | 通信パラメータの設定方法、通信装置、通信装置の制御方法およびプログラム | |
JP2009038594A (ja) | 通信装置及び通信パラメータ設定方法 | |
JP5053400B2 (ja) | 無線lan装置、プロトコル実行方法及びそのプログラム | |
JP2008187603A (ja) | 無線通信ネットワークシステム、無線通信方法、ネットワーク構築方法、通信経路切替方法、センタ局、中継局および端局 | |
JP6436038B2 (ja) | 通信装置、マルチホップ通信システム、及び、通信方法 | |
JP6211998B2 (ja) | 中継装置、中継方法、およびコンピュータ・プログラム | |
US9271224B2 (en) | Communication apparatus, and communication method therefor | |
JP2015002412A (ja) | 情報通信装置 | |
US20180063699A1 (en) | Wireless communication apparatus, communication system and wireless communication apparatus control method to exchange services | |
JP2007104389A (ja) | 無線基地局装置および無線基地局装置の通信パラメータ設定方法 | |
JP7017783B2 (ja) | 基地局装置、制御方法、及び、プログラム | |
JP2020099025A (ja) | 無線親機、無線中継機、無線通信システム、無線通信方法、及びプログラム | |
JP6671039B2 (ja) | 通信装置、マルチホップ通信システム、及び、通信方法 | |
JP6410305B2 (ja) | 無線通信装置、機器設定プログラム及び機器設定方法 | |
JP6433004B1 (ja) | 無線ノード、通信制御方法およびプログラム | |
JP2013126094A (ja) | 無線lan用通信装置、動作モード切替方法およびプログラム | |
JP2018195887A (ja) | 情報処理装置、制御方法及びプログラム | |
JP2014216757A (ja) | 通信端末およびそのvid決定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16850587 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2016850587 Country of ref document: EP |