Device management apparatus and program thereof
The device management device and program address the challenge of managing a large number of IoT devices by calculating and distributing inquiry times, preventing concentration of job confirmations and ensuring cost-effective management.
Patent Information
- Application Number
- JP2023158929
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-22
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2043-09-22
AI Technical Summary
The increasing number of IoT devices managed by device management servers poses a challenge in managing them without incurring significant costs, particularly in distributing job confirmations to prevent concentration and ensure continuous operation.
A device management device and program that calculates a distributed time for each IoT device, determining when it should perform regular inquiries to the device management device, thereby distributing the workload and preventing concentration of job confirmations.
This solution allows for the management of a large number of IoT devices without incurring costs, by distributing the inquiry times, thus preventing potential failures due to concentrated inquiries and optimizing resource utilization.
Smart Images

Figure 2025050238000001_ABST
Abstract
Description
[Technical field]
[0001] An embodiment of the present invention relates to a device management apparatus and a program therefor. [Background technology]
[0002] In recent years, various Internet of Things (IoT) devices have started to be used, and device management servers acquire data from the IoT devices and manage the IoT devices via the Internet.
[0003] The number of devices, such as IoT devices, that device management servers must manage is constantly increasing, and there is a demand for a mechanism that can manage a large number of devices without incurring costs. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2017-46071 A Summary of the Invention [Problem to be solved by the invention]
[0005] The problem to be solved by the present invention is to provide a device management apparatus and a program therefor that make it possible to manage a large number of devices such as IoT devices without incurring costs. [Means for solving the problem]
[0006] The device management device of the embodiment is a device that manages a plurality of registered devices via a network, and includes a calculation means, a registration means, and a notification means. When registering a new device, the calculation means calculates a distribution time, which indicates the time during which the new device should make a periodic inquiry to the device management device via the network, to be assigned to the new device based on the processing time required to process periodic inquiries from a predetermined number of devices. The registration means registers the new device by including the distribution time in registration information for the new device. The notification means notifies the new device of the distribution time via the network. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 is a block diagram showing the configuration of a device management system including a device management server as a device management device according to the first embodiment. [Diagram 2] FIG. 2 is a sequence diagram showing an outline of the operation of the device management system of FIG. [Diagram 3] FIG. 3 is a block diagram showing a main circuit configuration and a program outline of the device management server in FIG. [Figure 4] FIG. 4 is a diagram showing the configuration of one of the data records contained in the device information database in FIG. [Diagram 5] FIG. 5 is a diagram showing one configuration of the setting value table in FIG. [Figure 6] FIG. 6 is a block diagram showing a main circuit configuration and a program outline of the IoT device in FIG. [Figure 7] FIG. 7 is a diagram showing one configuration of the registration information table in FIG. [Figure 8] FIG. 8 is a flowchart of the registration process by the processor of the device management server appearing in FIG. [Figure 9] FIG. 9 is a flowchart of the dispersion time calculation process in FIG. [Figure 10] FIG. 10 is a schematic diagram for explaining a method of allocating distributed time to IoT devices. [Figure 11]FIG. 11 is a flowchart of a job confirmation process performed by the processor of the IoT device in FIG. [Figure 12] FIG. 12 is a flowchart of a job confirmation process performed by the processor of the device management server in FIG. [Figure 13] FIG. 13 is a block diagram showing a main circuit configuration and a program outline of a device management server as a device management apparatus according to the second embodiment. [Figure 14] FIG. 14 is a diagram showing one configuration of the distributed time management table in FIG. [Figure 15] FIG. 15 is a flowchart of the registration process by the processor of the device management server in the second embodiment. [Figure 16] FIG. 16 is a flowchart of the deregistration process by the processor of the device management server in the second embodiment. [Figure 17] FIG. 17 is a flowchart of a registration process by a processor of a device management server serving as a device management apparatus according to the third embodiment. [Figure 18] FIG. 18 is a flowchart of a dispersion time calculation process in a registration process by a processor of a device management server serving as a device management apparatus according to the fourth embodiment. [Figure 19] FIG. 19 is a schematic diagram for explaining a method of allocating distributed times to IoT devices in the fourth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] Hereinafter, an embodiment will be described with reference to the drawings.
[0009] [First embodiment] Fig. 1 is a block diagram showing the configuration of a device management system including a device management server 1 as a device management apparatus according to the first embodiment. As shown in Fig. 1, a plurality of IoT devices 2, n IoT devices 2-1 to 2-n in this embodiment, are connected to the device management server 1 via the Internet Int. Note that the subscripts of the IoT devices 2 are used to distinguish each IoT device 2, and in this embodiment, they indicate the order in which they were registered in the device management server 1.
[0010] The device management server 1 is configured using cloud services such as IaaS (Infrastructure as a Service), PaaS (Platform as a Service) or SaaS (Software as a Service), i.e., it is becoming mainstream to deploy it in the cloud. In this case, the device management server 1 on the Internet Int is often unable to communicate directly with the IoT device 2. In such a system, it is common for the IoT device 2 to make an inquiry to the device management server 1.
[0011] The device management server 1 normally acquires information sent from the IoT device 2, and for example, a maintenance technician performs maintenance work such as checking the information acquired by the device management server 1. Maintenance not only requires notification of information from the IoT device 2, but also requires issuing instructions (hereinafter referred to as a job) to the IoT device 2, such as a hardware reset. Since it is not known when a job will be generated for the IoT device 2, a mechanism is generally used in which the IoT device 2 periodically checks for the job, that is, polling.
[0012] If job confirmations from the IoT devices 2 are concentrated on the device management server 1, there is a possibility that some IoT devices 2 cannot receive the job confirmations from the device management server 1. For this reason, in this embodiment, the job confirmations from each IoT device 2 are distributed.
[0013] The IoT device 2 may be used in store sales activities, for example. The IoT device 2 in this case may be a POS device such as a fixed POS (Point of Sales) terminal installed in a store, a cart POS terminal that moves with a shopper in the store, or a smartphone POS terminal provided as a smartphone application, as well as peripheral devices of the POS device such as a scanner or a printer. In the settlement process of store sales activities, these POS devices and their peripheral devices are important devices, and it is required to always know the device status and to respond quickly when a problem occurs. In order to realize this response, a device management server 1 is installed, and device information is periodically sent from the device to the device management server 1, so that the operating status can be continuously known and a problem can be dealt with remotely if there is a problem. From the viewpoint of device security, the device management server 1 and the device, which is the IoT device 2, transmit information and receive instructions by one-way polling from the device to the device management server.
[0014] FIG. 2 is a sequence diagram showing an outline of the operation of the device management system. FIG. 2 shows a case where each IoT device 2 checks a job at 60-second intervals, for example, and checks the job at intervals of 3 seconds. As a result, the IoT device 2-1 checks the job to the device management server 1 at t1, which is 0 seconds, the IoT device 2-2 checks the job to the device management server 1 at t1+3, which is 3 seconds later, ..., the IoT device 2-20 checks the job to the device management server 1 at t1+57, which is 57 seconds later. The IoT device 2-21 checks the job to the device management server 1 at t1, which is 0 seconds, like the IoT device 2-1, instead of 60 seconds later, and although not shown in the figure, the IoT device 2-22 checks the job to the device management server 1 at t1+3, which is 3 seconds later, the IoT device 2-23 checks the job to the device management server 1 at t1+6, which is 6 seconds later, ..., and so on.
[0015] The job confirmation sent from each IoT device 2 includes authentication information. Therefore, the equipment management server 1 authenticates the IoT device 2 using this authentication information, and determines whether or not a job is required for the authenticated IoT device 2.
[0016] Then, in such distributed job confirmation, if the equipment management server 1 determines that a job is required for any of the IoT devices 2, for example, IoT device 2-2 in the example of Figure 2, the equipment management server 1 instructs the IoT device 2 to execute the job, so that the IoT device 2-2 executes the job.
[0017] Also, when a registration request is received from an unregistered IoT device 2 at some timing, for example, the IoT device 2-40 at t1+3 seconds in the example of FIG. 2, the device management server 1 executes a registration operation with the IoT device 2-40 in response to the registration request. In this registration operation, the device management server 1 calculates the distribution time of the IoT device 2-40. For example, the device management server 1 calculates the distribution time of the IoT device 2-40 to be "57 seconds". Then, the device management server 1 notifies the IoT device 2-40 of registration information including the calculated distribution time. As a result, the newly registered IoT device 2-40 will perform a job confirmation with the device management server 1 at t1+57.
[0018] 3 is a block diagram showing the main circuit configuration and a program outline of the device management server 1. The device management server 1 includes a processor 11, a main memory 12, an auxiliary storage device 13, a communication interface 14, an input / output unit 15, and a transmission path 16. The processor 11 is connected to the main memory 12, the auxiliary storage device 13, the communication interface 14, and the input / output unit 15 via the transmission path 16. In the device management server 1, the processor 11, the main memory 12, and the auxiliary storage device 13 are connected via the transmission path 16 to form a computer that controls the device management server 1.
[0019] The processor 11 corresponds to the central part of the computer. The processor 11 controls each part to realize various functions as the device management server 1 according to an operating system and an application program. The processor 11 is, for example, a CPU (Central Processing Unit), but is not limited to this. The processor 11 may be a multi-core / multi-threaded one and can execute multiple processes in parallel. The processor 11 may also be an MPU (Micro Processing Unit). Furthermore, the processor 11 may be realized in various other forms including integrated circuits such as an ASIC (Application Specific Integrated Circuit), a GPU (Graphics Processing Unit), an FPGA (Field-Programmable Gate Array), a DSP (Digital Signal Processor), a SoC (System on a Chip), and a PLD (Programmable Logic Device). The processor 11 may also be a combination of multiple of these.
[0020] The main memory 12 corresponds to the main storage portion of the computer. The main memory 12 includes a nonvolatile memory area and a volatile memory area. The main memory 12 stores an operating system and application programs in the nonvolatile memory area. The main memory 12 may also store data required for the processor 11 to execute processes for controlling each part in the nonvolatile or volatile memory area. The main memory 12 uses the volatile memory area as a work area where data is appropriately rewritten by the processor 11.
[0021] The auxiliary storage device 13 corresponds to the auxiliary storage portion of the computer. The auxiliary storage device 13 may be, for example, an Electric Erasable Programmable Read-Only Memory (EEPROM), a Hard Disc Drive (HDD), a Solid State Drive (SSD), or any other well-known storage device. The auxiliary storage device 13 stores data used by the processor 11 in performing various processes and data generated by the processes in the processor 11. The auxiliary storage device 13 may also store application programs.
[0022] The communication interface 14 performs data communication via the Internet Int. As the communication interface 14, for example, a well-known interface configured to perform well-known processing for data communication via the Internet Int can be used.
[0023] The input / output unit 15 is a user interface including input devices such as a keyboard and a mouse, and a display device such as a liquid crystal display. The device management server 1 does not necessarily have to have the input / output unit 15. In this case, the user interface can be an information processing device such as a personal computer, a smartphone, or a tablet computer that can communicate via the Internet Int through the communication interface 14.
[0024] The transmission path 16 includes an address bus, a data bus, and control signal lines, and transmits data and control signals between the various connected components.
[0025] A part of the storage area of the auxiliary storage device 13 is used as a device information database 131 and a setting value table 132. The device information database 131 stores various data related to the IoT devices 2 managed by the device management server 1. The setting value table 132 stores various data used when determining the distribution time of each IoT device 2. Note that "database" is abbreviated to "DB" in FIG. 3 and other figures.
[0026] FIG. 4 is a diagram showing one configuration of a data record included in the device information database 131. The device information database 131 is a collection of device information records 1311, which are data records as shown in FIG. 4. The device information records 1311 correspond to each registered IoT device 2. The device information records 1311 include, as registration information, a device ID and password for authentication, a device number, and a distribution time. The device ID represents a code for identifying the corresponding IoT device. The number of digits, character type, etc. of this device ID are not particularly specified. In this embodiment, for ease of explanation, it is assumed that the device IDs are assigned starting from "1" in the order of registration. The password may be specified by the IoT device 2 side when registering the IoT device 2, or may be issued by the device management server 1 side. The device number is the model number, serial number, etc. of the IoT device. The distribution time indicates the time when the IoT device should perform Job confirmation, and is assigned by the processor 11 of the device management server 1 when registering the IoT device 2. Of course, the device information record 1311 may include data other than that shown in FIG. 4, such as the IP address and owner of the IoT device 2.
[0027] 5 is a diagram showing one configuration of the setting value table 132. The setting value table 132 stores values for each of the items of the number of simultaneous connections, the continuous processing time, the periodic connection interval, the number of communication resources, the number of registered devices, and the number of continuous processing time additions.
[0028] The number of simultaneous connections indicates the average number of IoT devices 2 that can be connected simultaneously. The maximum number of simultaneous connections is limited by the performance of the communication resources used. For example, in the case of a device management server 1 deployed in the cloud, the performance of the communication resources means the performance of the service per contract that the service provider provides to the subscriber. When the device management server 1 is configured with independent hardware, the performance of the communication resources can be the performance of the communication interface 14, the performance and number of Internet lines used for communication, etc. The value of the number of simultaneous connections is set as the number of devices per second.
[0029] The persistent processing time indicates the queuing time, i.e., the request-response time, required to respond to a Job confirmation from the IoT device 2. In other words, the persistent processing time is the processing time required to process a periodic query from the IoT device 2. The persistent processing time value is set as a number of seconds.
[0030] The periodic connection interval indicates the unit time for repeating job confirmation by the IoT device 2, that is, the polling interval. In other words, the periodic connection interval is the time interval for periodic inquiries. The value of this periodic connection interval is set as the number of seconds.
[0031] The number of communication resources indicates the number of contracted accounts for use of the cloud service in the device management server 1 arranged in the cloud. The value of the number of communication resources is set as the number of accounts.
[0032] The number of registered devices indicates the number of registered IoT devices 2. This value of the number of registered devices is set as the number of devices.
[0033] The sustained processing time addition count indicates the number of times the sustained processing time has been added. The value of the sustained processing time addition count is set as a number.
[0034] Among the values of each item stored in the setting value table 132, the values of the number of simultaneous connections, the continuous processing time, and the periodic connection interval are set by the administrator of the device management server 1, and the values of the number of communication resources and the number of registered devices can be automatically set by the processor 11 of the device management server 1 according to the registration status of the IoT devices 2. The settings by the administrator of the device management server 1 can be input by the administrator through the input / output unit 15, or from an information processing device of the administrator connected to the Internet Int. Alternatively, instead of being set by the administrator, the processor 11 of the device management server 1 may automatically set the values based on its own processing capacity, the performance of the communication resources, and the like. The initial values of the number of registered devices and the continuous processing time addition count are set to "0", and the values are updated when an IoT device 2 is registered.
[0035] Next, each unit implemented in the processor 11 of the device management server 1 will be described. The processor 11 implements, for example, a device registration unit 111, a dispersion time calculation unit 112, and a device communication control unit 113. Each unit implemented in the processor 11 can also be referred to as each functional module. Each unit implemented in the processor 11 can also be referred to as a program implemented in a control unit including the processor 11 and the main memory 12.
[0036] The device registration unit 111 registers the IoT device 2. Specifically, the device registration unit 111 accepts a registration request from an IoT device 2 that wishes to be registered via the communication interface 14. Upon receiving a registration request from the IoT device 2, the device registration unit 111 checks a device ID already registered in the device information database 131, issues an unused device ID, and creates a new device information record 1311 having this device ID in the device information database 131. In addition, the device registration unit 111 generates or acquires a password from the IoT device 2, and acquires a device number from the IoT device 2, and sets the password and device number in the device information record 1311.
[0037] The distribution time calculation unit 112 calculates the distribution time to be set in the IoT device 2 when the IoT device 2 is newly registered by the device registration unit 111. The method of calculating the distribution time will be described in detail later. The distribution time calculation unit 112 provides the calculated distribution time to the device registration unit 111.
[0038] The device registration unit 111 receives this distribution time and sets it in the device information record 1311. Then, the device registration unit 111 notifies the IoT device 2 to be registered via the communication interface 14 of the device ID, password, distribution time, and the like, among the registration information registered in the device information database 131.
[0039] The device communication control unit 113 receives a job confirmation from each IoT device 2 via the communication interface 14, and in response thereto, checks whether or not there is a job for each IoT device 2. Then, the device communication control unit 113 transmits the job via the communication interface 14 to the IoT device 2 for which there is a job.
[0040] 6 is a block diagram showing a main circuit configuration and a program outline of the IoT device 2. The IoT device 2 includes a processor 21, a main memory 22, an auxiliary storage device 23, a communication interface 24, an input / output unit 25, a sensor unit 26, a clock 27, and a transmission path 28. The processor 21 is connected to the main memory 22, the auxiliary storage device 23, the communication interface 24, the input / output unit 25, the sensor unit 26, and the clock 27 by the transmission path 28. In the IoT device 2, the processor 21, the main memory 22, and the auxiliary storage device 23 are connected by the transmission path 28 to configure a computer that controls the IoT device 2.
[0041] The processor 21 corresponds to the central part of the computer. The processor 21 controls each part to realize various functions of the IoT device 2 according to an operating system and an application program. The processor 21 is, for example, a CPU or an MPU, but is not limited thereto. The processor 21 may be a multi-core / multi-threaded one, and can execute multiple processes in parallel. The processor 21 may also be realized in various other forms, including integrated circuits such as ASIC, GPU, FPGA, DSP, SoC, PLD, etc. The processor 21 may also be a combination of two or more of these.
[0042] The main memory 22 corresponds to the main storage portion of the computer. The main memory 22 includes a nonvolatile memory area and a volatile memory area. The main memory 22 stores an operating system and application programs in the nonvolatile memory area. The main memory 22 may also store data required for the processor 11 to execute processes for controlling each part in the nonvolatile or volatile memory area. The main memory 22 uses the volatile memory area as a work area where data is appropriately rewritten by the processor 21.
[0043] The auxiliary storage device 23 corresponds to the auxiliary storage portion of the computer. For example, an EEPROM, HDD, SSD, or other various well-known storage devices can be used as the auxiliary storage device 23. The auxiliary storage device 23 stores data used by the processor 21 when performing various processes and data generated by the processes in the processor 21. The auxiliary storage device 23 may also store application programs.
[0044] The communication interface 24 performs data communication via the Internet Int. As the communication interface 24, for example, a well-known interface configured to perform well-known processing for data communication via the Internet Int can be used.
[0045] The input / output unit 25 is a user interface including an input device such as a keyboard and a display device such as a liquid crystal display. The input / output unit 25 may be configured as a touch panel having transparent touch keys arranged on a liquid crystal display.
[0046] The sensor unit 26 is not particularly limited, but may be, for example, a camera, a scanner, a wireless reader / writer, etc. Instead of the sensor unit 26, the IoT device 2 may include an interface for connecting an external sensor.
[0047] The clock 27 keeps track of the current time.
[0048] The transmission path 28 includes an address bus, a data bus, and control signal lines, and transmits data and control signals between the various connected components.
[0049] A part of the storage area of the auxiliary storage device 23 is used as a registration information table 231. The registration information table 231 stores the registration information of the IoT device 2.
[0050] 7 is a diagram showing one configuration of the registration information table 231. The registration information table 231 stores the registration information transmitted from the device management server 1 at the time of registration.
[0051] Next, each unit implemented in the processor 21 of the IoT device 2 will be described. The processor 21 implements, for example, a registration unit 211, a job confirmation unit 212, and a job execution unit 213. Each unit implemented in the processor 21 can also be referred to as each functional module. Each unit implemented in the processor 21 can also be referred to as a program implemented in a control unit including the processor 21 and the main memory 22.
[0052] The registration unit 211 registers the IoT device 2 in the device management server 1. Specifically, the registration unit 211 transmits a registration request to the device management server 1 via the communication interface 24. Then, the registration unit 211 receives registration information transmitted from the device management server 1 in response to the registration request via the communication interface 24, and stores the received registration information in the registration information table 231. The registration information may include a device ID, a password, and a distribution time.
[0053] The job confirmation unit 212 manages the time to perform job confirmation based on the distribution time stored in the registration information table 231. Then, when it is time to perform job confirmation, the job confirmation unit 212 performs job confirmation to the equipment management server 1 via the communication interface 24. This job confirmation includes the device ID and password for authentication of the IoT device 2 stored in the registration information table 231.
[0054] When a job is received from the device management server 1 in response to the job confirmation via the communication interface 24, the job execution unit 213 executes the job.
[0055] Next, a description will be given of the operation of the device management server 1 and the IoT device 2 configured as above. Note that the contents of the various processes described below are merely examples, and various processes capable of obtaining similar results can be appropriately used.
[0056] When the equipment management server 1 is in a normal operating state, it executes information processing based on an application program stored in the main memory 12 or the auxiliary storage device 13. Similarly, when the IoT device 2 is in a normal operating state, it executes information processing based on an application program stored in the main memory 22 or the auxiliary storage device 23.
[0057] 8 is a flowchart of the registration process by the processor 11 of the device management server 1. The processor 11 starts the process shown in this flowchart when it receives a registration request from any of the IoT devices 2 via the communication interface 14. Unless otherwise specified, the process shown in the flowchart transitions from ACTn (n is a natural number) to ACT(n+1).
[0058] In the device management server 1, when a registration request is received, as ACT101, as shown in FIG. 8, the dispersion time calculation unit 112 implemented in the processor 11 reads out the number of simultaneous connections set in the setting value table 132 into the main memory 12.
[0059] As ACT 102 , the distributed time calculation unit 112 of the processor 11 reads out the continuous processing time set in the setting value table 132 into the main memory 12 .
[0060] In ACT 103 , the dispersion time calculation unit 112 of the processor 11 reads out the regular connection interval set in the setting value table 132 into the main memory 12 .
[0061] In ACT 104, the distribution time calculation unit 112 of the processor 11 calculates a distribution coefficient. For example, the distribution coefficient is a value obtained by dividing the periodic connection interval read in ACT 103 by the continuous processing time read in ACT 102. This distribution coefficient indicates the number of groups to be distributed per unit time. The distribution time calculation unit 112 temporarily stores the calculated distribution time in the main memory 12.
[0062] In ACT 105, the distribution time calculation unit 112 of the processor 11 calculates the allowable number of registered devices. For example, the allowable number of registered devices is a value obtained by multiplying the distribution coefficient calculated in ACT 104 and temporarily stored in the main memory 12 by the number of simultaneous connections read out in ACT 101. This allowable number of registered devices indicates the number of IoT devices 2 that can be allocated to one communication resource. The distribution time calculation unit 112 temporarily stores the calculated allowable number of registered devices in the main memory 12.
[0063] As ACT 106 , the distribution time calculation unit 112 of the processor 11 reads out the number of communication resources set in the setting value table 132 into the main memory 12 .
[0064] In ACT 107 , the dispersion time calculation unit 112 of the processor 11 reads out the registered number of devices set in the setting value table 132 into the main memory 12 .
[0065] In ACT108, the distribution time calculation unit 112 of the processor 11 checks whether the number of registered devices read out in ACT107 has reached the allowable number of registered devices calculated in ACT105 and temporarily stored in the main memory 12. If the number of registered devices has not reached the allowable number of registered devices, the distribution time calculation unit 112 judges NO and proceeds to ACT109. If the number of registered devices has reached the allowable number of registered devices, the device registration unit 111 judges YES and proceeds to ACT114.
[0066] As ACT 109, the distribution time calculation unit 112 of the processor 11 executes a distribution time calculation process for calculating the distribution time. The details of this distribution time calculation process will be described later.
[0067] As the ACT 110, the device registration unit 111 implemented in the processor 11 sets a device ID and a password. Specifically, the device registration unit 111 checks the device IDs already registered in the device information database 131, issues an unused device ID, and generates or acquires a password from the IoT device 2. Furthermore, the device registration unit 111 can acquire a device number from the IoT device 2.
[0068] As ACT111, the device registration unit 111 of the processor 11 creates a new device information record 1311 having the set device ID in the device information database 131, and registers the set password, device number, and the distribution time calculated in ACT109 therein. Thus, the processor 11 executes information processing based on the application program, and the computer having the processor 11 as a central part functions as a registration means for registering the new IoT device 2 by including the distribution time in the registration information for the new IoT device 2. In other words, the computer functioning as the registration means registers the distribution time for the IoT device 2, which is the device to be registered. More specifically, the computer functioning as the registration means stores the distribution time assigned to the IoT device 2 in the auxiliary storage device in association with the device ID, which is information identifying the IoT device 2 to be registered.
[0069] As ACT112, the device registration unit 111 of the processor 11 transmits registration information including a device ID, a password, and a distribution time to the IoT device 2 to be registered via the communication interface 14. Thus, the processor 11 executes information processing based on the application program, and the computer having the processor 11 as a central part functions as a notification means for notifying the IoT device 2, which is a new device, of the distribution time via the Internet Int. In other words, the computer functioning as the notification means notifies the IoT device 2, which is the device to be registered, of the registration information including the distribution time. More specifically, the computer functioning as the notification means transmits the registration information including the distribution time to the IoT device 2 to be registered via the communication interface 14 via the Internet Int.
[0070] In ACT 113, the distribution time calculation unit 112 of the processor 11 increments the number of registered vehicles read in ACT 107 by one, and updates the value of the number of registered vehicles in the setting value table 132 with the incremented number of registered vehicles. Then, the processor 11 ends the registration process shown in this flowchart. At this time, the processor 11 clears each piece of data read into the main memory 12 and each piece of data calculated and temporarily stored in the main memory 12.
[0071] As ACT114, the distributed time calculation unit 112 of the processor 11 executes processing required for adding communication resources, i.e., adding the number of contracts, with the provider of the cloud service. That is, the communication resources of the environment in which information processing is executed are managed by an external management device, which is a server that provides cloud services, and the processor 11 requests the external management device to add communication resources. In this way, the external management device adds communication resources. In this way, by the processor 11 executing information processing based on the application program, the computer with the processor 11 as its central part functions as a requesting means that requests the external management device to add communication resources when the number of registered devices reaches the allowable number of registered devices of the communication resources used by the device management server 1, that is, when the number of registered devices exceeds a predetermined number.
[0072] In ACT115, the distribution time calculation unit 112 of the processor 11 increments the read number of communication resources by one, and updates the value of the number of communication resources in the setting value table 132 with the increased number of contracts. After that, the processor 11 proceeds to ACT109.
[0073] FIG. 9 is a flowchart of the distribution time calculation process of ACT109. FIG. 10 is a schematic diagram for explaining a method of allocating distribution times to IoT devices 2. In the specific example shown in FIG. 10, the number of simultaneous connections is "3 devices / second", the sustained processing time is "3 seconds", and the regular connection interval is "60 seconds". In the actual device management server 1, the number of simultaneous connections is several thousand devices / second, and the sustained processing time is also less than one second, but due to the constraints of the illustration, these values are used for the explanation. The numbers in the rectangular boxes in FIG. 10 indicate device IDs. Also, the distribution value is an identification number of each time slot obtained by dividing the regular connection interval by the sustained processing time. In the example of FIG. 10, 60 seconds is divided by 3 seconds, so there are 20 time slots from 1 to 20. The distribution value of each IoT device 2 is calculated so that the number of IoT devices 2 corresponding to the number of simultaneous connections is allocated to each time slot.
[0074] In ACT 1091 , the distribution time calculation unit 112 of the processor 11 reads out the sustained processing time addition count set in the setting value table 132 into the main memory 12 .
[0075] In ACT1092, the distribution time calculation unit 112 of the processor 11 checks whether the number of registered devices read in ACT107 is "0", that is, whether the IoT device 2-1, which is the first IoT device 2, is registered. If the number of registered devices is "0", the distribution time calculation unit 112 judges YES and proceeds to ACT1093. If the number of registered devices is not "0", the distribution time calculation unit 112 judges NO and proceeds to ACT1095.
[0076] In ACT 1093, the distribution time calculation unit 112 of the processor 11 determines the distribution time to be "0 seconds." In this way, when the first IoT device 2 with device ID=1 is registered, the distribution time becomes 0 seconds, as shown in FIG. 10. This determined distribution time is temporarily stored in the main memory 12.
[0077] In ACT 1094, the distributed time calculation unit 112 of the processor 11 clears the number of continuous processing time additions set in the setting value table 132 to "0." After that, the processor 11 ends this distributed time calculation process, returns to the process of the flowchart shown in FIG. 8, and proceeds to ACT 110.
[0078] As ACT 1095, the distribution time calculation unit 112 of the processor 11 reads out the final distribution time into the main memory 12. Specifically, the distribution time calculation unit 112 reads out the distribution time of the device information record 1311 having the maximum device ID value in the device information database 131 as this final distribution time. For example, when registering the second IoT device 2, the IoT device 2-2, the maximum device ID is "1" and the final distribution time is "0 seconds".
[0079] In ACT1096, the distribution time calculation unit 112 of the processor 11 calculates the current distribution time by adding the sustained processing time read in ACT102 to the final distribution time. For example, since the sustained processing time is "3 seconds", the distribution time of the second IoT device 2-2 is "3 seconds" as shown in FIG. 10. The distribution time calculation unit 112 temporarily stores the calculated distribution time in the main memory 12. In this way, the processor 11 executes information processing based on the application program, and the computer having the processor 11 as its central part functions as a calculation means for calculating a distribution time indicating the time when the new IoT device 2 should make a job confirmation, which is a periodic inquiry, to the device management server 1 via the Internet Int, to be assigned to the new IoT device 2, based on the sustained processing time, which is the processing time required to process periodic inquiries from a predetermined number of devices indicated by the number of simultaneous connections, when registering the IoT device 2, which is a new device. This can also be said as the computer functioning as a calculation means calculating the distribution time to be allocated to the IoT device 2 that is to be registered based on the number of IoT devices 2 that can be connected simultaneously and the waiting time required to respond to a job confirmation from the IoT device 2.
[0080] In ACT 1097, the distribution time calculation unit 112 of the processor 11 increments the sustained processing time addition count read in ACT 1091 by one, and updates the value of the sustained processing time addition count in the setting value table 132 with the incremented sustained processing time addition count.
[0081] In ACT 1098, the distribution time calculation unit 112 of the processor 11 checks whether or not this updated number of times the continuous processing time has been added is equal to or greater than the distribution coefficient calculated in ACT 104. If the number of times the continuous processing time has been added is not equal to or greater than the distribution coefficient, the distribution time calculation unit 112 judges this as NO, ends this distribution time calculation process, and returns to the process of the flowchart shown in FIG. 8, and proceeds to ACT 110.
[0082] In this way, in response to a registration request from a new IoT device 2, the device management server 1 calculates the dispersion time of the IoT device 2 and registers it in the device information database 131.
[0083] Then, when the 21st IoT device 2-21 is registered, the distribution time calculated in ACT 1096 is "60 seconds", and the continuous processing time addition count updated in ACT 1097 is "21 times". Therefore, in ACT 1098, the distribution time calculation unit 112 judges YES because the continuous processing time addition count is equal to or greater than the distribution coefficient ("20"), and proceeds to ACT 1093. As a result, the distribution time is determined to be "0 seconds" instead of "60 seconds". Therefore, as shown in FIG. 10, the distribution time of the 21st IoT device 2-21 becomes "0 seconds". Then, the continuous processing time addition count is cleared in the next ACT 1094, so that when the 22nd or subsequent IoT devices 2 are registered, the distribution time is calculated in the same manner as when the second or subsequent IoT devices 2 are registered.
[0084] Furthermore, since the registration of the 61st IoT device 2-61, the number of registered devices has reached "60", which is the allowable number of devices to be registered, so the device registration unit 111 determines YES in ACT 108 and proceeds to ACT 114. As a result, as shown in Fig. 10, communication resources are added and the number of contracts becomes "2". As a result, from the registration of the 61st IoT device 2-61, the distribution time is calculated in the same manner as from the registration of the first IoT device 2-1 at the first contract.
[0085] Next, the job confirmation operation will be described. Fig. 11 is a flowchart of registration processing by the processor 21 of an IoT device. When the processor 21 is in a normal operating state, it executes the processing shown in this flowchart in parallel with processing related to the normal operation of the IoT device 2. Fig. 12 is a flowchart of job confirmation processing by the processor 11 of the equipment management server 1. When the processor 11 receives a job confirmation from any of the IoT devices 2 via the communication interface 14, it starts the processing shown in this flowchart.
[0086] As shown in FIG. 11, the job confirmation unit 212 implemented in the processor 21 of the IoT device 2 confirms the distribution time stored in the registration information table 231 and the current time kept by the clock 27 as ACT 201.
[0087] In ACT 202, the job confirmation unit 212 of the processor 21 confirms whether or not the current time is the timing to perform job confirmation based on the current time and the distributed time. If it is not the confirmation timing, the job confirmation unit 212 judges NO and returns to the above ACT 201. If it is the confirmation timing, the job confirmation unit 212 judges YES and proceeds to ACT 203.
[0088] As ACT 203, the job confirmation unit 212 of the processor 21 transmits a job confirmation to the device management server 1 via the communication interface 24. This job confirmation includes the authentication information stored in the registration information table 231, that is, the device ID and password.
[0089] In ACT 204, the job confirmation unit 212 of the processor 21 confirms whether or not a job has been received from the device management server 1 via the communication interface 24. If a job has been received, the job confirmation unit 212 judges YES and proceeds to ACT 205. If a job has not been received even after a certain period of time has elapsed, the job confirmation unit 212 judges NO and returns to the above ACT 201.
[0090] In the device management server 1, when the job confirmation is received, as shown in FIG. 12, the device registration unit 111 implemented in the processor 11 confirms whether or not the authentication is OK based on the authentication information, i.e., the device ID and password, included in the received job confirmation, as ACT121. Specifically, the device registration unit 111 confirms whether the received device ID and password match any of the device IDs and passwords in the device information records 1311 for each IoT device 2 stored in the device information database 131. If there is a match, the device registration unit 111 determines that the authentication is OK, and if there is no match, the device registration unit 111 determines that the authentication is NG. If the authentication is NG, the device registration unit 111 determines that the authentication is NO, and ends this job confirmation process. If the authentication is OK, the device registration unit 111 determines that the authentication is YES, and proceeds to ACT122.
[0091] In ACT 122, the processor 11 checks whether or not there is a job to be executed by the IoT device 2 that sent the job confirmation. If there is a job, the processor 11 judges YES and proceeds to ACT 123. If there is no job, the processor 11 judges NO and ends the job confirmation process shown in this flowchart.
[0092] In ACT123, the processor 11 transmits a job to the IoT device 2 that transmitted the job confirmation. Then, the processor 11 ends the job confirmation process shown in this flowchart.
[0093] When the job execution unit 213 implemented in the processor 21 of the IoT device 2 receives the job transmitted from the equipment management server 1 in this manner, the job execution unit 213 executes the received job in ACT 205. When the job is completed, the processor 21 returns to the above ACT 201.
[0094] In a configuration in which the device management server 1 is placed in a cloud environment using the Internet, a mechanism is required for distributing communication from the IoT devices 2 without concentration. Without such a mechanism, there is a possibility that inquiries will be concentrated and cannot be received. One method for solving this problem of not being able to receive is to prepare many communication resources for reception, but there is a problem that it is costly to prepare many communication resources. In addition, it is possible to create a mechanism for adjusting the polling start time and interval on the IoT device 2 side, but the initial settings are the same when shipped from the factory. These IoT devices 2 are based on time synchronization, and information will be generated at the same timing. To avoid this, it is possible to set it randomly when shipped from the factory, but there is a problem that it takes man-hours to set it.
[0095] According to the device management server 1 of this embodiment, when registering the IoT device 2 as a new device, the processor 11 calculates a distribution time indicating the time during which the new IoT device 2 should perform a job confirmation to the device management server 1 via the Internet Int, to be assigned to the new IoT device 2, based on the sustained processing time, which is the processing time required to process a job confirmation, which is a periodic inquiry from a predetermined number of devices indicated by the number of simultaneous connections. Then, the processor 11 includes the calculated distribution time in the registration information for the IoT device 2 as a new device, registers the new IoT device 2 in the device information database, and notifies the IoT device 2 of the registration information including the distribution time via the Internet Int. As a result, the IoT device 2 performs a job confirmation to the device management server 1 at a timing specified by the distribution time. Therefore, it is possible to distribute inquiries such as job confirmation from devices such as the IoT device 2 so as not to be concentrated, without incurring costs.
[0096] Regarding the calculation of the dispersion time, the processor 11 of the device management server 1 calculates the dispersion time based on the periodic connection interval, which is the time interval between periodic inquiries, and the sustained processing time, which is the processing time required to process the periodic inquiries. Therefore, it is possible to calculate an appropriate dispersion time according to the sustained processing time.
[0097] Regarding the calculation of the distribution time, the processor 11 of the device management server 1 starts the distribution time from "0 seconds" and calculates the value obtained by adding the sustained processing time to the previously calculated distribution time as the distribution time of the new IoT device 2. When the sustained processing time addition count, which is the number of times the sustained processing time is added to the distribution time, reaches the distribution coefficient, the processor 11 executes a process of resetting the distribution time to "0 seconds". Then, the processor 11 repeats such a process of calculating the distribution time a number of times equal to the number of simultaneous connections, which is a predetermined number of devices. When a new IoT device 2 is registered, if the distribution time is calculated to use the same distribution value as shown by hatching in FIG. 10, it is necessary to prepare a large number of communication resources. In contrast, in this embodiment, a new distribution time is calculated so that it becomes the distribution time of another distribution value. That is, the distribution value is calculated so that it is distributed within one communication resource. Therefore, it is not necessary to prepare a large number of communication resources from the beginning, and it is possible to distribute inquiries such as job confirmation from a large number of devices such as the IoT devices 2 without incurring a concentration without incurring a cost.
[0098] Furthermore, communication resources in the environment in which information processing is executed are managed by an external management device, which is a server that provides cloud services, and when the number of registered devices exceeds a predetermined number that is the allowable number of registered devices of the communication resources used by the device management server 1, the processor 11 of the device management server 1 automatically adds communication resources by requesting the external management device to add communication resources. Therefore, since communication resources are automatically added when they become necessary, when there is a device such as an IoT device 2 that needs to be registered, it is possible to register the device without considering the allowable number of registered devices, and it is possible to eliminate the risk of having to wait for registration of the device.
[0099] [Variations] The distributed time calculation process of ACT109 is not limited to the process shown in Fig. 9. Any process may be used as long as the distributed time of each IoT device 2 is distributed as shown in Fig. 10.
[0100] For example, the distribution time can be calculated by a calculation. In other words, when the number of simultaneous connections, which is a predetermined number, is A, the continuous processing time, which is the processing time required to process a job confirmation, which is a periodic inquiry, is B, the periodic connection interval, which is the time interval between job confirmations, is C, the number of registered devices is Z, and % is the arithmetic symbol for finding the remainder, the distribution time for a new IoT device 2 is calculated as follows: Dispersion time={(Z+1)%(C / B)-1}*A It can be calculated as follows.
[0101] However, if the calculated dispersion time is a negative value, the final dispersion time is calculated as the regular connection interval plus the dispersion time.
[0102] For example, when registering the first IoT device 2, IoT device 2-1, if the number of simultaneous connections A is 3, the continuous processing time B is 3, and the periodic connection interval C is 60, the number of registered devices Z is "0", so the distribution time is {(0+1)%(60 / 3)-1}*3={1%20-1}*3={1-1}*3=0, and the distribution time calculation unit 112 implemented in the computer calculates the distribution time to be "0 seconds".
[0103] When the second IoT device 2, IoT device 2-2, is registered, the number of registered devices Z becomes “1”, so the distribution time becomes {(1+1)%(60 / 3)-1}*3={2%20-1}*3={2-1}*3=3, and the distribution time calculation unit 112 calculates the distribution time as “3 seconds”.
[0104] In the same manner, the dispersion time can be calculated for each of the following units up to the 19th unit.
[0105] Then, when the 20th IoT device 2, IoT device 2-20, is registered, the number of registered devices Z becomes "19", so the distribution time becomes {(19+1)%(60 / 3)-1}*3={20%20-1}*3={0-1}*3=-3. When the distribution time becomes a negative value like this, the regular connection interval C is "60", so the distribution time calculation unit 112 calculates 60+(-3) and calculates the final distribution time as "57 seconds".
[0106] When the 21st IoT device 2, IoT device 2-21, is registered, the number of registered devices Z becomes “20”, so the distribution time becomes {(20+1)%(60 / 3)-1}*3={21%20-1}*3={1-1}*3=0, and the distribution time calculation unit 112 calculates the distribution time as “0 seconds”.
[0107] Similarly, the distribution times for each of the following IoT devices 2 up to the 60th IoT device 2-60 can be calculated.
[0108] Then, when the 61st IoT device 2, IoT device 2-61, is registered, as described in the first embodiment, communication resources have already been added in ACT 114, and the number of contracts is "2." Then, the number of registered devices Z becomes "60," so the distribution time becomes {(60+1)%(60 / 3)-1}*3={61%20-1}*3={1-1}*3=0, and the distribution time calculation unit 112 calculates the distribution time as "0 seconds."
[0109] In this way, even if the dispersion time is calculated by calculation, the same effects as in the first embodiment can be obtained.
[0110] When the distributed time is calculated by such a calculation, the sustained processing time addition count is not used, so there is no need to store the sustained processing time addition count in the setting value table 132, which also leads to a reduction in the amount of storage space used.
[0111] [Second embodiment] Next, a second embodiment will be described. Note that the same reference numerals as in the first embodiment are used for configurations and processes similar to those in the first embodiment, and descriptions thereof will be omitted.
[0112] 13 is a block diagram showing a main circuit configuration and a program outline of a device management server 1 as a device management apparatus according to the second embodiment. In this embodiment, the device management server 1 has a function of deregistering a registered IoT device 2. To achieve this, a part of the storage area of the auxiliary storage device 13 of the device management server 1 is used as a distributed time management table 133 in addition to a device information database 131 and a setting value table 132. The distributed time management table 133 stores the usage status of the time slots of each distributed value.
[0113] Fig. 14 is a diagram showing one configuration of this distributed time management table 133. The distributed time management table 133 stores the number of using devices and the number of remaining devices in association with a distribution value, which is an identification number of a time slot. The example in Fig. 14 shows a case where the number of simultaneous connections is "2000 devices / second" in the specific example given in the first embodiment. Therefore, if the number of using devices is "2000 devices", the number of remaining devices is "0 devices". If the number of using devices is "1999 devices", the number of remaining devices is "1 device", if the number of using devices is "1998 devices", the number of remaining devices is "2 devices", and so on.
[0114] 15 is a flowchart of a registration process by the processor 11 of the device management server 1 in the second embodiment. When the processor 11 receives a registration request from any one of the IoT devices 2 via the communication interface 14, the processor 11 starts the process shown in this flowchart.
[0115] In ACT 131 , the distribution time calculation unit 112 implemented in the processor 11 checks the number of surplus units for each distribution value in the distribution time management table 133 .
[0116] In ACT132, the distribution time calculation unit 112 of the processor 11 checks whether there are any surplus units. If there are any surplus units, the distribution time calculation unit 112 judges as YES and proceeds to ACT133. If there are no surplus units, the distribution time calculation unit 112 judges as NO and executes the processes from ACT101 to ACT115 similar to those in the first embodiment. Then, after completing the same process as ACT113, the process proceeds to ACT138.
[0117] As ACT133, the distribution time calculation unit 112 of the processor 11 determines a distribution time. Specifically, the distribution time calculation unit 112 determines the distribution time of a distribution value corresponding to one of the distribution values with a surplus number as the distribution value of the new IoT device 2. When there are a plurality of distribution values with a surplus number, there is no particular limitation as to which distribution time of the distribution value is adopted. For example, the distribution time of a distribution value with a small value may be adopted, the distribution time of a distribution value with a large surplus number may be adopted preferentially, or it may be determined completely randomly.
[0118] As ACT 134, the device registration unit 111 of the processor 11 sets a device ID and a password, similar to ACT 110 in the first embodiment.
[0119] As ACT 135, the device registration unit 111 of the processor 11 creates a new device information record 1311 having the set device ID in the device information database 131, and registers therein the set password and device number, and the distribution time determined in the above ACT 133. In this way, the processor 11 executes information processing based on the application program, and the computer with the processor 11 as its central part functions as a registration means that registers the new IoT device 2, which is a new device, by including the distribution time in the registration information for the new IoT device 2.
[0120] As ACT 136, the device registration unit 111 of the processor 11, like ACT 112 in the first embodiment, notifies the registration information including the device ID, password, and distribution time to the IoT device 2 to be registered via the communication interface 14. In this way, the processor 11 executes information processing based on the application program, and the computer with the processor 11 as its central part functions as a notification means for notifying the IoT device 2, which is a new device, of the distribution time via the Internet Int.
[0121] In ACT 137, the distribution time calculation unit 112 of the processor 11 updates the value of the registered number of devices set in the setting value table 132. Specifically, the distribution time calculation unit 112 increments the value of the registered number of devices set in the setting value table 132 by "1."
[0122] In ACT 138, the distribution time calculation unit 112 of the processor 11 updates the distribution time management table 133. Specifically, the distribution time calculation unit 112 increments the value of the number of used units in the distribution time management table 133 by "1" and decrements the value of the remaining number of units by "1", which correspond to the distribution value of the distribution time determined in ACT 133. Thereafter, the processor 11 ends the registration process shown in this flowchart.
[0123] 16 is a flowchart of deregistration processing by the processor 11 of the device management server 1 in the second embodiment. When the processor 11 receives a deregistration request from any of the IoT devices 2 via the communication interface 14, the processor 11 starts the processing shown in this flowchart.
[0124] As ACT 141, the distributed time calculation unit 112 of the processor 11 updates the distributed time management table 133. Specifically, the distributed time calculation unit 112 checks the distributed time for the IoT device 2 in question from the device information database 131, and decreases the value of the number of devices in use in the distributed time management table 133 that corresponds to the variance value of the distributed time by "1," and increases the value of the number of devices remaining by "1."
[0125] As ACT142, the distributed time calculation unit 112 of the processor 11 deletes the registration information for the IoT device 2 from the device information database 131. In this manner, the processor 11 executes information processing based on the application program, and the computer having the processor 11 as its central part functions as a cancellation means for canceling the registration of the IoT device 2, which is a registered device.
[0126] In ACT 143, the distribution time calculation unit 112 of the processor 11 updates the value of the registered number of devices set in the setting value table 132. Specifically, the distribution time calculation unit 112 decreases the value of the registered number of devices set in the setting value table 132 by "1". Thereafter, the processor 11 ends the deregistration process shown in this flowchart.
[0127] As described above, the device management server 1 as a device management apparatus according to the second embodiment has a cancellation means for canceling the registration of a registered IoT device 2. When registering a new IoT device 2, if there is any distributed time that has not been allocated to the IoT device 2 due to the cancellation of the registration, the distributed time is allocated to the newly registered IoT device 2. Therefore, in addition to the effect of the first embodiment, the effect of making it possible to use the available distributed time without waste is achieved.
[0128] Of course, the second embodiment can also be modified in the same manner as the first embodiment.
[0129] [Third embodiment] Next, a third embodiment will be described. Note that the same configurations and processes as those in the first embodiment are denoted by the same reference numerals as those in the first embodiment, and the description thereof will be omitted.
[0130] 17 is a flowchart of registration processing by the processor 11 of the device management server 1 as a device management device according to the third embodiment. In this embodiment, if the device registration unit 111 implemented in the processor 11 determines in ACT 108 that the number of registered devices has not reached the allowable number of registered devices, the process proceeds to ACT 151. If the device registration unit 111 determines that the number of registered devices has reached the allowable number of registered devices, the process proceeds to ACT 153.
[0131] In ACT151, the distribution time calculation unit 112 of the processor 11 confirms whether or not it is necessary to propose the addition of communication resources to the administrator of the device management server 1. That is, it confirms whether or not the number of registered devices has not yet reached the allowable number of registered devices, but will reach that number soon. Specifically, the distribution time calculation unit 112 confirms whether or not the difference between the number of registered devices and the allowable number of registered devices is within a predetermined threshold number. If an additional proposal is necessary, the distribution time calculation unit 112 judges YES and proceeds to ACT152. On the other hand, if an additional proposal is not necessary, the distribution time calculation unit 112 judges NO and proceeds to the above ACT109.
[0132] As ACT152, the distribution time calculation unit 112 of the processor 11 proposes the addition of communication resources to the administrator. Specifically, the distribution time calculation unit 112 displays the proposed content in a pop-up display on the display device of the input / output unit 15 or the display unit of the information processing device that manages the device management server 1 via the Internet Int through the communication interface 14, or sends an e-mail containing the proposed content to the pre-registered e-mail address of the administrator through the communication interface 14. Thereafter, the distribution time calculation unit 112 proceeds to the above ACT109. Thus, by the processor 11 executing information processing based on the application program, the computer with the processor 11 as its core portion functions as a proposal means that proposes the addition of communication resources when the number of registered devices becomes smaller than the allowable number of registered devices of the communication resources used by the device management server 1 by a predetermined threshold number, that is, when the number of registered devices exceeds a predetermined number.
[0133] In ACT153, the distributed time calculation unit 112 of the processor 11 notifies the IoT device 2 to be registered via the communication interface 14 that registration is not possible because the allowable number of registrations has been reached.
[0134] As ACT154, the distribution time calculation unit 112 of the processor 11 requests the administrator to add communication resources via the communication interface 14. Specifically, the distribution time calculation unit 112 displays the request content in a pop-up on the display device of the input / output unit 15 or on the display unit of the information processing device that manages the device management server 1 via the Internet Int via the communication interface 14, or sends an e-mail containing the request content to a pre-registered e-mail address of the administrator via the communication interface 14. Thereafter, the processor 11 ends the registration process shown in this flowchart.
[0135] As described above, according to the device management server 1, when registering a new device, that is, an IoT device 2, if the number of registered devices becomes smaller than the allowable number of registered devices of the communication resources used by the device management server 1 by a predetermined threshold number, that is, if the number of registered devices exceeds a predetermined number, the processor 11 proposes adding communication resources. Therefore, communication resources are not automatically added as in the first and second embodiments, and the user can decide whether or not to add communication resources depending on the cost to be incurred.
[0136] Except for this point, the third embodiment can provide the same effects as the first embodiment. Of course, the third embodiment can also apply modifications similar to those of the first embodiment, as well as the deregistration of registered IoT devices 2 and the allocation of free distributed time as in the second embodiment.
[0137] [Fourth embodiment] Next, a fourth embodiment will be described. Note that the same reference numerals as in the first embodiment are used for the same configurations and processes as in the first embodiment, and the description thereof will be omitted.
[0138] Fig. 18 is a flowchart of a distribution time calculation process in a registration process by the processor 11 of the device management server 1 as a device management device according to the fourth embodiment. Fig. 19 is a schematic diagram for explaining a method of allocating a distribution time to an IoT device 2 in the fourth embodiment. Note that, in the specific example shown in Fig. 19, like the example in Fig. 10, the number of simultaneous connections is "3 devices / second", the continuous processing time is "3 seconds", and the periodic connection interval is "60 seconds".
[0139] The processes in ACT1091 to ACT1095 are the same as those in the first embodiment. In this embodiment, the dispersion time calculation unit 112 implemented in the processor 11 proceeds to ACT1099 following ACT1095.
[0140] In ACT 1099, the distribution time calculation unit 112 of the processor 11 calculates a value by dividing the number of registered devices read in ACT 107 by the number of simultaneous connections read in ACT 101.
[0141] In ACT 10910, the distribution time calculation unit 112 of the processor 11 checks whether or not there is a remainder in the result of the calculation in ACT 1099. If there is no remainder, the distribution time calculation unit 112 judges NO and proceeds to ACT 1098. If there is a remainder, the distribution time calculation unit 112 judges YES and proceeds to ACT 10911.
[0142] In ACT1098, as described in the first embodiment, the distribution time calculation unit 112 of the processor 11 checks whether the sustained processing time addition count is equal to or greater than the distribution coefficient. If the sustained processing time addition count is equal to or greater than the distribution coefficient, the distribution time calculation unit 112 judges YES, and in this embodiment, proceeds to ACT1093, executes the processes of ACT1093 and ACT1094, and then ends the distribution time calculation process. If the sustained processing time addition count is not equal to or greater than the distribution coefficient, the distribution time calculation unit 112 judges NO, and in this embodiment, proceeds to ACT1096, executes the processes of ACT1096 and ACT1097, and then ends the distribution time calculation process.
[0143] In ACT 10911, the distribution time calculation unit 112 of the processor 11 sets the final distribution time read out in the above ACT 1095 as the distribution time. After that, the processor 11 ends this distribution time calculation process.
[0144] For example, when the first IoT device 2, that is, the IoT device 2-1, is registered, the dispersion time calculation unit 112 proceeds from ACT1092 to ACT1093, and therefore sets the dispersion time to "0 seconds" as shown in FIG.
[0145] When the second IoT device 2, IoT device 2-2, is registered, the number of registered devices is "0" and the number of simultaneous connections is "3", so the remainder is "1". Therefore, the distribution time calculation unit 112 proceeds from ACT10910 to ACT10911, and sets the final distribution time to the distribution time of IoT device 2-2. Since the final distribution time is the distribution time of IoT device 2-1, as shown in FIG. 19, the distribution time of IoT device 2-2 becomes "0 seconds", the same as that of IoT device 2-1. Similarly, the distribution time of IoT device 2-3, the third IoT device 2, becomes "0 seconds", the same as that of the second IoT device 2-1.
[0146] When the fourth IoT device 2, the IoT device 2-1, is registered, the number of registered devices is "3" and the number of simultaneous connections is "3", so the remainder is "0". Then, the sustained processing time addition count is "0" and the distribution coefficient is "20", so the distribution time calculation unit 112 proceeds from ACT 10910 to ACT 1098 and ACT 1096. In ACT 1096, the final distribution time is "0 seconds" and the sustained processing time is "3 seconds", so the distribution time calculation unit 112 sets the distribution time of the fourth IoT device 2-4 to "3 seconds" as shown in FIG. 19. In this case, in ACT 1097, the distribution time calculation unit 112 updates the sustained processing time addition count to "1".
[0147] When registering the fifth IoT device 2, the IoT device 2-5, the number of registered devices is "4" and the number of simultaneous connections is "3", so the remainder is "1". Therefore, the distribution time calculation unit 112 proceeds from ACT 10910 to ACT 10911, and sets the final distribution time to the distribution time of the IoT device 2-2. Since the final distribution time is the distribution time of the IoT device 2-4, as shown in Fig. 19, the distribution time of the IoT device 2-5 becomes "3 seconds", the same as that of the IoT device 2-4.
[0148] Similarly, further IoT devices can be registered up to IoT device 2-60, which is the 60th IoT device 2.
[0149] Then, when the 61st IoT device 2, IoT device 2-61, is registered, the number of registered devices is "60" and the number of simultaneous connections is "3", so the remainder is "0". In this case, as described in the first embodiment, communication resources have already been added in ACT114, and the number of contracts is "2". Then, since the number of sustained processing time additions is "20" and the distribution coefficient is "20", the distribution time calculation unit 112 proceeds from ACT10910 to ACT1098 and ACT1093, so that the distribution time becomes "0 seconds" again, as shown in FIG.
[0150] Thus, by the processor 11 executing information processing based on an application program, the computer with the processor 11 as its central part functions as a calculation means for calculating a distribution time indicating the time when the new IoT device 2 should make a periodic inquiry, which is a job confirmation, to the device management server 1 via the Internet Int, to be assigned to the new IoT device 2 when registering the new device, which is an IoT device 2, based on the sustained processing time, which is the processing time required to process periodic inquiries from a predetermined number of devices indicated by the number of simultaneous connections.
[0151] As described above, according to the device management server 1, when the processor 11 registers a new device, the IoT device 2, the distribution coefficient is set to a value obtained by dividing the periodic connection interval, which is the time interval for job confirmation as a periodic inquiry, by the sustained processing time, which is the processing time required to process the job confirmation. The distribution time starts from "0" and is allocated to the number of simultaneous connections, which is a predetermined number of devices. Then, when the distribution time at that time is allocated to this predetermined number of devices, the processor 11 updates the distribution time at that time by adding the sustained processing time to the distribution time at that time, and when the number of times the sustained processing time has been added reaches the distribution coefficient, the distribution time is returned to "0". This makes it possible to calculate the distribution value so that it is distributed within one communication resource, so that there is no need to prepare many communication resources from the beginning, and it is possible to distribute inquiries such as job confirmation from many devices such as the IoT device 2 so as not to be concentrated, without incurring costs.
[0152] Of course, in this fourth embodiment, the deregistration of a registered IoT device 2 and the allocation of free distributed time as in the second embodiment, and the proposal to add communication resources as in the third embodiment can also be applied.
[0153] The above-described embodiment can be modified in various ways as follows.
[0154] For example, in the embodiment, the processor 11 of the device management server 1 registers or deregisters the IoT device 2 independently of the job confirmation process, but the registration or deregistration of the IoT device 2 may be performed within the job confirmation process. For example, when the processor 11 of the device management server 1 receives a job confirmation from an unregistered IoT device 2, the processor 11 may execute a registration operation with the IoT device 2. In this case, the processor 11 may proceed to the calculation operation of the dispersion time after confirming whether or not to register the IoT device 2.
[0155] Furthermore, the flow of the information processing performed by the processor 11 of the device management server 1 described above is an example, and is not limited to this order. For example, ACT101, ACT102, and ACT103 in the flowchart of Fig. 8 do not have to be in this order. Furthermore, ACT101 to ACT103 may be performed in parallel. In this way, the order of the processing may be changed or multiple processing may be performed in parallel, as long as there is no discrepancy with the preceding or subsequent processing.
[0156] In the above embodiment, the programs are stored in advance in the main memory 12 or the auxiliary storage device 13 of the device management server 1. In this regard, the programs transferred separately from the device management server 1 may be written to a writable storage device provided in the device management server 1 in response to an operation by an administrator or the like. The transfer of these programs and the like can be performed by storing them in a removable computer-readable storage medium or by communication via a network. The form of the computer-readable storage medium is not important as long as it can store the programs and can be read by the device, such as a CD-ROM or a memory card.
[0157] Although several other embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]
[0158] 1...device management server, 2,2-1,2-2,2-3,2-n...IoT device, 11,21...processor, 12,22...main memory, 13,23...auxiliary storage device, 14,24...communication interface, 15,25...input / output unit, 16,28...transmission path, 26...sensor unit, 27...clock, 111...device registration unit, 112...distributed time calculation unit, 113...device communication control unit, 131...device information database, 1311...device information record, 132...setting value table, 133...distributed time management table, 211...registration unit, 212...job confirmation unit, 213...job execution unit, 231...registration information table, Int...Internet.
Claims
1. A device management device that manages a plurality of registered devices via a network, a calculation means for calculating a distribution time, which indicates a time during which the new device should make a periodic inquiry to the device management device via the network, to be assigned to the new device based on a processing time required to process periodic inquiries from a predetermined number of devices when the new device is to be registered; a registration means for registering the new device by including the distribution time in registration information about the new device; a notification means for notifying the new device of the distribution time via the network; An equipment management device comprising:
2. the calculation means calculates the dispersion time based on a periodic connection interval, which is a time interval between the periodic inquiries, and a sustained processing time, which is a processing time required to process the periodic inquiries. The device management device according to claim 1 .
3. When the calculation means determines a distribution coefficient by dividing a periodic connection interval, which is a time interval between the periodic inquiries, by a sustained processing time, which is a processing time required to process the periodic inquiries, The dispersion time is started from 0, and the value obtained by adding the continuous processing time to the previously calculated dispersion time is calculated as the dispersion time of the new device. When the number of times that the continuous processing time B is added to the dispersion time reaches the dispersion coefficient, the dispersion time is reset to 0. This is repeated a number of times equal to the number of simultaneous connections, which is the predetermined number of devices. The device management device according to claim 2 .
4. When the calculation means determines a distribution coefficient by dividing a periodic connection interval, which is a time interval between the periodic inquiries, by a sustained processing time, which is a processing time required to process the periodic inquiries, The distribution time is started from 0, and the distribution time at that time is assigned to the predetermined number of devices; When the predetermined number of devices have been assigned the current distribution time, the current distribution time is updated by adding the continuous processing time to the current distribution time; When the number of times the continuous processing time B is added reaches the distribution coefficient, the distribution time is reset to 0. The device management device according to claim 2.
5. The calculation means is Let A be the number of simultaneous connections, which is the predetermined number of devices; B be the sustained processing time, which is the processing time required to process the periodic inquiry; C be the periodic connection interval, which is the time interval between the periodic inquiries; Z be the number of registered devices; and % be the arithmetic symbol for finding the remainder. Then, the distribution time for the new device is expressed as follows: Dispersion time = {(Z+1)%(C / B)-1}*A Calculated by If the calculated dispersion time is a negative value, the regular connection interval plus the dispersion time is calculated as the final dispersion time. The device management device according to claim 1 .
6. The device further includes a canceling unit for canceling the registration of the registered device, the calculation means, when registering the new device, if there is any of the distributed time that has not been assigned to the device due to the cancellation of the registration, assigns the distributed time to the new device.
5. The device management apparatus according to claim 1.
7. A communication resource of an environment in which information processing is executed is managed by an external management device; and a requesting unit for requesting the external management device to add the communication resources when the number of registered devices exceeds a predetermined number. The device management device according to claim 1 .
8. A communication resource of an environment in which information processing is executed is managed by an external management device; and a suggestion means for suggesting the addition of communication resources when the number of registered devices exceeds a predetermined number. The device management device according to claim 1 .
9. A computer including a processor and a memory, and controlling an equipment management device that manages a plurality of registered equipment via a network, a calculation means for calculating a distribution time indicating a time during which the new device should make a periodic inquiry to the device management device via the network, the distribution time being assigned to the new device based on a processing time required to process periodic inquiries from a predetermined number of devices when the new device is to be registered; a registration means for registering the new device by including the distribution time in registration information about the new device; a notification means for notifying the new device of the distribution time via the network; A program to function as a
Citation Information
Patent Citations
Remote control system, polling control method, and program
JP2011166626A
Data center resource distribution system and data center resource distribution method
JP2015156168A
Plan presenting program, plan presenting method, and information processing device
JP2020030604A
Improvement proposal presentation method and improvement proposal presentation program
JP2022135352A
Communication apparatus, control method of the same, and control program
JP2017046071A