WO2019159488A1 - データ処理装置、データ処理方法及びプログラム - Google Patents

データ処理装置、データ処理方法及びプログラム Download PDF

Info

Publication number
WO2019159488A1
WO2019159488A1 PCT/JP2018/043930 JP2018043930W WO2019159488A1 WO 2019159488 A1 WO2019159488 A1 WO 2019159488A1 JP 2018043930 W JP2018043930 W JP 2018043930W WO 2019159488 A1 WO2019159488 A1 WO 2019159488A1
Authority
WO
WIPO (PCT)
Prior art keywords
input data
data
preprocessing
processing module
metadata
Prior art date
Application number
PCT/JP2018/043930
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 US16/962,652 priority Critical patent/US20200356550A1/en
Priority to CN201880086063.XA priority patent/CN111566630B/zh
Publication of WO2019159488A1 publication Critical patent/WO2019159488A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Definitions

  • the present invention relates to a data processing device, a data processing method, and a program.
  • Patent Document 1 discloses a virtual sensor generation device that generates a virtual sensor.
  • a real sensor existing within a predetermined range is detected, and a virtual sensor is generated by using the detected real sensor (see Patent Document 1).
  • the virtual sensor as disclosed in Patent Document 1 includes, for example, a real sensor (an example of a device) and a processing module.
  • the processing module generates output data different from the input data by processing the sensing data (an example of input data) output by the actual sensor.
  • the format of input data (for example, unit system, number of digits) may be determined in advance. In such a case, if data in a predetermined format is not input to the processing module, there is a possibility that appropriate processing is not performed in the processing module.
  • the present invention has been made to solve such a problem, and an object of the present invention is to provide a data processing apparatus, a data processing method, and a data processing apparatus capable of reducing the possibility that a processing module performs inappropriate processing. Is to provide a program.
  • the data processing device is configured to process the input data to the processing module.
  • the processing module is configured to generate output data different from the input data based on at least one input data.
  • the processing module is associated with first metadata indicating input data conditions.
  • the input data is associated with second metadata indicating the attribute of the input data.
  • the data processing apparatus includes an acquisition unit and a preprocessing unit.
  • the acquisition unit is configured to acquire a determination result related to preprocessing of input data based on the first and second metadata.
  • the preprocessing unit is configured to preprocess the input data based on the determination result.
  • input data is preprocessed according to the determination result based on the first and second metadata. That is, in this data processing apparatus, the input data is pre-processed in consideration of the input data conditions in the processing module and the attributes of the input data input to the processing module. Therefore, according to this data processing apparatus, since appropriate preprocessing is performed on the input data of the processing module, the possibility that the processing module performs inappropriate processing can be reduced.
  • the input data and the second metadata are associated with each other via an ID (identification).
  • the acquisition unit is configured to acquire a determination result related to preprocessing for each input data based on the first and second metadata and the ID.
  • the preprocessing unit is configured to preprocess each input data based on the determination result.
  • input data and second metadata are associated with each other through an ID.
  • the ID is taken into consideration in addition to the first and second metadata in the determination regarding the preprocessing of the input data. That is, a determination regarding preprocessing is performed for each input data. Therefore, according to this data processing apparatus, appropriate preprocessing can be performed for each input data.
  • the preprocessing performed by the preprocessing unit is processing performed on the input data so that the input data satisfies the condition of the input data.
  • the processing module is configured to generate output data based on a plurality of input data.
  • the input data is output to the processing module by the device.
  • the processing module is configured to be able to switch a device that outputs input data to the processing module.
  • the input data is output to the processing module by the device.
  • the device is a sensor.
  • the input data is sensing data generated by the sensor.
  • the processing module is configured to generate output data based on a plurality of input data.
  • the input data is output to the processing module by the device.
  • a virtual sensor is formed by the processing module and a device that outputs input data to the processing module.
  • the data processing method processes the input data to the processing module.
  • the processing module is configured to generate output data different from the input data based on at least one input data.
  • the processing module is associated with first metadata indicating input data conditions.
  • the input data is associated with second metadata indicating the attribute of the input data.
  • the data processing method includes a step of obtaining a determination result related to preprocessing of input data based on the first and second metadata, and a step of performing preprocessing on the input data based on the determination result.
  • input data is preprocessed according to the determination result based on the first and second metadata. That is, in this data processing method, preprocessing is performed on input data in consideration of the conditions of input data in the processing module and the attributes of the input data input to the processing module. Therefore, according to this data processing method, since appropriate preprocessing is performed on the input data of the processing module, the possibility that the processing module performs inappropriate processing can be reduced.
  • a program causes a computer to execute a process for processing input data to a processing module.
  • the processing module is configured to generate output data different from the input data based on at least one input data.
  • the processing module is associated with first metadata indicating input data conditions.
  • the input data is associated with second metadata indicating the attribute of the input data.
  • the program is configured to cause a computer to execute a step of obtaining a determination result related to preprocessing of input data based on the first and second metadata, and a step of preprocessing input data based on the determination result Has been.
  • this program When this program is executed by the computer, the input data is preprocessed according to the determination result based on the first and second metadata. That is, when this program is executed by a computer, preprocessing is performed on the input data in consideration of the conditions of the input data in the processing module and the attributes of the input data input to the processing module. Therefore, according to this program, since appropriate preprocessing is performed on the input data of the processing module, the possibility that the processing module performs inappropriate processing can be reduced.
  • this embodiment an embodiment according to one aspect of the present invention (hereinafter, also referred to as “this embodiment”) will be described in detail with reference to the drawings.
  • the same or corresponding portions are denoted by the same reference numerals and description thereof will not be repeated.
  • the present embodiment described below is merely an example of the present invention in all respects.
  • Various improvements and modifications can be made to the present embodiment within the scope of the present invention. That is, in carrying out the present invention, a specific configuration can be appropriately adopted according to the embodiment.
  • FIG. 1 is a diagram for describing an overview of a data processing device (preprocessing module) 120 according to the present embodiment.
  • the processing module 130 has a plurality of input ports, and sensing data (an example of input data) output by the sensing device 12 (an example of a device) is input to each input port.
  • the processing module 130 is configured to generate output data different from the input data based on the input data. That is, a so-called virtual sensor is formed by the processing module 130 and the sensing device 12 (input sensor) that outputs input data to the processing module 130.
  • the virtual sensor is a sensor module that outputs, as sensing data, an observation result of an object different from the object observed by the input sensor based on sensing data generated by observing the object by the input sensor. The virtual sensor will be described in detail later.
  • the format of input data (for example, unit system, number of digits) may be determined in advance. In such a case, if data in a predetermined format is not input to the processing module 130, there is a possibility that appropriate processing is not performed in the processing module 130.
  • the data processing device 120 is configured to pre-process input data to the processing module 130 when necessary.
  • the preprocessing is processing that is performed on the input data so that the input data satisfies the condition of the input data of the processing module 130.
  • the preprocessing determination device 110 is also referred to as processing module side metadata (hereinafter also referred to as “first metadata”) 161 and sensing data side metadata (hereinafter referred to as “second metadata”). ) 13 is obtained.
  • the first metadata 161 is associated with the processing module 130 and indicates a condition of input data to the processing module 130.
  • the second metadata 13 is associated with the sensing data output by the sensing device 12, and indicates the attribute of the sensing data (input data).
  • the preprocessing determination device 110 Based on the first metadata 161 and the second metadata 13, the preprocessing determination device 110 performs a determination regarding preprocessing of input data to the processing module 130.
  • the data processing device 120 preprocesses the input data to the processing module 130 based on the determination result by the preprocessing determination module 110.
  • preprocessing is performed on the input data in accordance with the condition of the input data in the processing module 130 and the determination result considering the attribute of the input data input to the processing module 130. Therefore, according to the data processing device 120, since appropriate preprocessing is performed on the input data of the processing module 130, the possibility that the processing module 130 performs inappropriate processing can be reduced.
  • FIG. 2 is a diagram showing an example of the sensor network system 10 including the preprocessing module (data processing device) 120 according to the present embodiment.
  • the sensor network system 10 includes a sensor network unit 14, a virtual sensor management server 100, and an application server 300.
  • the sensor network unit 14, the virtual sensor management server 100, and the application server 300 are connected to each other via the Internet 15 so that they can communicate with each other.
  • the number of each component (virtual sensor management server 100, application server 300, sensor network adapter 11, sensing device 12, etc.) included in the sensor network system 10 is not limited to that shown in FIG.
  • sensing data generated by the sensing device 12 or the like can be distributed.
  • sensing data generated by the sensing device 12 can be distributed to the virtual sensor management server 100, and sensing data generated by the virtual sensor can be distributed to the application server 300.
  • the sensor network unit 14 includes, for example, a plurality of sensor network adapters 11.
  • a plurality of sensing devices 12 are connected to each of the plurality of sensor network adapters 11, and each sensing device 12 is connected to the Internet 15 via the sensor network adapter 11.
  • the sensing device 12 is configured to obtain sensing data by observing an object.
  • the sensing device 12 includes, for example, an image sensor (camera), a temperature sensor, a humidity sensor, an illuminance sensor, a force sensor, a sound sensor, an RFID (Radio Frequency IDentification) sensor, an infrared sensor, a posture sensor, a rainfall sensor, a radioactivity sensor, and a gas sensor. Etc.
  • the sensing device 12 does not necessarily need to be a fixed type, and may be a mobile type such as a mobile phone, a smartphone, and a tablet.
  • each sensing device 12 does not necessarily need to be comprised with the single sensor, and may be comprised with the some sensor.
  • the sensing device 12 may be installed for any purpose. For example, for factory FA (Factory Automation) and production management, urban traffic control, environmental measurement such as weather, health care, crime prevention, etc. It may be installed.
  • each sensor network adapter 11 is disposed at a separate (distant) location, and each sensing device 12 connected to each sensor network adapter 11 is disposed at the same (near) location.
  • These arrangement locations are not limited to this.
  • Each application server 300 (300A, 300B) is configured to execute an application that uses sensing data, and is realized by, for example, a general-purpose computer.
  • the application server 300 acquires necessary sensing data via the Internet 15.
  • the virtual sensor management server 100 is a server for realizing a virtual sensor.
  • a plurality of processing modules 130, a preprocessing module 120, a preprocessing determination module 110, and an output management module 140 are realized, a preprocessing program DB 170, a past determination history DB 150, and the like.
  • a processing module side metadata DB (hereinafter also referred to as “first metadata DB”) 160 is managed.
  • Each of the plurality of processing modules 130, the preprocessing module 120, the preprocessing determination module 110, and the output management module 140 is, for example, a software module.
  • the processing module 130 includes at least one input port, and is configured to generate output data different from the input data based on input data input to each input port.
  • the processing module 130 can switch the sensing device 12 that outputs input data to the input port as necessary. For example, when the sensing device 12 that is currently outputting input data to the input port fails, the processing module 130 can switch the input sensor to another sensing device 12.
  • the processing module 130 may be configured to output data indicating the number of persons existing in the room based on, for example, input data (voice data) output by a sound sensor arranged in the room.
  • a virtual sensor that detects the number of people in the room can be realized by the processing module 130 and the sensing device 12 (sound sensor).
  • the preprocessing module 120 is configured to perform desired preprocessing on input data to the processing module 130 by executing each preprocessing program (described later).
  • the preprocessing determination module 110 is configured to make a determination regarding preprocessing of input data to the processing module 130.
  • the output management module 140 is configured to manage the output of input data from the sensing device 12 to the processing module 130. Details of each software module and each database will be described later.
  • FIG. 3 is a diagram illustrating an example of a hardware configuration of the virtual sensor management server 100.
  • the virtual sensor management server 100 is realized by, for example, a general-purpose computer.
  • the virtual sensor management server 100 includes a control unit 180, a communication I / F (interface) 195, and a storage unit 190, and each component is electrically connected via a bus 197. Yes.
  • the control unit 180 includes a CPU (Central Processing Unit) 182, a RAM (Random Access Memory) 184, a ROM (Read Only Memory) 186, and the like, and is configured to control each component according to information processing. .
  • CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the communication I / F 195 is configured to communicate with external devices (for example, the application server 300 and the sensor network unit 14 (FIG. 2)) provided outside the virtual sensor management server 100 via the Internet 15. .
  • the communication I / F 195 includes, for example, a wired LAN (Local Area Network) module or a wireless LAN module.
  • the storage unit 190 is an auxiliary storage device such as a hard disk drive or a solid state drive.
  • the storage unit 190 is configured to store, for example, a preprocessing program DB 170, a past determination history DB 150, a first metadata DB 160, and a control program 191.
  • FIG. 4 is a diagram illustrating an example of the preprocessing program DB 170.
  • the preprocessing program DB 170 is a database that manages a plurality of preprocessing programs.
  • program ID identity
  • preprocessing content indicates the content of preprocessing realized by executing each preprocessing program.
  • storage location is information (for example, an address on a memory) that can specify the location where each preprocessing program is stored.
  • the preprocessing program with the program ID “1” is a program that performs “unit conversion” of the input data to the processing module 130 and is stored at “address: Z1” on the memory.
  • “Unit conversion” is an example of pre-processing, and is a process of converting the unit of input data (for example, from Fahrenheit to Celsius).
  • FIG. 5 is a diagram illustrating an example of the past determination history DB 150.
  • the past determination history DB 150 is a database that manages a history of determination results by the preprocessing determination module 110.
  • a history of determination results by the preprocessing determination module 110 (FIG. 2) is managed for each input port of each processing module 130 (ID: M1, M2, etc . For example, “when” and “what pre-processing is determined to be necessary” are managed for each input port of each processing module 130.
  • “unit conversion” and “digit adjustment” are applied to the input data at 10:00:05 on January 5, 2018. It is determined that it is necessary.
  • the “digit number adjustment” is an example of preprocessing.
  • “Digit adjustment” is the case where the number of digits of the input data is within a predetermined range when the number of digits of the input data of the processing module 130 is out of the predetermined number of digits. This is a process of changing the number.
  • FIG. 6 is a diagram illustrating an example of the processing module side metadata (first metadata) DB 160.
  • the first metadata DB 160 is a database that manages the first metadata 161 (FIG. 1) indicating the conditions of input data to the processing module 130.
  • the first metadata 161 of each processing module 130 realized in the virtual sensor management server 100 is registered in advance in the first metadata DB 160.
  • the first metadata 161 is managed for each input port of each processing module 130 in the first metadata DB 160.
  • the first metadata 161 includes, for example, “sensor condition” and “input data condition”.
  • the “sensor condition” is a basic condition required for the sensing device 12 that outputs input data (sensing data), and includes, for example, “type”, “observation target”, and “installation location”.
  • Type is the type of the sensing device 12, and for example, each of a temperature sensor, an illuminance sensor, and a camera is an example of “type”.
  • Observation object is an object observed by the sensing device 12, and for example, the outside air temperature, the station ticket gate, the illuminance, and the temperature are examples of the “observation object”.
  • Installation location is a location where the sensing device 12 is installed. For example, each of P1, P2, and P3 is an example of “installation location” (note that each of P1, P2, and P3 is, for example, “ It shall indicate a specific place such as “Kyoto Ekimae”).
  • “Input data condition” is a condition related to the attribute of input data (sensing data), and includes, for example, “unit system”, “number of digits”, “number of data / times”, and “data loss”.
  • Unit system indicates, for example, a condition relating to a unit system of input data.
  • Numberer of digits indicates, for example, a condition relating to the number of digits of input data.
  • Numberer of data / times” indicates, for example, a condition regarding the number of data required for one input to the input port.
  • Data loss indicates, for example, a condition regarding input data being missing (missing).
  • control program 191 is a control program for the virtual sensor management server 100 executed by the control unit 180.
  • the processing module 130, the preprocessing module 120, the preprocessing determination module 110, and the output management module 140 may be realized by the control unit 180 executing the control program 191.
  • the control program 191 may include each preprocessing program.
  • the control unit 180 executes the control program 191
  • the control program 191 is expanded in the RAM 174.
  • the control unit 180 controls each component by interpreting and executing the control program 191 expanded in the RAM 174 by the CPU 182.
  • FIG. 7 is a diagram illustrating an example of a hardware configuration of the sensing device 12.
  • the sensing device 12 includes an actual sensor 20, a data buffer 21, a communication unit 22, and a control unit 23.
  • the actual sensor 20 is, for example, an image sensor (camera), a temperature sensor, a humidity sensor, an illuminance sensor, a force sensor, a sound sensor, an RFID sensor, an infrared sensor, a posture sensor, a rainfall sensor, a radioactivity sensor, a gas sensor, etc. Such a type of sensor may be used.
  • the actual sensor 20 is configured to output sensing data and sensing data side metadata (second metadata) 13 associated with the sensing data.
  • FIG. 8 is a diagram illustrating an example of the sensing data side metadata (second metadata) 13.
  • the second metadata 13 includes, for example, “sensor attribute” and “input data attribute”.
  • the “sensor attribute” indicates an attribute of the sensing device 12 that outputs sensing data, and includes, for example, “type”, “observation target”, and “installation location”.
  • the “input data attribute” indicates an attribute of sensing data, and includes, for example, “unit system”, “number of digits”, and “data missing”.
  • the actual sensor 20 recognizes the presence or absence of “unit system”, “number of digits”, and “data loss” by confirming the generated sensing data, and generates the second metadata 13. Even in the same actual sensor 20, an error may occur due to various factors, and attributes (unit system, number of digits, etc.) of the generated sensing data may change. Although details will be described later, for example, if the unit system and number of digits of sensing data become unexpected, perform pre-processing on the sensing data so that the unit system and number of digits are within the expected range. It will be necessary to convert.
  • the “attribute of the input data input to the processing module 130” may include “sensor attribute”.
  • the data buffer 21 is configured to temporarily store the sensing data output by the actual sensor 20.
  • the data buffer 21 includes, for example, a DRAM (Dynamic Random Access Memory), an SRAM (Static Random Access Memory), or the like.
  • the communication unit 22 is configured to communicate with external devices (for example, the application server 300 and the virtual sensor management server 100) provided outside the sensing device 12 via the Internet 15. For example, the communication unit 22 transmits the sensing data and the second metadata 13 output by the actual sensor 20 to the virtual sensor management server 100. In addition, the communication unit 22 receives, for example, information indicating whether or not sensing data can be transmitted to the virtual sensor management server 100 (hereinafter also referred to as “output enable / disable information”) from the virtual sensor management server 100. The output propriety information will be described in detail later.
  • the control unit 23 includes a CPU, a RAM, a ROM, and the like, and is configured to control each component (for example, the actual sensor 20, the data buffer 21, and the communication unit 22) according to information processing. For example, the control unit 23 controls the output of sensing data temporarily stored in the data buffer 21 based on the above output permission information.
  • FIG. 9 is a diagram illustrating an example of the relationship between the software modules realized by the control unit 180.
  • each of the processing module 130, the preprocessing determination module 110, the output management module 140, and the preprocessing module 120 is realized by the control unit 180.
  • the preprocessing determination module 110 is configured to detect the sensing data output by the sensing device 12. Make a decision on pre-processing. The determination result by the preprocessing determination module 110 is notified to the preprocessing module 120.
  • the output management module 140 determines whether the sensing device 12 can output sensing data based on the first metadata 161 and the second metadata 13. The determination result (output availability information) is transmitted to the sensing device 12.
  • the preprocessing module 120 preprocesses the sensing data output by the preprocessing module 120 according to the determination result regarding the preprocessing acquired from the preprocessing determination module 110. Sensing data after pre-processing is input to the processing module 130.
  • FIG. 10 is a diagram illustrating an example of a detailed configuration of the preprocessing determination module 110. Note that processing by each software module is performed for each input port of the processing module 130. Processing corresponding to each input port may be performed in parallel or sequentially. In the following, each module will be described after paying attention to one input port of the processing module 130.
  • the sensing device 12 outputs the second metadata 13 and the ID assigned to the second metadata 13 to the preprocessing determination module 110, and the sensing data and the ID assigned to the sensing data. Is output to the preprocessing module 120. That is, sensing data is not transmitted to the preprocessing determination module 110. Therefore, in the present embodiment, communication traffic is suppressed as compared to the case where both the sensing data and the second metadata 13 are transmitted to the preprocessing determination module 110.
  • the ID assigned to the second metadata 13 and the ID assigned to the sensing data are related. Therefore, even if the second metadata 13 and the sensing data are transmitted to different destinations, the second metadata 13 and the sensing data can be linked later by referring to each ID.
  • FIG. 11 is a diagram showing an example of an ID assigned to each data.
  • a sensing data ID is assigned to the sensing data
  • a second metadata ID is assigned to the second metadata 13 corresponding to the sensing data.
  • the last four digits (00XX) of the sensing data ID and the last four digits (00XX) of the second metadata ID are the same. Therefore, in this example, the second metadata 13 and the sensing data can be linked later by referring to the last four digits of each ID.
  • the preprocessing determination module 110 includes acquisition units 111 and 112, a determination unit 113, and a notification unit 114.
  • the acquisition unit 111 acquires the second metadata 13 and the ID assigned to the second metadata 13.
  • the acquisition unit 112 acquires the first metadata 161 (FIG. 1) associated with the input port from the first metadata DB 160.
  • the determination unit 113 determines whether or not pre-processing of sensing data is necessary based on the second metadata 13 acquired by the acquisition unit 111 and the first metadata 161 acquired by the acquisition unit 112. When processing is necessary, the contents of preprocessing are determined.
  • the determination unit 113 determines that preprocessing is unnecessary when the input data attribute indicated by the second metadata 13 satisfies the input data condition indicated by the first metadata 161, while the second metadata 13 indicates When the input data attribute to be input does not satisfy the input data condition indicated by the first metadata 161, it is determined that preprocessing is necessary. Furthermore, when it is determined that preprocessing is necessary, the determination unit 113 determines the content of necessary preprocessing according to the content of the input condition that does not satisfy the input data attribute, for example.
  • the determination unit 113 performs preprocessing to reduce the number of digits by two digits. Judge as necessary.
  • the determination unit 113 refers to the past determination history DB 150 to determine whether the preprocessing determined to be necessary is the same as the preprocessing executed immediately before. If they are the same, the necessary preprocessing program has already been read out, and there is no need to perform another search in the preprocessing program DB 170 (FIG. 4). More appropriate determination can be made.
  • the notification unit 114 notifies the preprocessing module 120 of the determination result by the determination unit 113. For example, the notifying unit 114 pre-processes whether the pre-processing is necessary, the details of the necessary pre-processing, and whether the necessary pre-processing is executed immediately before, along with the ID assigned to the second metadata 13. Notify the module 120.
  • FIG. 12 is a diagram illustrating an example of a detailed configuration of the output management module 140.
  • the output management module 140 includes acquisition units 141 and 142, a determination unit 143, and a notification unit 144.
  • the acquisition unit 141 acquires (receives) the second metadata 13 and the ID assigned to the second metadata 13 from the sensing device 12 via the communication I / F 195.
  • the acquisition unit 142 acquires the first metadata 161 associated with the input port from the first metadata DB 160.
  • the determination unit 143 determines whether the sensing device 12 can output sensing data based on the second metadata 13 acquired by the acquisition unit 111 and the first metadata 161 acquired by the acquisition unit 112. For example, the determination unit 143 determines that output is possible when the sensor attribute indicated by the second metadata 13 satisfies the sensor condition indicated by the first metadata 161, while the sensor attribute indicated by the second metadata 13 indicates When the sensor condition indicated by the first metadata 161 is not satisfied, it is determined that output is impossible. That is, the determination unit 143 determines that the sensing data cannot be output by the sensing device 12 when the sensing data does not satisfy the condition of the input data of the processing module 130 even if preprocessing is performed.
  • the notification unit 144 transmits the output availability information indicating the determination result by the determination unit 143 to the sensing device 12 via the communication I / F 195 together with the ID assigned to the second metadata 13.
  • the control unit 23 controls the output of the sensing data stored in the data buffer 21 according to the received output availability information. For example, when the received output permission / inhibition information indicates “output permission”, the control unit 23 transmits the sensing data to which the ID corresponding to the received ID is given to the preprocessing module 120 together with the output permission / inhibition information.
  • the data buffer 21 and the communication unit 22 are controlled. For example, when the received output permission information indicates “output impossible”, the control unit 23 deletes the sensing data to which the ID corresponding to the ID received together with the output permission information is added from the data buffer 21. .
  • FIG. 13 is a diagram illustrating an example of a detailed configuration of the preprocessing module 120.
  • the preprocessing module 120 includes an acquisition unit 121 and a preprocessing unit 122.
  • the acquisition unit 121 acquires the determination result by the preprocessing determination module 110 and the ID assigned to the second metadata 13.
  • the preprocessing unit 122 searches the preprocessing program DB 170 for a preprocessing program corresponding to the necessary preprocessing indicated by the determination result, and reads the preprocessing program.
  • the preprocessing unit 122 performs preprocessing on sensing data to which an ID corresponding to the ID acquired by the acquisition unit 121 is assigned.
  • preprocessing realized by executing the read preprocessing program is performed on the sensing data.
  • sensing data after preprocessing by the preprocessing module 120 is input to the processing module 130.
  • the preprocessing unit 122 does not execute a search in the preprocessing program DB 170, for example.
  • preprocessing realized by executing a preprocessed program that has already been read is performed on the sensing data. Then, sensing data after preprocessing by the preprocessing module 120 is input to the processing module 130.
  • FIG. 14 is a flowchart illustrating an example of the preprocessing determination operation. The process shown in this flowchart is executed by the control unit 180 operating as the preprocessing determination module 110 at the timing when the second metadata 13 is received from the sensing device 12, for example. As described above, the determination of the preprocessing is performed for each input port of each processing module 130. Here, the description will be given focusing on one input port of one processing module 130.
  • the control unit 180 acquires the second metadata 13 and the ID assigned to the second metadata from the sensing device 12 (step S100).
  • the control unit 180 acquires the first metadata 161 associated with the input port from the first metadata DB 160 (step S110).
  • the control unit 180 determines whether or not the preprocessing of the sensing data to which the ID corresponding to the ID given to the second metadata is given is necessary (Ste S120).
  • the control unit 180 determines whether it is determined that preprocessing is necessary (step S130).
  • step S130 If it is determined that the preprocessing is not required (NO in step S130), the preprocessing determination module 110 (control unit 180) indicates that the preprocessing is not necessary together with the ID assigned to the second metadata 13. The pre-processing module 120 is notified (step S160).
  • control unit 180 determines the content of necessary preprocessing (step S140).
  • the control unit 180 refers to the past determination history DB 150 to determine whether or not the preprocessing determined to be necessary is the same as the preprocessing executed immediately before (step S150). Then, the preprocessing determination module 110 (control unit 180) notifies the determination result together with the ID assigned to the second metadata 13 to the preprocessing module 120 (step S160).
  • the preprocessing determination module 110 determination regarding preprocessing of input data to the processing module 130 is performed based on the first metadata 161 and the second metadata 13. That is, in the preprocessing determination module 110, determination regarding preprocessing is performed in consideration of the condition of the input data in the processing module 130 and the attribute of the input data input to the processing module 130. Therefore, according to the preprocessing determination module 110, since necessary matters regarding the preprocessing are taken into consideration, the determination regarding the preprocessing can be appropriately performed.
  • FIG. 15 is a flowchart illustrating an example of an operation for managing sensing data output from the sensing device 12 to the processing module 130.
  • the process shown in this flowchart is executed, for example, at a timing when sensing data is generated by the sensing device 12.
  • output management of sensing data is performed for each input port of each processing module 130.
  • description will be given focusing on one input port of one processing module 130.
  • the flowchart on the left is executed by the control unit 23 (sensing device 12).
  • the flowchart on the right side is executed by the control unit 180 (virtual sensor management server 100) operating as the output management module 140.
  • control unit 23 controls the data buffer 21 to temporarily store the sensing data output by the actual sensor 20 (FIG. 7) (step S200).
  • the control unit 23 transmits the second metadata 13 corresponding to the sensing data temporarily stored in the data buffer 21 and the ID assigned to the second metadata 13 to the virtual sensor management server 100. 22 is controlled (step S210).
  • control unit 23 determines whether or not sensing data output availability information or the like has been received from the virtual sensor management server 100 (step S220). If it is determined that the output availability information or the like has not been received (NO in step S220), control unit 23 waits until the output availability information or the like is received.
  • control unit 180 determines whether or not the second metadata 13 and the ID assigned to the second metadata 13 have been received (step S300). If it is determined that each data has not been received (NO in step S300), control unit 180 waits until each data is received.
  • control unit 180 acquires first metadata 161 associated with the input port of processing module 130 from first metadata DB 160 (step S100). S310). Based on the first metadata 161 and the second metadata 13, the control unit 180 determines whether or not the sensing data associated with the second metadata 13 can be output from the sensing device 12 to the processing module 130 (step S1). S320). The control unit 180 controls the communication I / F 195 to transmit the output permission information indicating the determination result in step S320 to the sensing device 12 together with the ID assigned to the second metadata 13 (step S330).
  • control unit 23 performs data collation by checking the ID.
  • the target sensing data is specified among the sensing data temporarily stored in 21 (step S230).
  • the control unit 23 determines whether or not the identified sensing data can be output (transmitted) by referring to the output enable / disable information (step S240). If it is determined that transmission is possible (YES in step S240), the control unit 23 sends the target sensing data and the ID assigned to the sensing data to the pre-processing module 120 (virtual sensor management server 100). The communication unit 22 is controlled to transmit (step S250). On the other hand, if it is determined that transmission is not possible (NO in step S240), control unit 23 executes processing for deleting target sensing data from data buffer 21 (step S260).
  • the output management module 140 notifies the sensing device 12 of whether or not sensing data can be output to the processing module 130 based on the first metadata 161 and the second metadata 13.
  • the sensing device 12 is notified of whether or not sensing data can be output in consideration of the input data conditions of the processing module 130 and the sensing data attributes temporarily stored in the data buffer 21. Therefore, according to the output management module 140, output possibility information in consideration of necessary matters is notified to the sensing device 12, and the possibility that sensing data that does not satisfy the predetermined condition is input to the processing module 130 decreases. The possibility that the processing module 130 performs inappropriate processing can be reduced.
  • the output permission information is notified to the sensing device 12 together with the ID given to the second metadata 13. Therefore, according to the output management module 140, the sensing device 12 can recognize whether or not output is possible for each sensing data by referring the ID to the sensing device 12.
  • FIG. 16 is a flowchart illustrating an example of the preprocessing operation. The processing shown in this flowchart is performed when the control unit 180 operates as the preprocessing module 120 at the timing when the determination result and the ID (ID given to the second metadata 13) are notified from the preprocessing determination module 110. Executed. As described above, the preprocessing of the sensing data is performed for each input port of each processing module 130. Here, description will be given focusing on one input port of one processing module 130.
  • control unit 180 collates the ID assigned to the sensing data received from sensing device 12 with the ID notified from preprocessing determination module 110 (step S400).
  • the control unit 180 determines whether or not sensing data to which an ID corresponding to the ID notified from the preprocessing determination module 110 has been received (step S410).
  • step S410 When it is determined that the sensing data to which the ID corresponding to the ID notified from the preprocessing determination module 110 is not received (NO in step S410), the control unit 180 until the sensing data is received. stand by. On the other hand, when it is determined that sensing data to which an ID corresponding to the ID notified from the preprocessing determination module 110 has been received (YES in step S410), the control unit 180 is acquired from the preprocessing determination module 110. By referring to the determination result, the preprocessing necessary for the target sensing data is determined (step S420).
  • the control unit 180 further refers to the determination result acquired from the preprocessing determination module 110 to determine whether the necessary preprocessing is the same as the preprocessing performed on the sensing data immediately before ( Step S430).
  • control unit 180 searches preprocessing program DB 170 for the necessary preprocessing program (step S430). S440). Then, the control unit 180 determines whether or not a necessary preprocessing program exists in the preprocessing program DB 170 (step S450). If it is determined that the necessary preprocessing program exists in the preprocessing program DB 170 (YES in step S450), the control unit 180 reads the preprocessing program and executes the read preprocessing program, thereby Pre-processing is performed on the sensing data (step S460). Thereafter, the preprocessing module 120 (the control unit 180) transmits the preprocessed sensing data to the processing module 130 (step S470).
  • control unit 180 If it is determined in step S430 that the necessary preprocessing program is the same as the preprocessing performed on the sensing data immediately before (YES in step S430), control unit 180 has already read the preprocessing program. Is executed to preprocess the target sensing data (step S460).
  • step S450 If it is determined in step S450 that the necessary preprocessing program does not exist in the preprocessing program DB 170 (NO in step S450), the preprocessing module 120 (control unit 180) performs sensing for which preprocessing has not been performed. A predetermined message is transmitted to the processing module 130 together with the data (step S480).
  • the predetermined message is, for example, a message indicating that a necessary preprocessing program does not exist.
  • the sensing data is preprocessed according to the determination result in the preprocessing determination module 110. That is, in the preprocessing module 120, the input data is preprocessed in consideration of the input data conditions in the processing module 130 and the attributes of the input data (sensing data) input to the processing module 130. The Therefore, according to the pre-processing module 120, since appropriate pre-processing is performed on the input data of the processing module 130, the possibility that inappropriate data is input to the processing module 130 can be reduced.
  • the sensing data and the second metadata 13 are associated with each other through an ID. Then, in the determination of the preprocessing, the determination regarding the preprocessing is performed for each input data by considering the ID. According to the preprocessing module 120, it is possible to perform appropriate preprocessing for each input data based on the determination result.
  • preprocessing is performed on sensing data according to the determination result in preprocessing determination module 110. That is, the data processing apparatus (pre-processing module) 120 performs pre-processing on the input data in consideration of the input data conditions in the processing module 130 and the attributes of the input data input to the processing module 130. Is done. Therefore, according to the data processing apparatus (pre-processing module) 120, since appropriate pre-processing is performed on the input data of the processing module 130, the possibility that inappropriate data is input to the processing module 130 is reduced. Can do.
  • the processing module 130 is an example of the “processing module” in the present invention
  • the preprocessing module 120 is an example of the “data processing apparatus” in the present invention
  • the first metadata 161 is an example of “first metadata” in the present invention
  • the second metadata 13 is an example of “second metadata” in the present invention.
  • the acquisition unit 121 is an example of the “acquisition unit” in the present invention
  • the preprocessing unit 122 is an example of the “preprocessing unit” in the present invention.
  • the sensing device 12 is an example of the “device” in the present invention.
  • each input port of each processing module 130 accepts input of sensing data from any sensing device 12.
  • the main body that outputs data to each input port is not necessarily the sensing device 12.
  • the entity that outputs data to each input port may be, for example, a storage that stores a data set or a virtual sensor.
  • the data set is a set of a plurality of data generated in advance.
  • a set of sensing data obtained by observing an object for a predetermined period in advance is an example of a data set.
  • the input data of the processing module 130 does not necessarily have to be sensing data.
  • the input data may be purchase history data of each user at a shopping site, score data of each user at a game site, or the like.
  • the process performed by the virtual sensor management server 100 may be implement
  • the second metadata 13 is not necessarily associated with each sensing data.
  • one second metadata 13 may be associated with a plurality of sensing data. In this case, the same preprocessing is applied to each of the plurality of sensing data associated with the same second metadata 13.
  • 10 sensor network system 11 sensor network adapter, 12 sensing device, 13 sensing data side metadata (second metadata), 14 sensor network part, 15 internet, 20 real sensor, 21 data buffer, 22 communication part, 23, 180 Control unit, 100 virtual sensor management server, 110 preprocessing determination module, 111, 112, 121, 141, 142 acquisition unit, 113, 143 determination unit, 114, 144 notification unit, 120 preprocessing module, 122 preprocessing unit, 130 Processing module, 140 output management module, 150 past determination history DB, 160 processing module side metadata (first metadata) DB, 161 processing module side metadata (first metadata), 1 0 preprocessor DB, 182 CPU, 184 RAM, 186 ROM, 190 storage unit, 191 control program, 195 communication I / F, 197 bus, 300 an application server.
  • 110 preprocessing determination module, 111, 112, 121, 141, 142 acquisition unit, 113, 143 determination unit, 114, 144 notification unit, 120 preprocessing module, 122 preprocessing unit, 130 Processing module, 140

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Selective Calling Equipment (AREA)

Abstract

処理モジュールが不適切な処理を行なう可能性を低減することが可能なデータ処理装置、データ処理方法及びプログラムを提供する。処理モジュールには、入力データの条件を示す第1メタデータが対応付けられている。入力データには、入力データの属性を示す第2メタデータが対応付けられている。データ処理装置は、取得部と、前処理部とを備える。取得部は、第1及び第2メタデータに基づいた、入力データの前処理に関する判定結果を取得するように構成されている。前処理部は、判定結果に基づいて入力データに前処理を施すように構成されている。

Description

データ処理装置、データ処理方法及びプログラム
 本発明は、データ処理装置、データ処理方法及びプログラムに関する。
 特開2014-45242号公報(特許文献1)は、仮想センサを生成する仮想センサ生成装置を開示する。この仮想センサ生成装置においては、所定範囲内に存在する実センサが検出され、検出された実センサを用いることによって仮想センサが生成される(特許文献1参照)。
特開2014-45242号公報
 上記特許文献1に開示されるような仮想センサは、たとえば、実センサ(デバイスの一例)と、処理モジュールとを含む。処理モジュールは、実センサにより出力されたセンシングデータ(入力データの一例)に処理を施すことによって、入力データとは異なる出力データを生成する。
 処理モジュールにおいては、入力データの形式(たとえば、単位系、桁数)が予め決まっている場合がある。このような場合に所定の形式のデータが処理モジュールに入力されないと、処理モジュールにおいて適切な処理が行なわれない可能性がある。
 本発明は、このような問題を解決するためになされたものであって、その目的は、処理モジュールが不適切な処理を行なう可能性を低減することが可能なデータ処理装置、データ処理方法及びプログラムを提供することである。
 本発明に従うデータ処理装置は、処理モジュールへの入力データに処理を施すように構成されている。処理モジュールは、少なくとも1つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュールには、入力データの条件を示す第1メタデータが対応付けられている。入力データには、入力データの属性を示す第2メタデータが対応付けられている。データ処理装置は、取得部と、前処理部とを備える。取得部は、第1及び第2メタデータに基づいた、入力データの前処理に関する判定結果を取得するように構成されている。前処理部は、判定結果に基づいて入力データに前処理を施すように構成されている。
 このデータ処理装置においては、第1及び第2メタデータに基づいた判定結果に従って、入力データに前処理が施される。すなわち、このデータ処理装置においては、処理モジュールにおける入力データの条件、及び、処理モジュールに入力される入力データの属性が考慮された上で、入力データに前処理が施される。したがって、このデータ処理装置によれば、処理モジュールの入力データに適切な前処理が施されるため、処理モジュールが不適切な処理を行なう可能性を低減することができる。
 好ましくは、入力データと第2メタデータとは、ID(identification)を介して対応付けられている。取得部は、第1及び第2メタデータ並びにIDに基づいた、入力データ毎の前処理に関する判定結果を取得するように構成されている。前処理部は、判定結果に基づいて、各入力データに前処理を施すように構成されている。
 このデータ処理装置においては、入力データと第2メタデータとがIDを介して対応付けられている。そして、入力データの前処理に関する判定において、第1及び第2メタデータに加えてIDが考慮される。すなわち、入力データ毎に前処理に関する判定が行なわれている。したがって、このデータ処理装置によれば、入力データ毎に適切な前処理を施すことができる。
 好ましくは、上記データ処理装置において、前処理部によって施される前処理は、入力データが入力データの条件を満たすように入力データに施される処理である。
 好ましくは、処理モジュールは、複数の入力データに基づいて出力データを生成するように構成されている。
 好ましくは、入力データは、デバイスによって処理モジュールへ出力される。処理モジュールは、処理モジュールへ入力データを出力するデバイスを切り替え可能に構成されている。
 好ましくは、入力データは、デバイスによって処理モジュールへ出力される。デバイスは、センサである。入力データは、センサによって生成されたセンシングデータである。
 好ましくは、処理モジュールは、複数の入力データに基づいて出力データを生成するように構成されている。
 好ましくは、入力データは、デバイスによって処理モジュールへ出力される。処理モジュールと、処理モジュールへ入力データを出力するデバイスとによって仮想センサが形成される。
 また、本発明の別の局面に従うデータ処理方法は、処理モジュールへの入力データに処理を施す。処理モジュールは、少なくとも1つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュールには、入力データの条件を示す第1メタデータが対応付けられている。入力データには、入力データの属性を示す第2メタデータが対応付けられている。データ処理方法は、第1及び第2メタデータに基づいた、入力データの前処理に関する判定結果を取得するステップと、判定結果に基づいて入力データに前処理を施すステップとを含む。
 このデータ処理方法においては、第1及び第2メタデータに基づいた判定結果に従って、入力データに前処理が施される。すなわち、このデータ処理方法においては、処理モジュールにおける入力データの条件、及び、処理モジュールに入力される入力データの属性が考慮された上で、入力データに前処理が施される。したがって、このデータ処理方法によれば、処理モジュールの入力データに適切な前処理が施されるため、処理モジュールが不適切な処理を行なう可能性を低減することができる。
 また、本発明の別の局面に従うプログラムは、処理モジュールへの入力データに処理を施す処理をコンピュータに実行させる。処理モジュールは、少なくとも1つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュールには、入力データの条件を示す第1メタデータが対応付けられている。入力データには、入力データの属性を示す第2メタデータが対応付けられている。プログラムは、第1及び第2メタデータに基づいた、入力データの前処理に関する判定結果を取得するステップと、判定結果に基づいて入力データに前処理を施すステップとをコンピュータに実行させるように構成されている。
 このプログラムがコンピュータによって実行されると、第1及び第2メタデータに基づいた判定結果に従って、入力データに前処理が施される。すなわち、このプログラムがコンピュータによって実行されると、処理モジュールにおける入力データの条件、及び、処理モジュールに入力される入力データの属性が考慮された上で、入力データに前処理が施される。したがって、このプログラムによれば、処理モジュールの入力データに適切な前処理が施されるため、処理モジュールが不適切な処理を行なう可能性を低減することができる。
 本発明によれば、処理モジュールが不適切な処理を行なう可能性を低減することが可能なデータ処理装置、データ処理方法及びプログラムを提供することができる。
データ処理装置の概要を説明するための図である。 センサネットワークシステムの一例を示す図である。 仮想センサ管理サーバのハードウェア構成の一例を示す図である。 前処理プログラムDBの一例を示す図である。 過去判定履歴DBの一例を示す図である。 処理モジュール側メタデータDBの一例を示す図である。 センシングデバイスのハードウェア構成の一例を示す図である。 センシングデータ側メタデータの一例を示す図である。 制御部によって実現される各ソフトウェアモジュールの関係の一例を示す図である。 前処理判定モジュールの詳細な構成の一例を示す図である。 各データに付与されるIDの一例を示す図である。 出力管理モジュールの詳細な構成の一例を示す図である。 前処理モジュールの詳細な構成の一例を示す図である。 前処理判定動作の一例を示すフローチャートである。 センシングデバイスから処理モジュールへのセンシングデータの出力の管理動作の一例を示すフローチャートである。 前処理動作の一例を示すフローチャートである。
 以下、本発明の一側面に係る実施の形態(以下、「本実施の形態」とも称する。)について、図面を用いて詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。また、以下で説明する本実施の形態は、あらゆる点において本発明の例示にすぎない。本実施の形態は、本発明の範囲内において、種々の改良や変更が可能である。すなわち、本発明の実施にあたっては、実施の形態に応じて具体的構成を適宜採用することができる。
 [1.概要]
 図1は、本実施の形態に従うデータ処理装置(前処理モジュール)120の概要を説明するための図である。図1を参照して、処理モジュール130は複数の入力ポートを有し、各入力ポートにはセンシングデバイス12(デバイスの一例)によって出力されたセンシングデータ(入力データの一例)が入力される。処理モジュール130は、入力データに基づいて入力データとは異なる出力データを生成するように構成されている。すなわち、処理モジュール130と、処理モジュール130へ入力データを出力するセンシングデバイス12(入力センサ)とによって、いわゆる仮想センサが形成される。仮想センサとは、入力センサが対象を観測することによって生成されたセンシングデータに基づいて、入力センサによって観測された対象とは異なる対象の観測結果をセンシングデータとして出力するセンサモジュールである。仮想センサについては、後程詳しく説明する。
 処理モジュール130においては、入力データの形式(たとえば、単位系、桁数)が予め決められている場合がある。このような場合に所定の形式のデータが処理モジュール130へ入力されないと、処理モジュール130において適切な処理が行なわれない可能性がある。
 本実施の形態に従うデータ処理装置120は、必要な場合に、処理モジュール130への入力データに前処理を施すように構成されている。なお、前処理は、入力データが処理モジュール130の入力データの条件を満たすように入力データに施される処理である。入力データに適切な前処理を施すことによって、処理モジュール130に不適切なデータが入力される事態を抑制することができる。
 具体的には、前処理判定装置110が、処理モジュール側メタデータ(以下、「第1メタデータ」とも称する。)161と、センシングデータ側メタデータ(以下、「第2メタデータ」とも称する。)13とを取得する。第1メタデータ161は、処理モジュール130に対応付けられており、処理モジュール130への入力データの条件を示す。第2メタデータ13は、センシングデバイス12によって出力されるセンシングデータに対応付けられており、該センシングデータ(入力データ)の属性を示す。前処理判定装置110は、第1メタデータ161と第2メタデータ13とに基づいて、処理モジュール130への入力データの前処理に関する判定を行なう。データ処理装置120は、前処理判定モジュール110による判定結果に基づいて、処理モジュール130への入力データに前処理を施す。
 すなわち、データ処理装置120においては、処理モジュール130における入力データの条件、及び、処理モジュール130に入力される入力データの属性が考慮された判定結果に従って、入力データに前処理が施される。したがって、データ処理装置120によれば、処理モジュール130の入力データに適切な前処理が施されるため、処理モジュール130が不適切な処理を行なう可能性を低減することができる。
 [2.構成]
 <2-1.システム全体の構成>
 図2は、本実施の形態に従う前処理モジュール(データ処理装置)120を含むセンサネットワークシステム10の一例を示す図である。図2の例では、センサネットワークシステム10は、センサネットワーク部14と、仮想センサ管理サーバ100と、アプリケーションサーバ300とを含む。
 センサネットワーク部14、仮想センサ管理サーバ100及びアプリケーションサーバ300は、インターネット15を介して相互に通信可能に接続されている。なお、センサネットワークシステム10に含まれる各構成要素(仮想センサ管理サーバ100、アプリケーションサーバ300、センサネットワークアダプタ11及びセンシングデバイス12等)の数は、図2に示されるものに限定されない。
 センサネットワークシステム10においては、センシングデバイス12等によって生成されたセンシングデータが流通可能である。たとえば、センシングデバイス12によって生成されたセンシングデータは仮想センサ管理サーバ100に流通し得るし、仮想センサによって生成されたセンシングデータはアプリケーションサーバ300に流通し得る。
 センサネットワーク部14は、たとえば、複数のセンサネットワークアダプタ11を含む。複数のセンサネットワークアダプタ11の各々には複数のセンシングデバイス12が接続されており、各センシングデバイス12はセンサネットワークアダプタ11を介してインターネット15に接続されている。
 センシングデバイス12は、対象を観測することによってセンシングデータを得るように構成されている。センシングデバイス12は、たとえば、画像センサ(カメラ)、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、RFID(Radio Frequency IDentification)センサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ及びガスセンサ等を含む。また、センシングデバイス12は、必ずしも固設型である必要はなく、携帯電話、スマートフォン及びタブレット等の移動型であってもよい。また、各センシングデバイス12は、必ずしも単一のセンサで構成されている必要はなく、複数のセンサによって構成されていてもよい。また、センシングデバイス12は、どのような目的で設置されていてもよく、たとえば、工場におけるFA(Factory Automation)及び生産管理、都市交通制御、気象等の環境計測、ヘルスケア並びに防犯等のために設置されていてもよい。
 センサネットワーク部14において、たとえば、各センサネットワークアダプタ11は別々の(遠い)場所に配置され、各センサネットワークアダプタ11に接続される各センシングデバイス12は同一の(近い)場所に配置されるが、これらの配置場所はこれに限定されない。
 各アプリケーションサーバ300(300A,300B)は、センシングデータを利用するアプリケーションを実行するように構成されており、たとえば、汎用のコンピュータによって実現されている。アプリケーションサーバ300は、インターネット15を介して必要なセンシングデータを取得する。
 仮想センサ管理サーバ100は、仮想センサを実現するためのサーバである。仮想センサ管理サーバ100においては、複数の処理モジュール130と、前処理モジュール120と、前処理判定モジュール110と、出力管理モジュール140とが実現されるとともに、前処理プログラムDB170と、過去判定履歴DB150と、処理モジュール側メタデータDB(以下、「第1メタデータDB」とも称する。)160とが管理される。複数の処理モジュール130、前処理モジュール120、前処理判定モジュール110及び出力管理モジュール140の各々は、たとえば、ソフトウェアモジュールである。
 処理モジュール130は、少なくとも1つの入力ポートを含み、各入力ポートに入力される入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュール130は、必要に応じて入力ポートへ入力データを出力するセンシングデバイス12を切り替え可能である。たとえば、現在入力ポートに入力データを出力しているセンシングデバイス12が故障した場合に、処理モジュール130は、入力センサを他のセンシングデバイス12に切り替えることができる。
 処理モジュール130は、たとえば、室内に配置された音センサによって出力される入力データ(音声データ)に基づいて、該室内に存在する人の数を示すデータを出力するように構成されてもよい。この場合には、処理モジュール130と、センシングデバイス12(音センサ)とによって、室内の人の数を検知する仮想センサを実現することができる。
 前処理モジュール120は、各前処理プログラム(後述)が実行されることによって、処理モジュール130への入力データに所望の前処理を施すように構成されている。前処理判定モジュール110は、処理モジュール130への入力データの前処理に関する判定を行なうように構成されている。出力管理モジュール140は、センシングデバイス12から処理モジュール130への入力データの出力を管理するように構成されている。各ソフトウェアモジュール及び各データベースの詳細については後程説明する。
 <2-2.仮想センサ管理サーバのハードウェア構成>
 図3は、仮想センサ管理サーバ100のハードウェア構成の一例を示す図である。なお、本実施の形態において、仮想センサ管理サーバ100は、たとえば、汎用コンピュータによって実現される。
 図3の例では、仮想センサ管理サーバ100は、制御部180と、通信I/F(interface)195と、記憶部190とを含み、各構成は、バス197を介して電気的に接続されている。
 制御部180は、CPU(Central Processing Unit)182、RAM(Random Access Memory)184及びROM(Read Only Memory)186等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。
 通信I/F195は、インターネット15を介して、仮想センサ管理サーバ100の外部に設けられた外部装置(たとえば、アプリケーションサーバ300及びセンサネットワーク部14(図2))と通信するように構成されている。通信I/F195は、たとえば、有線LAN(Local Area Network)モジュールや無線LANモジュールで構成される。
 記憶部190は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部190は、たとえば、前処理プログラムDB170と、過去判定履歴DB150と、第1メタデータDB160と、制御プログラム191とを記憶するように構成されている。
 図4は、前処理プログラムDB170の一例を示す図である。前処理プログラムDB170は、複数の前処理プログラムを管理するデータベースである。図4の例では、「プログラムID(identification)」と、「前処理内容」と、「格納場所」とが対応付けて管理されている。「プログラムID」は、各前処理プログラムを一意に特定可能な情報である。「前処理内容」は、各前処理プログラムが実行されることによって実現される前処理の内容を示す。「格納場所」は、各前処理プログラムが格納されている場所を特定可能な情報(たとえば、メモリ上のアドレス)である。
 たとえば、この例では、プログラムID「1」の前処理プログラムは、処理モジュール130への入力データの「単位変換」を行なうプログラムであり、メモリ上の「アドレス:Z1」に格納されている。なお、「単位変換」は、前処理の一例であり、入力データの単位を(たとえば、華氏から摂氏へ)変換する処理である。
 図5は、過去判定履歴DB150の一例を示す図である。過去判定履歴DB150は、前処理判定モジュール110による判定結果の履歴を管理するデータベースである。図5の例では、過去判定履歴DB150において、各処理モジュール130(ID:M1,M2・・・)の入力ポート毎に、前処理判定モジュール110(図2)による判定結果の履歴が管理される。たとえば、各処理モジュール130の入力ポート毎に、「いつ」、「どのような前処理が必要と判定されたか」が管理される。
 たとえば、この例では、IDがM1である処理モジュール130のポート1において、2018年1月5日の10時00分05秒に、入力データに「単位変換」と「桁数調整」とを施す必要があると判定されている。なお、「桁数調整」は、前処理の一例である。「桁数調整」は、処理モジュール130の入力データの桁数が予め定められた桁数から外れている場合に、入力データの桁数を予め定められた範囲内に収まるように入力データの桁数を変更する処理である。
 図6は、処理モジュール側メタデータ(第1メタデータ)DB160の一例を示す図である。第1メタデータDB160は、処理モジュール130への入力データの条件を示す第1メタデータ161(図1)を管理するデータベースである。仮想センサ管理サーバ100において実現される各処理モジュール130の第1メタデータ161は、予め第1メタデータDB160に登録されている。図6の例では、第1メタデータDB160において、各処理モジュール130の入力ポート毎に第1メタデータ161が管理されている。
 第1メタデータ161には、たとえば、「センサ条件」と「入力データ条件」とが含まれる。「センサ条件」は、入力データ(センシングデータ)を出力するセンシングデバイス12に求められる基本的な条件であり、たとえば、「種別」、「観測対象」、「設置場所」が含まれる。
 「種別」はセンシングデバイス12の種類であり、たとえば、温度センサ、照度センサ及びカメラの各々が「種別」の一例である。「観測対象」はセンシングデバイス12によって観測される対象であり、たとえば、外気温、駅改札、照度及び温度の各々が「観測対象」の一例である。「設置場所」はセンシングデバイス12が設置されている場所であり、たとえば、P1,P2及びP3の各々が「設置場所」の一例である(なお、P1、P2及びP3の各々は、たとえば、「京都駅前」等の具体的な場所を示すものとする。)。
 「入力データ条件」は、入力データ(センシングデータ)の属性に関する条件であり、たとえば、「単位系」、「桁数」、「データ数/回」、「データ欠損」が含まれる。「単位系」は、たとえば、入力データの単位系に関する条件を示す。「桁数」は、たとえば、入力データの桁数に関する条件を示す。「データ数/回」は、たとえば、入力ポートへの1度の入力に必要なデータ数に関する条件を示す。「データ欠損」は、たとえば、入力データが欠損(欠落)することに関する条件を示す。
 再び図3を参照して、制御プログラム191は、制御部180によって実行される仮想センサ管理サーバ100の制御プログラムである。たとえば、制御部180が制御プログラム191を実行することによって、各処理モジュール130、前処理モジュール120、前処理判定モジュール110及び出力管理モジュール140が実現されてもよい。また、制御プログラム191には、各前処理プログラムが含まれてもよい。制御部180が制御プログラム191を実行する場合に、制御プログラム191は、RAM174に展開される。そして、制御部180は、RAM174に展開された制御プログラム191をCPU182によって解釈及び実行することにより、各構成要素を制御する。
 <2-3.センシングデバイスのハードウェア構成>
 図7は、センシングデバイス12のハードウェア構成の一例を示す図である。図7の例では、センシングデバイス12は、実センサ20と、データバッファ21と、通信部22と、制御部23とを含む。
 実センサ20は、たとえば、画像センサ(カメラ)、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、RFIDセンサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ及びガスセンサ等であり、どのような種類のセンサであってもよい。実センサ20は、センシングデータと、該センシングデータに対応付けられたセンシングデータ側メタデータ(第2メタデータ)13とを出力するように構成されている。
 図8は、センシングデータ側メタデータ(第2メタデータ)13の一例を示す図である。図8の例において、第2メタデータ13には、たとえば、「センサ属性」と「入力データ属性」とが含まれる。「センサ属性」は、センシングデータを出力するセンシングデバイス12の属性を示し、たとえば、「種別」、「観測対象」、「設置場所」が含まれる。「入力データ属性」は、センシングデータの属性を示し、たとえば、「単位系」、「桁数」、「データ欠損」が含まれる。
 たとえば、実センサ20は、生成されたセンシングデータを確認することにより、「単位系」、「桁数」、「データ欠損」の有無を認識し、第2メタデータ13を生成する。同じ実センサ20であっても、様々な要因でエラーが生じ、生成されたセンシングデータの属性(単位系、桁数等)が変化してしまうことがある。詳細については後述するが、たとえば、センシングデータの単位系や桁数が想定外なものになってしまった場合には、センシングデータに前処理を施し、単位系や桁数を想定内のものに変換することが必要になる。
 なお、センシングデバイス12の属性によってセンシングデータの属性も影響を受けるため、「処理モジュール130へ入力される入力データの属性」には、「センサ属性」が含まれてもよい。
 再び図7を参照して、データバッファ21は、実センサ20によって出力されたセンシングデータを一時的に記憶するように構成されている。データバッファ21は、たとえば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等によって構成される。
 通信部22は、インターネット15を介して、センシングデバイス12の外部に設けられた外部装置(たとえば、アプリケーションサーバ300及び仮想センサ管理サーバ100)と通信するように構成されている。通信部22は、たとえば、実センサ20によって出力されたセンシングデータ及び第2メタデータ13を仮想センサ管理サーバ100に送信する。また、通信部22は、たとえば、仮想センサ管理サーバ100へのセンシングデータの送信可否(出力可否)を示す情報(以下、「出力可否情報」とも称する。)を仮想センサ管理サーバ100から受信する。出力可否情報については、後程詳しく説明する。
 制御部23は、CPU、RAM及びROM等を含み、情報処理に応じて各構成要素(たとえば、実センサ20、データバッファ21及び通信部22)の制御を行なうように構成されている。たとえば、制御部23は、上述の出力可否情報に基づいて、データバッファ21に一時的に記憶されているセンシングデータの出力を制御する。
 <2-4.仮想センサ管理サーバのソフトウェア構成>
 図9は、制御部180によって実現される各ソフトウェアモジュールの関係の一例を示す図である。図9の例では、処理モジュール130、前処理判定モジュール110、出力管理モジュール140及び前処理モジュール120の各々が制御部180によって実現される。
 前処理判定モジュール110は、第1メタデータDB160から取得される第1メタデータ161と、センシングデバイス12から取得される第2メタデータ13とに基づいて、センシングデバイス12によって出力されるセンシングデータの前処理に関する判定を行なう。前処理判定モジュール110による判定結果は、前処理モジュール120に通知される。
 出力管理モジュール140は、第1メタデータ161と第2メタデータ13とに基づいて、センシングデバイス12によるセンシングデータの出力可否を判定する。判定結果(出力可否情報)は、センシングデバイス12に送信される。
 前処理モジュール120は、前処理判定モジュール110から取得された前処理に関する判定結果に従って、前処理モジュール120によって出力されたセンシングデータに前処理を施す。処理モジュール130には、前処理後のセンシングデータが入力される。以下、各ソフトウェアモジュールの詳細について順に説明する。
 (2-4-1.前処理判定モジュール)
 図10は、前処理判定モジュール110の詳細な構成の一例を示す図である。なお、各ソフトウェアモジュールによる処理は、処理モジュール130の入力ポート毎に行なわれる。各入力ポートに対応する処理は、並列的に行なわれてもよいし、順次行なわれてもよい。以下においては、処理モジュール130の1つの入力ポートに着目した上で、各モジュールについて説明する。
 図10を参照して、センシングデバイス12は、第2メタデータ13と第2メタデータ13に付与されたIDとを前処理判定モジュール110に出力し、センシングデータとセンシングデータに付与されたIDとを前処理モジュール120に出力する。すなわち、前処理判定モジュール110には、センシングデータが送信されない。したがって、本実施の形態においては、センシングデータと第2メタデータ13との両方が前処理判定モジュール110に送信される場合と比較して、通信トラフィックが抑制されている。
 第2メタデータ13に付与されたIDと、センシングデータに付与されたIDとは関連性を有している。したがって、第2メタデータ13とセンシングデータとが別々の宛先に送信されたとしても、各IDを参照することによって後から第2メタデータ13とセンシングデータとを紐付けることができる。
 図11は、各データに付与されるIDの一例を示す図である。図11の例では、センシングデータにはセンシングデータIDが付与れており、該センシングデータに対応する第2メタデータ13には第2メタデータIDが付与されている。この例では、センシングデータIDの下4桁(00XX)と、第2メタデータIDの下4桁(00XX)とは同一である。したがって、この例では、各IDの下4桁を参照することによって、後から第2メタデータ13とセンシングデータとを紐付けることができる。
 再び図10を参照して、前処理判定モジュール110は、取得部111,112と、判定部113と、通知部114とを含む。取得部111は、第2メタデータ13と、第2メタデータ13に付与されたIDとを取得する。取得部112は、入力ポートに対応付けられた第1メタデータ161(図1)を第1メタデータDB160から取得する。
 判定部113は、取得部111によって取得された第2メタデータ13と、取得部112によって取得された第1メタデータ161とに基づいて、センシングデータの前処理の要否を判定するとともに、前処理が必要である場合には前処理の内容を判定する。
 たとえば、判定部113は、第2メタデータ13によって示される入力データ属性が第1メタデータ161によって示される入力データ条件を満たす場合に前処理が不要と判定する一方、第2メタデータ13によって示される入力データ属性が第1メタデータ161によって示される入力データ条件を満たさない場合に前処理が必要と判定する。さらに、判定部113は、前処理が必要と判定された場合に、たとえば、入力データ属性が満たさない入力条件の内容に応じて必要な前処理の内容を判定する。たとえば、入力データ条件「桁数」が「3桁」である場合に、入力データ属性「桁数」が「5桁」であるときは、判定部113は、桁数を2桁減らす前処理が必要と判定する。
 さらに、判定部113は、過去判定履歴DB150を参照することによって、必要と判定された前処理が直前に実行された前処理と同一であるか否かを判定する。仮に同一である場合には必要な前処理プログラムが既に読み出されており、前処理プログラムDB170(図4)における検索を改めて行なう必要がないため、過去の判定履歴を参照することによって、前処理に関してより適切な判定をすることができる。
 通知部114は、判定部113による判定結果を前処理モジュール120に通知する。たとえば、通知部114は、前処理の要否、必要な前処理の内容、及び、必要な前処理が直前に実行されているか否かを、第2メタデータ13に付与されたIDとともに前処理モジュール120に通知する。
 (2-4-2.出力管理モジュール)
 図12は、出力管理モジュール140の詳細な構成の一例を示す図である。図12の例では、出力管理モジュール140は、取得部141,142と、判定部143と、通知部144とを含む。取得部141は、第2メタデータ13と、第2メタデータ13に付与されたIDとを、通信I/F195を介してセンシングデバイス12から取得(受信)する。取得部142は、入力ポートに対応付けられた第1メタデータ161を第1メタデータDB160から取得する。
 判定部143は、取得部111によって取得された第2メタデータ13と、取得部112によって取得された第1メタデータ161とに基づいて、センシングデバイス12によるセンシングデータの出力可否を判定する。たとえば、判定部143は、第2メタデータ13によって示されるセンサ属性が第1メタデータ161によって示されるセンサ条件を満たす場合に出力可能と判定する一方、第2メタデータ13によって示されるセンサ属性が第1メタデータ161によって示されるセンサ条件を満たさない場合に出力不可能と判定する。すなわち、判定部143は、前処理を施したとしても処理モジュール130の入力データの条件をセンシングデータが満たさない場合に、センシングデバイス12によるセンシングデータの出力が不可能であると判定する。
 通知部144は、判定部143による判定結果を示す出力可否情報を、第2メタデータ13に付与されたIDとともに、通信I/F195を介してセンシングデバイス12に送信する。
 センシングデバイス12において、通信部22を介して出力可否情報が受信されると、制御部23は、受信された出力可否情報に従って、データバッファ21に記憶されているセンシングデータの出力を制御する。たとえば、制御部23は、受信された出力可否情報が「出力可」を示す場合に、出力可否情報とともに受信されたIDに対応するIDが付与されたセンシングデータを前処理モジュール120に送信するようにデータバッファ21及び通信部22を制御する。また、たとえば、制御部23は、受信された出力可否情報が「出力不可」を示す場合に、出力可否情報とともに受信されたIDに対応するIDが付与されたセンシングデータをデータバッファ21から削除する。
 (2-4-3.前処理モジュール)
 図13は、前処理モジュール120の詳細な構成の一例を示す図である。図13の例では、前処理モジュール120は、取得部121と、前処理部122とを含む。取得部121は、前処理判定モジュール110による判定結果と、第2メタデータ13に付与されたIDとを取得する。
 取得部121によって取得された判定結果が、前処理が必要である旨を示し、かつ、必要な前処理が直前に実行された前処理とは異なる旨を示すとする。この場合に、前処理部122は、たとえば、前処理プログラムDB170において、判定結果が示す必要な前処理に対応する前処理プログラムを検索し、該前処理プログラムを読み出す。前処理部122は、取得部121によって取得されたIDに対応するIDが付与されたセンシングデータに前処理を施す。前処理部122においては、読み出された前処理プログラムが実行されることによって実現される前処理がセンシングデータに施される。そして、処理モジュール130には、前処理モジュール120による前処理後のセンシングデータが入力される。
 取得部121によって取得された判定結果が、前処理が必要である旨を示し、かつ、必要な前処理が直前に実行された前処理と同一である旨を示すとする。この場合に、前処理部122は、たとえば、前処理プログラムDB170における検索を実行しない。前処理部122においては、既に読み出されている前処理プログラムが実行されることによって実現される前処理がセンシングデータに施される。そして、処理モジュール130には、前処理モジュール120による前処理後のセンシングデータが入力される。
 [3.動作]
 <3-1.前処理判定動作>
 図14は、前処理判定動作の一例を示すフローチャートである。このフローチャートに示される処理は、たとえば、センシングデバイス12から第2メタデータ13が受信されるタイミングで、制御部180が前処理判定モジュール110として動作することによって実行される。なお、上述の通り、前処理の判定は、各処理モジュール130の入力ポート毎に行なわれるが、ここでは1つの処理モジュール130の1つの入力ポートに着目して説明する。
 図14を参照して、制御部180は、センシングデバイス12から第2メタデータ13と、該第2メタデータに付与されたIDとを取得する(ステップS100)。制御部180は、入力ポートに対応付けられた第1メタデータ161を第1メタデータDB160から取得する(ステップS110)。制御部180は、第1メタデータ161と第2メタデータ13とに基づいて、第2メタデータに付与されたIDに対応するIDが付与されたセンシングデータの前処理の要否を判定する(ステップS120)。制御部180は、前処理が必要であると判定されたか否かを判定する(ステップS130)。
 前処理が不要であると判定されると(ステップS130においてNO)、前処理判定モジュール110(制御部180)は、前処理が不要である旨を、第2メタデータ13に付与されたIDとともに前処理モジュール120に通知する(ステップS160)。
 一方、前処理が必要であると判定されると(ステップS130においてYES)、制御部180は、必要な前処理の内容を判定する(ステップS140)。制御部180は、過去判定履歴DB150を参照することによって、必要と判定された前処理が直前に実行された前処理と同一であるか否かを判定する(ステップS150)。そして、前処理判定モジュール110(制御部180)は、判定結果を、第2メタデータ13に付与されたIDとともに前処理モジュール120に通知する(ステップS160)。
 このように、前処理判定モジュール110においては、第1メタデータ161及び第2メタデータ13に基づいて、処理モジュール130への入力データの前処理に関する判定が行なわれる。すなわち、前処理判定モジュール110においては、処理モジュール130における入力データの条件、及び、処理モジュール130へ入力される入力データの属性を考慮した上で、前処理に関する判定が行なわれる。したがって、前処理判定モジュール110によれば、前処理に関して必要な事項が考慮されるため、前処理に関する判定を適切に行なうことができる。
 <3-2.出力管理動作>
 図15は、センシングデバイス12から処理モジュール130へのセンシングデータの出力の管理動作の一例を示すフローチャートである。このフローチャートに示される処理は、たとえば、センシングデバイス12によってセンシングデータが生成されたタイミングで実行される。なお、上述の通り、センシングデータの出力管理は各処理モジュール130の入力ポート毎に行なわれるが、ここでは1つの処理モジュール130の1つの入力ポートに着目して説明する。
 図15を参照して、左方のフローチャートは、制御部23(センシングデバイス12)によって実行される。一方、右方のフローチャートは、制御部180(仮想センサ管理サーバ100)が出力管理モジュール140として動作することによって実行される。
 図15の左方を参照して、制御部23は、実センサ20(図7)によって出力されたセンシングデータを一時的に記憶するようにデータバッファ21を制御する(ステップS200)。制御部23は、データバッファ21に一時記憶されたセンシングデータに対応する第2メタデータ13と、該第2メタデータ13に付与されたIDとを仮想センサ管理サーバ100に送信するように通信部22を制御する(ステップS210)。
 その後、制御部23は、仮想センサ管理サーバ100からセンシングデータの出力可否情報等が受信されたか否かを判定する(ステップS220)。出力可否情報等が受信されていないと判定されると(ステップS220においてNO)、制御部23は、出力可否情報等が受信されるまで待機する。
 図15の右方を参照して、制御部180は、第2メタデータ13と、該第2メタデータ13に付与されたIDとが受信されたか否かを判定する(ステップS300)。各データが受信されていないと判定されると(ステップS300においてNO)、制御部180は、各データが受信されるまで待機する。
 各データが受信されたと判定されると(ステップS300においてYES)、制御部180は、処理モジュール130の入力ポートに対応付けられている第1メタデータ161を第1メタデータDB160から取得する(ステップS310)。制御部180は、第1メタデータ161と第2メタデータ13とに基づいて、第2メタデータ13が対応付けられたセンシングデータのセンシングデバイス12から処理モジュール130への出力可否を判定する(ステップS320)。制御部180は、ステップS320における判定結果を示す出力可否情報を、第2メタデータ13に付与されたIDとともにセンシングデバイス12に送信するように通信I/F195を制御する(ステップS330)。
 再び図15の左方を参照して、ステップS220において、出力可否情報及びIDが受信されたと判定されると(ステップS220においてYES)、制御部23は、IDの照合を行なうことによって、データバッファ21に一時記憶されているセンシングデータのうち対象のセンシングデータを特定する(ステップS230)。
 制御部23は、出力可否情報を参照することによって、特定されたセンシングデータが出力可(送信可)であるか否かを判定する(ステップS240)。送信が可能であると判定されると(ステップS240においてYES)、制御部23は、対象のセンシングデータと、該センシングデータに付与されたIDとを前処理モジュール120(仮想センサ管理サーバ100)に送信するように通信部22を制御する(ステップS250)。一方、送信が不可能であると判定されると(ステップS240においてNO)、制御部23は、対象のセンシングデータをデータバッファ21から削除するための処理を実行する(ステップS260)。
 このように、出力管理モジュール140においては、第1メタデータ161及び第2メタデータ13に基づいた、処理モジュール130へのセンシングデータの出力可否が、センシングデバイス12に通知される。すなわち、処理モジュール130の入力データの条件、及び、データバッファ21に一時記憶されているセンシングデータの属性が考慮されたセンシングデータの出力可否がセンシングデバイス12に通知される。したがって、出力管理モジュール140によれば、必要な事項が考慮された出力可否情報がセンシングデバイス12に通知され、所定条件を満たさないセンシングデータが処理モジュール130に入力される可能性が低下するため、処理モジュール130が不適切な処理を行なう可能性を低減することができる。
 また、出力管理モジュール140においては、出力可否情報が、第2メタデータ13に付与されているIDとともにセンシングデバイス12に通知される。したがって、出力管理モジュール140によれば、IDをセンシングデバイス12に参照させることによって、センシングデータ毎の出力可否をセンシングデバイス12に認識させることができる。
 <3-3.前処理動作>
 図16は、前処理動作の一例を示すフローチャートである。このフローチャートに示される処理は、前処理判定モジュール110から判定結果及びID(第2メタデータ13に付与されたID)が通知されたタイミングで、制御部180が前処理モジュール120として動作することによって実行される。なお、上述の通り、センシングデータの前処理は、各処理モジュール130の入力ポート毎に行なわれるが、ここでは1つの処理モジュール130の1つの入力ポートに着目して説明する。
 図16を参照して、制御部180は、センシングデバイス12から受信されるセンシングデータに付与されたIDと、前処理判定モジュール110から通知されたIDとを照合する(ステップS400)。制御部180は、前処理判定モジュール110から通知されたIDに対応するIDが付与されたセンシングデータが受信されたか否かを判定する(ステップS410)。
 前処理判定モジュール110から通知されたIDに対応するIDが付与されたセンシングデータが受信されていないと判定されると(ステップS410においてNO)、制御部180は、該センシングデータが受信されるまで待機する。一方、前処理判定モジュール110から通知されたIDに対応するIDが付与されたセンシングデータが受信されたと判定されると(ステップS410においてYES)、制御部180は、前処理判定モジュール110から取得された判定結果を参照することによって、対象のセンシングデータに必要な前処理を判定する(ステップS420)。
 制御部180は、さらに、前処理判定モジュール110から取得された判定結果を参照することによって、必要な前処理が直前にセンシングデータに施された前処理と同一であるか否かを判定する(ステップS430)。
 必要な前処理が直前にセンシングデータに施された前処理とは異なると判定されると(ステップS430においてNO)、制御部180は、前処理プログラムDB170において必要な前処理プログラムを検索する(ステップS440)。そして、制御部180は、必要な前処理プログラムが前処理プログラムDB170に存在するか否かを判定する(ステップS450)。前処理プログラムDB170に必要な前処理プログラムが存在すると判定されると(ステップS450においてYES)、制御部180は、該前処理プログラムを読み出し、読み出された前処理プログラムを実行することによって、対象のセンシングデータに前処理を施す(ステップS460)。その後、前処理モジュール120(制御部180)は、前処理後のセンシングデータを処理モジュール130へ送信する(ステップS470)。
 ステップS430において、必要な前処理プログラムが直前にセンシングデータに施された前処理と同一であると判定されると(ステップS430においてYES)、制御部180は、既に読み出されている前処理プログラムを実行することによって、対象のセンシングデータに前処理を施す(ステップS460)。
 また、ステップS450において、前処理プログラムDB170に必要な前処理プログラムが存在しないと判定されると(ステップS450においてNO)、前処理モジュール120(制御部180)は、前処理が施されていないセンシングデータとともに、所定メッセージを処理モジュール130へ送信する(ステップS480)。所定メッセージは、たとえば、必要な前処理プログラムが存在しない旨を示すメッセージである。
 このように、前処理モジュール120においては、前処理判定モジュール110における判定結果に従って、センシングデータに前処理が施される。すなわち、前処理モジュール120においては、処理モジュール130における入力データの条件、及び、処理モジュール130に入力される入力データ(センシングデータ)の属性が考慮された上で、入力データに前処理が施される。したがって、前処理モジュール120によれば、処理モジュール130の入力データに適切な前処理が施されるため、処理モジュール130に不適切なデータが入力される可能性を低減することができる。
 また、センシングデータと第2メタデータ13とはIDを介して対応付けられている。そして、前処理の判定において、IDを考慮することによって、入力データ毎に前処理に関する判定が行なわれる。前処理モジュール120によれば、該判定結果に基づいて、入力データ毎に適切な前処理を施すことができる。
 [4.特徴]
 以上のように、本実施の形態に従うデータ処理装置(前処理モジュール)120においては、前処理判定モジュール110における判定結果に従って、センシングデータに前処理が施される。すなわち、データ処理装置(前処理モジュール)120においては、処理モジュール130における入力データの条件、及び、処理モジュール130に入力される入力データの属性が考慮された上で、入力データに前処理が施される。したがって、データ処理装置(前処理モジュール)120によれば、処理モジュール130の入力データに適切な前処理が施されるため、処理モジュール130に不適切なデータが入力される可能性を低減することができる。
 なお、処理モジュール130は、本発明の「処理モジュール」の一例であり、前処理モジュール120は、本発明の「データ処理装置」の一例である。第1メタデータ161は、本発明の「第1メタデータ」の一例であり、第2メタデータ13は、本発明の「第2メタデータ」の一例である。取得部121は、本発明の「取得部」の一例であり、前処理部122は、本発明の「前処理部」の一例である。センシングデバイス12は、本発明の「デバイス」の一例である。
 [5.変形例]
 以上、実施の形態について説明したが、本発明は、上記実施の形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。以下、変形例について説明する。但し、以下の変形例は適宜組合せ可能である。
 <5-1>
 上記実施の形態において、各処理モジュール130の各入力ポートは、いずれかのセンシングデバイス12からセンシングデータの入力を受け付けることとした。しかしながら、各入力ポートにデータを出力する主体は、必ずしもセンシングデバイス12でなくてもよい。各入力ポートにデータを出力する主体は、たとえば、データセットを記憶したストレージであってもよいし、仮想センサであってもよい。なお、データセットは、予め生成された複数のデータの集合である。たとえば、予め所定期間、対象を観測することによって得られたセンシングデータの集合は、データセットの一例である。各入力ポートにデータを出力する主体が必ずしもセンシングデバイス12である必要がないため、処理モジュール130の入力データは、必ずしもセンシングデータでなくてもよい。たとえば、入力データは、ショッピングサイトにおける各ユーザの購買履歴データや、ゲームサイトにおける各ユーザのスコアデータ等であってもよい。
 <5-2>
 また、上記実施の形態において、仮想センサ管理サーバ100によって行なわれた処理は、複数のサーバ等によって実現されてもよい。
 <5-3>
 また、必ずしもセンシングデータ毎に第2メタデータ13が対応付けられている必要はない。たとえば、複数のセンシングデータに1つの第2メタデータ13が対応付けられていてもよい。この場合には、同一の第2メタデータ13が対応付けられた複数のセンシングデータの各々には、同一の前処理が施されることになる。
 10 センサネットワークシステム、11 センサネットワークアダプタ、12 センシングデバイス、13 センシングデータ側メタデータ(第2メタデータ)、14 センサネットワーク部、15 インターネット、20 実センサ、21 データバッファ、22 通信部、23,180 制御部、100 仮想センサ管理サーバ、110 前処理判定モジュール、111,112,121,141,142 取得部、113,143 判定部、114,144 通知部、120 前処理モジュール、122 前処理部、130 処理モジュール、140 出力管理モジュール、150 過去判定履歴DB、160 処理モジュール側メタデータ(第1メタデータ)DB、161 処理モジュール側メタデータ(第1メタデータ)、170 前処理プログラムDB、182 CPU、184 RAM、186 ROM、190 記憶部、191 制御プログラム、195 通信I/F、197 バス、300 アプリケーションサーバ。

Claims (10)

  1.  処理モジュールへの入力データに処理を施すように構成されたデータ処理装置であって、
     前記処理モジュールは、少なくとも1つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
     前記処理モジュールには、前記入力データの条件を示す第1メタデータが対応付けられており、
     前記入力データには、前記入力データの属性を示す第2メタデータが対応付けられており、
     前記データ処理装置は、
     前記第1及び第2メタデータに基づいた、前記入力データの前処理に関する判定結果を取得するように構成された取得部と、
     前記判定結果に基づいて前記入力データに前処理を施すように構成された前処理部とを備える、データ処理装置。
  2.  前記入力データと前記第2メタデータとは、ID(identification)を介して対応付けられており、
     前記取得部は、前記第1及び第2メタデータ並びに前記IDに基づいた、入力データ毎の前処理に関する判定結果を取得するように構成されており、
     前記前処理部は、前記判定結果に基づいて、各入力データに前処理を施すように構成されている、請求項1に記載のデータ処理装置。
  3.  前記前処理部によって施される前処理は、前記入力データが前記入力データの条件を満たすように前記入力データに施される処理である、請求項1又は請求項2に記載のデータ処理装置。
  4.  前記処理モジュールは、複数の前記入力データに基づいて前記出力データを生成するように構成されている、請求項1から請求項3のいずれか1項に記載のデータ処理装置。
  5.  前記入力データは、デバイスによって前記処理モジュールへ出力され、
     前記処理モジュールは、前記処理モジュールへ前記入力データを出力する前記デバイスを切り替え可能に構成されている、請求項1から請求項4のいずれか1項に記載のデータ処理装置。
  6.  前記入力データは、デバイスによって前記処理モジュールへ出力され、
     前記デバイスは、センサであり、
     前記入力データは、前記センサによって生成されたセンシングデータである、請求項1から請求項5のいずれか1項に記載のデータ処理装置。
  7.  前記処理モジュールは、複数の前記入力データに基づいて前記出力データを生成するように構成されている、請求項1から請求項6のいずれか1項に記載のデータ処理装置。
  8.  前記入力データは、デバイスによって前記処理モジュールへ出力され、
     前記処理モジュールと、前記処理モジュールへ前記入力データを出力する前記デバイスとによって仮想センサが形成される、請求項1から請求項7のいずれか1項に記載のデータ処理装置。
  9.  処理モジュールへの入力データに処理を施すデータ処理方法であって、
     前記処理モジュールは、少なくとも1つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
     前記処理モジュールには、前記入力データの条件を示す第1メタデータが対応付けられており、
     前記入力データには、前記入力データの属性を示す第2メタデータが対応付けられており、
     前記データ処理方法は、
     前記第1及び第2メタデータに基づいた、前記入力データの前処理に関する判定結果を取得するステップと、
     前記判定結果に基づいて前記入力データに前処理を施すステップとを含む、データ処理方法。
  10.  処理モジュールへの入力データに処理を施す処理をコンピュータに実行させるためのプログラムであって、
     前記処理モジュールは、少なくとも1つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
     前記処理モジュールには、前記入力データの条件を示す第1メタデータが対応付けられており、
     前記入力データには、前記入力データの属性を示す第2メタデータが対応付けられており、
     前記プログラムは、
     前記第1及び第2メタデータに基づいた、前記入力データの前処理に関する判定結果を取得するステップと、
     前記判定結果に基づいて前記入力データに前処理を施すステップとを前記コンピュータに実行させるように構成されている、プログラム。
PCT/JP2018/043930 2018-02-13 2018-11-29 データ処理装置、データ処理方法及びプログラム WO2019159488A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/962,652 US20200356550A1 (en) 2018-02-13 2018-11-29 Data processing apparatus, data processing method, and program
CN201880086063.XA CN111566630B (zh) 2018-02-13 2018-11-29 数据处理装置、数据处理方法及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018022799A JP6477936B1 (ja) 2018-02-13 2018-02-13 データ処理装置、データ処理方法及びプログラム
JP2018-022799 2018-02-13

Publications (1)

Publication Number Publication Date
WO2019159488A1 true WO2019159488A1 (ja) 2019-08-22

Family

ID=65655775

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/043930 WO2019159488A1 (ja) 2018-02-13 2018-11-29 データ処理装置、データ処理方法及びプログラム

Country Status (4)

Country Link
US (1) US20200356550A1 (ja)
JP (1) JP6477936B1 (ja)
CN (1) CN111566630B (ja)
WO (1) WO2019159488A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217612A (ja) * 2007-03-06 2008-09-18 Nippon Telegr & Teleph Corp <Ntt> センサデータ制御システム及びセンサデータ制御方法
JP2011180946A (ja) * 2010-03-03 2011-09-15 Oki Electric Industry Co Ltd センサデータ提供システム、方法及び装置
JP2013162258A (ja) * 2012-02-03 2013-08-19 Omron Corp 無線通信ノード、ゲーム実行装置、仲介装置
WO2017104287A1 (ja) * 2015-12-14 2017-06-22 オムロン株式会社 データフロー制御装置およびデータフロー制御方法
WO2017159005A1 (ja) * 2016-03-15 2017-09-21 オムロン株式会社 データフロー制御装置およびデータフロー制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9355160B2 (en) * 2013-02-08 2016-05-31 Wolfram Alpha Llc Automated data analysis
US10740304B2 (en) * 2014-08-25 2020-08-11 International Business Machines Corporation Data virtualization across heterogeneous formats
US10922308B2 (en) * 2018-03-20 2021-02-16 Data.World, Inc. Predictive determination of constraint data for application with linked data in graph-based datasets associated with a data-driven collaborative dataset platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217612A (ja) * 2007-03-06 2008-09-18 Nippon Telegr & Teleph Corp <Ntt> センサデータ制御システム及びセンサデータ制御方法
JP2011180946A (ja) * 2010-03-03 2011-09-15 Oki Electric Industry Co Ltd センサデータ提供システム、方法及び装置
JP2013162258A (ja) * 2012-02-03 2013-08-19 Omron Corp 無線通信ノード、ゲーム実行装置、仲介装置
WO2017104287A1 (ja) * 2015-12-14 2017-06-22 オムロン株式会社 データフロー制御装置およびデータフロー制御方法
WO2017159005A1 (ja) * 2016-03-15 2017-09-21 オムロン株式会社 データフロー制御装置およびデータフロー制御方法

Also Published As

Publication number Publication date
CN111566630A (zh) 2020-08-21
US20200356550A1 (en) 2020-11-12
JP6477936B1 (ja) 2019-03-06
JP2019139544A (ja) 2019-08-22
CN111566630B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
WO2020049758A1 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP6558452B1 (ja) 品質チェック装置、品質チェック方法及びプログラム
JP6477936B1 (ja) データ処理装置、データ処理方法及びプログラム
JP6477935B1 (ja) 前処理判定装置、前処理判定方法及びプログラム
WO2019159489A1 (ja) 出力管理装置、出力管理方法及びプログラム
JP6468377B1 (ja) 出力管理装置、出力管理方法及びプログラム
CN111602412B (zh) 设备选择装置、数据集选择装置、设备选择方法和存储介质
WO2020049757A1 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
WO2019159482A1 (ja) 候補抽出装置、候補抽出方法及びプログラム
KR20210043925A (ko) 하드웨어 수집기를 포함하는 데이터 수집 장치
JP2019169946A (ja) 品質チェック装置、品質チェック方法及びプログラム
CN112567348B (zh) 数据处理装置、数据处理方法和计算机可读存储介质
WO2020049759A1 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP2019139552A (ja) セッション制御装置、セッション制御方法及びプログラム
JP6528869B1 (ja) セッション制御装置、セッション制御方法及びプログラム
KR102134711B1 (ko) 스마트 컨트랙트의 룰 관리 방법 및 장치
JP6477943B1 (ja) メタデータ生成装置、メタデータ生成方法及びプログラム
WO2019167368A1 (ja) 適合性判定装置、適合性判定方法及びプログラム
KR100723616B1 (ko) 디지털 데이터베이스 공유 방법 및 시스템

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18906648

Country of ref document: EP

Kind code of ref document: A1