WO2021106176A1 - ソフトウェア配置システム、ソフトウェア配置装置、ソフトウェア配置方法、拠点コンピュータおよびプログラム - Google Patents

ソフトウェア配置システム、ソフトウェア配置装置、ソフトウェア配置方法、拠点コンピュータおよびプログラム Download PDF

Info

Publication number
WO2021106176A1
WO2021106176A1 PCT/JP2019/046715 JP2019046715W WO2021106176A1 WO 2021106176 A1 WO2021106176 A1 WO 2021106176A1 JP 2019046715 W JP2019046715 W JP 2019046715W WO 2021106176 A1 WO2021106176 A1 WO 2021106176A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
time
software
search target
search
Prior art date
Application number
PCT/JP2019/046715
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 US17/780,303 priority Critical patent/US20220413834A1/en
Priority to PCT/JP2019/046715 priority patent/WO2021106176A1/ja
Priority to JP2021561093A priority patent/JP7310918B2/ja
Publication of WO2021106176A1 publication Critical patent/WO2021106176A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/10Detection; Monitoring
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/20Analytics; Diagnosis

Definitions

  • the present invention relates to a software placement system, a software placement device, a software placement method, a base computer, and a program that place software for data analysis on a plurality of computational resources connected to a network.
  • a method of searching real-time data of IoT devices based on a system model called edge computing that analyzes data using a computer that is physically close to the device that generates the data has been proposed (see Non-Patent Document 1).
  • the software required for data search is distributed to the edge computer, and it is confirmed whether the desired data exists.
  • the face image recognition software to be searched is distributed, and image recognition processing is performed on the generated data of the camera device connected to the edge computer.
  • the data communication can be localized, and the cost and communication delay required for the data communication can be suppressed.
  • the amount of computational resources at each base is limited because the computer is divided into each base such as a building. Therefore, if the same base is searched for data at the same time, the load exceeding the calculation capacity of the computer is easily applied, and the real-time data search cannot be performed. In other words, it is not permissible for a large number of services to simply distribute and execute data search software to computers at all locations.
  • the base is, for example, one event area, a park, a specific building, a section in the city, or the like, and is the jurisdiction unit of the edge computer.
  • the data tendency is a past record that, for example, a camera in an urban area in the daytime zone has a high probability of showing a passerby, and a surveillance camera in a store has a high probability of showing a person of a specific age and gender. This is information that is statistically derived from.
  • the above method is premised on calculating the expected value for discovering data from the past data discovery results.
  • the real-time search service for moving search targets for example, specific individuals such as lost children and fugitives
  • the discovery record of the person (lost child, etc.) at each base cannot be grasped as statistical information in advance.
  • the data tendency of a specific individual of a lost child is not stored as statistical information, and past actual data cannot be used. That is, in the above method, the data analysis software cannot be efficiently placed on the edge computer for the search target for which there is no actual data.
  • the present invention has been made in view of such a point, and the present invention efficiently arranges software used for data analysis on a computer at a base when discovering data to be searched without actual data. Make it an issue.
  • the software placement system includes a base computer located in each of a plurality of areas and a software placement device for arranging software for analyzing data collected from devices in the area on the base computer.
  • the software placement device includes an information acquisition unit that acquires a final discovery position indicating the position where the search target was last discovered and a final discovery time indicating the time when the search target was last discovered.
  • the data existence probability indicating the probability that the search target is detected in the data at a certain time is calculated, and the calculated data existence probability and the plurality of the base computers
  • the base computer that calculates the total cost using each calculation cost and the network cost, and the calculated total cost is the minimum, the placement destination determination unit that selects the time to search the search target, and the selected base computer.
  • a software distribution unit that distributes the software and transmits an analysis instruction of data at the selected time to execute a search for the search target at the selected time, and the base computer comprises the area. Search for the search target using the software for the data collection unit that collects data from the device in the device and the data for the selected time indicated by the analysis instruction when the software is delivered to the base computer. It is characterized by having a data analysis unit that executes the above.
  • FIG. 1 is a diagram showing an overall configuration of the software arrangement system 1000 according to the present embodiment.
  • the software arrangement system 1000 is communicatively connected to a plurality of devices 2 and is communicatively connected to a base computer 20 that collects data from each device 2 and a plurality of base computers 20 for data analysis.
  • the software is provided with a software placement device 10 that distributes the software of the above to the base computer 20 determined by the placement destination determination process described later.
  • the base computer 20 is a computer arranged in a base provided for each jurisdiction unit such as one event area, a park, a specific building, or a section in the city.
  • the data generated by the device 2 (for example, video data, sensor data, etc.) is transmitted to and stored in a computer (base computer 20) having jurisdiction over the area where the device 2 is located.
  • the software placement device 10 determines the base computer 20 on which the software is placed using each parameter such as the data existence probability, the calculation cost of the computer, and the network cost, which will be described later. Further, it is characterized in that the base computer 20 to be the placement destination is determined more accurately by introducing the parameter of data value.
  • FIG. 2 is a diagram showing a state space for conceptually explaining the software arrangement at the base (base computer 20) in the present embodiment.
  • a space centered on the physical distance (distance x) between the bases and the time (time t) is assumed.
  • the discretely arranged points represent the data collected at a certain base at a certain time zone.
  • the software arrangement device 10 selects an arbitrary base and time (time zone) and distributes software for data analysis to the base computer 20 to execute data analysis, and whether the data is the target data.
  • the software placement device 10 finds the target data as a result of the determination (when the target data is found), the software placement device 10 ends as if the search was successful. On the other hand, when the target data is not the target data (when the target data cannot be found), the software arrangement device 10 newly selects another data and repeats the same process. Since the execution of data analysis processing by software requires computational cost, the goal is to find the desired data with a smaller number of selections. Based on this premise, in the above space (space centered on distance (base) and time), the data existence probability, data value, computer calculation cost (not shown in FIG. 2), and network cost shown in FIG. Axis (not shown in FIG. 2) is provided, and the software placement location (base computer 20) is determined by integrating these axes.
  • the data existence probability f (x) represents the existence probability of the search target as a function of the distance (x).
  • a normal distribution represented by the following equation (1) is used as the existence probability of the search target moving in time series.
  • represents the position where the search target was finally found.
  • in the equation (1) is given by the equation (2), for example.
  • the normal distribution represented by the equation (1) is shown in FIG.
  • the horizontal axis of FIG. 3 indicates the distance, and the discrete points of the distance correspond to the position of the base.
  • the vertical axis of FIG. 3 represents the existence probability (data existence probability) of the target data.
  • the average “ ⁇ ” (center of the graph) of the normal distribution is the position of the base where the search target was last discovered (“final discovery position” in FIG. 3). Note that this "final discovery position" is the position where the search target was last discovered before the placement destination determination process described later, and a new search target is discovered, which is calculated in the placement destination determination process. It is also the position (details will be described later).
  • a value calculated based on the elapsed time from the last discovered time (hereinafter, referred to as “last discovered time”) is used.
  • the variance uses the value calculated by the equation (2).
  • the existence probability of the search target at a certain time t can be calculated using the time (t_last) last discovered before that time.
  • this "final discovery time” is the time when the search target was last discovered before the placement destination determination process described later, and a new search target is discovered, which is calculated in the placement destination determination process. It is also the time (details will be described later).
  • " ⁇ " in the equation (2) is a weight for adjusting a numerical value, and an arbitrary number is used.
  • the existence position of the search target can be treated as zero (within the area of the last searched base) due to the physical speed limit. ..
  • the present invention is characterized in that this data existence probability is updated when the data is discovered.
  • target data data in which the search target was found at the target time (time)
  • data at a time that was not originally intended as the discovery time of the search target also changes the data existence probability. May contribute to the discovery of. For example, in the person search service, the existence probability at the time when a long time has passed since the last discovery of the target person is low and leveled at all the bases, and the utility value is low. On the other hand, since the existence probability of a time close to the final discovery time shows a remarkable tendency (higher probability), it is highly possible that the data can be discovered by considering it.
  • the data found by the data analysis of the search target is referred to as "discovery data" regardless of the time (time) when the data was found.
  • the data that can be discovered at this time is data whose time is different from the target data, but by discovering this data, " ⁇ " (the position where the search target was last discovered: the final discovery position) and " "t_last” (last discovered time: last discovered time) can be updated.
  • the data existence probability is updated while tracing the time in order, and as a result, the target data can be efficiently searched.
  • the data value is an index value that decreases in proportion to the time difference from the target data. By adding this data value as a parameter, the effect of ignoring the number of processes required for data analysis and simply suppressing the selection of only data having a high data existence probability is achieved.
  • the data value V (t) is, for example, a value that decreases in proportion to the time difference from the target data, as shown by the following equation (3). Further, FIG. 4 is an illustration of the equation (3).
  • T_target in the formula (3) and FIG. 4 indicates the time of the target data (hereinafter, referred to as “target time”).
  • target time the time of the target data
  • the current time (time) may be specified, or a certain time (time) in the past may be specified.
  • T_max indicates the maximum deviation time (hereinafter, simply referred to as “deviation time”) allowed as a search range from the specified time (target time) of the target data. For example, if "t_max" is specified as 60 minutes, data 60 minutes before and after the specified time (target time) of the target data will be analyzed.
  • the value of the data existence probability f (t, x) obtained from the equations (1) and (2) is used as it is as the expected data value E (t, x).
  • the expected data value E (t, x) at that time is given by the equation (5).
  • Total cost is introduced as a cost considering the calculation cost Cc (x) and the network cost Cn (x) for each base in the expected data value.
  • the calculation cost Cc (x) is a cost (for example, a cost of occupying a computer resource on an hourly basis) when using a different computer for each base.
  • the network cost Cn (x) is a cost related to data transfer (for example, a cost related to occupancy of a network line) that differs for each base.
  • This calculation cost and the network cost may be statically set for each base at the time of equipment installation, or may be dynamically calculated in consideration of the current (at that time) load situation.
  • the total cost C (t, x) can be obtained, for example, as a value obtained by subtracting the expected data value from the sum of the costs, as shown in the following equation (6).
  • is an arbitrary number (weight).
  • the software placement device 10 selects the base (x) and the time (t) that minimize the total cost (C) calculated by the formula (6), and places the software for data analysis and the time to be searched. ("Placement destination determination process" described later). By this process, the software placement device 10 can realize efficient software placement in consideration of the probability and cost of data discovery.
  • the base computer 20 is a computer that collects and stores data from a plurality of devices 2 located within the jurisdiction unit set for each base.
  • the device 2 is, for example, a camera device (surveillance camera or the like) that acquires video data used for a video search service. Further, depending on the content of the service, it may be a sound sensor, a temperature sensor, or other sensor device.
  • the base computer 20 is composed of a computer including a control unit, an input / output unit, and a storage unit (all not shown).
  • the base computer 20 is not provided with software for data analysis in a normal state (a state in which a data analysis instruction is not received).
  • the base computer 20 is characterized in that it receives software for data analysis from the software arrangement device 10 and analyzes the data when the base computer 20 receives an instruction to analyze data for a selected time. To do.
  • the base computer 20 includes a data collection unit 22 and a software deletion unit 23 in the control unit.
  • the data collection unit 22 collects data 200 from each device 2 and stores the data 200 in the storage unit for a predetermined period of time.
  • the data 200 may be stored by using the storage unit of the base computer 20 as a storage server in a separate housing.
  • the base computer 20 realizes the function of the data analysis unit 21 by receiving the distribution of the software for the data analysis from the software arrangement device 10 regarding the data analysis of the stored data 200.
  • the data analysis unit 21 receives an analysis instruction for data for which a time (time zone) is specified (“data at a selected time” described later) from the software arrangement device 10, the data analysis unit 21 stores it in its own storage unit (not shown). Of the data 200, the data analysis of the corresponding time (time zone) is executed. Then, the data analysis unit 21 transmits the result information indicating whether or not the target data is found to the software arrangement device 10.
  • the software deletion unit 23 deletes the software for data analysis (data analysis unit 21) distributed from the software arrangement device 10 based on a predetermined software deletion logic.
  • the predetermined software deletion logic may be, for example, a logic of holding the software for a predetermined time and deleting it after a predetermined time elapses, or a logic of deleting the software each time data analysis is performed. ..
  • the logic that the base computer 20 (software deletion unit 23) deletes the distributed software when the information indicating that the processing for a series of search targets is completed is received from the software arrangement device 10. But it may be.
  • a predetermined software deletion logic for deleting the distributed software is preset in the base computer 20.
  • the base computer 20 receives and holds the software distributed only when data analysis is required, and can execute data analysis only for the data at the time when the analysis instruction is received. Therefore, the calculation load of the base computer 20 can be reduced.
  • the software deletion unit 23 deletes the distributed software, so that the computational resources (CPU (Central Processing Unit), memory, etc.) of the base computer 20 are effectively used for processing related to other services. can do.
  • the software arrangement device 10 introduces parameters such as "data existence probability”, “expected data value”, and "cost” when arranging the software for data search on the base computer 20. It is characterized in that the base computer 20 having the lowest (total) cost in data retrieval is selected.
  • the software arrangement device 10 includes a control unit 100, an input / output unit 140, and a storage unit 150.
  • the input / output unit 140 transmits / receives information to / from a communication interface for transmitting / receiving information to / from each base computer 20 and the like, an input device such as a touch panel and a keyboard, and an output device such as a monitor. Consists of an input / output interface for.
  • the storage unit 150 is composed of a flash memory, a hard disk, a RAM (Random Access Memory), and the like.
  • the base information DB (DataBase) 500 is stored in the storage unit 150, and a program for realizing each function of the control unit 100 and information necessary for processing of the control unit 100 are temporarily stored in the storage unit 150. .. Further, in the storage unit 150, as each constant required for the allocation destination determination process, the divergence time (t_max), the constant used for calculating the data existence probability (weight " ⁇ "), and the constant used for calculating the total cost (weight "weight”). ⁇ ") etc. are stored in advance.
  • the software to be distributed may be stored in advance in the storage unit 150, or the software distribution unit 130, which will be described later, controls the software stored in the external device to be distributed to the base computer 20. You may.
  • the base information DB 500 includes information on the location of the base computer 20 (information on the jurisdiction area (predetermined area) in which each device 2 accommodated by the base computer 20 is located) in association with the identification information of each base computer 20. ), Information on the calculation cost (Cc) of the base computer 20, and information on the network cost (Cn) of the base computer 20 are stored. Information on the calculation cost (Cc) and network cost (Cn) of each base computer 20 may be registered in advance as static information by a network management device (not shown) or the like, or network management (not shown). The calculation cost (Cc) and network cost (Cn) of each base computer 20 according to the current load status may be received from the device or the like and stored in the base information DB 500.
  • the control unit 100 controls the overall processing of the software arrangement device 10, and includes an information acquisition unit 110, an arrangement destination determination unit 120, and a software distribution unit 130.
  • the information acquisition unit 110 acquires designated information (hereinafter, referred to as “target data designation information”) of the target data to be searched from an external device (for example, a network management device or the like).
  • the target data designation information includes information indicating the characteristics of the search target, a time for designating the discovery of the target data (hereinafter referred to as "target time"), and a position where the search target was last discovered (final discovery position). , The time when the search target was last discovered (“t_last”: last discovery time) is included.
  • the search target is not limited to persons such as lost children and fugitives, but may be pets such as dogs, automobiles, motorcycles, bicycles, etc., and there is no (or few) actual data that can be grasped as statistical information. ) It is a unique object.
  • information indicating the characteristics of the search target is information used by the distributed software to identify (search) the target data when analyzing the data.
  • characteristics information of the search target is information used by the distributed software to identify (search) the target data when analyzing the data.
  • search the target data when analyzing the data.
  • a lost child search service it is information indicating a feature amount such as a lost child's body shape, face, and clothes.
  • the “target time” is a time specified as wanting to discover the target data to be searched, and may be, for example, the current time or a time at a certain time in the past.
  • a time zone (a predetermined time zone among continuous data in a time series), which is a unit of a group of individual data in the data 200 stored in the base computer 20, is designated. May be good.
  • the base computer 20 searches for the data 200 in the predetermined time zone including the designated time.
  • the "position where the search target was last discovered" may be the position information of the last discovery of the search target itself, or is found within the jurisdiction area (predetermined area) of any base computer 20. It may be information that identifies whether or not it was.
  • time when the search target was last discovered (“t_last”: last discovery time) is the time when the search target was last discovered, but the search target for finding data is a predetermined time including the time. Time zone is specified.
  • the placement destination determination unit 120 calculates parameters such as the above-mentioned “data existence probability”, “data expected value”, and “cost”, and determines the base computer 20 that minimizes the total cost in the data search and the search time. Performs the placement destination determination process. Further, the placement destination determination unit 120 finds data (discovery data) including a search target by data analysis on the base computer 20 as the placement destination, and if it is different from the target time, the data (discovery data). Is updated as the time when the search target was last discovered (“t_last”: last discovery time), and the position of the base computer 20 to which the search target is placed is changed to the position where the search target was last discovered (“t_last”: last discovery time). After updating as the final discovery position), the placement destination determination process is repeated.
  • the placement destination determination unit 120 includes a data existence probability calculation unit 121, an expected data value calculation unit 122, and a base / time calculation unit 123.
  • the data existence probability calculation unit 121 uses the final discovery position and the final discovery time (t_last) included in the target data designation information acquired by the information acquisition unit 110, and is based on the above equations (1) and (2). , Calculate the data existence probability.
  • the data existence probability calculation unit 121 acquires the result information from the base computer 20 that has transmitted the data analysis instruction of the selected time (time zone), and when the data (discovery data) including the search target is found.
  • the selected time is different from the target time
  • the time when the discovery data is found is updated as the final discovery time
  • the position of the selected base computer 20 is updated as the final discovery position, and then the data existence probability is calculated again.
  • the data existence probability calculation unit 121 cannot find the data (discovery data) including the search target in the result information acquired from the base computer 20, the base computer 20 in which the found data is not found in the data analysis.
  • the selected time in is excluded from the selection target, and the data existence probability is calculated again.
  • the data expected value calculation unit 122 uses the data existence probability calculated by the data existence probability calculation unit 121 and the data value calculated by the equation (3), and the data expected value E (t, x) is calculated.
  • the designated time (“t_target”: target time) of the target data used for calculating the data value V (t) is information included in the target data designated information acquired by the information acquisition unit 110. Further, the divergence time (“t_max”) is information set in advance in the storage unit 150 or the like.
  • the data expected value calculation unit 122 When the data expected value calculation unit 122 does not consider the data value V (t), the data expected value is the value of the data existence probability f (x, t) as it is, as in the above equation (5). It is used as E (t, x).
  • the base / time calculation unit 123 stores the information of the expected data value E (t, x) calculated by the data expected value calculation unit 122 and the calculation cost Cc (x) for each base stored in the base information DB 500 of the storage unit 150. ) And the information of the network cost Cn (x), the total cost C (t, x) is calculated based on the above equation (6). Using the formula (6), the base / time calculation unit 123 selects the base (x) and the time (t) that minimize the total cost C (t, x), and arranges the software for data analysis and the time (t). Determined as the time to be searched. Then, the base / time calculation unit 123 outputs the information of the base computer 20 of the base (x) selected as the software placement destination and the information of the selected time (t) to the software distribution unit 130.
  • the software distribution unit 130 is used to analyze the feature information of the search target included in the target data designation information acquired by the information acquisition unit 110 and the search target data for the base computer 20 of the selected base (x). Deliver with software. Further, the software distribution unit 130 transmits an analysis instruction of the data at the selected time (t) to the base computer 20 at the selected base (x). The software distribution unit 130 has already transmitted the feature information to be searched and the software for data analysis to the base computer 20 selected by the base / time calculation unit 123, and the base computer 20 transmits the software. When the data is stored for a predetermined time, the feature information of the search target and the software may be set not to be transmitted.
  • the software distribution unit 130 deletes the distributed software when the base computer 20 receives information (end information) indicating that the processing for a series of search targets has been completed as the predetermined software deletion logic.
  • end information indicating that the processing for a series of search targets has been completed as the predetermined software deletion logic.
  • the end information is transmitted to each base computer 20 to which the software has been distributed so far, triggered by the discovery of the target data.
  • the software placement device 10 is used for data analysis in consideration of the data existence probability and cost (calculation cost, network cost) when discovering data to be searched without actual data.
  • the software can be efficiently placed on the base computer 20.
  • FIG. 5 is a flowchart showing a processing flow of the software arrangement device 10 according to the present embodiment.
  • the base information DB 500 in the storage unit 150 of the software arrangement device 10 stores the location information of each base computer 20, the calculation cost (Cc) and the network cost (Cn) for each base computer 20. To do. Further, it is assumed that the information of the deviation time (t_max), the constant used for the calculation of the data existence probability (weight " ⁇ "), and the constant used for the calculation for the total cost (weight " ⁇ ”) is stored in the storage unit 150 in advance. To do.
  • the information acquisition unit 110 of the software arrangement device 10 acquires the designation information (target data designation information) of the target data to be searched from an external device (for example, a network management device or the like) (step S1).
  • the target data designation information includes information on the feature information of the search target, the target time, the final discovery position, and the final discovery time.
  • the placement destination determination unit 120 of the software placement device 10 uses parameters such as "data existence probability”, “data value”, “expected data value”, and “total cost” to minimize the cost.
  • the computer 20 and the time to be searched are selected (step S2: placement destination determination process).
  • the data existence probability calculation unit 121 calculates the data existence probability by using the information of the final discovery position and the final discovery time of the search target.
  • the data expected value calculation unit 122 calculates the data expected value based on the data existence probability calculated by the data existence probability calculation unit 121 and the data value obtained by using the target time and the deviation time. When the data value is not used, the data expected value calculation unit 122 uses the value of the data existence probability as the data expected value.
  • the base / time calculation unit 123 calculates the total cost based on the expected data value calculated by the data expected value calculation unit 122, the calculation cost for each base computer 20, and the network cost, and the total cost is minimized. Select the base (base computer 20) and the time to be searched.
  • the software distribution unit 130 of the software arrangement device 10 refers to the base computer 20 selected in step S2 with the feature information of the search target included in the target data designation information acquired in step S1 and the data of the search target.
  • the software for analyzing the above is distributed (step S3: software distribution).
  • the software distribution unit 130 of the software arrangement device 10 transmits an analysis instruction of the data of the time selected in step S2 to the selected base computer 20 (step S4).
  • the base computer 20 searches whether or not the search target can be found at the selected time in the stored data 200 (FIG. 1).
  • the software arrangement device 10 may transmit the distribution of the software in step S3 and the analysis instruction in step S4 to the selected base computer 20 by one message instead of separately.
  • the process of step S2 is a repetitive process, if the feature information of the search target and the software for data analysis have already been distributed to the base computer 20 once selected and have not been deleted, the step is taken. The processing of S3 can be omitted.
  • the placement destination determination unit 120 of the software placement device 10 acquires the result information of whether or not the data (discovery data) including the search target can be found at the selected time from the selected base computer 20 (step). S5).
  • the placement destination determination unit 120 of the software placement device 10 determines whether or not the time selected in step S2 and the target time acquired in step S1 match (step S6). Here, if the selected time and the target time match (step S6 ⁇ Yes), the process proceeds to the next step S7.
  • step S7 the software arrangement device 10 determines whether or not the target data can be found based on the result information acquired in step S5.
  • the software arrangement device 10 ends the process.
  • the software arrangement device 10 excludes the selected time in the selected base computer 20 from the next selection candidate as analyzed (step S8). ). Then, the software arrangement device 10 returns to step S2 and continues the process.
  • step S6 ⁇ No if the selected time and the target time do not match in step S6 (step S6 ⁇ No), the process proceeds to the next step S9.
  • step S9 the software placement device 10 (placement destination determination unit 120) determines whether or not data including the search target is found at the selected time (time different from the target time).
  • the placement destination determination unit 120 of the software placement device 10 determines the selected base computer.
  • the position 20 is updated as the final discovery position of the search target, and the time of the discovered data at the selected time (time different from the target time) is updated as the final discovery time of the search target (step S10).
  • step S9 if the data including the search target is not found in the selected time (time different from the target time) in step S9, the software arrangement device 10 proceeds to step S11.
  • step S11 the software placement device 10 excludes the selected time (time different from the target time) in the selected base computer 20 from the next selection candidate as analyzed. Then, the software arrangement device 10 returns to step S2 and continues the process.
  • the software arrangement device 10 can update the data existence probability when the data is discovered. Therefore, even if the search target has no actual data, the software used for the data analysis can be efficiently arranged on the base computer 20 in consideration of the calculation cost and the network cost.
  • FIG. 6 is a hardware configuration diagram showing an example of a computer 900 that realizes the functions of the software arrangement device 10 and the base computer 20 according to the present embodiment.
  • the computer 900 has a CPU 901, a ROM (Read Only Memory) 902, a RAM 903, an HDD (Hard Disk Drive) 904, an input / output I / F (Interface) 905, a communication I / F 906, and a media I / F 907.
  • the CPU 901 operates based on a program stored in the ROM 902 or the HDD 904, and is controlled by the control unit 100 of the software arrangement device 10 and the control unit (not shown) of the base computer 20 shown in FIG.
  • the ROM 902 stores a boot program executed by the CPU 901 when the computer 900 is started, a program related to the hardware of the computer 900, and the like.
  • the CPU 901 controls an input device 910 such as a mouse and a keyboard and an output device 911 such as a display and a printer via the input / output I / F 905.
  • the CPU 901 acquires data from the input device 910 and outputs the generated data to the output device 911 via the input / output I / F 905.
  • a GPU Graphics Processing Unit
  • a GPU may be used together with the CPU 901 as the processor.
  • the HDD 904 stores a program executed by the CPU 901, data used by the program, and the like.
  • the communication I / F906 receives data from another device via a communication network (for example, NW (Network) 5) and outputs the data to the CPU 901, and the data generated by the CPU 901 is transmitted to another device via the communication network. Send to the device.
  • NW Network
  • the media I / F907 reads the program or data stored in the recording medium 912 and outputs the program or data to the CPU 901 via the RAM 903.
  • the CPU 901 loads the program related to the target processing from the recording medium 912 onto the RAM 903 via the media I / F 907, and executes the loaded program.
  • the recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase change rewritable disk), a magneto-optical recording medium such as an MO (Magneto Optical disk), a magnetic recording medium, a conductor memory tape medium, a semiconductor memory, or the like. Is.
  • the CPU 901 of the computer 900 executes the program loaded on the RAM 903 to execute the software placement device 10 and the base computer 20. Realize the function. Further, the data in the RAM 903 is stored in the HDD 904. The CPU 901 reads a program related to the target process from the recording medium 912 and executes it. In addition, the CPU 901 may read a program related to the target processing from another device via the communication network (NW5).
  • NW5 communication network
  • the software placement system includes a base computer 20 located in each of a plurality of areas, and a software placement device 10 for arranging software for analyzing data collected from devices 2 in the area on the base computer 20.
  • a software placement device 10 for arranging software for analyzing data collected from devices 2 in the area on the base computer 20.
  • information acquisition in which the software placement device 10 acquires the final discovery position indicating the position where the search target was last discovered and the final discovery time indicating the time when the search target was last discovered.
  • the base computer 20 that calculates the total cost using the calculation cost and the network cost and minimizes the calculated total cost, the placement destination determination unit 120 that selects the time to search the search target, and the selected base computer 20.
  • the base computer 20 includes a software distribution unit 130 that distributes software and executes a search for a search target at the selected time by transmitting an analysis instruction of data at a selected time, and the base computer 20 is a device 2 in the area.
  • the data collection unit 22 that collects data from the data collection unit 22 and the data analysis unit that uses the software to search for the search target for the data at the selected time indicated by the analysis instruction when the software is distributed to the base computer. It is characterized by comprising 21 and.
  • the software placement device is a software placement device 10 that places software for analyzing data on a base computer 20 that collects data from a device 2 in a predetermined area, and the search target is the last.
  • the data existence probability indicating the probability that the search target is detected in the data is calculated, and the total cost using the calculated data existence probability and the calculation cost and the network cost of each of the plurality of base computers 20 is calculated and calculated.
  • a software distribution unit 130 that executes a search for a search target at the selected time is provided.
  • the software placement device 10 of the software placement system 1000 calculates and calculates the total cost using the data existence probability based on the final discovery position and the final discovery time, and the calculation cost and network cost of each base computer 20.
  • the software can be placed on the base computer 20 that minimizes the total cost. Therefore, the software arrangement device 10 can efficiently arrange the software used for data analysis even if it is a search target for which past actual data cannot be used.
  • the information acquisition unit 110 further acquires information on the target time for which the time for discovering the search target is specified, and the arrangement destination determination unit 120 further acquires the selected time and the target time. If they do not match, when the result information that the search target was found by searching the data at the selected time is acquired from the selected base computer 20, the final discovery position is updated and selected at the position of the selected base computer. It is characterized by updating the last discovery time at the specified time.
  • the software placement device 10 updates the final discovery position at the position of the selected base computer 20 and at the selected time.
  • the last discovery time can be updated.
  • the software placement device 10 can update the data existence probability and select a new base computer 20 as the placement destination. Therefore, the software placement device 10 can further increase the possibility of finding the data to be searched.
  • the information acquisition unit 110 further acquires information on the target time for which the time for discovering the search target is specified, and the arrangement destination determination unit 120 determines the calculated data existence probability.
  • the software placement device 10 can calculate the total cost in consideration of the data value in addition to the data existence probability, the calculation cost of each base computer 20, and the network cost. Due to this data value, the value of the data at a time farther from the target time becomes relatively low (the value of the data closer to the target time becomes relatively high), so only the data with a high data existence probability is simply selected. Is suppressed. Therefore, since the software arrangement device 10 can reduce the number of times of data processing, the software used for data analysis can be arranged more efficiently.
  • the base computer has a data collection unit 22 that collects data from devices in the area, and a time selected from the collected data when the software for analyzing the data is distributed. It is characterized by including a data analysis unit 21 that receives an analysis instruction regarding the data of the above and executes a search for a search target using the software for the data at a selected time.
  • the base computer 20 can receive and hold the software distributed only when the data analysis is necessary, and can execute the data analysis only for the data at the time when the analysis instruction is received. Therefore, the calculation load of the base computer 20 can be reduced.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

ソフトウェア配置システム(1000)のソフトウェア配置装置(10)は、最終発見位置および最終発見時刻を取得する情報取得部(110)と、最終発見位置と最終発見時刻とを用いて、ある時刻における探索対象が検出される確率を示すデータ存在確率を算出し、算出したデータ存在確率と、複数の拠点コンピュータ(20)それぞれの計算コストおよびネットワークコストとを用いた総合コストを算出し、算出した総合コストが最小となる拠点コンピュータ(20)および時間を選択する配置先決定部(120)と、選択した拠点コンピュータ(20)に、ソフトウェアを配信し、選択した時間のデータの分析指示を送信するソフトウェア配信部(130)と、を備える。

Description

ソフトウェア配置システム、ソフトウェア配置装置、ソフトウェア配置方法、拠点コンピュータおよびプログラム
 本発明は、ネットワークに接続された複数の計算資源にデータ分析のためのソフトウェアを配置する、ソフトウェア配置システム、ソフトウェア配置装置、ソフトウェア配置方法、拠点コンピュータおよびプログラムに関する。
 今日、IoT(Internet of Things)が急速に拡大を続けており、多種多様かつ膨大な数のデバイスがネットワークに接続されつつある。そして、これらのデバイスが生成する膨大なデータの活用が期待されている。例えば、街頭や店舗には既に多くの監視カメラが設置されており、日々の映像を記録している。映像データは事故や事件発生時の利用はもちろんのこと、交通量の調査や店舗顧客層の分析、迷子の捜索といった多くの用途に活用することができる。そして、例えば、迷子捜索といった、膨大なデータの中から特定データを発見して利用するサービスでは、データ検索にかかる計算コストとデータ通信コストの最小化が課題となる。
 このような課題に対して、データを生成するデバイスの物理的近傍にあるコンピュータを用いて、データの分析処理を行うエッジコンピューティングと呼ばれるシステムモデルをベースに、IoTデバイスのリアルタイムデータを検索する手法が提案されている(非特許文献1参照)。この手法では、データ検索に必要なソフトウェアをエッジコンピュータに配信し、要望するデータが存在するかを確認する。例えば、迷子捜索であれば、捜索対象の顔画像認識ソフトウェアが配信され、エッジコンピュータにつながっているカメラデバイスの生成データに対して画像認識処理を行う。このように、検索に必要なデータ分析処理をエッジコンピュータで実行することで、データ通信が局所化され、データ通信にかかる費用と通信遅延を抑えることが可能である。
 一方、エッジコンピューティング環境は、コンピュータがビル等の設置拠点ごとに分断されるため、各拠点の計算資源量が限定的となる。したがって、同一拠点に対して同時多発のデータ検索を行うと、容易にコンピュータの計算容量を超えた負荷がかかり、リアルタイムのデータ検索が行えなくなってしまう。つまり、多数のサービスが、単純に全拠点のコンピュータへデータ検索ソフトウェアを配信して実行するようなことは許されない。
 以上より、データ検索のためのデータ分析ソフトウェアをエッジコンピュータへ配信する際に、広域に存在する多数の候補のなかから、適切なエッジコンピュータを選択することが求められる。
Hirofumi Noguchi, et al.,"Distributed Search Architecture for Object Tracking in the Internet of Things," IEEE Access, vol. 6, pp. 60152-60159, 2018
 エッジコンピュータにデータ分析ソフトウェアを配置する手法として、拠点ごと発生するデータ傾向を用いる手法が考えられる。ここで拠点とは、例えば、一つのイベント領域、公園、特定の建物内や、街中の一区画等であり、そのエッジコンピュータの管轄単位となる。また、データ傾向とは、例えば、日中帯の市街地のカメラには通行人が映る確率が高く、店舗の監視カメラには特定の年齢、性別の人物が映る可能性が高いといった、過去の実績から統計的に導かれる情報である。これらのデータ傾向に基づいて、ロケーションごとのデータを発見する期待値を算出することにより、目的とするデータの発見にかかる探索拠点数を減らし探索時間を短くして、システム全体の効率を向上することが可能となる。
 上記手法では、過去のデータ発見実績からデータを発見する期待値を算出することが前提となる。しかしながら、移動する探索対象(例えば、迷子や逃亡犯等の特定個人)に対するリアルタイム捜索サービスでは、当該人物(迷子等)の拠点ごとの発見実績を事前に統計情報として把握できていない状況が想定される。例えば、迷子となった子供の特定個人のデータ傾向を統計情報として記憶しておらず、過去の実績データを利用することはできない場合がほとんどである。つまり、上記の手法では、実績データのない探索対象については、エッジコンピュータにデータ分析ソフトウェアを効率的に配置することができないものであった。
 このような点に鑑みて本発明がなされたのであり、本発明は、実績データのない探索対象のデータ発見を行う場合に、データ分析に用いるソフトウェアを拠点のコンピュータに効率的に配置することを課題とする。
 本発明に係るソフトウェア配置システムは、複数のエリアそれぞれに位置する拠点コンピュータと、前記エリア内のデバイスから収集するデータを分析するためのソフトウェアを前記拠点コンピュータに配置するソフトウェア配置装置とを備えるソフトウェア配置システムであって、前記ソフトウェア配置装置が、探索対象が最後に発見された位置を示す最終発見位置、および、前記探索対象が最後に発見された時刻を示す最終発見時刻を取得する情報取得部と、前記最終発見位置と前記最終発見時刻とを用いて、ある時刻における前記探索対象が前記データにおいて検出される確率を示すデータ存在確率を算出し、算出したデータ存在確率と、複数の前記拠点コンピュータそれぞれの計算コストおよびネットワークコストとを用いた総合コストを算出し、算出した総合コストが最小となる拠点コンピュータおよび前記探索対象を検索する時間を選択する配置先決定部と、前記選択した拠点コンピュータに、前記ソフトウェアを配信し、前記選択した時間のデータの分析指示を送信することにより、当該選択した時間における前記探索対象の検索を実行させるソフトウェア配信部と、を備え、前記拠点コンピュータが、前記エリア内のデバイスからデータを収集するデータ収集部と、前記ソフトウェアが当該拠点コンピュータに配信された場合に、前記分析指示で示される前記選択した時間のデータについて、当該ソフトウェアを用いて前記探索対象の検索を実行するデータ分析部と、を備えることを特徴とする。
 本発明によれば、実績データのない探索対象のデータ発見を行う場合に、データ分析に用いるソフトウェアを拠点のコンピュータに効率的に配置することができる。
本実施形態に係るソフトウェア配置システムの全体構成を示す図である。 本実施形態における拠点へのソフトウェア配置を、概念的に説明するための状態空間を示す図である。 本実施形態におけるデータ存在確率を説明するための図である。 本実施形態におけるデータ価値を説明するための図である。 本実施形態に係るソフトウェア配置装置の処理の流れを示すフローチャートである。 本実施形態に係るソフトウェア配置装置および拠点コンピュータの機能を実現するコンピュータの一例を示すハードウェア構成図である。
 まず、本実施形態に係るソフトウェア配置システム1000の全体構成(図1参照)と、本発明において導入する各パラメータについて説明する。
<全体構成>
 図1は、本実施形態に係るソフトウェア配置システム1000の全体構成を示す図である。
 図1に示すように、ソフトウェア配置システム1000は、複数のデバイス2に通信接続され、各デバイス2からのデータを収集する拠点コンピュータ20と、複数の拠点コンピュータ20に通信接続され、データ分析のためのソフトウェアを、後記する配置先決定処理により決定した拠点コンピュータ20に配信するソフトウェア配置装置10とを備える。
 ここで、本実施形態に係る拠点コンピュータ20は、例えば、一つのイベント領域、公園、特定の建物内や、街中の一区画等の管轄単位ごとに設けられる拠点に配置されるコンピュータである。デバイス2が生成するデータ(例えば、映像データやセンサデータ等)は、そのデバイス2が位置するエリアを管轄するコンピュータ(拠点コンピュータ20)に送信され保存される。
 本実施形態に係るソフトウェア配置装置10は、後記するデータ存在確率、コンピュータの計算コスト、ネットワークコスト等の各パラメータを用いてソフトウェアを配置する拠点コンピュータ20を決定する。また、データ価値というパラメータを導入してさらに精度よく配置先となる拠点コンピュータ20を決定することを特徴とする。
<パラメータの説明>
 本実施形態に係るソフトウェア配置装置10等の具体的な構成を説明する前に、本発明において導入する各パラメータの内容と、当該パラメータを導入した技術思想について説明する。
 図2は、本実施形態における拠点(拠点コンピュータ20)へのソフトウェア配置を、概念的に説明するための状態空間を示す図である。
 本実施形態では、図2に示すように、拠点間の物理的な距離(距離x)と、時間(時間t)を軸とする空間を想定する。離散的に配置される点は、ある拠点において、ある時間帯において収集されたデータを表す。ソフトウェア配置装置10は、任意の拠点と時間(時間帯)を選択して、拠点コンピュータ20にデータ分析用のソフトウェアを配信することにより、データ分析を実行させ、そのデータが目的のデータであるか否かを判定する。ソフトウェア配置装置10は、判定した結果、目的のデータであった場合(目的のデータを発見した場合)には、検索が成功したものとして終了する。一方、ソフトウェア配置装置10は、目的のデータでなかった場合(目的のデータを発見できなかった場合)には、新たに別のデータを選択して同様の処理を繰り返す。ソフトウェアによるデータ分析処理の実行には計算コストがかかるため、より少ない選択回数で目的のデータを発見することが目標となる。
 この前提のもと、さらに上記空間(距離(拠点)と時間を軸とする空間)において、図2に示す、データ存在確率、データ価値、コンピュータの計算コスト(図2で図示省略)、ネットワークコスト(図2で図示省略)の軸を設け、これらを総合してソフトウェアの配置箇所(拠点コンピュータ20)を決定する。
≪データ存在確率≫
 データ存在確率f(x)は、探索対象の存在確率を距離(x)の関数で表したものである。時系列で移動する探索対象の存在確率として、本実施形態では、以下の式(1)で表される正規分布を用いる。ここで、「μ」は、最後に探索対象を発見した位置を表す。また、式(1)中の「σ」は、例えば式(2)で与えられる。
Figure JPOXMLDOC01-appb-M000001
 
 式(1)で表される正規分布を図3に示す。図3の横軸は距離を示し、距離の離散点は、拠点の位置があてはまる。図3の縦軸は、目的データの存在確率(データ存在確率)を表す。
 正規分布の平均「μ」(グラフの中心)は、当該探索対象が最後に発見された拠点の位置(図3の「最終発見位置」)とする。なお、この「最終発見位置」は、後記する配置先決定処理の前に探索対象が最後に発見された位置であるとともに、配置先決定処理の中で算出される、新たに探索対象が発見された位置でもある(詳細は後記)。また、正規分布の分散は、最後に発見された時刻(以下、「最終発見時刻」と称する。)からの経過時間に基づいて算出される値を用いる。例えば、分散は、式(2)によって算出する値を用いる。式(2)を用いると、ある時刻tにおける探索対象の存在確率は、それ以前に最後に発見した時刻(t_last)を用いて算出することができる。なお、この「最終発見時刻」は、後記する配置先決定処理の前に探索対象が最後に発見された時刻であるとともに、配置先決定処理の中で算出される、新たに探索対象が発見された時刻でもある(詳細は後記)。
 また、式(2)の「α」は数値を調整するための重みであり、任意の数を用いる。式(1)および式(2)によって、探索対象が最後に発見されてから経過した時間が長いほど、より遠くまで移動できることを存在確率に反映できる。反対に、最後に発見されてから経過時間が極めて短い場合には、物理的な速度限界から、当該探索対象の存在位置は、ゼロ(最後に探索された拠点のエリア内)として扱うこともできる。
 本発明は、このデータ存在確率を、データが発見されることにより更新することを特徴とする。つまり、本来探索対象の発見時刻として目的とされていない時刻のデータも、データ存在確率を変化させるという点で、「目的データ」(目的とする時刻(時間)における探索対象が発見されたデータ)の発見に寄与する可能性がある。例えば、人物捜索サービスでは、最後に対象の人物を発見してから長時間が経過した時刻における存在確率は、全拠点で低く平準化してしまっており利用価値が低い。一方、最終発見時刻に近い時刻の存在確率は顕著な傾向(より高い確率)を示すため、考慮することでデータを発見できる可能性が高い。
 なお、本実施形態において、データが発見された時刻(時間)に関わらず、探索対象がデータ分析により発見されたデータを「発見データ」と称する。
 このとき発見できるデータ(発見データ)は、目的データとは時刻が異なるデータであるものの、このデータを発見することにより、「μ」(最後に探索対象を発見した位置:最終発見位置)と「t_last」(最後に発見した時刻:最終発見時刻)を更新することができる。これにより、順に時刻を辿りながらデータ存在確率を更新していくことで、結果して目的データの探索を効率的に行うことができる。
≪データ価値≫
 上記の手法を用いて、順に時刻を辿りながらデータ存在確率を更新していくことで、従来よりも効率的に目的データの探索を行うことができる。ただし、時刻を辿りながら処理するため、目的データに至るまでに繰り返す処理の分だけ、計算コストが大きくなる場合が想定される。これを考慮し、データ処理回数を低減するためのパラメータとして「データ価値」の概念を導入する。
 データ価値とは、目的データからの時刻の差に比例して減少する指標値である。このデータ価値をパラメータとして加えることにより、データ分析にかかる処理回数を無視して、単純にデータ存在確率が高いデータだけが選ばれることを抑制する効果を果たす。
 データ価値V(t)は、例えば、下記の式(3)で示すように、目的データからの時間差分に比例して減少する値とする。また、式(3)を図示したものが図4である。
Figure JPOXMLDOC01-appb-M000002
 
 式(3)および図4における「t_target」は、目的とするデータの時間(以下、「目的時間」と称する。)を示す。例えば、現在の時間(時刻)を指定する場合もあれば、過去のある時間(時刻)を指定する場合もある。「t_max」は、目的データの指定時間(目的時間)から探索範囲として許容する最大の乖離時間(以下、単に「乖離時間」と称する。)を示す。例えば、「t_max」を60分と指定すれば、目的データの指定時間(目的時間)から前後60分のデータが分析対象となる。
≪データ期待値≫
 上記したデータ存在確率とデータ価値を統合した値を「データ期待値」とする。例えば、データ期待値に式(1)および式(2)を用い、データ価値に式(3)を用いた場合には、以下の式(4)によりデータ期待値E(t,x)が求められる。
Figure JPOXMLDOC01-appb-M000003
 
 なお、データ価値をパラメータとして考慮しない場合においては、式(1)および式(2)から求まるデータ存在確率f(t,x)の値をそのままデータ期待値E(t,x)として用いる。そのときのデータ期待値E(t,x)は、式(5)となる。
Figure JPOXMLDOC01-appb-M000004
 
≪総合コスト≫
 データ期待値にさらに、拠点ごとの計算コストCc(x)とネットワークコストCn(x)とを考慮したコストとして「総合コスト」の概念を導入する。ここで、計算コストCc(x)は、拠点ごとに異なるコンピュータを使用する際にかかるコスト(例えば、時間単位でコンピュータリソースを占有する費用等)である。また、ネットワークコストCn(x)は、拠点ごとに異なるデータ転送に係るコスト(例えば、ネットワーク回線の占有に係る費用等)である。この計算コストと、ネットワークコストは、設備敷設時に拠点ごとに静的に設定してもよいし、現在(その時点)の負荷状況に鑑みて動的に計算してもよい。
 総合コストC(t,x)は、例えば、以下の式(6)に示すように、コストの和からデータ期待値を減算した値として求めることができる。ここで、βは、任意の数(重み)である。
Figure JPOXMLDOC01-appb-M000005
 
 ソフトウェア配置装置10は、式(6)によって算出される総合コスト(C)が最小となる拠点(x)と時間(t)を選択し、データ分析のためのソフトウェアの配置先および検索対象の時間として決定する(後記する「配置先決定処理」)。この処理によって、ソフトウェア配置装置10は、データ発見の確率とコストを考慮した効率的なソフトウェアの配置を実現することができる。
<装置構成>
 次に、図1を参照して、本実施形態に係るソフトウェア配置装置10および複数の拠点コンピュータ20を含むソフトウェア配置システム1000の具体的な構成について説明する。
≪拠点コンピュータ≫
 拠点コンピュータ20は、拠点ごとに設定される管轄単位内に位置する複数のデバイス2からデータを収集して保存するコンピュータである。ここで、デバイス2は、例えば映像検索サービスに用いる映像データを取得するカメラデバイス(監視カメラ等)である。また、サービスの内容によっては、音センサや温度センサ、その他のセンサデバイスであってもよい。
 この拠点コンピュータ20は、制御部、入出力部および記憶部(いずれも図示省略)を含むコンピュータにより構成される。そして、拠点コンピュータ20は、通常時(データ分析指示を受けていない状態)においては、データ分析のためのソフトウェアを備えていない。拠点コンピュータ20は、ソフトウェア配置装置10からデータ分析のためのソフトウェアの配信を受けるとともに、拠点コンピュータ20が選択した時間についてのデータの分析指示を受けたときに、そのデータに関する分析を行うことを特徴する。
 この拠点コンピュータ20は、図1に示すように、制御部にデータ収集部22およびソフトウェア削除部23を備える。データ収集部22は、各デバイス2からのデータ200を収集し、記憶部内に所定期間保存する。なお、拠点コンピュータ20の記憶部を別筐体のストレージサーバとして、データ200を記憶するようにしてもよい。
 拠点コンピュータ20は、さらに、保存したデータ200のデータ分析に関し、ソフトウェア配置装置10からデータ分析のためのソフトウェアの配信を受けることにより、データ分析部21の機能を実現する。
 このデータ分析部21は、ソフトウェア配置装置10から、時間(時間帯)を指定したデータ(後記する「選択した時間のデータ」)の分析指示を受け取ると、自身の記憶部(図示省略)に記憶したデータ200のうち、該当する時間(時間帯)のデータ分析を実行する。そして、データ分析部21は、目的データが見つかったか否かを示す結果情報を、ソフトウェア配置装置10に送信する。
 また、ソフトウェア削除部23は、ソフトウェア配置装置10から配信されたデータ分析のためのソフトウェア(データ分析部21)を、所定のソフトウェア削除ロジックに基づき削除する。この所定のソフトウェア削除ロジックは、例えば、所定の時間、ソフトウェアを保持しておき、所定の時間経過後に削除するというロジックでもよいし、1回のデータ分析の度にソフトウェアを削除するというロジックでもよい。また、拠点コンピュータ20(ソフトウェア削除部23)が、一連の探索対象に対する処理が終了したことを示す情報を、ソフトウェア配置装置10から受信したことを契機として、配信を受けたソフトウェアを削除するというロジックでもよい。拠点コンピュータ20には、配信を受けたソフトウェアを削除するための所定のソフトウェア削除ロジックが予め設定される。
 本実施形態に係る拠点コンピュータ20は、データ分析が必要なときだけソフトウェアの配信を受けて保持し、分析指示を受けた時間のデータに関してのみデータ分析を実行することができる。よって、拠点コンピュータ20の計算負荷を低減することができる。また、データ分析が不要になると、配信されたソフトウェアをソフトウェア削除部23が削除するため、拠点コンピュータ20の計算資源(CPU(Central Processing Unit)、メモリ等)を他のサービスに関する処理等に有効活用することができる。
≪ソフトウェア配置装置≫
 次に、ソフトウェア配置装置10の具体的な構成について説明する。
 本実施形態に係るソフトウェア配置装置10は、データ検索のためのソフトウェアを拠点コンピュータ20に配置する際に、「データ存在確率」「データ期待値」および「コスト」等のパラメータを導入することにより、データ検索における(総合)コストが最も低くなる拠点コンピュータ20を選択することを特徴とする。
 このソフトウェア配置装置10は、図1に示すように、制御部100と、入出力部140と、記憶部150とを含んで構成される。
 入出力部140は、各拠点コンピュータ20等との間で情報の送受信を行うための通信インタフェース、および、タッチパネルやキーボード等の入力装置や、モニタ等の出力装置との間で情報の送受信を行うための入出力インタフェースからなる。
 記憶部150は、フラッシュメモリやハードディスク、RAM(Random Access Memory)等により構成される。この記憶部150には、拠点情報DB(DataBase)500が記憶されるとともに、制御部100の各機能を実現するためのプログラムや、制御部100の処理に必要な情報が一時的に記憶される。また、記憶部150には、配置先決定処理に必要なる各定数として、乖離時間(t_max)、データ存在確率の計算に用いる定数(重み「α」)、総合コストの計算に用いる定数(重み「β」)等が予め記憶される。なお、この記憶部150内に、配信対象となるソフトウェアを予め格納しておいてもよいし、後記するソフトウェア配信部130が外部装置に記憶されたソフトウェアを拠点コンピュータ20に配信するように制御してもよい。
 拠点情報DB500には、各拠点コンピュータ20の識別情報に対応付けて、その拠点コンピュータ20の位置情報(その拠点コンピュータ20が収容する各デバイス2が位置する管轄エリア(所定のエリア)の情報を含む)、その拠点コンピュータ20の計算コスト(Cc)の情報、その拠点コンピュータ20のネットワークコスト(Cn)の情報が格納される。
 なお、各拠点コンピュータ20の計算コスト(Cc)とネットワークコスト(Cn)の情報は、不図示のネットワーク管理装置等により、静的な情報として予め登録されていてもよいし、不図示のネットワーク管理装置等から、現時点の負荷状況に応じた各拠点コンピュータ20の計算コスト(Cc)およびネットワークコスト(Cn)を受信し、拠点情報DB500に格納するようにしてもよい。
 制御部100は、ソフトウェア配置装置10の処理全般を司り、情報取得部110と、配置先決定部120と、ソフトウェア配信部130とを含んで構成される。
 情報取得部110は、外部装置(例えば、ネットワーク管理装置等)から、探索対象となる目的データの指定情報(以下、「目的データ指定情報」と称する。)を取得する。
 この目的データ指定情報には、探索対象の特徴を示す情報、目的データの発見を指定する時間(以下、「目的時間」と称する。)、探索対象が最後に発見された位置(最終発見位置)、探索対象が最後に発見された時刻(「t_last」:最終発見時刻)が含まれる。
 なお、探索対象は、迷子や逃亡犯等のような人物に限定されず、犬等のペットや、自動車、バイク、自転車等であってもよく、統計情報として把握できる実績データのない(または少ない)ユニークな対象である。
 ここで、「探索対象の特徴を示す情報」(探索対象の特徴情報)は、配信されたソフトウェアがデータを分析する際に、目的データを特定(探索)するために用いる情報である。例えば、迷子探索サービスであれば、迷子の子供の体型、顔、服装等の特徴量を示す情報である。
 「目的時間」は、探索対象の目的データを発見したいとして指定される時間であり、例えば、現在の時刻でもよいし、過去のある時点の時刻でもよい。なお、「目的時間」として、拠点コンピュータ20に記憶されているデータ200における個々のデータのまとまりの一単位である時間帯(時系列で連続するデータのうちの所定の時間帯)を指定してもよい。なお、「目的時間」においてある時刻が指定された場合には、拠点コンピュータ20においては、その指定時刻を含む所定の時間帯のデータ200を検索の対象とする。
 「探索対象が最後に発見された位置」(最終発見位置)は、探索対象の最後に発見されたそのものの位置情報でもよいし、どの拠点コンピュータ20の管轄エリア(所定のエリア)内で発見されたのかを特定する情報でもよい。
 「探索対象が最後に発見された時刻」(「t_last」:最終発見時刻)は、探索対象が最後に発見された時刻そのものであるが、データを発見する検索対象としては、当該時刻を含む所定の時間帯が指定される。
 配置先決定部120は、上記した「データ存在確率」「データ期待値」および「コスト」等のパラメータを計算し、データ検索における総合コストが最小となる拠点コンピュータ20と、検索する時間とを決定する配置先決定処理を行う。また、配置先決定部120は、配置先となる拠点コンピュータ20において、データ分析により探索対象を含むデータ(発見データ)が見つかった場合において、目的時間と異なる場合には、そのデータ(発見データ)が見つかった時刻を、探索対象が最後に発見された時刻(「t_last」:最終発見時刻)として更新し、その配置先となる拠点コンピュータ20の位置を、探索対象が最後に発見された位置(最終発見位置)として更新した上で、配置先決定処理を繰り返す。これにより、データ存在確率を更新し、目的時間における目的データの検索をより効率的に行う。
 この配置先決定部120は、データ存在確率算出部121と、データ期待値算出部122と、拠点・時間算出部123とを含んで構成される。
 データ存在確率算出部121は、情報取得部110が取得した目的データ指定情報に含まれる、最終発見位置および最終発見時刻(t_last)を用いて、上記した式(1)および式(2)に基づき、データ存在確率を算出する。
 また、データ存在確率算出部121は、選択した時間(時間帯)のデータの分析指示を送信した拠点コンピュータ20からの結果情報を取得し、探索対象を含むデータ(発見データ)が見つかった場合において、選択した時間が目的時間と異なるときには、発見データが見つかった時刻を最終発見時刻として更新し、選択した拠点コンピュータ20の位置を最終発見位置として更新した上で、再度データ存在確率を算出する。
 一方、データ存在確率算出部121は、拠点コンピュータ20から取得した結果情報において、探索対象を含むデータ(発見データ)が見つからない場合には、当該データ分析において、発見データが見つからなかった拠点コンピュータ20における選択した時間を選択対象から除き、再度データ存在確率を算出する。
 データ期待値算出部122は、データ存在確率算出部121が算出したデータ存在確率と、式(3)により算出されるデータ価値とを用いて、式(4)により、データ期待値E(t,x)を算出する。
 なお、データ価値V(t)の算出に用いる、目的データの指定時間(「t_target」:目的時間)は、情報取得部110が取得した目的データ指定情報に含まれる情報である。また、乖離時間(「t_max」)は、予め記憶部150等に設定されている情報である。
 なお、データ期待値算出部122は、データ価値V(t)を考慮しない場合には、上記した式(5)のように、データ存在確率f(x,t)の値を、そのままデータ期待値E(t,x)として利用する。
 拠点・時間算出部123は、データ期待値算出部122が算出したデータ期待値E(t,x)の情報と、記憶部150の拠点情報DB500に記憶された、拠点ごとの計算コストCc(x)およびネットワークコストCn(x)の情報とを用いて、上記した式(6)に基づき、総合コストC(t,x)を算出する。
 拠点・時間算出部123は、式(6)を用いて、総合コストC(t,x)が最小となる拠点(x)と時間(t)を選択し、データ分析のためのソフトウェア配置先および検索対象の時間として決定する。
 そして、拠点・時間算出部123は、ソフトウェア配置先として選択した拠点(x)の拠点コンピュータ20の情報と、選択した時間(t)の情報とを、ソフトウェア配信部130に出力する。
 ソフトウェア配信部130は、選択した拠点(x)の拠点コンピュータ20に対し、情報取得部110が取得した目的データ指定情報に含まれる、探索対象の特徴情報と、当該探索対象をデータ分析するためのソフトウェアとを配信する。また、ソフトウェア配信部130は、選択した拠点(x)の拠点コンピュータ20に、選択した時間(t)のデータの分析指示を送信する。
 なお、ソフトウェア配信部130は、拠点・時間算出部123が選択した拠点コンピュータ20にすでに探索対象の特徴情報と、データ分析のためのソフトウェアとを送信済みであり、その拠点コンピュータ20が当該ソフトウェアを所定時間記憶している状態である場合には、探索対象の特徴情報とソフトウェアを送信しない設定にしてもよい。
 また、ソフトウェア配信部130は、拠点コンピュータ20が、所定のソフトウェア削除ロジックとして、一連の探索対象に対する処理が終了したことを示す情報(終了情報)を受信したことを契機として、配信したソフトウェアを削除するロジックを採用している場合には、目的データが発見されたことを契機として、当該終了情報を、それまでにソフトウェアを配信した各拠点コンピュータ20に送信する。
 このような構成にすることにより、ソフトウェア配置装置10は、実績データのない探索対象のデータ発見を行う場合に、データ存在確率やコスト(計算コスト、ネットワークコスト)を考慮して、データ分析に用いるソフトウェアを、拠点コンピュータ20に効率的に配置することができる。
<処理の流れ>
 次に、本実施形態に係るソフトウェア配置装置10が実行する処理の流れについて説明する。
 図5は、本実施形態にかかるソフトウェア配置装置10の処理の流れを示すフローチャートである。
 なお、ソフトウェア配置装置10の記憶部150内の拠点情報DB500には、各拠点コンピュータ20の位置情報や、拠点コンピュータ20ごとの計算コスト(Cc)およびネットワークコスト(Cn)が格納されているものとする。また、乖離時間(t_max)、データ存在確率の計算に用いる定数(重み「α」)、総合コストに計算に用いる定数(重み「β」)の情報が予め記憶部150に記憶されているものとする。
 まず、ソフトウェア配置装置10の情報取得部110は、外部装置(例えば、ネットワーク管理装置等)から、探索対象となる目的データの指定情報(目的データ指定情報)を取得する(ステップS1)。
 この目的データ指定情報には、探索対象の特徴情報、目的時間、最終発見位置、最終発見時刻の情報が含まれる。
 次に、ソフトウェア配置装置10の配置先決定部120が、「データ存在確率」「データ価値」「データ期待値」および「総合コスト」等のパラメータを用いることにより、コストが最小となる拠点の拠点コンピュータ20と検索対象となる時間とを選択する(ステップS2:配置先決定処理)。
 具体的には、データ存在確率算出部121が、探索対象の最終発見位置と最終発見時刻の情報を用いて、データ存在確率を算出する。そして、データ期待値算出部122が、データ存在確率算出部121が算出したデータ存在確率と、目的時間および乖離時間を用いて得たデータ価値との基づき、データ期待値を算出する。なお、データ期待値算出部122は、データ価値を用いない場合には、データ存在確率の値を、データ期待値とする。続いて、拠点・時間算出部123が、データ期待値算出部122が算出したデータ期待値と、拠点コンピュータ20ごとの計算コストおよびネットワークコストに基づき総合コストを算出し、その総合コストが最小となる拠点(拠点コンピュータ20)と検索対象となる時間とを選択する。
 次に、ソフトウェア配置装置10のソフトウェア配信部130が、ステップS2において選択された拠点コンピュータ20に対し、ステップS1で取得した目的データ指定情報に含まれる探索対象の特徴情報と、その探索対象のデータを分析するためのソフトウェアとを配信する(ステップS3:ソフトウェア配信)。
 続いて、ソフトウェア配置装置10のソフトウェア配信部130は、ステップS2において選択した時間のデータの分析指示を、選択した拠点コンピュータ20に送信する(ステップS4)。これにより、拠点コンピュータ20は、保存しているデータ200(図1)の中の選択した時間において、探索対象が発見できるか否かの検索を行う。
 なお、ソフトウェア配置装置10は、ステップS3のソフトウェアの配信と、ステップS4の分析指示とを、別々ではなく一つのメッセージにより、選択した拠点コンピュータ20に送信してもよい。また、ステップS2の処理が繰り返しの処理となる場合において、すでに一度選択した拠点コンピュータ20に、探索対象の特徴情報とデータ分析のためのソフトウェアが配信済みであり削除されていない場合には、ステップS3の処理を省略することができる。
 次に、ソフトウェア配置装置10の配置先決定部120は、選択した拠点コンピュータ20から、選択した時間において、探索対象を含むデータ(発見データ)が発見できたか否かの結果情報を取得する(ステップS5)。
 続いて、ソフトウェア配置装置10の配置先決定部120は、ステップS2において選択した時間と、ステップS1において取得した目的時間とが一致するか否かを判定する(ステップS6)。
 ここで、選択した時間と、目的時間とが一致する場合には(ステップS6→Yes)、次のステップS7に進む。
 ステップS7において、ソフトウェア配置装置10は、ステップS5で取得した結果情報に基づき、目的データが発見できたか否かを判定する。
 ここで、ソフトウェア配置装置10は、目的データを発見できた場合には(ステップS7→Yes)、処理を終える。一方、ソフトウェア配置装置10は、目的データを発見できなかった場合には(ステップS7→No)、選択した拠点コンピュータ20における選択した時間を、分析済みとして、次回の選択候補から除外する(ステップS8)。そして、ソフトウェア配置装置10は、ステップS2に戻り、処理を続ける。
 一方、ステップS6において、選択した時間と、目的時間とが一致しない場合には(ステップS6→No)、次のステップS9に進む。
 ステップS9において、ソフトウェア配置装置10(配置先決定部120)は、選択した時間(目的時間とは異なる時間)において探索対象を含むデータが発見された否かを判定する。
 ここで、選択した時間(目的時間とは異なる時間)において探索対象を含むデータが発見された場合には(ステップS9→Yes)、ソフトウェア配置装置10の配置先決定部120は、選択した拠点コンピュータ20の位置を、探索対象の最終発見位置として更新し、選択した時間(目的時間とは異なる時間)における発見されたデータの時刻を探索対象の最終発見時刻として更新する(ステップS10)。
 一方、ソフトウェア配置装置10は、ステップS9において、選択した時間(目的時間とは異なる時間)で、探索対象を含むデータが発見されない場合には(ステップS9→No)、ステップS11へ進む。
 ステップS11において、ソフトウェア配置装置10は、選択した拠点コンピュータ20における選択した時間(目的時間とは異なる時間)を、分析済みとして、次回の選択候補から除外する。そして、ソフトウェア配置装置10は、ステップS2に戻り、処理を続ける。
 このように、本実施形態に係るソフトウェア配置装置10は、データ存在確率を、データが発見されることにより更新することができる。よって、実績データのない探索対象であっても、計算コストおよびネットワークコストを考慮して、データ分析に用いるソフトウェアを拠点コンピュータ20に効率的に配置することが可能となる。
<ハードウェア構成>
 本実施形態に係るソフトウェア配置装置10、拠点コンピュータ20は、例えば図6に示すような構成のコンピュータ900によって実現される。
 図6は、本実施形態に係るソフトウェア配置装置10および拠点コンピュータ20の機能を実現するコンピュータ900の一例を示すハードウェア構成図である。コンピュータ900は、CPU901、ROM(Read Only Memory)902、RAM903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
 CPU901は、ROM902またはHDD904に記憶されたプログラムに基づき作動し、図1に示すソフトウェア配置装置10の制御部100、拠点コンピュータ20の制御部(図示省略)による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
 CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイやプリンタ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。なお、プロセッサとしてCPU901とともに、GPU(Graphics Processing Unit)等を用いても良い。
 HDD904は、CPU901により実行されるプログラムおよび当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、NW(Network)5)を介して他の装置からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
 メディアI/F907は、記録媒体912に格納されたプログラムまたはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、導体メモリテープ媒体又は半導体メモリ等である。
 例えば、コンピュータ900が本実施形態に係るソフトウェア配置装置10、拠点コンピュータ20として機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することによりソフトウェア配置装置10、拠点コンピュータ20の機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(NW5)を介して目的の処理に係るプログラムを読み込んでもよい。
<効果>
 以下、本発明に係るソフトウェア配置システム等の効果について説明する。
 本発明に係るソフトウェア配置システムは、複数のエリアそれぞれに位置する拠点コンピュータ20と、エリア内のデバイス2から収集するデータを分析するためのソフトウェアを拠点コンピュータ20に配置するソフトウェア配置装置10とを備えるソフトウェア配置システム1000であって、ソフトウェア配置装置10が、探索対象が最後に発見された位置を示す最終発見位置、および、探索対象が最後に発見された時刻を示す最終発見時刻を取得する情報取得部110と、最終発見位置と最終発見時刻とを用いて、ある時刻における探索対象がデータにおいて検出される確率を示すデータ存在確率を算出し、算出したデータ存在確率と、複数の拠点コンピュータそれぞれの計算コストおよびネットワークコストとを用いた総合コストを算出し、算出した総合コストが最小となる拠点コンピュータ20および探索対象を検索する時間を選択する配置先決定部120と、選択した拠点コンピュータ20に、ソフトウェアを配信し、選択した時間のデータの分析指示を送信することにより、当該選択した時間における探索対象の検索を実行させるソフトウェア配信部130と、を備え、拠点コンピュータ20が、エリア内のデバイス2からデータを収集するデータ収集部22と、ソフトウェアが当該拠点コンピュータに配信された場合に、分析指示で示される選択した時間のデータについて、当該ソフトウェアを用いて探索対象の検索を実行するデータ分析部21と、を備えることを特徴とする。
 また、本発明に係るソフトウェア配置装置は、所定のエリア内のデバイス2からデータを収集する拠点コンピュータ20に、データを分析するためのソフトウェアを配置するソフトウェア配置装置10であって、探索対象が最後に発見された位置を示す最終発見位置、および、探索対象が最後に発見された時刻を示す最終発見時刻を取得する情報取得部110と、最終発見位置と最終発見時刻とを用いて、ある時刻における探索対象がデータにおいて検出される確率を示すデータ存在確率を算出し、算出したデータ存在確率と、複数の拠点コンピュータ20それぞれの計算コストおよびネットワークコストとを用いた総合コストを算出し、算出した総合コストが最小となる拠点コンピュータ20および探索対象を検索する時間を選択する配置先決定部120と、選択した拠点コンピュータ20に、ソフトウェアを配信し、選択した時間のデータの分析指示を送信することにより、当該選択した時間における探索対象の検索を実行させるソフトウェア配信部130と、を備えることを特徴とする。
 このように、ソフトウェア配置システム1000のソフトウェア配置装置10は、最終発見位置および最終発見時刻に基づくデータ存在確率と、各拠点コンピュータ20の計算コストおよびネットワークコストとを用いた総合コストを算出し、算出した総合コストが最小となる拠点コンピュータ20に、ソフトウェアを配置することができる。
 よって、ソフトウェア配置装置10は、過去の実績データが利用できない探索対象であっても、データ分析に用いるソフトウェアを効率的に配置することが可能となる。
 また、ソフトウェア配置装置10において、情報取得部110は、さらに、探索対象を発見する時間が指定される目的時間の情報を取得しており、配置先決定部120は、選択した時間と目的時間が一致しない場合において、選択した拠点コンピュータ20から、選択した時間のデータの検索により探索対象が発見できたとの結果情報を取得したときに、選択した拠点コンピュータの位置で最終発見位置を更新し、選択した時間で最終発見時刻を更新すること、を特徴とする。
 このように、ソフトウェア配置装置10は、選択した時間と目的時間とが一致しないデータにおいて探索対象が発見された場合に、選択した拠点コンピュータ20の位置で最終発見位置を更新し、選択した時間で最終発見時刻を更新することができる。これにより、ソフトウェア配置装置10は、データ存在確率を更新して、新たに配置先となる拠点コンピュータ20を選択することができる。よって、ソフトウェア配置装置10は、探索対象のデータを発見できる可能性をさらに高めることができる。
 また、ソフトウェア配置装置10において、情報取得部110は、さらに、探索対象を発見する時間が指定される目的時間の情報を取得しており、配置先決定部120は、算出したデータ存在確率に、ある時間と目的時間との差が大きくなるほど減少する指標であるデータ価値を含めたデータ期待値を算出し、算出したデータ期待値と、複数の拠点コンピュータそれぞれの計算コストおよびネットワークコストとを用いて、総合コストを算出すること、を特徴とする。
 このように、ソフトウェア配置装置10は、データ存在確率、各拠点コンピュータ20の計算コストおよびネットワークコストに加えて、データ価値を考慮した総合コストを算出することができる。このデータ価値により、目的時刻からより離れた時刻のデータの価値が相対的に低くなる(目的時刻により近いデータを価値が相対的に高くなる)ため、単純にデータ存在確率が高いデータだけが選ばれることが抑制される。よって、ソフトウェア配置装置10は、データ処理回数を低減できるため、データ分析に用いるソフトウェアをさらに効率的に配置することが可能となる。
 また、本発明に係る拠点コンピュータは、エリア内のデバイスからデータを収集するデータ収集部22と、データを分析するためのソフトウェアの配信を受けた場合に、収集したデータの中から、選択した時間のデータについての分析指示を受け付け、当該ソフトウェアを用いて探索対象の検索を、選択した時間のデータについて実行するデータ分析部21と、を備えることを特徴とする。
 このように、拠点コンピュータ20は、データ分析が必要なときだけソフトウェアの配信を受けて保持し、分析指示を受けた時間のデータに関してのみデータ分析を実行することができる。よって、拠点コンピュータ20の計算負荷を低減することができる。
 なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
 2   デバイス
 10  ソフトウェア配置装置
 20  拠点コンピュータ
 21  データ分析部
 22  データ収集部
 23  ソフトウェア削除部
 100 制御部
 110 情報取得部
 120 配置先決定部
 121 データ存在確率算出部
 122 データ期待値算出部
 123 拠点・時間算出部
 130 ソフトウェア配信部
 140 入出力部
 150 記憶部
 200 データ
 500 拠点情報DB
 1000 ソフトウェア配置システム

Claims (8)

  1.  複数のエリアそれぞれに位置する拠点コンピュータと、前記エリア内のデバイスから収集するデータを分析するためのソフトウェアを前記拠点コンピュータに配置するソフトウェア配置装置とを備えるソフトウェア配置システムであって、
     前記ソフトウェア配置装置は、
     探索対象が最後に発見された位置を示す最終発見位置、および、前記探索対象が最後に発見された時刻を示す最終発見時刻を取得する情報取得部と、
     前記最終発見位置と前記最終発見時刻とを用いて、ある時刻における前記探索対象が前記データにおいて検出される確率を示すデータ存在確率を算出し、算出したデータ存在確率と、複数の前記拠点コンピュータそれぞれの計算コストおよびネットワークコストとを用いた総合コストを算出し、算出した総合コストが最小となる拠点コンピュータおよび前記探索対象を検索する時間を選択する配置先決定部と、
     前記選択した拠点コンピュータに、前記ソフトウェアを配信し、前記選択した時間のデータの分析指示を送信することにより、当該選択した時間における前記探索対象の検索を実行させるソフトウェア配信部と、を備え、
     前記拠点コンピュータは、
     前記エリア内のデバイスからデータを収集するデータ収集部と、
     前記ソフトウェアが当該拠点コンピュータに配信された場合に、前記分析指示で示される前記選択した時間のデータについて、当該ソフトウェアを用いて前記探索対象の検索を実行するデータ分析部と、を備えること
     を特徴とするソフトウェア配置システム。
  2.  所定のエリア内のデバイスからデータを収集する拠点コンピュータに、前記データを分析するためのソフトウェアを配置するソフトウェア配置装置であって、
     探索対象が最後に発見された位置を示す最終発見位置、および、前記探索対象が最後に発見された時刻を示す最終発見時刻を取得する情報取得部と、
     前記最終発見位置と前記最終発見時刻とを用いて、ある時刻における前記探索対象が前記データにおいて検出される確率を示すデータ存在確率を算出し、算出したデータ存在確率と、複数の前記拠点コンピュータそれぞれの計算コストおよびネットワークコストとを用いた総合コストを算出し、算出した総合コストが最小となる拠点コンピュータおよび前記探索対象を検索する時間を選択する配置先決定部と、
     前記選択した拠点コンピュータに、前記ソフトウェアを配信し、前記選択した時間のデータの分析指示を送信することにより、当該選択した時間における前記探索対象の検索を実行させるソフトウェア配信部と、
     を備えることを特徴とするソフトウェア配置装置。
  3.  前記情報取得部は、さらに、前記探索対象を発見する時間が指定される目的時間の情報を取得しており、
     前記配置先決定部は、前記選択した時間と前記目的時間が一致しない場合において、前記選択した拠点コンピュータから、前記選択した時間のデータの検索により前記探索対象が発見できたとの結果情報を取得したときに、前記選択した拠点コンピュータの位置で前記最終発見位置を更新し、前記選択した時間で前記最終発見時刻を更新すること、
     を特徴とする請求項2に記載のソフトウェア配置装置。
  4.  前記情報取得部は、さらに、前記探索対象を発見する時間が指定される目的時間の情報を取得しており、
     前記配置先決定部は、前記算出したデータ存在確率に、ある時間と前記目的時間との差が大きくなるほど減少する指標であるデータ価値を含めたデータ期待値を算出し、算出したデータ期待値と、複数の前記拠点コンピュータそれぞれの計算コストおよびネットワークコストとを用いて、前記総合コストを算出すること、
     を特徴とする請求項2または請求項3に記載のソフトウェア配置装置。
  5.  所定のエリア内のデバイスからデータを収集する拠点コンピュータに、前記データを分析するためのソフトウェアを配置するソフトウェア配置装置のソフトウェア配置方法であって、
     前記ソフトウェア配置装置は、
     探索対象が最後に発見された位置を示す最終発見位置、および、前記探索対象が最後に発見された時刻を示す最終発見時刻を取得する情報取得ステップと、
     前記最終発見位置と前記最終発見時刻とを用いて、ある時刻における前記探索対象が前記データにおいて検出される確率を示すデータ存在確率を算出し、算出したデータ存在確率と、複数の前記拠点コンピュータそれぞれの計算コストおよびネットワークコストとを用いた総合コストを算出し、算出した総合コストが最小となる拠点コンピュータおよび前記探索対象を検索する時間を選択する配置先決定ステップと、
     前記選択した拠点コンピュータに、前記ソフトウェアを配信し、前記選択した時間のデータの分析指示を送信することにより、当該選択した時間における前記探索対象の検索を実行させるソフトウェア配信ステップと、
     を実行することを特徴とするソフトウェア配置方法。
  6.  エリア内のデバイスからデータを収集するデータ収集部と、
     前記データを分析するためのソフトウェアの配信を受けた場合に、収集した前記データの中から、選択した時間のデータについての分析指示を受け付け、当該ソフトウェアを用いて探索対象の検索を、前記選択した時間のデータについて実行するデータ分析部と、
     を備えることを特徴とする拠点コンピュータ。
  7.  コンピュータを、請求項2乃至請求項4のいずれか一項に記載のソフトウェア配置装置として機能させるためのプログラム。
  8.  コンピュータを、請求項6に記載の拠点コンピュータとして機能させるためのプログラム。
PCT/JP2019/046715 2019-11-29 2019-11-29 ソフトウェア配置システム、ソフトウェア配置装置、ソフトウェア配置方法、拠点コンピュータおよびプログラム WO2021106176A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/780,303 US20220413834A1 (en) 2019-11-29 2019-11-29 Software placement system, software placement device, software placement method, base computer and program
PCT/JP2019/046715 WO2021106176A1 (ja) 2019-11-29 2019-11-29 ソフトウェア配置システム、ソフトウェア配置装置、ソフトウェア配置方法、拠点コンピュータおよびプログラム
JP2021561093A JP7310918B2 (ja) 2019-11-29 2019-11-29 ソフトウェア配置システム、ソフトウェア配置装置、ソフトウェア配置方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/046715 WO2021106176A1 (ja) 2019-11-29 2019-11-29 ソフトウェア配置システム、ソフトウェア配置装置、ソフトウェア配置方法、拠点コンピュータおよびプログラム

Publications (1)

Publication Number Publication Date
WO2021106176A1 true WO2021106176A1 (ja) 2021-06-03

Family

ID=76129438

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/046715 WO2021106176A1 (ja) 2019-11-29 2019-11-29 ソフトウェア配置システム、ソフトウェア配置装置、ソフトウェア配置方法、拠点コンピュータおよびプログラム

Country Status (3)

Country Link
US (1) US20220413834A1 (ja)
JP (1) JP7310918B2 (ja)
WO (1) WO2021106176A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023106182A1 (ja) * 2021-12-07 2023-06-15 合同会社O&O 位置情報提供システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300571A (ja) * 2001-03-30 2002-10-11 Sogo Keibi Hosho Co Ltd 情報提供サーバ装置および情報提供方法
JP2005322219A (ja) * 2004-04-06 2005-11-17 Gunma Univ 監視システム、監視制御方法及び監視制御プログラム
JP2019049905A (ja) * 2017-09-11 2019-03-28 日本電信電話株式会社 デバイス連携サーバおよびデバイス連携プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004177997A (ja) 2002-11-22 2004-06-24 Toshiba Corp 人物探索システム及び人物探索方法
JP2007019887A (ja) 2005-07-07 2007-01-25 Hitachi Ltd 追跡対象監視システム、画像取得管理装置および画像取得管理プログラム
JP2012039284A (ja) 2010-08-05 2012-02-23 Mitsubishi Electric Corp 動画圧縮装置、動画配信システム、動画圧縮プログラム、記録媒体及び動画圧縮方法
US9087154B1 (en) * 2011-12-12 2015-07-21 Crashlytics, Inc. System and method for providing additional functionality to developer side application in an integrated development environment
US9386050B2 (en) * 2013-03-14 2016-07-05 Motorola Solutions, Inc. Method and apparatus for filtering devices within a security social network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300571A (ja) * 2001-03-30 2002-10-11 Sogo Keibi Hosho Co Ltd 情報提供サーバ装置および情報提供方法
JP2005322219A (ja) * 2004-04-06 2005-11-17 Gunma Univ 監視システム、監視制御方法及び監視制御プログラム
JP2019049905A (ja) * 2017-09-11 2019-03-28 日本電信電話株式会社 デバイス連携サーバおよびデバイス連携プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023106182A1 (ja) * 2021-12-07 2023-06-15 合同会社O&O 位置情報提供システム

Also Published As

Publication number Publication date
JPWO2021106176A1 (ja) 2021-06-03
US20220413834A1 (en) 2022-12-29
JP7310918B2 (ja) 2023-07-19

Similar Documents

Publication Publication Date Title
CN101013427B (zh) 用于管理数据的方法和系统
Cheng et al. Task assignment on multi-skill oriented spatial crowdsourcing
KR101634409B1 (ko) 데이터 센터들에 걸친 리소스 위치 확인 및 마이그레이션 기법
CN111722806B (zh) 云盘分配方法、装置、电子设备及存储介质
TW201820165A (zh) 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
US20110106922A1 (en) Optimized efficient lpar capacity consolidation
JP2019087039A (ja) タスク管理システム、タスク管理方法、及びタスク管理プログラム
JP6900853B2 (ja) デバイス連携サーバおよびデバイス連携プログラム
US10541936B1 (en) Method and system for distributed analysis
CN112116636A (zh) 目标分析方法、装置、系统、节点设备及存储介质
CN112416960A (zh) 多场景下的数据处理方法、装置、设备及存储介质
US11379539B2 (en) Efficient freshness crawl scheduling
KR101576193B1 (ko) 지리적 위치 기반 로드 밸런싱
CN111611144A (zh) 用于处理性能测试数据的方法、装置、计算设备和介质
US9959290B2 (en) Method for the continuous processing of two-level data on a system with a plurality of nodes
US20200341819A1 (en) Information processing apparatus and distributed processing system
WO2021106176A1 (ja) ソフトウェア配置システム、ソフトウェア配置装置、ソフトウェア配置方法、拠点コンピュータおよびプログラム
US20150293971A1 (en) Distributed queries over geometric objects
JP5422436B2 (ja) 滞在場所推定装置、方法及びプログラム
KR102229214B1 (ko) 데이터 공유를 위한 위성 데이터 서비스 시스템
CN106257447A (zh) 云存储服务器的视频存储及检索方法、视频云存储系统
KR101993083B1 (ko) 공간 크라우드소싱 시스템에서 R-Tree 기반의 태스크 관리 방법
CN116306867A (zh) 图数据采样、图神经网络训练方法及系统、设备和介质
CN113596146B (zh) 一种基于大数据的资源调度的方法及装置
CN115373764A (zh) 一种容器自动加载方法和装置

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021561093

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

Country of ref document: EP

Kind code of ref document: A1