Communication control device, communication system, communication control method, and program

The communication control device prioritizes message acquisition processes for multicast or broadcast requests, addressing the issue of missed responses in managing multiple ECHONET devices connected to a LAN, ensuring comprehensive device management within the network.

WO2025004379A1PCT designated stage expired Publication Date: 2025-01-02MITSUBISHI ELECTRIC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/024513
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2025-01-02

AI Technical Summary

Technical Problem

In-home device management systems face challenges in managing multiple ECHONET devices connected to a LAN, particularly when using connectionless communication protocols like UDP, as they may miss individual identification information acquisition responses due to insufficient processing speed, leading to unmanaged devices.

Method used

A communication control device that connects to a local network and a server via a wide area network, prioritizes message acquisition processes when transmission requests are multicast or broadcast, ensuring all device messages are obtained without omission by executing message acquisition with priority over other processes.

Benefits of technology

This approach allows for complete management of devices connected to the local network by prioritizing message acquisition processes, preventing missed responses and ensuring all device information is accurately managed, even in scenarios with multiple devices responding simultaneously.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2023024513_02012025_PF_FP_ABST
    Figure JP2023024513_02012025_PF_FP_ABST
Patent Text Reader

Abstract

A communication control device (1) comprises: a telegram acquisition unit (111) that, on the basis of a UDP protocol, acquires, via a local network, a device telegram generated by a device (3); a transmission request determination unit (118) that determines whether transmission request information requesting transmission of a device telegram to the device (3) is to be multicast or broadcast to the device (3); and a processing order management unit (119) that, when it is determined that the transmission request information is to be multicast or broadcast to the device (3), causes a telegram acquisition process for acquiring a device telegram to be preferentially executed before other processes, among a plurality of processes sequentially executed to relay information transmitted and received between the device (3) and a cloud server (2).
Need to check novelty before this filing date? Find Prior Art

Description

COMMUNICATION CONTROL DEVICE, COMMUNICATION SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM

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

[0002] A home device management device has been proposed that manages ECHONET devices, which are devices that comply with the ECHONET (registered trademark) standard, via a network (see, for example, Patent Document 1). This home device management device periodically multicasts a request to acquire predetermined individual identification information that identifies the ECHONET devices to the ECHONET devices connected to the network, receives individual identification information acquisition responses from each of the ECHONET devices connected to the network, and manages the individual identification information included in the received individual identification information acquisition responses in association with the ECHONET addresses set for the ECHONET devices.

[0003] JP 2008-172462 A

[0004] Incidentally, when a home appliance management apparatus such as that described in Patent Document 1 is connected to the same local area network (LAN) as ECHONET devices, a connectionless communication protocol such as User Datagram Protocol (UDP) may be adopted as the communication protocol between the home appliance management apparatus and the ECHONET, prioritizing communication speed. In this case, if multiple ECHONET devices are connected to the LAN, it is assumed that when the multiple ECHONET devices simultaneously receive requests for individual identification information, they will simultaneously transmit individual identification information acquisition responses to the home appliance management apparatus. In this case, if the home appliance management apparatus does not process the individual identification information acquisition responses quickly enough, there is a risk that the individual identification information acquisition responses will be missed. Furthermore, when a connectionless communication protocol is adopted, the home appliance management apparatus does not confirm the receipt of the individual identification information acquisition response from the ECHONET device that sent the individual identification information acquisition response, and therefore, there is a risk that the missed ECHONET device will be left unmanaged without its individual identification information being managed.

[0005] The present disclosure has been made in consideration of the above-mentioned reasons, and aims to provide a communication control device, a communication system, a communication control method, and a program that can appropriately manage devices connected to a network.

[0006] In order to achieve the above object, the communication control device of the present disclosure is a communication control device that is connected to a local network to which devices are connected, is connected to a server via a wide area network, and sequentially executes multiple processes to relay information transmitted and received between the devices and the server, and includes: a message acquisition unit that acquires a device message generated by the device via the local network based on a connectionless communication protocol; a transmission request determination unit that determines whether transmission request information requesting the device to transmit the device message will be multicast or broadcast to the device; and a processing order management unit that, when it is determined that the transmission request information will be multicast or broadcast to the device, causes a message acquisition process for acquiring the device message among the multiple processes to be executed in priority over other processes.

[0007] According to the present disclosure, a transmission request determination unit determines whether transmission request information is to be multicast or broadcast to devices, and when a processing order management unit determines that the transmission request information is to be multicast or broadcast to devices, the processing order management unit causes a message acquisition unit to execute a message acquisition process that acquires device messages with priority. As a result, the message acquisition process that acquires device messages transmitted from devices in response to transmission request information multicast or broadcast to devices is executed with priority over other processes without waiting until the other processes are completed, so that all device messages can be acquired without omission. Therefore, devices connected to a local network can be appropriately managed.

[0008] FIG. 1 is a schematic configuration diagram of a communication system according to an embodiment of the present disclosure; FIG. 2 is a block diagram showing a hardware configuration of a communication system according to an embodiment; FIG. 3 is a block diagram showing a functional configuration of a communication system according to an embodiment; FIG. 4 is a diagram showing an example of information stored in a device information storage unit of a cloud server according to an embodiment; FIG. 5 is an explanatory diagram of the operation of a thread processing unit according to an embodiment; FIG. 6 is an explanatory diagram of the operation of a transmission information generation unit according to an embodiment; FIG. 7 is an explanatory diagram of the operation of a processing order management unit according to an embodiment;

[0009] A communication control device according to an embodiment of the present disclosure will be described below with reference to the accompanying drawings. The communication control device according to the embodiment is connected to a local network to which devices are connected, and is connected to a server via a wide area network, and sequentially executes multiple processes for relaying information transmitted and received between the devices and the server. The communication control device includes: a message acquisition unit that acquires a device message generated by the device via the local network based on a connectionless communication protocol; a transmission request determination unit that determines whether transmission request information requesting the device to transmit the device message is to be multicast or broadcast to the device; and a processing order management unit that, when it is determined that the transmission request information is to be multicast or broadcast to the device, causes a message acquisition process for acquiring the device message to be executed among the multiple processes in priority over other processes.

[0010] As shown in FIG. 1 , the communication system according to this embodiment includes a cloud server 2, a device 3 installed in a home, a communication control device 1 that transmits device messages generated by the device 3 to the cloud server 2, and a terminal device 4. The device 3, the communication control device 1, and the terminal device 4 are capable of communicating with each other via a local network NW2 such as a wireless local area network (LAN). The cloud server 2 is also capable of communicating with a wide area network NW1 such as the Internet and a broadband router (hereinafter referred to as "BBR") 8. The device 3 is, for example, an air conditioner equipped with a wireless module, and communicates with the BBR 8, the communication control device 1, and the terminal device 4 via the local network NW2.

[0011] The device 3 is, for example, an air conditioner equipped with a wireless module, and communicates with the communication control device 1 or the terminal device 4 via the local network NW2 using communication middleware such as ECHONET Lite (registered trademark). Here, the device 3 communicates between the communication control device 1 and the terminal device 4 based on a connectionless communication protocol, for example, a communication protocol employing UDP as a transport layer. When the device 3 receives device status request information from the communication control device 1 requesting transmission of device status information indicating its own status to the cloud server 2, the device 3 generates device status information including status parameter information indicating the status of the device 3 and transmits it to the communication control device 1. Furthermore, when the device 3 receives device identification information request information from the communication control device 1 or the terminal device 4 requesting transmission of device identification information identifying the device, the device 3 generates device identification information response information including the aforementioned device identification information in response to the request and transmits it to the communication control device 1. Here, the device identification information request information is information including identification number information that identifies the device 3 at the application layer, and is, for example, an instance list request message or a Get message that requests the device 3 to send an instance list notification message in the ECHONET Lite standard communication protocol. Furthermore, the identification number information is, for example, information indicating a 16-byte identification number assigned to each device 3 in the ECHONET Lite standard. The device identification information response information is information including the MAC address information and IP address information of the device 3, and is, for example, an instance list notification message that is multicast transmitted from the device 3 in the ECHONET Lite standard communication protocol. Furthermore, the device 3 operates based on control information transmitted from the communication control device 1.

[0012] In response to an operation by the user, the terminal device 4 generates device table update request information requesting an update of device table information (described below) managed by the cloud server 2, and transmits the information to the cloud server 2 via the wide area network NW1. This device table update request information includes preset subnet information for identifying the local network NW2 to which the device 3 used by the user is connected. For example, suppose that the user connects a new device 3 to the local network NW2 and then performs an initial network connection operation on the terminal device 4 to register a combination of the device identification information, IP address information, and MAC address information of the newly connected device 3 in the device table information managed by the cloud server 2. In this case, the terminal device 4 accepts the initial network connection operation, generates device table update request information requesting an update of the device table information, and transmits the information to the cloud server 2.

[0013] The communication control device 1 sequentially executes multiple processes for relaying information transmitted and received between the device 3 and the cloud server 2. As shown in FIG. 2 , the communication control device 1 includes a CPU (Central Processing Unit) 101, a main memory 102, an auxiliary memory 103, a communication unit 106, and a bus 109 connecting the various units. The main memory 102 is a volatile memory such as a RAM (Random Access Memory) and is used as a work area for the CPU 101. The auxiliary memory 103 has a nonvolatile memory such as a semiconductor memory, functions as a ROM (Read Only Memory) and storage, and stores programs for implementing various functions of the communication control device 1. The communication unit 106 has, for example, a wireless module and performs wireless communication with the device 3 and the BBR 8.

[0014] As shown in FIG. 3 , the CPU 101 loads a program stored in the auxiliary storage unit 103 into the main storage unit 102 and executes it, thereby functioning as a message acquisition unit 111, a transmission information generation unit 112, a thread processing unit 113, a format conversion unit 114, an information transmission unit 115, an information acquisition unit 116, a message transmission unit 117, a transmission request determination unit 118, and a processing order management unit 119. Here, the format conversion unit 114, the information transmission unit 115, and the information acquisition unit 116 correspond to a transmission / reception task execution function unit APT, in which the CPU 101 executes processing based on a communication protocol in the application layer, such as MQTT (Message Queuing Telemetry Transport), or a transport layer, such as TCP (Transmission Control Protocol). The thread processing unit 113 and the transmission information generation unit 112 execute processing based on a communication protocol in the transport layer, such as UDP. The message acquisition unit 111 and the message transmission unit 117 execute processing based on a communication protocol below the data link layer. The CPU 101 then executes these processes sequentially. The main memory 102 shown in Fig. 2 also includes a received message buffer 121 that temporarily stores device messages transmitted from the device 3, a transmitted information buffer 122 that temporarily stores transmission information to be transmitted to the cloud server 2, and a transmitted message buffer 123, as shown in Fig. 3. The transmitted message buffer 123 temporarily stores device messages to be transmitted to the device 3 connected to the local network NW2. The received message buffer 121 is configured as a ring buffer, and stores device messages that are not encrypted at the network layer. The auxiliary memory 103 shown in Fig. 2 also includes an ARP table storage unit 131 that stores ARP table information indicating the correspondence between the MAC address information and the IP address information of the device 3 and the communication control device 1 connected to the local network NW2, as shown in Fig. 3.

[0015] The message acquisition unit 111 executes a message acquisition process to acquire, via the local network NW2, a device message based on the User Datagram Protocol (UDP), a connectionless communication protocol, which is generated by and transmitted from the device 3. This message acquisition process includes only processes based on protocols below the data link layer. Examples of device messages include the aforementioned device identification response information or the aforementioned device status information. The message acquisition unit 111 then stores the acquired device message in the received message buffer 121. After storing the device message in the received message buffer 121, the message acquisition unit 111 notifies the thread processing unit 113 of pointer information indicating the storage location in the received message buffer 121.

[0016] The thread processing unit 113 executes multiple threads based on protocols belonging to the transport layer and network layer of the OSI Reference Model. The thread processing unit 113 executes, for example, a thread based on UDP to identify the processing in the application layer for each device message stored in the received message buffer 121 and a thread to check the integrity of the device message using a checksum. The thread processing unit 113 also executes threads based on ICMP (Internet Control Message Protocol) and IGMP (Internet Group Management Protocol) to send and receive management packets for managing the connection status of the device 3 in the local network NW2.

[0017] Furthermore, the thread processing unit 113 executes a thread for routing when transmitting an instrument message stored in the received message buffer 121, based on a communication protocol of the network layer in the OSI Reference Model, such as IPv4 (Internet Protocol version 4) or IPv6 (Internet Protocol version 6), or the internet layer in the Internet Protocol Suite. Here, if the IP address information of the destination of the instrument message stored in the received message buffer 121 indicates an IP address assigned to an instrument 3 connected to the local network NW2, the thread processing unit 113 executes a thread for identifying the MAC address corresponding to the IP address by referencing the ARP table information stored in the ARP table storage unit 131. The thread processing unit 113 then executes a thread for adding the identified MAC address information to the instrument message stored in the received message buffer 121 and storing the instrument message in the transmitted message buffer 123. Furthermore, when the IP address information of the destination of the device message stored in the received message buffer 121 indicates a multicast address or a broadcast address, the thread processing unit 113 executes a thread for identifying the MAC addresses corresponding to the IP addresses of all devices 3 connected to the local network NW2, by referring to the APR table information stored in the ARP table storage unit 131. The thread processing unit 113 then executes a thread for generating a device message by adding the identified MAC address information to the device message stored in the received message buffer 121, and storing the generated device message in the transmitted message buffer 123. Furthermore, when the IP address information of the destination of the device message stored in the received message buffer 121 indicates an IP address assigned to the communication control device 1, the thread processing unit 113 executes a thread for identifying the IP address corresponding to the MAC address of the sender by referring to the APR table information stored in the ARP table storage unit 131, and then generates various information by adding the MAC address information and IP address information of the sender to the device message, and stores the information in the transmitted information buffer 122.5A , when the thread processing unit 113 executes the process of generating various types of information from device messages and storing them in the transmission information buffer 122, it typically generates various types of information to be transmitted to the cloud server 2 by executing multiple threads Th[0], Th[1], ..., Th[i] (i is a positive integer) while accessing the device messages stored in the received message buffer 121 based on pointer information notified from the message acquisition unit 111. Then, the thread processing unit 113 stores the generated various types of information in the transmission information buffer 122.

[0018] Returning to FIG. 3 , the transmission information generation unit 112 selects, from the device telegrams stored in the received telegram buffer 121, a device telegram including device identification information to be transmitted to the cloud server 2, based on port number information included in the device telegram. Then, the transmission information generation unit 112 generates device information notification information including device identification information to be transmitted to the cloud server 2 using the selected device telegram, and stores the generated device information notification information in the transmission information buffer 122. This device information notification information is, for example, information having a format conforming to the ECHONET Lite standard. Here, as shown in FIG. 5B , the transmission information generation unit 112 selects, from the device telegrams stored in the received telegram buffer 121, a device telegram including port number information indicating a preset port number and device identification information. Then, the transmission information generation unit 112 generates device information notification information by adding source MAC address information and IP address information to the selected device telegram including device identification information, and stores the generated device information notification information in the transmission information buffer 122. Here, the port number information is included in the UDP header and indicates a number assigned to execute a transmission process in the application layer to transmit various information to the cloud server 2. This port number information may indicate, for example, "3610," which is assigned to a process based on the ECHONET Lite standard.

[0019] 3 , the format conversion unit 114 converts the format of the various information stored in the transmission information buffer 122. The format conversion unit 114 converts the format of the various information into, for example, a JSON format. The information transmission unit 115 performs an encapsulation process to add header information for specifying the cloud server 2 as the transmission destination to the various information whose format has been converted by the format conversion unit 114. Then, the information transmission unit 115 transmits the encapsulated transmission information to the cloud server 2 based on the header information included in the transmission information.

[0020] When the information acquisition unit 116 acquires various information destined for the communication control device 1 and transmitted from the cloud server 2, it removes header information from the acquired information and then decapsulates it. The various information includes device status request information that requests the device 3 to transmit device status information indicating the status of the device 3, and control information for controlling the device 3. The information acquisition unit 116 then stores the extracted various information in the transmission message buffer 123. The message transmission unit 117 transmits the notified various information to the device 3 based on the MAC address information of the device 3 included in the various information stored in the transmission message buffer 123. Furthermore, if the information to be transmitted is device identification information request information, the message transmission unit 117 notifies the transmission request determination unit 118 of the device identification information request information.

[0021] The transmission request determination unit 118 determines whether the device identification information request information notified by the message transmission unit 117 will be multicast or broadcast to the device 3. If the destination IP address of the generated device identification information request information is set to a multicast address or a broadcast address, the transmission request determination unit 118 determines that the device identification information request information will be multicast or broadcast to the device 3. If the transmission request determination unit 118 determines that the device identification information request information will be multicast or broadcast to the device 3, it notifies the processing order management unit 119 to that effect.

[0022] When the transmission request determination unit 118 determines that the device identification information request information will be multicast or broadcast to the device 3, the processing order management unit 119 prioritizes execution of a message acquisition process for acquiring a device message over other processes among multiple processes executed by the communication control device 1 to relay information transmitted and received between the device 3 and the cloud server 2. Specifically, when the transmission request determination unit 118 determines that the device identification information request information will be multicast or broadcast to the device 3, the processing order management unit 119 prohibits processing by the transmission / reception task execution function unit APT until a preset processing prohibition period expires. Specifically, when the transmission request determination unit 118 determines that the device identification information request information will be multicast or broadcast to the device 3, the processing order management unit 119 prohibits dispatching to the CPU 101 of processes to be executed by the transmission / reception task execution function unit APT until the preset processing prohibition period expires. Here, the length of the processing prohibition period is set to, for example, 3 seconds. Then, when the processing prohibition period expires, the processing order management unit 119 again allows processing by the transmission / reception task execution function unit APT. As shown in FIG. 6 , the processing order management unit 119 normally dispatches to the CPU 101, in order, a message acquisition process TA1, a transmission information generation process TA2 by the thread processing unit 113, and a transmission process TA3. Here, the transmission process TA3 corresponds to the process executed by the aforementioned transmission / reception task execution function unit APT. Then, when the processing order management unit 119 acquires device identification information request information that is multicast or broadcast to the device 3, it prohibits the dispatch of the transmission information generation process TA2 and the transmission process TA3 to the CPU 101, and repeatedly dispatches the message acquisition process TA1 and a transmission information generation process TA4 by the transmission information generation unit 112 to the CPU 101. Thereafter, when the processing prohibition period dT1 ends, the processing order management unit 119 dispatches the transmission process TA3 to the CPU 101. Thereafter, the processing order management unit 119 again dispatches to the CPU 101 the message acquisition processing TA1, the transmission information generation processing TA2 by the thread processing unit 113, and the transmission processing TA3 in this order.

[0023] Returning to FIG. 2 , the cloud server 2 includes a CPU 201, a main memory unit 202, an auxiliary memory unit 203, a communication unit 206, a clock unit 207, and a bus 209 connecting the various units. The CPU 201 is, for example, a multi-core processor. The main memory unit 202 is a volatile memory used as a work area for the CPU 201. The auxiliary memory unit 203 has non-volatile memory, functions as a ROM and storage, and stores programs for realizing various functions of the cloud server 2. The communication unit 206 communicates with the communication control device 1 via the wide area network NW1 and the BBR 8, and also communicates with the terminal device 4 via the wide area network NW1. The clock unit 207 has, for example, a real-time clock.

[0024] In the cloud server 2, the CPU 201 loads the program stored in the auxiliary storage unit 203 into the main storage unit 202 and executes it, thereby functioning as an information acquisition unit 211, a type determination unit 212, a device information update unit 213, a status acquisition unit 214, a control information generation unit 215, a transmission request unit 216, and an information transmission unit 217, as shown in FIG. 3 . The auxiliary storage unit 203 shown in FIG. 2 also includes a device information storage unit 231 and a status storage unit 232, as shown in FIG. 3 . The device information storage unit 231 stores at least a combination of identification number information, MAC address information, and IP address information for identifying the device 3 at the application layer, in association with the IP address information of the communication control device 1. For example, as shown in FIG. 4 , the device information storage unit 231 stores device table information composed of the identification number information, MAC address information, and IP address information of each device 3 connected to the local network NW2, in association with the IP address information of the communication control device 1 connected to the local network NW2. Here, the device table information is information that associates the identification number information of each device 3 with a combination of the MAC address information and IP address information of the device 3. The example shown in Fig. 4 indicates that a communication control device 1 assigned an IP address "192.168.32.x0" is connected to a local network NW2 indicated by subnet information "192.168.32.0 / 24". Returning to Fig. 3, the status storage unit 232 stores device status information indicating the status of the device 3 in association with the identification number information, MAC address information, and IP address information of the device 3.

[0025] When the information acquisition unit 211 acquires various pieces of information transmitted from the communication control device 1 or the terminal device 4, it notifies the type determination unit 212 of the acquired various pieces of information. The type determination unit 212 determines whether the information notified from the information acquisition unit 211 is device table information, device status information, or the above-mentioned device table update request information. If the type determination unit 212 determines that the information notified from the information acquisition unit 211 is device table information, it notifies the device information update unit 213 of the device table information. If the type determination unit 212 determines that the information notified from the information acquisition unit 211 is the above-mentioned device status information, it notifies the status acquisition unit 214 of the device status information. If the type determination unit 212 determines that the information notified from the information acquisition unit 211 is device table update request information, it notifies the transmission request unit 216 of the device table update request information.

[0026] The device information update unit 213 updates the device table information stored in the device information storage unit 231 using the device table information notified by the type determination unit 212. The status acquisition unit 214 acquires device status information transmitted from the device 3 by transmitting, to the device 3, device status request information that requests the device 3 to transmit device status information. Specifically, the status acquisition unit 214 generates device status request information each time a preset device status acquisition time arrives and notifies the information transmission unit 217 of the generated device status request information. Then, when the status acquisition unit 214 is notified of the device status information from the type determination unit 212, it updates the device status information stored in the status storage unit 232 using the notified device status information.

[0027] The control information generation unit 215 refers to the device status information stored in the status storage unit 232 and determines, based on the status of the device 3 indicated by the device status information, whether a control event has occurred that requires a change in the control content of the device 3. Then, when the control information generation unit 215 determines that a control event has occurred, it generates control information for changing the control content of the device 3 and notifies the information transmission unit 217 of the generated control information.

[0028] When the transmission request unit 216 receives device table update request information from the type determination unit 212, it generates device identification information request information that requests the device 3 to transmit its device identification information, and notifies the information transmission unit 217 of the generated device identification information request information. The IP address information included in this device identification information request information is set to a multicast address or a broadcast address. Here, the transmission request unit 216 also notifies the information transmission unit 217 of the subnet information included in the device table update request information. The transmission request unit 216 also determines whether a preset device identification information acquisition time has arrived based on the time measured by the clock unit 207, and if it determines that the device identification information acquisition time has arrived, it also generates the above-mentioned device identification information request information and notifies the information transmission unit 217 of it.

[0029] When the information transmitting unit 217 receives various pieces of information from the status acquiring unit 214 and the control information generating unit 215, it identifies the communication control device 1 as the destination in accordance with the received various pieces of information. The information transmitting unit 217 identifies the IP address information of the communication control device 1 associated with the combination of the device status request information, the MAC address information, and the IP address information of the device 3 as the destination of the control information, stored in the device information storage unit 231. The information transmitting unit 217 then performs an encapsulation process to add header information including the identified IP address information to the received various pieces of information. The information transmitting unit 217 then transmits the encapsulated various pieces of information to the destination indicated by the identified IP address information. Furthermore, when the information transmitting unit 217 receives the device identification information request information and the subnet information from the transmission requesting unit 216, it identifies the IP address information of the communication control device 1 associated with the received subnet information, stored in the device information storage unit 231. The information transmitting unit 217 then performs encapsulation processing to add header information including the specified IP address information to the notified device identification information request information, and transmits the information to the communication control device 1 .

[0030] Next, the operation of the communication system according to this embodiment will be described with reference to FIGS. 7 to 10 . It is assumed that a process for establishing a connection between the communication control device 1 and the cloud server 2 has already been executed, and that the communication control device 1 and the cloud server 2 have acquired each other's IP address information. First, as shown in FIG. 7 , it is assumed that a user performs the aforementioned network initial connection operation on the terminal device 4. In this case, the terminal device 4 generates device table update request information including subnet information of the local network NW2 to which the device 3 used by the user is connected (step S1), and the generated device table update request information is transmitted from the terminal device 4 to the cloud server 2 (step S2). Meanwhile, upon receiving the device table update request information, the cloud server 2 generates device identification information request information in which the destination IP address is set to a multicast address or a broadcast address (step S3). Next, the cloud server 2 performs an encapsulation process to add header information including the IP address information of the destination communication control device 1 to the generated device identification information request information (step S4), and the encapsulated device identification information request information is transmitted from the cloud server 2 to the communication control device 1 (step S5).

[0031] On the other hand, when the communication control device 1 acquires the device identification information request information, it executes a decapsulation process to remove header information from the acquired device identification information request information (step S6). Next, the communication control device 1 determines that the destination IP address of the device identification information request information is a multicast address or a broadcast address (step S7). In this case, the communication control device 1 prohibits the CPU 101 from dispatching to the process executed by the aforementioned transmission / reception task execution function unit APT (step S8). Thereafter, the device identification information request information is transmitted from the communication control device 1 to the device 3 by multicast transmission or broadcast transmission (step S9).

[0032] On the other hand, when the device 3 receives the device identification information request information, it generates device identification information response information including its own device's identification number information in response to the request (step S10). Next, the generated device identification information response information is transmitted from the device 3 to the communication control device 1 (step S11). On the other hand, when the communication control device 1 receives the device identification information response information, it stores the received device identification information response information in the received message buffer 121 (step S12). Next, the communication control device 1 selects a device message to be transmitted to the cloud server 2 from the device messages stored in the received message buffer 121 based on the port number information included in the device message (step S13). Thereafter, the communication control device 1 generates device information notification information including the device identification information included in the device message to be transmitted to the cloud server 2 using the selected device message, and stores the generated device information notification information in the transmission information buffer 122 (step S14). Thereafter, the communication control device 1 repeatedly executes the series of processes from steps S9 to S14 during the aforementioned processing prohibition period.

[0033] Next, as shown in FIG. 8 , it is assumed that the communication control device 1 determines that the aforementioned processing prohibition period has ended (step S15). In this case, the communication control device 1 releases the prohibition on the CPU 101 from dispatching to processing executed by the transmission / reception task execution function unit APT (step S16). Next, the communication control device 1 converts the format of the device information notification information stored in the transmission information buffer 122 into, for example, a JSON format (step S17), and then performs an encapsulation process to add header information for setting the destination to the cloud server 2 to the device information notification information (step S18). The encapsulated device information notification information is then transmitted from the communication control device 1 to the cloud server 2 (step S19). Meanwhile, upon receiving the device information notification information transmitted from the communication control device 1, the cloud server 2 stores the device information included in the received device information notification information in the device information storage unit 231 in association with the IP address information of the communication control device 1 that transmitted the device information notification information (step S20).

[0034] Furthermore, when a preset time for obtaining device identification information arrives, the cloud server 2 generates device identification information request information (step S21), and the generated device identification information request information is transmitted from the cloud server 2 to the communication control device 1 based on preset subnet information (step S22). Meanwhile, upon obtaining the device identification information request information, the communication control device 1 executes a decapsulation process to remove header information from the obtained device identification information request information (step S6). Next, a series of processes from steps S7 to S20 is executed.

[0035] 9 , it is assumed that the time for obtaining device status information indicating the device status of a preset device 3 has arrived. In this case, the cloud server 2 generates device status request information requesting transmission of device status information from one preset device 3 (step S23). The cloud server 2 then identifies the IP address information of the communication control device 1 associated with the IP address information of the device 3 to which the device status request information is to be sent, stored in the device information storage unit 231. The cloud server 2 then performs encapsulation processing to add header information including the identified IP address information to the device status request information (step S24). The encapsulated device status request information is then transmitted from the cloud server 2 to the communication control device 1 (step S25). Meanwhile, upon receiving the device status request information transmitted from the cloud server 2, the communication control device 1 performs decapsulation processing to remove the header information from the received device status request information (step S26). The device status request information is then unicast transmitted from the communication control device 1 to the device 3 based on the MAC address information and IP address information of the device 3 included in the header-removed device status request information (step S27).

[0036] On the other hand, when the device 3 receives the device status request information, it generates device status information indicating its own status in response to the request (step S28). The generated device status information is then transmitted from the device 3 to the communication control device 1 (step S29). On the other hand, when the communication control device 1 receives the device status information, it generates device status notification information including the received device status information (step S30) and performs an encapsulation process to add header information for specifying the cloud server 2 as the destination to the generated device status notification information (step S31). The encapsulated device status notification information is then transmitted from the communication control device 1 to the cloud server 2 (step S32). On the other hand, when the cloud server 2 receives the device status notification information transmitted from the communication control device 1, it extracts the device status information included in the received device status notification information and uses the extracted device status information to update the device status information stored in the status storage unit 232 (step S33).

[0037] Furthermore, when the aforementioned control event occurs, the cloud server 2 generates control information for changing the control content of the device 3 (step S34). The cloud server 2 then identifies the IP address information of the communication control device 1 associated with the IP address information of the device 3 to which the control information is to be sent, stored in the device information storage unit 231. The cloud server 2 then performs an encapsulation process to add header information including the identified IP address information to the device status request information (step S35). Subsequently, as shown in FIG. 10 , the encapsulated control information is transmitted from the cloud server 2 to the communication control device 1 (step S36). Meanwhile, upon receiving the control information transmitted from the cloud server 2, the communication control device 1 performs a decapsulation process to remove the header information from the received control information (step S37). Then, the control information is transmitted from the communication control device 1 to the device 3 based on the MAC address information and IP address information of the device 3 included in the control information (step S38). Meanwhile, upon receiving the control information, the device 3 operates based on the received control information (step S39).

[0038] Suppose that an IP address update event occurs thereafter, in which the IP address of device 3 is updated. This IP address update event corresponds, for example, to a case in which the DHCP function unit of BBR 8 sets a lease time for the IP address assigned to each device 3, and the set lease time expires and the IP address assigned to each device 3 is released. In this case, the cloud server 2 determines that the device table information stored in the device information storage unit 231 needs to be updated (step S40). Here, the cloud server 2 determines that the device table information needs to be updated if, after transmitting device status request information to the communication control device 1, it does not receive device status information transmitted from the communication control device 1 within a preset allowable response time, or if, after transmitting control information to the communication control device 1, the status of the corresponding device 3 stored in the status storage unit 232 does not reflect the transmitted control information after the elapse of the overhead time for the corresponding device 3. In this case, the cloud server 2 generates device identification information request information (step S41), and the generated device identification information request information is transmitted from the cloud server 2 to the communication control device 1 based on preset subnet information (step S42). On the other hand, when the communication control device 1 acquires the device identification information request information, it executes a decapsulation process to remove the header information from the acquired device identification information request information (step S6). Next, a series of processes from steps S7 to S20 are executed.

[0039] Next, the communication control process executed by the communication control device 1 according to this embodiment will be described with reference to FIGS. 11 and 12 . This communication control process is initiated, for example, when the communication control device 1 is powered on and placed in a location connectable to the local network NW2. First, as shown in FIG. 11 , the information acquisition unit 116 determines whether the aforementioned device identification information request information has been acquired (step S101). Here, the information acquisition unit 116 acquires information transmitted from the cloud server 2, performs a decapsulation process on the acquired information, and then determines whether the acquired information is device identification information request information. If the information acquisition unit 116 determines that the device identification information request information has not been acquired (step S101: No), the process of step S116, which will be described later, is executed. On the other hand, if the information acquisition unit 116 determines that the device identification information request information has been acquired (step S101: Yes), the transmission request determination unit 118 determines whether the destination IP address of the acquired device identification information request information is set to a multicast address or a broadcast address (step S102). If the transmission request determination unit 118 determines that the destination IP address is an IP address assigned to one device 3 (step S102: No), the message transmission unit 117 unicasts the acquired device identification information request information to the device 3 assigned the IP address indicated by the destination IP address information included in the device identification information request information (step S103). As a result, the message acquisition unit 111 acquires device identification information response information transmitted from the device 3 to which the device identification information request information was sent and stores the acquired device identification information response information in the received message buffer 121 (step S104). Next, the thread processing unit 113 executes various threads for routing when transmitting the device identification information response information stored in the received message buffer 121, based on a communication protocol of the network layer in the OSI Basic Reference Model. As a result, the thread processing unit 113 generates device information notification information including the device identification information included in the device identification information response information and the MAC address and IP address information of the sender, and stores the generated device information notification information in the transmission information buffer 122 (step S105).

[0040] Next, the format conversion unit 114 converts the format of the device information notification information stored in the transmission information buffer 122, and the information transmission unit 115 performs an encapsulation process to add header information for specifying the cloud server 2 as the destination to the format-converted device information notification information. Then, the information transmission unit 115 transmits the encapsulated transmission information to the cloud server 2 based on the header information included in the transmission information (step S106). Thereafter, the process of step S116 described below is executed.

[0041] On the other hand, suppose that the transmission request determination unit 118 determines in step S102 that the destination IP address of the acquired device identification information request information is set to a multicast address or a broadcast address (step S102: Yes). In this case, the processing order management unit 119 prohibits the CPU 101 from dispatching the acquired device identification information request information to the process executed by the aforementioned transmission / reception task execution function unit APT (step S107). Next, the message transmission unit 117 transmits the acquired device identification information request information by multicast or broadcast to all devices 3 connected to the local network NW2 (step S108). Next, the message acquisition unit 111 determines whether or not it has acquired device identification information response information transmitted from any of the devices 3 connected to the local network NW2 (step S109). Here, if the message acquisition unit 111 determines that it has not acquired device identification information response information (step S109: No), it executes the processing of step S113 described below. On the other hand, if the message acquisition unit 111 determines that it has acquired device identification information response information (step S109: Yes), it stores the acquired device identification information response information in the received message buffer 121 (step S110). Thereafter, the transmission information generation unit 112 selects a device message including device identification information to be transmitted to the cloud server 2 from the device messages stored in the received message buffer 121 based on port number information included in the device message (step S111). Next, the transmission information generation unit 112 generates device information notification information including device identification information to be transmitted to the cloud server 2 using the selected device message, and stores the generated device information notification information in the transmission information buffer 122 (step S112).

[0042] Next, the processing order management unit 119 determines whether a preset processing end period has expired (step S113). If the processing order management unit 119 determines that the processing end period has not yet expired (step S113: No), the processing of step S109 is executed again. On the other hand, if the processing order management unit 119 determines that the processing end period has expired (step S113: Yes), the processing order management unit 119 releases the prohibition on the CPU 101 from dispatching to the processing executed by the transmission / reception task execution function unit APT (step S114). Thereafter, the format conversion unit 114 converts the format of the device information notification information stored in the transmission information buffer 122, and the information transmission unit 115 performs an encapsulation process in which header information for specifying the cloud server 2 as the destination is added to the format-converted device information notification information. Then, the information transmission unit 115 transmits the encapsulated transmission information to the cloud server 2 based on the header information included in the transmission information (step S115).

[0043] Next, as shown in FIG. 12 , the message acquisition unit 111 determines whether or not it has acquired device status information transmitted from the device 3 (step S116). If the message acquisition unit 111 determines that it has not acquired device status information (step S116: No), it executes the processing of step S119, which will be described later. On the other hand, if the message acquisition unit 111 determines that it has acquired device status information (step S116: Yes), it stores the acquired device status information in the received message buffer 121. Then, the thread processing unit 113 executes various threads for routing when transmitting the device status information stored in the received message buffer 121, based on a communication protocol of the network layer in the OSI Basic Reference Model. As a result, the thread processing unit 113 generates device status notification information including the device status information and the MAC address information and IP address information of the sender of the device status information, and stores the generated information in the transmission information buffer 122 (step S117). Thereafter, the format conversion unit 114 converts the format of the device status notification information stored in the transmission information buffer 122, and the information transmission unit 115 performs an encapsulation process to add header information for specifying the cloud server 2 as the destination to the format-converted device status notification information. Then, the information transmission unit 115 transmits the encapsulated transmission information to the cloud server 2 based on the header information included in the transmission information (step S118).

[0044] Next, the information acquisition unit 116 determines whether or not it has acquired device status request information or control information transmitted from the cloud server 2 (step S119). If the information acquisition unit 116 determines that it has not acquired the device status request information or control information (step S119: No), it executes the process of step S101 again. On the other hand, if the information acquisition unit 116 determines that it has acquired the device status request information or control information (step S119: Yes), it performs a decapsulation process to remove header information from the acquired device status request information or control information and then stores the information in the transmission message buffer 123 (step S120). Next, the message transmission unit 117 transmits the device status request information or control information stored in the transmission message buffer 123 to the device 3 (step S121). Then, it executes the process of step S101 again.

[0045] Next, the device control process executed by the cloud server 2 according to this embodiment will be described with reference to FIG. 13 . This device control process is initiated, for example, when a program for executing the device control process is launched in the cloud server 2. First, the transmission request unit 216 determines whether the aforementioned device identification information acquisition time has arrived based on time information indicating the time measured by the timer unit 207 (step S301). If the transmission request unit 216 determines that the device identification information acquisition time has arrived (step S301: Yes), the process of step S303, described below, is executed. On the other hand, if the transmission request unit 216 determines that the device identification information acquisition time has not yet arrived (step S301: No), the transmission request unit 216 determines whether the device table information needs to be updated (step S302). If the transmission request unit 216 determines that the device table information does not need to be updated (step S302: No), the process of step S305, described below, is executed. On the other hand, if the transmission request unit 216 determines that the device table information needs to be updated (step S302: Yes), it generates the above-mentioned device identification information request information (step S303) and notifies the generated device identification information request information and subnet information to the information transmission unit 217. Next, the information transmission unit 217 identifies the IP address information of the communication control device 1 that is stored in the device information storage unit 231 and that is associated with the subnet information notified by the transmission request unit 216, performs an encapsulation process in which header information including the identified IP address information is added to the notified device identification information request information, and then transmits the information to the communication control device 1 (step S304).

[0046] Next, the control information generation unit 215 references the device status information stored in the status storage unit 232 and determines whether a control event has occurred that requires a change in the control content of the device 3, based on the state of the device 3 indicated by the device status information (step S305). If the control information generation unit 215 determines that a control event has not occurred (step S305: No), the process of step S308, described below, is executed. On the other hand, if the control information generation unit 215 determines that a control event has occurred (step S305: Yes), it generates control information for changing the control content of the device 3 (step S306). Thereafter, the information transmission unit 217 identifies the IP address information of the communication control device 1 associated with the IP address information of the device 3 to which the device status request information is to be sent, stored in the device information storage unit 231, performs encapsulation processing to add header information including the identified IP address information to the control information, and transmits the encapsulated control information to the communication control device 1 (step S307).

[0047] Next, the status acquisition unit 214 determines whether the aforementioned device status acquisition time has arrived (step S308). If the status acquisition unit 214 determines that the device status acquisition time has not yet arrived (step S308: No), the process of step S311, which will be described later, is executed. On the other hand, if the status acquisition unit 214 determines that the device status acquisition time has arrived (step S308: Yes), the status acquisition unit 214 generates the aforementioned device status request information (step S309). Next, the information transmission unit 217 identifies the IP address information of the communication control device 1 associated with the IP address information of the device 3 to which the device status request information is to be sent, which is stored in the device information storage unit 231, performs an encapsulation process in which header information including the identified IP address information is added to the device status request information, and transmits the encapsulated device status request information to the communication control device 1 (step S310).

[0048] Next, the information acquisition unit 211 determines whether or not various information transmitted from the communication control device 1 has been acquired (step S311). If the information acquisition unit 211 determines that various information transmitted from the communication control device 1 has not been acquired (step S311: No), the process of step S301 is executed again. On the other hand, if the information acquisition unit 211 determines that various information transmitted from the communication control device 1 has been acquired (step S311: Yes), the information acquisition unit 211 determines whether or not the acquired information is device information notification information (step S312). If the type determination unit 212 determines that the information is device information notification information (step S312: Yes), it notifies the device information update unit 213 of the device information notification information. The device information update unit 213 then extracts device information included in the notified device information notification information and uses the extracted device information to update the device table information stored in the device information storage unit 231 (step S313). Next, the process of step S301 is executed again.

[0049] On the other hand, if the type determination unit 212 determines that the acquired information is not device information notification information (step S312: No), it determines whether the acquired information is device status information (step S314). If the type determination unit 212 determines that the acquired information is not device status information (step S314: No), the process of step S301 is executed again. On the other hand, if the type determination unit 212 determines that the acquired information is device status information (step S314: Yes), the status acquisition unit 214 uses the device status information to update the device status information of device 3 stored in the status storage unit 232 (step S315). Then, the process of step S301 is executed again.

[0050] As described above, in the communication control device 1 according to the present embodiment, the transmission request determination unit 118 determines whether the transmission request information is to be multicast or broadcast to the device 3. Then, when the processing order management unit 119 determines that the transmission request information is to be multicast or broadcast to the device 3, it causes the message acquisition unit 111 to execute a message acquisition process that acquires a device message with priority. As a result, the message acquisition process that acquires a device message transmitted from the device 3 in response to the transmission request information that has been multicast or broadcast to the device 3 is executed with priority over other processes without waiting until the other processes are completed, so that device identification information response information can be acquired without omission. Therefore, the devices 3 connected to the local network NW2 can be appropriately managed.

[0051] Incidentally, when the multicast-transmitted device identification information request information is simultaneously acquired by multiple devices 3 connected to the local network NW2, the multiple devices 3 may transmit device identification information response information at the same time. In this case, if the communication control device 1 has insufficient capabilities for the message acquisition process, there is a risk that the device identification information response information may not be acquired. This may force the need to limit the number of devices 3 connected to the local network NW2. In contrast, in the communication system according to the present embodiment, the message acquisition process for acquiring device messages transmitted from the devices 3 is executed with priority over other processes without waiting until the other processes are completed. This allows the device identification information response information transmitted from the devices 3 to be stored in the received message buffer 121 without any omissions, thereby preventing problems caused by the device identification information response information not being acquired.

[0052] Furthermore, in the communication control device 1 according to this embodiment, the transmission information generation unit 112 selects a device message to be transmitted to the cloud server 2 from the device messages stored in the received message buffer 121 based on port number information included in the device message, and generates various information to be transmitted to the cloud server 2 using the selected device message. As a result, the transmission information generation unit 112 can generate device information notification information to be transmitted to the cloud server 2 from the device messages stored in the received message buffer 121 more quickly than the thread processing unit 113. Therefore, the transmission information generation unit 112 can generate device information notification information corresponding to the device identification information response information stored in the received message buffer 121 before the device identification information response information is overwritten with newly acquired device identification information response information. Therefore, it is possible to generate device information notification information corresponding to all of the device identification information response information stored in the received message buffer 121. This can prevent malfunctions caused by some of the device information notification information that should be transmitted to the cloud server 2 not being transmitted to the cloud server 2.

[0053] Although the embodiments of the present disclosure have been described above, the present disclosure is not limited to the above-described embodiments. For example, the local network NW2 may be configured as a wired LAN.

[0054] In the embodiment, an example has been described in which the device information storage unit 231 stores the IP address information and MAC address information of the device 3 in association with the identification number information unique to the device 3. However, this is not limiting, and the device information storage unit 231 may store the IP address information and MAC address information of the device 3 in association with model name information indicating the model name of the device 3, serial number information indicating the serial number of the device 3, and the like.

[0055] Furthermore, the various functions of the communication control device 1 and cloud server 2 according to the present disclosure may be realized by software, firmware, or a combination of software and firmware. In this case, the software or firmware may be written as a program, and the program may be stored and distributed on a computer-readable recording medium such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), DVD (Digital Versatile Disc), MO (Magneto-Optical Disc), or flash memory. A computer capable of realizing each of the above-described functions may be configured by loading and installing the program on a computer. Furthermore, if each function is realized by sharing the work between an operating system (OS) and an application, or by collaboration between an OS and an application, only the parts other than the OS may be stored on the recording medium.

[0056] Furthermore, each program may be superimposed on a carrier wave and distributed via a communication network. For example, the program may be posted on a bulletin board system (BBS) on the communication network and distributed via the network. These programs may then be started and executed under the control of the OS in the same way as other application programs, thereby enabling the above-described processing to be performed.

[0057] The present disclosure allows various embodiments and modifications without departing from the broad spirit and scope of the present disclosure. Furthermore, the above-described embodiments are intended to explain the present disclosure and do not limit the scope of the present disclosure. In other words, the scope of the present disclosure is defined by the claims, not the embodiments. Various modifications made within the scope of the claims and the meaning of equivalent disclosures are considered to be within the scope of the present disclosure.

[0058] The present disclosure is suitable as a system for managing multiple devices installed in a home.

[0059] 1 Communication control device, 2 Cloud server, 3 Device, 4 Terminal device, 8 BBR, 101, 201 CPU, 102, 202 Main memory unit, 103, 203 Auxiliary memory unit, 106, 206 Communication unit, 109, 209 Bus, 111 Message acquisition unit, 112 Transmission information generation unit, 113 Thread processing unit, 114 Format conversion unit, 115, 217 Information transmission unit, 116, 211 Information acquisition unit, 117 Message transmission unit, 118 Transmission request determination unit, 119 Processing order management unit, 121 Received message buffer, 122 Transmission information buffer, 123 Transmitted message buffer, 131 ARP table storage unit, 207 Timer unit, 212 Type determination unit, 213 Device information update unit, 214 Status acquisition unit, 215 Control information generating unit, 216 transmission request unit, 231 device information storage unit, 232 status storage unit, NW1 wide area network, NW2 local network

Claims

1. A communications control device that is connected to a local network to which devices are connected, and is connected to a server via a wide area network, and that sequentially executes multiple processes to relay information transmitted and received between the devices and the server, comprising: a message acquisition unit that acquires a device message generated by the device via the local network based on a connectionless communications protocol; a transmission request determination unit that determines whether transmission request information that requests the device to transmit the device message is to be multicast or broadcast to the device; and a processing order management unit that, when it is determined that the transmission request information is to be multicast or broadcast to the device, causes a message acquisition process for acquiring the device message among the multiple processes to be executed in priority over other processes.

2. The communication control device according to claim 1, wherein the message acquisition process includes a plurality of threads based on a protocol belonging to a transport layer or lower in the OSI Reference Model.

3. A communication control device as described in claim 1 or 2, further comprising: a received message buffer that temporarily stores the device messages acquired via the local network and not encrypted at the network layer; and a transmission information generation unit that selects the device messages to be transmitted to the server from the device messages stored in the received message buffer based on port number information contained in the device messages, and generates transmission information to be transmitted to the server using the selected device messages.

4. The communication control device according to claim 3, wherein the message acquisition process includes only processes based on protocols belonging to the data link layer or lower.

5. The communication control device according to claim 3, wherein the device message includes a User Datagram Protocol (UDP) header, and port number information included in the UDP header indicates a number assigned to execute a transmission process in an application layer to transmit the transmission information to the server.

6. A communication system comprising: a server; and a communication control device connected to a local network to which devices are connected, connected to the server via a wide area network, and sequentially executing a plurality of processes for relaying information transmitted and received between the devices and the server, wherein the server has a transmission request unit that transmits to the communication control device transmission request information requesting the devices to transmit device messages generated by the devices, and the communication control device has: a message acquisition unit that acquires the device messages generated by the devices via the local network based on a connectionless communications protocol; a transmission request determination unit that determines whether the transmission request information is to be multicast or broadcast to the devices; and a processing order management unit that, when it is determined that the transmission request information is to be multicast or broadcast to the devices, causes a message acquisition process for acquiring the device messages among the plurality of processes to be executed in priority over other processes.

7. A communication control method executed by a communication control device that is connected to a local network to which devices are connected and to a server via a wide area network, and that sequentially executes a plurality of processes for relaying information transmitted and received between the devices and the server, comprising: a step of acquiring a device message generated by the device via the local network based on a connectionless communication protocol; a step of transmitting transmission request information to the communication control device, which requests the device to transmit the device message; a step of determining whether the transmission request information is to be multicast or broadcast to the device; and a step of executing a message acquisition process for acquiring the device message among the plurality of processes in priority over other processes when it is determined that the transmission request information is to be multicast or broadcast to the device.

8. A program for causing a computer to function as: a message acquisition unit that acquires a device message generated by a device via a local network to which the device is connected based on a connectionless communications protocol; a transmission request determination unit that determines whether transmission request information requesting the device to transmit the device message is to be multicast or broadcast to the device; and a processing order management unit that, when it is determined that the transmission request information is to be multicast or broadcast to the device, causes a message acquisition process for acquiring the device message to be executed in priority over other processes among a plurality of processes that are executed sequentially to relay information transmitted and received between the device and a server.

Citation Information

Patent Citations

  • Communication device, communication system, information processing method and program

    JP2014191628A

  • Control system, server, terminal device, control device, communication control method and program

    JP6984076B1