WO2020194735A1 - 情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体 - Google Patents

情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体 Download PDF

Info

Publication number
WO2020194735A1
WO2020194735A1 PCT/JP2019/013848 JP2019013848W WO2020194735A1 WO 2020194735 A1 WO2020194735 A1 WO 2020194735A1 JP 2019013848 W JP2019013848 W JP 2019013848W WO 2020194735 A1 WO2020194735 A1 WO 2020194735A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
allocation
divided
load
processing
Prior art date
Application number
PCT/JP2019/013848
Other languages
English (en)
French (fr)
Inventor
有熊 威
貴稔 北野
康史 平川
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2021508657A priority Critical patent/JP7294405B2/ja
Priority to US17/441,764 priority patent/US11689594B2/en
Priority to PCT/JP2019/013848 priority patent/WO2020194735A1/ja
Publication of WO2020194735A1 publication Critical patent/WO2020194735A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio

Definitions

  • the present invention relates to an information processing device, a server allocation device, a method, and a computer-readable medium.
  • Patent Document 1 discloses an image processing apparatus used in a surveillance system.
  • a plurality of cameras are arranged in different places.
  • the image processing device has a plurality of detection units that detect an object area from an input image.
  • the connection method control unit controls the connection between the plurality of cameras and the plurality of detection units according to the priority set for each camera.
  • the priority of the camera that captures an image in which a large number of face regions is detected is set high, and the priority of a camera that captures an image in which a small number of detected face regions is small is set low.
  • the connection method control unit controls the connection between the camera and the detection unit so that the image captured by the high-priority camera is input to the plurality of detection units.
  • Patent Document 2 discloses an information processing device that distributes and processes sensor data input in time series by a plurality of nodes.
  • the server node divides the time series data so that a part of the range overlaps between the divided data adjacent to each other in the time series.
  • the server node distributes the divided data to a plurality of client nodes.
  • Each client node performs the prediction calculation for the divided data in parallel, and sends the obtained calculation result to the server node.
  • the server node aggregates the calculation results received from the client node in chronological order.
  • time-series data can be processed in parallel by a plurality of client nodes, processing for time-series data can be performed at high speed.
  • the utilization efficiency of the nodes can be improved by processing the divided data of the time series data obtained from, for example, a plurality of cameras in one node.
  • the node may not be able to process the time-series data divided data obtained from the plurality of cameras within a predetermined time.
  • Patent Document 1 images of a camera having a large number of detected face areas are input to a plurality of detection units.
  • Patent Document 1 has a problem that the utilization efficiency of the detection unit is low because the image of one camera having a high processing load is input to the plurality of detection units.
  • Patent Document 2 if the divided data of a plurality of cameras is assigned to one client node, the utilization efficiency of the node can be improved.
  • the processing load on the client node may increase sharply and the processing may not be completed within a predetermined time. In that case, the time (delay time) until the processing result is obtained becomes long.
  • the present disclosure provides an information processing device, a server allocation device, a method, and a computer-readable medium capable of suppressing a delay time until a processing result is obtained while realizing a high node utilization rate. The purpose.
  • the present disclosure discloses a data dividing means for dividing each of a plurality of stream data input in time series into divided data in predetermined time units, and each of them is predetermined with respect to the stream data.
  • the processing load on the plurality of stream data is a combination of a plurality of data processing means for executing processing, each of the divided data of the plurality of stream data, and a data processing means for executing a predetermined process on each divided data.
  • an information processing apparatus including an allocation determination means that determines based on the correlation of the above, and a data distribution means that distributes the divided data to the data processing means according to a combination determined by the allocation determination means.
  • the present disclosure also includes a data dividing means for dividing each of a plurality of stream data input in a time series into divided data in predetermined time units, and a plurality of data dividing means for each performing a predetermined process on the stream data.
  • a server allocation device having an allocation determination means for determining a combination of a data processing means and each of the divided data of the plurality of stream data based on the correlation of a processing load on the plurality of stream data.
  • each of a plurality of stream data input in time series is divided into divided data in predetermined time units, and each of the plurality of servers executes a predetermined process on the stream data, and the above-mentioned.
  • a server allocation method in which a combination of a plurality of stream data with each of the divided data is determined based on a correlation of processing load with respect to the plurality of stream data.
  • each of a plurality of stream data input in a time series is divided into divided data in a predetermined time unit, and a plurality of servers, each of which executes a predetermined process on the stream data, and the plurality of servers.
  • a computer-readable medium for storing a program for causing a computer to execute a process of determining a combination of stream data with each of the divided data based on the correlation of processing load on the plurality of stream data.
  • the information processing device, server allocation device, method, and computer-readable medium according to the present disclosure can suppress an increase in delay time until a processing result is obtained while achieving a high node utilization rate.
  • the figure which shows the stream data conceptually.
  • the figure which shows the division example of a stream data A graph showing the time change of the number of subjects included in the stream data.
  • a flowchart showing the operation procedure of the abnormality detection device The flowchart which shows the operation procedure in step A4 of FIG.
  • the figure which shows the specific example of selection of the predetermined number of surveillance cameras in step B4 of FIG. The figure which shows the specific example of the combination generated in step B5 of FIG.
  • the figure which shows the specific example of the combination matrix C The figure which shows the specific example of the calculation of the load fluctuation score.
  • the flowchart which shows the operation procedure of the combination adjustment in step A5 of FIG. The figure which shows the specific example of the adjustment of a combination.
  • FIG. 1 schematically shows an exemplary information processing apparatus according to the present disclosure.
  • the information processing device 10 includes a data dividing means 11, a plurality of data processing means 12, an allocation determining means 13, and a data distributing means 14.
  • the data dividing means 11 divides each of the plurality of stream data input in time series into divided data in predetermined time units.
  • Each data processing means 12 executes a predetermined process on the stream data.
  • the allocation determination means 13 determines a combination of each of the divided data of the plurality of stream data and the data processing means 12 that executes a predetermined process for each divided data.
  • the allocation determination means 13 determines the combination based on the correlation of the data processing load of the plurality of stream data.
  • the data distribution means 14 distributes the divided data to the data processing means 12 according to the combination determined by the allocation determination means 13.
  • the allocation determination means 13 uses a combination of the divided data of each stream data and the data processing means that executes processing on the divided data as a correlation of the processing load between the plurality of stream data. Determine based on.
  • the allocation determination means 13 allocates divided data of two stream data having a similar processing load change pattern to different data processing means 12, for example. By doing so, it is possible to increase the node utilization rate of the data processing means 12 and suppress an increase in the delay time until the processing result is obtained in each data processing means 12.
  • FIG. 2 schematically shows a monitoring system including an information processing device according to an embodiment of the present disclosure.
  • the surveillance system 100 is configured as a system used for the purpose of detecting a suspicious person in real time and preventing a crime, for example.
  • the monitoring system 100 includes a plurality of monitoring cameras 101, a plurality of image analysis devices 102, an abnormality detection device 200, a database (DB: DataBase) 103, and a monitoring terminal 104.
  • DB DataBase
  • Each surveillance camera 101 images the surveillance target area and outputs the captured image (moving image data).
  • Each surveillance camera 101 is installed in a surveillance area where people come and go, such as an airport, a station, or a shopping mall.
  • Each surveillance camera 101 includes, for example, an image sensor, an A / D (Analog / Digital) conversion circuit, and an image processing circuit.
  • the surveillance camera 101 outputs image data (moving image data) at a predetermined frame rate.
  • the surveillance camera 101 may output moving image data encoded in a predetermined format.
  • Each image analysis device 102 analyzes the moving image data output from the surveillance camera 101 in real time, and outputs information indicating the analysis result.
  • the image analysis device 102 extracts a subject such as a person or an object from moving image data, and generates subject information.
  • the subject information includes, for example, information on the number of subjects, the flow line of each subject, and the feature amount of each subject (for example, the orientation of the face).
  • the flow line is represented as a coordinate sequence indicating the position of the subject for each time using the spatial coordinates set in the surveillance area of each surveillance camera.
  • the image analysis device 102 outputs the subject information obtained by the real-time analysis as stream data.
  • the number of the surveillance camera 101 and the image analysis device 102 is not particularly limited.
  • the number of surveillance cameras 101 may be, for example, hundreds to thousands.
  • the plurality of surveillance cameras 101 may be installed corresponding to different surveillance areas in a facility such as an airport, a station, or a shopping mode.
  • the plurality of surveillance cameras 101 may include cameras installed in different facilities.
  • FIG. 2 shows an example in which the surveillance camera 101 and the image analysis device 102 are arranged in a one-to-one relationship, but the present disclosure is not limited to this.
  • the surveillance system 100 may be configured such that one image analysis device 102 is arranged for a plurality of surveillance cameras 101, for example. In that case, the image analysis device 102 may output the subject information obtained from each surveillance camera 101 as stream data.
  • the abnormality detection device 200 performs an analysis process on the stream data input from each image analysis device 102.
  • the abnormality detection device 200 has a plurality of servers (nodes) 210. Each server 210 performs an analysis process on the stream data input from each image analysis device 102.
  • the abnormality detection device 200 uses a plurality of servers 210 to perform distributed processing of stream data input from each image analysis device 102. By processing stream data in parallel on a plurality of servers 210, a large amount of stream data can be processed at high speed.
  • the abnormality detection device 200 corresponds to the information processing device 10 of FIG.
  • each server 210 does not necessarily have to be a part of the abnormality detection device 200.
  • each server 210 may be configured as an individual device different from the abnormality detection device 200.
  • each server 210 may be configured as a cloud server arranged on the network.
  • the server 210 corresponds to the data processing means 12 of FIG.
  • the database 103 stores the result of the analysis process performed by the abnormality detection device 200.
  • the database 103 is provided in an auxiliary storage device such as a hard disk device. Alternatively, the database 103 may be provided in a storage server or the like connected via a network.
  • the monitoring terminal 104 notifies the user (monitorer) of a warning based on the result of the analysis process in the abnormality detection device 200.
  • the monitoring terminal 104 may display the position information of the detected subject and the like.
  • the abnormality detection device 200 immediately detects a subject performing an abnormal behavior, for example, within 5 seconds, based on the input subject information.
  • the observer uses the monitoring terminal 104 to confirm the occurrence of an abnormality and the position of a subject performing an abnormal behavior. When an abnormality occurs, the observer rushes a guard to the scene. By doing so, it is possible to prevent the occurrence of crimes and the like.
  • the monitoring terminal 104 is configured as, for example, a personal computer, a monitoring server, or the like.
  • FIG. 3 shows an example of image data taken by the surveillance camera 101.
  • the surveillance camera 101 captures moving image data representing the flow (movement) of a subject such as a person or a car to be monitored.
  • the image data 800 shown in FIG. 3 corresponds to one frame of image data of the moving image data output from the surveillance camera 101.
  • the surveillance camera 101 photographs a one-way passage at, for example, an airport.
  • the person 801 who is the subject moves from the back left to the front right of the image.
  • the image analysis device 102 detects a person from the image data shown in FIG. 3, and tracks the detected person.
  • FIG. 4 conceptually shows the stream data input to the abnormality detection device 200.
  • Stream data representing the analysis result of the moving image data captured by the surveillance camera 101 is input from the image analysis device 102 to the abnormality detection device 200.
  • three stream data 900 representing the analysis results of the moving image data of the surveillance cameras 1 to 3 are input to the abnormality detection device 200.
  • the stream data 900 includes, for example, a coordinate sequence (time-series coordinates) representing the flow line of each subject.
  • the flow lines of each subject are conceptually shown using arrows.
  • the flow line 901 of the wavy arrow represents the flow line of the subject showing an abnormal behavior such as wobbling or staying in the spatial coordinates.
  • the flow line 902 of the straight line arrow represents the flow line of the subject showing normal, that is, normal behavior.
  • the abnormality detection device 200 executes an analysis process for detecting the flow line 901 indicating such an abnormal behavior from the stream data 900.
  • FIG. 5 shows a configuration example of the abnormality detection device 200.
  • the abnormality detection device 200 includes a data input unit 201, a data division unit 202, a data distribution unit 203, an allocation determination unit 204, an allocation storage unit 205, an allocation adjustment unit 206, an analysis unit 208, and a data output unit 209.
  • the data division unit 202, the allocation determination unit 204, and the allocation adjustment unit 206 correspond to the server allocation device that determines the allocation between the server 210 and the stream data (the division data).
  • the data input unit 201 receives a plurality of stream data to be analyzed from the outside of the abnormality detection device 200.
  • the data input unit 201 receives a plurality of stream data from the image analysis device 102 corresponding to each surveillance camera 101.
  • the data division unit 202 divides the stream data received by the data input unit 201 by a predetermined time width.
  • FIG. 6 shows an example of dividing the stream data.
  • the data division unit 202 divides the stream data 900 by a predetermined time division width.
  • FIG. 6 shows an example in which the stream data 900 is divided into three divided data, the divided data 900a, 900b, and 900c.
  • the data division unit 202 outputs the divided data of each stream data to the data distribution unit 203.
  • the data dividing unit 202 corresponds to the data dividing means 11 of FIG.
  • the data distribution unit 203 distributes the divided data of each stream data to a plurality of servers 210.
  • the number of servers 210 is smaller than the number of surveillance cameras 101 (stream data).
  • the divided data of the stream data of the plurality of surveillance cameras 101 is distributed to at least a part of the plurality of servers 210.
  • at least a part of the plurality of servers 210 performs analysis processing on the divided data of the stream data of the plurality of surveillance cameras 101.
  • the allocation determination unit 204 determines the combination of the divided data of each stream data and the server 210 that performs analysis processing on the divided data.
  • the allocation determination unit 204 corresponds to the allocation determination means 13 of FIG. 1, and the data distribution unit 203 corresponds to the data distribution means 14 of FIG.
  • the processing load of the analysis processing for the divided data changes depending on the number of subjects included in the divided data.
  • the flow line of each subject is analyzed.
  • the number of objects for which the flow line is analyzed increases, and the processing load increases.
  • the processing load on the server 210 increases. If the processing load exceeds the processing capacity of the server 210, a load overflow may occur and the server 210 may not be able to complete the analysis process within a predetermined time.
  • the allocation determination unit 204 determines the combination of the divided data and the server 210 based on the correlation of the data processing load of the plurality of stream data.
  • the allocation determination unit 204 calculates the correlation (correlation coefficient) of the time change of the data processing load of the two surveillance cameras 101.
  • the processing load on the server 210 is considered to depend on the number of subjects in the stream data (divided data).
  • the number of subjects included in the stream data is used as an index indicating the processing load of the server 210.
  • the allocation determination unit 204 allocates, for example, the divided data of two surveillance cameras 101 having similar time changes (change patterns) in the number of subjects included in the stream data to different servers 210.
  • the allocation determination unit 204 holds information on the number of subjects in the time range of, for example, several tens of minutes to several hours in the past for each surveillance camera 101.
  • the allocation determination unit 204 calculates the correlation coefficient between the time change of the number of subjects of the camera 1 shown in FIG. 7A and the time change of the number of subjects of the camera 2 shown in FIG. 7B.
  • the allocation determination unit 204 calculates the correlation coefficient between the time change of the number of subjects of the camera 1 and the time change of the number of subjects of the camera 3 shown in FIG. 7C. Further, the allocation determination unit 204 calculates the correlation coefficient between the time change of the number of subjects of the camera 2 and the time change of the number of subjects of the camera 3.
  • FIGS. 7A and 7B there is a similarity between the change pattern of the number of subjects in the camera 1 and the change pattern of the number of subjects in the camera 2. For example, the time when the number of subjects takes the maximum value in the camera 1 and the time when the number of subjects takes the maximum value in the camera 2 coincide with each other. In this case, the correlation between the change patterns of the number of subjects between the camera 1 and the camera 2 is strong. On the other hand, when FIG. 7A and FIG. 7C are compared, the change pattern of the number of subjects in the camera 1 and the change pattern of the number of subjects in the camera 3 are not similar. In this case, the correlation between the number of subjects in the camera 1 and the camera 3 over time is weak.
  • the allocation determination unit 204 determines the combination of the divided data and the server so that the divided data of the camera 1 and the camera 2 having a strong correlation are not allocated to the same server 210.
  • the allocation determination unit 204 may select a predetermined number of surveillance cameras 101 to be allocated, and sequentially determine the servers 210 to which the divided data of the selected surveillance cameras 101 are assigned. In that case, the allocation determination unit 204, for example, changes the time of the analysis processing load on the surveillance camera 101 (stream data) allocated to each server 210, and the time of the analysis processing load on the allocation target surveillance camera 101. Calculate the correlation with change.
  • the allocation determination unit 204 calculates the ratio of the allocated surveillance cameras 101 having a strong correlation with the time change of the analysis processing load in the surveillance camera 101 to be allocated for each server.
  • the allocation determination unit 204 may allocate the surveillance camera 101 to be allocated to the server 210 having the lowest ratio of the surveillance cameras 101 having a strong correlation with the processing load.
  • the allocation determination unit 204 may determine the combination of the divided data and the server 210 based on the frequency of the load fluctuation of the analysis process in addition to the correlation of the load of the analysis process. For example, in some surveillance cameras 101, the number of subjects fluctuates greatly, and the load of analysis processing may fluctuate suddenly. When the divided data of a plurality of surveillance cameras 101 that suddenly increase the number of subjects is assigned to the same server 210, the number of subjects may increase accidentally at the same time, although the correlation of processing load is low. is there. If the load of the analysis processing of the divided data assigned to the server 210 exceeds the processing capacity of the server 210, the load overflows and the analysis processing cannot be completed within a predetermined time. The allocation determination unit 204 may prevent sudden load overflow by allocating the divided data of the surveillance camera 101 whose processing load is likely to fluctuate to another server 210.
  • the frequency of analysis processing load fluctuations for each surveillance camera 101 is considered to be related to the time (residence time) that the subject stays in the area imaged by the surveillance camera 101.
  • the residence time can be defined as, for example, the time from when the subject is framed in to the image data and detected until the subject is framed out from the image data.
  • the residence time is long, the subject moves relatively slowly, so it is unlikely that the subject will suddenly increase or decrease.
  • the residence time is short, the subject moves the shooting range of the surveillance camera 101 in a short time, so that the change in the number of subjects is considered to be relatively large.
  • the allocation determination unit 204 calculates the average residence time of the subject for each surveillance camera 101, and determines the combination of the divided data and the server 210 based on the correlation of the time change of the number of subjects and the average residence time. You may.
  • each server 210 may combine some divided data and perform analysis processing on the combined data. For example, when the server 210 to which a certain surveillance camera 101 is assigned is changed, the data distribution unit 203 transfers the past divided data required for the analysis process to the changed server 210 in addition to the divided data at the latest time. Send. When a surveillance camera 101 is continuously assigned to the same server 210, the server 210 need only obtain the latest time division data.
  • the server 210 that performs the analysis process for the divided data of the same surveillance camera 101 is changed, some of the past divided data is transmitted to the changed server 210, so that the data transfer load is increased. Increase. In addition, a transfer delay due to data transfer also occurs.
  • the amount of data in the stream data changes according to the number of subjects, and the transfer load and transfer delay increase as the number of subjects included in the stream data increases.
  • the allocation determination unit 204 may evaluate how much data transfer (movement) is required when the combination is changed, and determine the combination of the divided data and the server 210 in consideration of the evaluation result. ..
  • the allocation determination unit 204 calculates an evaluation value (score) for each of the above-mentioned correlation of time change of processing load, load fluctuation, and data movement, and based on the sum of them, the divided data and the server 210. You may decide the combination with.
  • the allocation determination unit 204 determines the combination of the divided data of each surveillance camera 101 and the server 210
  • the allocation determination unit 204 stores the combination in the allocation storage unit 205.
  • the allocation storage unit 205 stores, for example, the ID (Identifier) of the stream data and the ID of the server 210 in association with each other.
  • the allocation adjustment unit (allocation adjustment means) 206 evaluates whether or not there is a server 210 whose processing load exceeds the processing capacity when the division data is allocated to each server 210 in a combination determined by the allocation determination unit 204. .. When there is a server 210 whose processing load exceeds the processing capacity, the allocation adjustment unit 206 adjusts the allocation by allocating a part of the allocated divided data to another server.
  • the allocation adjustment unit 206 evaluates the processing load of each server when, for example, the division data is allocated to each server 210 in a combination determined by the allocation determination unit 204.
  • the allocation adjustment unit 206 totals the total number of subjects included in the divided data to be allocated for each server 210, for example. If there is a server 210 whose total number of subjects exceeds the processing capacity, the allocation adjustment unit 206 determines that a part of the divided data is moved from that server to the server having the smallest total number of subjects. In that case, the allocation adjustment unit 206 changes the server ID stored in the allocation storage unit 205 corresponding to the moving divided data.
  • the data distribution unit 203 distributes the divided data obtained by dividing the stream data of each surveillance camera 101 to the server 210 according to the correspondence of the IDs stored in the allocation storage unit 205.
  • the data distribution unit 203 refers to, for example, the allocation storage unit 205, and adds an ID (server ID) of the server 210 that processes the divided data to each of the divided data.
  • the data distribution unit 203 outputs the divided data to which the server ID is added to the analysis unit 208.
  • the analysis unit 208 includes a plurality of servers 210 for performing distributed processing and a control unit (not shown) for controlling the plurality of servers 210.
  • the server 210 corresponds to the data processing means 12 of FIG.
  • the control unit causes the server 210 corresponding to the server ID added to each divided data to process the divided data.
  • One or a plurality of different divided data are distributed (allocated) to each server 210, and each server 210 performs an analysis process of the allocated divided data.
  • Each server 210 outputs the analysis result obtained in the analysis process.
  • the analysis result includes, for example, information on a subject in which suspicious behavior is detected.
  • the data output unit 209 integrates the analysis results output from the plurality of servers 210 and creates stream data (analysis result stream) of the analysis result for each stream data.
  • the data output unit 209 transmits the created analysis result stream to an external device such as the database 103 and the monitoring terminal 104.
  • FIG. 8 shows an operation procedure (abnormality detection method) of the abnormality detection device 200.
  • the abnormality detection device 200 determines whether or not the system is stopped (step A1). When the abnormality detection device 200 determines that the system is stopped, the abnormality detection device 200 ends the process.
  • the data input unit 201 acquires stream data from the image analysis device 102 corresponding to each surveillance camera 101 (step A2).
  • the data input unit 201 acquires, for example, stream data including subject information output in time series from each image analysis device 102.
  • the data division unit 202 divides each of the acquired stream data by a predetermined time width (step A3).
  • the allocation determination unit 204 determines the combination of the divided data and the server 210 that processes the divided data (step A4).
  • FIG. 9 shows the operation procedure (server allocation method) in step A4.
  • the allocation determination unit 204 determines whether or not the combination of the divided data and the server 210 is stored in the allocation storage unit 205 (step B1).
  • the allocation determination unit 204 determines that the combination is not stored in the allocation storage unit 205 at the first server allocation.
  • the allocation determination unit 204 determines the combination of the divided data and the server 210 by round robin in order from the surveillance camera 101 having the largest number of subjects (step B2). ..
  • the allocation determination unit 204 stores the determined combination in the allocation storage unit 205 (step B10).
  • the allocation determination unit 204 determines whether or not there is a bias in the number of people to be processed among the servers 210 (step B3).
  • the allocation determination unit 204 calculates the total number of subjects included in the allocated divided data for each server 210, and compares the number of subjects processed by each server.
  • the allocation determination unit 204 calculates an index indicating the bias in the number of subjects between the servers 210, for example, the variance, and determines whether or not the variance is equal to or greater than a predetermined threshold value. When the variance is equal to or greater than the threshold value, the allocation determination unit 204 may determine that the number of people to be processed is biased.
  • the allocation determination unit 204 may calculate the difference between the maximum value and the minimum value of the number of subjects and compare the difference with the threshold value. When the difference is equal to or greater than the threshold value, the allocation determination unit 204 may determine that the number of people to be processed is biased.
  • the allocation determination unit 204 for example, when the total number of subjects included in the divided data assigned to the server 1 is "42" and the total number of subjects included in the divided data assigned to the server 2 is "16". , Judge that the number of people to be processed is biased. When the total number of subjects included in the divided data assigned to the server 1 is "30" and the total number of subjects included in the divided data assigned to the server 2 is "28", the allocation determination unit 204 Judge that the number of people to be processed is not biased. When the allocation determination unit 204 determines that the number of people to be processed is not biased, the process ends because it is not necessary to change the combination of the divided data and the server 210. In this case, it is possible to prevent the combination of the divided data and the server 210 from being unnecessarily changed, increasing the data transfer load and causing a data transfer delay.
  • the allocation determination unit 204 determines in step B3 that the number of processing people is not biased, it selects a predetermined number of surveillance cameras from the unselected surveillance cameras 101 (step B4).
  • the allocation determination unit 204 sorts, for example, a plurality of surveillance cameras 101 in descending order based on the number of subjects included in the divided data.
  • the allocation determination unit 204 selects k ⁇ N surveillance cameras 101 from the side with the largest number of subjects, where, for example, the number of servers 210 is N and k is an arbitrary integer of 1 or more.
  • FIG. 10 shows a specific example of selecting a predetermined number of surveillance cameras in step B4.
  • the data is sorted in descending order of processing load, that is, in descending order of the number of subjects included in the divided data.
  • the surveillance cameras 1, 2, 3, and 5 have already been assigned to the server 210.
  • the allocation determination unit 204 selects the unallocated surveillance cameras k and the two surveillance cameras 4 and 6 having the next highest processing load after the allocated surveillance cameras 101.
  • the allocation determination unit 204 may select all the unallocated surveillance cameras 101.
  • the allocation determination unit 204 generates all combinations of the surveillance camera 101 from which the allocated divided data is acquired and the surveillance camera 101 selected in step B4 (step B5).
  • FIG. 11 shows a specific example of the combination generated in step B5.
  • surveillance cameras 1 and 3 are already assigned to the server 1, and surveillance cameras 2 and 5 are already assigned to the server 2.
  • step B5 the allocation determination unit 204 generates all combinations in which the surveillance cameras 4 and 6 selected in step B4 are added to the allocated surveillance cameras of the server 1 and the server 2. Specifically, the allocation determination unit 204 generates a combination A in which the surveillance camera 4 is assigned to the server 1 in addition to the surveillance cameras 1 and 3, and the surveillance camera 6 is assigned to the server 2 in addition to the surveillance cameras 2 and 2. To do. Further, the allocation determination unit 204 generates a combination B in which the surveillance camera 6 is assigned to the server 1 in addition to the surveillance cameras 1 and 3, and the surveillance camera 4 is assigned to the server 2 in addition to the surveillance cameras 2 and 2.
  • step B5 the allocation determination unit 204 generates a combination matrix C of the server and the surveillance camera corresponding to the generated combination.
  • FIG. 12 shows a specific example of the combination matrix C.
  • the value "1" is stored in the element corresponding to the surveillance camera assigned to server 1
  • the value "0" is stored in the element corresponding to the surveillance camera not assigned to server 1. It is stored.
  • the values in the first row and the fourth column are "1", which means that the divided data of the surveillance camera 4 is assigned to the server 1.
  • the combination matrix C shown in FIG. 12 corresponds to the combination A in FIG.
  • the allocation determination unit 204 also generates a combination matrix corresponding to the combination B in FIG.
  • the allocation determination unit 204 selects one of the combinations generated in step B5, and calculates the evaluation value (score) when the divided data is assigned to the server 210 with that combination (step B6).
  • the allocation determination unit 204 calculates a score (load correlation score) for the correlation of the change pattern of the number of subjects between the divided data. Further, the allocation determination unit 204 calculates a score (load fluctuation score) lf with respect to the average residence time of the subject in each division data.
  • the allocation determination unit 204 further calculates a score (data movement amount score) dt for the transfer (data movement) of the divided data due to the server change.
  • the load correlation score lc indicates, for example, the low correlation of the change pattern of the number of subjects in the surveillance cameras assigned to each server.
  • the allocation determination unit 204 calculates the ratio of the pair of surveillance cameras having a high correlation of the change pattern of the number of subjects for each server in the selected combination.
  • the load correlation score lc is calculated by subtracting the maximum value of the ratio of the pair of surveillance cameras with high correlation calculated for each server from 1.
  • the allocation determination unit 204 calculates the correlation between the surveillance cameras 1, 3 and 4 assigned to the server 1 for the above-mentioned combination A (see FIG. 11), for example.
  • the allocation determination unit 204 obtains the number of pairs of surveillance cameras whose correlation is equal to or higher than the threshold value, and calculates the ratio of the pairs of surveillance cameras whose correlation is equal to or higher than the threshold value to all pairs.
  • the allocation determination unit 204 also calculates the correlation between the assigned surveillance cameras 2, 5, and 6 for the server 2, and calculates the ratio of the surveillance camera pairs whose correlation is equal to or greater than the threshold value for all the pairs.
  • the load variation score lf indicates, for example, the magnitude of variation in the residence time of the subject in the surveillance cameras assigned to each server.
  • the allocation determination unit 204 obtains the residence time of the subject in each surveillance camera.
  • the allocation determination unit 204 calculates an index (coefficient of variation) indicating variation in the residence time of the subject in the assigned surveillance camera for each server in the selected combination.
  • the allocation determination unit 204 calculates, for example, the variance or average of the residence time of the subject as a coefficient of variation for each server.
  • the allocation determination unit 204 sets the average of the coefficient of variation of all the servers as the load variation score lf.
  • FIG. 13 shows a specific example of calculation of the load fluctuation score.
  • the allocation determination unit 204 acquires the average residence time of the subjects in the surveillance camera 1 (ID: 001), the surveillance camera 3 (ID: 003), and the surveillance camera 4 (ID: 004) for the server 1.
  • the allocation determination unit 204 acquires the average residence time of the subjects in the surveillance camera 2 (ID: 002), the surveillance camera 5 (ID: 005), and the surveillance camera 6 (ID: 006) for the server 2.
  • the allocation determination unit 204 calculates the average 0.644 of the coefficient of variation (0.643) of the server 1 and the coefficient of variation (0.645) of the server 2 as the load fluctuation score lf.
  • the data movement amount score dt indicates the amount of data (data movement amount) that is moved as the combination of the divided data and the server is changed.
  • the allocation determination unit 204 compares the current combination of the divided data and the server with the combination of the divided data and the server in the selected combination, and identifies the divided data in which the server is changed.
  • the allocation determination unit 204 totals the number of subjects included in the specified divided data.
  • the allocation determination unit 204 calculates the ratio of the number of subjects included in the specified division data to the total number of subjects included in each division data.
  • the allocation determination unit 204 calculates the value obtained by subtracting the ratio calculated from 1 as the data amount movement score dt.
  • FIG. 14 shows a specific example of calculation of the data movement amount score dt.
  • the allocation determination unit 204 obtains the number of subjects included in the divided data for each surveillance camera. The number of subjects may be the average of the number of subjects in the past fixed period, or may be the number of (latest) subjects included in the immediately preceding divided data.
  • the allocation determination unit 204 compares the combination of the divided data and the server stored in the allocation storage unit 205 with the selected combination, and identifies the divided data (surveillance camera) to which the server is changed. In the example of FIG. 14, when the combination is changed, the server that performs the analysis process for the surveillance camera 4 (ID: 0004) and the surveillance camera 5 (ID: 005) changes.
  • the allocation determination unit 204 calculates the sum of the scores lc, lf, and dt as a score for the selected combination.
  • the allocation determination unit 204 may multiply each of the scores lc, lf, and dt by a weighting factor and determine the sum of them as a score for the selected combination.
  • the score for the selected combination may be calculated using the following formula, where w1 is a weight for the score lc, w2 is a weight for the score lf, and w3 is a weight for the score dt.
  • Score w1 x lc + w2 x lf + w2 x dt
  • the weights w1, w2, and w3 are set to values of 0 or more and 1 or less, for example.
  • w1, w2, and w3 are 0.33.
  • the load correlation score lc is 0.67
  • the load variation score lf is 0.644
  • the data movement amount score dt is 0.62
  • the allocation determination unit 204 determines whether all combinations have been selected (step B7). When the allocation determination unit 204 determines that all the combinations have not been selected, it returns to step B6 and selects one from the unselected combinations. The allocation determination unit 204 repeatedly executes step B6 until it is determined that all combinations have been selected in step B7, and calculates scores for all the combinations generated in step B5.
  • the allocation determination unit 204 selects a combination based on the score of each combination calculated in step B6 (step B8). In step B8, the allocation determination unit 204 determines, for example, the combination having the minimum score calculated above as the combination of the changed divided data and the server. In the steps up to this point, the server 210 to which the divided data of the surveillance camera 101 selected in step B4 is assigned is determined.
  • the allocation determination unit 204 determines whether or not all the surveillance cameras 101 have been processed (step B9). In step B9, the allocation determination unit 204 determines whether or not there is a surveillance camera 101 that has not been selected in step B4. When the allocation determination unit 204 determines that all the surveillance cameras 101 have not been processed, it returns to step B4 and selects the next surveillance camera 101 to be processed. When the allocation determination unit 204 determines that all the surveillance cameras 101 have been processed in step B9, the process proceeds to step B10, and the allocation storage unit 205 stores the combination selected in step B8.
  • the allocation adjustment unit 206 adjusts the combination of the divided data stored in the allocation storage unit 205 and the server 210 (step A5).
  • FIG. 15 shows the operation procedure of the combination adjustment in step A5.
  • the allocation adjustment unit 206 totals the total number of subjects included in the allocation data for each server 210 according to the allocation stored in the allocation storage unit 205 (step C1).
  • the allocation adjustment unit 206 sorts the server 210 in descending order of the total number of subjects in the server 210 (step C2).
  • the allocation adjustment unit 206 determines whether or not half of the servers 210 sorted in descending order of the number of subjects have been processed (step C3). When the allocation adjustment unit 206 determines in step C3 that half of the servers 210 have not been processed, the allocation adjustment unit 206 selects one server 210 in order from the server having the largest total number of subjects. The allocation adjustment unit 206 determines whether or not the processing load of the selected server 210 exceeds the processing capacity of that server (step C4). In step C4, the allocation adjustment unit 206 compares the number of predetermined subjects set as the processing capacity of the selected server 210 with the total number of subjects in the server 210 totaled in step C1. The allocation adjustment unit 206 determines that the processing load does not exceed the processing capacity of the server 210 when the total number of the aggregated subjects does not exceed the number of subjects representing the processing capacity.
  • the allocation adjustment unit 206 determines that the processing load exceeds the processing capacity of the server 210 when the total number of the aggregated subjects exceeds the number of subjects representing the processing capacity.
  • the allocation adjustment unit 206 determines in step C4 that the processing load exceeds the processing capacity of the server 210, the allocation adjustment unit 206 generates an exchange pair to which the processing load of the selected server 210 is moved (step C5).
  • the allocation adjustment unit 206 determines, in order from the server 210 having the smallest total number of subjects aggregated in step C1, the servers that have not yet been determined as the transfer destination of the processing load as the servers of the exchange pair. After that, the process returns to step C3, and it is determined whether or not the process has been completed up to half of the server 210.
  • the allocation adjustment unit 206 repeatedly executes steps C4 and C5 until it is determined in step C3 that processing has been completed up to half of the server 210, and the server 210 to which the processing load of the server 210 whose processing load exceeds the processing capacity is moved is transferred. decide.
  • the allocation adjustment unit 206 determines that half of the server 210 has been processed in step C3, it determines whether or not there is an unprocessed exchange pair (step C6).
  • step C6 When the allocation adjustment unit 206 determines that there is an unprocessed exchange pair in step C6, a part of the divided data allocated to the server whose processing load is determined to exceed the processing capacity in step C4 is part of the exchange pair.
  • the assignment between the surveillance camera 101 and the server 210 is changed so as to be assigned to the server 210 (step C7). After that, the process returns to step C6, and step C7 is executed until there are no unprocessed exchange pairs.
  • FIG. 16 shows a specific example of adjusting the combination.
  • the allocation storage unit 205 stores a combination matrix C in which the divided data of the surveillance cameras 1, 3, and 4 is assigned to the server 1, and the divided data of the surveillance cameras 2, 5, and 6 is assigned to the server 2.
  • the allocation adjustment unit 206 determines whether or not the total number of subjects exceeds the processing capacity of the server 2 having a large number of subjects.
  • the processing capacity of the server 2 is 45.
  • the processing power of the server is defined as a value related to the number of subjects that can be processed without causing a load overflow in the server, for example. Since the total number of subjects exceeds the processing capacity of the server 2, the allocation adjustment unit 206 determines the server 1 having a small number of subjects as an exchange pair.
  • the allocation adjustment unit 206 moves a part of the divided data assigned to the server 2 to the server 1.
  • the allocation adjustment unit 206 moves, for example, the division data having the smallest number of subjects among the division data assigned to the server 2 to the server 1.
  • the allocation adjustment unit 206 changes the server to which the surveillance camera 6 is allocated from the server 2 to the server 1.
  • the allocation adjustment unit 206 stores the combination of the adjusted divided data and the server 210 in the allocation storage unit 205. By doing so, it is possible to prevent the load overflow when the number of subjects suddenly increases, while allocating a large amount of divided data of the surveillance cameras 101 to each server 210. Further, by moving the divided data to the server 210 having a light processing load, it is possible to correct the bias of the processing load between the servers.
  • the data distribution unit 203 refers to the allocation storage unit 205, and according to the combination of the division data stored in the allocation storage unit 205 and the server 210, the divided data divided in step A3 is divided into the server 210. (Step A6).
  • the data distribution unit 203 adds a server ID stored in the allocation storage unit 205 corresponding to each division data to each of the division data divided in step A3, and transmits the data distribution unit 203 to the analysis unit 208. ..
  • each of the plurality of servers 210 executes an analysis process on the divided data distributed in step A6 (step A7).
  • each server 210 performs analysis processing in parallel.
  • Each server 210 outputs the result of the analysis process to the data output unit 209.
  • the data output unit 209 integrates the analysis processing results for each surveillance camera 101 (stream data) and outputs the analysis result stream data (analysis result stream) (step A8).
  • the data output unit 209 outputs the analysis result stream to at least one of the database 103 and the monitoring terminal 104.
  • the allocation determination unit 204 determines the combination of the divided data and the server 210 so that the divided data of the stream data having a high correlation of the change pattern of the processing load is processed by the different servers 210 as much as possible. By doing so, even if the number of subjects increases at the same timing in some divided data, it is possible to avoid an increase in the processing load on the specific server 210.
  • the server 210 processes a plurality of divided data, and the utilization efficiency of the server can be improved. Further, in the present embodiment, it is possible to prevent the load from overflowing and prevent the delay time until the analysis result is obtained from being extended.
  • the abnormality detection device 200 can be configured as, for example, a computer device.
  • FIG. 17 shows a hardware configuration example of the abnormality detection device 200.
  • the abnormality detection device 200 includes a CPU 701, a memory 702, a storage device 703, an input / output interface (I / F) 704, and a computer cluster 705.
  • the CPU 701 performs a predetermined operation according to a program stored in the memory 702 and / or the storage device 703. Further, the CPU 701 has a function of controlling each part of the abnormality detection device 200.
  • the CPU 701 executes the process according to the program, at least the functions of the data input unit 201, the data division unit 202, the data distribution unit 203, the allocation determination unit 204, the allocation adjustment unit 206, and the data output unit 209 shown in FIG. Some will be realized.
  • the memory 702 includes a volatile memory such as a RAM (Random Access Memory).
  • the memory 702 provides a memory area required for the operation of the CPU 701. Further, the memory 702 can be used as a buffer area for realizing the functions of the data input unit 201 and the data output unit 209.
  • the storage device 703 is configured as an auxiliary storage device such as a flash memory, an SSD (Solid State Drive), or an HDD (Hard Disk Drive).
  • the storage device 703 provides a storage area that realizes the function of the allocation storage unit 205.
  • the storage device 703 stores, for example, a basic program such as an OS (Operating System) that operates the abnormality detection device 200, an application program for performing analysis processing, and the like.
  • the input / output interface 704 includes a module for communicating with an external device based on a standard such as USB (Universal Serial Bus), Ethernet (registered trademark), and / or Wi-Fi (registered trademark).
  • a computer cluster 705 is a system in which a plurality of computers or processors are combined. The computer cluster 705 realizes the function of the analysis unit 208.
  • Non-transient computer-readable media include various types of tangible storage media.
  • Examples of non-temporary computer-readable media are magnetic recording media such as flexible disks, magnetic tapes, or hard disks, such as magneto-optical recording media such as magneto-optical disks, CDs (compact discs), or DVDs (digital versatile disks).
  • Includes optical disk media such as, and semiconductor memory such as mask ROM (read only memory), PROM (programmable ROM), EPROM (erasable PROM), flash ROM, or RAM.
  • the program may also be supplied to the computer using various types of temporary computer-readable media. Examples of temporary computer-readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • the hardware configuration shown in FIG. 17 is an example, and the configuration of the abnormality detection device 200 is not limited to that shown.
  • the abnormality detection device 200 may have a configuration in which another device is added to the components shown in FIG. 17, or may not have some of the elements inside.
  • some functions may be provided from other devices via a network, and even if the functions constituting the present embodiment are distributed and realized in a plurality of devices. Good.
  • the stream data 900 is data generated from moving image data
  • the stream data 900 may be moving image data itself as long as the amount of input data changes with the passage of time.
  • the stream data is not limited to the data related to the moving image, and may be audio data, other data of data input from a large number of sensors, or the like.
  • the information processing device is configured as the abnormality detection device 200 has been described, but the disclosure is not limited to this.
  • the information processing device according to the present disclosure can be widely applied to an analysis target in which stream data such as stock price information of a stock exchange, credit card usage information, or traffic information is generated.
  • the abnormality detection device 200 receives stream data including subject information from the image analysis device 102
  • the abnormality detection device 200 may have the function of the image analysis device 102, and the subject information may be generated in the abnormality detection device 200.
  • the load correlation score lc indicates the low correlation
  • the load variation score lf indicates the magnitude of the variation in the residence time of the subject
  • the data movement amount score dt indicates the data movement amount.
  • the load correlation score lc may indicate the height of the correlation
  • the load variation score lf may indicate the small variation in the residence time of the subject
  • the data movement amount score dt may indicate the amount of data that does not move. In that case, the allocation determination unit 204 may select the combination having the highest score.
  • a data division means for dividing each of a plurality of stream data input in time series into divided data in a predetermined time unit, and A plurality of data processing means, each of which executes a predetermined process on the stream data
  • An allocation determining means for determining a combination of each of the divided data of the plurality of stream data and a data processing means for executing a predetermined process for each divided data based on the correlation of the processing load on the plurality of stream data.
  • An information processing device including a data distribution means that distributes the divided data to the data processing means according to a combination determined by the allocation determination means.
  • Appendix 2 The information processing apparatus according to Appendix 1, wherein the allocation determining means determines the combination so that two divided data having a correlation of the processing load or more equal to or higher than a threshold value are processed by different data processing means.
  • Appendix 3 The allocation determining means is described in Appendix 1 or 2 in which a predetermined number of the plurality of stream data are selected as the stream data to be allocated, and the data processing means to which the divided data of the stream data to be allocated is assigned is sequentially determined. Information processing device.
  • Appendix 4 The information processing apparatus according to Appendix 3, wherein the allocation determination means sorts the plurality of stream data in descending order of processing load and selects the predetermined number of stream data in descending order of processing load.
  • Appendix 5 The information processing apparatus according to Appendix 3 or 4, wherein the allocation determination means selects the stream data by N ⁇ k, where N is the number of the data processing means and k is a predetermined integer of 1 or more.
  • the allocation determining means has each of the time change of the processing load for the stream data of the division source of one or more divided data assigned to the data processing means and the time change of the processing load for the stream data to be allocated. For each data processing means, the ratio of stream data whose correlation with the time change of the processing load with respect to the stream data to be allocated is equal to or greater than the threshold value is calculated, and the data processing having the lowest ratio is calculated.
  • the information processing apparatus according to any one of Appendix 3 to 5, wherein the divided data of the stream data to be allocated is assigned to the means.
  • the allocation determining means obtains a variation in the frequency of fluctuation of the processing load with respect to the stream data of the division source of the divided data processed by the same data processing means for each of the data processing means, and based on the variation, the divided data and the said The information processing apparatus according to Appendix 7, which determines a combination with a data processing means.
  • the time width of the stream data referred to by the predetermined process executed by the data processing means is shorter than the time width of the divided data.
  • the allocation determination means evaluates the amount of data to be transferred to the changed data processing means of the allocation destination when the data processing means of the allocation destination of the divided data is changed, and correlates the processing load and the said.
  • the information processing apparatus according to any one of Supplementary note 1 to 8, wherein the combination of the divided data and the data processing means is determined based on the result of the evaluation in addition to the fluctuation frequency of the processing load.
  • the allocation determination means obtains a load correlation score indicating a low correlation of the processing load based on the ratio of the stream data whose correlation with the time change of the processing load with respect to the stream data to be allocated is equal to or greater than the threshold value.
  • the load fluctuation score indicating the magnitude of the variation in the fluctuation frequency of the processing load is calculated, and the data movement amount score indicating the amount of data transferred to the changed data processing means of the allocation destination is calculated.
  • the information processing apparatus according to Appendix 9, wherein the combination of the divided data and the data processing means is determined based on the sum of the load correlation score, the load fluctuation score, and the data movement amount score.
  • Appendix 11 The information processing apparatus according to Appendix 10, wherein the allocation determination means calculates a value obtained by subtracting the maximum value of the ratio of stream data whose correlation is equal to or greater than a threshold value from 1 calculated for each data processing means as a load correlation score. ..
  • Appendix 12 The information processing apparatus according to Appendix 10 or 11, wherein the allocation determination means calculates the load fluctuation score based on an average value of the magnitude of variation in the fluctuation frequency of the processing load calculated for each data processing means.
  • the allocation determining means compares the combination before the change with the combination after the change, aggregates the values related to the data amount of the divided data to be changed by the data processing means of the allocation destination, and collects the data of the divided data.
  • the information processing apparatus according to any one of Appendix 10 to 12, which calculates the ratio of the aggregated values to the total of the values related to the amount, and calculates the value obtained by subtracting the ratio from 1 as the data movement amount score.
  • the allocation determining means multiplies the load correlation score, the load fluctuation score, and the data movement amount score, respectively, and weights and adds the load correlation score, the load fluctuation score, and the data movement amount score. 13 The information processing apparatus according to any one of 13.
  • the allocation determining means determines the combination of the divided data and the data processing means that minimizes the sum of the load correlation score, the load fluctuation score, and the data movement amount score as a new combination.
  • the information processing device according to any one.
  • the divided data evaluates the processing load of each data processing means when the data processing means is assigned, and the allocation adjusts the combination based on the evaluation result.
  • the information processing apparatus according to any one of Supplementary Notes 1 to 15, further comprising adjusting means.
  • the allocation adjusting means uses the combination so as to move a part of the divided data assigned to the data processing means to another data processing means.
  • the information processing apparatus according to Appendix 16 to be adjusted.
  • the allocation adjusting means determines the data processing means to which a part of the divided data is transferred from the data processing means having the lowest processing load to the data processing means whose processing load exceeds the processing capacity.
  • a server allocation device having an allocation determination means.
  • Appendix 21 The server allocation device according to Appendix 20, wherein the allocation determination means determines the combination so that two divided data having a processing load correlation equal to or higher than a threshold value are processed by different data processing means.
  • Appendix 22 The server allocation device according to Appendix 20 or 21, wherein the allocation determination means further determines a combination of the divided data and the data processing means based on the fluctuation frequency of the processing load for the stream data.
  • the time width of the stream data referred to by the predetermined process executed by the data processing means is shorter than the time width of the divided data.
  • the allocation determination means evaluates the amount of data to be transferred to the changed data processing means of the allocation destination when the data processing means of the allocation destination of the divided data is changed, and correlates the processing load and the said.
  • the server allocation device according to any one of Appendix 20 to 22, which determines a combination of the divided data and the data processing means based on the result of the evaluation in addition to the fluctuation frequency of the processing load.
  • the division data evaluates the processing load of each data processing means when the data processing means is assigned, and the allocation adjusts the combination based on the evaluation result.
  • the server allocation device according to any one of Appendix 20 to 23, further comprising an adjusting means.
  • Each of a plurality of stream data input in chronological order is divided into divided data in a predetermined time unit, and the data is divided. It is determined that the combination of a plurality of servers, each of which executes a predetermined process on the stream data, and each of the divided data of the plurality of stream data is determined based on the correlation of the processing load on the plurality of stream data. Server allocation method to have.
  • Each of a plurality of stream data input in chronological order is divided into divided data in a predetermined time unit, and the data is divided.
  • a computer-readable medium that stores programs that you want your computer to run.
  • Information processing device 11 Data division means 12: Data processing means 13: Allocation determination means 14: Data distribution means 100: Monitoring system 101: Surveillance camera 102: Image analysis device 103: Database 104: Monitoring terminal 200: Abnormality detection device 201: Data input unit 202: Data division unit 203: Data distribution unit 204: Allocation determination unit 205: Allocation storage unit 206: Allocation adjustment unit 208: Information processing unit 209: Data output unit 210: Server

Abstract

データ分割手段(11)は、時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割する。複数のデータ処理手段(12)のそれぞれは、ストリームデータに対して所定処理を実行する。割当決定手段(13)は、複数のストリームデータの分割データのそれぞれと、各分割データに対して所定処理を実行するデータ処理手段(12)との組み合わせを、複数のストリームデータに対する処理負荷の相関に基づいて決定する。データ分配手段(14)は、割当決定手段(13)が決定した組み合わせに従って、分割データをデータ処理手段(12)に分配する。

Description

情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体
 本発明は、情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体に関する。
 関連技術として、複数地点に設置された複数のカメラを統合して監視を行う監視システムが知られている。例えば、特許文献1は、監視システムに用いられる画像処理装置を開示する。特許文献1において、複数のカメラは、それぞれ別の場所に配置される。画像処理装置は、入力画像から物体領域を検出する検出部を複数有する。画像処理装置において、接続方法制御部は、複数のカメラと複数の検出部との接続を、カメラごとに設定される優先度に応じて制御する。
 特許文献1において、顔領域が多く検出される映像を撮影するカメラの優先度は高く設定され、検出される顔領域の数が少ない映像を撮影するカメラの優先度は低く設定される。接続方法制御部は、優先度が高いカメラにより撮影される画像が複数の検出部に入力されるように、カメラと検出部との接続を制御する。このようにすることで、検出される顔領域の数が多く、従って処理負荷が高い画像を、複数の検出部で分担して処理させることができる。
 また、別の関連技術として、特許文献2は、時系列で入力されるセンサデータを複数のノードで分散処理する情報処理装置を開示する。特許文献2において、サーバノードは、時系列データを、時系列上において隣り合う分割データ同士でその範囲の一部が重複するように分割する。サーバノードは、分割データを、複数のクライアントノードに分配する。各クライアントノードは、分割データに対する予測計算を並列的に行い、得られた計算結果をサーバノードに送信する。サーバノードは、クライアントノードから受信した計算結果を時系列に沿って集約する。特許文献2では、時系列データを複数のクライアントノードで並行に処理できるため、時系列データに対する処理を高速に実施できる。
特開2011-70576号公報 特開2006-252394号公報
 ところで、映像解析結果の時系列データストリームを活用し、滞留やふらつきなどについての一定期間の時系列パターンを検出したいというニーズがある。特に、パブリックセーフティの領域においては、そのような時系列パターンの検知を、リアルタイムに、多数カメラの時系列データストリーム群に対して行うことが、実用上重要である。
 複数のノード(サーバ)で分割データを並列処理する場合、1つのノードにおいて、例えば複数のカメラから得られた時系列データの分割データを処理することで、ノードの利用効率を高めることができる。しかしながら、その場合、分割データの処理負荷が高くなると、ノードにおいて、複数のカメラから得られた時系列データ分割データを、所定の時間以内に処理することができなくなる場合がある。
 特許文献1では、検出される顔領域が多いカメラの画像は複数の検出部に入力される。特許文献1では、処理負荷が高い1つのカメラの画像が複数の検出部に入力されるため、検出部の利用効率が低いという問題がある。特許文献2については、仮に、1つのクライアントノードに複数カメラの分割データを割り当てた場合、ノードの利用効率を高めることができる。しかしながら、その場合、同じクライアントノードに割り当てられるカメラデータにおいて被写体の数が同時に増加すると、クライアントノードにおける処理負荷が急激に上昇し、所定時間以内に処理を完了できない可能性がある。その場合、処理結果が得られるまでの時間(遅延時間)が長くなる。
 本開示は、上記事情に鑑み、高いノード利用率を実現しつつ、処理結果が得られるまでの遅延時間を抑制可能な情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体を提供することを目的とする。
 上記目的を達成するために、本開示は、時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割するデータ分割手段と、それぞれが前記ストリームデータに対して所定処理を実行する複数のデータ処理手段と、前記複数のストリームデータの分割データのそれぞれと、各分割データに対して所定処理を実行するデータ処理手段との組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定する割当決定手段と、前記割当決定手段が決定した組み合わせに従って、前記分割データを前記データ処理手段に分配するデータ分配手段とを備える情報処理装置を提供する。
 本開示は、また、時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割するデータ分割手段と、それぞれが前記ストリームデータに対して所定処理を実行する複数のデータ処理手段と、前記複数のストリームデータの分割データのそれぞれとの組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定する割当決定手段とを有するサーバ割当装置を提供する。
 本開示は、更に、時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割し、それぞれが前記ストリームデータに対して所定処理を実行する複数のサーバと、前記複数のストリームデータの分割データのそれぞれとの組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定することを有するサーバ割当方法を提供する。
 本開示は、時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割し、それぞれが前記ストリームデータに対して所定処理を実行する複数のサーバと、前記複数のストリームデータの分割データのそれぞれとの組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定する処理をコンピュータに実行させるためのプログラムを格納するコンピュータ可読媒体を提供する。
 本開示に係る情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体は、高いノード利用率を実現しつつ、処理結果が得られるまでの遅延時間の増加を抑制できる。
本開示に係る例示的な情報処理装置を概略的に示すブロック図。 本開示の一実施形態に係る情報処理装置を含む監視システムを概略的に示すブロック図。 監視カメラで撮影される画像データの一例を示す図。 ストリームデータを概念的に示す図。 異常検知装置の構成例を示すブロック図。 ストリームデータの分割例を示す図。 ストリームデータに含まれる被写体の数の時間変化を示すグラフ。 ストリームデータに含まれる被写体の数の時間変化を示すグラフ。 ストリームデータに含まれる被写体の数の時間変化を示すグラフ。 異常検知装置の動作手順を示すフローチャート。 図8のステップA4における動作手順を示すフローチャート。 図9のステップB4における所定数の監視カメラの選択の具体例を示す図。 図9のステップB5で生成される組み合わせの具体例を示す図。 組み合わせ行列Cの具体例を示す図。 負荷変動スコアの計算の具体例を示す図。 データ移動量スコアの計算の具体例を示す図。 図8のステップA5における組み合わせ調整の動作手順を示すフローチャート。 組み合わせの調整の具体例を示す図。 異常検知装置のハードウェア構成例を示すブロック図。
 本開示の実施の形態の説明に先立って、本開示の概要を説明する。図1は、本開示に係る例示的な情報処理装置を概略的に示す。情報処理装置10は、データ分割手段11、複数のデータ処理手段12、割当決定手段13、及びデータ分配手段14を有する。データ分割手段11は、時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割する。各データ処理手段12は、ストリームデータに対して所定処理を実行する。
 割当決定手段13は、複数のストリームデータの分割データのそれぞれと、各分割データに対して所定処理を実行するデータ処理手段12との組み合わせを決定する。割当決定手段13は、上記組み合わせを、複数のストリームデータのデータ処理の負荷の相関に基づいて決定する。データ分配手段14は、割当決定手段13が決定した組み合わせに従って、分割データをデータ処理手段12に分配する。
 上記情報処理装置10において、割当決定手段13は、各ストリームデータの分割データと、その分割データに対して処理を実行するデータ処理手段との組み合わせを、複数のストリームデータ間の処理負荷の相関に基づいて決定する。割当決定手段13は、例えば処理負荷の変化のパターンが似ている2つのストリームデータの分割データを、異なるデータ処理手段12に割り当てる。このようにすることで、データ処理手段12のノード利用率を高めつつ、各データ処理手段12において処理結果が得られるまでの遅延時間の増加を抑制できる。
 以下、図面を参照しつつ、本開示の実施の形態を詳細に説明する。図2は、本開示の一実施形態に係る情報処理装置を含む監視システムを概略的に示す。監視システム100は、例えば不審者をリアルタイムに発見し、犯罪を未然に防止する目的のために使用されるシステムとして構成される。監視システム100は、複数の監視カメラ101、複数の画像解析装置102、異常検知装置200、データベース(DB:Data Base)103、及び監視端末104を有する。
 各監視カメラ101は、監視対象領域を撮像し、撮像した映像(動画像データ)を出力する。各監視カメラ101は、例えば、空港、駅、又はショッピングモールなどの人の往来がある監視区域に設置される。各監視カメラ101は、例えば撮像素子、A/D(Analog/Digital)変換回路、及び画像処理回路を含む。監視カメラ101は、所定のフレームレートで画像データ(動画像データ)を出力する。監視カメラ101は、所定の形式で符号化された動画像データを出力してもよい。
 各画像解析装置102は、監視カメラ101から出力される動画像データをリアルタイムに解析し、その解析結果を示す情報を出力する。画像解析装置102は、例えば、動画像データから人物や物体などの被写体を抽出し、被写体情報を生成する。被写体情報は、例えば被写体の数、各被写体の動線、各被写体の特徴量(例えば顔の向きなど)の情報を含む。例えば、動線は、各監視カメラの監視区域内に設定された空間座標を用いて、時刻ごとの被写体の位置を示す座標列として表される。画像解析装置102は、リアルタイム解析により得られた被写体情報を、ストリームデータとして出力する。
 なお、図2では、監視カメラ101と画像解析装置102との組が3つ図示されているが、監視カメラ101及び画像解析装置102の数は特に限定されない。監視カメラ101の数は、例えば数百から数千であってもよい。監視システム100において、複数の監視カメラ101は、例えば空港、駅、又はショッピングモードなどの施設において相互に異なる監視区域に対応して設置されていてもよい。あるいは、複数の監視カメラ101は、別の施設に設置されたカメラを含んでいてもよい。
 また、図2では、監視カメラ101と画像解析装置102とが1対1の関係で配置される例が示されているが、本開示はこれには限定されない。監視システム100は、例えば複数の監視カメラ101に対して画像解析装置102が1つ配置される構成であってもよい。その場合、画像解析装置102は、各監視カメラ101から得られた被写体情報を、それぞれストリームデータとして出力すればよい。
 異常検知装置200は、各画像解析装置102から入力されたストリームデータに対して分析処理を実施する。異常検知装置200は、複数のサーバ(ノード)210を有する。各サーバ210は、各画像解析装置102から入力されたストリームデータに対して分析処理を実施する。異常検知装置200は、複数のサーバ210を用いて、各画像解析装置102から入力されたストリームデータを分散処理する。複数のサーバ210において、ストリームデータを並列的に処理することで、多量のストリームデータを高速に処理することができる。異常検知装置200は、図1の情報処理装置10に対応する。
 なお、各サーバ210は、必ずしも異常検知装置200の一部である必要はない。例えば、各サーバ210は、異常検知装置200とは異なる個別の装置として構成されていてもよい。あるいは、各サーバ210は、ネットワーク上に配置されたクラウドサーバとして構成されていてもよい。サーバ210は、図1のデータ処理手段12に対応する。
 データベース103は、異常検知装置200において実施された分析処理の結果を格納する。データベース103は、例えばハードディスク装置などの補助記憶装置に設けられる。あるいは、データベース103は、ネットワークを介して接続されたストレージサーバなどに設けられていてもよい。監視端末104は、異常検知装置200における分析処理の結果に基づいて、ユーザ(監視者)に警告を通知する。監視端末104は、検知された被写体の位置情報などを表示してもよい。
 例えば、異常検知装置200は、入力された被写体情報に基づいて、異常な行動を行っている被写体を即座に、例えば5秒以内に検知する。監視者は、監視端末104を用いて、異常の発生、及び異常な行動を行っている被写体の位置を確認する。監視者は、異常発生時に、警備員などを現場に急行させる。このようにすることで、犯罪などの発生を未然に防ぐことができる。監視端末104は、例えばパーソナルコンピュータや、監視サーバなどとして構成される。
 図3は、監視カメラ101で撮影される画像データの一例を示す。監視カメラ101は、監視対象となる人物又は車などの被写体の流れ(動き)を表す動画像データを撮影する。図3に示される画像データ800は、監視カメラ101から出力される動画像データの1フレームの画像データに対応する。監視カメラ101は、例えば空港などにおける一方通行の通路を撮影する。画像データ800において、被写体である人物801は、画像左奥から右手前に向かって移動する。画像解析装置102は、図3に示される画像データから人物を検出し、検出した人物の追跡などを行う。
 図4は、異常検知装置200に入力されるストリームデータを概念的に示す。異常検知装置200には、画像解析装置102から、監視カメラ101を用いて撮像された動画像データの解析結果を表すストリームデータが入力される。図4では、異常検知装置200には、監視カメラ1~3の動画像データのそれぞれの解析結果を表す3つのストリームデータ900が入力されている。
 ストリームデータ900は、例えば、各被写体の動線を表す座標列(時系列の座標)を含む。図4において、各被写体の動線は、矢印を用いて概念的に示されている。図4において、波線矢印の動線901は、空間座標内におけるふらつき、又は滞留などの異常な行動を示す被写体の動線を表す。一方、直線矢印の動線902は、通常の、すなわち異常ではない行動を示す被写体の動線を表す。異常検知装置200は、このような異常行動を示す動線901をストリームデータ900から検知する分析処理を実行する。
 図5は、異常検知装置200の構成例を示す。異常検知装置200は、データ入力部201、データ分割部202、データ分配部203、割当決定部204、割当記憶部205、割当調整部206、分析部208、及びデータ出力部209を有する。異常検知装置200において、データ分割部202、割当決定部204、及び割当調整部206は、サーバ210とストリームデータ(その分割データ)との割当てを決定するサーバ割当装置に相当する。
 データ入力部201は、異常検知装置200の外部から、分析対象の複数のストリームデータを受信する。本実施形態において、データ入力部201は、各監視カメラ101に対応した画像解析装置102から、複数のストリームデータを受信する。データ分割部202は、データ入力部201が受信したストリームデータを、所定の時間幅で分割する。図6は、ストリームデータの分割例を示す。データ分割部202は、ストリームデータ900を、所定の時間分割幅で分割する。図6には、ストリームデータ900が、分割データ900a、900b、及び900cの3つの分割データに分割される例が示されている。データ分割部202は、各ストリームデータの分割データを、データ分配部203に出力する。データ分割部202は、図1のデータ分割手段11に対応する。
 データ分配部203は、各ストリームデータの分割データを、複数のサーバ210に分配する。本実施形態において、サーバ210の数は、監視カメラ101(ストリームデータ)の数よりも少ないものとする。その場合、複数のサーバ210の少なくとも一部には、複数の監視カメラ101のストリームデータの分割データが分配される。別の言い方をすると、複数のサーバ210の少なくとも一部は、複数の監視カメラ101のストリームデータの分割データに対して分析処理を実施する。割当決定部204は、各ストリームデータの分割データと、その分割データに対して分析処理を行うサーバ210との組み合わせを決定する。割当決定部204は図1の割当決定手段13に対応し、データ分配部203は図1のデータ分配手段14に対応する。
 ここで、分割データに対する分析処理の処理負荷は、分割データに含まれる被写体の数に依存して変化すると考えられる。例えば、分析処理では、各被写体の動線が解析される。その場合、分割データにおいて、被写体の数が多いほど、動線を解析する対象が増え、処理負荷が増加する。例えば、あるサーバ210において、ある監視カメラ101のストリームデータ(その分割データ)と別の監視カメラ101のストリームデータとに対して分析処理が実施されている場合を考える。その場合に、ある監視カメラ101と別の監視カメラ101において、それぞれの画像データの含まれる被写体の数が同時に増加すると、サーバ210において処理負荷が増大する。処理負荷がサーバ210の処理能力を超える場合、負荷あふれが発生し、サーバ210が所定時間以内に分析処理を終えることができなくなる可能性がある。
 そこで、本実施形態において、割当決定部204は、複数のストリームデータのデータ処理の負荷の相関に基づいて、分割データとサーバ210との組み合わせを決定する。割当決定部204は、2つの監視カメラ101のデータ処理の負荷の時間変化の相関(相関係数)を計算する。上記したように、サーバ210における処理負荷は、ストリームデータ(分割データ)における被写体の数に依存すると考えられる。本実施形態では、サーバ210の処理負荷を表す指標として、ストリームデータに含まれる被写体の数が使用される。割当決定部204は、例えば、ストリームデータに含まれる被写体の数の時間変化(変化パターン)が類似する2つの監視カメラ101の分割データを、別々のサーバ210に割り当てる。
 図7A~図7Cは、ストリームデータに含まれる被写体の数の時間変化を示す。図7A~図7Cに示されるグラフにおいて、横軸は時間を表し、縦軸は被写体の数を表す。割当決定部204は、各監視カメラ101について、例えば過去数十分から数時間程度の時間範囲における被写体の数の情報を保持する。割当決定部204は、図7Aに示されるカメラ1の被写体の数の時間変化と、図7Bに示されるカメラ2の被写体の数の時間変化との間の相関係数を計算する。割当決定部204は、カメラ1の被写体の数の時間変化と、図7Cに示されるカメラ3の被写体の数の時間変化との間の相関係数を計算する。また、割当決定部204は、カメラ2の被写体の数の時間変化と、カメラ3の被写体の数の時間変化との間の相関係数を計算する。
 図7Aと図7Bとを比較すると、カメラ1における被写体の数の変化パターンと、カメラ2における被写体の数の変化パターンとに類似性が見られる。例えば、カメラ1において被写体の数が極大値を取る時間と、カメラ2において被写体の数が極大値を取る時間とは一致する。この場合、カメラ1とカメラ2との被写体の数の変化パターンの相関は強い。一方、図7Aと図7Cとを比較すると、カメラ1における被写体の数の変化パターンと、カメラ3における被写体の数の変化パターンは類似していない。この場合、カメラ1とカメラ3との被写体の数の時間変化の相関は弱い。割当決定部204は、相関が強いカメラ1及びカメラ2の分割データが、同じサーバ210に割り当てられないように、分割データとサーバとの組み合わせを決定する。
 ここで、監視カメラ101とサーバ210との組み合わせは膨大となるため、全ての組み合わせについて相関を計算することは実用的ではない。割当決定部204は、割当対象の監視カメラ101を所定数ずつ選択し、選択した監視カメラ101の分割データが割り当てられるサーバ210を順じに決定してもよい。その場合、割当決定部204は、例えば、各サーバ210に割当済みの監視カメラ101(ストリームデータ)における分析処理の負荷の時間変化のそれぞれと、割当対象の監視カメラ101における分析処理の負荷の時間変化との相関を計算する。割当決定部204は、サーバごとに、割当対象の監視カメラ101における分析処理の負荷の時間変化と相関が強い割当済みの監視カメラ101の割合を計算する。割当決定部204は、処理負荷の相関が強い監視カメラ101の割合が最も低いサーバ210に、割当対象の監視カメラ101を割り当ててもよい。
 割当決定部204は、分析処理の負荷の相関に加えて、分析処理の負荷変動の頻度に基づいて、分割データとサーバ210との組み合わせを決定してもよい。例えば、いくつかの監視カメラ101において、被写体の数の変動が大きく、分析処理の負荷が急に変動する場合がある。突発的に被写体の数が増大する複数の監視カメラ101の分割データが同じサーバ210に割り当てられていた場合、処理負荷の相関は低いものの、偶発的に、同時に被写体の数が増大する可能性がある。サーバ210に割り当てられた分割データの分析処理の負荷が、サーバ210の処理能力を超えると、負荷あふれが発生し、所定時間以内に分析処理を終えることができなくなる。割当決定部204は、処理負荷が変動しやすい監視カメラ101の分割データを、別のサーバ210に割り当てることで、突発的な負荷あふれを防止してもよい。
 各監視カメラ101に対する分析処理の負荷変動の頻度は、被写体が監視カメラ101で撮像される区域に留まる時間(滞留時間)に関連すると考えられる。滞留時間は、例えば、被写体が画像データにフレームインして検出されてから、被写体が画像データからフレームアウトするまでの時間として定義できる。滞留時間が長い場合、被写体は比較的ゆっくり移動するため、急激に被写体が増減する可能性は低いと考えられる。これに対し、滞留時間が短い場合、被写体は短時間の間に監視カメラ101の撮影範囲を移動するため、被写体の数の変化は比較的大きいと考えられる。割当決定部204は、例えば監視カメラ101ごとに、被写体の平均滞留時間を計算し、被写体の数の時間変化の相関と、平均滞留時間とに基づいて、分割データとサーバ210との組み合わせを決定してもよい。
 ここで、各サーバ210において実施される分析処理が参照するストリームデータの時間幅は、分割データの時間幅よりも長くてもよい。その場合、各サーバ210は、いくつかの分割データを結合し、結合したデータに対して分析処理を行ってもよい。例えば、ある監視カメラ101が割り当てられるサーバ210が変更になった場合、データ分配部203は、最新の時刻の分割データに加えて、分析処理に必要な過去の分割データを変更後のサーバ210に送信する。ある監視カメラ101が継続して同じサーバ210に割り当たられる場合、そのサーバ210は、最新の時刻の分割データだけを入手すればよい。
 上記の場合、同じ監視カメラ101の分割データに対して分析処理を実施するサーバ210が変更になると、過去のいくつかの分割データが変更後のサーバ210に送信されるため、データの転送負荷が高まる。また、データ転送に伴う転送遅延も発生する。ストリームデータのデータ量は被写体の数に応じて変化し、上記の転送負荷、及び転送遅延は、ストリームデータに含まれる被写体が多いほど高くなる。
 割当決定部204は、組み合わせが変更された場合に、どの程度のデータ転送(移動)が必要かを評価し、その評価結果を加味して分割データとサーバ210との組み合わせを決定してもよい。割当決定部204は、例えば、上記した処理負荷の時間変化の相関、負荷変動、及びデータ移動のそれぞれに対して評価値(スコア)を計算し、それらの和に基づいて、分割データとサーバ210との組み合わせを決定してもよい。
 割当決定部204は、各監視カメラ101の分割データとサーバ210との組み合わせを決定すると、その組み合わせを割当記憶部205に記憶する。割当記憶部205は、例えばストリームデータのID(Identifier)と、サーバ210のIDとを対応付けて記憶する。割当調整部(割当調整手段)206は、分割データが割当決定部204が決定した組み合わせで各サーバ210に割り当てられた場合に、処理負荷が処理能力を超えるサーバ210があるか否かを評価する。割当調整部206は、処理負荷が処理能力を超えるサーバ210がある場合は、割り当てられた分割データの一部を他のサーバに割り当てることで、割当てを調整する。
 割当調整部206は、例えば分割データが割当決定部204が決定した組み合わせで各サーバ210に割り当てられた場合における各サーバの処理負荷を評価する。割当調整部206は、例えばサーバ210ごとに、割り当てられる分割データに含まれる被写体の数の合計を集計する。割当調整部206は、被写体の数の合計が、処理能力を超えるサーバ210がある場合は、そのサーバから、被写体の数の合計が最も少ないサーバに、分割データの一部を移動すると決定する。その場合、割当調整部206は、割当記憶部205において、移動する分割データに対応して記憶されるサーバIDを変更する。
 データ分配部203は、割当記憶部205に記憶されるIDの対応関係に従って、各監視カメラ101のストリームデータを分割した分割データを、サーバ210に分配する。データ分配部203は、例えば割当記憶部205を参照し、分割データのそれぞれに、その分割データを処理するサーバ210のID(サーバID)を付加する。データ分配部203は、サーバIDが付加された分割データを、分析部208に出力する。
 分析部208は、分散処理を行うための複数のサーバ210と、複数のサーバ210を制御するための図示しない制御部とを含む。サーバ210は、図1のデータ処理手段12に対応する。制御部は、各分割データに付加されたサーバIDに対応するサーバ210にその分割データを処理させる。各サーバ210には、1または複数の異なる分割データが分配され(割り当てられ)、各サーバ210は、割り当てられた分割データの分析処理を行う。各サーバ210は、分析処理で得られた分析結果を出力する。分析結果は、例えば不審行動が検知された被写体の情報を含む。
 データ出力部209は、複数のサーバ210から出力されたそれぞれの分析結果を統合して、ストリームデータごとに、分析結果のストリームデータ(分析結果ストリーム)を作成する。データ出力部209は、作成した分析結果ストリームをデータベース103及び監視端末104などの外部装置に送信する。
 続いて、動作手順を説明する。図8は、異常検知装置200の動作手順(異常検知方法)を示す。異常検知装置200は、システム停止か否かを判断する(ステップA1)。異常検知装置200は、システム停止と判断した場合は、処理を終了する。
 ステップA1でシステム停止でないと判断された場合、データ入力部201は、各監視カメラ101に対応した画像解析装置102から、ストリームデータを取得する(ステップA2)。データ入力部201は、ステップA2では、例えば、時系列で出力される被写体情報を含むストリームデータを、各画像解析装置102から取得する。データ分割部202は、取得されたストリームデータのそれぞれを、所定時間幅で分割する(ステップA3)。割当決定部204は、分割データと、その分割データを処理するサーバ210との組み合わせを決定する(ステップA4)。
 図9は、ステップA4における動作手順(サーバ割当方法)を示す。割当決定部204は、割当記憶部205に、分割データとサーバ210との組み合わせが記憶されているか否かを判断する(ステップB1)。割当決定部204は、初回のサーバ割当てでは、割当記憶部205に組み合わせが記憶されていないと判断する。割当決定部204は、割当記憶部205に組み合わせが記憶されていない場合は、被写体の数が多い監視カメラ101から順に、ラウンドロビンで、分割データとサーバ210との組み合わせを決定する(ステップB2)。割当決定部204は、決定した組み合わせを、割当記憶部205に記憶する(ステップB10)。
 割当決定部204は、ステップB1で組み合わせが割当記憶部205に記憶されていないと判断した場合、サーバ210間で、処理人数に偏りがあるか否かを判断する(ステップB3)。割当決定部204は、ステップB3では、例えばサーバ210ごとに、割り当てられた分割データに含まれる被写体の数の合計を計算し、各サーバで処理される被写体の数を比較する。割当決定部204は、サーバ210間の被写体の数の偏りを示す指標、例えば分散を計算し、分散が所定のしきい値以上であるか否かを判断する。割当決定部204は、分散がしきい値以上の場合、処理人数に偏りがあると判断してもよい。あるいは、割当決定部204は、被写体の数の最大値と、最小値との差を計算し、その差をしきい値と比較してもよい。割当決定部204は、差がしきい値以上の場合、処理人数に偏りがあると判断してもよい。
 割当決定部204は、例えばサーバ1に割り当てられる分割データに含まれる被写体の数の合計が「42」で、サーバ2に割り当てられる分割データに含まれる被写体の数の合計が「16」である場合、処理人数が偏っていると判断する。割当決定部204は、サーバ1に割り当てられる分割データに含まれる被写体の数の合計が「30」で、サーバ2に割り当てられる分割データに含まれる被写体の数の合計が「28」である場合、処理人数が偏っていないと判断する。割当決定部204が処理人数に偏りがないと判断した場合、特に分割データとサーバ210との組み合わせを変更する必要がないため、処理は終了する。この場合、不必要に分割データとサーバ210との組み合わせが変更され、データ転送負荷が高くなること、及びデータ転送遅延が発生することを防止できる。
 割当決定部204は、ステップB3で処理人数に偏りがないと判断した場合、未選択の監視カメラ101から、所定数の監視カメラを選択する(ステップB4)。割当決定部204は、ステップB4では、例えば複数の監視カメラ101を、分割データに含まれる被写体の数に基づいて降順でソートする。割当決定部204は、ステップB4では、例えばサーバ210の台数をN台とし、kを1以上の任意の整数として、被写体の数が多い側からk×N台の監視カメラ101を選択する。
 図10は、ステップB4における所定数の監視カメラの選択の具体例を示す。ここでは説明簡略化のため、k=1として説明する。また、サーバ210台数はN=2であるとする。図10において、処理負荷が高い順に、つまり分割データに含まれる被写体の数が多い順にソートされている。また、監視カメラ1、2、3、及び5は、サーバ210に割当て済みであるとする。割当決定部204は、ステップB4では、未割当ての監視カメラkら、割当て済みの監視カメラ101の次に処理負荷が高い2台の監視カメラ4及び6を選択する。未割当ての監視カメラ101の数がk×Nに満たない場合、割当決定部204は、未割当ての監視カメラ101を全て選択してもよい。
 割当決定部204は、割当済みの分割データの取得元の監視カメラ101と、ステップB4で選択した監視カメラ101との組み合わせを全て生成する(ステップB5)。図11は、ステップB5で生成される組み合わせの具体例を示す。図11において、監視カメラ1及び3はサーバ1に既に割り当てられており、監視カメラ2及び5はサーバ2に既に割り当てられている。
 割当決定部204は、ステップB5では、ステップB4で選択した監視カメラ4及び6を、サーバ1及びサーバ2の割当て済み監視カメラに追加した全ての組み合わせを生成する。具体的に、割当決定部204は、サーバ1に監視カメラ1及び3に加えて監視カメラ4が割り当てられ、サーバ2に監視カメラ2及び2に加えて監視カメラ6が割り当てられた組み合わせAを生成する。また、割当決定部204は、サーバ1に監視カメラ1及び3に加えて監視カメラ6が割り当てられ、サーバ2に監視カメラ2及び2に加えて監視カメラ4が割り当てられた組み合わせBを生成する。
 また、割当決定部204は、ステップB5では、生成した組み合わせに対応したサーバと監視カメラの組み合わせ行列Cを生成する。図12は、組み合わせ行列Cの具体例を示す。組み合わせ行列Cのサーバ1の行において、サーバ1に割り当てられる監視カメラに対応した要素には値「1」が格納され、サーバ1に割り当てられない監視カメラに対応した要素には値「0」が格納される。例えば、図12において、1行目及び4列目の値は「1」であり、これは監視カメラ4の分割データがサーバ1に割り当てられていることを意味する。図12に示される組み合わせ行列Cは、図11における組み合わせAに対応する。割当決定部204は、ステップB5では、図11における組み合わせBに対応した組み合わせ行列も生成する。
 割当決定部204は、ステップB5で生成した組み合わせのうちの1つを選択し、その組み合わせで分割データをサーバ210に割り当てた場合における評価値(スコア)を計算する(ステップB6)。割当決定部204は、ステップB6では、分割データ間の被写体数の変化パターンの相関に対するスコア(負荷相関スコア)を計算する。また、割当決定部204は、各分割データにおける被写体の平均滞留時間に対するスコア(負荷変動スコア)lfを計算する。割当決定部204は、更に、サーバ変更に伴う分割データの転送(データ移動)に対するスコア(データ移動量スコア)dtを計算する。
 上記負荷相関スコアlcは、例えば各サーバに割り当てられた監視カメラにおける被写体の数の変化パターンの相関の低さを示す。割当決定部204は、選択した組み合わせにおいて、サーバごとに被写体の数の変化パターンの相関が高い監視カメラのペアの割合を計算する。各サーバについて計算した相関が高い監視カメラのペアの割合の最大値を1から減算した値を負荷相関スコアlcとして計算する。
 割当決定部204は、例えば上記した組み合わせA(図11を参照)に関し、サーバ1に割り当てられた監視カメラ1、3、及び4間の相関を計算する。割当決定部204は、相関がしきい値以上となる監視カメラのペアがいくつあるかを求め、全ペアに対する相関がしきい値以上となる監視カメラのペアの割合を計算する。割当決定部204は、サーバ2についても、割り当てられた監視カメラ2、5、及び6間の相関を計算し、全ペアに対する相関がしきい値以上となる監視カメラのペアの割合を計算する。割当決定部204は、各サーバについて計算した相関がしきい値以上となる監視カメラのペアの割合の最大値を1から減算した値を、負荷相関スコアlcとする。割当決定部204は、例えば、相関がしきい値以上となる監視カメラのペアの割合が0.33の場合、1-0.33=0.67を負荷相関スコアlcとする。
 負荷変動スコアlfは、例えば、各サーバに割り当てられた監視カメラにおける被写体の滞留時間のばらつきの大きさを示す。割当決定部204は、各監視カメラにおける被写体の滞留時間を求める。割当決定部204は、選択した組み合わせにおいて、サーバごとに、割り当てられた監視カメラにおける被写体の滞留時間の変動を示す指標(変動係数)を算出する。割当決定部204は、例えば、サーバごとに、被写体の滞留時間の分散や平均を変動係数として算出する。割当決定部204は、全サーバの変動係数の平均を負荷変動スコアlfとする。
 図13は、負荷変動スコアの計算の具体例を示す。ここでは、ステップB6において、上記した組み合わせA(図11を参照)が選択されているとする。割当決定部204は、サーバ1について、監視カメラ1(ID:001)、監視カメラ3(ID:003)、及び監視カメラ4(ID:004)における被写体の平均滞留時間を取得する。割当決定部204は、これら平均滞留時間の分散を変動係数として計算する。例えば図13の例では、割当決定部204は、サーバ1について、7.93/12.3=0.643を、サーバ1の変動係数として計算する。
 また、割当決定部204は、サーバ2について、監視カメラ2(ID:002)、監視カメラ5(ID:005)、及び監視カメラ6(ID:006)における被写体の平均滞留時間を取得する。割当決定部204は、これら平均滞留時間の分散を変動係数として計算する。例えば図13の例では、割当決定部204は、サーバ2について、6.23/9.66=0.645を、サーバ1の変動係数として計算する。割当決定部204は、サーバ1の変動係数(0.643)とサーバ2の変動係数(0.645)との平均0.644を負荷変動スコアlfとして計算する。
 データ移動量スコアdtは、分割データとサーバとの組み合わせが変更されることに伴って移動するデータ量(データ移動量)を示す。割当決定部204は、現在の分割データとサーバとの組み合わせと、選択した組み合わせにおける分割データとサーバとの組み合わせとを比較し、サーバが変更される分割データを特定する。割当決定部204は、特定した分割データに含まれる被写体の数を集計する。割当決定部204は、各分割データに含まれる被写体の総数に対する、上記特定した分割データに含まれる被写体の数の割合を計算する。割当決定部204は、1から計算した割合を減算した値をデータ量移動スコアdtとして計算する。
 図14は、データ移動量スコアdtの計算の具体例を示す。割当決定部204は、各監視カメラについて、分割データに含まれる被写体の数を求める。被写体の数は、過去の一定期間における被写体の数の平均でもよいし、直前の分割データに含まれる(最新の)被写体の数でもよい。割当決定部204は、割当記憶部205に記憶されている分割データとサーバとの組み合わせと、選択した組み合わせとを比較し、サーバが変更される分割データ(監視カメラ)を特定する。図14の例では、組み合わせが変更された場合に、監視カメラ4(ID:0004)と監視カメラ5(ID:005)に対して分析処理を実施するサーバが変化する。
 割当決定部204は、監視カメラ4の分割データに含まれる被写体の数(5)と監視カメラ5の分割データに含まれる被写体の数(17)との和(22)を計算する。また、割当決定部204は、監視カメラ1~6の分割データに含まれる被写体の数の総数(58)を計算する。割当決定部204は、上記和(22)と被写体の数の総数との比(22/5)を計算する。割当決定部204は、その値を1から減算した値1-22/58=0.62をデータ移動量スコアdtとして計算する。
 割当決定部204は、上記スコアlc、lf、及びdtの和を、選択した組み合わせに対するスコアとして計算する。割当決定部204は、スコアlc、lf、及びdtのそれぞれに重み係数を乗算し、それらの和を選択した組み合わせに対するスコアとして決定してもよい。具体的には、w1をスコアlcに対する重みとし、w2をスコアlfに対する重みとし、w3をスコアdtに対する重みとして、下記式を用いて、選択した組み合わせに対するスコアを計算してもよい。
  スコア=w1×lc+w2×lf+w2×dt
 上記において、重みw1、w2、及びw3は、例えば0以上1以下の値に設定される。ここでは、w1、w2、及びw3は0.33であるとする。負荷相関スコアlcが0.67であり、負荷変動スコアlfが0.644であり、データ移動量スコアdtが0.62であった場合、最終的なスコアは、下記のように計算される。
 スコア=0.33×0.67+0.33+0.644+0.33×0.62=0.64
 割当決定部204は、全ての組み合わせを選択したかを判断する(ステップB7)。割当決定部204は、全ての組み合わせを選択していないと判断した場合は、ステップB6に戻り、未選択の組み合わせから1つを選択する。割当決定部204は、ステップB7において全ての組み合わせを選択したと判断するまでステップB6を繰り返し実施し、ステップB5で生成した組み合わせの全てについてスコアを計算する。
 割当決定部204は、ステップB6で計算された各組み合わせのスコアに基づいて、組み合わせを選択する(ステップB8)。割当決定部204は、ステップB8では、例えば上記で計算されたスコアが最小の組み合わせを、変更後の分割データとサーバとの組み合わせとして決定する。ここまでのステップで、ステップB4で選択された監視カメラ101の分割データが割り当てられるサーバ210が決定される。
 割当決定部204は、全ての監視カメラ101を処理したか否かを判断する(ステップB9)。割当決定部204は、ステップB9では、ステップB4で選択していない監視カメラ101が存在するか否かを判断する。割当決定部204は、全ての監視カメラ101を処理していないと判断した場合、ステップB4に戻り、次の処理対象の監視カメラ101を選択する。割当決定部204は、ステップB9で全ての監視カメラ101を処理したと判断した場合、ステップB10に進み、割当記憶部205にステップB8で選択した組み合わせを記憶する。
 図8に戻り、割当調整部206は、割当記憶部205に記憶される分割データとサーバ210との組み合わせを調整する(ステップA5)。図15は、ステップA5における組み合わせ調整の動作手順を示す。割当調整部206は、割当記憶部205に記憶される割当てに従って、サーバ210ごとに、割り当てられる分割データに含まれる被写体の数の合計を集計する(ステップC1)。割当調整部206は、サーバ210内の被写体の数の合計の降順でサーバ210をソートする(ステップC2)。
 割当調整部206は、被写体の数の降順でソートされたサーバ210の半分まで処理を終えたか否かを判断する(ステップC3)。割当調整部206は、ステップC3で半分のサーバ210まで処理を終えていないと判断した場合、被写体の数の合計が多いサーバから順にサーバ210を1つ選択する。割当調整部206は、選択したサーバ210の処理負荷がそのサーバの処理能力を越えるか否かを判断する(ステップC4)。割当調整部206は、ステップC4では、選択したサーバ210の処理能力として設定された所定の被写体の数と、ステップC1で集計されたサーバ210における被写体の数の合計とを比較する。割当調整部206は、集計された被写体の数の合計が、処理能力を表わす被写体の数を越えていない場合、処理負荷がサーバ210の処理能力を越えていないと判断する。
 割当調整部206は、集計された被写体の数の合計が、処理能力を表わす被写体の数を越えている場合、処理負荷がサーバ210の処理能力を越えると判断する。割当調整部206は、ステップC4で処理負荷がサーバ210の処理能力を越えると判断した場合、選択したサーバ210の処理負荷の移動先となる交換ペアを生成する(ステップC5)。割当調整部206は、ステップC5では、ステップC1で集計した被写体の数の合計が最も少ないサーバ210から順に、まだ処理負荷の移動先として決定されてないサーバを、交換ペアのサーバとして決定する。その後、処理はステップC3に戻り、サーバ210の半分まで処理を終えたか否かを判断する。
 割当調整部206は、ステップC3でサーバ210の半分まで処理を終えたと判断するまで、ステップC4及びC5を繰り返し実施し、処理負荷が処理能力を越えるサーバ210の処理負荷の移動先のサーバ210を決定する。割当調整部206は、ステップC3でサーバ210の半分まで処理を終えたと判断した場合、未処理の交換ペアがあるか否かを判断する(ステップC6)。
 割当調整部206は、ステップC6で未処理の交換ペアがあると判断した場合、ステップC4で処理負荷が処理能力を越えると判断されたサーバに割り当てられた分割データの一部を、交換ペアのサーバ210に割り当てるように、監視カメラ101とサーバ210との割当てを変更する(ステップC7)。その後、処理はステップC6に戻り、未処理の交換ペアがなくなるまで、ステップC7が実行される。
 図16は、組み合わせの調整の具体例を示す。ここでは、割当記憶部205に、監視カメラ1、3、及び4の分割データがサーバ1に割り当てられ、監視カメラ2、5、及び6の分割データがサーバ2に割り当てられる組み合わせ行列Cが記憶されているとする。この場合、ステップC1が実行される時点での各分割データに含まれる被写体の数の合計をサーバごとに集計すると、サーバ1の被写体の数の合計は6+15+2=23となる。一方、サーバ2については、被写体の数の合計は19+23+4=46となる。
 割当調整部206は、被写体の数が多いサーバ2について、被写体の数の合計が処理能力を越えているか否かを判断する。ここでは、サーバ2の処理能力は45であるとする。サーバの処理能力は、例えばサーバにおいて負荷あふれを起こさずに処理可能な被写体の数に関連した値として定義される。割当調整部206は、被写体の数の合計がサーバ2の処理能力を越えているため、被写体の数が少ないサーバ1を交換ペアとして決定する。
 割当調整部206は、サーバ2に割り当てられている分割データの一部を、サーバ1に移動する。割当調整部206は、例えば、サーバ2に割り当てられている分割データのうち、被写体の数が最も少ない分割データを、サーバ1に移動する。割当調整部206は、図16の例では、監視カメラ6の割当先のサーバを、サーバ2からサーバ1に変更する。割当調整部206は、調整後の分割データとサーバ210との組み合わせを、割当記憶部205に記憶する。このようにすることで、各サーバ210に多くの監視カメラ101の分割データを割り当てつつも、突発的に被写体数が増えた場合の負荷あふれを防止できる。また、処理負荷が軽いサーバ210に分割データを移動することで、サーバ間の処理負荷の偏りを是正できる。
 再び図8に戻り、データ分配部203は、割当記憶部205を参照し、割当記憶部205に記憶される分割データとサーバ210との組み合わせに従って、ステップA3で分割された分割データを、サーバ210に分配する(ステップA6)。データ分配部203は、ステップA6では、例えばステップA3で分割された分割データのそれぞれに、割当記憶部205において各分割データに対応して記憶されるサーバIDを付加し、分析部208に送信する。
 分析部208において、複数のサーバ210のそれぞれは、ステップA6で分配された分割データに対して分析処理を実施する(ステップA7)。各サーバ210は、ステップA7では、並列的に分析処理を実施する。各サーバ210は、分析処理の結果をデータ出力部209に出力する。データ出力部209は、監視カメラ101(ストリームデータ)ごとに、分析処理の結果を統合し、分析結果のストリームデータ(分析結果ストリーム)を出力する(ステップA8)。データ出力部209は、ステップA8では、分析結果ストリームをデータベース103及び監視端末104の少なくとも一方に出力する。
 本実施形態では、割当決定部204は、処理負荷の変化パターンの相関が高いストリームデータの分割データが、できるだけ異なるサーバ210で処理されるように、分割データとサーバ210との組み合わせを決定する。このようにすることで、いくつかの分割データにおいて、同じタイミングで被写体の数が増加した場合でも、特定のサーバ210において処理負荷が増大することを避けることができる。本実施形態では、サーバ210において複数の分割データを処理しており、サーバの利用効率を上げることができる。また、本実施形態では、負荷あふれを防止し、分析結果が得られるまでの遅延時間が延びることを防止できる。
 なお、上記実施形態において、異常検知装置200は、例えばコンピュータ装置として構成され得る。図17は、異常検知装置200のハードウェア構成例を示す。異常検知装置200は、CPU701、メモリ702、記憶装置703、入出力インタフェース(I/F)704、及びコンピュータクラスタ705を有する。CPU701は、メモリ702、及び/又は記憶装置703に記憶されたプログラムに従って所定の動作を行う。また、CPU701は、異常検知装置200の各部を制御する機能を有する。CPU701がプログラムに従って処理を実行することで、図2に示される、データ入力部201、データ分割部202、データ分配部203、割当決定部204、割当調整部206、データ出力部209の機能の少なくとも一部が実現される。
 メモリ702は、RAM(Random Access Memory)などの揮発性メモリを含む。メモリ702は、CPU701の動作に必要なメモリ領域を提供する。また、メモリ702は、データ入力部201及びデータ出力部209の機能を実現するバッファ領域として使用され得る。記憶装置703は、例えばフラッシュメモリ、SSD(Solid State Drive)、又はHDD(Hard Disk Drive)などの補助記憶装置として構成される。記憶装置703は、割当記憶部205の機能を実現する記憶領域を提供する。
 記憶装置703には、例えば、異常検知装置200を動作させるOS(Operating System)などの基本プログラム、及び分析処理を行うためのアプリケーションプログラムなどが記憶される。入出力インタフェース704は、USB(Universal Serial Bus)、イーサネット(登録商標)、及び/又はWi-Fi(登録商標)などの規格に基づいて外部装置との通信を行うためのモジュールを含む。コンピュータクラスタ705は、複数のコンピュータ又はプロセッサが結合されたシステムである。コンピュータクラスタ705は、分析部208の機能を実現する。
 上記プログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、異常検知装置200に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体を含む。非一時的なコンピュータ可読媒体の例は、例えばフレキシブルディスク、磁気テープ、又はハードディスクなどの磁気記録媒体、例えば光磁気ディスクなどの光磁気記録媒体、CD(compact disc)、又はDVD(digital versatile disk)などの光ディスク媒体、及び、マスクROM(read only memory)、PROM(programmable ROM)、EPROM(erasable PROM)、フラッシュROM、又はRAMなどの半導体メモリを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体を用いてコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 図17に示されているハードウェア構成は例示であり、異常検知装置200の構成は図示されたものには限定されない。異常検知装置200は、図17に示される構成要素に、別の装置が追加された構成であってもよいし、一部の要素を内部に有していなくてもよい。例えば、異常検知装置200において、一部の機能がネットワークを介して他の装置から提供されてもよく、本実施形態を構成する機能が複数の装置に分散されて実現されるものであってもよい。
 なお、上記実施形態では、ストリームデータ900が動画像データから生成されるデータである例を説明したが、本開示はこれには限定されない。例えば、ストリームデータ900は、時間の経過に伴って入力データ量が変化するものであればよく、動画像データ自体であってもよい。また、ストリームデータは、動画像に関連したデータには限定されず、音声データ、又は多数のセンサから入力されるデータの他のデータなどであってもよい。上記実施形態では、情報処理装置が異常検知装置200として構成される例を説明したが、開示はこれには限定されない。本開示に係る情報処理装置は、証券取引所の株価情報、クレジットカードの使用情報、又は交通情報などのストリームデータが生じる分析対象に対して幅広く適用可能である。
 また、上記実施形態では、異常検知装置200が、画像解析装置102から被写体情報を含むストリームデータを受信する例を説明したが、本開示はこれには限定されない。異常検知装置200が画像解析装置102の機能を有し、異常検知装置200内で、被写体情報が生成されることとしてもよい。
 上記実施形態において、負荷相関スコアlcは相関の低さを示し、負荷変動スコアlfは被写体の滞留時間のばらつきの大きさを示し、データ移動量スコアdtはデータ移動量を示す例を説明したが、本開示はこれには限定されない。例えば、負荷相関スコアlcは相関の高さを示し、負荷変動スコアlfは被写体の滞留時間のばらつきの小ささを示し、データ移動量スコアdtは移動しないデータ量を示してもよい。その場合、割当決定部204は、スコアが最も高い組み合わせを選択すればよい。
 以上、本開示の実施形態を詳細に説明したが、本開示は、上記した実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲で上記実施形態に対して変更や修正を加えたものも、本開示に含まれる。
 例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
 [付記1]
 時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割するデータ分割手段と、
 それぞれが前記ストリームデータに対して所定処理を実行する複数のデータ処理手段と、
 前記複数のストリームデータの分割データのそれぞれと、各分割データに対して所定処理を実行するデータ処理手段との組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定する割当決定手段と、
 前記割当決定手段が決定した組み合わせに従って、前記分割データを前記データ処理手段に分配するデータ分配手段とを備える情報処理装置。
 [付記2]
 前記割当決定手段は、前記処理負荷の相関がしきい値以上の2つの分割データが、相互に異なるデータ処理手段で処理されるように、前記組み合わせを決定する付記1に記載の情報処理装置。
 [付記3]
 前記割当決定手段は、前記複数のストリームデータを所定数ずつ割当対象のストリームデータとして選択し、該割当対象のストリームデータの分割データが割り当てられるデータ処理手段を順次に決定する付記1又は2に記載の情報処理装置。
 [付記4]
 前記割当決定手段は、前記複数のストリームデータを処理負荷の降順でソートし、前記処理負荷が高い順に前記所定数のストリームデータを選択する付記3に記載の情報処理装置。
 [付記5]
 前記割当決定手段は、Nを前記データ処理手段の数、kを1以上の所定の整数として、前記ストリームデータをN×kずつ選択する付記3又は4に記載の情報処理装置。
 [付記6]
 前記割当決定手段は、前記データ処理手段に割り当てられている1以上の分割データの分割元のストリームデータに対する処理負荷の時間変化のそれぞれと、前記割当対象のストリームデータに対する処理負荷の時間変化のそれぞれとの相関を計算し、前記データ処理手段ごとに、前記割当対象のストリームデータに対する処理負荷の時間変化との相関がしきい値以上のストリームデータの割合を計算し、該割合が最も低いデータ処理手段に前記割当対象のストリームデータの分割データを割り当てる付記3から5何れか1つに記載の情報処理装置。
 [付記7]
 前記割当決定手段は、更に、前記ストリームデータに対する処理負荷の変動頻度に基づいて、前記分割データと前記データ処理手段との組み合わせを決定する付記1から6何れか1つに記載の情報処理装置。
 [付記8]
 前記割当決定手段は、前記データ処理手段ごとに、同じデータ処理手段で処理される分割データの分割元のストリームデータに対する処理負荷の変動頻度のばらつきを求め、該ばらつきに基づいて前記分割データと前記データ処理手段との組み合わせを決定する付記7に記載の情報処理装置。
 [付記9]
 前記データ処理手段で実行される所定処理が参照するストリームデータの時間幅は、前記分割データの時間幅よりも短く、
 前記割当決定手段は、前記分割データの割当先の前記データ処理手段が変更された場合に、変更された割当先のデータ処理手段に転送されるデータ量を評価し、前記処理負荷の相関及び前記処理負荷の変動頻度に加えて更に前記評価の結果に基づいて、前記分割データと前記データ処理手段との組み合わせを決定する付記1から8何れか1つに記載の情報処理装置。
 [付記10]
 前記割当決定手段は、割当の対象とするストリームデータに対する処理負荷の時間変化との相関がしきい値以上のストリームデータの割合に基づいて、前記処理負荷の相関の低さを示す負荷相関スコアを計算し、前記処理負荷の変動頻度のばらつきの大きさを示す負荷変動スコアを計算し、前記変更された割当先のデータ処理手段に転送されるデータ量を示すデータ移動量スコアを計算し、前記負荷相関スコアと前記負荷変動スコアと前記データ移動量スコアの和に基づいて、前記分割データと前記データ処理手段との組み合わせを決定する付記9に記載の情報処理装置。
 [付記11]
 前記割当決定手段は、前記データ処理手段ごとに計算した前記相関がしきい値以上のストリームデータの割合の最大値を1から減算した値を負荷相関スコアとして計算する付記10に記載の情報処理装置。
 [付記12]
 前記割当決定手段は、前記データ処理手段ごとに計算した前記処理負荷の変動頻度のばらつきの大きさの平均値に基づいて前記負荷変動スコアを計算する付記10又は11に記載の情報処理装置。
 [付記13]
 前記割当決定手段は、変更前の前記組み合わせと変更後の前記組み合わせとを比較し、割当先のデータ処理手段が変更される分割データのデータ量に関連した値を集計し、前記分割データのデータ量に関連した値の合計に対する前記集計した値の割合を計算し、該割合を1から減算した値を前記データ移動量スコアとして計算する付記10から12何れか1つに記載の情報処理装置。
 [付記14]
 前記割当決定手段は、前記負荷相関スコア、前記負荷変動スコア、及び前記データ移動量スコアにそれぞれ重みを乗算し、前記負荷相関スコアと前記負荷変動スコアと前記データ移動量スコアを重み付け加算する付記10から13何れか1つに記載の情報処理装置。
 [付記15]
 前記割当決定手段は、前記負荷相関スコアと前記負荷変動スコアと前記データ移動量スコアの和が最小となる前記分割データと前記データ処理手段との組み合わせを、新たな組み合わせとして決定する付記10から14何れか1つに記載の情報処理装置。
 [付記16]
 更に、前記割当決定手段が決定した前記組み合わせで前記分割データが前記データ処理手段が割り当てられた場合における各データ処理手段の処理負荷を評価し、該評価の結果に基づいて前記組み合わせを調整する割当調整手段を更に有する付記1から15何れか1つに記載の情報処理装置。
 [付記17]
 前記割当調整手段は、前記処理負荷が処理能力を超えるデータ処理手段がある場合、当該データ処理手段に割り当てられている分割データの一部を、他のデータ処理手段に移動するように前記組み合わせを調整する付記16に記載の情報処理装置。
 [付記18]
 前記割当調整手段は、処理負荷が最も低いデータ処理手段から、前記処理負荷が処理能力を超えるデータ処理手段に割り当てられている分割データの一部の移動先のデータ処理手段を決定する付記17に記載の情報処理装置。
 [付記19]
 前記ストリームデータは、動画像データから検出された被写体情報を含む付記1から18何れか1つに記載の情報処理装置。
 [付記20]
 時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割するデータ分割手段と、
 それぞれが前記ストリームデータに対して所定処理を実行する複数のデータ処理手段と、前記複数のストリームデータの分割データのそれぞれとの組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定する割当決定手段とを有するサーバ割当装置。
 [付記21]
 前記割当決定手段は、前記処理負荷の相関がしきい値以上の2つの分割データが、相互に異なるデータ処理手段で処理されるように、前記組み合わせを決定する付記20に記載のサーバ割当装置。
 [付記22]
 前記割当決定手段は、更に、前記ストリームデータに対する処理負荷の変動頻度に基づいて、前記分割データと前記データ処理手段との組み合わせを決定する付記20又は21に記載のサーバ割当装置。
 [付記23]
 前記データ処理手段で実行される所定処理が参照するストリームデータの時間幅は、前記分割データの時間幅よりも短く、
 前記割当決定手段は、前記分割データの割当先の前記データ処理手段が変更された場合に、変更された割当先のデータ処理手段に転送されるデータ量を評価し、前記処理負荷の相関及び前記処理負荷の変動頻度に加えて更に前記評価の結果に基づいて、前記分割データと前記データ処理手段との組み合わせを決定する付記20から22何れか1つに記載のサーバ割当装置。
 [付記24]
 更に、前記割当決定手段が決定した前記組み合わせで前記分割データが前記データ処理手段が割り当てられた場合における各データ処理手段の処理負荷を評価し、該評価の結果に基づいて前記組み合わせを調整する割当調整手段を更に有する付記20から23何れか1つに記載のサーバ割当装置。
 [付記25]
 時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割し、
 それぞれが前記ストリームデータに対して所定処理を実行する複数のサーバと、前記複数のストリームデータの分割データのそれぞれとの組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定することを有するサーバ割当方法。
 [付記26]
 時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割し、
 それぞれが前記ストリームデータに対して所定処理を実行する複数のサーバと、前記複数のストリームデータの分割データのそれぞれとの組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定する処理をコンピュータに実行させるためのプログラムを格納するコンピュータ可読媒体。
10:情報処理装置
11:データ分割手段
12:データ処理手段
13:割当決定手段
14:データ分配手段
100:監視システム
101:監視カメラ
102:画像解析装置
103:データベース
104:監視端末
200:異常検知装置
201:データ入力部
202:データ分割部
203:データ分配部
204:割当決定部
205:割当記憶部
206:割当調整部
208:分析部
209:データ出力部
210:サーバ

Claims (26)

  1.  時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割するデータ分割手段と、
     それぞれが前記ストリームデータに対して所定処理を実行する複数のデータ処理手段と、
     前記複数のストリームデータの分割データのそれぞれと、各分割データに対して所定処理を実行するデータ処理手段との組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定する割当決定手段と、
     前記割当決定手段が決定した組み合わせに従って、前記分割データを前記データ処理手段に分配するデータ分配手段とを備える情報処理装置。
  2.  前記割当決定手段は、前記処理負荷の相関がしきい値以上の2つの分割データが、相互に異なるデータ処理手段で処理されるように、前記組み合わせを決定する請求項1に記載の情報処理装置。
  3.  前記割当決定手段は、前記複数のストリームデータを所定数ずつ割当対象のストリームデータとして選択し、該割当対象のストリームデータの分割データが割り当てられるデータ処理手段を順次に決定する請求項1又は2に記載の情報処理装置。
  4.  前記割当決定手段は、前記複数のストリームデータを処理負荷の降順でソートし、前記処理負荷が高い順に前記所定数のストリームデータを選択する請求項3に記載の情報処理装置。
  5.  前記割当決定手段は、Nを前記データ処理手段の数、kを1以上の所定の整数として、前記ストリームデータをN×kずつ選択する請求項3又は4に記載の情報処理装置。
  6.  前記割当決定手段は、前記データ処理手段に割り当てられている1以上の分割データの分割元のストリームデータに対する処理負荷の時間変化のそれぞれと、前記割当対象のストリームデータに対する処理負荷の時間変化のそれぞれとの相関を計算し、前記データ処理手段ごとに、前記割当対象のストリームデータに対する処理負荷の時間変化との相関がしきい値以上のストリームデータの割合を計算し、該割合が最も低いデータ処理手段に前記割当対象のストリームデータの分割データを割り当てる請求項3から5何れか1項に記載の情報処理装置。
  7.  前記割当決定手段は、更に、前記ストリームデータに対する処理負荷の変動頻度に基づいて、前記分割データと前記データ処理手段との組み合わせを決定する請求項1から6何れか1項に記載の情報処理装置。
  8.  前記割当決定手段は、前記データ処理手段ごとに、同じデータ処理手段で処理される分割データの分割元のストリームデータに対する処理負荷の変動頻度のばらつきを求め、該ばらつきに基づいて前記分割データと前記データ処理手段との組み合わせを決定する請求項7に記載の情報処理装置。
  9.  前記データ処理手段で実行される所定処理が参照するストリームデータの時間幅は、前記分割データの時間幅よりも短く、
     前記割当決定手段は、前記分割データの割当先の前記データ処理手段が変更された場合に、変更された割当先のデータ処理手段に転送されるデータ量を評価し、前記処理負荷の相関及び前記処理負荷の変動頻度に加えて更に前記評価の結果に基づいて、前記分割データと前記データ処理手段との組み合わせを決定する請求項1から8何れか1項に記載の情報処理装置。
  10.  前記割当決定手段は、割当の対象とするストリームデータに対する処理負荷の時間変化との相関がしきい値以上のストリームデータの割合に基づいて、前記処理負荷の相関の低さを示す負荷相関スコアを計算し、前記処理負荷の変動頻度のばらつきの大きさを示す負荷変動スコアを計算し、前記変更された割当先のデータ処理手段に転送されるデータ量を示すデータ移動量スコアを計算し、前記負荷相関スコアと前記負荷変動スコアと前記データ移動量スコアの和に基づいて、前記分割データと前記データ処理手段との組み合わせを決定する請求項9に記載の情報処理装置。
  11.  前記割当決定手段は、前記データ処理手段ごとに計算した前記相関がしきい値以上のストリームデータの割合の最大値を1から減算した値を負荷相関スコアとして計算する請求項10に記載の情報処理装置。
  12.  前記割当決定手段は、前記データ処理手段ごとに計算した前記処理負荷の変動頻度のばらつきの大きさの平均値に基づいて前記負荷変動スコアを計算する請求項10又は11に記載の情報処理装置。
  13.  前記割当決定手段は、変更前の前記組み合わせと変更後の前記組み合わせとを比較し、割当先のデータ処理手段が変更される分割データのデータ量に関連した値を集計し、前記分割データのデータ量に関連した値の合計に対する前記集計した値の割合を計算し、該割合を1から減算した値を前記データ移動量スコアとして計算する請求項10から12何れか1項に記載の情報処理装置。
  14.  前記割当決定手段は、前記負荷相関スコア、前記負荷変動スコア、及び前記データ移動量スコアにそれぞれ重みを乗算し、前記負荷相関スコアと前記負荷変動スコアと前記データ移動量スコアを重み付け加算する請求項10から13何れか1項に記載の情報処理装置。
  15.  前記割当決定手段は、前記負荷相関スコアと前記負荷変動スコアと前記データ移動量スコアの和が最小となる前記分割データと前記データ処理手段との組み合わせを、新たな組み合わせとして決定する請求項10から14何れか1項に記載の情報処理装置。
  16.  更に、前記割当決定手段が決定した前記組み合わせで前記分割データが前記データ処理手段が割り当てられた場合における各データ処理手段の処理負荷を評価し、該評価の結果に基づいて前記組み合わせを調整する割当調整手段を更に有する請求項1から15何れか1項に記載の情報処理装置。
  17.  前記割当調整手段は、前記処理負荷が処理能力を超えるデータ処理手段がある場合、当該データ処理手段に割り当てられている分割データの一部を、他のデータ処理手段に移動するように前記組み合わせを調整する請求項16に記載の情報処理装置。
  18.  前記割当調整手段は、処理負荷が最も低いデータ処理手段から、前記処理負荷が処理能力を超えるデータ処理手段に割り当てられている分割データの一部の移動先のデータ処理手段を決定する請求項17に記載の情報処理装置。
  19.  前記ストリームデータは、動画像データから検出された被写体情報を含む請求項1から18何れか1項に記載の情報処理装置。
  20.  時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割するデータ分割手段と、
     それぞれが前記ストリームデータに対して所定処理を実行する複数のデータ処理手段と、前記複数のストリームデータの分割データのそれぞれとの組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定する割当決定手段とを有するサーバ割当装置。
  21.  前記割当決定手段は、前記処理負荷の相関がしきい値以上の2つの分割データが、相互に異なるデータ処理手段で処理されるように、前記組み合わせを決定する請求項20に記載のサーバ割当装置。
  22.  前記割当決定手段は、更に、前記ストリームデータに対する処理負荷の変動頻度に基づいて、前記分割データと前記データ処理手段との組み合わせを決定する請求項20又は21に記載のサーバ割当装置。
  23.  前記データ処理手段で実行される所定処理が参照するストリームデータの時間幅は、前記分割データの時間幅よりも短く、
     前記割当決定手段は、前記分割データの割当先の前記データ処理手段が変更された場合に、変更された割当先のデータ処理手段に転送されるデータ量を評価し、前記処理負荷の相関及び前記処理負荷の変動頻度に加えて更に前記評価の結果に基づいて、前記分割データと前記データ処理手段との組み合わせを決定する請求項20から22何れか1項に記載のサーバ割当装置。
  24.  更に、前記割当決定手段が決定した前記組み合わせで前記分割データが前記データ処理手段が割り当てられた場合における各データ処理手段の処理負荷を評価し、該評価の結果に基づいて前記組み合わせを調整する割当調整手段を更に有する請求項20から23何れか1項に記載のサーバ割当装置。
  25.  時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割し、
     それぞれが前記ストリームデータに対して所定処理を実行する複数のサーバと、前記複数のストリームデータの分割データのそれぞれとの組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定することを有するサーバ割当方法。
  26.  時系列的に入力される複数のストリームデータのそれぞれを、所定時間単位で分割データに分割し、
     それぞれが前記ストリームデータに対して所定処理を実行する複数のサーバと、前記複数のストリームデータの分割データのそれぞれとの組み合わせを、前記複数のストリームデータに対する処理負荷の相関に基づいて決定する処理をコンピュータに実行させるためのプログラムを格納するコンピュータ可読媒体。
PCT/JP2019/013848 2019-03-28 2019-03-28 情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体 WO2020194735A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021508657A JP7294405B2 (ja) 2019-03-28 2019-03-28 情報処理装置、サーバ割当装置、方法、及びプログラム
US17/441,764 US11689594B2 (en) 2019-03-28 2019-03-28 Information processing apparatus, server allocation apparatus, method, and computer readable medium
PCT/JP2019/013848 WO2020194735A1 (ja) 2019-03-28 2019-03-28 情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/013848 WO2020194735A1 (ja) 2019-03-28 2019-03-28 情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2020194735A1 true WO2020194735A1 (ja) 2020-10-01

Family

ID=72611776

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/013848 WO2020194735A1 (ja) 2019-03-28 2019-03-28 情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体

Country Status (3)

Country Link
US (1) US11689594B2 (ja)
JP (1) JP7294405B2 (ja)
WO (1) WO2020194735A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014078160A (ja) * 2012-10-11 2014-05-01 International Business Maschines Corporation 仮想リソースの組み合わせの決定を支援する装置及び方法
WO2016027452A1 (ja) * 2014-08-19 2016-02-25 日本電気株式会社 解析制御装置、解析制御方法及び記録媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252304A (ja) 2005-03-11 2006-09-21 Fuji Photo Film Co Ltd 医療情報管理装置及び方法、並びに、医療情報管理プログラム
JP5390322B2 (ja) 2009-09-28 2014-01-15 株式会社東芝 画像処理装置、及び画像処理方法
TR201906323T4 (tr) 2010-12-22 2019-05-21 Bayer Ip Gmbh Sığır türlerinde artırılmış bağışıklık yanıtı.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014078160A (ja) * 2012-10-11 2014-05-01 International Business Maschines Corporation 仮想リソースの組み合わせの決定を支援する装置及び方法
WO2016027452A1 (ja) * 2014-08-19 2016-02-25 日本電気株式会社 解析制御装置、解析制御方法及び記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ARIKUMA, TAKESHI ET AL.: "Proposal of large-scale time-series distributed processing method for real-time behavior detection", PROCEEDINGS OF THE 80TH NATIONAL CONVENTION OF IPSJ ((3) NETWORK SECURITY), 13 March 2018 (2018-03-13), pages 3-5 - 3-6 *

Also Published As

Publication number Publication date
US20220182429A1 (en) 2022-06-09
JPWO2020194735A1 (ja) 2020-10-01
US11689594B2 (en) 2023-06-27
JP7294405B2 (ja) 2023-06-20

Similar Documents

Publication Publication Date Title
US9569672B2 (en) Optimizing video stream processing
EP3048774A1 (en) Service processing method, system and device
CN110192393A (zh) 大规模的实时视频分析
US10587844B2 (en) Image analysis system for analyzing dynamically allocated camera image, integrated control system including same, and operation method therefor
US11647279B2 (en) Information processing apparatus, camera control method, program, camera apparatus, and image processing system
JP2020107354A (ja) 解析装置、解析方法及びプログラム
US11288101B2 (en) Method and system for auto-setting of image acquisition and processing modules and of sharing resources in large scale video systems
CN104041016A (zh) 摄像机装置、服务器装置、图像监视系统、图像监视系统控制方法及图像监视系统控制程序
WO2020194735A1 (ja) 情報処理装置、サーバ割当装置、方法、及びコンピュータ可読媒体
JP6807042B2 (ja) 情報処理装置、情報処理方法およびプログラム
CN111447272A (zh) 负载均衡方法及装置
Ahmed et al. Adaptive algorithms for automated intruder detection in surveillance networks
AU2018414269A1 (en) Information processing apparatus, person search system, place estimation method, and non-transitory computer readable medium storing program
CN114584758A (zh) 一种城市级监控视频质量评估方法及系统
WO2022059223A1 (ja) 映像解析システムおよび映像解析方法
KR101586780B1 (ko) 동적으로 할당되는 카메라 영상을 분석하는 영상 분석 시스템, 이를 포함하는 통합 관제 시스템 및 그 동작방법
CN110708505B (zh) 视频告警方法、装置、电子设备及计算机可读存储介质
WO2021074997A1 (ja) 解析処理装置、システム、方法及びプログラムが格納された非一時的なコンピュータ可読媒体
WO2022038705A1 (ja) 基準状態決定装置、状態判定システム、基準状態決定方法、及び非一時的なコンピュータ可読媒体
JP6969261B2 (ja) ノード管理装置、ノード管理方法およびプログラム
WO2020157885A1 (ja) データストリーム割り当て方法、システムおよびプログラム
JP2021038032A (ja) エレベーターシステム
US11195025B2 (en) Information processing device, information processing method, and storage medium for temporally dividing time-series data for analysis
WO2020194421A1 (ja) 情報処理装置、分析システム、データ集約方法及びコンピュータ可読媒体
JP6926870B2 (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: 19921960

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021508657

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: 19921960

Country of ref document: EP

Kind code of ref document: A1