Communication system, server device, terminal device, and method
The communication system simplifies the integration and control of IoT edge devices by providing device function information to terminal devices, ensuring secure and efficient execution of functions through centralized management.
Patent Information
- Application Number
- JP2023209212
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-12
- Publication Date
- 2025-06-24
AI Technical Summary
Existing IoT edge devices without communication functions require complex setup to connect to networks and execute functions via user terminals, necessitating a simpler and more straightforward mechanism for integration and control.
A communication system comprising a server device and terminal devices that facilitate easy connection and function execution by providing device function information to terminal devices, enabling them to request and manage functions of communication devices connected to edge devices.
Enables seamless and secure integration of communication devices with edge devices, allowing easy and secure execution of device functions through centralized management and authentication, reducing user complexity and enhancing security in IoT environments.
Smart Images

Figure 2025093513000001_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to a communication system, a server device, a terminal device, and a method.
Background Art
[0002] In the technology called IoT (Internet Of Things), it is necessary to connect an edge device (edge terminal) to a network. However, when this edge device does not have a communication function with an IoT server or cloud, the edge device can be connected to the network by connecting a controller (host controller) mounted on the edge device and a communication device.
[0003] By the way, in order to control, for example, the above-described edge device or communication device, it is conceivable to execute a function provided by the communication device using a user terminal (terminal device).
[0004] However, in order to execute a function provided by a communication device using a user terminal, complicated setting work may be required, and a mechanism for easily executing the function is desired.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0006] Therefore, the problem to be solved by the present invention is to provide a communication system, a server device, a terminal device, and a method capable of easily executing a function provided by a communication device.
Means for Solving the Problems
[0007] According to an embodiment, a communication system is provided that includes a server device and a terminal device connected to the server device via a network. The server device includes providing means for providing device function information regarding functions provided by the communication device to the terminal device when the communication device connected to a controller provided in an edge device is discovered by the terminal device. The terminal device includes requesting means for requesting the communication device to execute a function provided by the communication device based on the provided device function information.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Embodiments for Carrying Out the Invention
[0009] Hereinafter, embodiments will be described with reference to the drawings. FIG. 1 shows an example of the system configuration of the communication system according to the present embodiment. As shown in FIG. 1, the communication system 1 includes a host controller 10, a communication device 20, a first user terminal 30, a server device 40, and a second user terminal 50.
[0010] In the present embodiment, it is assumed that an edge device is used in a technology called IoT. The host controller 10 is mounted on the edge device and is configured to control the operation of the edge device.
[0011] Here, in the present embodiment, it is assumed that the host controller 10 (the edge device including the host controller 10) does not have a communication function for communicating with at least a server device (hereinafter referred to as an IoT server) for providing IoT services. In this case, a communication device 20 having a communication function for communicating with the IoT server can be connected to the host controller 10. By such a communication device 20, the host controller 10 can be connected to the IoT server via a predetermined network and realize the function as an edge device in the above-described IoT.
[0012] Note that the host controller 10 and the communication device 20 are connected via a connection interface provided in an edge device such as a USB connector or a pin slot connector. However, between the host controller 10 and the communication device 20, serial communication such as I2C, URT, and SPI may be performed, or parallel communication may be performed.
[0013] The first user terminal 30 is a terminal device (electronic device) such as a smartphone, a tablet terminal, and a personal computer (PC) used by a user, for example, and has a function of communicating with the communication device 20. Further, the first user terminal 30 is communicably connected to the server device 40 via a network 60a.
[0014] In this embodiment, as described above, by connecting the host controller 10 and the communication device 20, the edge device equipped with the host controller 10 can be used in the IoT. However, for example, from the request of the host controller 10 vendor or from the security perspective, there may be a case where only an appropriate communication device 20 is to be connected to the host controller 10. For this reason, the server device 40 in this embodiment is configured to determine whether the communication device 20 can be connected to the host controller 10 (that is, whether the communication device 20 is appropriate for the host controller 10). Information including the determination result by such a server device 40 (hereinafter referred to as connection availability information) is transmitted (provided) from the server device 40 to the host controller 10.
[0015] Note that in this embodiment, the first user terminal 30 corresponds to a setting user terminal that performs settings for connecting the host controller 10 and the communication device 20 as described above.
[0016] The second user terminal 50 is a terminal device (electronic device) such as a smartphone, a tablet terminal, and a personal computer (PC) used by a user, for example, and has a function of communicating with the communication device 20. Further, the second user terminal 50 is communicably connected to the server device 40 via the network 60b.
[0017] In this embodiment, when the communication device 20 is connected to the host controller 10 as described above, in order to control the edge device (host controller 10) or the communication device 20, etc., it is considered to execute the function provided by the communication device 20 (hereinafter referred to as device function) using the second user terminal 50. For this reason, the server device 40 in this embodiment is configured to determine, for example, from the security perspective, whether the user using the second user terminal 50 is a user who can execute the device function.
[0018] In addition, in the present embodiment, it is assumed that a device function is executed by a predetermined application program operating on the second user terminal 50 (that is, application communication is performed to execute the device function), and the second user terminal corresponds to a user terminal for application communication.
[0019] Note that, between the communication device 20 and the first user terminal 30 shown in FIG. 1, wireless communication or wired communication may be performed. As the wireless communication, for example, communication based on Bluetooth (registered trademark) or Wifi (registered trademark) is assumed, and as the wired communication, for example, communication based on Ethernet (registered trademark) is assumed, but communication based on other standards may be performed. Here, the communication between the communication device 20 and the first user terminal 30 has been described, but the same applies to the communication between the communication device 20 and the second user terminal 50.
[0020] In addition, the network 60a connecting the first user terminal 30 and the server device 40 may be a small-scale and closed network such as a local area network (LAN), a wide-area and closed network such as a wide area network (WAN), or an open network such as the Internet. Further, the first user terminal 30 performs communication based on, for example, Wifi and a mobile phone communication method (LTE or 5G, etc.) to connect to the network 60a, but may be configured to perform communication based on other standards. Here, the network 60a has been described, but the same applies to the network 60b connecting the second user terminal 50 and the server device 40. Note that the above-described networks 60a and 60b may be different networks or the same network.
[0021] Furthermore, in the present embodiment, for the sake of convenience, the first user terminal 30 and the second user terminal 50 are described as separate terminal devices, but the first user terminal 30 and the second user terminal 50 may be realized as the same terminal device.
[0022] Figure 2 shows an example of the functional configuration of the host controller 10 shown in FIG. 1. As shown in FIG. 2, the host controller 10 includes a power supply control unit 11, a communication processing unit 12, a device control unit 13, a unique information storage unit 14, an authentication processing unit 15, and a key information storage unit 16.
[0023] Here, when the communication device 20 is connected to the host controller 10 via the above-described connection interface in the present embodiment, the power supply control unit 11 supplies power to the communication device 20 according to a predetermined electrical specification. The communication device 20 can operate by the power supply performed by the power supply control unit 11.
[0024] The communication processing unit 12 communicates with the communication device 20 that operates based on the power supply by the power supply control unit 11 as described above according to a predetermined communication method.
[0025] Note that, as described above, the host controller 10 and the communication device 20 are connected via a connection interface such as a USB connector or a pin slot connector. The connection interface may be implemented as, for example, one connection interface that performs communication and power supply, or may be implemented as a plurality of connection interfaces that perform communication and power supply respectively.
[0026] The device control unit 13 controls the power supply control unit 11 (the power supply function of the host controller 10) and the communication processing unit 12 (the communication function of the host controller 10). Specifically, the device control unit 13 can perform control such as switching the validity of the power supply function and the communication function, for example.
[0027] The unique information storage unit 14 pre-stores information unique to the host controller 10 (hereinafter referred to as the unique information of the host controller 10). The unique information of the host controller 10 includes, for example, the vendor name, model, and firmware version (the version of the firmware for controlling the host controller 10) of the host controller 10. Note that the unique information of the host controller 10 may include individual identification information such as a serial number. The unique information of the host controller 10 is read from the unique information storage unit 14 by the device control unit 13 and transmitted to the communication device 20 via the communication processing unit 12.
[0028] Here, as will be described later, the communication processing unit 12 receives the connection availability information transmitted from the server device 40 via the communication device 20. The connection availability information received from the server device 40 in this way may be attached with an electronic signature (digital signature) generated in the server device 40. The authentication processing unit 15 executes a process of verifying such an electronic signature. The process of verifying this electronic signature is executed using the key information (for example, the public key of the server device 40) stored in the key information storage unit 16.
[0029] FIG. 3 shows an example of the functional configuration of the communication device 20 shown in FIG. 1. As shown in FIG. 3, the communication device 20 includes a power supply control unit 21, a first communication processing unit 22, a unique information storage unit 23, a device processing unit 24, and a second communication processing unit 25.
[0030] The power supply control unit 21 drives the communication device 20 by receiving power supply from the host controller 10 (power supply control unit 11).
[0031] The first communication processing unit 22 communicates with the host controller 10 according to a predetermined communication method. Note that the first communication processing unit 22 receives the unique information of the host controller 10 transmitted from the host controller 10.
[0032] The inherent information storage unit 23 stores in advance information unique to the communication device 20 (hereinafter referred to as the unique information of the communication device 20). The unique information of the communication device 20 includes, for example, the vendor name, model, and firmware version (the version of the firmware for controlling the communication device 20) of the communication device 20. Note that the unique information of the communication device 20 may include, for example, individual identification information such as a manufacturing number and a MAC (Media Access Control) address.
[0033] Furthermore, the unique information of the communication device 20 includes the information related to the above-described device functions (hereinafter referred to as device function information). The device function information includes, for example, function information and setting information for application communication. The function information for application communication includes, for example, the content and specifications (information) of device functions (functions supported by the communication device 20 or the firmware for controlling the communication device 20) or APIs (Application Programming Interfaces). The setting information for application communication includes, as information used to execute device functions and APIs, the address, port number, URL (Uniform Resource Locator), and security information of the communication device 20. The security information is, for example, a user name and a password, etc., but may also be data referred to as a secret. The device function information may include the device name of the communication device 20.
[0034] The device processing unit 24 acquires the unique information of the host controller 10 received by the first communication processing unit 22, and outputs the acquired unique information to the second communication processing unit 25. Also, the device processing unit 24 reads out the unique information of the communication device 20 from the inherent information storage unit 23, and outputs the read unique information to the second communication processing unit 25. Furthermore, the device processing unit 24 can execute, for example, as a part of the device functions, processing corresponding to the edge device in IoT (that is, device-specific processing).
[0035] The second communication processing unit 25 communicates with the first user terminal 30 according to a predetermined communication method. Note that the second communication processing unit 25 transmits the unique information of the host controller 10 and the communication device 20 output from the device processing unit 24 as described above to the first user terminal 30. Also, the second communication processing unit 25 receives the connection availability information transmitted from the server device 40 via the first user terminal 30. The connection availability information received by the second communication processing unit 25 in this way is transmitted to the host controller 10 by the first communication processing unit 22.
[0036] Also, the second communication processing unit 25 communicates with the second user terminal 50 according to a predetermined communication method. The second communication processing unit 25 accepts a request when the execution of a function provided by the communication device 20 is requested from the second user terminal 50. The request accepted by the second communication processing unit 25 is processed by the device processing unit 24 to provide the device function.
[0037] FIG. 4 shows an example of the functional configuration of the first user terminal 30 shown in FIG. 1. As shown in FIG. 4, the first user terminal 30 includes a first communication processing unit 31, a second communication processing unit 32, and an initial setting processing unit 33.
[0038] The first communication processing unit 31 communicates with the communication device 20 according to a predetermined communication method. The second communication processing unit 32 communicates with the server device 40 via the network 60a.
[0039] Note that the first communication processing unit 31 receives the unique information of the host controller 10 and the communication device 20 transmitted from the communication device 20. The initial setting processing unit 33 acquires the unique information of the host controller 10 and the communication device 20 received by the first communication processing unit 31 in this way, and transmits the acquired unique information to the server device 40 via the second communication processing unit 32.
[0040] In addition, the second communication processing unit 32 receives connection availability information transmitted from the server device 40. The initial setting processing unit 33 acquires the connection availability information received by the second communication processing unit 32 in this way, and transmits the acquired connection availability information to the communication device 20 via the first communication processing unit 31.
[0041] The initial setting processing unit 33 executes a first setting process for the first communication processing unit 31 for communicating with the communication device 20 and a second setting process for the second communication processing unit 32 for communicating with the server device 40.
[0042] Note that the initial setting processing unit 33 executes a process for pairing the communication device 20 and the first user terminal 30 (hereinafter referred to as a pairing process) as the first setting process. Generally, registering devices in Bluetooth is often referred to as pairing, but in this embodiment, pairing refers to realizing a state in which two devices can communicate by recognizing each other's communication addresses and authenticating each other.
[0043] In addition, the initial setting processing unit 33 executes an authentication process such as receiving input of a user ID and password by the user using the first user terminal 30 as the second setting process. Further, the initial setting processing unit 33 may execute other preliminary setting processes related to security and the like.
[0044] FIG. 5 shows an example of the functional configuration of the server device 40 shown in FIG. 1. As shown in FIG. 5, the server device 40 includes a first communication processing unit 41, a determination unit 42, a determination information storage unit 43, a key information storage unit 44, a second communication processing unit 45, a provision unit 46, a user information storage unit 47, and a device information storage unit 48.
[0045] The first communication processing unit 41 communicates with the first user terminal 30 via the network 60a. Note that the first communication processing unit 41 receives the unique information of the host controller 10 and the communication device 20 transmitted from the first user terminal 30.
[0046] The determination unit 42 acquires the unique information of the host controller 10 and the communication device 20 received by the first communication processing unit 41, and determines whether the communication device 20 can be connected to the host controller 10 based on the acquired unique information. Note that the determination process by the determination unit 42 is executed using the determination information stored in the determination information storage unit 43. Details of the determination information stored in the determination information storage unit 43 will be described later.
[0047] The determination unit 42 generates an electronic signature (digital signature) attached to the connection availability information including the determination result by the determination unit 42. Note that the electronic signature is generated using the key information (for example, the private key of the server device 40) stored in the key information storage unit 44.
[0048] The connection availability information with the electronic signature generated as described above is transmitted by the first communication processing unit 41 to the first user terminal 30.
[0049] The second communication processing unit 45 communicates with the second user terminal 50 via the network 60b. The second communication processing unit 45 receives an inquiry about the device function from the second user terminal 50 as will be described later.
[0050] When an inquiry is received by the second communication processing unit 45 (that is, when an inquiry is made by the second user terminal 50), the providing unit 46 determines whether the user using the second user terminal 50 is a user who can execute the device function. Note that the determination process by the providing unit 46 is executed using the user information stored in the user information storage unit 47. Details of the user information stored in the user information storage unit 47 will be described later.
[0051] Here, the unique information of the communication device 20 received by the first communication processing unit 41 as described above includes device function information. The device information storage unit 48 stores device information including this device function information.
[0052] Based on the determination result by the providing unit 46, the device function information included in the device information stored in the device information storage unit 48 is provided (transmitted) to the second user terminal 50 via the second communication processing unit 45 as a response to the inquiry received by the second communication processing unit 45.
[0053] In addition, in FIG. 5, the server device 40 has been described as including the first communication processing unit 41 and the second communication processing unit 45, but the first communication processing unit 41 and the second communication processing unit 45 may be configured as one communication processing unit.
[0054] FIG. 6 shows an example of the functional configuration of the second user terminal 50 shown in FIG. 1. As shown in FIG. 6, the second user terminal 50 includes a first communication processing unit 51, a second communication processing unit 52, an application processing unit 53, and a device function information storage unit 54.
[0055] The first communication processing unit 51 communicates with the communication device 20 according to a predetermined communication method. The second communication processing unit 52 communicates with the server device 40 via the network 60b.
[0056] Here, for example, assuming that communication based on Bluetooth is performed between the communication device 20 and the second user terminal 50, for example, when the second user terminal 50 is within the communication range with the communication device 20, the first communication processing unit 51 can receive, for example, data periodically transmitted from the communication device 20.
[0057] The application processing unit 53 can discover the communication device 20 (that is, recognize the existence of the communication device 20) when data is received by the first communication processing unit 51 in this way. When the communication device 20 is discovered, the application processing unit 53 makes an inquiry about the device function via the second communication processing unit 52.
[0058] The second communication processing unit 52 receives the device function information provided from the server device 40 as a response to the above-described inquiry. The application processing unit 53 stores the device function information received by the second communication processing unit 52 in the device function information storage unit 54.
[0059] Based on the device function information stored in the device function information storage unit 54, the application processing unit 53 requests the communication device 20 to execute the device function via the first communication processing unit 51.
[0060] Although detailed description is omitted, in the second user terminal 50, setting processing for the first communication processing unit 51 for communicating with the communication device 20 (processing corresponding to the first setting processing in the first user terminal 30) and setting processing for the second communication processing unit 52 for communicating with the server device 40 (processing corresponding to the second setting processing in the first user terminal 30) may be executed.
[0061] FIG. 7 shows an example of the hardware configuration of the host controller 10 described above. As shown in FIG. 7, the host controller 10 includes a processor 10a, a non-volatile memory 10b, a main memory 10c, a communication interface (I / F) 10d, a power supply interface (I / F) 10e, and the like.
[0062] The processor 10a is configured to control the operations of the components within the host controller 10, and may be, for example, a CPU or the like. Also, the processor 10a may be a single processor or may be composed of a plurality of processors. The processor 10a executes various programs loaded from the non-volatile memory 10b to the main memory 10c. The communication interface 10d is an interface for realizing communication with, for example, the communication device 20. The power supply interface 10e is an interface for realizing power supply to, for example, the communication device 20.
[0063] In this embodiment, part or all of the power supply control unit 11, communication processing unit 12, device control unit 13, and authentication processing unit 15 shown in FIG. 2 may be realized by causing the processor 10a shown in FIG. 7 to execute a predetermined program (that is, software), or may be realized by hardware such as an IC (Integrated Circuit), or may be realized by a configuration combining software and hardware.
[0064] Also, in this embodiment, the unique information storage unit 14 and the key information storage unit 16 shown in FIG. 2 are realized by the non-volatile memory 10b shown in FIG. 7.
[0065] Here, the hardware configuration of the host controller 10 has been described, but it is assumed that the communication device 20, the first user terminal 30, the server device 40, and the second user terminal 50 also have generally the same hardware configuration.
[0066] In this case, part or all of the power supply control unit 21, the first communication processing unit 22, the device processing unit 24, and the second communication processing unit 25 shown in FIG. 3 may be realized by causing a processor (CPU) provided in the communication device 20 to execute a predetermined program (that is, software), or may be realized by hardware, or may be realized by a configuration combining software and hardware. The unique information storage unit 23 shown in FIG. 3 is realized by a non-volatile memory provided in the communication device 20.
[0067] Also, part or all of the first communication processing unit 31, the second communication processing unit 32, and the initial setting processing unit 33 shown in FIG. 4 may be realized by causing a processor (CPU) provided in the first user terminal 30 to execute a predetermined program (application program) (that is, software), or may be realized by hardware, or may be realized by a configuration combining software and hardware.
[0068] Furthermore, some or all of the first communication processing unit 41, determination unit 42, second communication processing unit 45, and providing unit 46 shown in FIG. 5 may be realized by causing a processor (CPU) included in the server device 40 to execute a predetermined program (application program) (that is, software), may be realized by hardware, or may be realized by a configuration combining software and hardware. The determination information storage unit 43, key information storage unit 44, user information storage unit 47, and device information storage unit 48 shown in FIG. 5 are realized by a non-volatile memory included in the server device 40.
[0069] Also, some or all of the first communication processing unit 51, second communication processing unit 52, and application processing unit 53 shown in FIG. 6 may be realized by causing a processor (CPU) included in the second user terminal 50 to execute a predetermined program (application program) (that is, software), may be realized by hardware, or may be realized by a configuration combining software and hardware.
[0070] Note that, in the present embodiment, the first user terminal 30 and the second user terminal 50 may further include, for example, an input device and a display device.
[0071] Here, FIG. 8 shows an example of a specific mode of the communication system 1 shown in FIG. 1 described above.
[0072] In the example shown in FIG. 8, it is assumed that the edge device equipped with the host controller 10 is a lighting fixture, the communication device 20 is a wireless LAN interface, the first user terminal 30 and the second user terminal 50 are smartphones, and the server device 40 is a cloud server that provides cloud computing services. Note that, in FIG. 8, for convenience, the first user terminal 30 and the second user terminal 50 are shown as being one smartphone, but the first user terminal 30 and the second user terminal 50 may be separate smartphones.
[0073] According to such a communication system 1, for example, by determining whether the lighting fixture can be connected to the wireless LAN interface in the cloud server, it is possible to permit or reject the connection between the lighting fixture and the wireless LAN interface.
[0074] In addition, when the connection between the lighting fixture and the wireless LAN interface is permitted, it is possible to realize an IoT service for collecting sensor data related to the lighting fixture measured by various sensors or driving the lighting fixture remotely.
[0075] Furthermore, for example, the user who uses the second user terminal 50 can execute the device function by operating the second user terminal 50.
[0076] Also, FIG. 9 shows a specific example of the above-described lighting fixture (edge device). In the example shown in FIG. 9, the lighting fixture 100 includes a lighting fixture main body 101 and an LED (bar) 102.
[0077] Although not shown in FIG. 9, a host controller 10 is incorporated in the lighting fixture main body 101, and the host controller 10 is connected to a communication device 20 (wireless LAN interface). The lighting fixture main body 101 (host controller 10) is connected to, for example, a commercial power supply, and can supply power to the communication device 20 connected to the host controller 10.
[0078] Power is supplied to the LED 102 from the lighting fixture main body 101. Also, for example, an actuator for driving the LED 102 is built in the communication device 20, and the actuator is connected to the LED 102 via a dimming interface (I / F). According to this, for example, by controlling the actuator based on the control signal received in the communication device 20, the dimming of the LED 102 can be performed.
[0079] Next, the operation of the communication system 1 according to this embodiment will be described. In this embodiment, the process of connecting the communication device 20 to the host controller 10 (hereinafter referred to as the connection process) and the process of executing the device function using the second user terminal 50 (hereinafter referred to as the device function execution process) will be described.
[0080] With reference to the sequence chart of FIG. 10, an example of the processing procedure of the above-described connection process will be described.
[0081] First, assume a case where the host controller 10 (the edge device equipped with it) and the communication device 20 are connected via a connection interface (step S1).
[0082] When the process of step S1 is executed, the connection of the communication device 20 is recognized by the host controller 10, and the device control unit 13 included in the host controller 10 instructs the power supply control unit 11 to supply power to the communication device 20. As a result, the power supply control unit 11 starts supplying power to the communication device 20 (step S2).
[0083] When the process of step S2 is executed, power is supplied from the host controller 10 to the communication device 20, and the power supply control unit 21 included in the communication device 20 drives the communication device 20 upon receiving the power supply. As a result, the communication device 20 starts operating.
[0084] In this case, the device control unit 13 included in the host controller 10 instructs the communication processing unit 12 to perform data communication with the communication device 20. According to this, communication between the host controller 10 and the communication device 20 becomes possible.
[0085] Here, as described above, when the communication device 20 starts operating, the initial setting processing unit 33 included in the first user terminal 30 executes a pairing process as the first setting process for the first communication processing unit 31 that communicates with the communication device 20 (step S3). Note that information regarding pairing (for example, information about the paired partner) is held inside the communication device 20 and the first user terminal 30, but the pairing process is executed when it is recognized that the pairing between the communication device 20 and the first user terminal 30 is not completed based on the information regarding the pairing.
[0086] Specifically, for example, when the communication device 20 in the initialization state starts operating (that is, power is supplied to the communication device 20), the communication device 20 enters a pairing waiting state. The initial setting processing unit 33 included in the first user terminal 30 executes a pairing process according to the communication method with the communication device 20. For example, when the communication method is Bluetooth, the communication device 20 is displayed as a pairable device in the GUI (Graphical User Interface) prepared in the first user terminal 30, and the pairing process is executed when the user selects the displayed communication device 20 by a predetermined operation. Also, when the communication method is Wifi, the communication device 20 operates as a Wifi access point, and the pairing process is executed when a predetermined SSID and password are input to the first user terminal 30 (that is, the first user terminal 30 becomes connectable to the Wifi network of the communication device 20).
[0087] When the above-described pairing is completed (successful), information of the first user terminal 30 whose pairing with the communication device 20 is completed is held inside the communication device 20, and information of the communication device 20 whose pairing with the first user terminal 30 is completed is held inside the first user terminal 30. As a result, the first user terminal 30 becomes capable of communicating with the communication device 20.
[0088] Note that the communication device 20 and the first user terminal 30 may be connected by wire. In such a case, explicit pairing processing may be omitted.
[0089] By the way, for example, when the first user terminal 30 performs communication based on Bluetooth with the communication device 20, the first user terminal 30 needs to be within a range where it can communicate with the communication device 20. In other words, if the first user terminal 30 is not within a range where it can communicate with the communication device 20, pairing cannot be completed (pairing fails).
[0090] When pairing cannot be completed, since connection availability information cannot be received via the communication device 20, it is not necessary to continuously supply power from the host controller 10 to the communication device 20. Therefore, for example, when connection availability information from the server device 40 is not received, power supply from the host controller 10 to the communication device 20 may be stopped. In this case, the power supply control unit 11 included in the host controller 10 can stop power supply, for example, when connection availability information is not received within a certain period after starting power supply to the communication device 20. Specifically, for example, expiration date information indicating an expiration date calculated by adding the above-mentioned certain period to the date and time when the host controller 10 and the communication device 20 are connected may be set, and power supply may be stopped when the expiration date has passed.
[0091] On the one hand, communication errors may occur in the communication environment between the communication device 20 and the first user terminal 30, and pairing may not be completed. However, if the communication error is temporary, pairing may be completed by executing the pairing process again after the communication error is resolved. If the power supply to the communication device 20 is stopped in such a case, the communication device 20 cannot operate and the pairing process cannot be executed. Therefore, even if the power supply to the communication device 20 is stopped because connection availability information is not received until a certain period of time has elapsed as described above, the power supply control unit 11 included in the host controller 10 may resume the power supply when a further predetermined period of time has elapsed since the power supply was stopped. Note that the resumption of the power supply to the communication device 20 may be realized by a manual operation on the host controller 10. Also, for example, the power supply to the communication device 20 may be temporarily performed by an operation of pressing a button provided on the host controller 10 for a certain period of time.
[0092] When the process of step S3 is executed, the initial setting processing unit 33 included in the first user terminal 30 requests the communication device 20 for unique information via the first communication processing unit 31 (step S4). Note that the process of step S4 may be automatically executed, for example, after the process of step S3 is executed, or may be executed in response to a user operation on the first user terminal 30.
[0093] The device processing unit 24 included in the communication device 20 receives a request from the first user terminal 30 via the second communication processing unit 25, and requests the host controller 10 for unique information via the first communication processing unit 22 (step S5).
[0094] The device control unit 13 included in the host controller 10 receives a request from the communication device 20 via the communication processing unit 12. Based on the received request, the device control unit 13 reads out the unique information of the host controller 10 from the unique information storage unit 14.
[0095] The unique information of the host controller 10 (response message including the unique information) read from the unique information storage unit 14 is transmitted to the communication device 20 via the communication processing unit 12 (step S6). The unique information of the host controller 10 transmitted in step S6 is received by the first communication processing unit 22 included in the communication device 20.
[0096] In addition, the device processing unit 24 included in the communication device 20 reads the unique information of the communication device 20 from the unique information storage unit 23 based on the request from the first user terminal 30 received via the second communication processing unit 25 as described above.
[0097] The unique information of the host controller 10 received by the first communication processing unit 22 and the unique information of the communication device 20 read from the unique information storage unit 23 (response message including the unique information) are transmitted to the first user terminal 30 via the second communication processing unit 25 (step S7). In this way, the unique information of the host controller 10 and the communication device 20 transmitted in step S7 is received by the first communication processing unit 31 included in the first user terminal 30.
[0098] Here, assuming that the edge device is a lighting fixture as described above, the lighting fixture may be installed in multiple locations such as on the ceiling. For example, there is a possibility that the communication device 20 is connected to a lighting fixture different from the one the user assumes by mistake. In this case, the unique information received by the first user terminal 30 (first communication processing unit 31) may not be what the user intended. Furthermore, when wireless communication is performed between the communication device 20 and the first user terminal 30, it cannot be denied that the first user terminal 30 (first communication processing unit 31) may receive unique information prepared by a malicious third party.
[0099] Therefore, when the first user terminal 30 receives the unique information of the host controller 10 and the communication device 20 as described above, the unique information may be displayed on a display (display device) provided in the first user terminal 30 to prompt the user to confirm the validity of the unique information. Further, for example, a one-dimensional code (barcode) or a two-dimensional code (QR code (registered trademark)) attached to the main bodies (cases) of the host controller 10 (or an edge device equipped with the host controller 10) and the communication device 20 is read by using a camera mounted on the first user terminal 30 to obtain the unique information encoded in the code, and the validity of the obtained unique information may be verified (confirmed) by comparing (collating) the obtained unique information with the received unique information.
[0100] Next, a second communication processing unit 32 included in the first user terminal 30 transmits the unique information of the host controller 10 and the communication device 20 received by the first communication processing unit 31 to the server device 40 via the network 60a (step S8). It is assumed that the second setting process for the second communication processing unit 32 for the first user terminal 30 to communicate with the server device 40 has already been completed at the time when the process of step S8 is executed. Also, in step S8, information other than the unique information of the host controller 10 and the communication device 20 described above (for example, the location where the host controller 10 and the communication device 20 are installed, information of the user who uses the host controller 10 and the communication device 20, etc.) may be further transmitted.
[0101] When the process of step S8 is executed, a first communication processing unit 41 included in the server device 40 receives the unique information of the host controller 10 and the communication device 20 transmitted in step S8.
[0102] The determination unit 42 included in the server device 40 determines whether the communication device 20 can be connected to the host controller 10 (that is, permits continuous power supply from the host controller 10 to the communication device 20 and data communication between the host controller 10 and the communication device 20) based on the unique information of the host controller 10 and the communication device 20 received by the first communication processing unit 41 and the determination information stored in the determination information storage unit 43 (hereinafter, referred to as connection availability determination processing) (step S9).
[0103] Here, FIG. 11 shows an example of the data structure of the determination information stored in the determination information storage unit 43. As shown in FIG. 11, the determination information includes the vendor name, model, firmware version, and host controller information in association with each other.
[0104] The vendor name indicates the vendor name (name of the vendor) of the communication device 20. The model indicates the model of the communication device 20. The firmware version indicates the firmware version of the communication device 20 (the version of the firmware for controlling the communication device 20). Note that the vendor name, model, and firmware version are information obtained from the unique information of the communication device 20 (that is, information unique to the communication device 20), and can be said to be information for identifying the communication device 20 connected to the host controller 10.
[0105] The host controller information corresponds to the conditions of the host controller that can be interconnected with the communication device 20 specified by the above-described vendor name, model, and firmware version, and is expressed by, for example, the vendor name, model, and firmware version of the host controller 10 (that is, the version of the firmware for controlling the host controller 10). Note that the vendor name, model, and firmware version of the host controller 10 are obtained from the unique information of the host controller 10.
[0106] In the example shown in FIG. 11, for example, determination information is shown that associates a vendor name "A", a model "A1", a firmware version "1.2 or higher", and host controller information "vendor X". According to such determination information, it is shown that a communication device 20 with a vendor name "A", a model "A1", and a firmware version "1.2 or higher" can be connected to a host controller 10 with a vendor name "X".
[0107] Also, in the example shown in FIG. 11, for example, determination information is shown that associates a vendor name "A", a model "A2", a firmware version "2.0 or higher", and host controller information "vendors X and Y". According to such determination information, it is shown that a communication device 20 with a vendor name "A", a model "A2", and a firmware version "2.0 or higher" can be connected to a host controller 10 with a vendor name "X" or "Y".
[0108] Also, in the example shown in FIG. 11, for example, determination information is shown that associates a vendor name "A", a model "A3", a firmware version "1.0 or higher", and host controller information "vendors X and Y". According to such determination information, it is shown that a communication device 20 with a vendor name "A", a model "A3", and a firmware version "1.0 or higher" can be connected to a host controller 10 with a vendor name "X" or "Y".
[0109] Also, in the example shown in FIG. 11, for example, determination information is shown that associates a vendor name "B", a model "B1", a firmware version "5.0 or higher", and host controller information "model y of vendor Y". According to such determination information, it is shown that a communication device 20 with a vendor name "B", a model "B1", and a firmware version "5.0 or higher" can be connected to a host controller 10 with a vendor name "Y" and a model "y".
[0110] Also, in the example shown in FIG. 11, for example, determination information including associating vendor name "B", model "B2", firmware version "5.0 or higher", and host controller information "model y of vendor Y" is shown. According to such determination information, it is shown that a communication device 20 with vendor name "B", model "B2", and firmware version "5.0 or higher" can be connected to a host controller 10 with vendor name "Y" and model "y".
[0111] Also, in the example shown in FIG. 11, for example, determination information including associating vendor name "C", model "C1", firmware version "any", and host controller information "model x of vendor X, firmware version 1.0 or higher" is shown. According to such determination information, it is shown that a communication device 20 with vendor name "C" and model "C1" can be connected to a host controller 10 with vendor name "X", model "x", and firmware version "1.0 or higher". Note that the firmware version "any" indicates that the firmware version is not specified (it can be any).
[0112] According to the above-described determination information, it is possible to determine whether various communication devices 20 can be connected to the host controller 10.
[0113] Next, the connection availability determination process executed using the above-described determination information will be briefly described. First, the determination unit 42 acquires the vendor name, model, and firmware version of the communication device 20 from the unique information of the communication device 20 received by the first communication processing unit 41, and associates the host controller information (i.e., the conditions for a connectable host controller) included in the determination information with the acquired vendor name, model, and firmware version, and collates it with the unique information of the host controller 10 received by the first communication processing unit 41. In this case, when the unique information of the host controller 10 matches the host controller information (i.e., satisfies the conditions for a connectable host controller), the determination unit 42 determines that the communication device 20 can be connected to the host controller 10.
[0114] Specifically, in the example shown in FIG. 11, for example, assuming that the vendor name "A", model "A1", and firmware version "1.2 (or higher)" are acquired from the unique information of the communication device 20, when the vendor name included in the unique information of the host controller 10 is "X", it is determined that the communication device 20 can be connected to the host controller 10.
[0115] On the other hand, when the unique information of the host controller 10 does not match the host controller information included in the determination information associated with the vendor name, model, and firmware version acquired from the unique information of the communication device 20 (i.e., does not satisfy the conditions for a connectable host controller), the determination unit 42 determines that the communication device 20 cannot be connected to the host controller 10.
[0116] That is, it can be said that the determination information in the present embodiment is information indicating a combination of the mutually operable host controller 10 and communication device 20 (i.e., the communication device 20 that is a legitimate device for the host controller 10).
[0117] Here, the data structure of the determination information has been described with reference to FIG. 11. However, the data structure of the determination information may be different from that shown in FIG. 11. Further, the server device 40 in the present embodiment only needs to be configured to determine whether the communication device 20 can be connected to the host controller 10 based on the unique information of the host controller 10 and the communication device 20. The connection determination process described above may be a process other than that described here.
[0118] When the process of step S9 is executed, the determination unit 42 reads, for example, the secret key of the server device 40 (the secret key for the server device 40 generated based on the public key cryptosystem) from the key information storage unit 44, and uses the secret key of the server device 40 to generate an electronic signature attached to the connection availability information including the result of the process of step S9 (that is, the determination result in the connection availability determination process) (step S10). Note that the electronic signature is generated, for example, by performing cryptographic processing using the secret key of the server device 40 on the hash value of the connection availability information calculated in the determination unit 42.
[0119] When the process of step S10 is executed, the first communication processing unit 41 transmits the connection availability information with the electronic signature generated in step S10 to the first user terminal 30 (step S11).
[0120] The connection availability information transmitted in step S11 is received by the second communication processing unit 32 included in the first user terminal 30, and is transmitted (relayed) to the communication device 20 by the first communication processing unit 31 (step S12).
[0121] Similarly, the connection availability information transmitted in step S12 is received by the second communication processing unit 25 included in the communication device 20, and is transmitted (relayed) to the host controller 10 by the first communication processing unit 22 (step S13).
[0122] The connection availability information transmitted in step S13 is received by the communication processing unit 12 included in the host controller 10. The authentication processing unit 15 verifies the electronic signature attached to the connection availability information received by the communication processing unit 12 (step S14).
[0123] Here, assume that the electronic signature attached to the connection availability information is generated by encrypting the hash value of the connection availability information with the private key of the server device 40 as described above. In this case, the key information storage unit 16 included in the host controller 10 pre-stores the public key (the public key of the server device 40) that is paired with the private key of the server device 40. In step S14, for example, the hash value of the connection availability information received by the communication processing unit 12 is calculated, and a process of comparing the calculated hash with the result of encrypting the electronic signature attached to the connection availability information with the public key of the server device 40 is executed.
[0124] If the hash value obtained from the hash value of the connection availability information and the electronic signature in step S14 described above matches (that is, the verification of the electronic signature is successful), the device control unit 13 processes the content of the determination result included in the connection availability information and controls the power supply from the host controller 10 to the communication device 20 (step S15).
[0125] Specifically, when the connection availability information includes a determination result that the host controller 10 can connect to the communication device 20, the device control unit 13 instructs the power supply control unit 11 to continue the power supply to the communication device 20 in order to permit the connection to the communication device 20. According to this, the power supply control unit 11 continuously supplies power to the communication device 20, and communication between the host controller 10 and the communication device 20 is maintained.
[0126] On the other hand, when the connection availability information includes a determination result that the host controller 10 cannot connect to the communication device 20, the device control unit 13 instructs the power supply control unit 11 to stop the power supply to the communication device 20 in order to reject the connection to the communication device 20. According to this, the power supply control unit 11 stops the power supply to the communication device 20, and the communication between the host controller 10 and the communication device 20 is disconnected (terminated).
[0127] According to the above-described connection process, it becomes possible to easily and safely connect various communication devices 20 to the host controller 10. In other words, in the present embodiment, it is possible to realize connecting only an appropriate communication device 20 to the host controller 10 (that is, the host controller 10 performs an associated operation only with a legitimate communication device 20).
[0128] Note that the connection availability information may include, for example, expiration date information indicating the expiration date of the connection availability information. According to this, for example, when the expiration date indicated by the expiration date information included in the connection availability information has passed, the device control unit 13 discards the connection availability information and instructs the power supply control unit 11 to stop the power supply from the host controller 10 to the communication device 20. The expiration date information (the expiration date indicated thereby) is specified (set), for example, in the server device 40.
[0129] Further, even when the power supply to the communication device 20 by the power supply control unit 11 is stopped as described above, the power supply may be temporarily resumed after a certain period to cause the server device 40 to execute the connection availability determination process again.
[0130] Note that when the hash value of the connection availability information does not match the hash value obtained from the electronic signature in step S14 described above (that is, the verification of the electronic signature fails), the device control unit 13 discards the connection availability information and instructs the power supply control unit 11 to stop the power supply to the communication device 20, for example.
[0131] Although omitted in FIG. 10, the verification of the electronic signature attached to the above-described connection availability information (the process of step S14) may be performed, for example, in the communication device 20. In order to perform this verification of the electronic signature in the communication device 20, it is sufficient that the public key of the server device 40 is held in advance in the communication device 20. When the verification of the electronic signature attached to the connection availability information is performed in the communication device 20 as described above, if the verification is successful, the processes after step S13 are executed, and if the verification fails, the connection availability information is discarded and the process shown in FIG. 10 ends.
[0132] Furthermore, although described in FIG. 10 as the connection availability information being attached with an electronic signature, an electronic signature may be attached to the unique information of the host controller 10. The electronic signature attached to the unique information of the host controller 10 can be generated in the host controller 10, for example, using the secret key of the host controller 10 that is stored in advance in the key information storage unit 16 included in the host controller 10. In this case, the public key of the host controller 10 is stored in advance in the key information storage unit 44 included in the server device 40, and the verification of the electronic signature attached to the unique information of the host controller 10 is performed using the public key of the host controller 10 before the process of step S9 is executed. According to the configuration in which the verification of the electronic signature attached to the unique information of the host controller 10 is performed in the server device 40, if the verification is successful, the processes after step S9 are executed, and if the verification fails, the unique information is discarded and the process shown in FIG. 10 ends.
[0133] Similarly, the unique information of the communication device 20 may be electronically signed. The electronic signature attached to the unique information of the communication device 20 can be generated in the communication device 20 using the private key of the communication device 20 that is pre-held in the communication device 20. In this case, the public key of the communication device 20 is pre-stored in the key information storage unit 44 included in the server device 40, and the verification of the electronic signature attached to the unique information of the communication device 20 is performed using the public key of the communication device 20 before the process of step S9 is executed. According to the configuration in which the server device 40 verifies the electronic signature attached to the unique information of the communication device 20, when the verification is successful, the processes after step S9 are executed, and when the verification fails, the unique information is discarded and the process shown in FIG. 10 ends.
[0134] Here, although the connection availability information and the unique information have been described as being electronically signed, in the present embodiment, the electronic signature (and the verification of the electronic signature) may be omitted.
[0135] By the way, when the communication between the host controller 10 and the communication device 20 is maintained (that is, the connection between the host controller 10 and the communication device 20 is permitted) by executing the process shown in FIG. 10 described above, device information based on the unique information of the host controller 10 and the communication device 20 is stored in the device information storage unit 48 included in the server device 40.
[0136] FIG. 12 shows an example of the data structure of the device information stored in the device information storage unit 48. As shown in FIG. 12, the device information includes the customer ID, host controller ID, communication device ID, device function information, installation location, connection confirmation date and time, and registered user ID in association with each other.
[0137] The customer ID is identification information for identifying a customer who manages edge devices (the sites where they are installed). The host controller ID is identification information for identifying the host controller 10 installed in the edge device managed by the customer identified by the customer ID. The communication device ID is identification information for identifying the communication device 20 whose communication with the host controller 10 identified by the host controller ID is permitted. The device function information is device function information (information regarding device functions) included in the unique information of the communication device 20 identified by the communication device ID, and includes the function information and setting information for application communication described above. The installation location is information indicating the location (site) where the host controller 10 identified by the host controller ID and the communication device 20 identified by the communication device ID are installed. The connection confirmation date and time is the date and time when the connection between the host controller 10 identified by the host controller ID and the communication device identified by the communication device ID is permitted (confirmed). The registered user ID is identification information for identifying the user who was using the first user terminal 30 when the connection between the host controller 10 and the communication device 20 identified by the communication device ID was permitted (that is, when the process shown in FIG. 10 above was executed).
[0138] It can be said that the above-described device information is connection management information for managing the connection between the host controller 10 and the communication device 20 installed in the edge device at each customer's site.
[0139] In the example shown in FIG. 12, it was described that the device information includes the device function information included in the unique information of the communication device 20 (that is, the device function information is provided from the communication device 20). However, for example, at least a part of the device function information may be managed (set) in advance in the server device 40. Although the device function information has been described here, the information included in the device information may be provided from the host controller 10 or the communication device 20, or may be managed (set) in advance in the server device 40.
[0140] Also, although omitted in FIG. 12, the device information may further include the type, firmware version, etc. included in the unique information of the host controller 10 and the communication device 20.
[0141] Furthermore, for example, when the installation location (information) shown in FIG. 12 is information pre-managed in the server device 40, the installation location may be provided (notified) to the communication device 20 identified by the communication device ID as information to be set in the communication device 20. According to this, the communication device 20 can register (set) the location (information) where the host controller 10 (to which the communication device 20 is connected) is installed inside the communication device 20.
[0142] Next, with reference to the sequence chart of FIG. 13, an example of the processing procedure of the above-described device function execution processing will be described. Here, it is assumed that the connection between the host controller 10 and the communication device 20 is permitted by executing the processing of FIG. 10.
[0143] First, when the second user terminal 50 discovers the communication device 20, the first communication processing unit 51 included in the second user terminal 50 communicates with the second communication processing unit 25 included in the communication device 20 and receives the unique information of the communication device 20 transmitted from the communication device 20 (step S21). The unique information of the communication device 20 received in step S21 is assumed to be, for example, a communication device ID for identifying the communication device 20.
[0144] Note that the processing of step S21 is executed when the second user terminal 50 discovers the communication device 20. However, the second user terminal 50 can discover the communication device 20 by receiving data periodically transmitted by the communication device 20 within a range where communication with the communication device 20 is possible, for example, when communication based on Bluetooth is performed between the second user terminal 50 and the communication device 20.
[0145] However, the communication device 20 may be discovered by other methods. Specifically, the communication device 20 may be discovered when a code (one-dimensional code or two-dimensional code) attached to the main body (housing) of the communication device 20 is read using a camera mounted on the second user terminal 50. In this case, the unique information of the communication device 20 may be obtained by reading the code attached to the main body of the communication device 20.
[0146] Next, the application processing unit 53 included in the second user terminal 50 transmits a user ID for identifying the user using the second user terminal 50, a password assigned (set) to the user, and the unique information of the communication device 20 received by the first communication processing unit 41 to the server device 40, thereby making an inquiry about the device function (step S22).
[0147] The second communication processing unit 45 included in the server device 40 receives the user ID, password, and unique information of the communication device 20 transmitted from the second user terminal 50 as described above. The providing unit 46 included in the server device 40 determines, based on the user ID, password, and unique information of the communication device 20 received by the second communication processing unit 45 and the user information stored in the user information storage unit 47, whether the user using the second user terminal 50 is a user who can execute the device function (that is, whether the user of the second user terminal 50 is a legitimate user who can execute the function of the communication device 20) (hereinafter referred to as user authentication processing) (step S23).
[0148] Here, FIG. 14 shows an example of the data structure of the user information stored in the user information storage unit 47. As shown in FIG. 14, the user information includes a user ID, a password, a communication device ID, and a provided function in association with each other.
[0149] The user ID is identification information for identifying the user who uses the second user terminal 50. The password is the password assigned (set) to the user identified by the user ID. The communication device ID is identification information for identifying the communication device 20 on which the user identified by the user ID can execute functions. The provided function indicates a device function based on the communication device ID (a function provided by the communication device 20 identified by the communication device ID).
[0150] In the example shown in FIG. 14, the provided functions include the functions of "device information acquisition" and "device control". "Device information acquisition" is intended to be a function of acquiring information from the communication device 20, for example. Also, "device control" is intended to be a function of controlling the communication device 20.
[0151] Also, in the example shown in FIG. 14, only "device information acquisition" and "device control" are shown as the provided functions, but the provided functions include various functions. Specifically, the provided functions may include "host control", which is a function of controlling the host controller 10 (the edge device equipped with it) to which the communication device 20 is connected, "device actuator control", which is a function of controlling the actuator built into the communication device 20, "host sensor data acquisition", which is a function of acquiring sensor data from the sensor connected to the host controller 10, and "device sensor data acquisition", which is a function of acquiring sensor data from the sensor connected to the communication device 20, and the like.
[0152] Also, the user information in the present embodiment may be information used for user authentication processing, and may include information other than that described in FIG. 14, or a part of the information described in FIG. 14 may be omitted.
[0153] The user authentication process executed using the above-described user information will be briefly described below. First, the providing unit 46 determines whether user information (hereinafter referred to as target user information) including the user ID and password received by the second communication processing unit 45 in association is stored in the user information storage unit 47. When the providing unit 46 determines that the target user information is stored in the user information storage unit 47, it collates the communication device ID received by the second communication processing unit 45 with the communication device ID included in the target user information. Note that when authentication using a user certificate is performed instead of authentication using a user ID and password, the information of the user certificate may be used, or the authorization information (token) of the user received by the second communication processing unit 45 may be used to identify the communication device ID associated with the user. Although details are omitted, as described above, the information held by the user information storage unit 47 may include information other than that described in FIG. 14, or a part of the information described in FIG. 14 may be omitted.
[0154] When the communication device ID received by the second communication processing unit 45 matches the communication device ID included in the target user information, the providing unit 46 determines that the user using the second user terminal 50 is a user who can execute the device function based on the communication device ID, and permits the execution of the device function (that is, the provision of device function information).
[0155] On the other hand, when the communication device ID received by the second communication processing unit 45 does not match the communication device ID included in the target user information, the providing unit 46 determines that the user using the second user terminal 50 is not a user who can execute the device function based on the communication device ID, and rejects the execution of the device function (that is, the provision of device function information).
[0156] Although the above description was based on the user authentication process being executed based on the user information shown in FIG. 14, the user authentication process may be executed based on user information different from that in FIG. 14. Specifically, the user authentication process may be executed based on user information such as that shown in FIG. 15. The user information shown in FIG. 15 includes the installation location instead of the communication device ID of the user information shown in FIG. 14.
[0157] Hereinafter, the user authentication process executed using the user information shown in FIG. 15 will be briefly described. Here, it is assumed that the unique information of the communication device 20 received in step S21 described above is the installation location of the communication device 20.
[0158] In this case, the providing unit 46 determines whether user information (target user information) including the user ID and password received by the second communication processing unit 45 in association is stored in the user information storage unit 47. When it is determined that the target user information is stored in the user information storage unit 47, the providing unit 46 collates the installation location received by the second communication processing unit 45 with the installation location included in the target user information.
[0159] When the installation location received by the second communication processing unit 45 matches the installation location included in the target user information, the providing unit 46 determines that the user using the second user terminal 50 is a user who can execute the device function based on the installation location (the function provided by the communication device installed at the installation location), and permits the execution of the device function.
[0160] On the other hand, when the installation location received by the second communication processing unit 45 does not match the installation location included in the target user information, the providing unit 46 determines that the user using the second user terminal 50 is not a user who can execute the device function based on the installation location, and rejects the execution of the device function.
[0161] In addition, when the user authentication process is executed based on the user information shown in FIG. 15, the unique information of the communication device 20 has been described as the installation location of the communication device 20. However, the installation location of the communication device 20 may be obtained from device information including a communication device ID received as the unique information of the communication device 20, for example.
[0162] As a result of the above-described user authentication process being executed, if the execution of the device function is rejected, the process shown in FIG. 13 ends.
[0163] On the other hand, when the execution of the device function is permitted, the providing unit 46 reads out the device function information included in the device information in association with the unique information (for example, the communication device ID) of the communication device 20 received by the second communication processing unit 45 from the device information storage unit 48. The providing unit 46 provides (transmits) the device function information read out from the device information storage unit 48 to the second user terminal 50 via the second communication processing unit 45 as a response to the inquiry made in step S22 (step S24).
[0164] Next, the second communication processing unit 52 included in the second user terminal 50 receives the device function information provided from the server device 40. The application processing unit 53 stores the device function information received by the second communication processing unit 52 in the device function information storage unit 54.
[0165] Here, FIG. 16 shows an example of the data structure of the device function information stored in the device function information storage unit 54. As shown in FIG. 16, the device function information includes, for example, a device name, a communication device ID, an identifier, a provided function, security information, and an expiration date in association with each other.
[0166] The device name is the device name of the communication device 20 (the name of the communication device 20). The communication device ID is identification information for identifying the communication device 20. The identifier is, for example, identification information for identifying a network for accessing the communication device 20. The provided function indicates a device function based on the communication device ID. The security information is information regarding security used for accessing the communication device 20. The expiration date is the period during which the device function can be executed based on the device function information.
[0167] Note that in this embodiment, although it is assumed that, for example, the security information included in the device function information is acquired from the communication device 20, the security information may be information generated by the server device 40 for the second user terminal 50 (the user using the terminal) that executes the device function. In this case, the security information is notified from the server device 40 to the communication device 20 via the first user terminal 30 as information to be set in the communication device 20, and is assumed to be set in the communication device 20.
[0168] Also, although a plurality of device function information can be stored in the device function information storage unit 54, the device function information whose expiration date has expired shall be discarded (deleted) from the device function information storage unit 54. The discarding of the device function information may be automatically performed based on the expiration date, or may be performed by the application processing unit 53 at the timing of referring to the device function information storage unit 54. The device function information (entry) whose expiration date has expired may be updated by the application processing unit 53 making an inquiry to the server device 40 again.
[0169] The expiration date may be specified (set) in the server device 40 that provides the device function information, may be specified (set) in the second user terminal 50 to which the device function information is provided, or may be specified (set) by the communication device 20.
[0170] Also, although the device function information has been described here as including the device name, communication device ID, identifier, provided functions, security information, and expiration date, the device function information may include information other than these, or some of these may be omitted.
[0171] Also, the identifier and security information shown in FIG. 16 correspond to the above-described setting information for application communication. However, the setting information for application communication may further include the address, port number, URL, etc. of the communication device 20.
[0172] Returning to FIG. 13 again, the application processing unit 53 reads out the device function information including the unique information (e.g., communication device ID) of the communication device 20 received in step S21 from the device function information storage unit 54, and requests the communication device 20 to execute the device function based on the device function information (step S25).
[0173] Note that in step S25, as information for accessing the communication device 20 to execute the device function, for example, the identifier and security information included in the above-described device function information are transmitted from the second user terminal 50 to the communication device 20.
[0174] Also, in step S25, for example, a partial execution of the device function may be requested from the communication device 20.
[0175] The second communication processing unit 25 included in the communication device 20 receives the request in step S25. The device processing unit 24 included in the communication device 20 processes the request received by the second communication processing unit 25 and operates according to the request. In this case, the device processing unit 24 may control the communication device 20 to realize the provision of the device function, may control the actuator built in the communication device 20, or may acquire sensor data from the sensor connected to the communication device 20.
[0176] In addition, for example, when it is necessary to operate the host controller 10 (an edge device equipped with the host controller 10) as a device function, the device processing unit 24 requests the host controller 10 to execute the device function (step S26).
[0177] The communication processing unit 12 included in the host controller 10 receives the request in step S26. The device control unit 13 included in the host controller 10 processes the request received by the communication processing unit 12 and operates according to the request. In this case, the device control unit 13 may control the edge device equipped with the host controller 10 so as to realize the provision of the device function, or may acquire sensor data from a sensor connected to the host controller 10.
[0178] When the device control unit 13 processes the request from the communication device 20 as described above, the device control unit 13 returns a response (message) to the request to the communication device 20 via the communication processing unit 12 (step S27).
[0179] Furthermore, when the device processing unit 24 processes the request from the second user terminal 50, the device processing unit 24 returns a response (message) to the request to the second user terminal 50 (step S28).
[0180] According to the above-described device function execution process, it is possible to realize that the execution of the device function is permitted only to the second user terminal 50 (the user using the second user terminal 50) permitted by the server device 40 (that is, to provide device function information within the scope of the authority permitted to the second user terminal 50).
[0181] In step S21, the unique information of the communication device 20 transmitted from the communication device 20 is received by the second user terminal 50. However, an electronic signature generated using the private key of the communication device 20 may be attached to the unique information of the communication device 20, and the second user terminal 50 may execute a process (authentication process) of verifying the electronic signature using the public key of the communication device 20.
[0182] Similarly, in step S22, the user ID, password, and unique information of the communication device 20 are transmitted from the second user terminal 50 to the server device 40. However, an electronic signature generated using the private key of the second user terminal 50 may be attached to the user ID, password, and unique information of the communication device 20, and the server device 40 may execute a process (authentication process) of verifying the electronic signature using the public key of the second user terminal 50.
[0183] Furthermore, in step S24, the device function information is transmitted from the server device 40 to the second user terminal 50. However, an electronic signature generated using the private key of the server device 40 may be attached to the device function information, and the second user terminal 50 may execute a process of verifying the electronic signature using the public key of the server device 40.
[0184] Also, in step S25, for example, the identifier and security information included in the device function information are transmitted from the second user terminal 50 to the communication device 20. However, an electronic signature generated using the private key of the second user terminal 50 may be attached to the identifier and security information, and the communication device 20 may execute a process of verifying the electronic signature using the public key of the second user terminal 50.
[0185] Although detailed description is omitted, in the connection process and device function execution process described above, in the communication performed (for example, communication between the communication device 20 and the first user terminal 30 and the second user terminal 50, or communication between the first user terminal 30 and the second user terminal 50 and the server device 40, etc.), authentication processing other than those described above may be executed, or processing such as encryption and decryption of data related to the communication may be further executed.
[0186] Here, in the process shown in FIG. 13, although it has been described that the device function is executed when the second user terminal 50 discovers the communication device 20, the communication device 20 (the device processing unit 24 included therein) has a function of advertising the communication device 20 or the device function to the second user terminal 50 (hereinafter referred to as the advertising function). According to this advertising function, a screen corresponding to the advertisement performed by the communication device 20 (hereinafter referred to as the advertisement screen) can be displayed on the second user terminal 50.
[0187] Hereinafter, a specific example of the advertisement screen in the present embodiment will be described. Here, it is assumed that the edge device equipped with the host controller 10 is a lighting fixture. The advertisement screen is displayed, for example, by the application processing unit 53 (a device control application operating on the second user terminal 50).
[0188] First, FIG. 17 shows an example of an advertisement screen displayed on the second user terminal 50 when the second user terminal 50 discovers the communication device 20, for example.
[0189] Note that the advertisement screen 501 shown in FIG. 17 is displayed on the second user terminal 50, for example, after the process of step S21 shown in FIG. 13 described above is executed.
[0190] On the advertisement screen 501 shown in Fig. 17, a message (advertisement) "The lighting fixture A (MAC address XX:XX:XX:XX:XX:XX) in Conference Room S1 has been discovered." is displayed. This message is generated using, for example, the MAC address included in the unique information of the communication device 20 or the installation location set in the communication device 20.
[0191] Also, on the advertisement screen 501 shown in Fig. 17, a "Yes" button and a "No" button are displayed together with the message "Do you want to obtain the status of this lighting fixture and control it?" This message is intended to confirm with the user whether to execute the device function. When an operation of pressing the "Yes" button is performed by the user using the second user terminal 50 on such an advertisement screen 501, the process of step S22 shown in Fig. 13 is executed. That is, in the present embodiment, the second user terminal 50 (the user using it) can make an inquiry about the device function based on the above advertisement.
[0192] Here, the communication device 20 may be discovered when a code (for example, a two-dimensional code) attached to the main body of the communication device 20 is read using the camera mounted on the second user terminal 50. Fig. 18 shows an example of an advertisement screen displayed on the second user terminal 50 when the communication device 20 is discovered by reading the code.
[0193] On the advertisement screen 502 shown in Fig. 18, a region 502a for displaying an image of the camera for reading the code attached to the main body of the communication device 20 and a region 502b for displaying a message (advertisement) are provided.
[0194] According to such an advertisement screen 502, when the code attached to the main body of the communication device 20 is photographed with the camera mounted on the second user terminal 50 (that is, the code is displayed in the region 502a) and the code is read, a message similar to that in Fig. 17 described above can be displayed in the region 502b.
[0195] Furthermore, in step S22 shown in FIG. 13 described above, it is necessary to transmit the user ID and password from the second user terminal 50 to the server device 40. Therefore, when an operation of pressing the "Yes" button is performed on the advertisement screen 501 or 502 described above, the advertisement screen 501 or 502 shall transition to the advertisement screen shown in FIG. 19.
[0196] On the advertisement screen 503 shown in FIG. 19, a first input area 503a for inputting the user ID and a second input area 503b for inputting the password are provided.
[0197] When the user ID is input into such a first input area 503a and the password is input into the second input area 503b in the second user terminal 50, the second user terminal 50 shall transmit the user ID and the password to the server device 40 in response to an operation of pressing the "Send" button (that is, make an inquiry about the device function).
[0198] Also, in the process of step S23 (user authentication process) shown in FIG. 13 described above, execution of the device function (provision of device function information) can be permitted or rejected. FIG. 20 shows an example of an advertisement screen displayed on the second user terminal 50 when execution of the device function is permitted, and FIG. 21 shows an example of an advertisement screen displayed on the second user terminal 50 when execution of the device function is rejected.
[0199] Note that the advertisement screens shown in FIGS. 20 and 21 only need to be in a mode that allows the user to grasp whether the execution of the device function is permitted or rejected, and the message displayed on the advertisement screen may be different from FIGS. 20 and 21.
[0200] Also, in the example shown in FIG. 13, the device function can be executed (a request for execution of the device function) based on the device function information provided from the server device 40 by making an inquiry from the second user terminal 50 to the server device 40. The device function information is stored in the device function information storage unit 54 included in the second user terminal 50.
[0201] Therefore, for example, if the device function information including the unique information (e.g., communication device ID) of the communication device 20 received in step S21 is already stored in the device function information storage unit 54 (that is, permission to execute the device function based on the communication device ID has already been obtained), the processes of steps S22 to S24 may be omitted, and an advertisement screen as shown in FIG. 22 may be displayed. When an operation of pressing the "Yes" button is performed on the advertisement screen shown in FIG. 22, the process of step S25 is executed. Note that the advertisement screen shown in FIG. 22 assumes a case where the device function is a function of controlling the ON / OFF of a lighting fixture (edge device).
[0202] Furthermore, in the present embodiment, although it has been described that the device function is executed in a state where the communication device 20 is specified based on the unique information of the communication device 20 received in step S21, for example, an advertisement screen regarding a plurality of pieces of device function information (device names, etc. included therein) as shown in FIG. 23 may be displayed, and the communication device 20 that executes the device function on the advertisement screen may be configured to be selected by the user using the second user terminal 50.
[0203] Furthermore, FIG. 24 shows an example of an advertisement screen when executing a device function. The advertisement screen shown in FIG. 24 assumes that the device function is not only the ON / OFF of the lighting fixture but also a function of controlling (adjusting) the brightness of the lighting fixture.
[0204] Incidentally, although it has been described that when the communication device 20 is discovered, the second user terminal 50 receives the unique information of the communication device 20 from the communication device 20, the second user terminal 50 may receive, in addition to the unique information of the communication device 20, information on the communication device 20 or the host controller 10 (edge device) connected to the communication device 20 (hereinafter referred to as additional information). As this additional information, information regarding the state of the communication device 20 or the host controller 10, etc. can be considered.
[0205] In this case, by the communication device 20 transmitting (for example, advertising by broadcast) the above-described additional information, a message such as "This lighting fixture is approaching the replacement time." shown in FIG. 25 can be displayed on the advertising screen. Therefore, the user using the second user terminal 50 can easily grasp the state of the communication device 20 or the host controller 10 (edge device). "Currently lit" and "Almost time for replacement" in the advertising screen shown in FIG. 23 are also examples of messages based on the additional information.
[0206] Note that the above-described additional information may be provided (transmitted) from the second user terminal 50 to the server device 40 when the second user terminal 50 makes an inquiry to the server device 40. The additional information thus provided from the second user terminal 50 to the server device 40 can be considered to be used, for example, in user authentication processing. Specifically, in the case of the communication device 20 connected to a lighting fixture whose replacement time is approaching, user authentication processing such as permitting all users to execute the device function can be executed.
[0207] In this embodiment, after the communication device 20 is connected to the host controller 10 by executing the above-described connection process, the case where the device function of the communication device 20 is executed using the second user terminal 50 has been mainly described. However, since the host controller 10 (the edge device equipped with it) can utilize the communication function of the communication device 20, the device processing unit 24 included in the communication device 20 can execute processing corresponding to the edge device in IoT as a part of the device function of the communication device 20.
[0208] In this case, as shown in FIG. 26, the communication device 20 further includes, for example, a third communication processing unit 26 that communicates with an IoT server (a server device for providing IoT services) and a sensor / actuator 27. Note that FIG. 26 is mainly a diagram showing the functional configuration of the communication device 20, and the sensor / actuator 27 corresponds to a part of the hardware configuration of the communication device 20.
[0209] In such a configuration, for example, when the communication device 20 includes a sensor 27, the device processing unit 24 can execute a process of periodically transmitting sensor data measured by the sensor 27 to the IoT server via, for example, the third communication processing unit 26. Note that the sensor data may be transmitted via, for example, the second communication processing unit 25.
[0210] Also, for example, when the communication device 20 includes an actuator 27, the device processing unit 24 can execute a process of receiving a control signal transmitted from the IoT server via, for example, the third communication processing unit 26 and controlling the actuator 27 based on the control signal. Note that the control signal may be a control signal for controlling the sensor 27 provided in the communication device 20. Also, the control signal may be received via, for example, the second communication processing unit 25.
[0211] For example, when the edge device is a lighting fixture, assuming that the communication device 20 is provided with an illuminance sensor and an actuator for driving an LED, according to the process executed by the above-described device processing unit 24, it is possible to monitor malfunctions and the like of the lighting fixture by transmitting the illuminance (sensor data) measured by the illuminance sensor to the IoT server, and it is possible to perform dimming of the lighting fixture (LED) remotely by controlling the actuator based on the control signal transmitted from the IoT server.
[0212] Here, the edge device is a lighting fixture, and the sensor / actuator 27 is described as an illuminance sensor and an actuator for driving an LED (lighting), but the edge device may be other than a lighting fixture. Also, the sensor 27 may be, for example, a temperature sensor, a humidity sensor, a carbon dioxide (CO2) concentration sensor, or an image sensor (camera), etc., and the actuator 27 may be an actuator for driving a speaker, a camera, or a robot arm, etc.
[0213] Furthermore, here, the case where the sensor / actuator is provided in the communication device 20 has been described, but as shown in FIG. 27, the host controller 10 (edge device) may be provided with the sensor / actuator 17. Even in such a configuration, it is possible to transmit the sensor data measured by the sensor 17 from the communication device 20 to the IoT server, and it is possible to control the actuator (or sensor) 17 from the communication device 20 (IoT server). Note that FIG. 27 mainly shows the functional configuration of the host controller 10, but the sensor / actuator 17 corresponds to a part of the hardware configuration of the host controller 10.
[0214] Note that when the connection between the host controller 10 and the communication device 20 is permitted as described above, for example, the setting information of the third communication processing unit 26 may be provided from the first user terminal 30 to the communication device 20. This setting information includes, for example, identification information (identifier) to be set in the third communication processing unit 26 for communicating with the IoT server described above, identification information of the network to which the communication device 20 is connected or the network configured by the communication device 20, and the like. Further, when the communication device 20 and the IoT server perform wireless communication, the above-described setting information may include information such as a radio frequency and a channel in the wireless communication. Such setting information may be provided according to a user operation (input information) on the first user terminal 30 or may be provided from the server device 40.
[0215] As described above, in the communication system 1 according to the present embodiment, when the server device 40 discovers a communication device 20 to which the second user terminal 50 (terminal device) is connected to the host controller 10 (controller provided in the edge device), the server device 40 provides the second user terminal 50 with device function information regarding the device function (function provided by the communication device 20). Further, the second user terminal 50 requests the communication device 20 to execute the device function based on the device function information provided from the server device 40.
[0216] In the present embodiment, with such a configuration, the device function of the communication device 20 can be easily executed using the second user terminal 50.
[0217] Note that in the present embodiment, the second user terminal 50 makes an inquiry about the device function of the discovered communication device 20, and the server device 40 provides the second user terminal 50 with device function information as a response to the inquiry.
[0218] In this case, when an inquiry is made by the second user terminal 50, the server device 40 determines whether the user is a user who can execute the device function based on the user information stored in the user information storage unit 47, and permits or rejects the provision of device function information (execution of the device function) based on the determination result.
[0219] In the present embodiment, with the above-described configuration, it is possible to execute the device function only from the second user terminal 50 permitted by the server device 40 for the communication device 20 connected to the host controller 10.
[0220] Note that the device function information in the present embodiment may be information used to execute, for example, the device function or API of the communication device 20, and includes, for example, security information and the like.
[0221] Generally, for example, when a user terminal uses a Wifi function or the like, it is necessary to transmit the SSID and password to a communication device such as a router. However, the communication system 1 according to the present embodiment is configured to execute a device function (a function provided by the communication device 20) based on the device function information provided from the server device 40 as a response to an inquiry from the second user terminal 50, and thus is different from a configuration that simply uses the Wifi function.
[0222] Further, in the present embodiment, before the host controller 10 is connected to the communication device 20, the server device 40 receives the unique information of the host controller 10 (second unique information unique to the controller) and the unique information of the communication device 20, and determines whether the communication device 20 can be connected to the host controller 10 based on the received unique information. According to this, when it is determined that the communication device 20 can be connected to the host controller 10, the server device 40 can provide the device function information included in the unique information of the communication device 20 to the second user terminal 50.
[0223] In this embodiment, with such a configuration, the server device 40 centrally controls the association between the host controller 10 and the communication device 20, making it possible to easily and safely connect various communication devices 20 to the host controller 10. In other words, in this embodiment, it becomes possible to execute the device functions of the communication device 20 appropriately connected to the host controller 10.
[0224] Note that in this embodiment, the host controller 10 can receive connection availability information from the server device 40 via the communication device 20 and reject the connection of the communication device 20 based on the received connection availability information. Specifically, the host controller 10 is configured to supply power to the communication device 20 and stops supplying power to the communication device 20 when rejecting the connection to the communication device 20.
[0225] According to such a configuration, for example, control can be performed to limit (restrict) the communication devices 20 connectable to the host controller 10 to products of a specific vendor (model or firmware), and there is a possibility that the mechanism provided in this embodiment can be utilized in a business model. Furthermore, according to the configuration of this embodiment, it is possible to avoid a situation where a malicious third party connects a communication device 20 prepared for an illegal purpose to the host controller 10, so it is useful as a security measure in, for example, IoT services.
[0226] In addition, in the present embodiment, when it is determined that the communication device 20 can be connected to the host controller 10, information to be set in the communication device 20 (for example, the installation location of the communication device 20, etc.) for executing the device function of the communication device 20 may be notified from the server device 40 to the communication device 20. In this case, the communication device 20 can, for example, perform an advertisement to the second user terminal 50 based on the information set in the communication device 20 when the second user terminal 50 discovers the communication device 20. According to this, the server device 40 can provide device function information as a response to an inquiry from the second user terminal 50 made based on the above-described advertisement (function).
[0227] Note that when the connection of the communication device 20 is not rejected (that is, the connection is permitted) as described above, the host controller 10 (authentication processing unit 15) may issue a token used for communication executed between the host controller 10 and the communication device 20. The token issued in this way is held inside the host controller 10 and the communication device 20. According to such a configuration, for example, when the communication device 20 performs data communication with the host controller 10, by including the token in the data, the host controller 10 collates the token included in the data with the token held inside the host controller 10, and operates to process the data only when the token included in the data is a correct token.
[0228] Specifically, for example, when the host controller 10 includes the sensor 17 as shown in FIG. 27 described above, assume a case where the communication device 20 reads sensor data measured by the sensor 17 (that is, receives it from the host controller 10). In this case, for example, the communication device 20 requests sensor data from the host controller 10. However, if the request does not include a correct token (a token issued by the host controller 10), the host controller 10 can reject the request (that is, not transmit sensor data in response to the request).
[0229] According to such a configuration, it becomes possible to further reduce the security risk in the IoT service.
[0230] Note that an expiration date (information) may be set for the token issued by the host controller 10. When the expiration date is set for the token in this way, the token with the expired expiration date cannot be used. Therefore, when continuing the connection (communication) with the host controller 10, the communication device 20 shall request the host controller 10 to issue a token with a new expiration date set within the expiration date.
[0231] By the way, in the present embodiment, the communication system 1 has been described as executing the processing shown in FIG. 10. However, in the processing shown in FIG. 10, after the host controller 10 and the communication device 20 are connected via the connection interface, the pairing process is executed between the communication device 20 and the first user terminal 30.
[0232] However, for example, when a plurality of lighting fixtures are installed on the ceiling as edge devices and the communication device 20 is connected to the host controller 10 via a connection interface such as a USB connector or a pin slot connector, it is very cumbersome to perform an operation (for example, pressing a predetermined button of the first user terminal 30 and the communication device 20) to operate the first user terminal 30 and the communication device 20 for executing the pairing process for each edge device.
[0233] Therefore, in the present embodiment, for example, a configuration may be adopted in which the pairing process is executed in advance between the communication device 20 and the first user terminal 30, and the communication device 20 in which the pairing is completed is connected to the host controller 10.
[0234] Here, FIG. 28 is a sequence chart showing an example of a processing procedure of the communication system 1 (connection process) when the pairing process is executed in advance between the communication device 20 and the first user terminal 30.
[0235] In this case, for example, a power supply jig provided with a USB connector having a power supply function is prepared, and the communication device 20 in the initialization state is connected to the power supply jig via the USB connector, and power is supplied to the communication device 20. When power is supplied to the communication device 20, the communication device 20 becomes operable, so that the pairing process can be executed between the communication device 20 and the first user terminal 30 (step S31). Note that the process of step S31 is the same as the process of step S3 shown in FIG. 10 described above, and thus the detailed description thereof is omitted here.
[0236] After the process of step S31 is executed, the processes of steps S32 to S45 corresponding to the processes of steps S1, S2, and S4 to S15 shown in FIG. 10 may be executed.
[0237] That is, according to the process shown in FIG. 28, when the communication device 20 is connected to the host controller 10, the pairing between the communication device 20 and the first user terminal 30 has already been completed. Therefore, when the host controller 10 and the communication device 20 are connected and the first user terminal 30 receives a predetermined signal transmitted from the communication device 20 (i.e., confirms that the communication device 20 is in an operable state), the first user terminal 30 can immediately request the unique information from the communication device 20.
[0238] In the configuration where the pairing process is pre-executed between the communication device 20 and the first user terminal 30 as described above, the pairing process in the communication system 1 according to the present embodiment can be efficiently executed, and the convenience for the user can be improved.
[0239] Also, for example, if a power supply jig 200 having a plurality of USB connectors 200a as shown in FIG. 29 is prepared, it becomes possible to sequentially perform pairing for a plurality of communication devices 20 connected to a plurality of host controllers 10 (mounted on each of the plurality of edge devices), so that the efficiency of the pairing process can be further improved.
[0240] In the present embodiment, the host controller 10 including the power supply control unit 11 is described as being mounted on the edge device as shown in FIG. 2. However, as shown in FIG. 30, the edge device may have a configuration in which a power supply board 11a including the power supply control unit 11 is prepared separately from the host controller 10 (that is, the power supply control unit 11 is mounted on a board different from the host controller 10). Even in such a configuration, the power supply control unit 11 can supply power to the communication device 20 in response to an instruction (control) from the device control unit 13. Note that the edge device may have a configuration in which the host controller 10 is incorporated in the power supply board 11a, for example, or may have other configurations.
[0241] Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and their modifications are included in the scope and gist of the invention, as well as in the invention described in the claims and the equivalent scope thereof.
Description of Reference Numerals
[0242] 1... Communication system, 10... Host controller, 10a... Processor, 10b... Non-volatile memory, 10c... Main memory, 10d... Communication interface, 10e... Power supply interface, 11... Power supply control unit, 11a... Power supply board, 12... Communication processing unit, 13... Device control unit, 14... Unique information storage unit, 15... Authentication processing unit, 16... Key information storage unit, 17... Sensor / Actuator, 20... Communication device, 21... Power supply control unit, 22... First communication processing unit, 23... Unique information storage unit, 24... Device processing unit, 25... Second communication processing unit, 26... Third communication processing unit, 27... Sensor / Actuator, 30... First user terminal, 31... First communication processing unit, 32... Second communication processing unit, 33... Initial setting processing unit, 40... Server device, 41... First communication processing unit, 42... Determination unit, 43... Determination information processing unit, 44... Key information storage unit, 45... Second communication processing unit, 46... Provision unit, 47... User information storage unit, 48... Device information storage unit, 50... Second user terminal (terminal device), 51... First communication processing unit, 52... Second communication processing unit, 53... Application processing unit, 54... Device function information storage unit, 60a, 60b... Network.
Claims
1. In a communication system including a server device and a terminal device connected to the server device via a network, the server device includes providing means for providing device function information regarding functions provided by the communication device to the terminal device when the communication device connected to a controller provided in an edge device is discovered by the terminal device, the terminal device includes requesting means for requesting the communication device to execute functions provided by the communication device based on the provided device function information communication system.
2. the terminal device further includes inquiry means for making an inquiry about functions provided by the discovered communication device, the providing means provides the device function information to the terminal device as a response to the inquiry The communication system according to claim 1.
3. the server device further includes storing means for storing user information indicating a user capable of executing functions provided by the communication device, when the inquiry is made, the providing means determines whether the user using the terminal device is a user capable of executing functions provided by the discovered communication device based on the user information stored in the storing means, and permits or rejects the provision of the device function information based on the determination result The communication system according to claim 2.
4. The communication system according to any one of claims 1 to 3, wherein the device function information includes information used to execute functions provided by the communication device or an API (Application Programming Interface).
5. the server device, first receiving means for receiving first unique information unique to the communication device and second unique information unique to the controller when the controller is connected to the communication device, determining means for determining whether the communication device can be connected to the controller based on the received first and second unique information including, the first unique information includes the device function information, when it is determined that the communication device can be connected to the controller, the providing means provides the device function information included in the first unique information to the terminal device The communication system according to claim 1.
6. the controller, Second receiving means for receiving, via the communication device, connection availability information including the determination result from the server device; Control means for rejecting the connection of the communication device based on the received connection availability information; comprising The communication system according to claim 5.
7. The controller is configured to supply power to the communication device, When the control means rejects the connection of the communication device, the control means stops supplying power to the communication device. The communication system according to claim 6.
8. The communication system according to claim 7, wherein the server device further includes notification means for notifying the communication device of information to be set in the communication device when it is determined that the communication device can be connected to the controller.
9. The communication system according to claim 8, wherein the communication device includes advertising means for advertising to the terminal device based on the notified information when the terminal device discovers the communication device.
10. The communication system according to claim 9, wherein the providing means provides the device function information to the terminal device as a response to an inquiry from the terminal device made based on the advertisement.
11. The communication system according to claim 1, wherein the communication device is connected to the controller via a connection interface provided in the edge device.
12. In a server device connected to a terminal device via a network, Receiving means for receiving an inquiry about a function provided by the communication device when the terminal device discovers a communication device connected to a controller provided in an edge device; Providing means for providing device function information regarding the function provided by the communication device to the terminal device as a response to the received inquiry; comprising The terminal device requests the communication device to execute the function provided by the communication device based on the provided device function information. Server device.
13. In a terminal device connected to a server device via a network, Inquiry means for making an inquiry about a function provided by the communication device when a communication device connected to a controller provided in an edge device is discovered; Receiving means for receiving device function information regarding functions provided by the communication device provided from the server device as a response to the inquiry; Requesting means for requesting the communication device to execute functions provided by the communication device based on the received device function information A terminal device comprising the same.
14. A method executed by a communication system comprising a server device and a terminal device connected to the server device via a network, When the terminal device discovers a communication device connected to a controller provided in an edge device, providing, from the server device to the terminal device, device function information regarding functions provided by the communication device; Based on the provided device function information, requesting the communication device from the terminal device to execute functions provided by the communication device A method comprising the same.
15. A method executed by a server device connected to a terminal device via a network, When the terminal device discovers a communication device connected to a controller provided in an edge device, receiving an inquiry regarding functions provided by the communication device; As a response to the received inquiry, providing device function information regarding functions provided by the communication device to the terminal device Comprising, Based on the provided device function information, the terminal device requests the communication device to execute functions provided by the communication device Method.
Citation Information
Patent Citations
lighting system
JP7100916B2