WO2021024348A1 - IoTデバイス管理装置、IoTデバイス管理方法及びプログラム - Google Patents

IoTデバイス管理装置、IoTデバイス管理方法及びプログラム Download PDF

Info

Publication number
WO2021024348A1
WO2021024348A1 PCT/JP2019/030684 JP2019030684W WO2021024348A1 WO 2021024348 A1 WO2021024348 A1 WO 2021024348A1 JP 2019030684 W JP2019030684 W JP 2019030684W WO 2021024348 A1 WO2021024348 A1 WO 2021024348A1
Authority
WO
WIPO (PCT)
Prior art keywords
iot device
information
iot
camera
compute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2019/030684
Other languages
English (en)
French (fr)
Inventor
操 片岡
博史 野口
貴之 秋山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to US17/630,255 priority Critical patent/US11863371B2/en
Priority to PCT/JP2019/030684 priority patent/WO2021024348A1/ja
Priority to JP2021538563A priority patent/JP7215583B2/ja
Publication of WO2021024348A1 publication Critical patent/WO2021024348A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the present invention acquires information from IoT (Internet of Things) devices such as information devices, industrial devices, automobiles, and home appliances that are equipped with sensors and communication functions and are connected via a network, and analyzes the acquired information.
  • IoT Internet of Things
  • the present invention relates to an IoT device management device that controls an application, an IoT device management method, and a program.
  • FIG. 12 shows a configuration of an IoT device management system that performs such processing.
  • three cameras 11, 12, and 13 are arranged in the first area 21 in the shopping center, and two cameras 14, 15 are arranged in the second area 22. ..
  • the first application 11A that processes the shooting data of the camera 11, the second application 12A that processes the shooting data of the camera 12, and the third application 13A that processes the shooting data of the camera 13 are mounted on and associated with one compute 31.
  • the fourth application 14A that processes the shooting data of the camera 14 and the fifth application 15A that processes the shooting data of the camera 15 are mounted on another compute 32 and associated with each other.
  • the compute is a computer that constitutes a virtual machine such as a virtual server in association with an application.
  • an application is a concept including a virtual machine.
  • the camera 11 in the first area 21 photographs the adult male 23, the female 24, the female 25, the other female 26, and various items 26a in the shopping cart.
  • the camera 12 photographs the woman 26 and various items 26b. It is assumed that the camera 13 is photographing the woman 26 and various items 26c.
  • the camera 14 in the second area 22 photographs the adult woman 27 and various items 27a in the shopping bag
  • the camera 15 photographs the adult woman 27 and various items 27a.
  • a plurality of cameras 11 to 15 as IoT devices are arranged in each area 21 and 22, and for example, shooting data of a plurality of cameras 11 to 13 arranged in the first area 21 can be obtained.
  • a plurality of applications 11A to 13A to be analyzed are associated with the same compute 31.
  • one compute 31 fails as indicated by x, all of the plurality of applications 11A to 13A associated with the compute 31 cannot be processed. For this reason, it becomes impossible to acquire shooting information such as a person or a purchased item in the area 21 in which the cameras 11 to 13 related to the applications 11A to 13A that cannot be processed are arranged, and the availability is lowered. That is, there arises a problem that the availability of continuously performing predetermined processing such as analysis of information obtained from the IoT device is lowered.
  • the present invention has been made in view of such circumstances, and an object of the present invention is to prevent a decrease in availability of continuing a predetermined process of information acquired from an IoT device in the event of a compute failure.
  • the IoT device management device of the present invention is an application associated with a compute so as to configure a virtual machine, and performs predetermined processing on information acquired from an IoT (Internet of Things) device. Judgment is made by receiving the result of the operation and determining that the higher the degree of matching of the acquired information from the plurality of IoT devices as the received result, the higher the locality indicating the proximity of the arrangement position of the IoT device.
  • a locality calculation unit that calculates the resulting locality information, and a control that extracts a pair of highly local IoT devices from the locality information and associates the application related to the extracted pair of IoT devices with different computes. It is characterized by including a control unit for performing the above.
  • FIG. 1 It is a figure which shows the structure of the IoT device management system which comprises the IoT device management apparatus which concerns on embodiment of this invention. It is a block diagram which shows the structure of the IoT device management apparatus which concerns on embodiment of this invention. It is a figure for demonstrating the method of prioritizing each camera by the IoT device management apparatus of this embodiment. It is a figure for demonstrating the operation at the time of setting the priority as the application which covers a large amount of information by the IoT device management apparatus of this embodiment. It is a figure for demonstrating the operation with the score which shows the priority and locality to each camera by the IoT device management apparatus of this embodiment.
  • FIG. 1 is a diagram showing a configuration of an IoT device management system including an IoT device management device according to an embodiment of the present invention.
  • the IoT device management system (also referred to as a system) 10A shown in FIG. 1 differs from the conventional system 10 (FIG. 12) in that it includes an IoT device management device (also referred to as a management device) 40.
  • the management device 40 is connected to a plurality of cameras 11 to 15, a plurality of applications (applications) 11A to 15A, and a plurality of computes 31 and 32. As will be described later, the management device 40 performs prioritization processing of cameras 11 to 15 which are IoT devices, distributed arrangement processing and restoration (healing) of applications 11A to 15A in the event of a failure of cameras 11 to 15 or computes 31 and 32. (Also called) processing is performed.
  • the management device 40 includes an application control unit 41 and a failure detection unit 42.
  • the application control unit 41 includes a locality calculation unit 44, a priority calculation unit 45, a first DB (DataBase) 46, a second DB 47, and an application generation / recovery control unit 48.
  • the application generation / recovery control unit 48 constitutes the control unit described in the claims.
  • the priority calculation unit 45 prioritizes each camera 11 to 15 in the order of obtaining various types of shooting data (acquired information).
  • the applications 11A to 15A perform a process of analyzing the type of a person or an item in each shooting data.
  • the priority calculation unit 45 prioritizes the cameras 11 to 15 according to the number of types of data after the processing.
  • Cameras 11 to 13 are arranged in the first area 21, and the shooting data 11D of the camera 11 is a woman 26 in her thirties dressed in pink and various types in the shopping cart. Includes “Woman 1: Pink clothes, 30s, canned food, milk, cart” as information representing the item 26a. Furthermore, the shooting data 11D is used as information representing one man 23 in his thirties dressed in green and two women 24, 25, etc., who have a shopping bag containing the purchased beer (not shown). "Men 1: Green clothes, 30s, beer, women 2: ## is included.
  • the shooting data 12D of the camera 12 shows "Woman 1: Pink clothes, 30s, canned food," as information representing one woman 26 in her thirties wearing pink clothes and various items 26b in the shopping cart. Contains “milk, eggs, carts”.
  • the shooting data 13D of the camera 13 is "Woman 1: Pink clothes, 30s, canned food," as information representing one woman 26 in her thirties wearing pink clothes and various items 26c in the shopping cart. Includes “cart”.
  • Cameras 14 and 15 are arranged in the second area 22, and the shooting data 14D of the camera 14 is contained in a woman 27 in her thirties wearing an apron and a shopping bag held by this woman 27. It includes "female 1: apron, 30s, bread" as information representing various items 27a.
  • the shooting data 15D of the camera 15 is "Woman 1:" as information representing one woman 27 in her 30s wearing an apron and various items 27a in the shopping bag held by this woman 27. Includes “apron, 30s, bread”.
  • the priority calculation unit 45 prioritizes the cameras 11 to 15 based on the above-mentioned shooting data 11D to 15D.
  • the first priority is the camera 11 from which the most information can be obtained. As described above, since the shooting data 11D of the camera 11 contains the most information, the camera 11 is set as the priority / first place (P1).
  • the priority / second place is the camera that can obtain the most information except for the duplicated data with the first place (P1).
  • the shooting data 12D of the camera 12 is only "egg" except for the overlapping data with the shooting data 11D of the first-ranked camera 11, and the shooting data 13D of the camera 13 is "0". Therefore, since the amount of information of the shooting data 14D or 15D of the camera 14 or 15 separated from the camera 11 is the second largest, for example, the priority of the camera 14 is set to the second place (P2). However, since the amount of information of the shooting data 14D and 15D of the cameras 14 and 15 is the same, any one of them is randomly placed in the second place.
  • Priority ⁇ 3rd place is a camera with a large amount of remaining information excluding duplicate data of 1st and 2nd place. That is, the camera 12 has a priority of 3rd place (P3). By the same processing, the camera 13 has a priority of 4th place (P4), and the camera 15 has a priority of 5th place (P5). In this way, the priority calculation unit 45 determines the priority of the cameras 11 to 15, and stores and stores the priority information in the second DB 47 (FIG. 2).
  • the priority calculation unit 45 periodically receives and updates the shooting data 11D to 15D of each camera 11 to 15.
  • the performance level (app performance level) and resource allocation amount of the apps 11A to 15A may be changed according to the priority.
  • the resource allocation amount is increased for the corresponding apps 11A to 15A in descending order of priority of the cameras 11 to 15, and the app performance level is raised.
  • the camera 11 (P1) application 11A, the camera 14 (P2) application 14A, the camera 12 (P3) application 13A, the camera 13 (P4) application 14A, and the camera 15 (P5) application 15A In this order, increase the resource allocation amount to increase the application performance level.
  • the priority may be higher for an application that can cover a large amount of information.
  • the apps 11A and 14A shown by the solid line have the largest resource allocation and detailed analysis is possible, and the apps 12A shown by the broken line have the second largest resource allocation and can be analyzed at the standard level.
  • the apps 15A and 13A shown by the alternate long and short dash line have the third largest resource allocation and enable simple analysis.
  • Such apps 11A and 14A are associated with the compute 31, apps 12A and 15A are associated with the compute 32, and the apps 13A are associated with the compute 33.
  • control unit 48 may prevent the cameras (for example, cameras 13 and 15) whose priorities are lower than the predetermined priorities from being analyzed by the applications 13A and 15A. .. By this processing, the processing load of the system 10A can be reduced.
  • the locality calculation unit 44 shown in FIG. 2 calculates the locality of the cameras 11 to 15.
  • This locality is an index indicating whether or not a plurality of (for example, two) cameras are arranged close to each other, and if the locality is high, it indicates that the two cameras are arranged closer to each other. ..
  • the locality calculation unit 44 When calculating this locality, the locality calculation unit 44 obtains a degree of coincidence indicating the degree of coincidence of the shooting data 14D and 15D of a plurality of cameras, for example, two cameras 14 and 15, and the higher the degree of coincidence, the more local. It is judged that the sex is high. For example, since the matching degrees of the shooting data 14D and 15D of the two cameras 14 and 15 are completely the same, the locality calculation unit 44 determines that the locality of the cameras 14 and 15 is the highest, and this determination is made. Calculate locality information that reflects the results. This locality information is stored in the first DB 46.
  • the control unit 48 obtains a pair of cameras with high locality from the locality information stored in the first DB 46, and controls the pair of cameras so as to be associated with different computes 31 and 32 as much as possible by anti-affinity. For example, among the cameras 11, 12, and 13 arranged in the first area 21, the camera 12 and the camera 13 have a high degree of coincidence and a high degree of locality, so that the control unit 48 has one of them, as shown in FIG. Control is performed so that the camera 12 is associated with the compute 32 and the other camera 13 is associated with the other compute 33.
  • the priority scoring will be explained by taking as an example a service for checking the purchase information of shoppers.
  • a test trial is performed periodically, and the relationship between the priority score of each camera and the locality between each camera is obtained from the data of the past fixed period by this test.
  • This locality relationship is obtained as follows from the degree of agreement of the information that a person with high identity per unit time purchases an article between a pair of cameras.
  • the number of information obtained from the shooting data 14D of the camera 14 shown in FIG. 5 is "5" of "bread, carrot, radish, cabbage, tomato”. It is assumed that the number of information obtained by the shooting data 15D of the camera 15 is “3" of “bread, carrot, green onion”. In this case, the number of matching information between the cameras 14 and 15 is “2" of "bread, carrot”.
  • the control unit 48 obtains the correlation coefficient (locality information) of the shooting information of both cameras 14 and 15 from the following equation (1).
  • the correlation coefficient is "1" because the numerator / denominator of the equation (1) is the same.
  • this correlation coefficient "1” the camera 14 and the camera 15 are associated with different computes 31 and 32 under the control of the control unit 48, so that even if one camera 14 fails, the other camera 15 Can be supplemented.
  • the control unit 48 makes the camera 14 and the camera 15 associate with different computes 31 and 32 as the correlation coefficient exceeds 0.5.
  • the failure detection unit 42 detects a failure of the cameras 11 to 15 or the computes 31 and 32 and notifies the control unit 48.
  • the control unit 48 that receives this failure from the failure detection unit 42 (FIG. 2) ranks the camera 15 that covers the same shooting information as the failure camera 14 from the fifth place (P5) to the same order as the failure camera 14. Move up to the rank (P2).
  • the application 15A associated with the compute 32 is a solid line application 15A having the largest resource allocation amount and capable of detailed analysis, as shown by the arrow Y1.
  • the camera 15 can obtain the same shooting information as the failed camera 14. It should be noted that this process is a temporary measure, and after that, the prioritization is performed regularly to obtain the correct priority.
  • the control unit 48 may associate the camera 14 and the camera 15 with the same compute 32 or with different computes 31 and 32 as the correlation coefficient is 0.5 or less.
  • control unit 48 shown in FIG. 2 obtains the priority score of each camera 11 to 15.
  • the priority score indicates the number of purchase information of the shopper obtained per unit time from the image information of the camera.
  • the control unit 48 sets the priority score of the camera 14 to "5" for "bread, carrot, radish, cabbage, tomato” and the priority score of the camera 15 to "green onion” according to the above-mentioned prioritization method. "1" is calculated.
  • the control unit 48 refers to the priority information of the second DB 47 when healing the applications 11A and 14A associated with the failure.
  • the applications 11A and 14A having the highest priority of the cameras 11 and 14 are performed in order.
  • the app 11A of the camera 11 having the highest priority is associated with the compute 32 as shown by the arrow Y2
  • the app 14A of the camera 14 having the second highest priority is shown by the arrow Y3.
  • Compute 33 Corresponds to Compute 33. This association is reflected in the priority information of the second DB 47.
  • the control unit 48 when a camera having a higher priority (for example, a camera 11) among the cameras 11 to 13 associated with the same compute 31 fails, the control unit 48 has a higher priority than the failed camera.
  • the priority of normal cameras 12 and 13 having a low value is sequentially increased. This advance is reflected in the priority information of the second DB 47. By moving up the priority, it is possible to cover the shooting data that should have been obtained from the failed camera 11. Further, when the failed camera 11 is restored after the priority is advanced, the control unit 48 re-prioritizes all the cameras 11 to 15 including the restored camera 11.
  • FIG. 8 is a hardware configuration diagram showing an example of a computer 100 that realizes the functions of the management device 40.
  • the computer 100 includes a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, an HDD (Hard Disk Drive) 104, an input / output I / F (Inter Face) 105, and a communication I / It has F106 and media I / F107.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • HDD Hard Disk Drive
  • the CPU 101 operates based on the program stored in the ROM 102 or the HDD 104, and controls each functional unit.
  • the ROM 102 stores a boot program executed by the CPU 101 when the computer 100 is started, a program related to the hardware of the computer 100, and the like.
  • the CPU 101 controls an output device 111 such as a printer or a display and an input device 110 such as a mouse or a keyboard via the input / output I / F 105.
  • the CPU 101 acquires data from the input device 110 or outputs the generated data to the output device 111 via the input / output I / F 105.
  • the HDD 104 stores a program executed by the CPU 101, data used by the program, and the like.
  • the communication I / F 106 receives data from another device (not shown) via the communication network 112 and outputs the data to the CPU 101, and transmits the data generated by the CPU 101 to the other device via the communication network 112. ..
  • the media I / F 107 reads the program or data stored in the recording medium 113 and outputs the program or data to the CPU 101 via the RAM 103.
  • the CPU 101 loads the program related to the target processing from the recording medium 113 onto the RAM 103 via the media I / F 107, and executes the loaded program.
  • the recording medium 113 includes an optical recording medium such as a DVD (Digital Versatile Disc) and a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto Optical disk), a magnetic recording medium, a conductor memory tape medium, a semiconductor memory, and the like. Is.
  • the CPU 101 realizes the function of the management device 40 by executing the program loaded on the RAM 103. Further, the data in the RAM 103 is stored in the HDD 104. The CPU 101 reads a program related to the target process from the recording medium 113 and executes it. In addition, the CPU 101 may read a program related to the target processing from another device via the communication network 112.
  • the apps 11A to 15A corresponding to the cameras 11 to 15 are tentatively associated with the computes 31 and 32.
  • step S1 shown in FIG. 9 the shooting data 11D to 15D of the cameras 11 to 13 arranged in the first area 21 and the cameras 14 and 15 arranged in the second area 22 in the shopping center are applied to the applications 11A to. Analyze at 15A.
  • various information such as people and purchased items of the shooting data 11D to 15D shown in FIG. 3 is obtained and output to the locality calculation unit 44 and the priority calculation unit 45 of the application control unit 41 of the management device 40. ..
  • step S2 the locality calculation unit 44 derives the locality of the cameras 11 to 15 from various information of the input shooting data 11D to 15D as follows. That is, the locality calculation unit 44 obtains the degree of coincidence of each of the shooting data 11D to 15D by, for example, a correlation coefficient, and determines that the higher the degree of coincidence, the higher the locality.
  • the locality calculation unit 44 determines that the locality of the cameras 14 and 15 is the highest.
  • the locality calculation unit 44 determines that the cameras 12 and 13 are highly local, and then the camera 11 is highly local to the cameras 12 and 13.
  • the locality calculation unit 44 stores the locality information reflecting the determination result in the first DB 46.
  • the priority calculation unit 45 determines the priority of the cameras 11 to 15 according to the number of types of input shooting data 11D to 15D as follows. That is, as shown in FIG. 3, the priority calculation unit 45 sets the camera 11 as the priority / first place (P1) because the shooting data 11D of the camera 11 contains the most information.
  • the priority calculation unit 45 sets the camera 14 from which the most information can be obtained except for the overlapping data with the first place as the second place (P2).
  • the priority calculation unit 45 sets the camera 12 having a large amount of remaining information excluding the duplicate data of the 1st and 2nd places as the priority / 3rd place (P3), and performs the same processing to prioritize the camera 13. ⁇ 4th place (P4) and camera 15 are prioritized ⁇ 5th place (P5).
  • step S4 the control unit 48 shown in FIG. 2 determines the computes 31 and 32 and the resource allocation amount associated with the applications 11A to 15A that handle the shooting data 11D to 15D of the cameras 11 to 15 as follows. ..
  • the control unit 48 obtains a pair of cameras with high locality from the locality information stored in the first DB 46, and uses anti-affinity to obtain another pair of cameras, Compute 31, 32, 33 (FIG. 4). ) Is determined. For example, among the cameras 11, 12, and 13 arranged in the first area 21, the camera 12 and the camera 13 have a high degree of coincidence and a high degree of locality, so that the control unit 48 has one of them, as shown in FIG. A decision is made to associate the camera 12 with the compute 32 and the other camera 13 with the other compute 33.
  • control unit 48 determines the resource allocation amount of the applications 11A to 15A from the priority information of the cameras 11 to 15 stored in the second DB 47 as follows. For example, the control unit 48 increases the resource allocation amount for the corresponding apps 11A to 15A in descending order of priority of the cameras 11 to 15, and raises the application performance level. This is because the app 11A and 14A shown by the solid line in FIG. 4 have the largest resource allocation amount, the application 12A shown by the broken line has the second largest resource allocation amount, and the apps 15A and 13A shown by the alternate long and short dash line have 3 Decide to increase the resource allocation second.
  • step S5 the control unit 48 generates controls 11A to 15A with the resource allocation amount determined in step S4, and controls the generated apps 11A to 15A to be associated with the compute 31, 32, 33.
  • the apps 11A and 14A having the largest resource allocation amount are associated with the compute 31, the application 12A having the second largest resource allocation amount and the application 15A having the third largest resource allocation amount. Is associated with the compute 32, and the application 13A having the third largest resource allocation amount is associated with the compute 33.
  • step S11 it is assumed that the control unit 48 receives the failure notification of the compute 31 shown in FIG. 7 from the failure detection unit 42.
  • step S12 the control unit 48 determines the healing destination of the applications 11A and 14A on the failed compute 31. This decision is made so that the apps 11A, 14A are distributed among the normal computes 32, 33.
  • step S13 the control unit 48 determines the healing order of the apps 11A to 15A based on the priority order of the cameras 11 to 15 determined in step S3 described above. That is, the control unit 48 determines that the application 11A of the camera 11 having the highest priority among the applications 11A and 14A associated with the faulty compute 31 is associated with the compute 32 as shown by the arrow Y2. Next, the control unit 48 determines that the application 14A of the camera 14 having the second highest priority is associated with the compute 33 as shown by the arrow Y3.
  • step S14 the control unit 48 controls to heal the apps 11A and 14A determined in step S12 in the healing order determined in step S13. That is, the control is performed so that the application 11A of the camera 11 having the highest priority is associated with the compute 32, and then the application 14A of the camera 14 having the second highest priority is associated with the compute 33.
  • step S21 the control unit 48 receives a failure notification of the camera 14 shown in FIG. 6 from the failure detection unit 42.
  • step S22 the control unit 48 determines the priority order of the cameras 11 to 13, 15 excluding the failed camera 14.
  • the priority of the camera 15 that covers the same shooting information as the faulty camera 14 is raised from P5 to P2, which is the same rank as the faulty camera 14.
  • step S23 the control unit 48 determines the computes 31, 32, 33 and the resource allocation amount associated with the corresponding applications 11A to 13A, 15A based on the priorities of the cameras 11 to 13, 15 determined in step S22. To do.
  • control unit 48 associates the application 11A of the camera 11 having the first priority with the compute 31, and corresponds to the application 15A of the camera 15 having the second priority and the application 12A of the camera 12 having the third priority with the compute 32.
  • the decision is made to attach the application 13A of the camera 13 in 4th place to the compute 33.
  • the control unit 48 increases the resource allocation amount first for the apps 11A and 15A shown by the solid line in FIG. 6, and increases the resource allocation amount second for the application 12A shown by the broken line, and the application shown by the alternate long and short dash line. It is decided that the resource allocation amount is the third largest in 13A.
  • the application 15A having the priority / second place (P2) in step S22 is the solid line application 15A having the largest resource allocation amount as shown by the arrow Y1.
  • step S24 the control unit 48 generates the applications 11A to 13A, 15A on the compute 31, 32, 33 determined in step S23 with the resource allocation amount determined in step S23. That is, the application 11A having the largest resource allocation amount is generated in association with the compute 31, and the application 15A having the largest resource allocation amount is generated in association with the compute 32. The application 12A having the second largest resource allocation amount is generated in association with the compute 32, and the application 13A having the third largest resource allocation amount is generated in association with the compute 33.
  • the IoT device management device of the present invention is an application associated with a compute so as to configure a virtual machine, and receives a result of performing predetermined processing on information acquired from an IoT device such as a camera. , The higher the degree of matching of the information acquired from the plurality of IoT devices as the received result, the higher the locality indicating the proximity of the arrangement position of the IoT device is determined.
  • a locality calculation unit that calculates the above, and a control unit that extracts a pair of highly local IoT devices from the locality information and controls the application related to the extracted pair of IoT devices to be associated with different computes. It was configured to be prepared.
  • the application corresponding to the application (or expressed as the application on the compute) associated with the failed compute is associated with the other normal compute. .. Therefore, the acquisition information equivalent to that of the camera related to the application on the faulty compute can be acquired from the camera related to the application on the other compute. Therefore, when the compute fails, all the applications on the failed compute do not become inoperable, and it is possible to prevent a decrease in availability that continues a predetermined process of the information acquired from the camera.
  • the IoT device management device In the IoT device management device according to (1) above, among the acquired information from the plurality of IoT devices, the IoT device from which the most various acquired information can be obtained is selected from the 1st place and the duplicated data with the 1st place. The remaining IoT devices are ranked in descending order, with the IoT device that can obtain the most variety of information in second place, the IoT device that can obtain the most variety of information in third place, excluding overlapping data with the first and second places.
  • a priority calculation unit for calculating priority information with priorities is provided in the same manner as for the above, and the control unit refers to the priority information and resources for the corresponding application in descending order of priority of the IoT device. The configuration is such that control is performed to increase the allocated amount.
  • the higher the priority of the camera the larger the resource allocation amount for the corresponding application, and the higher the application performance level. Therefore, even if there are various types of information acquired from the camera, predetermined processing such as analysis can be performed appropriately.
  • the IoT device management device includes a failure detection unit that detects a failure of the compute, and the control unit detects a failure when the failure detection unit detects a failure.
  • a configuration is configured to control recovery in which a plurality of applications associated with the failed compute are distributed and migrated to the normal compute.
  • the IoT device management device includes a failure detection unit that detects a failure of the IoT device, and the control unit fails when the failure detection unit detects a failure.
  • a configuration is configured in which a plurality of applications related to IoT devices are distributed and migrated to normal compute in descending order of priority of the IoT devices to control recovery.
  • the broken camera app that has moved to normal compute can analyze and process the shooting information of the camera with the priority equivalent to the broken camera, so it covers the shooting information that should have been obtained from the broken camera. It will be possible.
  • IoT device management system 11 to 15 cameras (IoT devices) 11A to 15A Application 21 1st area 22 2nd area 31 to 33 Compute 40 IoT device management device 41 Application control unit 42 Failure detection unit 44 Locality calculation unit 45 Priority calculation unit 46 1st DB 47 2nd DB 48 App generation recovery control unit (control unit)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Hardware Redundancy (AREA)
  • Studio Devices (AREA)

Abstract

IoTデバイス管理装置(40)は、仮想マシンを構成するようにコンピュート(31,32)と対応付けられたアプリ(11A~15A)で、IoTデバイスとしてのカメラ(11~15)からの取得情報に対して所定の処理が行われた結果を受け取り、受け取った結果である複数のカメラ(11~15)からの取得情報の一致度が高い程に、当該カメラ(11~15)の配置位置の近さを示すローカル性が高いと判定することにより、判定結果であるローカル性情報を計算するローカル性計算部(44)と、ローカル性情報からローカル性の高い対のカメラ(11~15)を抽出し、この抽出された対のカメラ(11~15)に係るアプリ(11A~15A)を、異なるコンピュート(31~33)に対応付ける制御を行うアプリ生成復旧制御部(48)とを備える。

Description

IoTデバイス管理装置、IoTデバイス管理方法及びプログラム
 本発明は、センサ及び通信機能を備えてネットワークで接続される情報機器、産業用機器、自動車並びに家電製品等のIoT(Internet of Things)デバイスから情報を取得し、この取得情報の解析等を行うアプリケーションの制御を行うIoTデバイス管理装置、IoTデバイス管理方法及びプログラムに関する。
 今後、LAN(Local Area Network)やインターネット等のネットワークには、大量の監視カメラ等のIoTデバイスが接続されるようになる。IoTデバイスとしての例えばカメラは、ショッピングセンタ内の各所に設置され、カメラで撮影したデータ(撮影データ)を、コンピュートに対応付けられたアプリケーション(アプリともいう)で解析する等の処理を行う。このような処理を行うIoTデバイス管理システムの構成を図12に示す。
 図12に示すIoTデバイス管理システム10では、3台のカメラ11,12,13がショッピングセンタ内の第1エリア21に配置され、2台のカメラ14,15が第2エリア22に配置されている。
 第1エリア21において、カメラ11の撮影データを処理する第1アプリ11Aと、カメラ12の撮影データを処理する第2アプリ12Aと、カメラ13の撮影データを処理する第3アプリ13Aとの3つは、1つのコンピュート31に搭載されて対応付けられている。
 第2エリア22において、カメラ14の撮影データを処理する第4アプリ14Aと、カメラ15の撮影データを処理する第5アプリ15Aとの2つは、他のコンピュート32に搭載されて対応付けられている。
 なお、コンピュートは、アプリとの対応付けで仮想サーバ等の仮想マシンを構成するコンピュータである。本明細書において、アプリは仮想マシンを含む概念とする。
 このような構成において、第1エリア21のカメラ11は、大人の男性23と女性24及び女子25並びに、他の女性26とショッピングカート内の各種の品物26aを撮影している。カメラ12は、女性26と各種の品物26bを撮影している。カメラ13は、女性26と各種の品物26cを撮影しているとする。
 第2エリア22のカメラ14は、大人の女性27と買物袋内の各種の品物27aを撮影し、カメラ15は、大人の女性27と各種の品物27aを撮影しているとする。
 各カメラ11~15の撮影により、買い物客の性別及び大人や子供等の判別、並びにショッピングカートに入れられた購買品の判別等を行うことが可能となる。
 ところで、カメラの撮影データには重複も多く、全てのデータを詳細に解析、例えば人物の特定や何を購入したか等を詳細に解析していては、コンピュート及びアプリのリソースを無駄に消費してしまう。そこで、撮影データに含まれる重複データを効率良く処理する必要がある。この処理には、例えば特許文献1に記載の技術を用いれば、重複データを効率良く処理して処理負荷を軽減でき、この軽減によってリソースの無駄な消費を防止できる。
特開2013-182553号公報
 図12に示したように、IoTデバイスとしてのカメラ11~15は、各エリア21,22に複数配置されており、例えば第1エリア21内に配置された複数のカメラ11~13の撮影データを解析する複数のアプリ11A~13Aが、同一コンピュート31に対応付けられる構成となっている。この構成においては、1つのコンピュート31が×で示すように故障すると、これに対応付けられた複数のアプリ11A~13Aが全て処理不能となる。このため、処理不能となったアプリ11A~13Aに係るカメラ11~13が配置されたエリア21内の人物や購買品等の撮影情報が取得できなくなり、可用性が低下する。つまり、IoTデバイスから得られる情報の解析等の所定処理を継続して行う可用性が低下するという問題が生じる。
 本発明は、このような事情に鑑みてなされたものであり、コンピュートの故障時に、IoTデバイスからの取得情報の所定の処理を継続する可用性の低下を防止することを課題とする。
 上記課題を解決するため、本発明のIoTデバイス管理装置は、仮想マシンを構成するようにコンピュートと対応付けられたアプリケーションで、IoT(Internet of Things)デバイスからの取得情報に対して所定の処理が行われた結果を受け取り、受け取った結果である複数のIoTデバイスからの取得情報の一致度が高い程に、当該IoTデバイスの配置位置の近さを示すローカル性が高いと判定することにより、判定結果であるローカル性情報を計算するローカル性計算部と、前記ローカル性情報からローカル性の高い対のIoTデバイスを抽出し、この抽出された対のIoTデバイスに係るアプリケーションを、異なるコンピュートに対応付ける制御を行う制御部とを備えることを特徴とする。
 本発明によれば、コンピュートの故障時に、IoTデバイスからの取得情報の所定の処理を継続する可用性の低下を防止することができる。
本発明の実施形態に係るIoTデバイス管理装置を備えるIoTデバイス管理システムの構成を示す図である。 本発明の実施形態に係るIoTデバイス管理装置の構成を示すブロック図である。 本実施形態のIoTデバイス管理装置による各カメラへの優先順位の付け方を説明するための図である。 本実施形態のIoTデバイス管理装置による情報量を多くカバーするアプリ程に優先順位を高く設定する際の動作を説明するための図である。 本実施形態のIoTデバイス管理装置による各カメラへの優先順位及びローカル性の高さを示すスコア付の動作を説明するための図である。 本実施形態のIoTデバイス管理装置によるカメラ故障時のアプリの復旧動作を説明するための図である。 本実施形態のIoTデバイス管理装置によるコンピュート故障時のアプリの復旧動作を説明するための図である。 本実施形態のIoTデバイス管理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。 本実施形態のIoTデバイス管理システムの初期設定の動作を説明するためのフローチャートである。 本実施形態のIoTデバイス管理システムのコンピュート故障時の動作を説明するためのフローチャートである。 本実施形態のIoTデバイス管理システムのカメラ故障時の動作を説明するためのフローチャートである。 従来のIoTデバイス管理システムの構成を示す図である。
 以下、本発明の実施形態を、図面を参照して説明する。但し、本明細書の全図において機能が対応する構成部分には同一符号を付し、その説明を適宜省略する。
<実施形態の構成>
 図1は、本発明の実施形態に係るIoTデバイス管理装置を備えるIoTデバイス管理システムの構成を示す図である。図1に示すIoTデバイス管理システム(システムともいう)10Aが、従来のシステム10(図12)と異なる点は、IoTデバイス管理装置(管理装置ともいう)40を備えることにある。
 管理装置40は、複数のカメラ11~15と、複数のアプリ(アプリケーション)11A~15Aと、複数のコンピュート31,32とに接続されている。この管理装置40は、後述のように、IoTデバイスであるカメラ11~15の優先順位付け処理、カメラ11~15又はコンピュート31,32の故障時においてアプリ11A~15Aの分散配置処理及び復旧(ヒーリングともいう)処理を行う。
 管理装置40は、図2に示すように、アプリケーション制御部41及び故障検知部42を備える。アプリケーション制御部41は、ローカル性計算部44と、優先順位計算部45と、第1DB(Data Base)46と、第2DB47と、アプリ生成復旧制御部48とを備えて構成されている。なお、アプリ生成復旧制御部48は、請求項記載の制御部を構成する。
 優先順位計算部45は、各カメラ11~15を多種の撮影データ(取得情報)を得る順に優先順位を付ける。カメラ11~15の撮影データがコンピュート31,32を介してアプリ11A~15Aに入力されると、アプリ11A~15Aは、各撮影データにおける人や品物などの種別を解析する処理を行う。優先順位計算部45は、その処理後のデータの種類の多さに応じて各カメラ11~15に優先順位を付ける。
 この優先順位の付け方を、図3を参照して説明する。第1エリア21にはカメラ11~13が配置されているが、この内のカメラ11の撮影データ11Dは、ピンクの服を着た30歳代の一人の女性26と、ショッピングカート内の各種の品物26aとを表す情報としての「女性1:ピンクの服、30代、缶詰、牛乳、カート」を含む。更に、撮影データ11Dは、購入したビール(図示せず)が入った買物袋を持つ、緑の服を着た30代の一人の男性23と、二人の女性24,25等を表す情報としての「男性1:緑の服、30代、ビール、女性2:…」を含んでいる。
 カメラ12の撮影データ12Dは、ピンクの服を着た30歳代の一人の女性26と、ショッピングカート内の各種の品物26bを表す情報としての「女性1:ピンクの服、30代、缶詰、牛乳、卵、カート」を含んでいる。
 カメラ13の撮影データ13Dは、ピンクの服を着た30歳代の一人の女性26と、ショッピングカート内の各種の品物26cを表す情報としての「女性1:ピンクの服、30代、缶詰、カート」を含んでいる。
 第2エリア22にはカメラ14,15が配置されているが、この内のカメラ14の撮影データ14Dは、エプロン姿の30歳代の一人の女性27と、この女性27が持つ買物袋に入った各種の品物27aを表す情報としての「女性1:エプロン、30代、パン」を含んでいる。
 カメラ15の撮影データ15Dは、カメラ14と同様に、エプロン姿の30歳代の一人の女性27と、この女性27が持つ買物袋に入った各種の品物27aを表す情報としての「女性1:エプロン、30代、パン」を含んでいる。
 優先順位計算部45は、上記の撮影データ11D~15Dを基に、カメラ11~15の優先順位を付ける。優先順位の1位は、最も多くの情報が得られるカメラ11とする。上述したようにカメラ11の撮影データ11Dが最も多くの情報を含むので、カメラ11を優先順位・1位(P1)とする。
 次に、優先順位・2位は、1位(P1)との重複データを除き最も多くの情報が得られるカメラとする。この場合、カメラ12の撮影データ12Dは、1位のカメラ11の撮影データ11Dとの重複データを除くと「卵」のみとなり、カメラ13の撮影データ13Dは「0」となる。このため、カメラ11と離れたカメラ14又は15の撮影データ14D又は15Dの情報量が2番目に多いので、例えばカメラ14の優先順位を2位(P2)とする。但し、カメラ14,15の撮影データ14D,15Dの情報量は、同じなので、優先順位は何れかをランダムに2位とする。
 優先順位・3位は、1位及び2位の重複データを除いた残りの情報量が多いカメラとする。つまり、カメラ12が優先順位・3位(P3)となる。同様の処理により、カメラ13が優先順位・4位(P4)、カメラ15が優先順位・5位(P5)となる。このように優先順位計算部45は、カメラ11~15の優先順位を決定し、この優先順位情報を第2DB47(図2)に記憶して格納する。
 このように優先順位を付ける場合、カメラ11~15の性能如何に係わらず、カメラ11~15から得られた撮影データ11D~15Dのみで判定する。
 また、優先順位は、優先順位計算部45が、各カメラ11~15の撮影データ11D~15Dを定期的に受信して更新する。
 更に、優先順位に応じて、アプリ11A~15A(図1)の性能レベル(アプリ性能レベル)やリソース割当量を変化させてもよい。例えば、カメラ11~15の優先順位の高い順に該当アプリ11A~15Aに対して、リソース割当量を多くし、アプリ性能レベルを高くする。図3の例では、カメラ11(P1)のアプリ11A、カメラ14(P2)のアプリ14A、カメラ12(P3)のアプリ13A、カメラ13(P4)のアプリ14A、カメラ15(P5)のアプリ15Aの順に、リソース割当量を多くしてアプリ性能レベルを高くする。
 この他、図4に示すように、情報量を多くカバーできるアプリ程、優先順位を高くしてもよい。本例では、実線で示すアプリ11A,14Aが1番目にリソース割当量が多く詳細解析が可能となっており、破線で示すアプリ12Aが2番目にリソース割当量が多く標準レベルで解析が可能、一点鎖線で示すアプリ15A,13Aが3番目にリソース割当量が多く簡易解析が可能となっている。このような、アプリ11A,14Aをコンピュート31に対応付け、アプリ12A,15Aをコンピュート32に対応付け、アプリ13Aをコンピュート33に対応付けてある。
 一方、制御部48は、優先順位が予め定められた所定の順位よりも低いカメラ(例えばカメラ13,15)に対して、撮影データ13D,15Dをアプリ13A,15Aで解析させないようにしてもよい。この処理により、システム10Aの処理負荷を低減できる。
 次に、図2に示すローカル性計算部44は、カメラ11~15のローカル性を計算する。このローカル性は、複数(例えば2つ)のカメラが互いに近くに配置されているか否かを示す指標であり、ローカル性が高ければ、2つのカメラが、より近くに配置されていることを示す。
 このローカル性を計算する場合、ローカル性計算部44は、複数のカメラ、例えば2つのカメラ14,15の撮影データ14D,15Dの一致の度合いを示す一致度を求め、一致度が高い程にローカル性が高いと判定する。例えば、2つのカメラ14,15の撮影データ14D,15Dの一致度が、完全に一致しているので、ローカル性計算部44は、カメラ14,15のローカル性が最も高いと判定し、この判定結果を反映したローカル性情報を計算する。このローカル性情報は、第1DB46に格納される。
 制御部48は、第1DB46に格納されたローカル性情報から、ローカル性の高い対のカメラを求め、これら対のカメラを、アンチアフィニティーにより出来る限り別のコンピュート31,32に対応付けるように制御する。例えば、第1エリア21に配置されたカメラ11,12,13の内、カメラ12とカメラ13とは一致度が高くローカル性が高いので、制御部48は、図4に示すように、一方のカメラ12をコンピュート32に対応付け、他方のカメラ13を他のコンピュート33に対応付ける制御を行う。
 次に、上述したカメラ11~15の優先順位及びローカル性の高さを示すスコア付について説明する。
 まず、優先順位のスコア付について、買い物客の購買情報を調べるサービスを例に挙げて説明する。この場合、定期的にテスト試行を行い、このテストによる過去一定期間のデータから各カメラの優先度スコアと、各カメラ間のローカル性の関係を求める。このローカル性の関係は、ある対のカメラ間で、単位時間当たりに同一性の高い人物が、物品を購入した情報の一致度から次のように求める。
 例えば、図5に示すカメラ14の撮影データ14Dから得られた情報の数が、「パン、にんじん、大根、キャベツ、トマト」の「5」である。カメラ15の撮影データ15Dで得られた情報の数が、「パン、にんじん、ねぎ」の「3」であるとする。この場合、カメラ14,15間で一致する情報の数は「パン、にんじん」の「2」である。
 制御部48は、次式(1)から、双方のカメラ14,15の撮影情報の相関係数(ローカル性情報)を求める。
 (一致情報数×カメラ数)/(一方のカメラの撮影情報数+他方のカメラの撮影情報数)=相関係数 …(1)
 上述した図5に示す一例の数値を、式(1)に当て嵌めると、(2×2)/(5+3)=0.5となるので、相関係数が0.5であることが求められる。この相関係数は次のように使用する。
 カメラ14,15の撮影情報が全て一致している場合は、式(1)の分子/分母が同じなので、相関係数が「1」となる。この相関係数「1」の場合、制御部48の制御によって、カメラ14とカメラ15とを別のコンピュート31,32に対応付けることで、一方のカメラ14が故障しても、他方のカメラ15で補うことができる。例えば、制御部48は、相関係数が0.5を超えて高い程、カメラ14とカメラ15とを別のコンピュート31,32に対応付けるようにする。
 ここで、故障検知部42は、カメラ11~15又はコンピュート31,32の故障を検知して制御部48に通知する。
 例えば、図6に示すように、優先順位・2位(P2)のカメラ14が×で示すように故障した場合、このカメラ14に係るアプリ14Aも×で示すように動作不可となる。この故障を故障検知部42(図2)から受けた制御部48は、故障カメラ14と同じ撮影情報をカバーするカメラ15の優先順位を5位(P5)から故障カメラ14と同じ順位である2位(P2)に繰り上げる。
 この際、コンピュート32に対応付けられたアプリ15Aを、矢印Y1で示すように、1番目にリソース割当量が多く詳細解析が可能な実線のアプリ15Aとする。この処理により、カメラ15で故障カメラ14と同じ撮影情報が得られる。なお、この処理は一時的な措置であり、この後に、定期的な優先順位の付け直しを行って、正しい優先順位とする。
 一方、図5に示すカメラ14,15の撮影情報が全く一致していない場合は、式(1)の分子が「0」となるので、相関係数が「0」となる。この相関係数「0」の場合、双方のカメラ14,15に相関関係が無いので、双方のカメラ14,15を同じコンピュート32に対応付けても、異なるコンピュート31,32に対応付けてもよい。例えば、制御部48は、相関係数が0.5以下で低い程、カメラ14とカメラ15とを、同じコンピュート32に対応付けても、異なるコンピュート31,32に対応付けてもよい。
 次に、図2に示す制御部48は、各カメラ11~15の優先順位スコアを求める。但し、優先順位スコアとは、カメラの映像情報から単位時間当たりに得られる買い物客の購買情報数を示すものである。
 例えば、上述したように、図5に示すカメラ14から得られた撮影情報数が「5」、カメラ15から得られた撮影情報数が「3」であり、この内、カメラ14,15間で一致した撮影情報数が「パン、にんじん」の「2」であるとする。この場合、制御部48は、前述した優先順位の付け方に応じて、カメラ14の優先順位スコアが「パン、にんじん、大根、キャベツ、トマト」の「5」、カメラ15の優先順位スコアが「ねぎ」の「1」と求める。
 優先順位スコアは、スコアが高い程、高い優先順位であることの指標となる。つまり、アプリ割当量を、カメラ11~15の優先順位の高いアプリである程に多くするとの指標となる。この他、コンピュート31又は32が故障した際に、どのカメラから復旧させるかを示すヒーリング優先順位付けの指標ともなる。
 制御部48は、例えば、図7に×で示すように、コンピュート31に故障が発生した時に、これに対応付けられたアプリ11A,14Aをヒーリングする場合、第2DB47の優先順位情報を参照し、カメラ11,14の優先順位が高いアプリ11A,14Aから順に行う。まず、優先順位が1位のカメラ11のアプリ11Aを、矢印Y2で示すように、コンピュート32に対応付け、次に、優先順位が2位のカメラ14のアプリ14Aを、矢印Y3で示すように、コンピュート33に対応付ける。この対応付けは、第2DB47の優先順位情報に反映される。
 また、制御部48は、図1に示すように、同一コンピュート31に対応付けられたカメラ11~13の内の優先順位の高いカメラ(例えばカメラ11)が故障した場合、故障カメラよりも優先順位の低い正常なカメラ12,13の優先度を順次繰り上げる。この繰り上げは、第2DB47の優先順位情報に反映させる。この優先順位の繰り上げにより、故障カメラ11から得られたはずの撮影データをカバー可能となる。また、優先順位の繰り上げ後に、故障カメラ11が復旧した場合、制御部48は、その復旧したカメラ11を含む全カメラ11~15で優先順位を付け直す。
<ハードウェア構成>
 上述した実施形態に係るIoTデバイス管理装置40は、例えば図8に示すような構成のコンピュータ100によって実現される。以下、管理装置40を例に挙げて説明する。図8は、管理装置40の機能を実現するコンピュータ100の一例を示すハードウェア構成図である。コンピュータ100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、入出力I/F(Inter Face)105、通信I/F106、及びメディアI/F107を有する。
 CPU101は、ROM102又はHDD104に記憶されたプログラムに基づき作動し、各機能部の制御を行う。ROM102は、コンピュータ100の起動時にCPU101により実行されるブートプログラムや、コンピュータ100のハードウェアに係るプログラム等を記憶する。
 CPU101は、入出力I/F105を介して、プリンタやディスプレイ等の出力装置111及び、マウスやキーボード等の入力装置110を制御する。CPU101は、入出力I/F105を介して、入力装置110からデータを取得し、又は、生成したデータを出力装置111へ出力する。
 HDD104は、CPU101により実行されるプログラム及び当該プログラムによって使用されるデータ等を記憶する。通信I/F106は、通信網112を介して図示せぬ他の装置からデータを受信してCPU101へ出力し、また、CPU101が生成したデータを、通信網112を介して他の装置へ送信する。
 メディアI/F107は、記録媒体113に格納されたプログラム又はデータを読み取り、RAM103を介してCPU101へ出力する。CPU101は、目的の処理に係るプログラムを、メディアI/F107を介して記録媒体113からRAM103上にロードし、ロードしたプログラムを実行する。記録媒体113は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、導体メモリテープ媒体又は半導体メモリ等である。
 例えば、コンピュータ100が実施形態に係る管理装置40として機能する場合、CPU101は、RAM103上にロードされたプログラムを実行することにより、管理装置40の機能を実現する。また、HDD104には、RAM103内のデータが記憶される。CPU101は、目的の処理に係るプログラムを記録媒体113から読み取って実行する。この他、CPU101は、他の装置から通信網112を介して目的の処理に係るプログラムを読み込んでもよい。
<実施形態の動作>
 次に、本実施形態に係るIoTデバイス管理システム10Aの動作を図9~図11に示すフローチャートを参照して説明する。
<初期設定動作>
 まず、図9に示すフローチャートを参照して、図1に示すシステム10Aの初期設定の動作について説明する。
 初期時のシステム10Aでは、どのカメラ11~15のアプリ11A~15Aを、どのコンピュート31,32に対応付けるかが決まっていない。
 そこで、コンピュート31,32に、カメラ11~15に対応するアプリ11A~15Aを仮に対応付けておく。そして、図9に示すステップS1において、ショッピングセンタ内の第1エリア21に配置されたカメラ11~13及び第2エリア22に配置されたカメラ14,15の撮影データ11D~15Dを、アプリ11A~15Aで解析する。この解析によって、図3に示す撮影データ11D~15Dの人や購買品等の各種情報が得られ、管理装置40のアプリケーション制御部41のローカル性計算部44及び優先順位計算部45へ出力される。
 次に、ステップS2において、ローカル性計算部44は、入力された撮影データ11D~15Dの各種情報からカメラ11~15のローカル性を、次のように導出する。即ち、ローカル性計算部44は、各撮影データ11D~15Dの一致度を、例えば相関係数により求め、一致度が高い程にローカル性が高いと判定する。
 例えば、2つのカメラ14,15の撮影データ14D,15D(図3)が完全に一致しているので、ローカル性計算部44は、カメラ14,15のローカル性が最も高いと判定する。この次に、ローカル性計算部44は、カメラ12,13のローカル性が高く、更にこの次に、カメラ11が、カメラ12,13に対してローカル性が高いと判定する。ローカル性計算部44は、その判定結果を反映したローカル性情報を第1DB46に格納する。
 次に、ステップS3において、優先順位計算部45は、入力された撮影データ11D~15Dの種類の多さに応じてカメラ11~15の優先順位を、次のように決定する。即ち、優先順位計算部45は、図3に示すように、カメラ11の撮影データ11Dが最も多くの情報を含むので、カメラ11を優先順位・1位(P1)とする。
 次に、優先順位計算部45は、1位との重複データを除き最も多くの情報が得られるカメラ14を、優先順位・2位(P2)とする。次に、優先順位計算部45は、1位及び2位の重複データを除いた残りの情報量が多いカメラ12を優先順位・3位(P3)とし、同様の処理により、カメラ13を優先順位・4位(P4)、カメラ15を優先順位・5位(P5)とする。
 次に、ステップS4において、図2に示す制御部48は、カメラ11~15の撮影データ11D~15Dを扱うアプリ11A~15Aを対応付けるコンピュート31,32及びリソース割当量を、次のように決定する。
 即ち、制御部48は、第1DB46に格納されたローカル性情報から、ローカル性の高い対のカメラを求め、これら対のカメラを、アンチアフィニティーにより出来る限り別のコンピュート31,32,33(図4)に対応付けるように決定する。例えば、第1エリア21に配置されたカメラ11,12,13の内、カメラ12とカメラ13とは一致度が高くローカル性が高いので、制御部48は、図4に示すように、一方のカメラ12をコンピュート32に対応付け、他方のカメラ13を他のコンピュート33に対応付ける決定を行う。
 また、制御部48は、第2DB47に格納されたカメラ11~15の優先順位情報から、アプリ11A~15Aのリソース割当量を、次のように決定する。例えば、制御部48は、カメラ11~15の優先順位の高い順に該当アプリ11A~15Aに対して、リソース割当量を多くし、アプリ性能レベルを高くする。これは、図4に実線で示すアプリ11A,14Aに1番目にリソース割当量を多くし、破線で示すアプリ12Aに2番目にリソース割当量を多くし、一点鎖線で示すアプリ15A,13Aに3番目にリソース割当量が多くするように決定する。
 次に、ステップS5において、制御部48は、上記ステップS4で決定したリソース割当量で各アプリ11A~15Aを生成し、この生成したアプリ11A~15Aを各コンピュート31,32,33に対応付ける制御を行う。即ち、図4に示すように、1番目にリソース割当量の多いアプリ11A,14Aをコンピュート31に対応付け、2番目にリソース割当量の多いアプリ12Aと3番目にリソース割当量の多いアプリ15Aとをコンピュート32に対応付け、3番目にリソース割当量の多いアプリ13Aをコンピュート33に対応付ける。
<コンピュート故障動作>
 次に、図10に示すフローチャートを参照して、システム10Aのコンピュート故障時の動作について説明する。
 ステップS11において、制御部48が、故障検知部42からの図7に示すコンピュート31の故障通知を受けたとする。
 ステップS12において、制御部48は、故障したコンピュート31上のアプリ11A,14Aのヒーリング先を決定する。この決定は、アプリ11A,14Aが、正常なコンピュート32,33に分散配置されるように行われる。
 ステップS13において、制御部48は、前述のステップS3において決定されたカメラ11~15の優先順位を基に、アプリ11A~15Aのヒーリング順を決定する。即ち、制御部48は、故障コンピュート31に対応付けられたアプリ11A,14Aの内、優先順位が1位のカメラ11のアプリ11Aを、矢印Y2で示すように、コンピュート32に対応付ける決定を行う。次に、制御部48は、優先順位が2位のカメラ14のアプリ14Aを、矢印Y3で示すように、コンピュート33に対応付ける決定を行う。
 ステップS14において、制御部48は、上記ステップS13で決定されたヒーリング順に、上記ステップS12で決定されたアプリ11A,14Aをヒーリングする制御を行う。即ち、優先順位が1位のカメラ11のアプリ11Aをコンピュート32に対応付け、次に、優先順位が2位のカメラ14のアプリ14Aをコンピュート33に対応付ける制御を行う。
<カメラ故障動作>
 次に、図11に示すフローチャートを参照して、システム10Aのカメラ故障時の動作について説明する。この場合、故障カメラ14に係るアプリ14Aも動作不可となっている。
 ステップS21において、制御部48が、故障検知部42からの図6に示すカメラ14の故障通知を受けたとする。
 ステップS22において、制御部48は、故障カメラ14を除くカメラ11~13,15の優先順位を決定する。この場合、図6に示すように、故障カメラ14と同じ撮影情報をカバーするカメラ15の優先順位をP5から故障カメラ14と同じ順位であるP2に繰り上げる。
 ステップS23において、制御部48は、上記ステップS22において決定されたカメラ11~13,15の優先順位を基に、該当アプリ11A~13A,15Aを対応付けるコンピュート31,32,33及びリソース割当量を決定する。
 即ち、制御部48は、優先順位が1位のカメラ11のアプリ11Aをコンピュート31に対応付け、優先順位が2位のカメラ15のアプリ15A及び3位のカメラ12のアプリ12Aをコンピュート32に対応付け、4位のカメラ13のアプリ13Aをコンピュート33に対応付ける決定を行う。
 この際、制御部48は、図6に実線で示すアプリ11A,15Aに1番目にリソース割当量を多くし、破線で示すアプリ12Aに2番目にリソース割当量を多くし、一点鎖線で示すアプリ13Aに3番目にリソース割当量が多くするように決定する。この決定において、上記ステップS22で優先順位・2位(P2)とされたアプリ15Aが、矢印Y1で示すように、1番目にリソース割当量が多い実線のアプリ15Aとされる。
 次に、ステップS24において、制御部48は、上記ステップS23で決定されたコンピュート31,32,33上に、上記ステップS23で決定したリソース割当量で各アプリ11A~13A,15Aを生成する。即ち、1番目にリソース割当量の多いアプリ11Aをコンピュート31に対応付けて生成すると共に、1番目にリソース割当量の多いアプリ15Aをコンピュート32に対応付けて生成する。2番目にリソース割当量の多いアプリ12Aをコンピュート32に対応付けて生成し、3番目にリソース割当量の多いアプリ13Aをコンピュート33に対応付けて生成する。
<効果>
 (1)本発明のIoTデバイス管理装置は、仮想マシンを構成するようにコンピュートと対応付けられたアプリケーションで、カメラ等のIoTデバイスからの取得情報に対して所定の処理が行われた結果を受け取り、受け取った結果である複数のIoTデバイスからの取得情報の一致度が高い程に、当該IoTデバイスの配置位置の近さを示すローカル性が高いと判定することにより、判定結果であるローカル性情報を計算するローカル性計算部と、前記ローカル性情報からローカル性の高い対のIoTデバイスを抽出し、この抽出された対のIoTデバイスに係るアプリケーションを、異なるコンピュートに対応付ける制御を行う制御部とを備える構成とした。
 この構成によれば、1つのコンピュートが故障しても、故障コンピュートに対応付けられたアプリ(又はコンピュート上のアプリと表現する)に対応するアプリが、他の正常なコンピュートに対応付けられている。このため、故障コンピュート上のアプリに係るカメラと同等の取得情報を、他のコンピュート上のアプリに係るカメラから取得できる。このため、コンピュートの故障時に、故障コンピュート上の全てのアプリが動作不能となることが無く、カメラからの取得情報の所定の処理を継続する可用性の低下を防止できる。
 (2)上記(1)に記載のIoTデバイス管理装置において、前記複数のIoTデバイスからの取得情報の内、最も多種の取得情報が得られるIoTデバイスを1位、1位との重複データを除き最も多種の情報が得られるIoTデバイスを2位、1位及び2位との重複データを除き最も多種の情報が得られるIoTデバイスを3位とする降順に順位を付ける処理を、残りのIoTデバイスに対して同様に行い優先順位を付けた優先順位情報を計算する優先順位計算部を備え、前記制御部は、前記優先順位情報を参照し、前記IoTデバイスの優先順位の高い順に該当アプリに対するリソース割当量を多くする制御を行う構成とした。
 この構成によれば、カメラの優先順位が高い程に、該当アプリに対するリソース割当量が多くなるのでアプリ性能レベルが高くなる。このため、カメラからの取得情報が多種であっても、適正に解析等の所定処理を行うことができる。
 (3)上記(1)又は(2)に記載のIoTデバイス管理装置において、前記コンピュートの故障を検知する故障検知部を備え、前記制御部は、前記故障検知部が故障を検知した際に、当該故障したコンピュートに対応付けられた複数のアプリを、正常なコンピュートに分散して移行する復旧の制御を行う構成とした。
 この構成によれば、コンピュートが故障しても、故障で動作不能となった複数のアプリを、正常なコンピュートに分散して移行する復旧を行うことができる。よって、コンピュートが故障しても、故障コンピュート上のアプリに対応する他のコンピュート上のアプリで、故障コンピュートに係るカメラに対応するカメラからの取得情報を処理できる。
 (4)上記(2)に記載のIoTデバイス管理装置において、前記IoTデバイスの故障を検知する故障検知部を備え、前記制御部は、前記故障検知部が故障を検知した際に、前記故障したIoTデバイスに係る複数のアプリを、前記IoTデバイスの優先順位の高い順に、正常なコンピュートに分散して移行する復旧の制御を行う構成とした。
 この構成によれば、カメラが故障しても、故障で動作不能となった複数のアプリを、カメラの優先順位の高い順に、正常なコンピュートに分散して移行する復旧を行うことができる。よって、カメラが故障しても、正常なコンピュートに移行した故障カメラのアプリで、故障カメラ相当の優先順位のカメラの撮影情報を解析処理できるので、故障カメラから得られたはずの撮影情報をカバー可能となる。
 その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
 10A IoTデバイス管理システム
 11~15 カメラ(IoTデバイス)
 11A~15A アプリケーション
 21 第1エリア
 22 第2エリア
 31~33 コンピュート
 40 IoTデバイス管理装置
 41 アプリケーション制御部
 42 故障検知部
 44 ローカル性計算部
 45 優先順位計算部
 46 第1DB
 47 第2DB
 48 アプリ生成復旧制御部(制御部)

Claims (7)

  1.  仮想マシンを構成するようにコンピュートと対応付けられたアプリケーションで、IoT(Internet of Things)デバイスからの取得情報に対して所定の処理が行われた結果を受け取り、受け取った結果である複数のIoTデバイスからの取得情報の一致度が高い程に、当該IoTデバイスの配置位置の近さを示すローカル性が高いと判定することにより、判定結果であるローカル性情報を計算するローカル性計算部と、
     前記ローカル性情報からローカル性の高い対のIoTデバイスを抽出し、この抽出された対のIoTデバイスに係るアプリケーションを、異なるコンピュートに対応付ける制御を行う制御部と
     を備えることを特徴とするIoTデバイス管理装置。
  2.  前記複数のIoTデバイスからの取得情報の内、最も多種の取得情報が得られるIoTデバイスを1位、1位との重複データを除き最も多種の情報が得られるIoTデバイスを2位、1位及び2位との重複データを除き最も多種の情報が得られるIoTデバイスを3位とする降順に順位を付ける処理を、残りのIoTデバイスに対して同様に行い優先順位を付けた優先順位情報を計算する優先順位計算部を備え、
     前記制御部は、前記優先順位情報を参照し、前記IoTデバイスの優先順位の高い順に該当アプリに対するリソース割当量を多くする制御を行う
     ことを特徴とする請求項1に記載のIoTデバイス管理装置。
  3.  前記コンピュートの故障を検知する故障検知部を備え、
     前記制御部は、前記故障検知部が故障を検知した際に、当該故障したコンピュートに対応付けられた複数のアプリを、正常なコンピュートに分散して移行する復旧の制御を行う
     ことを特徴とする請求項1又は2に記載のIoTデバイス管理装置。
  4.  前記IoTデバイスの故障を検知する故障検知部を備え、
     前記制御部は、前記故障検知部が故障を検知した際に、前記故障したIoTデバイスに係る複数のアプリを、前記IoTデバイスの優先順位の高い順に、正常なコンピュートに分散して移行する復旧の制御を行う
     ことを特徴とする請求項2に記載のIoTデバイス管理装置。
  5.  IoTデバイス管理装置によるIoTデバイス管理方法であって、
     前記IoTデバイス管理装置は、
     仮想マシンを構成するようにコンピュートと対応付けられたアプリケーションで、IoTデバイスからの取得情報に対して所定の処理が行われた結果を受け取り、受け取った結果である複数のIoTデバイスからの取得情報の一致度が高い程に、当該IoTデバイスの配置位置の近さを示すローカル性が高いと判定するステップと、
     前記ローカル性が高い対のIoTデバイスを抽出し、この抽出された対のIoTデバイスに係るアプリケーションを、異なるコンピュートに対応付ける制御を行うステップと
     を実行することを特徴とするIoTデバイス管理方法。
  6.  前記IoTデバイス管理装置は、
     前記複数のIoTデバイスからの取得情報の内、最も多種の取得情報が得られるIoTデバイスを1位、1位との重複データを除き最も多種の情報が得られるIoTデバイスを2位、1位及び2位との重複データを除き最も多種の情報が得られるIoTデバイスを3位とする処理を、残りのIoTデバイスに対して同様に行い優先順位を付けるステップと、
     前記IoTデバイスの優先順位の高い順に該当アプリに対するリソース割当量を多くする制御を行うステップと
     を実行することを特徴とする請求項5に記載のIoTデバイス管理方法。
  7.  コンピュータを、請求項1~4の何れか1項に記載のIoTデバイス管理装置として機能させるためのプログラム。
PCT/JP2019/030684 2019-08-05 2019-08-05 IoTデバイス管理装置、IoTデバイス管理方法及びプログラム Ceased WO2021024348A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/630,255 US11863371B2 (en) 2019-08-05 2019-08-05 IoT device management apparatus, IoT device management method, and program
PCT/JP2019/030684 WO2021024348A1 (ja) 2019-08-05 2019-08-05 IoTデバイス管理装置、IoTデバイス管理方法及びプログラム
JP2021538563A JP7215583B2 (ja) 2019-08-05 2019-08-05 IoTデバイス管理装置、IoTデバイス管理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/030684 WO2021024348A1 (ja) 2019-08-05 2019-08-05 IoTデバイス管理装置、IoTデバイス管理方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2021024348A1 true WO2021024348A1 (ja) 2021-02-11

Family

ID=74502890

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/030684 Ceased WO2021024348A1 (ja) 2019-08-05 2019-08-05 IoTデバイス管理装置、IoTデバイス管理方法及びプログラム

Country Status (3)

Country Link
US (1) US11863371B2 (ja)
JP (1) JP7215583B2 (ja)
WO (1) WO2021024348A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009282735A (ja) * 2008-05-22 2009-12-03 Nec Corp 情報記録システム及び情報記録方法
JP2016171472A (ja) * 2015-03-13 2016-09-23 富士通株式会社 中継装置の選択方法、中継装置の選択プログラム、及び、情報処理システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5745445B2 (ja) 2012-03-05 2015-07-08 日本電信電話株式会社 管理装置およびプログラム
US10373179B2 (en) * 2016-08-08 2019-08-06 International Business Machines Corporation Determining streaming content user consumption
US10225741B2 (en) * 2016-12-12 2019-03-05 International Business Machines Corporation Security enabled predictive mobile data caching
US10015353B1 (en) * 2016-12-29 2018-07-03 Konica Minolta Laboratory U.S.A., Inc. Method and system of using IPv6 packet extensions to allow or prevent execution of a job based on physical location
US20190098118A1 (en) * 2017-09-28 2019-03-28 Nominum, Inc. Repurposing Domain Name System as a Business Data Transport Layer
US10510158B1 (en) * 2017-11-13 2019-12-17 Amazon Technologies, Inc. Collaborative airborne object tracking systems and methods
US11894984B2 (en) * 2017-11-27 2024-02-06 Lacework, Inc. Configuring cloud deployments based on learnings obtained by monitoring other cloud deployments
US10425437B1 (en) * 2017-11-27 2019-09-24 Lacework Inc. Extended user session tracking
US11528611B2 (en) * 2018-03-14 2022-12-13 Rose Margaret Smith Method and system for IoT code and configuration using smart contracts
CN110913344B (zh) * 2018-08-27 2023-09-01 香港科技大学 协同目标跟踪系统和方法
EP3641275A1 (de) * 2018-10-18 2020-04-22 Siemens Aktiengesellschaft Verfahren, vorrichtung und computerprogramm zur automatischen verarbeitung von datenbezeichnern
US10938826B2 (en) * 2019-05-24 2021-03-02 International Business Machines Corporation Intelligent device security
WO2020251385A1 (en) * 2019-06-14 2020-12-17 Ringcentral, Inc., (A Delaware Corporation) System and method for capturing presentation gestures
US10873592B1 (en) * 2019-12-23 2020-12-22 Lacework Inc. Kubernetes launch graph

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009282735A (ja) * 2008-05-22 2009-12-03 Nec Corp 情報記録システム及び情報記録方法
JP2016171472A (ja) * 2015-03-13 2016-09-23 富士通株式会社 中継装置の選択方法、中継装置の選択プログラム、及び、情報処理システム

Also Published As

Publication number Publication date
JPWO2021024348A1 (ja) 2021-02-11
US11863371B2 (en) 2024-01-02
JP7215583B2 (ja) 2023-01-31
US20220294687A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US9569672B2 (en) Optimizing video stream processing
AU2011282632B2 (en) Determining a likelihood of suitability based on historical data
US11475507B2 (en) Prioritizing BOPIS order fulfillment
CA3026748A1 (en) Data structure management for product preparation and delivery
US20170235606A1 (en) System and methods for implementing control of use of shared resource in a multi-tenant system
WO2019099854A1 (en) Distributed sensor systems and methods for inventory control
WO2018133988A1 (en) Optimizing human and non-human resources in retail environments
JP3006551B2 (ja) 複数コンピュータ間の業務分散システム、業務分散方法および業務分散プログラムを記録した記録媒体
CN109634488A (zh) 一种用于呈现优先应用的应用入口的方法与设备
WO2023278800A1 (en) Order fulfillment system
US20170330206A1 (en) Motion line processing system and motion line processing method
CN119781951A (zh) 近实时搜索平台中的动态分片分配
US11960465B2 (en) Database inventory isolation
JP2017010223A (ja) 情報処理装置、情報処理方法および情報処理プログラム
WO2021024348A1 (ja) IoTデバイス管理装置、IoTデバイス管理方法及びプログラム
JP2020190964A (ja) 情報処理装置、情報処理方法および情報処理プログラム
US11556891B2 (en) Operations system for combining independent product monitoring systems to automatically manage product inventory and product pricing and automate store processes
JP2019053434A (ja) 推定装置、推定方法および推定プログラム
KR102344371B1 (ko) 전자 장치 및 그의 정보 제공 방법
JP7184089B2 (ja) 顧客情報登録装置
JP6607542B2 (ja) 生成装置、生成方法および生成プログラム
JP7142058B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JPWO2007148393A1 (ja) 施設案内プログラム、施設案内方法および施設案内装置
US20240104477A1 (en) Waiting time prediction system, waiting time prediction method, and non-transitory storage medium
JP2020154614A (ja) 推定装置、推定方法及び推定プログラム

Legal Events

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

Ref document number: 19940940

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021538563

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19940940

Country of ref document: EP

Kind code of ref document: A1