WO2016039039A1 - 通信装置、その制御方法、通信システム、およびプログラム - Google Patents

通信装置、その制御方法、通信システム、およびプログラム Download PDF

Info

Publication number
WO2016039039A1
WO2016039039A1 PCT/JP2015/071807 JP2015071807W WO2016039039A1 WO 2016039039 A1 WO2016039039 A1 WO 2016039039A1 JP 2015071807 W JP2015071807 W JP 2015071807W WO 2016039039 A1 WO2016039039 A1 WO 2016039039A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
notification
communication
receiving
distribution
Prior art date
Application number
PCT/JP2015/071807
Other languages
English (en)
French (fr)
Inventor
原田 繁和
利胤 西大條
貴則 菅野
Original Assignee
日本電気株式会社
日本電気通信システム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社, 日本電気通信システム株式会社 filed Critical 日本電気株式会社
Priority to JP2016509812A priority Critical patent/JPWO2016039039A1/ja
Publication of WO2016039039A1 publication Critical patent/WO2016039039A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements

Definitions

  • the present invention relates to a communication device, a control method thereof, a communication system, and a program, and particularly to a communication device that constitutes a multi-hop network, a control method thereof, a communication system, and a program.
  • Patent Document 1 An example of a method for updating the firmware of a communication device connected to a meter-reading meter is described in Patent Document 1.
  • identification information is attached to a plurality of divided blocks obtained by dividing the firmware by the maintenance terminal, wireless links are established between the maintenance terminal and the plurality of communication units, and the divided blocks are changed. Transmit to each communication unit by broadcast communication.
  • the communication unit manages division block omission based on the received identification information of the division block.
  • the maintenance terminal checks whether each communication unit has a missing block and retransmits the divided block to the communication unit in which the missing block exists.
  • Patent Document 2 describes that a packet is transmitted by multi-hop in the same firmware update method.
  • the divided blocks obtained by dividing the program are sequentially transmitted to the slave stations by broadcast communication in the multi-hop network, and the slave stations are further sequentially transferred to the subordinate slave stations by broadcast communication.
  • the master station performs retransmission processing by confirming the presence of missing blocks for all the slave stations in the network.
  • the effect will spread to the slave stations after the relay station, and multiple information collection and retransmission of the missing block will be performed via the relay stations in the multihop network.
  • the amount of communication traffic increases because it is performed in a multiplexed manner with other slave stations.
  • the present invention has been made in view of the above circumstances, and an object thereof is to provide a communication device capable of efficient program distribution in a multi-hop network, a control method thereof, a communication system, and a program. is there.
  • the first aspect relates to a communication device.
  • the communication device according to the first aspect is A communication device that communicates with a host device and a host device in a multi-hop network, A delivery notification receiving means for receiving a delivery notification of a program from the host device; Program introduction means for installing the program in its own device; Notification means for transmitting the delivery notification to the lower-level device after the installation of the program is completed; Have
  • the second aspect relates to a communication device.
  • the communication device is A delivery notification receiving means for receiving a delivery notification of the program from another device; Program introduction means for installing the program in its own device; A notification means for transmitting the delivery notification to a device other than the other device after the installation of the program is completed; Have
  • a third aspect relates to a method for controlling a communication device executed by at least one computer.
  • the control method of the communication device according to the third aspect is The communication device Communicate with higher-level devices and lower-level devices in a multi-hop network, Receiving a program delivery notification from the host device; Install the program on your device, After the installation of the program is completed, the delivery notification is transmitted to the lower-level device. Including that.
  • the fourth aspect relates to a communication system.
  • the communication system according to the fourth aspect is A distribution start device; and A plurality of communication devices that communicate with higher-level devices and lower-level devices in a multi-hop network, The distribution origin device and the plurality of communication devices are included in a multi-hop network,
  • the communication device A delivery notification receiving means for receiving a delivery notification of a program from the host device; Program receiving means for receiving the program from the host device after receiving the delivery notification; Program introduction means for installing the received program in its own device; Notification means for transmitting the delivery notification to the lower-level device after the installation of the program is completed; Have
  • a program for causing at least one computer to execute the method of the third aspect or a computer-readable recording medium recording such a program. May be.
  • This recording medium includes a non-transitory tangible medium.
  • the computer program includes computer program code that, when executed by a computer, causes the computer to execute the control method on the communication device of the first aspect or the communication device of the second aspect.
  • a plurality of components are formed as a single member, and a single component is formed of a plurality of members. It may be that a certain component is a part of another component, a part of a certain component overlaps with a part of another component, or the like.
  • the plurality of procedures of the method and computer program of the present invention are not limited to being executed at different timings. For this reason, another procedure may occur during the execution of a certain procedure, or some or all of the execution timing of a certain procedure and the execution timing of another procedure may overlap.
  • FIG. 1 is a diagram conceptually showing a system configuration of a communication system 1 according to an embodiment of the present invention.
  • the communication system 1 includes a gateway 14 (shown as “GWn” in the figure) connected to a server 10 (shown as “SVn” in the figure) and a network 12, and a plurality of nodes 16 (shown in the figure). A1 to An, B11 to Bnn, and C111 to C2n1).
  • the gateway 14 relays communication between the server 10 and the plurality of nodes 16.
  • the gateway 14 and the plurality of nodes 16 constitute a multi-hop network. That is, the gateway 14 serves as a distribution start device of the multi-hop network of the present invention.
  • n does not indicate the same number but indicates that a natural number can be taken.
  • FIG. 1 one server 10 and one gateway 14 are shown, but a plurality of servers may be used. Further, the number of nodes 16 is not limited to the number shown in FIG.
  • the network 12 is not particularly limited, and includes various forms of communication networks such as a public network, a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet.
  • the network 12 may be any communication form of wireless, wired, or a combination thereof.
  • a broken line in FIG. 1 schematically shows a communication path between the gateway 14 and the node 16 and between the nodes 16.
  • the communication method between these devices may be any form of wireless, wired, and a combination thereof, but in this specification, between the gateway 14 and the node 16 and between the nodes 16. This will be described as wireless communication.
  • each node 16 is a device that realizes a communication function in which a plurality of devices form a multi-hop network and communicate with each other and further some functions by executing a program with a computer.
  • the function realized by the apparatus is not particularly limited.
  • the present invention provides a communication device, a control method thereof, and a program for distributing a program for realizing the function of a node to each node through a multi-hop network and causing each node to install the program.
  • the program in the present invention is a program installed in each node such as firmware, an OS (Operating System) program, and various application programs operating on the OS, and the type and content of the program are not limited.
  • a part of the function of the gateway 14 interposed between the server 10 and each node 16 can also be realized by the communication apparatus, the control method, and the program of the present invention.
  • the communication device of the present invention may be realized as a communication module included in a node or a single chip, and may be realized in a form that is mounted on another device.
  • the communication device of the present invention is applied to a smart meter.
  • the application example of the communication apparatus of the present invention is not limited to a smart meter.
  • the present invention provides any device as long as it has a communication function that can constitute a multi-hop network, and a function that automatically updates a program installed in its own device with a program received via communication. It is also applicable to.
  • the smart meter has a function of metering the amount of electric power, but may have a function of metering the amount of gas used, the amount of water used, and the like.
  • the smart meter according to the present embodiment has a function of metering power consumption and periodically transmitting it to the server 10.
  • Various methods of transmitting information related to the amount of power consumption to the server 10 have been studied, and wireless multi-hop communication is considered suitable particularly in densely populated areas in urban areas. .
  • data is transferred to a target destination via a plurality of smart meters.
  • Information of each smart meter is aggregated in a concentrator and transferred to a server on the center side via a plurality of smart meters by a bucket relay method.
  • Information and instructions from the server are transferred from the concentrator to the plurality of smart meters in the multi-hop network while spreading the route via the plurality of smart meters.
  • the smart meter corresponds to each node 16, and the concentrator corresponds to the gateway 14.
  • the plurality of nodes 16 communicate with each other through a multi-hop network having a tree structure starting from the gateway 14, and the highest nodes A 1 to An communicate with the gateway 14.
  • the tree structure of the multi-hop network may be fixedly determined or may be dynamically formed by a known routing protocol.
  • Each node 16 distinguishes and recognizes the upper node and lower node of its own node on the tree structure, and establishes radio channels with the upper node and lower node, respectively.
  • the highest node A1 communicates with the nodes B11 to B1n of the next lower layer, and further, for example, the node B11 communicates with the nodes C111 to C11n of the next lower layer.
  • each node 16 When each node 16 receives a broadcast message from an upper node as defined by a well-known protocol of a multi-hop network, it forwards the broadcast message to the lower node. Thereby, the broadcast message transmitted from the gateway 14 is delivered to each node 16 forming the multi-hop network. On the other hand, when each node 16 receives a unicast message addressed to another node from an upper node or a lower node, the node 16 forwards the unicast message to the upper node or the lower node based on the destination of the message.
  • FIG. 2 is a block diagram illustrating a configuration example of the smart meter 50 to which the communication device 100 is applied.
  • the smart meter 50 is realized by a computer 40 including a CPU (Central Processing Unit) 42, a ROM (Read Only Memory) 44, a RAM (Random Access Memory) 46, and an I / O (Input / Output) 48.
  • the computer 40 includes a CPU 42, a memory (RAM 46), a program 60 loaded in the memory for realizing the function of the smart meter 50, a storage (ROM 44) for storing the program 60, and an I for inputting / outputting data and control signals. / O48 is provided.
  • the ROM 44, the RAM 46, and the I / O 48 are connected to each other via a bus 49, and the entire computer 40 is controlled by the CPU 42 together with each element.
  • the ROM 44 and the RAM 46 in this figure are non-volatile memories such as a flash memory and a disk drive, other memories having a function for storing setting data for operating the program 60, temporarily stored data, user data, and the like. It may be a storage device.
  • the ROM 44 is a rewritable nonvolatile memory, and the program 60 stored in the ROM 44 can be updated from a server on the center side.
  • the smart meter 50 includes, for example, a watt-hour meter 52 that measures the power consumption of the load device 20, a first communication unit 54 that communicates with a specific low-power wireless system that uses a 920 MHz band, 3G (3rd generation), LTE, and the like. And a second communication unit 56 that communicates with a mobile phone communication network 30 using a mobile phone communication system such as (Long Term Evolution) via a base station (not shown).
  • the smart meter 50 has a function of transmitting information on the power consumption measured by the watt-hour meter 52 to the server 10 via the other smart meter 50 by the first communication unit 54 (920 MHz) every 30 minutes.
  • the smart meter 50 in the multi-hop network sends the information on the power consumption measured by the power meter 52 to the server 10 every 30 minutes via the first communication unit 54 (920 MHz) via the other smart meter 50 and the concentrator. It has the function to transmit to.
  • the configuration of parts not related to the essence of the present invention is omitted and is not shown.
  • the CPU 42 of the computer 40 reads out the program 60 stored in the ROM 44 to the RAM 46 and executes it, thereby realizing each function of each unit of the smart meter 50.
  • the function itself of the smart meter 50 is not particularly limited, and the above function is merely an example.
  • the communication device 100 can also apply a part of the function as a parent node to the concentrator that is the starting point of the multi-hop network of the smart meter 50.
  • the concentrator has, for example, a function of collecting meter reading data of the subordinate smart meter 50 and transmitting it to the server 10 and a function of distributing instructions from the server 10 to the smart meter 50.
  • the function of the concentrator itself is not particularly limited.
  • the concentrator has at least a function as the gateway 14, and particularly has a function of distributing the program 60 of the smart meter 50 to the subordinate smart meter 50.
  • FIG. 3 is a block diagram illustrating a configuration example of the gateway 14.
  • the gateway 14 of the present embodiment includes the computer 40 and the first communication unit 54 that are the same as the smart meter 50 of FIG. 2, and further includes the second communication unit 58.
  • the second communication unit 58 has a function of communicating by connecting to a LAN (Local Area Network) or a WAN (Wide Area Network) by wire or wirelessly.
  • the gateway 14 can connect to the network 12 and communicate with the server 10 by the second communication unit 58.
  • the second communication unit 58 is connected to a mobile phone communication network using a mobile phone communication system such as 3G or LTE in the same manner as the second communication unit 56 of FIG. It is also possible to connect to the network 12 via, and communicate with the server 10.
  • the CPU 42 of the computer 40 of the gateway 14 can realize each function of the gateway 14 by reading the program 62 stored in the ROM 44 and realizing the function of the gateway 14 into the RAM 46 and executing it.
  • FIG. 4 is a functional block diagram showing a logical configuration of communication apparatus 100 according to the embodiment of the present invention.
  • Communication device 100 is included in a multi-hop network.
  • the distribution notification receiving unit 104 that receives the distribution notification 80 of the program 60 from the higher-level device, the program reception unit 106 that receives the program 60 from the higher-level device after receiving the distribution notification 80, and the program 60 as its own device (communication device) 100) and a notification unit 110 that transmits a delivery notification 80 to the lower-level device after the installation of the program 60 is completed.
  • the communication device 100 further includes a communication unit 102 that communicates with a higher-level device and a lower-level device in a multi-hop network.
  • the communication apparatus of the present invention is not limited to the configuration including the communication unit 102 of FIG. 1, and may be a form that uses the communication function of another apparatus having the function of the communication unit 102.
  • the upper device is the gateway 14, and the lower devices are the nodes B11 to B1n.
  • the higher-level device is the node A1
  • the lower-level nodes are the nodes C111 to C11n.
  • the host device is also referred to as a host node or a parent node.
  • the lower device is also called a lower node or a child node.
  • FIG. 4 is realized by any combination of hardware and software of the computer 40 of FIG. 2 or FIG. It will be understood by those skilled in the art that there are various modifications to the implementation method and apparatus.
  • the functional block diagram showing the communication apparatus of each embodiment to be described below shows a logical functional unit block, not a hardware unit configuration.
  • the program 70 that realizes each function of each unit of the communication apparatus 100 of the present invention shown in FIG. Is stored in the ROM 44.
  • the CPU 42 of the computer 40 reads out the program 70 stored in the ROM 44 to the RAM 46 and executes it, thereby realizing each function of each unit of the communication device 100 of the present invention shown in FIG.
  • the program 60 and the program 70 may be one program.
  • the CPU 42 of the computer 40 included in the gateway 14 reads the program 72 stored in the ROM 44 into the RAM 46 and executes it, whereby the communication apparatus 100 of the present invention shown in FIG. A part of each function of each unit can be realized.
  • the program 62 and the program 72 may be one program.
  • the communication unit 102 establishes communication with the upper node and the lower node in the multi-hop network as shown in FIG. In the present embodiment, it is assumed that each node has already acquired destination information and the like by route search between nodes.
  • the communication unit 102 communicates with other nodes according to the destination information.
  • the communication device 100 is the gateway 14
  • the upper node with which the communication unit 102 establishes communication is the server 10.
  • the communication between the server 10 and the gateway 14 is not a multi-hop network, but a base station connected to a mobile phone communication network using a mobile phone communication system such as 3G or LTE by the second communication unit 56, for example. To connect and communicate.
  • the server 10 and the gateway 14 may be connected to a network such as a LAN or WAN by wireless or wired communication.
  • the first communication unit 54 establishes a multi-hop network by communicating with the gateway 14 and the smart meter 50 of the lower node and the smart meter 50 by a specific low power wireless system using 920 MHz.
  • the distribution notification receiving unit 104 receives the distribution notification 80 of the program 60 from the upper node according to the communication route established by the communication unit 102.
  • the distribution notification 80 is distributed in advance before the program 60 is distributed from the server 10.
  • the origin of the delivery notification 80 delivery may be either the server 10 or the gateway 14 and is not particularly limited.
  • the distribution notification receiving unit 104 may receive the distribution notification 80 from the server 10.
  • reception of the distribution notification 80 by the distribution notification receiving unit 104 may be omitted, and the program receiving unit 106 may receive the program 60 from the server 10 at an arbitrary timing.
  • the program distributed from the server 10 is a part or all of the program 60 that realizes the function of the smart meter 50.
  • the program is firmware for the smart meter 50.
  • the communication apparatus 100 of the present invention has a function of installing a part or all of the program 60 distributed from the server 10 in the computer 40 of each smart meter 50.
  • the program distributed from the server 10 may include the program 70 of the present invention. However, in that case, it is necessary to devise such that the function of the communication device of the present invention operates properly before and after the installation of the program. Become. Since this idea itself is not related to the essence of the present invention, detailed description thereof is omitted.
  • the program distributed from the server 10 is referred to as “program 60”.
  • the program receiving unit 106 After receiving the distribution notification 80, the program receiving unit 106 receives the program 60 from the upper node (the server 10 in the case of the gateway 14). The received program 60 is temporarily stored in the RAM 46 or storage (not shown) in FIG.
  • the program introduction unit 108 installs the program 60 received by the program reception unit 106 in its own device (communication device 100).
  • the program 60 is a part or all of the firmware of the communication apparatus 100. It may be an update program or a new program.
  • “update” includes not only an upgrade to a new version of the program 60 but also a downgrade to return to the previous version.
  • the program introduction unit 108 writes the program 60 temporarily stored in the RAM 46 or storage in FIG. Then, after the new program 60 is written, the communication device 100 is restarted as necessary, loaded into the RAM 46, expanded in a format that can be executed by the CPU 42, and executed by the CPU 42 to complete the installation of the program 60. To do.
  • the notification unit 110 transmits a distribution notification 80 to the lower nodes after the installation of the program 60 is completed.
  • the communication apparatus 100 is the gateway 14 and the program 60 does not include its own target program
  • the program introduction unit 108 does not operate and the notification unit 110 transmits the distribution notification 80 to the lower node.
  • the distribution notification receiving unit 104, the program receiving unit 106, and the program introducing unit 108 are configured to realize a function as a child node, and the notification unit 110 is configured to realize a function as a parent node.
  • the communication unit 102 is configured to realize a function common to the child node and the parent node. As described above, the communication device 100 can have both a function as a child node and a function as a parent node.
  • the child node becomes the next parent node and distributes the program to the child nodes in the next hierarchy (hop).
  • a communication device that cannot be obtained as either a parent node or a child node due to the configuration of the multi-hop network may have only one function. .
  • the delivery notification receiving unit 104 determines whether or not the broadcast message received from the upper node is the delivery notification 80. In the case of the distribution notification 80, the notification unit 110 broadcast-transfers the distribution notification 80.
  • the distribution notification 80 is broadcast from the upper node to the lower node, but the lower node that has received the distribution notification 80 does not immediately transmit the received distribution notification 80 to the further lower node. That is, the communication device 100 temporarily interrupts the broadcast process. After receiving the program 60, the communication device 100 installs the program 60 in its own device (communication device 100), waits for the installation process to be completed, and then broadcast-transmits a distribution notification 80 to a lower node.
  • the program receiving unit 106 may transmit the program distribution request by unicasting to the upper node that is the broadcast source after receiving the broadcast-delivered distribution notification 80.
  • the upper node which is the broadcast source, receives distribution requests from a plurality of nodes under its control.
  • the source upper node may start distribution of the program 60 when receiving a distribution request from at least one node, and does not need to wait until distribution requests from all lower nodes are received.
  • the reason for this is that the lower nodes under the upper node of the transmission source may be dynamically changed, and in this case, it is not possible to specify “all” lower nodes.
  • a lower node that has not received the program 60 may make a retransmission request later.
  • the said structure differs from the case where it applies to the smart meter 50 by the following points, when the communication apparatus 100 is applied to the gateway 14.
  • FIG. The host device of the gateway 14 is the server 10 and communicates with the server 10 via the network 12 instead of the multi-hop network.
  • the gateway 14 may not include the program introduction unit 108 of the communication device 100.
  • the program introduction unit 108 may install the program, and after completion, the distribution notification may be transmitted.
  • the distribution notification receiving unit 104 receives a distribution notification from the server 10.
  • the program receiving unit 106 accesses the server 10 and downloads the program 60 of the smart meter 50.
  • the notification unit 110 transmits a distribution notification to the lower nodes (nodes A1 to An in FIG. 1) after the program receiving unit 106 receives the program 60 of the smart meter 50 from the server 10.
  • the program 70 or the program 72 for realizing the communication apparatus 100 of the present invention will be described below.
  • the program 70 or the program 72 according to the present embodiment is executed by the computer 40 that implements the communication device 100, thereby realizing each function of each unit of the communication device 100.
  • the computer program 70 causes the computer 40 for realizing the communication device 100 (smart meter 50) to have a host device (gateway 14 or host smart meter 50) and a lower device (subordinate smart meter) in the multi-hop network. 50), the procedure for receiving the distribution notification 80 of the program 60 from the host device, the procedure for receiving the program 60 from the host device after receiving the distribution notification 80, and the received program 60 as the own device (communication) It is described that a procedure for installing in the apparatus 100 (computer 40) and a procedure for transmitting the delivery notification 80 to the lower-level apparatus after the installation of the program 60 is completed are described.
  • the computer program 72 of the present embodiment from the server 10 to the computer 40 for realizing the communication device 100 (gateway 14), the procedure for communicating with the lower device (lower smart meter 50) in the multi-hop network, A procedure for receiving the distribution notification 80 of the program 60, a procedure for receiving the program 60 from the server 10 after receiving the distribution notification 80, and a procedure for transmitting the distribution notification 80 to the lower-level device after receiving the program 60 are executed. It is described as follows.
  • the computer program 70 or the program 72 of the present embodiment may be recorded on a recording medium readable by the computer 40.
  • the recording medium is not particularly limited, and various forms can be considered.
  • the program 70 or the program 72 may be loaded from a recording medium into the memory of the computer 40, or may be downloaded to the computer 40 through a network and loaded into the memory.
  • the recording medium for recording the computer program 70 or the program 72 includes a medium that can be used by the non-transitory tangible computer 40, and a program code that can be read by the computer 40 is embedded in the medium.
  • the computer 40 is caused to execute the following control method for realizing the communication device 100.
  • FIG. 5 is a flowchart illustrating an example of the operation of the communication apparatus 100 according to the present embodiment.
  • the control method according to the embodiment of the present invention is a control method for the communication apparatus 100, and is a control method executed by the computer 40 that implements the communication apparatus 100.
  • the communication device 100 communicates with an upper device and a lower device in a multi-hop network (step S101), receives a program distribution notification from the upper device (step S103), and sends a distribution notification.
  • step S103 After receiving (YES in step S103), the program is received from the host device (step S105), the received program is installed in the own device (step S107), and after the program installation is completed (YES in step S109), the lower device A delivery notification is transmitted to (step S111).
  • the delivery notification 80 is included in the broadcast message.
  • the distribution notification receiving unit 104 determines whether or not the broadcast message received from the higher-level device is the distribution notification 80. If the notification is a distribution notification 80 (YES in step S103), the program introduction unit 108 installs the program in its own device in step S107. Then, after the program installation is completed (YES in step S109), in step S111, the notification unit 110 transfers the distribution notification 80 to the lower-level device.
  • the communication device 100 in a situation where the communication unit 102 has established communication with the upper device and the lower device in the multi-hop network, the communication device 100 is a normal operation, for example, if it is a smart meter 50, Processing for periodically transmitting meter reading data to the server 10 is performed. Under such circumstances, when the program 60 of the smart meter 50 is transmitted from the server 10 to the gateway 14, the gateway 14 stores the received program 60 in the RAM 46 or storage (not shown).
  • the gateway 14 starts a process of distributing the program 60 of the smart meter 50 received from the server 10 to each node 16 via the multihop network. Specifically, the gateway 14 first transmits a distribution notification 80 of the program 60 to the lower node. Then, the distribution notification receiving unit 104 of each node receives this distribution notification 80. In each node, after receiving the distribution notification 80, the program receiving unit 106 receives the program 60 from the higher-level device (here, the gateway 14) and temporarily stores it in the RAM 46 or storage (not shown). At this time, the notification unit 110 does not immediately transmit the distribution notification 80 to the lower device. The program introduction unit 108 installs the received program 60 in its own device (communication device 100), and after the installation of the program 60 is completed by the notification unit 110, the distribution notification 80 is transmitted to a plurality of lower-level nodes.
  • the distribution notification receiving unit 104 of each node in the lower hierarchy receives this distribution notification 80, thereafter receives and installs the program 60 in the same manner, and transmits the distribution notification 80 to a plurality of nodes in the lower hierarchy. To do. In this way, the program 60 is transferred from the gateway 14 while being sequentially spread to the lower layer nodes in the multi-hop network.
  • the gateway 14 (or the server 10) manages all the lower nodes. Instead, it is possible to complete the data distribution between the nodes having the most recent parent-child relationship, and sequentially repeat the transfer to the next lower layer.
  • the communication apparatus 100 of this embodiment can suppress generation
  • the communication apparatus 100 according to the present embodiment can autonomously manage the program distribution process for each layer.
  • the communication apparatus 100 determines whether or not the distribution notification 80 is received. In the case of the distribution notification 80, the broadcast message is not transferred immediately, and the installation of the program 60 is completed. Wait until later before transferring. As a result, it is possible to complete the program distribution process between nodes in the most recent parent-child relationship while enabling notification by a simple distribution method using a broadcast message. The generation of unnecessary traffic that crosses over can be suppressed, the management load on the host side can be reduced, and efficient program distribution becomes possible.
  • the communication apparatus 100 according to the present embodiment can autonomously manage the program distribution process for each layer.
  • FIG. 6 is a functional block diagram showing a logical configuration of the communication apparatus according to the embodiment of the present invention.
  • FIG. 6 shows only the main configuration of the communication apparatus.
  • a configuration example when the communication device functions as the child node 120 and a configuration example when the communication device functions as the parent node 130 are distinguished from each other. Since the communication device can be both the child node 120 and the parent node 130, all the components that realize both functions can be provided.
  • the configuration necessary for each node is shown.
  • the communication apparatus of the present invention can have at least one of a function as a parent node 130 for distributing a program and a function as a child node 120 for receiving and installing a program.
  • the child node 120 when the child node 120 receives and installs the program, the child node 120 becomes the parent node 130 and distributes the program to the child node 120 of the next hierarchy (hop).
  • a communication device that cannot be obtained as either a parent node or a child node due to the configuration of the multi-hop network (for example, a node at the highest level or the lowest level) may have only one function. .
  • Each function of the parent node and the child node can be realized by a program, and a corresponding function can be realized by selectively executing a program that realizes each function. Since these techniques are obvious to those skilled in the art regardless of the essence of the present invention, a detailed description thereof will be omitted.
  • the communication device of this embodiment is different from the communication device 100 of the above-described embodiment of FIG. 4 in that the child node 120 transmits a distribution request to the parent node 130 so that the child node 120 can receive the program at its own convenient timing. To do.
  • the communication device of the present embodiment has the same configuration as the communication device 100 of the above-described embodiment of FIG. 4 and further includes a distribution request unit 122.
  • the communication device has the same configuration as that of the communication device 100 of the above embodiment of FIG. 4, and further includes a distribution request reception unit 132 and a program transmission unit 134.
  • the distribution request unit 122 distributes the program at a reception timing determined based on the operation status or operation schedule of the own device.
  • the request 82 is transmitted to the host device (parent node 130).
  • the distribution request unit 122 can determine a convenient timing suitable for performing the reception process of the program 60 as the reception timing based on the operation status of the communication device itself and the operation schedule.
  • the distribution request unit 122 may determine the reception timing based on the operation load of the own device, for example, by selecting a time with a relatively low load while avoiding a time when the operation processing load inherent to the communication device is high. .
  • the distribution request unit 122 may determine the reception timing other than during the meter reading data transmission process.
  • the distribution request receiving unit 132 receives the distribution request 82 of the program 60 from any one of the plurality of lower-level devices (child nodes 120). After the distribution request receiving unit 132 obtains the distribution request 82 from any one of the plurality of lower-level devices (child nodes 120), the program transmission unit 134 sends the program 60 to the lower-level devices (child nodes 120). Broadcast transmission.
  • the child node 120 that has received the distribution notification 80 determines a convenient reception timing by the distribution request unit 122 according to its own operation schedule and transmits the distribution request 82 of the program 60 to the parent node 130. After transmitting the distribution notification 80 to the child node 120, the parent node 130 waits for transmission of the program 60 until receiving the distribution request 82 from the child node 120. The parent node 130 receives the distribution request 82 of the program 60 from any one of the child nodes 120 by the distribution request receiving unit 132 and then broadcasts the program 60 to the child node 120 by the program transmission unit 134. Send it.
  • the source upper node may start distribution of the program 60 upon receiving a distribution request from at least one node, and does not need to wait until distribution requests from all lower nodes are received.
  • the reason for this is that the lower nodes under the upper node of the transmission source may be dynamically changed, and in this case, it is not possible to specify “all” lower nodes.
  • a lower node that has not received the program 60 may make a retransmission request later.
  • the distribution request unit 122 informs the parent node 130 at a timing convenient for the child node 120 according to the operation schedule of the child node 120.
  • the distribution request 82 of the program 60 can be transmitted, and as a result, the program 60 can be received at a timing convenient to itself.
  • the program transmission unit 134 broadcasts the program 60 to the subordinate child nodes 120. To do. Thereby, the subordinate child node 120 can receive the program 60 transmitted by broadcast. If the child node 120 cannot receive the transmitted program 60 because the reception timing does not match, the program that could not be received by making a retransmission request to the parent node 130 later, as will be described later. 60 can be received.
  • the program 60 when distributing the program 60 to the child node 120, it is preferable that the program 60 is not transmitted as it is, but is divided into a plurality of blocks and transmitted.
  • the child node 120 in FIG. 6 includes a program receiving unit 124 instead of the program receiving unit 106.
  • the program transmission unit 134 when receiving the distribution request 82, broadcast-transmits the program 60 divided into a plurality of blocks to the lower device (child node 120).
  • the block corresponds to a so-called packet.
  • the program receiving unit 124 sequentially receives each block broadcast from the parent node 130.
  • FIG. 7 is a flowchart illustrating an example of the operation of the communication apparatus according to the present embodiment.
  • the parent node A1 having the configuration of the communication device 130 and the child nodes B11, B12,... Having the configuration of the communication device 120 that receive the program from the parent node A1. . . , B1n is shown.
  • n is a natural number.
  • This flow shows the details of the procedure of the program reception process in step S105, which starts from the reception of the delivery notification in step S103 in the flowchart of FIG. 5 of the above embodiment.
  • each child node has already completed communication establishment in step S101 in FIG.
  • the program installation in step S107 of the flowchart of FIG. 5 is completed (YES in step S109 of FIG. 5), and the notification unit 110 broadcasts the distribution notification 80 (step S111).
  • the flow is shown.
  • a plurality of child nodes B11, B12,. . . , B1n respectively receives the distribution notification 80 broadcasted (YES in step S103), the child node sends the distribution request 82 of the program 60 at a convenient timing according to its own operation schedule by the distribution request unit 122. Unicast transmission is performed to the parent node A1 (step S123).
  • the delivery request 82 of the child node B11 reaches the parent node A1 earliest. Thereafter, the other child nodes B12,. . . , B1n distribution request 82 may be received by parent node A1, and information of a child node that has received distribution request 82 may be recorded. However, in a configuration that does not require the distribution request 82, it may be discarded.
  • the program transmission unit 134 broadcast-transmits a plurality of blocks (here, M blocks) obtained by dividing the program 60 to lower-level devices (child nodes B11, B12,..., B1n) (steps S131 to S1) S137).
  • the distribution of the program 60 is started when the distribution request 82 is obtained from any one of the plurality of child nodes 120, the program transmitted by broadcast is transmitted before the distribution request 82 is transmitted. There will also be a child node 120 to receive. In this case, if the program is ready to be received, the child node 120 can receive the program broadcasted as it is.
  • the program transmission unit 134 sets 1 to the block number i (step S131), and prepares to start block transmission.
  • i is a natural number.
  • the program transmission unit 134 transfers the block (1) with the block number 1 to the child nodes B11, B12,. . . , B1n is broadcast (step S133).
  • Child nodes B11, B12,. . . , B1n receive the block (1) by the program receiving unit 124 (step S141).
  • the program transmission unit 134 increments the block number i (step S135).
  • the transmission interval between the block (i) and the block (i + 1) is at least a time (t seconds) for receiving the block (i) on the child node side.
  • Child nodes B11, B12,. . . , B1n each receive block (2) (step S141). Thereafter, the blocks of the program 60 are broadcasted sequentially, and when i> M (YES in step S137), the transmission of all the blocks is complete, so the program transmission processing is terminated. In this way, the child nodes B11, B12,. . . , B1n terminates the process after receiving all the blocks of the program 60 by the program receiving unit 124.
  • each child node proceeds to the processing after step S107 in FIG.
  • Each child node installs the program 60 by the program introduction unit 108 (step S107 in FIG. 5).
  • the notification unit 110 broadcasts and notifies the distribution notification 80 to lower nodes (for example, the nodes C111 to C11n in FIG. 1) (step S111). ).
  • the program 60 is divided into a plurality of blocks and transmitted. Blocks can be received. Further, since the distribution of the program is started when at least one distribution request 82 of the child node corresponding to the distribution notification 80 transmitted by broadcast is received, even before the distribution request 82 is transmitted by itself, When the distribution of the program is started by the distribution request 82 transmitted by the user, the broadcast-transmitted program can be received, so that all the child nodes do not need to transmit the distribution request 82, and the communication load can be further reduced.
  • the program transmission unit 134 does not transmit the program 60 as it is, but transmits the program 60 in small blocks, thereby preventing the communication path from being occupied by transmission of the program 60 having a large size. it can. Also, as will be described later, if transmission / reception is performed in units of blocks, even if a packet loss occurs due to a communication failure or the like, it is only necessary to retransmit the missing packet (block) instead of retransmitting the entire program 60. Efficiency is good. Further, the transmission of the blocks can be performed in small intervals between normal processing such as each node (smart meter 50) transmitting meter reading data to the server 10, and the normal processing of each node is not delayed. .
  • FIG. 8 is a functional block diagram showing a logical configuration of the communication apparatus according to the embodiment of the present invention.
  • FIG. 8 shows only the main configuration of the communication apparatus.
  • a configuration example when the communication device functions as the child node 150 and a configuration example when the communication device functions as the parent node 170 are distinguished from each other.
  • the communication device of the present invention can be both a child node and a parent node, for example, as shown in FIG. 14, as a communication device 180, a component that realizes both functions (parent node 182 and child node 184). May all be provided.
  • FIG. 8 for the sake of explanation, only the configuration necessary for each node is shown.
  • the communication apparatus of the present invention can have both a function as a parent node 170 for distributing a program and a function as a child node 150 for receiving and installing a program.
  • the child node 150 when the child node 150 receives and installs the program, the child node 150 becomes the parent node 170 and distributes the program to the child node 150 of the next hierarchy (hop).
  • a communication device that can hardly be used as either a parent node or a child node in the configuration of a multi-hop network may have only one function.
  • Each function of the parent node and the child node can be realized by a program, and a corresponding function can be realized by selectively executing a program that realizes each function. Since these techniques are obvious to those skilled in the art regardless of the essence of the present invention, a detailed description thereof will be omitted.
  • the child node 150 detects whether or not the plurality of received blocks have a deficiency corresponding to the entire program 60, and the deficient block is detected as the parent node 170. It is different in that it is retransmitted.
  • the child node 150 of the communication device includes the communication unit 102, the distribution notification receiving unit 104, the program introduction unit 108, and the notification unit 110 (all not shown in FIG. 8) of the communication device 100 of FIG. ) And a program receiving unit 124, a deficiency determining unit 154, and a distribution requesting unit 156.
  • the parent node 170 of the communication device includes the components (not shown in FIG. 8) of the communication device 100 in FIG. 4 and the program transmission unit 134 of the communication device 130 in FIG.
  • a receiving unit 172 is provided.
  • the parent node 170 may include a completion determination unit 174 described later.
  • the program receiving unit 124 receives a plurality of broadcast-transmitted blocks obtained by dividing the program.
  • the deficiency determination unit 154 determines whether the plurality of blocks are deficient with respect to the entire program.
  • the distribution request unit 156 transmits a distribution request 83 including designation of the insufficient block to the higher-level device (parent node 170). Note that the reception timing of the missing block can be determined based on the operation status or the operation schedule of the own device, similarly to the distribution request unit 122 of the above embodiment.
  • the determination is made by the method exemplified below.
  • the notification unit 110 notifies the distribution notification transmitted to the child node 150 by including in advance the total number of blocks of the program divided into a plurality of transmission targets.
  • the parent node 170 transmits each block with a block identifier.
  • integer numbers are assigned to blocks in order from 1.
  • the child node 150 may identify the missing block based on the received block identifier and the total number of blocks. Note that a method for transmitting and receiving data by dividing the data into blocks is obvious to those skilled in the art regardless of the essence of the present invention, and thus detailed description thereof is omitted.
  • the distribution request receiving unit 172 receives the distribution request 83 including the designation of the insufficient block from the lower level device (child node 150).
  • the program transmission unit 134 broadcasts the missing block to the lower-level device (child node 150).
  • the program transmission unit 134 may broadcast the missing block. In the plurality of child nodes 150 subordinate to the parent node 170, if there is no missing block (if the distribution request 83 has not been transmitted), the program receiving unit 124 may ignore the broadcast-transmitted block without receiving it. . Alternatively, the program receiving unit 124 of the child node 150 once receives the block, determines whether the received insufficient block is necessary, temporarily stores the necessary block in the RAM 46, and discards the unnecessary block. Also good.
  • the program transmitting unit 134 specifies the missing block specified by the distribution request 83. Is broadcasted to a plurality of child nodes 150 under its control. At this time, only the designated missing block may be transmitted, or all the blocks after the designated missing block may be transmitted.
  • the child node 150 simply transmits the distribution request 83 to the parent node 170 once, and continues the missing block. Can be received efficiently.
  • the distribution request 83 may further include information designating whether to transmit only the missing block or all blocks after the missing block. Alternatively, the distribution request 83 may include designation of a range of insufficient blocks.
  • the distribution request 83 (or distribution request 82) of the program 60 is sent from the subordinate device (child node 150) under its control until a predetermined time elapses.
  • a completion determination unit 174 that determines that reception of the program 60 of the lower-level device (child node 150) is completed is provided.
  • the determination of completion is also possible other than after a predetermined time has elapsed since the transmission of the distribution notification 80, for example, after a predetermined time has elapsed since the first distribution request 82 (or distribution request 83) was received from the child node 150.
  • it may be after a predetermined time has elapsed after the first transmission of all blocks of the program 60 is completed, or after a predetermined time has elapsed since the last block transmission (including retransmission), and at least these Two combinations may be used and are not particularly limited.
  • FIG. 9 is a flowchart illustrating an example of the operation of the communication apparatus according to the present embodiment.
  • the flowchart of FIG. 9 includes steps S151 to S155 in addition to the same procedure as that of the flowchart of FIG. Only the procedure different from FIG. 7 will be described below.
  • step S141 each child node 150 receives up to the block (M) by the program receiving unit 124 (not shown), and then confirms the received block number by the shortage determining unit 154, and blocks corresponding to the entire program 60 are found. It is determined whether all have been received, and it is determined whether there is no shortage (step S151).
  • step S151 If there is an insufficiency (YES in step S151), the process returns to step S123, the reception timing is determined based on its own schedule, and at the determined timing, the distribution request unit 156 generates a distribution request 83 including the designation of the insufficient block. Transmit to the parent node 130.
  • the parent node 170 has a plurality of child nodes B11, B12,. . .
  • the distribution request 83 is obtained from any one of B1n (YES in step S125)
  • block retransmission processing is performed.
  • the child node 150 that has transmitted the distribution request 83 receives the block broadcast-transmitted from the parent node 170 by the program receiving unit 124 (step S141). Block reception is repeated until there is no missing block, and when there is no missing block (NO in step S151), this process ends. Note that the child node 150 having no missing block discards the block broadcast from the parent node 170 (not shown).
  • the block number j is specified in the distribution request 83 including the specification of an insufficient block.
  • step S137 when it is determined in step S137 that the transmission of all blocks of the program 60 has been completed (i> M) (YES in step S137), the parent node 170 has passed a predetermined time after the transmission of the delivery notification 80. It is determined whether or not there is (step S153). When the predetermined time has elapsed (YES in step S153), the completion determination unit 174 determines that the program distribution has been completed (step S155), and ends this process. While the predetermined time has not elapsed (NO in step S153), the process returns to step S125 and waits for the distribution request 82 from the subordinate child node 150. The standby state for receiving the distribution request 82 (step S125) is maintained until a predetermined time elapses (NO in step S153).
  • a retransmission of the deficient block can be requested.
  • a distribution request may be made to the immediate parent node that transmitted the block.
  • the nearest parent node since the nearest parent node can perform retransmission processing of the insufficient block by broadcast transmission, it is not necessary to communicate across a plurality of layers (hops), and the communication load can be reduced.
  • the delivery notification 80 is transmitted, when the delivery request 83 is not received after a lapse of a predetermined time after the transmission, it is determined that the reception of the program of the lower device is completed, and the processing is performed. finish.
  • the parent node determines whether or not the program reception of the subordinate node is complete, the management is simple and efficient.
  • FIG. 10 is a functional block diagram showing a logical configuration of communication apparatus 200 according to the embodiment of the present invention.
  • the communication apparatus 200 of the present embodiment is different from the communication apparatus of the above-described embodiment in that the transmission timing of the delivery notification transmitted to the child node after the program is installed is shifted between nodes in the same hierarchy.
  • the communication device 200 in FIG. 10 includes a communication unit 102, a distribution notification reception unit 104, a program reception unit 106, a program introduction unit 108, and the communication device in FIG. 130 includes a distribution request receiving unit 132 and a program transmitting unit 134 similar to those of 130, and further includes a notification unit 210.
  • the configuration of the communication device 100 of FIG. 4 and the configuration of the communication device 130 of FIG. 6 includes the notification unit 210, but the configuration of the other embodiments may include the notification unit 210. Each configuration can be combined within a consistent range.
  • the notification unit 210 when the notification unit 210 transmits the distribution notification 80 to the lower device after the installation of the program 60 is completed, the notification unit 210 distributes at a transmission timing set at a timing different from that of other communication devices in the same hierarchy in the multihop network. Send notifications.
  • nodes B11, B12,. . . , B1n installs the program 60 received from the parent node A1, respectively, then each node B11, B12,. . . , B1n broadcasts a delivery notification 80 to the child node C1nn of the next layer at different timings.
  • the transmission timing of the delivery notification 80 may be determined for each node.
  • the notification unit 210 calculates the transmission timing using a predetermined function based on the identifier of the node or the MAC (Media Access Control) address. May be.
  • the transmission timing can be set by a waiting time T (seconds) from the completion of installation to the transmission.
  • the upper limit of the number of child nodes included in one gateway 14 or the parent node is n (n is a natural number), and the notification unit 210 simply ranges from 0 to (n ⁇ 1) for each node.
  • the number m may be allocated (m is an integer) and the waiting time of the m-th node may be obtained as T ⁇ m (seconds).
  • the upper limit of the number of child nodes included in one gateway 14 or parent node is n (n is a natural number), and the notification unit 210 generates a random number in the range of 0 to (n ⁇ 1).
  • M is an integer
  • T ⁇ m seconds
  • FIG. 11 is a flowchart illustrating an example of the operation of the communication apparatus 200 according to the present embodiment.
  • the control method according to the embodiment of the present invention is a control method for the communication apparatus 200, and is a control method executed by the computer 40 (FIG. 2 or FIG. 3) that implements the communication apparatus 200.
  • the operation of the communication apparatus 200 of this embodiment includes steps S101 to S111 similar to those in the flowchart of the above-described embodiment of FIG. 5, and further includes step S201.
  • the notification unit 210 waits until transmission imming (step S201). When the transmission timing is reached, the notification unit 210 broadcasts the distribution notification 80 (step S111).
  • a delivery notification can be transmitted at a different timing from other nodes in the same hierarchy.
  • Wireless traffic congestion between nodes can be reduced with a simple configuration.
  • the transmission timing is set with a simple configuration. It is possible to reduce the congestion of wireless traffic.
  • Possible causes of the route change include, for example, deterioration of radio wave conditions in the network, failure of the node, establishment of a new node, and the like.
  • the child node that has received the block is changed to (A) as it is, (B) under the control of another parent node with better radio wave condition.
  • a block may be received from another parent node newly subordinated. If the blocks received from the first parent node and the blocks received from the new parent node are still short of the blocks that make up the entire program, as in the configuration of the first embodiment above, What is necessary is just to make a delivery request for missing blocks to the parent node. In addition, what is necessary is just to discard the block which overlaps.
  • FIG. 12 is a functional block diagram showing a logical configuration of communication apparatus 400 according to another embodiment of the present invention. Note that FIG. 12 shows only the main configuration of the communication apparatus 400.
  • the communication device 400 may further include a configuration similar to at least one of other embodiments not shown, and the configurations can be combined within a consistent range.
  • the communication device 400 includes the program receiving unit 124 of FIG. 8 (not shown in FIG. 12).
  • the distribution notification receiving unit 402 receives a distribution notification 86 including program attribute information. Then, the communication device 400 determines whether or not to install the program received by the program receiving unit 124 based on the attribute information included in the received delivery notification 86 and the attribute information related to the program of the own device. A determination unit 408.
  • the notification unit 404 transmits a distribution notification 86 including attribute information after completion of program installation, or a distribution notification including attribute information regardless of completion of program installation. 86 is switched.
  • the communication apparatus 400 of this embodiment further includes a storage unit 406 that stores attribute information of the program of the own apparatus.
  • the storage unit 406 corresponds to the ROM 44, RAM 46, or storage (not shown) in FIG. 2, or a predetermined register (not shown) in the CPU 42.
  • Attribute information includes at least one of the type and version information of the program to be updated. Furthermore, the attribute information may include at least one of the type and version information of the updated program to be distributed. Furthermore, it is preferable that this attribute information is also divided and transmitted to each block distributed by dividing the program.
  • the type of program includes the model name of the corresponding device to be updated, the name of the program, and the like.
  • FIG. 13 is a flowchart illustrating an example of the operation of the communication apparatus 400 according to the present embodiment.
  • the distribution notification receiving unit 402 receives a distribution notification 86 including program attribute information (step S401).
  • the program receiving unit 124 receives the program 60 from the upper node (step S105).
  • the target determination unit 408 refers to the attribute information of the program stored in the storage unit 406, compares the attribute information included in the distribution notification 86 received in step S401, and determines the program 60 to be distributed as its own device. It is determined whether or not to install (step S403).
  • the version to be updated is newer than the version of the own device, it can be determined as the installation target. If all devices in the multi-hop network are of the same type, it can be determined only by the version information of the program to be updated, and if the information of the version to be updated matches the version information of its own device, Can be determined. However, when the version to be updated is older than the version of the own device, it is not excluded to determine that the version is to be installed, and a case where the version is forcibly returned to the previous version may be included.
  • the program introduction unit 410 receives the received program 60 in the same manner as in steps S107 to S111 in the flowchart of FIG. Installed in itself (step S107).
  • the notification unit 404 notifies the lower level node of a distribution notification 86 including distribution information (step S111).
  • step S403 determines whether the program is not to be installed in the own apparatus (NO in step S403). If the determination result is that the program is not to be installed in the own apparatus (NO in step S403), the process proceeds to step S111 without performing the program installation processing in steps S107 and S109.
  • the notification unit 404 transmits a distribution notification 86 including attribute information to the lower node, and proceeds to a process of transferring the program 60 received in step S105.
  • the node that is not the installation target does not install the program, but receives and stores the program data and distributes it to the subordinate nodes.
  • the distribution notification 86 is transmitted including the type and version information of the program 60 to be distributed, and the received program 60 is compared with the program information of its own apparatus. Is installed on the own device. If it is not an installation target, the communication device 400 does not install the received program 60 and transmits a distribution notification 86 to the lower node in order to transfer the program 60 to the lower node as it is.
  • the communication apparatus 400 according to the present embodiment can be appropriately and efficiently used even when different types of devices and devices having different versions of the program 60 installed are mixed in the multi-hop network.
  • the program 60 can be installed on its own device, and programs for other devices can be transferred.
  • FIG. 19 is a functional block diagram showing a logical configuration of communication apparatus 500 according to the embodiment of the present invention.
  • the communication device 500 of this embodiment is different from the other embodiments described above in that the communication device 500 is not limited to receiving the program 60 installed in its own device from the host device.
  • the communication device 500 of this embodiment includes a communication unit 102, a distribution notification receiving unit 104, a program introduction unit 108, and a notification unit 110, which are the same as the communication device 100 of the above embodiment of FIG.
  • the communication device 500 includes a communication unit 102 that communicates with a host device and a lower device in a multi-hop network, a delivery notification receiver 104 that receives a delivery notification 80 of the program 60 from the host device, and a program 60.
  • a communication unit 102 that communicates with a host device and a lower device in a multi-hop network
  • a delivery notification receiver 104 that receives a delivery notification 80 of the program 60 from the host device
  • a program 60 are installed in the own device (communication device 500)
  • a notification unit 110 that transmits a delivery notification to the lower device after the installation of the program 60 is completed.
  • the distribution notification 80 of the program 60 is distributed from the host device before the program 60, but the reception timing of the distribution notification 80 and the program 60 in the communication device is the distribution timing (the program 60 after the distribution notification 80). Is not always the same as Depending on the state of the communication path, there may be a case where the distribution notification 80 and the program 60 receive the program 60 at the same time or before the distribution notification 80, and the present invention does not exclude such a case.
  • a mode in which the distribution notification 80 is added before the first block of the program 60 distributed in a plurality of blocks and distributed is not excluded.
  • a program from the nearest higher-level device, another communication device, a server, or external media is used before receiving the distribution notification 80 in a plurality of nodes (communication device 500) of the multi-hop network. It is not excluded that the node (communication device 500) stored in the RAM 46 (FIG. 2) or storage (not shown) of the own device (computer 40 in FIG. 2) is included. In that case, the node may install the already acquired program 60 after receiving the distribution notification 80. Then, after the installation of the program 60 is completed, the delivery notification 80 may be transmitted to the lower device, and then the program 60 may be transmitted to the lower device.
  • the computer program 70 causes the computer 40 for realizing the communication device 500 (smart meter 50) to have a host device (gateway 14 or host smart meter 50) and a lower device (subordinate smart meter) in the multi-hop network. 50), a procedure for receiving the distribution notification 80 of the program 60 from the host device, a procedure for installing the program 60 in its own device (communication device 500 (computer 40)), and after the program 60 has been installed, The procedure for transmitting the delivery notification 80 to the apparatus is described.
  • FIG. 20 is a flowchart illustrating an example of the operation of the communication apparatus 500 of the present embodiment.
  • the control method according to the embodiment of the present invention is a control method for the communication apparatus 500, and is a control method executed by the computer 40 that implements the communication apparatus 500.
  • the communication device 500 communicates with the host device and the lower device in the multi-hop network (step S101), receives the distribution notification 80 of the program 60 from the host device (step S103), and the program. 60 is installed in the own apparatus (step S107), and after the program installation is completed (YES in step S109), a distribution notification 80 is transmitted to the lower apparatus (step S111).
  • the gateway 14 (or the server 10) does not manage all lower nodes.
  • the data distribution can be completed between the most recent nodes in the parent-child relationship, and the transfer can be sequentially repeated to the next lower layer.
  • the communication apparatus 500 according to the present embodiment can suppress generation of unnecessary traffic that straddles multiple layers of nodes in the multi-hop network, and can reduce the management load on the upper side, thereby efficiently distributing the program. Is possible.
  • the communication apparatus 500 according to the present embodiment can autonomously manage the program distribution process for each layer.
  • FIG. 21 is a functional block diagram showing a logical configuration of communication apparatus 600 according to the embodiment of the present invention.
  • the communication device 600 of this embodiment is different from the communication devices of the other embodiments described above in that the transfer of the program 60 is not limited to the transfer from the upper device to the lower device.
  • the communication device 600 includes a distribution notification receiving unit 604 that receives the distribution notification 80 of the program 60 from another device, a program introduction unit 108 that installs the program 60 in its own device, and another device after the installation of the program 60 is completed.
  • a notification unit 610 that transmits a distribution notification 80 to other devices.
  • the communication apparatus 600 executed by at least one computer receives the distribution notification 80 of the program 60 from another apparatus, installs the program 60 in its own apparatus, After the installation of 60, the delivery notification 80 is transmitted to a device other than the other devices.
  • the computer program of the present embodiment may be a program that causes at least one computer to execute the control method of the communication device 600, or may be a computer-readable recording medium that records such a program.
  • This recording medium includes a non-transitory tangible medium.
  • the computer program includes computer program code that, when executed by a computer, causes the computer to perform its control method on the communication device 600.
  • the gateway 14 (or the server 10) does not manage all the nodes. Instead, the data distribution can be completed between the nearest nodes, and the transfer can be sequentially repeated to the next other node.
  • the communication apparatus 600 of this embodiment can suppress generation
  • the communication apparatus 600 according to the present embodiment can autonomously manage the program distribution process for each nearest node.
  • Example 1 This example is an example of the first embodiment, and each node is assumed to have the configuration of the communication device 180 of the first embodiment of FIG. Each communication device 180 is assumed to be a smart meter 50.
  • FIG. 15 is a diagram illustrating an operation flow of the communication system according to the first embodiment of this invention. In the figure, a broken-line arrow indicates that a message is unicasted, and a double-lined arrow indicates that a message is broadcasted.
  • the server 10 transmits an update notification of the program 60 to the gateway 14 (GW1) (step S501).
  • the “update notification” corresponds to the “delivery notification” described in the above embodiment.
  • the gateway 14 uses the program receiving unit 124 to access the server 10 by FTP (File Transfer ⁇ Protocol) and download the program (step S503). Then, when the download of the program is completed, the gateway 14 responds to the server 10 that the download is completed by the notification unit 110 (step S505).
  • FTP File Transfer ⁇ Protocol
  • the gateway 14 serves as a parent node (indicated as “P (Parent)” in the figure) by the notification unit 110, and a plurality of subordinate child nodes A1, A2,. . . , An (shown as “C (Child)” in the figure) is broadcasted (step S507).
  • Child nodes A1, A2,. . . , An confirms its own schedule (step S509), and transmits a program distribution request to the gateway 14 at a convenient timing (step S511).
  • the gateway 14 receives a distribution request from at least one child node by the distribution request receiving unit 132, the gateway 14 starts distributing the program by the program transmission unit 134.
  • the program is divided into a plurality of blocks and broadcasted to a plurality of child nodes in order (step S513). At this time, each block (i) is transmitted at intervals of t seconds. Each child node sequentially receives blocks by the program receiving unit 124 and temporarily stores them in the RAM 46.
  • i is a natural number from 1 to M.
  • the child node uses the shortage determination unit 154 to detect a shortage block from the total number of blocks included in the program distribution notification, the number of received blocks, and the block number (step S515). If there is an insufficient block (Y in step S515), the schedule is confirmed (step S509), and a retransmission request is transmitted to the gateway 14 at a convenient timing (step S511).
  • the program transmission unit 134 broadcast-transmits the insufficient block specified by the distribution request (step S513).
  • the child node receives the retransmitted block by the program receiving unit 124 and temporarily stores it in the RAM 46. The child node discards the received block if it is not necessary.
  • each child node installs and updates the program by the program introduction unit 108 (Step S517).
  • the communication unit 102 sends an update notification to the subordinate child nodes B11 to B1n, B21 to B2n,. . . , Bn1 to Bnn, etc. are broadcasted (step S519).
  • the gateway 14 when the completion determination unit 174 transmits a delivery notification and the gateway 14 does not receive a delivery request even after a predetermined time has elapsed (Y in step S521), the gateway 14 returns to the subordinates (child nodes A1 to An). It is determined that the program distribution process has been completed, and the process ends. Until a predetermined time elapses (N in step S521), it waits for a distribution request from a lower node (child nodes A1 to An).
  • the child nodes B11 to B1n received the distribution notification by the distribution notification receiving unit 104 operate in the same manner as the nodes A1 to An, respectively. Then, program distribution and installation are performed for each hierarchy, and when the installation is completed, the program further proceeds to the next lower hierarchy. In this way, the program is distributed to all nodes in the multihop network.
  • FIG. 16 and 17 are diagrams illustrating an operation flow of the communication system according to the first comparative example of the present invention.
  • the server 10 SV1 transmits an update notification of the program 60 to the gateway 14 (GW1) (step S501), the gateway 14 downloads the program (step S503), and responds to the server 10 (step S505).
  • the procedure is the same as that of the first embodiment shown in FIG.
  • the program transmission unit of the gateway 14 divides the program into M blocks (i) and sequentially broadcasts them to the child nodes A1 to An (step S531).
  • i is a natural number from 1 to M.
  • the block (i) is sequentially transmitted at a predetermined time interval (for example, (t + T) seconds).
  • Each child node A1 to An further broadcasts the received block (i) to the subordinate nodes B11 to B1n, B21 to B2n, Bn1 to Bnn, etc., under t seconds later (step S533). Every time the block (i) is received from the upper node, it is broadcasted to the lower nodes under the control after t seconds.
  • each of the child nodes B11 to B1n, B21 to B2n, Bn1 to Bnn receives the received block (i) from the subordinate nodes C111 to C11n, C121 to C12n, C1n1 to C1nn, C211 to C21n,. . . , Cnn1 to Cnnn, etc., are transmitted by broadcast (step S535).
  • each of the nodes A1 to An, B11 to B1n, B21 to B2n, Bn1 to Bnn, etc. completes the reception and transmission of all the blocks, and then installs and updates the program in itself (step S537).
  • each node A1 to An, B11 to B1n, B21 to B2n, Bn1 to Bnn, etc. transmits the version information of the installed program as a response message to the upper node (step S539). This version response message is further transferred to the upper node and finally transmitted to the gateway 14.
  • the gateway 14 determines whether there is a node to which a version response message is not returned. If there is a node with no response, the gateway 14 inquires of the node about the missing block as shown in FIG. 17 (step S541). For example, it is assumed here that the node C111 has not responded as shown in FIG. The missing block inquiry message is transferred to the corresponding node C111, the corresponding node C111 responds, transmits the missing block information to the upper node, and is relayed to the intermediate node and transferred to the gateway 14 (step S543). .
  • the gateway 14 transmits the missing block to the node C111 based on the returned information (step S545).
  • This block is relayed by the node A1 and the node B11 and transferred to the node C111.
  • node C111 When node C111 has received all the missing blocks, it installs the program in itself and updates it (step S537). Then, the node C111 transmits the installed program version information as a response message (step S539). This version response message is relayed by the node B 11 and the node A 1 and finally transmitted to the gateway 14.
  • the gateway 14 repeats the missing block inquiry and transmission process until version response messages are returned from all the nodes.
  • the gateway 14 determines that the program update has been completed normally, and completes the program update process.
  • Comparative Example 1 if a shortage block occurs in a relatively higher node such as the node A2, the lower nodes B21 to B2n, C211 to C21n,. . . , C2n1 to C2nn, etc., such a large number of lower nodes cannot receive the block. That is, the influence of a reception error at a certain node spreads one after another to a plurality of subordinate nodes under it. Furthermore, since the gateway 14 collectively manages the update status of each node, during the retransmission process of the missing block, the intermediate node relays messages such as inquiry, response, and transmission of the missing block. Must be exchanged between the lower-level node and the gateway 14.
  • the program distribution process can be autonomously managed for each layer.
  • data distribution can be completed between the most recent nodes in the parent-child relationship, so that generation of unnecessary traffic can be suppressed and the management load on the upper side can be reduced as compared with the first comparative example. It can be seen that efficient program distribution is possible.
  • Example 2 This example is an example of the second embodiment.
  • Each node has a configuration other than the notification unit 110 of the communication device 180 of the first embodiment in FIG. 14 and a notification unit 210 of the communication device 200 in FIG. 10.
  • the second embodiment has a configuration in which the transmission timing of a delivery notification transmitted to a child node after program installation is shifted between nodes in the same hierarchy.
  • each communication device 180 is assumed to be a smart meter 50.
  • FIG. 18 is a diagram illustrating an operation flow of the communication system according to the second embodiment of this invention. In the figure, a broken-line arrow indicates that a message is transmitted by unicast, and a double-lined arrow indicates that a message is transmitted by broadcast.
  • an update notification of the program 60 is transmitted from the server 10 to the gateway 14 (step S501), distributed to the nodes A1 to An, and the program 60 is installed (step S517).
  • step S501 each of the child nodes A1 to An that has been installed is the parent node, and the communication unit 102 sends an update notification to the child nodes B11 to B1n, B21 to B2n,. . . , Bn1 to Bnn, etc., but the transmission timing is set to a different value (for example, T1, T2,..., Tn) by the notification unit 210 for each node.
  • the node A1 transmits a delivery notification to the subordinate child nodes B11 to B1n by the notification unit 210 after T1 seconds have elapsed after the installation is completed (step S551).
  • the node A2 transmits a distribution notification to the subordinate child nodes B21 to B2n (not shown in FIG. 18) by the notification unit 210 after T2 seconds have elapsed after the installation is completed (step S553).
  • the node An transmits a delivery notification to the subordinate child nodes Bn1 to Bnn (not shown in FIG. 18) by the notification unit 210 after Tn seconds have elapsed after the installation is completed (step S555).
  • the delivery notification is not transmitted from the nodes A1 to An to the lower nodes at the same timing.
  • the child nodes B11 to B1n, B21 to B2n, Bn1 to Bnn, etc. that have received the distribution notification by the distribution notification receiving unit 104 operate in the same manner as the above nodes A1 to An. Then, distribution and installation of the program are performed for each hierarchy, and when the installation is completed, distribution notification is transmitted to the next lower hierarchy at different transmission timings, and this program update processing is performed at each node. In this way, the program is distributed to all nodes in the multihop network.
  • a delivery notification can be transmitted at a different timing from other nodes in the same hierarchy. It is possible to shift the distribution timing of the program to each node, and to reduce congestion of wireless traffic between the nodes with a simple configuration.
  • the program described in. 9. A procedure for determining that the reception of the program of the lower-level device is completed when the distribution request for the program is not received from the lower-level device under its control by a predetermined time after the delivery notification is transmitted; For causing a computer to execute: 1. To 8.
  • the program as described in any one. 10 A procedure for transmitting the delivery notification at a transmission timing set at a different timing from other communication devices in the same hierarchy in the multi-hop network; For causing a computer to execute: 1. To 9. The program as described in any one. 11.
  • the communication device Communicate with higher-level devices and lower-level devices in a multi-hop network, Receiving a program delivery notification from the host device; After receiving the delivery notification, receiving the program from the host device, Install the received program on its own device, After the installation of the program is completed, the delivery notification is transmitted to the lower-level device.
  • a method for controlling a communication device. 14 The communication device is When receiving the delivery notification, determine whether the broadcast message received from the host device is the delivery notification, In the case of the delivery notification, the delivery notification is broadcasted to the lower-level device. 13 A control method for a communication device according to claim 1. 15.
  • the communication device is Upon receiving the distribution notification, the distribution request for the program is transmitted to the host device at a reception timing determined based on the operation status or operation schedule of the device itself. 13 Or 14.
  • the communication device is When transmitting the distribution request to the host device, the reception timing is determined based on the operation load of the device itself. 15.
  • the communication device is When transmitting the delivery request to the host device, determine the reception timing other than during meter reading data transmission processing, 15.
  • the communication device is Receiving a distribution request for the program from any one of the plurality of lower-level devices; When the distribution request is received, the program divided into a plurality of blocks is broadcast to the lower-level device. 13 To 17.
  • the communication device is When receiving the program divided into the plurality of blocks, it is determined whether or not the plurality of blocks are insufficient for the entire program, When it is determined that there is a shortage block, a distribution request including designation of the shortage block is transmitted to the host device. 13 To 18.
  • the communication device is When transmitting the distribution request, include the total number of blocks of the program divided into a plurality in the distribution notification transmitted to the lower-level device, 19.
  • a control method for a communication device is 21.
  • the communication device is If the distribution request for the program is not received from the subordinate device under its control by a predetermined time after the delivery notification is transmitted, it is determined that the reception of the program of the subordinate device is completed. 13 To 20.
  • the communication device control method according to any one of the above. 22.
  • the communication device is Transmitting the delivery notification at a transmission timing set at a different timing from other communication devices in the same hierarchy in the multi-hop network, 13 To 21.
  • the communication device control method according to any one of the above. 23.
  • the communication device is The program is divided into a plurality of blocks and transmitted to the lower-level device, Receiving a delivery request including designation of a missing block from the lower-level device; In response to the delivery request, broadcast the missing block to the lower-level device. 13 To 22.
  • the communication device control method according to any one of the above. 24.
  • the communication device is Receiving a delivery notification including attribute information of the program from the higher-level device; Determining whether to install the received program based on the attribute information included in the delivery notification and the attribute information regarding the program of the own device; 13 To 23.
  • the communication device control method according to any one of the above.

Abstract

 通信装置(100)は、マルチホップネットワークに含まれ、マルチホップネットワークにおける上位装置および下位装置と通信を行う通信部(102)と、上位装置から、プログラムの配信通知を受信する配信通知受信部(104)と、配信通知を受信した後に、上位装置からプログラムを受信するプログラム受信部(106)と、受信したプログラムを自装置にインストールするプログラム導入部(108)と、プログラムのインストール完了後に、下位装置に配信通知を送信する通知部(110)と、を備える。

Description

通信装置、その制御方法、通信システム、およびプログラム
 本発明は、通信装置、その制御方法、通信システム、およびプログラムに関し、特に、マルチホップネットワークを構成する通信装置、その制御方法、通信システム、およびプログラムに関する。
 検針メータなどに接続された通信装置のファームウェアのアップデート方法の一例が特許文献1に記載されている。この特許文献1のファームウェアのアップデート方法は、保守端末がファームウェアを分割した複数の分割ブロックに識別情報を付し、保守端末と複数の通信ユニットとの間で無線リンクを確立して、分割ブロックを同報通信により各通信ユニットに送信する。通信ユニットは受信した分割ブロックの識別情報に基づいて分割ブロックの抜けを管理する。保守端末は、各通信ユニットにブロックの抜けの有無を確認し、ブロックの抜けが存在する通信ユニットに対して分割ブロックを再送する。
 また、特許文献2には、同様のファームウェアのアップデート方法において、マルチホップによりパケットが送信されていることが記載されている。
特開2011-66529号公報 特開2009-206723号公報
 しかしながら、上述した文献記載の技術においては、プログラムを分割した分割ブロックを、マルチホップネットワークで同報通信により順次子局に送信し、子局はさらにその配下の子局に同報通信により順次転送を繰り返し、ネットワークの末端の子局まで連鎖的に到達させていた。また、親局が、ネットワーク内の全子局について抜けブロックの存在の有無を確認して再送処理を行っていた。この再送処理時にも、ネットワークの末端の子局から抜けブロックの情報を送信する場合には、中継局を介して順次転送を繰り返し親局まで連鎖的に到達させ、親局からブロックを再送する場合も同様に中継局を介して順次転送を繰り返して末端の子局まで連鎖的に到達させていた。
 そのため、中継局でブロックの抜けがあった場合に、その影響が中継局以降の子局にも波及してしまうし、抜けブロックの情報収集と再送がマルチホップネットワーク内の中継局を介した複数の子局との間で多重に行われるため、通信トラフィック量が増大するという問題点があった。
 本発明は上記事情に鑑みてなされたものであり、その目的とするところは、マルチホップネットワークにおける効率のよいプログラム配信が可能な通信装置、その制御方法、通信システム、およびプログラムを提供することにある。
 本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。
 第一の側面は、通信装置に関する。第一の側面に係る通信装置は、
 マルチホップネットワークにおける上位装置および下位装置と通信を行う通信装置であって、
 前記上位装置から、プログラムの配信通知を受信する配信通知受信手段と、
 前記プログラムを自装置にインストールするプログラム導入手段と、
 前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する通知手段と、
を有する。
 第二の側面は、通信装置に関する。第二の側面に係る通信装置は、
 他の装置から、プログラムの配信通知を受信する配信通知受信手段と、
 前記プログラムを自装置にインストールするプログラム導入手段と、
 前記プログラムのインストール完了後に、前記他の装置以外の装置に対して、前記配信通知を送信する通知手段と、
を有する。
 第三の側面は、少なくとも1つのコンピュータにより実行される通信装置の制御方法に関する。第三の側面に係る通信装置の制御方法は、
 通信装置が、
 マルチホップネットワークにおける上位装置および下位装置と通信を行い、
 前記上位装置から、プログラムの配信通知を受信し、
 前記プログラムを自装置にインストールし、
 前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する、
ことを含む。
 第四の側面は、通信システムに関する。第四の側面に係る通信システムは、
 配信起点装置と、
 マルチホップネットワークにおける上位装置および下位装置と通信を行う、複数の通信装置と、を備え、
 前記配信起点装置および前記複数の通信装置は、マルチホップネットワークに含まれ、
 前記通信装置は、
 前記上位装置から、プログラムの配信通知を受信する配信通知受信手段と、
 前記配信通知を受信した後に、前記上位装置から前記プログラムを受信するプログラム受信手段と、
 受信した前記プログラムを自装置にインストールするプログラム導入手段と、
 前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する通知手段と、
を有する。
 なお、本発明の他の側面としては、上記第三の側面の方法を少なくとも1つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
 このコンピュータプログラムは、コンピュータにより実行されたとき、コンピュータに、上記第一の側面の通信装置または上記第二の側面の通信装置上で、その制御方法を実施させるコンピュータプログラムコードを含む。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
 また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
 さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
 上記各側面によれば、マルチホップネットワークにおける効率のよいプログラム配信が可能な通信装置、その制御方法、通信システム、およびプログラムを提供することができる。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
本発明の実施の形態に係る通信システムのシステム構成を概念的に示す図である。 本実施形態の通信装置を適用するスマートメーターの構成例を示すブロック図である。 本実施形態の通信装置を適用するゲートウェイの構成例を示すブロック図である。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本実施形態の通信装置の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本実施形態の通信装置の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本実施形態の通信装置の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本実施形態の通信装置の動作の一例を示すフローチャートである。 本発明の他の実施形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本発明の他の実施形態に係る通信装置の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本発明の実施例1の通信システムの動作フローを示す図である。 本発明の比較例1の通信システムの動作フローを示す図である。 本発明の比較例1の通信システムの動作フローを示す図である。 本発明の実施例2の通信システムの動作フローを示す図である。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本実施形態の通信装置の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(第1の実施の形態)
 本発明の第1の実施の形態に係る通信装置、その制御方法およびプログラムについて、以下説明する。
 まず、本発明の通信装置を含む通信システムについて説明する。
 図1は、本発明の実施の形態に係る通信システム1のシステム構成を概念的に示す図である。
 本発明において、通信システム1は、サーバ10(図中「SVn」と示す。)とネットワーク12を介して接続されるゲートウェイ14(図中「GWn」と示す。)と、複数のノード16(図中、A1~An、B11~Bnn、C111~C2n1と示す。)とを含む。ゲートウェイ14はサーバ10と複数のノード16の通信を中継する。ゲートウェイ14と複数のノード16は、マルチホップネットワークを構成する。すなわち、ゲートウェイ14は、本発明のマルチホップネットワークの配信起点装置となる。なお、図1において、nは同じ数を示しているのでなく、自然数を取り得ることを示す。
 図1において、サーバ10とゲートウェイ14は、1台ずつ示されているが、複数台でもよい。また、ノード16の台数も図1の台数に限定されない。
 ネットワーク12は、特に限定されず、公衆回線網、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等、様々な形態の通信網を含む。また、ネットワーク12は、無線、有線、およびそれらの組み合わせのいずれの通信形態であってもよい。図1で破線は、ゲートウェイ14とノード16の間、およびノード16同士の間の通信経路を模式的に示している。これらの装置間の通信方式は、無線、有線、およびそれらの組み合わせのいずれの形態であってもよいが、本明細書では、ゲートウェイ14とノード16との間、および、ノード16同士の間は、無線通信として説明する。
 本実施形態において、各ノード16は、コンピュータによりプログラムを実行することにより、複数台がマルチホップネットワークを形成して互いに通信する通信機能と、さらに何らかの機能を実現する装置である。通信機能以外に装置が実現する機能は特に限定されない。
 本発明は、ノードの機能を実現するためのプログラムを、マルチホップネットワークで各ノードに配信し、各ノードにインストールさせる、通信装置、その制御方法、およびプログラムを提供する。本発明におけるプログラムは、ファームウェア、OS(Operating System)プログラム、OS上で動作する各種アプリケーションプログラム等、各ノードにインストールされているプログラムであり、プログラムの種類や内容は制限されない。また、サーバ10と各ノード16の間に介在するゲートウェイ14の機能の一部も、本発明の通信装置、その制御方法、およびプログラムにより実現することができる。本発明の通信装置は、ノードに含まれる通信モジュールや、1つのチップとして実現されてもよく、さらに、他の装置に装着するような形態で実現されてもよい。
 本明細書では、スマートメーターに本発明の通信装置を適用する例を説明する。本発明の通信装置の適用例はスマートメーターに限定されない。本発明は、マルチホップネットワークを構成し得る通信機能、および、通信を介して受信されたプログラムで自装置にインストールされているプログラムを自動で更新する機能を有していれば、どのような装置にも適用可能である。また、本明細書では、スマートメーターは、電力量を検針する機能を有しているが、ガス使用量、水道使用量等を検針する機能を有してもよい。
 本実施形態のスマートメーターは、消費電力量を検針してサーバ10に定期的に送信する機能を有する。サーバ10への消費電力量に関する情報の送信方法は様々な方式のものが検討されているが、特に、都市部の住宅密集地帯などでは、無線マルチホップ方式による通信が適しているとされている。
 無線マルチホップ方式の通信では、複数のスマートメーターを経由しながらデータを目的の宛先まで転送する。各スマートメーターの情報は、バケツリレー方式で複数のスマートメーターを経由しながら、コンセントレータに集約されてセンタ側のサーバに転送される。また、サーバからの情報や指示は、コンセントレータから複数のスマートメーターを経由して、ルートを拡散させながら、マルチホップネットワーク内の複数のスマートメーターに転送される。
 図1のようなマルチホップネットワークにおいて、スマートメーターは各ノード16に相当し、コンセントレータはゲートウェイ14に相当する。
 複数のノード16は、ゲートウェイ14を起点とするツリー構造のマルチホップネットワークで互いに通信し、最上位のノードA1~Anがゲートウェイ14と通信する。マルチホップネットワークのツリー構造は、固定的に決められていてもよいし、周知のルーティングプロトコルにより動的に形成されてもよい。各ノード16は、上記ツリー構造上での自ノードの上位ノードおよび下位ノードを区別してそれぞれ認識し、上位ノードおよび下位ノードと無線チャネルをそれぞれ確立する。これにより、たとえば、最上位のノードA1と、次の下位階層のノードB11~B1nとが通信し、さらに、たとえば、ノードB11は、次の下位階層のノードC111~C11nと通信する。
 各ノード16は、マルチホップネットワークの周知のプロトコルで規定されているように、上位ノードからブロードキャストメッセージを受信した場合には、下位ノードにブロードキャストメッセージを転送する。これにより、ゲートウェイ14から送信されたブロードキャストメッセージは、マルチホップネットワークを形成する各ノード16にそれぞれ届けられる。一方、各ノード16は、上位ノードまたは下位ノードから他ノード宛のユニキャストメッセージを受信した場合には、そのメッセージの宛先に基づいて、上位ノードまたは下位ノードにユニキャストメッセージを転送する。
 図2は、通信装置100を適用するスマートメーター50の構成例を示すブロック図である。
 スマートメーター50は、CPU(Central Processing Unit)42と、ROM(Read Only Memory)44と、RAM(Random Access Memory)46と、I/O(Input/Output)48とを含むコンピュータ40により実現される。
 コンピュータ40は、CPU42、メモリ(RAM46)、メモリにロードされた、スマートメーター50の機能を実現するプログラム60、そのプログラム60を格納するストレージ(ROM44)、および、データおよび制御信号を入出力するI/O48を備える。
 ROM44、RAM46、およびI/O48は、バス49を介して互いに接続され、CPU42により各要素とともにコンピュータ40全体が制御される。なお、本図のROM44およびRAM46は、フラッシュメモリやディスクドライブなどの不揮発性メモリ、プログラム60が動作するための設定データや一時保存データ、ユーザデータなどを記憶するための機能を有する他のメモリやストレージデバイスであってもよい。また、本発明において、ROM44は書き換え可能な不揮発性メモリとし、ROM44に記憶されたプログラム60は、センタ側のサーバから更新できる。
 スマートメーター50は、たとえば、負荷装置20の消費電力量を検針する電力量計52と、920MHz帯を使用する特定小電力無線方式で通信する第1通信部54と、3G(3rd Generation)やLTE(Long Term Evolution)等の携帯電話通信方式を利用した携帯電話通信網30に基地局(不図示)を介して接続して通信する第2通信部56と、を備える。スマートメーター50は、電力量計52で検針された消費電力量の情報を第1通信部54(920MHz)により他のスマートメーター50を介してサーバ10に30分毎に送信する機能を有する。
 さらに、マルチホップネットワークにおけるスマートメーター50は、電力計52で検針された消費電力量の情報を第1通信部54(920MHz)により他のスマートメーター50とコンセントレータを介して、サーバ10に30分毎に送信する機能を有する。
 なお、図2において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
 コンピュータ40のCPU42が、ROM44に記憶されるプログラム60をRAM46に読み出して実行することにより、スマートメーター50の上記各ユニットの各機能を実現することができる。なお、本発明では、スマートメーター50の機能自体は特に限定されず、上記機能は一例に過ぎない。
 また、本実施形態の通信装置100は、スマートメーター50のマルチホップネットワークの起点となるコンセントレータにも、その親ノードとしての機能の一部を適用できる。コンセントレータは、たとえば、配下のスマートメーター50の検針データを収集し、サーバ10に送信する機能、およびサーバ10からスマートメーター50への指示等を配信する機能等を有する。本発明では、コンセントレータの機能自体は特に限定されない。コンセントレータは、少なくともゲートウェイ14としての機能を有し、特に、配下のスマートメーター50に、スマートメーター50のプログラム60を配信する機能を有する。
 図3は、ゲートウェイ14の構成例を示すブロック図である。本実施形態のゲートウェイ14は、図2のスマートメーター50と同様な、コンピュータ40と、第1通信部54とを備え、さらに、第2通信部58を備える。
 第2通信部58は、LAN(Local Area Network)またはWAN(Wide Area Network)に有線または無線で接続し、通信する機能を有する。ゲートウェイ14は、第2通信部58により、ネットワーク12に接続し、サーバ10と通信できる。あるいは、第2通信部58は、図2の第2通信部56と同様に3GやLTE等の携帯電話通信方式を利用した携帯電話通信網に基地局を介して接続して、携帯電話通信網を経由してネットワーク12に接続し、サーバ10と通信してもよい。
 ゲートウェイ14のコンピュータ40のCPU42は、ROM44に記憶される、ゲートウェイ14の機能を実現するプログラム62をRAM46に読み出して実行することにより、ゲートウェイ14の各機能を実現することができる。
 次に、本実施形態の通信装置100の構成について説明する。
 図4は、本発明の実施の形態に係る通信装置100の論理的な構成を示す機能ブロック図である。
 通信装置100は、マルチホップネットワークに含まれる。
 上位装置から、プログラム60の配信通知80を受信する配信通知受信部104と、配信通知80を受信した後に、上位装置からプログラム60を受信するプログラム受信部106と、プログラム60を自装置(通信装置100)にインストールするプログラム導入部108と、プログラム60のインストール完了後に、下位装置に配信通知80を送信する通知部110と、を備える。
 また、図1では、通信装置100は、マルチホップネットワークにおける上位装置および下位装置と通信を行う通信部102をさらに備えている。本発明の通信装置は、図1の通信部102を含む構成に限定されず、通信部102の機能を有する他の装置の通信機能を利用する形態であってもよい。
 ここで、通信装置100が図1のノードA1である場合、上位装置とはゲートウェイ14であり、下位装置とはノードB11~ノードB1nである。通信装置100が図1のノードB11である場合、上位装置とは、ノードA1であり、下位ノードとはノードC111~C11nである。本明細書では、上位装置のことを、上位ノードまたは親ノードとも呼ぶ。また、下位装置のことを、下位ノードまたは子ノードとも呼ぶ。
 図4の本実施形態の通信装置100の各構成要素は、図2または図3のコンピュータ40のハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各実施形態の通信装置を示す機能ブロック図は、ハードウェア単位の構成ではなく、論理的な機能単位のブロックを示している。
 また、本実施形態では、図2に示すように、スマートメーター50本来の機能を実現するプログラム60に加え、さらに、図4の本発明の通信装置100の各ユニットの各機能を実現するプログラム70が、ROM44に記憶される。コンピュータ40のCPU42が、ROM44に記憶されるプログラム70をRAM46に読み出して実行することにより、図4の本発明の通信装置100の各ユニットの各機能を実現することができる。なお、プログラム60とプログラム70は、1つのプログラムであってもよい。
 また、本実施形態では、図3に示すように、ゲートウェイ14が有するコンピュータ40のCPU42が、ROM44に記憶されるプログラム72をRAM46に読み出して実行することにより、図4の本発明の通信装置100の各ユニットの各機能の一部を実現することができる。なお、プログラム62とプログラム72は1つのプログラムであってもよい。
 図4の通信装置100の各構成要素について、以下詳細に説明する。
 通信部102は、図1に示すようなマルチホップネットワークにおける、上位ノードおよび下位ノードと通信を確立する。本実施形態では、ノード間のルート検索により、各ノードは宛先情報等を取得済みとする。通信部102は、この宛先情報に従い、他のノードと通信する。通信装置100がゲートウェイ14の場合は、通信部102が通信を確立する上位ノードは、サーバ10である。ゲートウェイ14の場合には、サーバ10とゲートウェイ14間の通信は、マルチホップネットワークでなく、たとえば第2通信部56により、3GやLTE等の携帯電話通信方式を利用した携帯電話通信網に基地局を介して接続して通信する。また、サーバ10とゲートウェイ14間は、無線または有線でLAN、またはWAN等のネットワークに接続して通信が行われてもよい。ゲートウェイ14と下位ノードのスマートメーター50、および、スマートメーター50間は、第1通信部54により、920MHzを使用する特定小電力無線方式で通信してマルチホップネットワークを確立する。
 配信通知受信部104は、通信部102により確立されている通信ルートに従い、上位ノードから、プログラム60の配信通知80を受信する。配信通知80は、サーバ10からプログラム60が配信される前に、事前に配信される。配信通知80配信の大元は、サーバ10またはゲートウェイ14のいずれでもよく、特に限定されない。通信装置100がゲートウェイ14の場合、配信通知受信部104は、サーバ10から配信通知80を受信してもよい。あるいは、通信装置100がゲートウェイ14の場合には、配信通知受信部104による配信通知80の受信は省略して、プログラム受信部106が任意のタイミングでサーバ10からプログラム60を受信してもよい。
 サーバ10から配信されるプログラムは、スマートメーター50の機能を実現するプログラム60の一部または全部である。たとえば、当該プログラムは、スマートメーター50のファームウェアである。本発明の通信装置100は、サーバ10から配信されるプログラム60の一部または全部を、各スマートメーター50のコンピュータ40にインストールする機能を有する。
 サーバ10から配信されるプログラムは、本発明のプログラム70を含んでもよいが、その場合には、プログラムのインストールの前後で、本発明の通信装置の機能が適切に動作するような工夫が必要となる。この工夫自体は、本発明の本質には関わらないので詳細な説明は省略する。以下、サーバ10から配信されるプログラムは、「プログラム60」と呼ぶ。
 プログラム受信部106は、配信通知80を受信した後に、上位ノード(ゲートウェイ14の場合はサーバ10)からプログラム60を受信する。受信したプログラム60は、図2のRAM46またはストレージ(不図示)に一時的に格納される。
 プログラム導入部108は、プログラム受信部106が受信したプログラム60を自装置(通信装置100)にインストールする。ここで、プログラム60は、通信装置100のファームウェアの一部または全部である。更新プログラムであってもよいし、新規のプログラムであってもよい。ここで、「更新」とは、プログラム60の新しいバージョンへのアップグレードだけではなく、以前のバージョンに戻すダウングレードも含む。プログラム導入部108は、図2のRAM46またはストレージに一時的に格納されたプログラム60を、ROM44に書き込む。そして、新しいプログラム60が書き込まれた後、通信装置100が必要に応じて再起動され、RAM46にロードされ、CPU42が実行可能な形式で展開され、CPU42により実行されて、プログラム60のインストールが完了する。
 通知部110は、プログラム60のインストール完了後に、下位ノードに配信通知80を送信する。なお、通信装置100がゲートウェイ14であって、プログラム60が自身の対象のプログラムを含まない場合には、プログラム導入部108は動作せず、通知部110が下位ノードに配信通知80を送信する。
 配信通知受信部104、プログラム受信部106、およびプログラム導入部108は、子ノードとしての機能を実現する構成であり、通知部110は、親ノードとしての機能を実現する構成である。通信部102は、子ノードおよび親ノードに共通の機能を実現する構成である。このように、通信装置100は、子ノードとしての機能と、親ノードとしての機能の両方を備えることができる。本実施形態のマルチホップネットワークにおいて、子ノードは、プログラムを受信してインストールすると、次は親ノードとなって次の階層(ホップ)の子ノードにプログラムを配信する。
 なお、マルチホップネットワークの構成上(たとえば、最上位または最下位の階層のノード等)、親ノードと子ノードのどちらか一方にしかなり得ない通信装置は、その一方の機能のみを備えてもよい。
 また、本実施形態において、配信通知受信部104は、上位ノードから受信したブロードキャストメッセージが配信通知80か否かを判定する。
 配信通知80である場合に、通知部110は、配信通知80をブロードキャスト転送する。
 本実施形態では、上位ノードから下位ノードに配信通知80がブロードキャスト送信されるが、配信通知80を受信した下位ノードは、受信した配信通知80を、さらなる下位のノードに対し、直ぐには送信しない。つまり、通信装置100は、ブロードキャスト処理を一時的に中断する。通信装置100は、プログラム60を受信した後に、自装置(通信装置100)におけるプログラム60のインストールを行い、インストール処理が完了するまで待った後、配信通知80をさらに下位のノードに対しブロードキャスト送信する。
 プログラム受信部106は、ブロードキャスト送信された配信通知80を受信した後、ブロードキャストの発信元である上位ノード宛てに、プログラムの配信要求をユニキャストで送信してもよい。ブロードキャストの発信元である上位ノードは、自身の配下にある複数のノードから、配信要求を受信することになる。発信元の上位ノードは、少なくとも1つのノードから配信要求を受信したら、プログラム60の配信を開始してよく、全ての下位ノードからの配信要求を受信するまで待つ必要はない。この理由は、発信元の上位ノードの配下にある下位ノードは、動的に変更になる場合があり、その場合には「全て」の下位ノードを特定できないためでもある。後で詳細に説明するように、プログラム60を受信できなかった下位ノードは、後で再送要求を行えばよい。
 なお、上記構成は、通信装置100をゲートウェイ14に適用した場合、以下の点でスマートメーター50に適用した場合と異なる。
 ゲートウェイ14の上位装置は、サーバ10となり、マルチホップネットワークではなく、ネットワーク12を介してサーバ10と通信する。ゲートウェイ14は、通信装置100のプログラム導入部108を含まなくてよい。ただし、更新対象となるプログラムが、ゲートウェイ14の通信機能にも適用される場合には、プログラム導入部108によりプログラムをインストールし、完了した後、配信通知を送信してもよい。
 配信通知受信部104は、サーバ10から配信通知を受信する。プログラム受信部106は、サーバ10にアクセスし、スマートメーター50のプログラム60をダウンロードする。通知部110は、プログラム受信部106がサーバ10からスマートメーター50のプログラム60を受信した後に、下位ノード(図1のノードA1~An)に配信通知を送信する。
 次に、本発明の通信装置100を実現するプログラム70またはプログラム72について、以下説明する。
 本実施形態のプログラム70またはプログラム72は、通信装置100を実現するコンピュータ40により実行されることにより、通信装置100の各ユニットの各機能を実現する。
 本実施形態のコンピュータプログラム70は、通信装置100(スマートメータ50)を実現させるためのコンピュータ40に、マルチホップネットワークにおける上位装置(ゲートウェイ14または上位のスマートメーター50)および下位装置(下位のスマートメータ50)と通信を行う手順、上位装置から、プログラム60の配信通知80を受信する手順、配信通知80を受信した後に、上位装置からプログラム60を受信する手順、受信したプログラム60を自装置(通信装置100(コンピュータ40))にインストールする手順、プログラム60のインストール完了後に、下位装置に配信通知80を送信する手順、を実行させるように記述されている。
 また、本実施形態のコンピュータプログラム72は、通信装置100(ゲートウェイ14)を実現させるためのコンピュータ40に、マルチホップネットワークにおける下位装置(下位のスマートメータ50)と通信を行う手順、サーバ10から、プログラム60の配信通知80を受信する手順、配信通知80を受信した後に、サーバ10からプログラム60を受信する手順、プログラム60を受信した後に、下位装置に配信通知80を送信する手順、を実行させるように記述されている。
 本実施形態のコンピュータプログラム70またはプログラム72は、コンピュータ40で読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラム70またはプログラム72は、記録媒体からコンピュータ40のメモリにロードされてもよいし、ネットワークを通じてコンピュータ40にダウンロードされ、メモリにロードされてもよい。
 コンピュータプログラム70またはプログラム72を記録する記録媒体は、非一時的な有形のコンピュータ40が使用可能な媒体を含み、その媒体に、コンピュータ40が読み取り可能なプログラムコードが埋め込まれる。コンピュータプログラム70またはプログラム72が、コンピュータ40上で実行されたとき、コンピュータ40に、通信装置100を実現する以下の制御方法を実行させる。
 次に、本実施形態の通信装置100の制御方法について、以下説明する。
 図5は、本実施形態の通信装置100の動作の一例を示すフローチャートである。
 本発明の実施の形態に係る制御方法は、通信装置100の制御方法であり、通信装置100を実現するコンピュータ40により実行される制御方法である。
 本実施形態の制御方法は、通信装置100が、マルチホップネットワークにおける上位装置および下位装置と通信を行い(ステップS101)、上位装置から、プログラムの配信通知を受信し(ステップS103)、配信通知を受信した後に(ステップS103のYES)、上位装置からプログラムを受信し(ステップS105)、受信したプログラムを自装置にインストールし(ステップS107)、プログラムのインストール完了後に(ステップS109のYES)、下位装置に配信通知を送信する(ステップS111)。
 たとえば、本実施形態では、配信通知80は、ブロードキャストメッセージに含まれる。この例では、上記ステップS103において、配信通知受信部104が、上位装置から受信したブロードキャストメッセージが配信通知80か否かを判定する。配信通知80である場合に(ステップS103のYES)、ステップS107でプログラム導入部108がプログラムを自装置にインストールする。そして、プログラムのインストールの完了後に(ステップS109のYES)、ステップS111で通知部110が下位装置に配信通知80を転送する。
 本実施形態の通信装置100において、通信部102がマルチホップネットワークにおける上位装置と下位装置と通信を確立している状況で、通信装置100は、通常の動作、たとえば、スマートメーター50であれば、検針データをサーバ10に定期的に送信する処理を行っている。このような状況下で、サーバ10からスマートメーター50のプログラム60がゲートウェイ14に送信されると、ゲートウェイ14は受信したプログラム60をRAM46またはストレージ(不図示)に記憶する。
 ゲートウェイ14は、サーバ10から受信したスマートメーター50のプログラム60を、マルチホップネットワークを介して各ノード16に配信する処理を開始する。
 具体的には、ゲートウェイ14は、まず、下位ノードにプログラム60の配信通知80を送信する。そして、この配信通知80を、各ノードの配信通知受信部104が受信する。各ノードにおいて、プログラム受信部106が、配信通知80を受信した後に、上位装置(ここでは、ゲートウェイ14)からプログラム60を受信し、RAM46またはストレージ(不図示)に一時的に記憶する。このとき、通知部110は、配信通知80を下位装置に直ぐには送信しない。プログラム導入部108が、受信したプログラム60を自装置(通信装置100)にインストールし、通知部110がプログラム60のインストールが完了した後に、さらに下位階層の複数のノードに配信通知80を送信する。
 すると、下位階層の各ノードの配信通知受信部104が、この配信通知80を受信し、以後、同様にプログラム60の受信とインストールを行い、さらに下位の階層の複数のノードへ配信通知80を送信する。このようにして、プログラム60がゲートウェイ14からマルチホップネットワークで順次下位階層のノードへと拡散されながら転送されていく。
 以上説明したように、本実施形態の通信装置100によれば、マルチホップネットワークで、プログラム60を上位ノードから下位ノードに転送する際に、ゲートウェイ14(またはサーバ10)が下位ノード全ての管理をするのではなく、直近の親子関係にあるノード間でデータ配信を完了させて、次の下位階層に順次転送を繰り返していくことができる。これにより、本実施形態の通信装置100は、マルチホップネットワーク内の複数階層のノードを跨ぐような不要なトラフィックの発生を抑制できるとともに、上位側の管理負荷を軽減でき、効率のよいプログラム配信が可能になる。また、本実施形態の通信装置100は、プログラムの配信処理を階層毎に自律的に管理できる。
 また、通信装置100では、上位ノードからブロードキャストメッセージを受信したとき、配信通知80か否かを判定し、配信通知80の場合には、直ぐにはブロードキャストメッセージを転送せず、プログラム60のインストールの完了後まで待ってから転送する。これにより、ブロードキャストメッセージによる簡易な配信手法での通知を可能にしつつ、直近の親子関係にあるノード間で、プログラムの配信処理を完結させることができるので、マルチホップネットワーク内の複数階層のノードを跨ぐような不要なトラフィックの発生を抑制できるとともに、上位側の管理負荷を軽減でき、効率のよいプログラム配信が可能になる。また、本実施形態の通信装置100は、プログラムの配信処理を階層毎に自律的に管理できる。
 (第1の実施の形態の変形態様1)
 第1の実施の形態の変形態様1の通信装置について以下説明する。
 図6は、本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。
 図6は、通信装置の要部構成のみ示してある。図6では、通信装置が子ノード120として機能する場合の構成例と、親ノード130として機能する場合の構成例を区別してそれぞれ示している。通信装置は、子ノード120と親ノード130の両方になり得るので、両方の機能を実現する構成要素を全て備えることができる。ここでは、説明上、各ノードが必要な構成のみ示してある。
 本発明の通信装置は、プログラムを配信する親ノード130としての機能と、プログラムを受信してインストールする子ノード120としての機能の少なくともいずれか一方の機能を備えることができる。本実施形態のマルチホップネットワークにおいて、子ノード120は、プログラムを受信してインストールすると、次は親ノード130となって次の階層(ホップ)の子ノード120にプログラムを配信する。
 なお、マルチホップネットワークの構成上(たとえば、最上位または最下位の階層のノード等)、親ノードと子ノードのどちらか一方にしかなり得ない通信装置は、その一方の機能のみを備えてもよい。
 親ノードおよび子ノードの各機能は、プログラムにより実現でき、各機能を実現するプログラムを選択的に実行することで、対応する機能を実現することができる。これらの手法は、本発明の本質には関わらず、当業者にとって自明であるので、詳細な説明は省略する。
 本実施形態の通信装置は、図4の上記実施形態の通信装置100とは、子ノード120が自身の都合のよいタイミングでプログラムを受信できるように配信要求を親ノード130に送信する点で相違する。
 本実施形態の通信装置は、子ノード120の場合、図4の上記実施形態の通信装置100と同様な構成を備えるとともに、さらに、配信要求部122を備える。親ノード130の場合、通信装置は、図4の上記実施形態の通信装置100と同様な構成を備えるとともに、さらに、配信要求受信部132と、プログラム送信部134と、を備える。
 通信装置(子ノード120)において、配信要求部122は、配信通信受信部104により配信通知80が受信されると、自装置の動作状況または動作スケジュールに基づいて決定した受信タイミングで、プログラムの配信要求82を上位装置(親ノード130)に送信する。
 配信要求部122は、通信装置自身の動作状況や、動作スケジュールに基づいて、プログラム60の受信処理を行うのに適した都合のよいタイミングを受信タイミングとして決定できる。配信要求部122は、自装置の動作負荷に基づいて、たとえば、通信装置本来の動作処理の負荷が高い時間は避けて、比較的負荷が低い時間を選んで、受信タイミングを決定してもよい。また、スマートメーター50であれば、配信要求部122は、検針データの送信処理時以外に受信タイミングを決定してもよい。
 通信装置(親ノード130)において、配信要求受信部132は、複数の下位装置(子ノード120)の中のいずれか1つからプログラム60の配信要求82を受信する。プログラム送信部134は、配信要求受信部132により、複数の下位装置(子ノード120)の中のいずれか1つから配信要求82が得られた後に、プログラム60を下位装置(子ノード120)にブロードキャスト送信する。
 配信通知80を受信した子ノード120は、配信要求部122により、自身の動作スケジュール等に応じて、都合のよい受信タイミングを決定し、プログラム60の配信要求82を親ノード130に送信する。親ノード130は、配信通知80を子ノード120に送信した後、子ノード120からの配信要求82を受信するまで、プログラム60の送信を待機する。そして、親ノード130は、配信要求受信部132により、子ノード120の中のいずれか1つからプログラム60の配信要求82を受信した後に、プログラム送信部134により、プログラム60を子ノード120にブロードキャスト送信するとよい。
 発信元の上位ノードは、少なくとも1つのノードから配信要求を受信したら、プログラム60の配信を開始してよく、全ての下位ノードからの配信要求を受信するまで待つ必要はない。この理由は、発信元の上位ノードの配下にある下位ノードは、動的に変更になる場合があり、その場合には「全て」の下位ノードを特定できないためでもある。後で詳細に説明するように、プログラム60を受信できなかった下位ノードは、後で再送要求を行えばよい。
 この構成によれば、親ノード130から配信通知80を受信した後、配信要求部122により、子ノード120の動作スケジュールなどに応じて、子ノード120自身の都合のよいタイミングで、親ノード130にプログラム60の配信要求82を送信でき、結果として、自身の都合のよいタイミングでプログラム60を受信できる。
 また、親ノード130は、配信要求受信部132が子ノード120の中のいずれか1つから配信要求82を受信した後、プログラム送信部134が配下の複数の子ノード120にプログラム60をブロードキャスト送信する。これにより、配下の子ノード120は、ブロードキャスト送信されたプログラム60を受信できる。なお、子ノード120において、受信タイミングが合わず、送信されたプログラム60を受信できなかった場合には、後述するように、後で親ノード130に再送要求を行うことで、受信できなかったプログラム60を受信できる。
 本実施形態において、プログラム60を子ノード120に配信する際、そのまま送信するのではなく、複数のブロックに分割して送信するのが好ましい。以下、複数のブロックに分割したプログラム60を送信する構成について説明する。この構成において、図6の子ノード120は、プログラム受信部106に替えて、プログラム受信部124を有する。
 本実施形態の親ノード130において、プログラム送信部134は、配信要求82を受信すると、複数のブロックに分割したプログラム60を下位装置(子ノード120)にブロードキャスト送信する。
 ここで、ブロックは、所謂パケットに相当する。
 さらに、子ノード120において、プログラム受信部124は、親ノード130からブロードキャスト送信された各ブロックを順次受信する。
 図7は、本実施形態の通信装置の動作の一例を示すフローチャートである。
 図7では、通信装置130の構成を有する親ノードA1と、親ノードA1からプログラムを受信する、通信装置120の構成を有する子ノードB11、B12、...、B1nの動作を示す。ここで、nは自然数である。
 このフローは、上記実施形態の図5のフローチャートのステップS103の配信通知の受信から開始する、ステップS105のプログラム受信処理の手順の詳細を示している。各子ノードは、既に図5のステップS101の通信の確立は終了している状態であるとする。また、親ノードA1では、図5のフローチャートのステップS107におけるプログラムのインストールが完了し(図5のステップS109のYES)、通知部110が配信通知80をブロードキャスト送信するところ(ステップS111)から、本フローは示してある。
 図5のステップS103と同様に、親ノードA1の配下にある複数の子ノードB11、B12、...、B1nがブロードキャスト送信された配信通知80をそれぞれ受信すると(ステップS103のYES)、子ノードは、配信要求部122により自身の動作スケジュールに応じて、都合のよいタイミングでプログラム60の配信要求82を親ノードA1にユニキャスト送信する(ステップS123)。
 図7では、子ノードB11の配信要求82が最も早く親ノードA1に到達している。その後、親ノードA1に発信された他の子ノードB12、...、B1nの配信要求82は、親ノードA1が受信し、配信要求82を受信した子ノードの情報を記録しておいてもよい。しかし、配信要求82が不要な構成においては、破棄してもよい。
 親ノードA1において、配信要求受信部132により、複数の下位装置(子ノードB11、B12、...、B1n)の中のいずれか1つから配信要求82が得られた後に(ステップS125のYES)、プログラム送信部134が、プログラム60を分割した複数のブロック(ここでは、M個のブロック)を下位装置(子ノードB11、B12、...、B1n)にブロードキャスト送信する(ステップS131~ステップS137)。Mは2以上の整数とする。ここでは、たとえば、M=100とする。
 ここで、複数の子ノード120の中のいずれか1つから配信要求82が得られた時に、プログラム60の配信が開始されるので、配信要求82を送信する前に、ブロードキャスト送信されたプログラムを受信する子ノード120も存在することになる。この場合、プログラムを受信できる状態になっていれば、子ノード120は、そのままブロードキャスト送信されたプログラムを受信できる。
 詳細には、まず、プログラム送信部134は、ブロック番号iに1をセットし(ステップS131)、ブロック送信開始を準備する。ここで、iは自然数である。そして、プログラム送信部134は、ブロック番号1のブロック(1)を子ノードB11、B12、...、B1nにブロードキャスト送信する(ステップS133)。子ノードB11、B12、...、B1nは、プログラム受信部124によりそれぞれブロック(1)を受信する(ステップS141)。そして、プログラム送信部134は、ブロック番号iをインクリメントする(ステップS135)。
 ブロック番号i=2となり、i>Mではないので(ステップS137のNO)、ステップS133に戻り、次のブロック(2)を子ノードB11、B12、...、B1nにブロードキャスト送信する。ここで、ブロック(i)とブロック(i+1)の間の送信間隔は、少なくとも、子ノード側でブロック(i)の受信処理を行う時間分(t秒)空けるのが好ましい。子ノードB11、B12、...、B1nは、それぞれブロック(2)を受信する(ステップS141)。以降、プログラム60のブロックを順次ブロードキャスト送信し、i>Mとなった時(ステップS137のYES)、全てのブロックの送信が完了したことになるので、プログラムの送信処理を終了する。
 このようにして、子ノードB11、B12、...、B1nはプログラム受信部124によりプログラム60の全てのブロックを受信した後、本処理を終了する。
 その後、各子ノードは、図5のステップS107以降の処理に進む。各子ノードは、プログラム導入部108により、それぞれプログラム60のインストールを行う(図5のステップS107)。そして、プログラム60のインストールが完了したら(ステップS109のYES)、通知部110により、さらに下位のノード(たとえば、図1のノードC111~C11n)に配信通知80をブロードキャスト送信して通知する(ステップS111)。
 このように、本実施形態の構成によれば、子ノードからプログラムの配信要求82を受けた後に、プログラム60を複数のブロックに分割して送信するので、子ノードの受信体勢が整った後に順次ブロックを受信させることができる。また、ブロードキャスト送信された配信通知80に呼応した子ノードの配信要求82を、1つでも受信すればプログラムの配信を開始するので、たとえ自身が配信要求82を送信する前であっても他ノードが送信した配信要求82によりプログラムの配信が始まれば、ブロードキャスト送信されたプログラムを受信できるので、配信要求82を全ての子ノードが送信する必要がなく、通信負荷をより低減できる。
 また、プログラム送信部134は、プログラム60をそのまま送信するのではなく、サイズの小さいブロックに分けて送信するので、サイズが大きいプログラム60の送信により、通信経路が占有されてしまうのを防ぐことができる。また、後述するように、ブロック単位で送受信すれば、通信障害などによりパケットロスが発生した場合にも、プログラム60全体を再送するのではなく、不足するパケット(ブロック)のみ再送すればよいので、効率がよい。また、ブロックの送信は、各ノード(スマートメータ50)が検針データをサーバ10に送信する等の通常の処理の合間に細切れに行うことができ、各ノードの通常の処理を停滞させることもない。
 (第1の実施の形態の変形態様2)
 第1の実施の形態の変形態様2の通信装置について以下説明する。
 図8は、本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。
 図8は、通信装置の要部構成のみ示してある。図8では、通信装置が子ノード150として機能する場合の構成例と、親ノード170として機能する場合の構成例を区別してそれぞれ示している。本発明の通信装置は、子ノードと親ノードの両方になり得るので、たとえば、図14に示すように、通信装置180として、両方の機能(親ノード182および子ノード184)を実現する構成要素を全て備えてもよい。図8では、説明上、各ノードが必要な構成のみ示してある。
 本発明の通信装置は、プログラムを配信する親ノード170としての機能と、プログラムを受信してインストールする子ノード150としての機能の両方を備えることができる。本実施形態のマルチホップネットワークにおいて、子ノード150は、プログラムを受信してインストールすると、次は親ノード170となって次の階層(ホップ)の子ノード150にプログラムを配信する。
 マルチホップネットワークの構成上(たとえば、最上位または最下位の階層のノード等)、親ノードと子ノードのどちらか一方にしかなり得ない通信装置は、その一方の機能のみを備えてもよい。
 親ノードおよび子ノードの各機能は、プログラムにより実現でき、各機能を実現するプログラムを選択的に実行することで、対応する機能を実現することができる。これらの手法は、本発明の本質には関わらず、当業者にとって自明であるので、詳細な説明は省略する。
 本実施形態の通信装置は、図6の通信装置とは、さらに、子ノード150が、受信した複数のブロックが、プログラム60全体に対応する不足がないかを検出し、不足ブロックを親ノード170に再送させる点で相違する。
 本実施形態において、通信装置の子ノード150は、図4の通信装置100の通信部102と、配信通知受信部104と、プログラム導入部108と、通知部110(いずれも図8には図示しない)を備えるとともに、さらに、プログラム受信部124と、不足判定部154と、配信要求部156と、を備える。さらに、通信装置の親ノード170は、図4の通信装置100の構成要素(図8には図示しない)と、図6の通信装置130のプログラム送信部134と、を備えるとともに、さらに、配信要求受信部172を備える。さらに、親ノード170は、後述する完了判定部174を備えてもよい。
 図8に戻り、通信装置(子ノード150)において、プログラム受信部124は、プログラムを分割したブロードキャスト送信された複数のブロックを受信する。
 不足判定部154は、複数ブロックに分割されたプログラム60を受信すると、複数のブロックがプログラム全体に対する不足が無いかを判定する。
 配信要求部156は、不足ブロックがあると判定された場合、不足ブロックの指定を含む配信要求83を上位装置(親ノード170)に送信する。
 なお、不足ブロックの受信タイミングは、上記実施形態の配信要求部122と同様に、自装置の動作状況または動作スケジュールに基づいて決定することができる。
 ブロックの不足の判定方法は様々考えられるが、本実施形態では、以下に例示される方法で判定する。
 たとえば、通知部110が、子ノード150に送信する配信通知に、送信対象の複数に分割したプログラムのブロック総数を予め含めて通知する。
 また、親ノード170は、各ブロックに、ブロックの識別子を付して送信する。本実施形態では、ブロックには、1から順に整数の番号が付されるものとする。そして、子ノード150は、受信したブロックの識別子と、ブロック総数に基づいて、不足ブロックを特定すればよい。なお、データをブロック分割して送受信する方法は、本発明の本質に関わらず、当業者にとって自明であるので、詳細な説明は省略する。
 通信装置(親ノード170)において、配信要求受信部172は、下位装置(子ノード150)から不足ブロックの指定を含む配信要求83を受信する。
 プログラム送信部134は、配信要求83に呼応して、不足ブロックを下位装置(子ノード150)にブロードキャスト送信する。
 プログラム送信部134は、不足ブロックをブロードキャスト送信してよい。親ノード170の配下の複数の子ノード150では、プログラム受信部124が、不足ブロックがなければ(配信要求83を送信していなければ)、ブロードキャスト送信されたブロックを受信せずに無視すればよい。あるいは、子ノード150のプログラム受信部124が、一旦ブロックを受信した後、受信した不足ブロックの要否を判定し、必要なブロックをRAM46に一時的に記憶し、不要なブロックは破棄する構成としてもよい。
 なお、親ノード170において、配信要求受信部172が、配下の子ノード150の中のいずれか1つから配信要求83を受信したとき、プログラム送信部134は、配信要求83で指定された不足ブロックを配下の複数の子ノード150に対してブロードキャスト送信する。このとき、指定された不足ブロックのみを送信してもよいし、指定された不足ブロック以降のブロックを全て送信してもよい。
 指定された不足ブロック以降のブロックを全て送信する構成とすれば、複数のブロックが受信できなかった場合に、子ノード150が配信要求83を親ノード170に一度送信するだけで、不足ブロックを続けて受信できるので、効率がよい。配信要求83に、不足ブロックのみの送信か、不足ブロック以降の全てのブロックの送信かを指定する情報をさらに含めてもよい。あるいは、配信要求83に不足ブロックの範囲の指定を含めてもよい。
 さらに、親ノード170において、通知部110が配信通知80を送信後、所定の時間経過するまでに自身の配下の下位装置(子ノード150)からプログラム60の配信要求83(または配信要求82)を受信しない場合、下位装置(子ノード150)のプログラム60の受信が完了したと判定する完了判定部174を備える。
 なお、完了の判定は、配信通知80の送信後から所定時間経過後以外にも考えられ、たとえば、最初の配信要求82(または配信要求83)を子ノード150から受信した後から所定時間経過後でもよいし、プログラム60の全てのブロックの最初の送信が完了した後から所定時間経過後でもよいし、最後のブロック送信(再送も含む)後から所定時間経過後でもよく、また、これらの少なくとも2つの組み合わせでもよく、特に限定されない。
 図9は、本実施形態の通信装置の動作の一例を示すフローチャートである。
 図9のフローチャートは、図7のフローチャートと同様な手順に加え、さらに、ステップS151~ステップS155を含む。以下、図7と異なる手順についてのみ説明する。
 各子ノード150は、ステップS141で、プログラム受信部124によりブロック(M)まで受信した後(不図示)、不足判定部154により、受信したブロック番号を確認し、プログラム60全体に対応するブロックが全て受信できたか否かを判定し、不足がないか否かを判定する(ステップS151)。不足があった場合(ステップS151のYES)、ステップS123に戻り、自身のスケジュールに基づいて受信タイミングを決定し、決定したタイミングで、配信要求部156により、不足ブロックの指定を含む配信要求83を親ノード130に送信する。
 このとき、親ノード170は、複数の子ノードB11、B12、...、B1nの中のいずれか1つから配信要求83が得られた後に(ステップS125のYES)、ブロックの再送処理を行う。
 そして、配信要求83を送信した子ノード150は、親ノード170からブロードキャスト送信されたブロックをプログラム受信部124により受信する(ステップS141)。不足ブロックがなくなるまでブロック受信を繰り返し、不足ブロックがなくなったとき(ステップS151のNO)、本処理を終了する。
 なお、不足ブロックがなかった子ノード150は、親ノード170からブロードキャスト送信されたブロックを破棄する(不図示)。
 なお、不足ブロックの指定を含む配信要求83では、たとえば、ブロック番号jが指定されているものとする。ここでjは自然数である。そこで、配信要求受信部132により、複数の下位装置(子ノードB11、B12、...、B1n)の中のいずれか1つから配信要求83を受信した場合(ステップS125のYES)、ステップS131では、ブロック番号iにjを設定する。そして、プログラム送信部134が、ブロック番号jのブロック(j)を下位装置(子ノードB11、B12、...、B1n)にブロードキャスト送信する(ステップS131~ステップS137)。この例では、ブロック番号j以降のブロックについて、ブロックの再送処理がi=Mになるまで、繰り返される。
 また、親ノード170は、ステップS137で、プログラム60の全ブロックの送信が終了した(i>M)と判定されたとき(ステップS137のYES)、配信通知80送信後から所定時間が経過しているか否かを判定する(ステップS153)。所定時間が経過した場合(ステップS153のYES)、完了判定部174が、プログラムの配信が完了したと判定し(ステップS155)、本処理を終了する。
 所定時間が経過しない間は(ステップS153のNO)、ステップS125に戻り、配下の子ノード150からの配信要求82を待つ。この配信要求82の受信の待機状態(ステップS125)は、所定時間が経過するまでの間(ステップS153のNO)、持続される。
 この構成によれば、ブロック分割されて送信されたブロックが、プログラム全体に対応する不足があった場合にも、不足ブロックを再送要求できる。このとき、本実施形態では、ブロックを送信した直近の親ノードに対して配信要求を行えばよい。本実施形態では、直近の親ノードがブロードキャスト送信により不足ブロックの再送処理を行うことができるので、複数の階層(ホップ)にまたがってやりとりする必要がなく、通信負荷を軽減できる。
 また、本実施形態では、配信通知80を送信後、送信後から所定時間経過した後、配信要求83を受信しなくなったときに、下位装置のプログラムの受信が完了したものと判断し、処理を終了する。
 本実施形態では、親ノードがその配下のノードのプログラム受信完了の判断を行うので、管理が簡単で効率がよい。
(第2の実施の形態)
 次に、本発明の第2の実施の形態に係る通信装置およびその制御方法について、以下説明する。なお、本実施形態のプログラムは、上記実施形態と同様に、通信装置の制御方法を少なくとも1つのコンピュータに実行させるものであり、本実施形態での詳細な説明は省略する。
 図10は、本発明の実施の形態に係る通信装置200の論理的な構成を示す機能ブロック図である。
 本実施形態の通信装置200は、上記実施形態の通信装置とは、プログラムのインストール後に子ノードへ送信する配信通知の送信タイミングを、同じ階層のノード間でずらす点で相違する。
 図10の通信装置200は、図4の上記実施形態の通信装置100と同様な通信部102と、配信通知受信部104と、プログラム受信部106と、プログラム導入部108と、図6の通信装置130と同様な配信要求受信部132と、プログラム送信部134とを備えるとともに、さらに、通知部210を備える。
 図10では、図4の通信装置100と図6の通信装置130の構成に通知部210を備える構成としているが、他の実施形態の構成に通知部210を備える構成とすることもできる。各構成は、矛盾のない範囲で組み合わせることができる。
 通信装置200において、通知部210は、プログラム60のインストール完了後に、下位装置に配信通知80を送信する際、マルチホップネットワークにおける同一階層の他の通信装置と異なるタイミングで設定された送信タイミングで配信通知を送信する。
 具体的には、たとえば、図1の同一階層のノードB11、B12、...、B1nが、それぞれ親ノードA1から受信したプログラム60をインストールした後、各ノードB11、B12、...、B1nは、異なるタイミングで次の階層の子ノードC1nnに配信通知80をブロードキャスト送信する。
 配信通知80の送信タイミングは、ノード毎に決定すればよく、たとえば、通知部210が、ノードの識別子、またはMAC(Media Access Control)アドレス等を元に、所定の関数を用いて送信タイミングを算出してもよい。送信タイミングは、インストール完了後から送信までの待ち時間T(秒)等で設定できる。あるいは、1台のゲートウェイ14、または親ノードの配下に含まれる子ノードの台数の上限をn台(nは自然数)とし、通知部210が単純に各ノードに0~(n-1)の範囲で番号mを割り振り(mは整数)、m番目のノードの待ち時間をT×m(秒)として求めてもよい。
 あるいは、1台のゲートウェイ14、または親ノードの配下に含まれる子ノードの台数の上限をn台(nは自然数)とし、通知部210が0~(n-1)の範囲で乱数を生成し(mは整数)、得られた値mを元に、待ち時間をT×m(秒)を求め、各ノードに割り振ってもよい。送信タイミングが偶然一致する可能性もあるが、本発明では、そのような偶然の一致は許容してよい。
 次に、本実施形態の通信装置200の制御方法について、以下説明する。
 図11は、本実施形態の通信装置200の動作の一例を示すフローチャートである。
 本発明の実施の形態に係る制御方法は、通信装置200の制御方法であり、通信装置200を実現するコンピュータ40(図2または図3)により実行される制御方法である。
 本実施形態の通信装置200の動作は、図5の上記実施形態のフローチャートと同様なステップS101~ステップS111を含むとともに、さらに、ステップS201を有する。
 プログラムのインストール完了した後(ステップS109のYES)、通知部210が、送信イミングまで待機する(ステップS201)。そして、送信タイミングになったとき、通知部210が配信通知80をブロードキャスト送信する(ステップS111)。
 この構成によれば、プログラムを受信し、インストールしたノードが、次の階層の子ノードにプログラムを転送する際、配信通知を同一階層の他のノードと異なるタイミングで送信することができるので、各ノード間の無線トラフィックの輻輳を、簡単な構成で低減できる。無線トラフィックの輻輳を防止するために、たとえば、電波の干渉状況等の情報から送信タイミングを決めることも可能であるが、演算処理が煩雑なため、本実施形態では、簡単な構成で送信タイミングを決定し、無線トラフィックの輻輳の低減を図ることができる。
 以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
(他の実施形態1:通信経路の変更に対応した形態)
 上記実施形態では、マルチホップネットワークのルートが配信途中で変更にならないケースについて説明した。以下に、マルチホップネットワークのルートが配信途中で変更について説明する。
 他の実施形態1の通信装置は、プログラムを配信している途中で、マルチホップネットワークのルートの変更が発生した場合に対応できる構成を有する。
 ルート変更(親子関係の変更)が起こる原因は、たとえば、ネットワーク内の電波状況の悪化、ノードの故障、ノードの新設等が考えられる。
 たとえば、電波状況が悪化すると、ブロックを受信していた子ノードは、(A)そのまま孤立する、(B)電波状況のよりよい他の親ノードの配下に変更になる。(B)のケースにおいては、新たに配下に入った、他の親ノードからブロックを受信すればよい。最初の親ノードから受信したブロックと、新たな親ノードから受信したブロックを合わせてもなおプログラム全体を構成するブロックに不足がある場合には、上記第1実施形態2の構成のように、新たな親ノードに不足ブロックの配信要求をすればよい。なお、重複しているブロックは破棄すればよい。
 また、他のケースとして、(C)配下の子ノードが故障した場合には、その子ノードが復旧した後に、故障中に受信できなかった不足分を親ノードに再送要求すればよい。これは、上記第1実施形態の変形態様2の構成で対応できる。
(他の実施形態2:異なるプログラムを配信する形態)
 上記実施形態では、配信されるプログラムは、マルチホップネットワーク内で共通のものとして説明してきた。ここでは、マルチホップネットワーク内で、ノードの機器の種類が違っていたり、ノードによってインストール対象のプログラムが異なる場合の構成について説明する。
 図12は、本発明の他の実施の形態に係る通信装置400の論理的な構成を示す機能ブロック図である。
 なお、図12は、通信装置400の要部構成のみを示してある。通信装置400は、図示していない他の実施形態の少なくともいずれか1つと同様な構成をさらに含んでもよく、各構成は矛盾のない範囲で組み合わせることができる。たとえば、通信装置400は、図8のプログラム受信部124を備える(図12には不図示)。
 通信装置400において、配信通知受信部402は、プログラムの属性情報を含む配信通知86を受信する。
 そして、通信装置400は、受信された配信通知86に含まれる属性情報と自装置のプログラムに関する属性情報とに基づいて、プログラム受信部124により受信されたプログラムをインストールするか否かを判定する対象判定部408と、を備える。
 通知部404は、対象判定部408による判定結果に基づいて、プログラムのインストールの完了後に、属性情報を含む配信通知86を送信するか、プログラムのインストールの完了に関わらず、属性情報を含む配信通知86を送信するかを切り替える。
 なお、本実施形態の通信装置400は、自装置のプログラムの属性情報を記憶する記憶部406をさらに含む。記憶部406は、図2のROM44、RAM46、またはストレージ(不図示)、あるいは、CPU42内の所定のレジスタ(不図示)に相当する。
 属性情報は、更新対象となるプログラムの種別とバージョンの情報の少なくとも一方を含む。さらに、属性情報に、配信される更新後のプログラムの種別とバージョンの情報の少なくとも一方を含んでもよい。さらに、この属性情報は、プログラムを分割して配信される各ブロックにも分割して送信されるのが好ましい。プログラムの種別は、更新対象となる対応機器の型名、プログラムの名称などを含む。
 このように構成された本実施形態の通信装置400の動作について、以下説明する。
 図13は、本実施形態の通信装置400の動作の一例を示すフローチャートである。
 まず、配信通知受信部402が、プログラムの属性情報を含む配信通知86を受信する(ステップS401)。そして、図5の上記実施形態のフローチャートと同様なステップS105で、プログラム受信部124が上位ノードからプログラム60を受信する(ステップS105)。
 そして、対象判定部408が、記憶部406に記憶されているプログラムの属性情報を参照し、ステップS401で受信した配信通知86に含まれる属性情報と比較し、配信されるプログラム60を、自装置にインストールするか否かを判定する(ステップS403)。
 たとえば、更新対象のプログラムの種別(たとえば、対応機器)の情報のみで判定する場合には、自装置のプログラムの種別と、更新対象のプログラムの種別(たとえば、対応機器)の情報が同じで、かつ、更新対象のバージョンが自装置のバージョンより新しい場合にインストール対象と判定することができる。また、マルチホップネットワーク内の機器が全て同じ種別の場合には、更新対象のプログラムのバージョン情報のみで判定でき、更新対象のバージョンの情報と自装置のバージョンの情報が一致した場合にインストール対象と判定することができる。ただし、更新対象のバージョンが自装置のバージョンより古い場合にインストール対象と判定することは排除されず、強制的に以前のバージョンに戻す場合も含んでよい。
 判定結果が、プログラムを自装置にインストールするとの判定であった場合は(ステップS403のYES)、図5のフローチャートのステップS107~ステップS111と同様に、プログラム導入部410が、受信したプログラム60を自身にインストールする(ステップS107)。そして、プログラムのインストールが完了したら(ステップS109のYES)、通知部404が、下位ノードに配信情報を含む配信通知86を通知する(ステップS111)。
 一方、判定結果が、プログラムを自装置にインストールしないとの判定であった場合は(ステップS403のNO)、ステップS107とステップS109のプログラムのインストール処理は行わずに、ステップS111に進む。通知部404が、下位ノードに属性情報を含む配信通知86を送信し、ステップS105で受信したプログラム60を転送する処理に進む。インストール対象でないノードでは、プログラムのインストールは行わないが、プログラムデータは受信して保存し、配下のノードへの配信は行う。
 以上説明したように、本実施形態の通信装置400では、配信通知86に、配信されるプログラム60の種別やバージョン情報を含めて送信し、自装置のプログラム情報と比較して、受信したプログラム60を自装置にインストールするか否かを判定する。そして、インストール対象外の場合は、通信装置400は、受信したプログラム60をインストールせずに、そのままプログラム60を下位ノードに転送すべく、下位ノードに対して配信通知86を送信する。
 これにより、本実施形態の通信装置400は、マルチホップネットワーク内に異なる種別の機器や、異なるバージョンのプログラム60がインストールされている機器が混在しているような場合であっても、効率よく適切なプログラム60を自装置にインストールし、かつ他の装置用のプログラムは転送することができる。
(他の実施形態3)
 図19は、本発明の実施の形態に係る通信装置500の論理的な構成を示す機能ブロック図である。
 本実施形態の通信装置500は、他の上記実施形態とは、自装置にインストールされるプログラム60を上位装置から受信することに限定されない点で相違する。
 本実施形態の通信装置500は、図4の上記実施形態の通信装置100と同様な、通信部102と、配信通知受信部104と、プログラム導入部108と、通知部110とを備える。
 具体的には、通信装置500は、マルチホップネットワークにおける上位装置および下位装置と通信を行う通信部102と、上位装置から、プログラム60の配信通知80を受信する配信通知受信部104と、プログラム60を自装置(通信装置500)にインストールするプログラム導入部108と、プログラム60のインストール完了後に、下位装置に配信通知を送信する通知部110と、を備える。
 本発明において、上位装置から、プログラム60の配信通知80は、プログラム60より前に配信されるが、通信装置における配信通知80とプログラム60の受信タイミングは、配信タイミング(配信通知80の後にプログラム60を受信)と同じになるとは限らない。通信経路の状況によっては、配信通知80とプログラム60が同時またはプログラム60を配信通知80より前に受信するケースも考えられ、本発明ではそのようなケースも排除されない。
 また、たとえば、複数のブロックに分割して配信されるプログラム60の先頭のブロックの前に配信通知80を付加して配信する形態も排除されない。また、本発明において、マルチホップネットワークの複数のノード(通信装置500)の中に、配信通知80を受信する以前に、直近の上位装置、または他の通信装置、サーバ、あるいは、外部メディアからプログラム60を取得し、自装置(図2のコンピュータ40)のRAM46(図2)またはストレージ(不図示)に格納されているノード(通信装置500)が含まれていることも排除されない。その場合、そのノードは、配信通知80を受信後に、既に取得済みのプログラム60をインストールしてもよい。そして、プログラム60のインストール完了後に、下位装置に配信通知80を送信し、その後、下位装置にプログラム60を送信してもよい。
 本実施形態のコンピュータプログラム70は、通信装置500(スマートメータ50)を実現させるためのコンピュータ40に、マルチホップネットワークにおける上位装置(ゲートウェイ14または上位のスマートメーター50)および下位装置(下位のスマートメータ50)と通信を行う手順、上位装置から、プログラム60の配信通知80を受信する手順、プログラム60を自装置(通信装置500(コンピュータ40))にインストールする手順、プログラム60のインストール完了後に、下位装置に配信通知80を送信する手順、を実行させるように記述されている。
 図20は、本実施形態の通信装置500の動作の一例を示すフローチャートである。
 本発明の実施の形態に係る制御方法は、通信装置500の制御方法であり、通信装置500を実現するコンピュータ40により実行される制御方法である。
 本実施形態の制御方法は、通信装置500が、マルチホップネットワークにおける上位装置および下位装置と通信を行い(ステップS101)、上位装置から、プログラム60の配信通知80を受信し(ステップS103)、プログラム60を自装置にインストールし(ステップS107)、プログラムのインストール完了後に(ステップS109のYES)、下位装置に配信通知80を送信する(ステップS111)。
 本実施形態の通信装置500によれば、上記実施形態と同様に、マルチホップネットワークで、プログラム60のインストールを行う場合に、ゲートウェイ14(またはサーバ10)が下位ノード全ての管理をするのではなく、直近の親子関係にあるノード間でデータ配信を完了させて、次の下位階層に順次転送を繰り返していくことができる。
 これにより、本実施形態の通信装置500は、マルチホップネットワーク内の複数階層のノードを跨ぐような不要なトラフィックの発生を抑制できるとともに、上位側の管理負荷を軽減でき、効率のよいプログラムの配信が可能になる。また、本実施形態の通信装置500は、プログラムの配信処理を階層毎に自律的に管理できる。
(他の実施形態4)
 図21は、本発明の実施の形態に係る通信装置600の論理的な構成を示す機能ブロック図である。
 本実施形態の通信装置600は、他の上記実施形態の通信装置とは、プログラム60の転送が、上位装置から下位装置への転送に限定されない点で相違する。
 通信装置600は、他の装置から、プログラム60の配信通知80を受信する配信通知受信部604と、プログラム60を自装置にインストールするプログラム導入部108と、プログラム60のインストール完了後に、他の装置以外の装置に対して、配信通知80を送信する通知部610と、を備える。
 本実施形態の通信装置600の制御方法は、少なくとも1つのコンピュータにより実行される通信装置600が、他の装置から、プログラム60の配信通知80を受信し、プログラム60を自装置にインストールし、プログラム60のインストール完了後に、他の装置以外の装置に対して、配信通知80を送信することを含む。
 本実施形態のコンピュータプログラムは、通信装置600の制御方法を少なくとも1つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
 このコンピュータプログラムは、コンピュータにより実行されたとき、コンピュータに、通信装置600上で、その制御方法を実施させるコンピュータプログラムコードを含む。
 本実施形態の通信装置600によれば、プログラム60をある他のノードから別の他のノードに順次転送していく際に、ゲートウェイ14(またはサーバ10)が全てのノードの管理をするのではなく、直近のノード間でデータ配信を完了させて、次の別の他のノードに順次転送を繰り返していくことができる。
 これにより、本実施形態の通信装置600は、複数のノードを跨ぐような不要なトラフィックの発生を抑制できるとともに、プログラム配信側の管理負荷を軽減でき、効率のよいプログラム配信が可能になる。また、本実施形態の通信装置600は、プログラムの配信処理を直近のノード間毎に自律的に管理できる。
 以下、本発明の上記実施形態の実施例について、比較例と比較しながら説明する。
(実施例1)
 本実施例は、第1の実施形態の実施例であり、各ノードは、図14の第1実施形態の通信装置180の構成を有するものとする。また、各通信装置180は、スマートメーター50であるとする。
 図15は、本発明の実施例1の通信システムの動作フローを示す図である。なお、図中、破線の矢印は、メッセージをユニキャスト送信していることを示し、二重線の矢印は、メッセージをブロードキャスト送信していることを示している。
 まず、サーバ10(SV1)が、プログラム60の更新通知をゲートウェイ14(GW1)に送信する(ステップS501)。ここで、「更新通知」は、上記実施形態で説明した「配信通知」に相当する。ゲートウェイ14は、更新通知に呼応して、プログラム受信部124により、サーバ10にFTP(File Transfer Protocol)でアクセスし、プログラムをダウンロードする(ステップS503)。そして、ゲートウェイ14は、プログラムのダウンロードが終了すると、通知部110により、ダウンロードが済んだことをサーバ10に応答をする(ステップS505)。
 そして、ゲートウェイ14は、親ノード(図中、「P(Parent)」と示す)として、通知部110により、配下の複数の子ノードA1、A2、...、An(図中、「C(Child)」と示す)に、プログラムの更新通知をブロードキャスト送信する(ステップS507)。子ノードA1、A2、...、Anは、各自のスケジュールを確認し(ステップS509)、都合のよいタイミングで、プログラムの配信要求をゲートウェイ14に送信する(ステップS511)。ゲートウェイ14は、配信要求受信部132により、少なくとも1つの子ノードから配信要求を受信すると、プログラム送信部134によりプログラムの配信を開始する。プログラムは、複数のブロックに分割して、順に複数の子ノードにブロードキャスト送信される(ステップS513)。このとき、各ブロック(i)は、t秒間隔で送信される。各子ノードは、プログラム受信部124により、ブロックを順に受信し、RAM46に一時的に記憶する。ここで、iは1~Mの自然数である。
 子ノードは、不足判定部154により、プログラム配信通知に含まれるブロック総数と、受信したブロック数とブロック番号から、不足ブロックを検出する(ステップS515)。不足ブロックがあれば(ステップS515のY)、スケジュールを確認し(ステップS509)、都合のよいタイミングで再送要求をゲートウェイ14に送信する(ステップS511)。
 ゲートウェイ14は、配信要求受信部172により、子ノードから不足ブロックの指定を含む配信要求を受信すると、プログラム送信部134により、配信要求で指定された不足ブロックをブロードキャスト送信する(ステップS513)。
 子ノードは、プログラム受信部124により、再送されたブロックを受信し、RAM46に一時的に記憶する。また、子ノードは、受信したブロックが不要であれば破棄する。
 そして、各子ノードは、全てのブロックがそろったら(ステップS515のN)、プログラム導入部108によりプログラムをインストールして更新する(ステップS517)。インストールが完了したら、各子ノードA1、A2、...、Anは、次は、親ノードとして、通信部102により、更新通知を配下の子ノードB11~B1n、B21~B2n、...、Bn1~Bnn等にそれぞれブロードキャスト送信する(ステップS519)。
 なお、ゲートウェイ14は、完了判定部174により、配信通知を送信した後、所定時間経過しても配信要求が受信されなくなった場合(ステップS521のY)、配下(子ノードA1~An)へのプログラム配信処理が完了したと判定し、処理を終了する。所定時間が経過するまでは(ステップS521のN)、下位ノード(子ノードA1~An)から配信要求が来るのを待つ。
 配信通知受信部104により配信通知を受信した子ノードB11~B1n等は、それぞれ上記ノードA1~Anと同様に動作する。そして、階層毎に、プログラムの配信とインストールが行われ、インストールが完了すると、次の下位階層へと、さらに進んでいく。このようにして、マルチホップネットワーク内の全てのノードにプログラムが配信される。
(比較例1)
 図16および図17は、本発明の比較例1の通信システムの動作フローを示す図である。
 まず、サーバ10(SV1)が、プログラム60の更新通知をゲートウェイ14(GW1)に送信し(ステップS501)、ゲートウェイ14がプログラムをダウンロードし(ステップS503)、サーバ10に応答をする(ステップS505)手順までは図15の実施例1と同様である。
 その後、ゲートウェイ14が、プログラムを下位ノードに配信する手順が実施例1とは異なる。比較例1では、ゲートウェイ14のプログラム送信部は、プログラムをM個のブロック(i)に分割して子ノードA1~Anに順次ブロードキャスト送信する(ステップS531)。ここで、iは、1~Mの自然数である。また、ここで、ブロック(i)は、所定の時間間隔(たとえば、(t+T)秒)で順次送信される。
 各子ノードA1~Anは、受信したブロック(i)を、さらに、t秒後に、その配下の下位ノードB11~B1n、B21~B2n、Bn1~Bnn等にそれぞれブロードキャスト送信する(ステップS533)。上位ノードからブロック(i)を受信する毎に、t秒後に、その配下の下位ノードにそれぞれブロードキャスト送信する。
 さらに、各子ノードB11~B1n、B21~B2n、Bn1~Bnnが、受信したブロック(i)を、その配下の下位ノードC111~C11n、C121~C12n、C1n1~C1nn、C211~C21n、...、Cnn1~Cnnn等に、それぞれブロードキャスト送信する(ステップS535)。
 そして、各ノードA1~An、B11~B1n、B21~B2n、Bn1~Bnn等は、それぞれ全ブロックの受信および送信が完了した後、プログラムを自身にインストールして更新する(ステップS537)。そして、インストールしたプログラムのバージョン情報を、各ノードA1~An、B11~B1n、B21~B2n、Bn1~Bnn等はそれぞれ上位ノードに応答メッセージとして送信する(ステップS539)。このバージョン応答メッセージは、さらに、上位ノードへ転送され、最終的にゲートウェイ14まで送信される。
 そして、ゲートウェイ14は、バージョン応答メッセージが返信されないノードが存在するか否かを判定する。そして、ゲートウェイ14は、応答のないノードが存在する場合には、図17に示すように、そのノードに対して、不足ブロックを問合せる(ステップS541)。たとえば、ここでは、図16に示すように、ノードC111が応答していなかったものとする。
 不足ブロック問合せメッセージは、該当するノードC111まで転送され、該当するノードC111が応答し、不足ブロックの情報を上位ノードに送信し、中間のノードが中継して、ゲートウェイ14まで転送する(ステップS543)。
 そして、ゲートウェイ14は、応答された情報に基づいて、不足ブロックをノードC111に送信する(ステップS545)。このブロックは、ノードA1およびノードB11が中継してノードC111まで転送される。そして、ノードC111は、不足ブロックを全て受信し終わると、プログラムを自身にインストールして更新する(ステップS537)。そして、インストールしたプログラムのバージョン情報を、ノードC111が応答メッセージとして送信する(ステップS539)。このバージョン応答メッセージは、ノードB11およびノードA1が中継して、最終的にゲートウェイ14まで送信される。
 そして、ゲートウェイ14は、全てのノードからバージョン応答メッセージが返信されるまで、不足ブロック問合せと送信の処理を繰り返す。そして、ゲートウェイ14は、全てのノードからバージョン応答メッセージが返信された場合、プログラムの更新が正常に終了したと判定し、プログラムの更新処理を完了する。
 比較例1では、もし、ノードA2等の比較的上位のノードで不足ブロックが生じた場合、その下位のノードB21~B2n、C211~C21n、...、C2n1~C2nn等、多数の下位ノードでも当該ブロックを受信できない状態となる。つまり、あるノードでの受信エラーの影響は、その配下の複数の下位ノードにも次々と波及してしまう。さらに、ゲートウェイ14が一括して各ノードの更新状態を管理しているため、不足ブロックの再送処理時には、不足ブロックの問合せ、応答、および送信等のメッセージを、途中のノードが中継しながら、該当する下位ノードとゲートウェイ14間でやり取りしなければならない。
 上述した実施例1では、プログラムの不足ブロックがあった場合にも、比較例1のように、下位ノードとゲートウェイ14がメッセージをやり取りする必要がない。実施例1では、プログラムの配信処理を階層毎に自律的に管理できる。そして、実施例1では、直近の親子関係にあるノード間でデータ配信を完了させることができるので、比較例1に比べて、不要なトラフィックの発生を抑制できるとともに、上位側の管理負荷を軽減でき、効率のよいプログラム配信が可能になることが分かる。
 (実施例2)
 本実施例は、第2の実施形態の実施例である。各ノードは、図14の第1実施形態の通信装置180の通知部110以外の構成と、さらに、図10の通信装置200の通知部210を有するものとする。実施例2は、プログラムのインストール後に子ノードへ送信する配信通知の送信タイミングを、同じ階層のノード間でずらす構成を有する。また、本実施例でも、各通信装置180は、スマートメーター50であるとする。
 図18は、本発明の実施例2の通信システムの動作フローを示す図である。なお、図中、破線の矢印は、ユニキャストでメッセージを送信していることを示し、二重線の矢印は、メッセージをブロードキャスト送信していることを示している。
 実施例2において、サーバ10からプログラム60の更新通知がゲートウェイ14に送信され(ステップS501)、ノードA1~Anに配信されて、それぞれプログラム60がインストールされる(ステップS517)までの手順は、実施例1と同じである。
 そして、インストールが完了した各子ノードA1~Anは、次は、親ノードとして、通信部102により、更新通知を配下の子ノードB11~B1n、B21~B2n、...、Bn1~Bnn等にブロードキャスト送信するが、その送信タイミングが通知部210によりノード毎に異なる値(たとえば、T1、T2、...、Tn)に設定される。
 図18の例では、ノードA1は、インストール完了後T1秒経過後に、通知部210により配下の子ノードB11~B1nに配信通知を送信する(ステップS551)。ノードA2は、インストール完了後T2秒経過後に、通知部210により配下の子ノードB21~B2n(図18には不図示)に配信通知を送信する(ステップS553)。ノードAnは、インストール完了後Tn秒経過後に、通知部210により配下の子ノードBn1~Bnn(図18には不図示)に配信通知を送信する(ステップS555)。このように、本実施例では、各ノードA1~Anから下位ノードに配信通知が同じタイミングで送信されないようになっている。
 配信通知受信部104により配信通知を受信した子ノードB11~B1n、B21~B2n、Bn1~Bnn等は、それぞれ上記ノードA1~Anと同様に動作する。そして、階層毎に、プログラムの配信とインストールが行われ、インストールが完了すると、次の下位階層に、さらにそれぞれ異なる送信タイミングで配信通知を送信し、本プログラム更新処理が各ノードで行われる。このようにして、マルチホップネットワーク内の全てのノードにプログラムが配信される。
 本実施例では、プログラムを受信してインストールしたノードが、次の階層の子ノードにプログラムを転送する際、配信通知を同一階層の他のノードと異なるタイミングで送信することができるので、下位ノードへのプログラムの配信タイミングをずらすことができ、各ノード間の無線トラフィックの輻輳を、簡単な構成で低減できる。
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 なお、本発明において利用者に関する情報を取得、利用する場合は、これを適法に行うものとする。
 以下、参考形態の例を付記する。
1. コンピュータに、
 マルチホップネットワークにおける上位装置および下位装置と通信を行う手順、
 前記上位装置から、プログラムの配信通知を受信する手順、
 前記配信通知を受信した後に、前記上位装置から前記プログラムを受信する手順、
 受信した前記プログラムを自装置にインストールする手順、
 前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する手順、
を実行させるためのプログラム。
2. 前記配信通知を受信する手順で、前記上位装置から受信したブロードキャストメッセージが前記配信通知か否かを判定する手順、
 前記配信通知である場合に、前記配信通知を前記下位装置にブロードキャスト転送する手順、
をコンピュータに実行させるための、1.に記載のプログラム。
3. 前記配信通知を受信すると、自装置の動作状況または動作スケジュールに基づいて決定した受信タイミングで、前記プログラムの配信要求を前記上位装置に送信する手順、
をコンピュータに実行させるための、1.または2.に記載のプログラム。
4. 前記配信要求を前記上位装置に送信する際、自装置の動作負荷に基づいて前記受信タイミングを決定する手順、
をコンピュータに実行させるための、3.に記載のプログラム。
5. 前記配信要求を前記上位装置に送信する際、検針データの送信処理時以外に前記受信タイミングを決定する手順、
をコンピュータに実行させるための、3.に記載のプログラム。
6. 複数の前記下位装置の中のいずれか1つから前記プログラムの配信要求を受信する手順、
 前記配信要求を受信すると、複数のブロックに分割した前記プログラムを前記下位装置にブロードキャスト送信する手順、
をコンピュータに実行させるための、1.から5.いずれか1つに記載のプログラム。
7. 前記複数のブロックに分割されたプログラムを受信すると、前記複数のブロックが前記プログラム全体に対する不足が無いかを判定する手順、
 不足ブロックがあると判定された場合、前記不足ブロックの指定を含む配信要求を前記上位装置に送信する手順、
をコンピュータに実行させるための、1.から6.いずれか1つに記載のプログラム。
8. 前記下位装置に前記配信通知を送信する際、前記下位装置に送信する前記配信通知に複数に分割したプログラムのブロック総数を含める手順、
をコンピュータに実行させるための、7.に記載のプログラム。
9. 前記配信通知を送信後、所定の時間経過するまでに自身の配下の前記下位装置から前記プログラムの配信要求を受信しない場合、前記下位装置の前記プログラムの受信が完了したと判定する手順、
をコンピュータに実行させるための、1.から8.いずれか1つに記載のプログラム。
10. 前記マルチホップネットワークにおける同一階層の他の通信装置と異なるタイミングで設定された送信タイミングで前記配信通知を送信する手順、
をコンピュータに実行させるための、1.から9.いずれか1つに記載のプログラム。
11. 前記プログラムを複数のブロックに分けて前記下位装置に送信する手順、
 前記下位装置から不足ブロックの指定を含む配信要求を受信する手順、
 前記配信要求に呼応して、前記不足ブロックを前記下位装置にブロードキャスト送信する手順、
をコンピュータに実行させるための、1.から10.いずれか1つに記載のプログラム。
12. 前記配信通知を受信する際、前記プログラムの属性情報を含む配信通知を受信する手順、
 前記配信通知に含まれる属性情報と、自装置のプログラムに関する属性情報とに基づいて、受信した前記プログラムをインストールするか否かを判定する手順、
をコンピュータに実行させるための、1.から11.いずれか1つに記載のプログラム。
13. 通信装置が、
 マルチホップネットワークにおける上位装置および下位装置と通信を行い、
 前記上位装置から、プログラムの配信通知を受信し、
 前記配信通知を受信した後に、前記上位装置から前記プログラムを受信し、
 受信した前記プログラムを自装置にインストールし、
 前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する、
 通信装置の制御方法。
14. 前記通信装置が、
 前記配信通知を受信した際、前記上位装置から受信したブロードキャストメッセージが前記配信通知か否かを判定し、
 前記配信通知である場合に、前記下位装置に前記配信通知をブロードキャスト転送する、
 13.に記載の通信装置の制御方法。
15. 前記通信装置が、
 前記配信通知を受信すると、自装置の動作状況または動作スケジュールに基づいて決定した受信タイミングで、前記プログラムの配信要求を前記上位装置に送信する、
 13.または14.に記載の通信装置の制御方法。
16. 前記通信装置が、
 前記配信要求を前記上位装置に送信する際、自装置の動作負荷に基づいて前記受信タイミングを決定する、
 15.に記載の通信装置の制御方法。
17. 前記通信装置が、
 前記配信要求を前記上位装置に送信する際、検針データの送信処理時以外に前記受信タイミングを決定する、
 15.に記載の通信装置の制御方法。
18. 前記通信装置が、
 複数の前記下位装置の中のいずれか1つから前記プログラムの配信要求を受信し、
 前記配信要求を受信すると、複数のブロックに分割した前記プログラムを前記下位装置にブロードキャスト送信する、
 13.から17.いずれか1つに記載の通信装置の制御方法。
19. 前記通信装置が、
 前記複数のブロックに分割されたプログラムを受信すると、前記複数のブロックが前記プログラム全体に対する不足が無いかを判定し、
 不足ブロックがあると判定された場合、前記不足ブロックの指定を含む配信要求を前記上位装置に送信する、
 13.から18.いずれか1つに記載の通信装置の制御方法。
20. 前記通信装置が、
 前記配信要求を送信する際、前記下位装置に送信する前記配信通知に複数に分割したプログラムのブロック総数を含める、
 19.に記載の通信装置の制御方法。
21. 前記通信装置が、
 前記配信通知を送信後、所定の時間経過するまでに自身の配下の前記下位装置から前記プログラムの配信要求を受信しない場合、前記下位装置の前記プログラムの受信が完了したと判定する、
 13.から20.いずれか1つに記載の通信装置の制御方法。
22. 前記通信装置が、
 前記マルチホップネットワークにおける同一階層の他の通信装置と異なるタイミングで設定された送信タイミングで前記配信通知を送信する、
 13.から21.いずれか1つに記載の通信装置の制御方法。
23. 前記通信装置が、
 前記プログラムを複数のブロックに分けて前記下位装置に送信し、
 前記下位装置から不足ブロックの指定を含む配信要求を受信し、
 前記配信要求に呼応して、前記不足ブロックを前記下位装置にブロードキャスト送信する、
 13.から22.いずれか1つに記載の通信装置の制御方法。
24. 前記通信装置が、
 前記上位装置から、前記プログラムの属性情報を含む配信通知を受信し、
 前記配信通知に含まれる属性情報と、自装置のプログラムに関する属性情報とに基づいて、受信された前記プログラムをインストールするか否かを判定する、
 13.から23.いずれか1つに記載の通信装置の制御方法。
 この出願は、2014年9月10日に出願された日本出願特願2014-184014号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (16)

  1.  マルチホップネットワークにおける上位装置および下位装置と通信を行う通信装置において、
     前記上位装置から、プログラムの配信通知を受信する配信通知受信手段と、
     受信した前記プログラムを自装置にインストールするプログラム導入手段と、
     前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する通知手段と、
    を備える通信装置。
  2.  前記配信通知受信手段は、前記上位装置から受信したブロードキャストメッセージが前記配信通知か否かを判定し、
     前記配信通知である場合に、前記通知手段は前記下位装置に前記配信通知をブロードキャスト転送する、
     請求項1に記載の通信装置。
  3.  前記配信通知を受信すると、自装置の動作状況または動作スケジュールに基づいて決定した受信タイミングで、前記プログラムの配信要求を前記上位装置に送信する配信要求手段を備える、
     請求項1または2に記載の通信装置。
  4.  前記配信要求手段は、自装置の動作負荷に基づいて前記受信タイミングを決定する、
     請求項3に記載の通信装置。
  5.  前記配信要求手段は、検針データの送信処理時以外に前記受信タイミングを決定する、
     請求項3に記載の通信装置。
  6.  複数の前記下位装置の中のいずれか1つから前記プログラムの配信要求を受信する配信要求受信手段と、
     前記配信要求を受信すると、複数のブロックに分割した前記プログラムを前記下位装置にブロードキャスト送信するプログラム送信手段と、を備える、
     請求項1から5いずれか1項に記載の通信装置。
  7.  前記複数のブロックに分割されたプログラムを受信すると、前記複数のブロックが前記プログラム全体に対する不足が無いかを判定する不足判定手段と、
     不足ブロックがあると判定された場合、前記不足ブロックの指定を含む配信要求を前記上位装置に送信する配信要求手段と、を備える、
     請求項1から6いずれか1項に記載の通信装置。
  8.  前記通知手段は、前記下位装置に送信する前記配信通知に複数に分割したプログラムのブロック総数を含める、
     請求項7に記載の通信装置。
  9.  前記通知手段が前記配信通知を送信後、所定の時間経過するまでに自身の配下の前記下位装置から前記プログラムの配信要求を受信しない場合、前記下位装置の前記プログラムの受信が完了したと判定する完了判定手段を備える、
     請求項1から8いずれか1項に記載の通信装置。
  10.  前記通知手段は、前記マルチホップネットワークにおける同一階層の他の通信装置と異なるタイミングで設定された送信タイミングで前記配信通知を送信する、
     請求項1から9いずれか1項に記載の通信装置。
  11.  前記プログラムを複数のブロックに分けて前記下位装置に送信するプログラム送信手段と、
     前記下位装置から不足ブロックの指定を含む配信要求を受信する配信要求受信手段と、
     前記配信要求に呼応して、前記不足ブロックを前記下位装置にブロードキャスト送信するプログラム送信手段と、を備える、
     請求項1から10いずれか1項に記載の通信装置。
  12.  前記配信通知受信手段は、前記プログラムの属性情報を含む配信通知を受信し、
     前記配信通知に含まれる属性情報と、自装置のプログラムに関する属性情報とに基づいて、受信した前記プログラムをインストールするか否かを判定する対象判定手段と、を備える、
     請求項1から11いずれか1項に記載の通信装置。
  13.  他の装置から、プログラムの配信通知を受信する配信通知受信手段と、
     前記プログラムを自装置にインストールするプログラム導入手段と、
     前記プログラムのインストール完了後に、前記他の装置以外の装置に対して、前記配信通知を送信する通知手段と、
    を備える通信装置。
  14.  配信起点装置と、
     マルチホップネットワークにおける上位装置および下位装置と通信を行う、複数の通信装置と、を備え、
     前記配信起点装置および前記複数の通信装置は、マルチホップネットワークに含まれ、
     前記通信装置は、
     前記上位装置から、プログラムの配信通知を受信する配信通知受信手段と、
     前記配信通知を受信した後に、前記上位装置から前記プログラムを受信するプログラム受信手段と、
     受信した前記プログラムを自装置にインストールするプログラム導入手段と、
     前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する通知手段と、を有する、
     通信システム。
  15.  コンピュータに、
     マルチホップネットワークにおける上位装置および下位装置と通信を行う手順、
     前記上位装置から、プログラムの配信通知を受信する手順、
     前記配信通知を受信した後に、前記上位装置から前記プログラムを受信する手順、
     受信した前記プログラムを自装置にインストールする手順、
     前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する手順、
    を実行させるためのプログラム。
  16.  通信装置が、
     マルチホップネットワークにおける上位装置および下位装置と通信を行い、
     前記上位装置から、プログラムの配信通知を受信し、
     前記配信通知を受信した後に、前記上位装置から前記プログラムを受信し、
     受信した前記プログラムを自装置にインストールし、
     前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する、
     通信装置の制御方法。
PCT/JP2015/071807 2014-09-10 2015-07-31 通信装置、その制御方法、通信システム、およびプログラム WO2016039039A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016509812A JPWO2016039039A1 (ja) 2014-09-10 2015-07-31 通信装置、その制御方法、通信システム、およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014184014 2014-09-10
JP2014-184014 2014-09-10

Publications (1)

Publication Number Publication Date
WO2016039039A1 true WO2016039039A1 (ja) 2016-03-17

Family

ID=55458798

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/071807 WO2016039039A1 (ja) 2014-09-10 2015-07-31 通信装置、その制御方法、通信システム、およびプログラム

Country Status (2)

Country Link
JP (1) JPWO2016039039A1 (ja)
WO (1) WO2016039039A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018182450A (ja) * 2017-04-07 2018-11-15 三菱電機株式会社 無線通信システムおよび無線通信機器
JP2019200620A (ja) * 2018-05-16 2019-11-21 ソフトバンク株式会社 無線通信装置、無線通信装置の制御方法、無線通信装置の制御プログラム、ファームウェア提供装置、ファームウェア提供装置の制御方法、ファームウェア提供装置の制御プログラム、及び、通信システム
JP2020021201A (ja) * 2018-07-31 2020-02-06 ラピスセミコンダクタ株式会社 通信システム及びプログラム更新方法
JP7051017B1 (ja) * 2020-12-22 2022-04-08 三菱電機株式会社 通信システム、通信管理装置、集約装置、ソフトウェア配布方法およびソフトウェア配布プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011066529A (ja) * 2009-09-15 2011-03-31 Panasonic Electric Works Co Ltd ファームウェアのアップデート方法、分散システム、保守端末、通信ユニット、及び、ファームウェアのアップデートプログラム
JP2011161704A (ja) * 2010-02-08 2011-08-25 Brother Industries Ltd プリンタ
JP2012252552A (ja) * 2011-06-03 2012-12-20 Fujitsu Ltd 配信方法及び配信システム
JP2013141132A (ja) * 2012-01-05 2013-07-18 Hitachi Ltd 自動検針システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011066529A (ja) * 2009-09-15 2011-03-31 Panasonic Electric Works Co Ltd ファームウェアのアップデート方法、分散システム、保守端末、通信ユニット、及び、ファームウェアのアップデートプログラム
JP2011161704A (ja) * 2010-02-08 2011-08-25 Brother Industries Ltd プリンタ
JP2012252552A (ja) * 2011-06-03 2012-12-20 Fujitsu Ltd 配信方法及び配信システム
JP2013141132A (ja) * 2012-01-05 2013-07-18 Hitachi Ltd 自動検針システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018182450A (ja) * 2017-04-07 2018-11-15 三菱電機株式会社 無線通信システムおよび無線通信機器
JP2019200620A (ja) * 2018-05-16 2019-11-21 ソフトバンク株式会社 無線通信装置、無線通信装置の制御方法、無線通信装置の制御プログラム、ファームウェア提供装置、ファームウェア提供装置の制御方法、ファームウェア提供装置の制御プログラム、及び、通信システム
JP2020021201A (ja) * 2018-07-31 2020-02-06 ラピスセミコンダクタ株式会社 通信システム及びプログラム更新方法
JP7134771B2 (ja) 2018-07-31 2022-09-12 ラピスセミコンダクタ株式会社 通信システム及びプログラム更新方法
JP7051017B1 (ja) * 2020-12-22 2022-04-08 三菱電機株式会社 通信システム、通信管理装置、集約装置、ソフトウェア配布方法およびソフトウェア配布プログラム
WO2022137365A1 (ja) * 2020-12-22 2022-06-30 三菱電機株式会社 通信システム、通信管理装置、通信装置、ソフトウェア配布方法およびソフトウェア配布プログラム

Also Published As

Publication number Publication date
JPWO2016039039A1 (ja) 2017-04-27

Similar Documents

Publication Publication Date Title
US8910141B2 (en) Distribution of software updates in wireless multihop networks
WO2019192605A1 (zh) 拓扑信息的管理方法及装置、系统、存储介质、电子装置
US9930166B2 (en) Method for operating a communication device in a communication network, a communication device, a luminaire equipped with such communication device
WO2018103579A1 (zh) 抄表方法及装置、系统、通信网关
WO2016039039A1 (ja) 通信装置、その制御方法、通信システム、およびプログラム
JP2007235444A (ja) 移動端末装置、制御方法及び移動通信システム
US9763062B2 (en) Rapid deployment of software updates in multi-hop wireless networks
WO2012101779A1 (ja) ネットワーク管理システム、ネットワーク管理サーバ、ネットワーク端末、およびネットワーク管理方法
JP5875696B2 (ja) データ配信システム、配信装置、端末装置、データ配信方法
Bravo-Torres et al. VaNetLayer: A virtualization layer supporting access to web contents from within vehicular networks
US20080165692A1 (en) Method and system for opportunistic data communication
CN104038427A (zh) 路由更新方法和路由更新装置
US10630594B2 (en) System, device, and method for communicating data over a mesh network
US20140372626A1 (en) Terminal, route generating method, and computer-readable recording medium
JP2010045526A (ja) 無線アドホックネットワーク端末のプログラム更新方法及び無線アドホックネットワーク端末
JP6174454B2 (ja) マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法
JP6254840B2 (ja) 集約装置、配信方法、配信プログラム、及び、ネットワークシステム
CN103068000B (zh) 基于小卫星的自组织网络方法及系统
JP5868506B2 (ja) 無線ネットワークシステムにおける時刻同期方法
US20130163466A1 (en) System and method for route learning and auto-configuration
WO2020176525A1 (en) Systems, devices, and methods for autonomic formation of wireless networks
JP7458275B2 (ja) データ配信システム、集約ルータ、通信端末、および、データ配信方法
CN104834540A (zh) 一种基于泛洪机制的软件升级方法
JP6176394B2 (ja) ノード、マスタ装置、ならびに通信制御システム、方法およびプログラム
TWI727519B (zh) 終端裝置、通信系統及通信方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2016509812

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15840203

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15840203

Country of ref document: EP

Kind code of ref document: A1