Information processing apparatus, device, device management system, program, and device management method, and method for controlling device

By grouping IoT devices and using substitute devices for communication when maximum connections are reached, the system addresses high operational costs and downtime in cloud IoT systems, ensuring efficient and reliable real-time communication.

JP2025017209APending Publication Date: 2025-02-05CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023120180
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-24
Publication Date
2025-02-05

AI Technical Summary

Technical Problem

The high operational costs and potential downtime in cloud IoT systems due to constant connections of IoT devices, especially those that are always powered on, necessitate a cost-effective and reliable method to manage device connections while maintaining real-time communication.

Method used

A system that groups IoT devices and manages connections by identifying the group to which a device belongs, determining if the maximum number of connections has been reached, and if so, selecting a substitute device to handle the communication request, thereby reducing the number of active connections and minimizing downtime.

Benefits of technology

This approach reduces operational costs and minimizes downtime by optimizing device connections within groups, ensuring real-time communication is maintained even when primary devices fail.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025017209000001_ABST
    Figure 2025017209000001_ABST
Patent Text Reader

Abstract

To achieve permanent connection with an IoT apparatus at a low cost and high failure resistance.SOLUTION: An information processing apparatus managing connection with a device through communication has: a storage unit that stores connection information including identification information of a connected device, information on an access to the device, identification information of a group to which the device belongs, and the maximum number of connection for every group; and a connection management unit. The connection management unit, when receiving a connection request from the device, identifies the group to which the device of a transmission source of the connection request belongs on the basis of the connection information, determines if the number of devices belonging to the identified group reaches the maximum number of connection of the group, when determining that the number of devices does not reach the maximum number of connection, transmits, to the device of the transmission source, a response permitting connection to the device of the transmission source, and when determining that the number of devices reaches the maximum number of connection, transmits, to the device of the transmission source, access information of a deputy device together with a response not permitting connection to the device of the transmission source.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device, a device, a device management system, a program, a device management method, and a device control method, and in particular to a control method and program for IoT device connections in a cloud IoT system. [Background technology]

[0002] In recent years, many devices are connected to the Internet, and the Internet of Things (IoT), which controls devices and transmits various data, is beginning to become widespread among the general public. In various environments, such as offices and homes, many devices such as multifunction printers, projectors, and network cameras are operating and transmitting data to cloud services. In addition, by constantly connecting IoT devices to cloud services, it is possible to perform maintenance operations such as updating IoT devices and issuing instructions to obtain device log information from the cloud service in real time. In order to send instructions from a cloud service to an IoT device in real time, it is necessary to establish and maintain two-way communication, but if millions of IoT devices are constantly connected, the cloud service will incur a huge operating cost. For personal printers, which have a short operating time, the operating cost is not that high because the connected time is short, but for devices such as office printers that are always running without being turned off, the cost is very high. For example, even if the cost per device that is always connected for a year is a few yen, if there are millions of devices, the cost will be tens to tens of millions of yen per year. Therefore, as in Patent Document 1, a method has been proposed for reducing communication costs by having only a representative device communicate with the server, rather than multiple devices connected to a LAN each making a request to the server. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2018-78395 A Summary of the Invention [Problem to be solved by the invention]

[0004] However, if a failure occurs in the representative device, there is a risk that communication with other devices will be disrupted, and real-time performance may be lost until recovery is achieved. In a system that requires real-time performance for the maintenance of IoT devices, downtime can be fatal to business operations.

[0005] The present invention has been made in consideration of the above-mentioned conventional examples, and aims to reduce costs and downtime by making at least two devices in a group of multiple devices that can communicate with each other communicate with a server. [Means for solving the problem]

[0006] In order to achieve the above object, the present invention has the following configuration. That is, according to one aspect of the present invention, there is provided an information processing apparatus for managing a connection through communication with a device, comprising: A communication means for communicating with the device; a storage means for storing connection information including identification information of a connected device, access information of the device, identification information of a group to which the device belongs, and a maximum number of connections for each group; A connection management means, When the connection management means receives a connection request from a device, the connection management means performs the following on the basis of the connection information: Identifying a group to which a device that has sent the connection request belongs; determining whether the number of devices belonging to the identified group has reached the maximum number of connections for the group; If it is determined that the number of devices belonging to the specified group has not reached the maximum number of connections for the group, a response is sent to the source device to permit connection to the source device; When it is determined that the number of devices belonging to the specified group has reached the maximum number of connections for the group, one of the devices belonging to the specified group is selected as a proxy device that mediates message transmission and reception between the device, and the access information of the proxy device is transmitted to the source device together with a response not permitting connection to the source device. The present invention provides an information processing apparatus comprising:

[0007] According to another aspect of the present invention, there is provided a device whose connection is managed by an information processing device, comprising: A communication means for communicating with the information processing device; A storage means for storing connection information including identification information of a device and access information of the device; and a control means, The control means transmits a connection request to the information processing device, If the response to the connection request is a response that permits the connection, a connection is made to the information processing device; If the response to the connection request is a response that does not permit the connection, a connection request is sent to a proxy device indicated by the access information received together with the response, and if the response to the connection request is a response that permits the connection, a connection is made to the information processing device; When a connection request is received from a device, the identification information and access information of the device that is the source of the connection request are added to the connection information. A device is provided that comprises: Effect of the Invention

[0008] According to the present invention, by configuring at least two devices in a group of a plurality of devices capable of communicating with each other to be devices that communicate with a server, it is possible to reduce costs and downtime. [Brief description of the drawings]

[0009] [Figure 1]FIG. 1 illustrates a network configuration. [Diagram 2] FIG. 2 is a diagram illustrating hardware resources of each device constituting the system. [Diagram 3] FIG. 2 is a diagram illustrating each software configuration of the system. [Figure 4] 1 shows a flow of connection and processing of a processing request for the device 102. [Diagram 5] 13 is a process flow of connection control of the IoT management service 104. [Figure 6] 13 is a flow of connection processing of the device 102. [Figure 7] 13 is a flowchart showing a proxy connection process flow of the device 102. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, the embodiments will be described in detail with reference to the attached drawings. Note that the following embodiments do not limit the invention according to the claims. Although the embodiments describe a number of features, not all of these features are essential to the invention, and the features may be combined in any manner. Furthermore, in the attached drawings, the same reference numbers are used for the same or similar configurations, and duplicated descriptions are omitted.

[0011] [Embodiment 1] <System configuration> Fig. 1 is a diagram showing the overall configuration of a device management system or a remote management system according to an embodiment of the present invention. In Fig. 1, a device management service 103, an IoT management service 104, and a device 102 are connected via a network, for example, the Internet 100. Note that the device management service 103 and the IoT management service 104 are provided by one or more servers, and therefore each service may be interpreted as a server.

[0012] The network 100 is a so-called communication network realized by a communication medium such as a LAN such as the Internet, a WAN, a telephone line, a dedicated digital line, an ATM or frame relay line, a cable television line, a wireless line for data broadcasting, etc. The network 100 may be any network as long as it is capable of transmitting and receiving data.

[0013] In this example, the device 102 is an image forming apparatus. The device 102 connects to an IoT management service 104 via a local network 101 and the Internet 100, and notifies the IoT management service 104 when there is a change in the configuration information or consumable status of the device (also called equipment). The device 102 also receives requests from the IoT management service 104 and executes the processing of the requests. The contents of the requests include an instruction to upgrade the device, obtain log information, and an instruction to restart the device.

[0014] The device management service 103 and IoT management service 104 are executed on a server computer. The device management service 103 registers the device 102 and accepts instructions for the device 102 from a client (not shown), and issues a request instruction to the IoT management service 104. The IoT management service 104 manages the connection of the device 102, accepts requests from the device management service 103, and issues instructions to the device 102. Although a description will be omitted in this embodiment, the IoT management service 104 receives device configuration information and consumable status change notifications from the device 102, and notifies the device management service 103.

[0015] The device management service 103 and the IoT management service 104 described in this embodiment are each realized by one or more servers, or one or more virtual servers realized by one or more physical devices. Alternatively, the two services may be provided by one server. When realized by one or more virtual servers, the service is realized by applying cloud computing technology. Furthermore, each software module of the device management service 103 and the IoT management service 104 described in FIG. 3 may be realized by one or more servers or virtual servers executing a program.

[0016] <Hardware configuration> <Server hardware configuration> 2(a) is a diagram showing an example of a hardware configuration of a server that provides the services of the device management service 103 and the IoT management service 104. Unless otherwise specified, it goes without saying that the system may be a single device or a system consisting of multiple devices as long as the functions of the present embodiment can be executed. Furthermore, unless otherwise specified, it goes without saying that the system may be a system in which connections are made via a network such as a LAN or WAN and processing is performed as long as the functions of the present embodiment can be executed. In this embodiment, the components are described as being connected to each other via a system bus 200.

[0017] The CPU 201 is a processor that is a control device of the information processing device, and executes application programs, an operating system, and the like stored in the storage device 207. The CPU 201 also controls temporary storage of information, files, and the like required for program execution in the RAM 203. The ROM 202 is a non-volatile memory, and stores programs such as basic I / O programs. The RAM 203 functions as a main memory and work area for the CPU 201 that stores programs and data. The storage unit 207 is one of the external storage devices, and is a storage device that functions as a large-capacity memory, and stores application programs, an OS, data, and the like. The network interface card (NIC) 204 exchanges data with external devices. The display unit 206 displays windows, icons, messages, menus, and other user interface information. The operation unit 205 accepts input from the end user using a keyboard and mouse.

[0018] <Hardware configuration of device 102> FIG. 2B is a hardware configuration diagram of the device 102. Each of the hardware components is connected to a system bus 210. A CPU 211 is a processor that controls the entire device, and performs overall control of access to various devices connected to the system bus 210. This control is based on a control program stored in a ROM 212 or a control program and resource data (resource information) stored in an external memory 223 connected via a disk controller (DKC 217). A RAM 213 is a memory that functions as a main memory, a work area, etc. of the CPU 211, and is configured so that the memory capacity can be expanded by an optional RAM connected to an expansion port (not shown). A storage unit 221 is an external storage that functions as a large-capacity memory, and stores programs 321 to 323, which will be described later.

[0019] The operation panel 220 displays images on the screen and accepts user operation instructions via a touch panel provided on the screen. The operation panel 220 also displays a user interface such as buttons for setting the operation mode of the device 102, the operation status of the device 102, and operations such as copy designation. A network interface card (NIC) 214 exchanges data with an external device. The print engine 219 shown in this figure uses a known printing technology, and suitable embodiments include, for example, an electrophotographic method (laser beam method), an inkjet method, and a dye-sublimation method (thermal transfer method). The raster controller 218 is a controller that converts print data described in a PDL language or a PDF language into image data. The device interface (I / F) 222 is a connection I / F with an external device that can be connected via USB or the like.

[0020] <System software configuration> Fig. 3 is a diagram showing the software configuration of the system according to this embodiment. Each software module of the device management service 103 and the IoT management service 104 is stored in the storage device 207 shown in Fig. 2(a), and is loaded into the RAM 203 and executed by the CPU 201 as described above. Each software module of the device 102 is stored in the storage device 221 shown in Fig. 2(b), and is loaded into the RAM 213 and executed by the CPU 211.

[0021] ●Device 102 The device 102 has an external communication unit 321, a control unit 322, and a local communication unit 323. The external communication unit 321 makes a connection request to the IoT management service 104 in response to an instruction from the control unit 322. After the connection is established, that is, after a connection is established by communication, the external communication unit 321 receives messages such as requests (instructions) from the IoT management service 104. It also transmits messages. As a connection method, a bidirectional communication protocol is adopted in this embodiment. For example, the protocol may be Message Queuing Telemetry Transport (MQTT), WebSocket, or Extensible Messaging and Presence Protocol (XMPP).

[0022] When the device 102 is not yet connected to the IoT management service 104, such as when the device 102 is initially installed or started up, the control unit 322 requests the external communication unit 321 to connect to the IoT management service 104. The control unit 322 also receives messages such as requests from the external communication unit 321 and performs processing according to the contents of the messages such as requests. Once a connection is established between the IoT management service 104 and the device 102 in response to a connection request from the device 102, the connection is maintained as a constant connection until it is disconnected.

[0023] The local communication unit 323 connects to a device in the same network in response to an instruction from the control unit 322, and transmits and receives messages such as a processing request between the device and the local communication unit 323. The same network is the local network 101 in this example. When the local communication unit 323 receives a connection request from a device in the local network 101, the local communication unit 323 connects to the IoT management service 104 as a proxy for the device in response to an instruction from the control unit 322. The local communication unit 323 transmits and receives messages such as a processing request (also called a processing request or an instruction request) and a response. The local communication unit 323 transmits a message from the IoT management service 104 to the represented device. Note that a device that acts as a proxy for a certain device, i.e., a device that mediates the transmission and reception of messages between the device and the IoT management service 104, is called a proxy device, and a device that is represented by the proxy device is called a represented device.

[0024] In addition, when the local communication unit 323 communicates with the same protocol as the external communication unit 321, the local communication unit 323 and the external communication unit 321 may be the same. In that case, the address of the communication partner distinguishes whether the communication partner is a device in the local network 101 or a server in the external network. For example, when the local network 101 uses TCP / IP, the device 102 communicates with other devices in the local network 101 and with servers in the Internet 100 via a TCP / IP protocol stack. In this case, the local communication unit 323 and the external communication unit 321 are the same, and the communication partner is distinguished by the IP address. In addition, although details will be described later, in this embodiment, the control unit 322 switches between connecting to the IoT management service 104 via the external communication unit 321 or communicating with the local communication unit 323.

[0025] ●Device Management Service 103 The device management service 103 includes a request receiving unit 331 , a device management unit 332 , an external communication unit 333 , and a data storage unit 334 .

[0026] The request receiving unit 331 receives a device registration request and instructions for a registered device from a client (not shown).

[0027] When the device management unit 332 receives a device registration request from the request receiving unit 331, it stores it as device information 3341 in the data storage unit 334. The device information is updated in response to a notification regarding the device information from the IoT management service 104. In this embodiment, the data held by the device management service 103 is described as being held in the storage unit 207, but the data may be held in a storage on a network or in an external storage service. Table 1 is an example of device information held by the device management service 103.

[0028] [Table 1]

[0029] In Table 1, the device ID is an identifier for uniquely identifying the device 102. The device ID is used for uniquely identifying the device in interactions between the device management service 103 and the IoT management service 104 and between the IoT management service 104 and the device 102. The product name is a name for identifying the product of the device. The capabilities, parts, and firmware versions of the device differ depending on the product of the device. The status shows the state of the device 102 in a schematic manner, and is updated by a notification from the IoT management service 104. The version indicates the firmware version of the device 102, and is updated by a notification from the IoT management service 104. A user who uses the device management service 103 checks the status and version, and issues necessary instructions to the device 102.

[0030] The external communication unit 333 transmits and receives messages such as processing requests and responses to and from the IoT management service 104 via the Internet 100 in response to instructions from the device management unit 332. The external communication unit 333 also receives information on the device 102 from the IoT management service 104 and notifies the device management unit 332. Information may be received from the IoT management service 104 by calling an application programming interface (API) published by the device management service 103. Alternatively, a method may be used in which the IoT management service 104 publishes a topic for device information, as in a publish-subscribe model, and the device management service 103 subscribes to the topic to receive messages.

[0031] ●IoT Management Service 104 The IoT management service 104 includes an external communication unit 341 , a request management unit 342 , a connection management unit 343 , and a data storage unit 344 .

[0032] The external communication unit 341 transmits and receives messages such as a processing request and a response to the device 102 between the device management service 103 and the device management service 103. The processing request to be transmitted includes a device ID and an instruction. Examples of the instruction include an instruction to upgrade the firmware of an IoT device, to reset a counter in the IoT device, to restart the IoT device, and to obtain a log of the IoT device. When the device to which the instruction is directed is a represented device, the device ID of the represented device is specified by the device management service 103 as the device ID included in the processing request. The IoT management service 104 transmits the processing request to the representative device. To this end, the processing request addressed to the represented device may be encapsulated and transmitted to the representative device. Alternatively, the destination may be rewritten to the representative device, and a specific field such as a header may be recorded so that the representative device that received the processing request can identify the represented device. Of course, this is not limited to processing requests, and other requests and responses may be similarly handled when communicating with the represented device via a representative device.

[0033] The contents of messages such as requests received by the external communication unit 341 are passed to the request management unit 342. The external communication unit 341 also receives connection requests from the device 102. At this time, the connection request includes the device ID, product name, and installation location of the device that sent the request. When the external communication unit 341 receives a connection request from the device 102, it passes the contents of the connection request to the connection management unit 343.

[0034] The request management unit 342 holds the processing request received from the external communication unit 341 in the data storage unit 344 as request information 3441, and generates data that can be processed by the device 102. Furthermore, the request management unit 342 may convert messages such as responses received from the device into data that can be processed by the device management service. For this reason, the request management unit may be called a message management unit. Table 2 is an example of request information held by the request management unit 342.

[0035] [Table 2]

[0036] In Table 2, the request ID is a unique ID issued when the IoT management service 104 receives a processing request. The device management service 103 specifies the request ID to obtain the status of the processing request, issue a cancellation instruction, etc. The device ID is an identifier for uniquely identifying the device 102, and is the same value as the device ID held by the device management service 103. The status indicates the processing status of the processing request. If the device 102 has not yet received the request, the status is "Waiting to receive," if the device 102 is processing the request, the status is "In progress," and if completion of the processing request has been received from the device 102, the status is "Completed." The instruction content indicates the instruction content of the processing request received from the device management service 103.

[0037] The request management unit 342 generates data corresponding to the device 102 according to the instruction. The data format may be any format that the device 102 can process, but in this embodiment, the processing request to the device 102 is assumed to be in JSON format. The following is an example of a processing request for resetting a counter. { ”taskType”: ”clearPartsCounter”, "parameters": { ”partsId”: ”1.7.80.7”, “positionMarker”: “1.7.80.7” } }.

[0038] The connection management unit 343 receives a connection request via the external communication unit 341, and if the connection is permitted, stores information about the connected device in the data storage unit 344 as connection information 3442. Table 3A is an example of the connection information managed by the connection management unit 343.

[0039] [Table 3A]

[0040] In this embodiment, the connection management unit 343 manages the connected devices 102 by grouping them according to specific conditions. The specific conditions are, for example, belonging to the same tenant, being installed in the same installation location, having the same product name, etc. Other conditions, such as belonging to the same local network, may also be included, or a combination of these conditions may be used.

[0041] The group ID is an identifier for identifying a group when devices that match a specific condition are grouped together. The maximum number of connections indicates the number of devices permitted to be constantly connected within the group identified by the group ID. For example, if the maximum number of connections is 3, then up to three devices 102 belonging to that group are permitted to be constantly connected. The process when the maximum number of connections is exceeded will be described in detail in the explanation of FIG. 5 below. The maximum number of connections to be applied to all groups may be determined in advance, and this value may be applied as the maximum number of connections for each group. It is desirable to set the maximum number of connections to multiple (at least 2) in order to provide redundancy for connections. However, it is desirable to keep the maximum number of connections as small as possible in order to reduce connection costs. Therefore, the maximum number of connections may be determined according to the number of devices, so that the more devices belong to a group, the higher the maximum number of connections, and the lower the maximum number of connections, in accordance with the number of devices.

[0042] The device ID is an identifier for uniquely identifying the device 102, and is the same value as the device ID held by the device management service 103 and the IoT management service 104. The tenant ID is an identifier determined for each contract using the IoT management service 104. In general, in a cloud service, multiple users share and use the same server or database, so the resources of the cloud service are virtually divided for each contract. The divided unit is called a tenant. The product name is a name for identifying the product of the device. It is the same value as the product name held by the device management service 104. The installation location indicates the physical location of the device 102, and is information set by the administrator of the device 102. The access information is destination information such as the IP address or host name of the device 102 itself. The device ID, tenant ID, product name, installation location, and access information in Table 3A are included in the connection request from the device 102.

[0043] Here, the grouping method of the connection management unit 343 will be described. First, a group is determined based on the tenant ID. In the example of Table 3A, the groups are divided into "TEN001" and "TEN002". Next, a group is determined based on the installation location. In the example of Table 3A, devices in TEN001 with an installation location of "Location C" are in the same group. Finally, devices with the same product name are grouped. The group may be determined using all of the tenant to which the device belongs, the installation location, and the product name, or may be determined using only a part of these. Other information may also be used.

[0044] Taking Table 3A as an example, devices with the product name "Printer A" are grouped together. As a result, in Table 3A, the connected devices 102 are grouped into three groups (GRP001, GRP002, and GRP003).

[0045] <Device 102 Connection and Processing Request Processing Flow> The connection between the device 102 and the IoT management service 104 in this embodiment and the processing of a processing request by the device management service 103 will be described with reference to Fig. 4. Note that Fig. 4 does not take into account a representative device and a represented device.

[0046] In S401, the device 102 makes a connection request to the IoT management service. The device 102 makes a connection request when the device 102 is not connected to the IoT management service due to startup of the device 102 or some communication failure. In S402, the device 102 receives a response of connection permission from the IoT management service 104 and transitions to a state of being constantly connected to the IoT management service 104. Processing when a response of connection denial is received from the IoT management service 104 will be described later with reference to FIG. 6. The constantly connected state includes, for example, a state in which an identifier is assigned to an established connection, and communication is possible between end points such as terminals and servers connected by the connection by using the connection specified by the identifier. In addition, when a constantly connected connection is established, if no communication is performed for a predetermined period of time, communication for confirming survival may be performed.

[0047] In S403, the device management service 103 receives a processing request from a client (client terminal) (not shown). In this embodiment, the instruction from the client is given by the client selecting a device from a device list screen of a UI provided by the device management service 103 and giving an instruction. Alternatively, the instruction may be given by executing an API provided by the device management service 103. In either case, the device ID of the target device and the instruction content are specified to the device management service 103. In S404, the device management service 103 transmits a processing request to the IoT management service 104 together with the device ID and the instruction content. In this embodiment, the processing request from the device management service 103 is given using an API published by the IoT management service 104.

[0048] In S405, a processing request is transmitted from the IoT management service 104 to the device 102. The processing request is converted by the request management unit 342 of the IoT management service 104 into a data format that can be processed by the device 102 and then passed to the device 102.

[0049] In S406, the device 102 performs processing according to the contents of the received processing request. For example, when a firmware version upgrade instruction is received, the device 102 accesses a firmware management service (not shown) and performs the processing. When a processing request such as counter clear or restart is received, the device 102 performs its own internal processing.

[0050] In S407, the device 102 notifies the result of executing the processing request to the IoT management service 104. In S408, the IoT management service 104 updates the status of the request information shown in Table 2, and notifies the device management service 103 of the result of the processing request. The flow of a processing request to the device 102 has been described above.

[0051] Hereinafter, regarding the connection control process of the IoT management service 104 in this embodiment, the processes of the IoT management service 104 and the device 102 will be described.

[0052] <Connection Control of IoT Management Service 104> FIG. 5 is a processing flow of the IoT management service 104 when receiving a connection request from the device 102 in this embodiment. This process may be executed by the CPU 201 triggered by receiving a connection request from the device 102.

[0053] In S501, the external communication unit 341 of the IoT management service 104 accepts a connection request from the device 102. The connection request includes the device ID, tenant ID, product name, and installation location of the requesting device. In S502, the connection management unit 343 of the IoT management service 104 checks the information received in the connection request and the connection information (Table 3A) it holds, and determines which group ID the requesting device 102 belongs to by the above grouping method. For the device 102 determined to belong to a group that does not correspond to the groups registered in the connection information of Table 3A here, a new group may be created together with its device ID and the group ID may be registered in the connection information. In S503, the connection management unit 343 checks and compares the maximum connection number of the group determined in S502 with the number of devices belonging to the group registered in the connection information.

[0054] In S504, if the connection management unit 343 determines that the connection request received exceeds the maximum number of connections in the group, it performs the process of S505. For example, if the connection request is from a device 102 that is not registered in the connection information, and the number of connected devices belonging to the group to which the device belongs has reached the maximum number of connections, the connection request can be determined to be a connection request that exceeds the maximum number of connections. For example, in Table 3A, in the case of a connection request from a device 102 determined to belong to a group ID of GRP002, the maximum number of connections is 3, but three devices of GRP002 already exist in the connection information. Therefore, in this case, it is determined that the maximum number of connections has been exceeded. If the maximum number of connections in the group has not been exceeded, the process of S507 is performed.

[0055] In S505, the connection management unit 343 selects one of the device IDs belonging to the same group ID as the group ID determined in S502. The selected device 102 becomes the proxy device. In this embodiment, the proxy device is selected with priority given to whether the product name or the installation location or both match that of the target device, or whether the access information is close in terms of the network (close IP range, same domain name, etc.). However, if the connection information does not include a corresponding device, other selection criteria may be used.

[0056] In addition, it may happen that the proxy device having the selected device ID and the device 102 that is the source of the connection request cannot communicate due to equipment failure or communication failure. In this embodiment, in such a case, the device 102 considers that the device 102 retries the connection request to the IoT management service 104, and selects a device ID different from the device suspected of having a failure during the retry as the proxy device. For this purpose, for example, the device ID is selected randomly. The retry is, for example, retransmission of the connection request by branching from S605 to S601 in FIG. 6, which will be described later. As another method other than randomization, the device 102 may notify the device ID that could not be connected during the retry of the connection request, and the IoT management service 104 may exclude the device ID and reselect the device ID.

[0057] In S506, the connection management unit 343 responds to the device 102 that has made the connection request that connection is not possible, and notifies the device 102 of access information (for example, address information such as an address) of the device ID (that is, the proxy device) selected in S505.

[0058] On the other hand, if the number of connections in the group will not exceed the maximum number of connections even if a connection is made in response to the received connection request, in S507, the connection management unit 343 adds the information included in the received connection request to the connection information. In S508, the connection management unit 343 responds with a connection permission to the device 102 that made the connection request. Of course, a connection between the IoT management service 104 and the device 102 is also established. The above is the connection control process of the IoT management service 104.

[0059] <Device connection process> Fig. 6 shows a connection process of the device 102 in this embodiment. This process is executed by the CPU 211. The process of Fig. 6 is executed, for example, when a connection between the device 102 and the IoT management service 104 has not been established. The execution may be triggered, for example, after the device 102 is started up, or when a message is sent to a server such as the device management service 103, when a connection with the IoT management service 104 has not been established.

[0060] In S601, the control unit 322 of the device 102 transmits a connection request to the IoT management service 104 via the external communication unit 321. As described above, the control unit 322 transmits a connection request when the device 102 is not connected to the IoT management service 104 due to startup of the device 102 or some communication failure.

[0061] In S602, the control unit 322 receives a response to the connection request via the external communication unit 321. This response includes information on whether or not a connection is possible, and if a connection is not possible, access information. In S603, it is determined whether the response to the connection request is a connection permission or a connection prohibition. If the response is a connection permission, the process of S606 is performed. If the response to the connection request is a connection prohibition, the process of S604 is performed.

[0062] In S604, the control unit 322 retransmits the connection request using the access information included in the response to the connection request. At this time, the control unit 322 makes the connection request via the local communication unit 323. The received access information includes address information of the proxy device, and the retransmitted connection request is sent to the device (proxy device) having that address information. At this time, the connection request includes the device ID of the sender and the access information of the destination. In this embodiment, the external communication unit 321 and the local communication unit 323 are described separately in consideration of the case where the NICs are different between the Internet and the local network, but either one may process the two as long as equivalent functions can be realized.

[0063] In S605, if there is a response of connection permission to the connection request sent to the proxy device, the control unit 322 performs the process of S606. If there is no response for a certain period of time to the connection request in S604, or if it is determined that communication is not possible via the network, the control unit 322 sends a connection request to the IoT management service 104 again (S601). Note that the connection request may be sent to the same destination as the destination sent in S604.

[0064] In S606, if the control unit 322 receives a connection permission response from the IoT management service 104, it initiates a connection via the external network 321, and if the control unit 322 receives a connection permission response from the device that is the destination of the access information, it initiates a connection via the local communication unit 323. The connection process of the device 102 has been completed.

[0065] <Proxy connection process for device 102> 7 is a flowchart showing the process when the device 102 receives a connection request from another device 102. This process is executed by the CPU 211. The process in FIG. 7 may be started in response to reception of the connection request transmitted in step S604 in FIG.

[0066] In S701, the control unit 322 of the device 102 receives a connection request via the local communication unit 323. The connection request at this time includes the device ID of the sending device and access information of the sending device. The access information may be included, for example, as the sending IP address of the IP packet header.

[0067] In S702, the control unit 322 of the device 102 associates the device identification information (ID) and access information included in the connection request received in S701 with each other and stores them in the storage device 221 as a connection list 324. Table 4 is an example of the connection list stored by the control unit 322.

[0068] [Table 4]

[0069] The device ID is an identifier for uniquely identifying the device 102, and is the same value as the device ID held by the device management service 103 and the IoT management service 104. The access information is an address or information equivalent to an address, such as the IP address or host name, of the device 102 that has sent a connection request. The connection list includes the device ID and address information of the device 102 that has sent the connection request received by the representative device, that is, the represented device.

[0070] In S703, the control unit 322 sends a proxy reception request to the IoT management service 104 via the external communication unit 321. The proxy reception request includes the device ID of the device that sent the connection request (i.e., the represented device).

[0071] Here, we will explain the processing of the IoT management service 104 that receives a proxy reception request. When the IoT management service 104 receives a proxy reception request, it adds the device ID received in the proxy reception request to the device ID of the connection information shown in Table 3A. In other words, it additionally registers the identification information of the device that sent the connection request as the left device of the selected proxy device. As an example, Table 3B shows the connection information when the IoT management service 104 receives a proxy reception request from DEV003 to DEV007.

[0072] [Table 3B]

[0073] When the IoT management service 104 receives a processing request for DEV007, which is a represented device, from the device management service 103, it transmits the processing request to DEV003, which is the representative device that requested the proxy reception. The device ID of the target device included in this processing request is set to DEV007, which is the original target. The destination of the processing request is DEV003, which is the representative device for DEV007.

[0074] In S704, the control unit 322 receives a processing request from the IoT management service 104 via the external communication unit 321.

[0075] In S705, the control unit 322 checks the device ID of the target device included in the processing request and determines whether it is its own device ID or a device ID included in the notification list. If its own device ID is specified, the process of S708 is performed. If the device ID is included in the connection list, the process of S706 is performed.

[0076] In S706, the control unit 322 transmits the received processing request to the target device, with the access information in the connection list as the transmission destination, via the local communication unit 323. In S707, the control unit 322 receives a result of the processing request from the device that transmitted the processing request in S706, via the local communication unit 323.

[0077] On the other hand, if it is determined that the processing request is directed to itself, the control unit 322 executes the processing request addressed to itself in S708. In S709, the control unit 322 transmits, via the external communication unit 321, to the IoT management service 104, the result of the processing request executed in S708 or the result of the instruction request received in S707. The above is the process performed by the device 102 when a connection request is received.

[0078] Through the above process, a certain number of devices among multiple devices communicate with the server, making it possible to reduce connection costs while maintaining a constant connection. In addition, the upper limit of the number of constant connections is set to at least two, and if the proxy device goes down or other failure prevents communication, another device is reselected as the proxy device. This allows the proxy device that has experienced a failure to be immediately replaced by another device, preventing a loss of real-time performance.

[0079] [Other Examples] The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.

[0080] Summary of embodiments The above embodiments can be summarized as follows: (Item 1) An information processing device that manages a connection through communication with a device, A communication means for communicating with the device; a storage means for storing connection information including identification information of a connected device, access information of the device, identification information of a group to which the device belongs, and a maximum number of connections for each group; A connection management means, When the connection management means receives a connection request from a device, the connection management means performs the following on the basis of the connection information: Identifying a group to which a device that has sent the connection request belongs; determining whether the number of devices belonging to the identified group has reached the maximum number of connections for the group; If it is determined that the number of devices belonging to the specified group has not reached the maximum number of connections for the group, a response is sent to the source device to permit connection to the source device; When it is determined that the number of devices belonging to the specified group has reached the maximum number of connections for the group, one of the devices belonging to the specified group is selected as a proxy device that mediates message transmission and reception between the device, and the access information of the proxy device is transmitted to the source device together with a response not permitting connection to the source device. 23. An information processing apparatus comprising: (Item 2) Item 1. The information processing device according to item 1, When the connection management means determines that the number of devices belonging to the specified group has not reached the maximum number of connections for the group, the connection management means further registers, in the connection information, identification information of a device that has transmitted the connection request as a device belonging to the specified group. 23. An information processing apparatus comprising: (Item 3) 3. The information processing device according to item 1 or 2, When the connection management means determines that the number of devices belonging to the specified group has reached the maximum number of connections for the group, the connection management means further registers, in the connection information, identification information of the device that has transmitted the connection request as a represented device of the representative device. 23. An information processing apparatus comprising: (Item 4) 4. The information processing device according to any one of items 1 to 3, When the connection management means cannot identify a group to which the device that has transmitted the connection request belongs, the connection management means creates a new group and registers, in the connection information, identification information of the device that has transmitted the connection request as a device that belongs to the group. 23. An information processing apparatus comprising: (Item 5) An information processing device according to any one of items 1 to 4, The connection management means identifies a group to which the device that has transmitted the connection request belongs, based on at least one of a tenant to which the device included in the connection request belongs, an installation location, and a product name. 23. An information processing apparatus comprising: (Item 6) 6. The information processing device according to any one of items 1 to 5, The connection management means selects, as the substitute device, from among the devices included in the connection information, a device whose product name or installation location, or both, included in the connection request matches that of the device that transmitted the connection request, or a device whose access information is close to the device that transmitted the connection request. 23. An information processing apparatus comprising: (Item 7) 7. The information processing device according to any one of items 1 to 6, The connection management means randomly selects the proxy device from among the devices included in the connection information. 23. An information processing apparatus comprising: (Item 8) An information processing device according to any one of items 1 to 7, 2. The information processing device according to claim 1, and a message management means for storing a message that stores a destination device, a content, and a status of a processing request received from a device management service, and for transmitting the message to the destination device via the connection. 23. An information processing apparatus comprising: (Item 9) An information processing device according to any one of items 1 to 8, The maximum number of connections is at least two 23. An information processing apparatus comprising: (Item 10) A device whose connection is managed by an information processing device, A communication means for communicating with the information processing device; A storage means for storing connection information including identification information of a device and access information of the device; and a control means, The control means transmits a connection request to the information processing device, If the response to the connection request is a response that permits the connection, a connection is made to the information processing device; If the response to the connection request is a response that does not permit the connection, then a connection request is sent to a proxy device indicated by the access information received together with the response, and if the response to the connection request is a response that permits the connection, then a connection is made to the information processing device; When a connection request is received from a device, the identification information and access information of the device that sent the connection request are added to the connection information. A device characterized in that (Item 11) Item 11. The device according to item 10, When the control means receives a processing request from the information processing device, if the target device of the processing request is itself, the control means performs processing according to the processing request, and if the target device of the processing request is not itself, the control means transmits the processing request to a corresponding device registered in the connection information. A device characterized in that (Item 12) 10. A program for causing a computer to function as the information processing device according to any one of items 1 to 9. (Item 13) 12. A program for causing a computer to function as the device according to item 10 or 11. (Item 14) 12. A device management system including the information processing device according to any one of items 1 to 9 and the device according to item 10 or 11. (Item 15) A device management method for managing a connection through communication with a device by an information processing device, the information processing device comprising: A communication means for communicating with the device; a storage means for storing connection information including identification information of a connected device, access information of the device, identification information of a group to which the device belongs, and a maximum number of connections for each group; A connection management means, When the connection management means receives a connection request from a device, the connection management means performs the following steps based on the connection information: Identifying a group to which a device that has sent the connection request belongs; determining whether the number of devices belonging to the identified group has reached the maximum number of connections for the group; If it is determined that the number of devices belonging to the specified group has not reached the maximum number of connections for the group, a response is sent to the source device to permit connection to the source device; When it is determined that the number of devices belonging to the specified group has reached the maximum number of connections for the group, one of the devices belonging to the specified group is selected as a proxy device that mediates message transmission and reception between the device, and the access information of the proxy device is transmitted to the source device together with a response not permitting connection to the source device. 23. A device management method comprising: (Item 16) A method for controlling a device whose connection is managed by an information processing device, the device comprising: A communication means for communicating with the information processing device; A storage means for storing connection information including identification information of a device and access information of the device; and a control means, the control means transmits a connection request to the information processing device; If the response to the connection request is a response that permits the connection, a connection is made to the information processing device; If the response to the connection request is a response that does not permit the connection, then a connection request is sent to a proxy device indicated by the access information received together with the response, and if the response to the connection request is a response that permits the connection, then a connection is made to the information processing device; When a connection request is received from a device, the identification information and access information of the device that sent the connection request are added to the connection information. 23. A device control method comprising:

[0081] The present invention is not limited to the above-described embodiments, and various modifications and variations are possible without departing from the spirit and scope of the invention. Therefore, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]

[0082] 103 Device management service, 105 IoT management service, 322 Control unit, 332 Device management unit, 342 Request management unit, 343 Connection management unit

Claims

1. An information processing device that manages a connection through communication with a device, A communication means for communicating with the device; a storage means for storing connection information including identification information of a connected device, access information of the device, identification information of a group to which the device belongs, and a maximum number of connections for each group; A connection management means, When the connection management means receives a connection request from a device, the connection management means performs the following on the basis of the connection information: Identifying a group to which a device that has sent the connection request belongs; determining whether the number of devices belonging to the identified group has reached the maximum number of connections for the group; If it is determined that the number of devices belonging to the specified group has not reached the maximum number of connections for the group, a response is sent to the source device to permit connection to the source device; When it is determined that the number of devices belonging to the specified group has reached the maximum number of connections for the group, one of the devices belonging to the specified group is selected as a proxy device that mediates message transmission and reception between the device, and the access information of the proxy device is transmitted to the source device together with a response not permitting connection to the source device.

23. An information processing apparatus comprising:

2. 2. The information processing device according to claim 1, When it is determined that the number of devices belonging to the specified group has not reached the maximum number of connections for the group, the connection management means further registers, in the connection information, identification information of a device that has transmitted the connection request as a device belonging to the specified group.

23. An information processing apparatus comprising:

3. 2. The information processing device according to claim 1, When the connection management means determines that the number of devices belonging to the specified group has reached the maximum number of connections for the group, the connection management means further registers, in the connection information, identification information of the device that has transmitted the connection request as a represented device of the represented device.

23. An information processing apparatus comprising:

4. 2. The information processing device according to claim 1, When the connection management means cannot identify the group to which the device that transmitted the connection request belongs, it creates a new group and registers, in the connection information, identification information of the device that transmitted the connection request as a device that belongs to the group.

23. An information processing apparatus comprising:

5. 2. The information processing device according to claim 1, The connection management means identifies a group to which the device that has transmitted the connection request belongs, based on at least one of a tenant to which the device included in the connection request belongs, an installation location, and a product name.

23. An information processing apparatus comprising:

6. 2. The information processing device according to claim 1, The connection management means selects, as the substitute device, from among the devices included in the connection information, a device whose product name or installation location, or both, included in the connection request matches that of the device that transmitted the connection request, or a device whose access information is close to the device that transmitted the connection request.

23. An information processing apparatus comprising:

7. 2. The information processing device according to claim 1, The connection management means randomly selects the proxy device from among the devices included in the connection information.

23. An information processing apparatus comprising:

8. 2. The information processing device according to claim 1, and a message management means for storing a message that stores a destination device, a content, and a status of a processing request received from a device management service, and for transmitting the message to the destination device via the connection.

23. An information processing apparatus comprising:

9. 2. The information processing device according to claim 1, The maximum number of connections is at least two 23. An information processing apparatus comprising:

10. A device whose connection is managed by an information processing device, A communication means for communicating with the information processing device; A storage means for storing connection information including identification information of a device and access information of the device; and a control means, The control means transmits a connection request to the information processing device, If the response to the connection request is a response that permits the connection, a connection is made to the information processing device; If the response to the connection request is a response that does not permit the connection, then a connection request is sent to a proxy device indicated by the access information received together with the response, and if the response to the connection request is a response that permits the connection, then a connection is made to the information processing device; When a connection request is received from a device, the identification information and access information of the device that sent the connection request are added to the connection information. A device characterized in that

11. 11. The device of claim 10, When the control means receives a processing request from the information processing device, if the target device of the processing request is itself, the control means performs processing according to the processing request, and if the target device of the processing request is not itself, the control means transmits the processing request to a corresponding device registered in the connection information. A device characterized in that

12. A program for causing a computer to function as the information processing device according to any one of claims 1 to 9.

13. A program for causing a computer to function as the device according to claim 10 or 11.

14. A device management system comprising: an information processing apparatus according to claim 1; and a device according to claim 10.

15. A device management method for managing a connection through communication with a device by an information processing device, the information processing device comprising: A communication means for communicating with the device; a storage means for storing connection information including identification information of a connected device, access information of the device, identification information of a group to which the device belongs, and a maximum number of connections for each group; A connection management means, When the connection management means receives a connection request from a device, the connection management means performs the following steps based on the connection information: Identifying a group to which a device that has sent the connection request belongs; determining whether the number of devices belonging to the identified group has reached the maximum number of connections for the group; If it is determined that the number of devices belonging to the specified group has not reached the maximum number of connections for the group, a response is sent to the source device to permit connection to the source device; When it is determined that the number of devices belonging to the specified group has reached the maximum number of connections for the group, one of the devices belonging to the specified group is selected as a proxy device that mediates message transmission and reception between the device, and the access information of the proxy device is transmitted to the source device together with a response not permitting connection to the source device.

23. A device management method comprising:

16. A method for controlling a device whose connection is managed by an information processing device, the device comprising: A communication means for communicating with the information processing device; A storage means for storing connection information including identification information of a device and access information of the device; and a control means, the control means transmits a connection request to the information processing device; If the response to the connection request is a response that permits the connection, a connection is made to the information processing device; If the response to the connection request is a response that does not permit the connection, then a connection request is sent to a proxy device indicated by the access information received together with the response, and if the response to the connection request is a response that permits the connection, then a connection is made to the information processing device; When a connection request is received from a device, the identification information and access information of the device that sent the connection request are added to the connection information.

23. A device control method comprising:

Citation Information

Patent Citations

  • Apparatus communication method and apparatus

    JP2018078395A